1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Global Instruction Selector for the Mips target *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9#ifdef GET_GLOBALISEL_PREDICATE_BITSET
10const unsigned MAX_SUBTARGET_PREDICATES = 45;
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(MipsInstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
17 typedef void(MipsInstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
18 const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
19 static MipsInstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
20 static MipsInstructionSelector::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(0),
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_s16,
40 GILLT_s32,
41 GILLT_s64,
42 GILLT_v2s16,
43 GILLT_v2s64,
44 GILLT_v4s8,
45 GILLT_v4s32,
46 GILLT_v8s16,
47 GILLT_v16s8,
48};
49const static size_t NumTypeObjects = 9;
50const static LLT TypeObjects[] = {
51 LLT::scalar(16),
52 LLT::scalar(32),
53 LLT::scalar(64),
54 LLT::vector(ElementCount::getFixed(2), 16),
55 LLT::vector(ElementCount::getFixed(2), 64),
56 LLT::vector(ElementCount::getFixed(4), 8),
57 LLT::vector(ElementCount::getFixed(4), 32),
58 LLT::vector(ElementCount::getFixed(8), 16),
59 LLT::vector(ElementCount::getFixed(16), 8),
60};
61
62// Bits for subtarget features that participate in instruction matching.
63enum SubtargetFeatureBits : uint8_t {
64 Feature_IsPTR64bitBit = 24,
65 Feature_UseCompactBranchesBit = 41,
66 Feature_HasMips2Bit = 7,
67 Feature_HasMips3Bit = 18,
68 Feature_HasMips4_32Bit = 27,
69 Feature_NotMips4_32Bit = 28,
70 Feature_HasMips4_32r2Bit = 19,
71 Feature_HasMips32Bit = 3,
72 Feature_HasMips32r2Bit = 6,
73 Feature_HasMips32r6Bit = 29,
74 Feature_NotMips32r6Bit = 4,
75 Feature_IsGP64bitBit = 22,
76 Feature_HasMips64Bit = 25,
77 Feature_HasMips64r2Bit = 23,
78 Feature_HasMips64r6Bit = 30,
79 Feature_NotMips64r6Bit = 5,
80 Feature_InMips16ModeBit = 31,
81 Feature_NotInMips16ModeBit = 0,
82 Feature_HasCnMipsBit = 26,
83 Feature_NotCnMipsBit = 8,
84 Feature_IsSym32Bit = 38,
85 Feature_IsSym64Bit = 39,
86 Feature_IsN64Bit = 40,
87 Feature_RelocNotPICBit = 10,
88 Feature_RelocPICBit = 37,
89 Feature_NoNaNsFPMathBit = 21,
90 Feature_UseAbsBit = 15,
91 Feature_HasStdEncBit = 1,
92 Feature_NotDSPBit = 12,
93 Feature_InMicroMipsBit = 35,
94 Feature_NotInMicroMipsBit = 2,
95 Feature_IsLEBit = 43,
96 Feature_IsBEBit = 44,
97 Feature_HasEVABit = 36,
98 Feature_HasMSABit = 34,
99 Feature_HasMadd4Bit = 20,
100 Feature_UseIndirectJumpsHazardBit = 13,
101 Feature_NoIndirectJumpGuardsBit = 11,
102 Feature_NotR5900Bit = 9,
103 Feature_AllowFPOpFusionBit = 42,
104 Feature_IsFP64bitBit = 17,
105 Feature_NotFP64bitBit = 16,
106 Feature_IsNotSoftFloatBit = 14,
107 Feature_HasDSPBit = 32,
108 Feature_HasDSPR2Bit = 33,
109};
110
111PredicateBitset MipsInstructionSelector::
112computeAvailableModuleFeatures(const MipsSubtarget *Subtarget) const {
113 PredicateBitset Features{};
114 if (Subtarget->isABI_N64())
115 Features.set(Feature_IsPTR64bitBit);
116 if (Subtarget->useCompactBranches())
117 Features.set(Feature_UseCompactBranchesBit);
118 if (Subtarget->hasMips2())
119 Features.set(Feature_HasMips2Bit);
120 if (Subtarget->hasMips3())
121 Features.set(Feature_HasMips3Bit);
122 if (Subtarget->hasMips4_32())
123 Features.set(Feature_HasMips4_32Bit);
124 if (!Subtarget->hasMips4_32())
125 Features.set(Feature_NotMips4_32Bit);
126 if (Subtarget->hasMips4_32r2())
127 Features.set(Feature_HasMips4_32r2Bit);
128 if (Subtarget->hasMips32())
129 Features.set(Feature_HasMips32Bit);
130 if (Subtarget->hasMips32r2())
131 Features.set(Feature_HasMips32r2Bit);
132 if (Subtarget->hasMips32r6())
133 Features.set(Feature_HasMips32r6Bit);
134 if (!Subtarget->hasMips32r6())
135 Features.set(Feature_NotMips32r6Bit);
136 if (Subtarget->isGP64bit())
137 Features.set(Feature_IsGP64bitBit);
138 if (Subtarget->hasMips64())
139 Features.set(Feature_HasMips64Bit);
140 if (Subtarget->hasMips64r2())
141 Features.set(Feature_HasMips64r2Bit);
142 if (Subtarget->hasMips64r6())
143 Features.set(Feature_HasMips64r6Bit);
144 if (!Subtarget->hasMips64r6())
145 Features.set(Feature_NotMips64r6Bit);
146 if (Subtarget->inMips16Mode())
147 Features.set(Feature_InMips16ModeBit);
148 if (!Subtarget->inMips16Mode())
149 Features.set(Feature_NotInMips16ModeBit);
150 if (Subtarget->hasCnMips())
151 Features.set(Feature_HasCnMipsBit);
152 if (!Subtarget->hasCnMips())
153 Features.set(Feature_NotCnMipsBit);
154 if (Subtarget->hasSym32())
155 Features.set(Feature_IsSym32Bit);
156 if (!Subtarget->hasSym32())
157 Features.set(Feature_IsSym64Bit);
158 if (Subtarget->isABI_N64())
159 Features.set(Feature_IsN64Bit);
160 if (!TM.isPositionIndependent())
161 Features.set(Feature_RelocNotPICBit);
162 if (TM.isPositionIndependent())
163 Features.set(Feature_RelocPICBit);
164 if (TM.Options.NoNaNsFPMath)
165 Features.set(Feature_NoNaNsFPMathBit);
166 if (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath)
167 Features.set(Feature_UseAbsBit);
168 if (Subtarget->hasStandardEncoding())
169 Features.set(Feature_HasStdEncBit);
170 if (!Subtarget->hasDSP())
171 Features.set(Feature_NotDSPBit);
172 if (Subtarget->inMicroMipsMode())
173 Features.set(Feature_InMicroMipsBit);
174 if (!Subtarget->inMicroMipsMode())
175 Features.set(Feature_NotInMicroMipsBit);
176 if (Subtarget->isLittle())
177 Features.set(Feature_IsLEBit);
178 if (!Subtarget->isLittle())
179 Features.set(Feature_IsBEBit);
180 if (Subtarget->hasEVA())
181 Features.set(Feature_HasEVABit);
182 if (Subtarget->hasMSA())
183 Features.set(Feature_HasMSABit);
184 if (!Subtarget->disableMadd4())
185 Features.set(Feature_HasMadd4Bit);
186 if (Subtarget->useIndirectJumpsHazard())
187 Features.set(Feature_UseIndirectJumpsHazardBit);
188 if (!Subtarget->useIndirectJumpsHazard())
189 Features.set(Feature_NoIndirectJumpGuardsBit);
190 if (!Subtarget->isR5900())
191 Features.set(Feature_NotR5900Bit);
192 if (TM.Options.AllowFPOpFusion == FPOpFusion::Fast)
193 Features.set(Feature_AllowFPOpFusionBit);
194 if (Subtarget->isFP64bit())
195 Features.set(Feature_IsFP64bitBit);
196 if (!Subtarget->isFP64bit())
197 Features.set(Feature_NotFP64bitBit);
198 if (!Subtarget->useSoftFloat())
199 Features.set(Feature_IsNotSoftFloatBit);
200 if (Subtarget->hasDSP())
201 Features.set(Feature_HasDSPBit);
202 if (Subtarget->hasDSPR2())
203 Features.set(Feature_HasDSPR2Bit);
204 return Features;
205}
206
207void MipsInstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
208 AvailableFunctionFeatures = computeAvailableFunctionFeatures((const MipsSubtarget *)&MF.getSubtarget(), &MF);
209}
210PredicateBitset MipsInstructionSelector::
211computeAvailableFunctionFeatures(const MipsSubtarget *Subtarget, const MachineFunction *MF) const {
212 PredicateBitset Features{};
213 return Features;
214}
215
216// Feature bitsets.
217enum {
218 GIFBS_Invalid,
219 GIFBS_HasCnMips,
220 GIFBS_HasDSP,
221 GIFBS_HasDSPR2,
222 GIFBS_HasMSA,
223 GIFBS_InMicroMips,
224 GIFBS_InMips16Mode,
225 GIFBS_IsFP64bit,
226 GIFBS_NotFP64bit,
227 GIFBS_NotInMips16Mode,
228 GIFBS_HasDSP_InMicroMips,
229 GIFBS_HasDSP_NotInMicroMips,
230 GIFBS_HasDSPR2_InMicroMips,
231 GIFBS_HasMSA_HasStdEnc,
232 GIFBS_HasMSA_IsBE,
233 GIFBS_HasMSA_IsLE,
234 GIFBS_HasMips32r6_HasStdEnc,
235 GIFBS_HasMips32r6_InMicroMips,
236 GIFBS_HasMips64r2_HasStdEnc,
237 GIFBS_HasMips64r6_HasStdEnc,
238 GIFBS_HasStdEnc_IsNotSoftFloat,
239 GIFBS_HasStdEnc_NotInMicroMips,
240 GIFBS_HasStdEnc_NotMips4_32,
241 GIFBS_InMicroMips_IsFP64bit,
242 GIFBS_InMicroMips_IsNotSoftFloat,
243 GIFBS_InMicroMips_NotFP64bit,
244 GIFBS_InMicroMips_NotMips32r6,
245 GIFBS_IsGP64bit_NotInMips16Mode,
246 GIFBS_AllowFPOpFusion_HasMSA_HasStdEnc,
247 GIFBS_HasMSA_HasMips64_HasStdEnc,
248 GIFBS_HasMips3_HasStdEnc_IsGP64bit,
249 GIFBS_HasMips3_HasStdEnc_NotInMicroMips,
250 GIFBS_HasMips32r2_HasStdEnc_IsGP64bit,
251 GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips,
252 GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips,
253 GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat,
254 GIFBS_HasMips64r2_HasStdEnc_NotInMicroMips,
255 GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips,
256 GIFBS_HasStdEnc_IsFP64bit_NotInMicroMips,
257 GIFBS_HasStdEnc_IsFP64bit_NotMips4_32,
258 GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
259 GIFBS_HasStdEnc_NotFP64bit_NotInMicroMips,
260 GIFBS_HasStdEnc_NotFP64bit_NotMips4_32,
261 GIFBS_HasStdEnc_NotInMicroMips_RelocNotPIC,
262 GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat,
263 GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit,
264 GIFBS_InMicroMips_IsNotSoftFloat_UseAbs,
265 GIFBS_InMicroMips_NotFP64bit_NotMips32r6,
266 GIFBS_InMicroMips_NotMips32r6_RelocNotPIC,
267 GIFBS_InMicroMips_NotMips32r6_RelocPIC,
268 GIFBS_IsFP64bit_IsNotSoftFloat_NotInMips16Mode,
269 GIFBS_IsNotSoftFloat_NotFP64bit_NotInMips16Mode,
270 GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6,
271 GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
272 GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips,
273 GIFBS_HasMips3_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
274 GIFBS_HasMips32_HasStdEnc_NotMips32r6_NotMips64r6,
275 GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
276 GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches,
277 GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6,
278 GIFBS_HasMips64r2_HasStdEnc_IsGP64bit_NotInMicroMips,
279 GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches,
280 GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips,
281 GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips,
282 GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips_UseAbs,
283 GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6,
284 GIFBS_HasMips2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips,
285 GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips,
286 GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6,
287 GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6,
288 GIFBS_HasMips64_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips64r6,
289 GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_UseAbs,
290 GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_UseAbs,
291 GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
292 GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
293 GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
294 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6,
295 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6,
296 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6,
297 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6,
298 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
299 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
300};
301constexpr static PredicateBitset FeatureBitsets[] {
302 {}, // GIFBS_Invalid
303 {Feature_HasCnMipsBit, },
304 {Feature_HasDSPBit, },
305 {Feature_HasDSPR2Bit, },
306 {Feature_HasMSABit, },
307 {Feature_InMicroMipsBit, },
308 {Feature_InMips16ModeBit, },
309 {Feature_IsFP64bitBit, },
310 {Feature_NotFP64bitBit, },
311 {Feature_NotInMips16ModeBit, },
312 {Feature_HasDSPBit, Feature_InMicroMipsBit, },
313 {Feature_HasDSPBit, Feature_NotInMicroMipsBit, },
314 {Feature_HasDSPR2Bit, Feature_InMicroMipsBit, },
315 {Feature_HasMSABit, Feature_HasStdEncBit, },
316 {Feature_HasMSABit, Feature_IsBEBit, },
317 {Feature_HasMSABit, Feature_IsLEBit, },
318 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, },
319 {Feature_HasMips32r6Bit, Feature_InMicroMipsBit, },
320 {Feature_HasMips64r2Bit, Feature_HasStdEncBit, },
321 {Feature_HasMips64r6Bit, Feature_HasStdEncBit, },
322 {Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, },
323 {Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
324 {Feature_HasStdEncBit, Feature_NotMips4_32Bit, },
325 {Feature_InMicroMipsBit, Feature_IsFP64bitBit, },
326 {Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, },
327 {Feature_InMicroMipsBit, Feature_NotFP64bitBit, },
328 {Feature_InMicroMipsBit, Feature_NotMips32r6Bit, },
329 {Feature_IsGP64bitBit, Feature_NotInMips16ModeBit, },
330 {Feature_AllowFPOpFusionBit, Feature_HasMSABit, Feature_HasStdEncBit, },
331 {Feature_HasMSABit, Feature_HasMips64Bit, Feature_HasStdEncBit, },
332 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, },
333 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
334 {Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, },
335 {Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
336 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
337 {Feature_HasMips32r6Bit, Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, },
338 {Feature_HasMips64r2Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
339 {Feature_HasMips64r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
340 {Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_NotInMicroMipsBit, },
341 {Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_NotMips4_32Bit, },
342 {Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
343 {Feature_HasStdEncBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
344 {Feature_HasStdEncBit, Feature_NotFP64bitBit, Feature_NotMips4_32Bit, },
345 {Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_RelocNotPICBit, },
346 {Feature_InMicroMipsBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, },
347 {Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, },
348 {Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, Feature_UseAbsBit, },
349 {Feature_InMicroMipsBit, Feature_NotFP64bitBit, Feature_NotMips32r6Bit, },
350 {Feature_InMicroMipsBit, Feature_NotMips32r6Bit, Feature_RelocNotPICBit, },
351 {Feature_InMicroMipsBit, Feature_NotMips32r6Bit, Feature_RelocPICBit, },
352 {Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMips16ModeBit, },
353 {Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMips16ModeBit, },
354 {Feature_HasMadd4Bit, Feature_InMicroMipsBit, Feature_NoNaNsFPMathBit, Feature_NotMips32r6Bit, },
355 {Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
356 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, },
357 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
358 {Feature_HasMips32Bit, Feature_HasStdEncBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
359 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
360 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_UseCompactBranchesBit, },
361 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
362 {Feature_HasMips64r2Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, },
363 {Feature_HasMips64r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_UseCompactBranchesBit, },
364 {Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
365 {Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
366 {Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_UseAbsBit, },
367 {Feature_HasMadd4Bit, Feature_InMicroMipsBit, Feature_NoNaNsFPMathBit, Feature_NotFP64bitBit, Feature_NotMips32r6Bit, },
368 {Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
369 {Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
370 {Feature_HasMips32Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
371 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
372 {Feature_HasMips64Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips64r6Bit, },
373 {Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_UseAbsBit, },
374 {Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_UseAbsBit, },
375 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
376 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
377 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
378 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
379 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_NoNaNsFPMathBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
380 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
381 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_NoNaNsFPMathBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
382 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
383 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_NoNaNsFPMathBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
384};
385
386// ComplexPattern predicates.
387enum {
388 GICP_Invalid,
389};
390// See constructor for table contents
391
392MipsInstructionSelector::ComplexMatcherMemFn
393MipsInstructionSelector::ComplexPredicateFns[] = {
394 nullptr, // GICP_Invalid
395};
396
397// PatFrag predicates.
398enum {
399 GICXXPred_MI_Predicate_ffloor_nnan = GICXXPred_Invalid + 1,
400 GICXXPred_MI_Predicate_or_disjoint,
401};
402bool MipsInstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
403 const MachineFunction &MF = *MI.getParent()->getParent();
404 const MachineRegisterInfo &MRI = MF.getRegInfo();
405 const auto &Operands = State.RecordedOperands;
406 (void)Operands;
407 (void)MRI;
408 switch (PredicateID) {
409 case GICXXPred_MI_Predicate_ffloor_nnan: {
410
411 return MI.getFlag(MachineInstr::FmNoNans);
412
413 }
414 case GICXXPred_MI_Predicate_or_disjoint: {
415
416 return MI.getFlag(MachineInstr::Disjoint);
417
418 }
419 }
420 llvm_unreachable("Unknown predicate");
421 return false;
422}
423// PatFrag predicates.
424bool MipsInstructionSelector::testMOPredicate_MO(unsigned PredicateID, const MachineOperand & MO, const MatcherState &State) const {
425 const auto &Operands = State.RecordedOperands;
426 Register Reg = MO.getReg();
427 (void)Operands;
428 (void)Reg;
429 llvm_unreachable("Unknown predicate");
430 return false;
431}
432// PatFrag predicates.
433enum {
434 GICXXPred_I64_Predicate_immLi16 = GICXXPred_Invalid + 1,
435 GICXXPred_I64_Predicate_immSExt6,
436 GICXXPred_I64_Predicate_immSExt10,
437 GICXXPred_I64_Predicate_immSExtAddiur2,
438 GICXXPred_I64_Predicate_immSExtAddius5,
439 GICXXPred_I64_Predicate_immZExt1,
440 GICXXPred_I64_Predicate_immZExt1Ptr,
441 GICXXPred_I64_Predicate_immZExt2,
442 GICXXPred_I64_Predicate_immZExt2Lsa,
443 GICXXPred_I64_Predicate_immZExt2Ptr,
444 GICXXPred_I64_Predicate_immZExt2Shift,
445 GICXXPred_I64_Predicate_immZExt3,
446 GICXXPred_I64_Predicate_immZExt3Ptr,
447 GICXXPred_I64_Predicate_immZExt4,
448 GICXXPred_I64_Predicate_immZExt4Ptr,
449 GICXXPred_I64_Predicate_immZExt5,
450 GICXXPred_I64_Predicate_immZExt5_64,
451 GICXXPred_I64_Predicate_immZExt6,
452 GICXXPred_I64_Predicate_immZExt8,
453 GICXXPred_I64_Predicate_immZExt10,
454 GICXXPred_I64_Predicate_immZExtAndi16,
455 GICXXPred_I64_Predicate_immi32Cst7,
456 GICXXPred_I64_Predicate_immi32Cst15,
457 GICXXPred_I64_Predicate_immi32Cst31,
458 GICXXPred_I64_Predicate_timmSExt6,
459 GICXXPred_I64_Predicate_timmZExt1,
460 GICXXPred_I64_Predicate_timmZExt1Ptr,
461 GICXXPred_I64_Predicate_timmZExt2,
462 GICXXPred_I64_Predicate_timmZExt2Ptr,
463 GICXXPred_I64_Predicate_timmZExt3,
464 GICXXPred_I64_Predicate_timmZExt3Ptr,
465 GICXXPred_I64_Predicate_timmZExt4,
466 GICXXPred_I64_Predicate_timmZExt4Ptr,
467 GICXXPred_I64_Predicate_timmZExt5,
468 GICXXPred_I64_Predicate_timmZExt6,
469 GICXXPred_I64_Predicate_timmZExt8,
470 GICXXPred_I64_Predicate_timmZExt10,
471};
472bool MipsInstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
473 switch (PredicateID) {
474 case GICXXPred_I64_Predicate_immLi16: {
475 return Imm >= -1 && Imm <= 126;
476 }
477 case GICXXPred_I64_Predicate_immSExt6: {
478 return isInt<6>(Imm);
479 }
480 case GICXXPred_I64_Predicate_immSExt10: {
481 return isInt<10>(Imm);
482 }
483 case GICXXPred_I64_Predicate_immSExtAddiur2: {
484 return Imm == 1 || Imm == -1 ||
485 ((Imm % 4 == 0) &&
486 Imm < 28 && Imm > 0);
487 }
488 case GICXXPred_I64_Predicate_immSExtAddius5: {
489 return Imm >= -8 && Imm <= 7;
490 }
491 case GICXXPred_I64_Predicate_immZExt1: {
492 return isUInt<1>(Imm);
493 }
494 case GICXXPred_I64_Predicate_immZExt1Ptr: {
495 return isUInt<1>(Imm);
496 }
497 case GICXXPred_I64_Predicate_immZExt2: {
498 return isUInt<2>(Imm);
499 }
500 case GICXXPred_I64_Predicate_immZExt2Lsa: {
501 return isUInt<2>(Imm - 1);
502 }
503 case GICXXPred_I64_Predicate_immZExt2Ptr: {
504 return isUInt<2>(Imm);
505 }
506 case GICXXPred_I64_Predicate_immZExt2Shift: {
507 return Imm >= 1 && Imm <= 8;
508 }
509 case GICXXPred_I64_Predicate_immZExt3: {
510 return isUInt<3>(Imm);
511 }
512 case GICXXPred_I64_Predicate_immZExt3Ptr: {
513 return isUInt<3>(Imm);
514 }
515 case GICXXPred_I64_Predicate_immZExt4: {
516 return isUInt<4>(Imm);
517 }
518 case GICXXPred_I64_Predicate_immZExt4Ptr: {
519 return isUInt<4>(Imm);
520 }
521 case GICXXPred_I64_Predicate_immZExt5: {
522 return Imm == (Imm & 0x1f);
523 }
524 case GICXXPred_I64_Predicate_immZExt5_64: {
525 return Imm == (Imm & 0x1f);
526 }
527 case GICXXPred_I64_Predicate_immZExt6: {
528 return Imm == (Imm & 0x3f);
529 }
530 case GICXXPred_I64_Predicate_immZExt8: {
531 return isUInt<8>(Imm);
532 }
533 case GICXXPred_I64_Predicate_immZExt10: {
534 return isUInt<10>(Imm);
535 }
536 case GICXXPred_I64_Predicate_immZExtAndi16: {
537 return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
538 Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
539 Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
540 }
541 case GICXXPred_I64_Predicate_immi32Cst7: {
542 return isUInt<32>(Imm) && Imm == 7;
543 }
544 case GICXXPred_I64_Predicate_immi32Cst15: {
545 return isUInt<32>(Imm) && Imm == 15;
546 }
547 case GICXXPred_I64_Predicate_immi32Cst31: {
548 return isUInt<32>(Imm) && Imm == 31;
549 }
550 case GICXXPred_I64_Predicate_timmSExt6: {
551 return isInt<6>(Imm);
552 }
553 case GICXXPred_I64_Predicate_timmZExt1: {
554 return isUInt<1>(Imm);
555 }
556 case GICXXPred_I64_Predicate_timmZExt1Ptr: {
557 return isUInt<1>(Imm);
558 }
559 case GICXXPred_I64_Predicate_timmZExt2: {
560 return isUInt<2>(Imm);
561 }
562 case GICXXPred_I64_Predicate_timmZExt2Ptr: {
563 return isUInt<2>(Imm);
564 }
565 case GICXXPred_I64_Predicate_timmZExt3: {
566 return isUInt<3>(Imm);
567 }
568 case GICXXPred_I64_Predicate_timmZExt3Ptr: {
569 return isUInt<3>(Imm);
570 }
571 case GICXXPred_I64_Predicate_timmZExt4: {
572 return isUInt<4>(Imm);
573 }
574 case GICXXPred_I64_Predicate_timmZExt4Ptr: {
575 return isUInt<4>(Imm);
576 }
577 case GICXXPred_I64_Predicate_timmZExt5: {
578 return Imm == (Imm & 0x1f);
579 }
580 case GICXXPred_I64_Predicate_timmZExt6: {
581 return Imm == (Imm & 0x3f);
582 }
583 case GICXXPred_I64_Predicate_timmZExt8: {
584 return isUInt<8>(Imm);
585 }
586 case GICXXPred_I64_Predicate_timmZExt10: {
587 return isUInt<10>(Imm);
588 }
589 }
590 llvm_unreachable("Unknown predicate");
591 return false;
592}
593// PatFrag predicates.
594bool MipsInstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
595 llvm_unreachable("Unknown predicate");
596 return false;
597}
598// PatFrag predicates.
599enum {
600 GICXXPred_APInt_Predicate_imm32SExt16 = GICXXPred_Invalid + 1,
601 GICXXPred_APInt_Predicate_imm32ZExt16,
602};
603bool MipsInstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
604 switch (PredicateID) {
605 case GICXXPred_APInt_Predicate_imm32SExt16: {
606 return isInt<16>(Imm.getSExtValue());
607 }
608 case GICXXPred_APInt_Predicate_imm32ZExt16: {
609
610 return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();
611
612 }
613 }
614 llvm_unreachable("Unknown predicate");
615 return false;
616}
617bool MipsInstructionSelector::testSimplePredicate(unsigned) const {
618 llvm_unreachable("MipsInstructionSelector does not support simple predicates!");
619 return false;
620}
621// Custom renderers.
622enum {
623 GICR_Invalid,
624};
625MipsInstructionSelector::CustomRendererFn
626MipsInstructionSelector::CustomRenderers[] = {
627 nullptr, // GICR_Invalid
628};
629
630bool MipsInstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
631 const PredicateBitset AvailableFeatures = getAvailableFeatures();
632 MachineIRBuilder B(I);
633 State.MIs.clear();
634 State.MIs.push_back(&I);
635
636 if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
637 return true;
638 }
639
640 return false;
641}
642
643bool MipsInstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
644 llvm_unreachable("MipsInstructionSelector does not support custom C++ actions!");
645}
646#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
647#define GIMT_Encode2(Val) uint8_t(Val), uint8_t((Val) >> 8)
648#define GIMT_Encode4(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24)
649#define GIMT_Encode8(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24), uint8_t(uint64_t(Val) >> 32), uint8_t(uint64_t(Val) >> 40), uint8_t(uint64_t(Val) >> 48), uint8_t(uint64_t(Val) >> 56)
650#else
651#define GIMT_Encode2(Val) uint8_t((Val) >> 8), uint8_t(Val)
652#define GIMT_Encode4(Val) uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
653#define GIMT_Encode8(Val) uint8_t(uint64_t(Val) >> 56), uint8_t(uint64_t(Val) >> 48), uint8_t(uint64_t(Val) >> 40), uint8_t(uint64_t(Val) >> 32), uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
654#endif
655const uint8_t *MipsInstructionSelector::getMatchTable() const {
656 constexpr static uint8_t MatchTable0[] = {
657 /* 0 */ GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2(55), GIMT_Encode2(302), /*)*//*default:*//*Label 84*/ GIMT_Encode4(76997),
658 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(998),
659 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(2296),
660 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(2987),
661 /* 22 */ /*TargetOpcode::G_SDIV*//*Label 3*/ GIMT_Encode4(3468),
662 /* 26 */ /*TargetOpcode::G_UDIV*//*Label 4*/ GIMT_Encode4(3737),
663 /* 30 */ /*TargetOpcode::G_SREM*//*Label 5*/ GIMT_Encode4(4006),
664 /* 34 */ /*TargetOpcode::G_UREM*//*Label 6*/ GIMT_Encode4(4275), GIMT_Encode4(0), GIMT_Encode4(0),
665 /* 46 */ /*TargetOpcode::G_AND*//*Label 7*/ GIMT_Encode4(4544),
666 /* 50 */ /*TargetOpcode::G_OR*//*Label 8*/ GIMT_Encode4(5100),
667 /* 54 */ /*TargetOpcode::G_XOR*//*Label 9*/ GIMT_Encode4(5504), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
668 /* 118 */ /*TargetOpcode::G_MERGE_VALUES*//*Label 10*/ GIMT_Encode4(6396),
669 /* 122 */ /*TargetOpcode::G_BUILD_VECTOR*//*Label 11*/ GIMT_Encode4(6469), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
670 /* 142 */ /*TargetOpcode::G_BITCAST*//*Label 12*/ GIMT_Encode4(6810), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
671 /* 186 */ /*TargetOpcode::G_LOAD*//*Label 13*/ GIMT_Encode4(11121),
672 /* 190 */ /*TargetOpcode::G_SEXTLOAD*//*Label 14*/ GIMT_Encode4(11186),
673 /* 194 */ /*TargetOpcode::G_ZEXTLOAD*//*Label 15*/ GIMT_Encode4(11254), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
674 /* 222 */ /*TargetOpcode::G_ATOMIC_CMPXCHG*//*Label 16*/ GIMT_Encode4(11322),
675 /* 226 */ /*TargetOpcode::G_ATOMICRMW_XCHG*//*Label 17*/ GIMT_Encode4(11514),
676 /* 230 */ /*TargetOpcode::G_ATOMICRMW_ADD*//*Label 18*/ GIMT_Encode4(11684),
677 /* 234 */ /*TargetOpcode::G_ATOMICRMW_SUB*//*Label 19*/ GIMT_Encode4(11854),
678 /* 238 */ /*TargetOpcode::G_ATOMICRMW_AND*//*Label 20*/ GIMT_Encode4(12024),
679 /* 242 */ /*TargetOpcode::G_ATOMICRMW_NAND*//*Label 21*/ GIMT_Encode4(12194),
680 /* 246 */ /*TargetOpcode::G_ATOMICRMW_OR*//*Label 22*/ GIMT_Encode4(12364),
681 /* 250 */ /*TargetOpcode::G_ATOMICRMW_XOR*//*Label 23*/ GIMT_Encode4(12534),
682 /* 254 */ /*TargetOpcode::G_ATOMICRMW_MAX*//*Label 24*/ GIMT_Encode4(12704),
683 /* 258 */ /*TargetOpcode::G_ATOMICRMW_MIN*//*Label 25*/ GIMT_Encode4(12874),
684 /* 262 */ /*TargetOpcode::G_ATOMICRMW_UMAX*//*Label 26*/ GIMT_Encode4(13044),
685 /* 266 */ /*TargetOpcode::G_ATOMICRMW_UMIN*//*Label 27*/ GIMT_Encode4(13214), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
686 /* 318 */ /*TargetOpcode::G_BRCOND*//*Label 28*/ GIMT_Encode4(13384), GIMT_Encode4(0), GIMT_Encode4(0),
687 /* 330 */ /*TargetOpcode::G_INTRINSIC*//*Label 29*/ GIMT_Encode4(19929),
688 /* 334 */ /*TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS*//*Label 30*/ GIMT_Encode4(34194), GIMT_Encode4(0), GIMT_Encode4(0),
689 /* 346 */ /*TargetOpcode::G_ANYEXT*//*Label 31*/ GIMT_Encode4(39288),
690 /* 350 */ /*TargetOpcode::G_TRUNC*//*Label 32*/ GIMT_Encode4(39354), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
691 /* 366 */ /*TargetOpcode::G_CONSTANT*//*Label 33*/ GIMT_Encode4(39418), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
692 /* 382 */ /*TargetOpcode::G_SEXT*//*Label 34*/ GIMT_Encode4(39479),
693 /* 386 */ /*TargetOpcode::G_SEXT_INREG*//*Label 35*/ GIMT_Encode4(40943),
694 /* 390 */ /*TargetOpcode::G_ZEXT*//*Label 36*/ GIMT_Encode4(41291),
695 /* 394 */ /*TargetOpcode::G_SHL*//*Label 37*/ GIMT_Encode4(41492),
696 /* 398 */ /*TargetOpcode::G_LSHR*//*Label 38*/ GIMT_Encode4(43289),
697 /* 402 */ /*TargetOpcode::G_ASHR*//*Label 39*/ GIMT_Encode4(45086), GIMT_Encode4(0), GIMT_Encode4(0),
698 /* 414 */ /*TargetOpcode::G_ROTR*//*Label 40*/ GIMT_Encode4(46841), GIMT_Encode4(0),
699 /* 422 */ /*TargetOpcode::G_ICMP*//*Label 41*/ GIMT_Encode4(47129),
700 /* 426 */ /*TargetOpcode::G_FCMP*//*Label 42*/ GIMT_Encode4(49660), GIMT_Encode4(0), GIMT_Encode4(0),
701 /* 438 */ /*TargetOpcode::G_SELECT*//*Label 43*/ GIMT_Encode4(50660), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
702 /* 482 */ /*TargetOpcode::G_UMULH*//*Label 44*/ GIMT_Encode4(62790),
703 /* 486 */ /*TargetOpcode::G_SMULH*//*Label 45*/ GIMT_Encode4(62899), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
704 /* 546 */ /*TargetOpcode::G_FADD*//*Label 46*/ GIMT_Encode4(63008),
705 /* 550 */ /*TargetOpcode::G_FSUB*//*Label 47*/ GIMT_Encode4(64303),
706 /* 554 */ /*TargetOpcode::G_FMUL*//*Label 48*/ GIMT_Encode4(65118),
707 /* 558 */ /*TargetOpcode::G_FMA*//*Label 49*/ GIMT_Encode4(65629), GIMT_Encode4(0),
708 /* 566 */ /*TargetOpcode::G_FDIV*//*Label 50*/ GIMT_Encode4(65735), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
709 /* 590 */ /*TargetOpcode::G_FEXP2*//*Label 51*/ GIMT_Encode4(66058), GIMT_Encode4(0), GIMT_Encode4(0),
710 /* 602 */ /*TargetOpcode::G_FLOG2*//*Label 52*/ GIMT_Encode4(66136), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
711 /* 618 */ /*TargetOpcode::G_FNEG*//*Label 53*/ GIMT_Encode4(66214),
712 /* 622 */ /*TargetOpcode::G_FPEXT*//*Label 54*/ GIMT_Encode4(71119),
713 /* 626 */ /*TargetOpcode::G_FPTRUNC*//*Label 55*/ GIMT_Encode4(71313),
714 /* 630 */ /*TargetOpcode::G_FPTOSI*//*Label 56*/ GIMT_Encode4(71492),
715 /* 634 */ /*TargetOpcode::G_FPTOUI*//*Label 57*/ GIMT_Encode4(71570),
716 /* 638 */ /*TargetOpcode::G_SITOFP*//*Label 58*/ GIMT_Encode4(71648),
717 /* 642 */ /*TargetOpcode::G_UITOFP*//*Label 59*/ GIMT_Encode4(71901), GIMT_Encode4(0), GIMT_Encode4(0),
718 /* 654 */ /*TargetOpcode::G_FABS*//*Label 60*/ GIMT_Encode4(71979), GIMT_Encode4(0), GIMT_Encode4(0),
719 /* 666 */ /*TargetOpcode::G_FCANONICALIZE*//*Label 61*/ GIMT_Encode4(72227),
720 /* 670 */ /*TargetOpcode::G_FMINNUM*//*Label 62*/ GIMT_Encode4(72301),
721 /* 674 */ /*TargetOpcode::G_FMAXNUM*//*Label 63*/ GIMT_Encode4(72373),
722 /* 678 */ /*TargetOpcode::G_FMINNUM_IEEE*//*Label 64*/ GIMT_Encode4(72445),
723 /* 682 */ /*TargetOpcode::G_FMAXNUM_IEEE*//*Label 65*/ GIMT_Encode4(72517), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
724 /* 742 */ /*TargetOpcode::G_SMIN*//*Label 66*/ GIMT_Encode4(72589),
725 /* 746 */ /*TargetOpcode::G_SMAX*//*Label 67*/ GIMT_Encode4(72757),
726 /* 750 */ /*TargetOpcode::G_UMIN*//*Label 68*/ GIMT_Encode4(72925),
727 /* 754 */ /*TargetOpcode::G_UMAX*//*Label 69*/ GIMT_Encode4(73093), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
728 /* 770 */ /*TargetOpcode::G_BR*//*Label 70*/ GIMT_Encode4(73261), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
729 /* 790 */ /*TargetOpcode::G_INSERT_VECTOR_ELT*//*Label 71*/ GIMT_Encode4(73385),
730 /* 794 */ /*TargetOpcode::G_EXTRACT_VECTOR_ELT*//*Label 72*/ GIMT_Encode4(73949), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
731 /* 822 */ /*TargetOpcode::G_CTLZ*//*Label 73*/ GIMT_Encode4(74001), GIMT_Encode4(0), GIMT_Encode4(0),
732 /* 834 */ /*TargetOpcode::G_CTPOP*//*Label 74*/ GIMT_Encode4(74506),
733 /* 838 */ /*TargetOpcode::G_BSWAP*//*Label 75*/ GIMT_Encode4(74712), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
734 /* 894 */ /*TargetOpcode::G_FSQRT*//*Label 76*/ GIMT_Encode4(74876), GIMT_Encode4(0),
735 /* 902 */ /*TargetOpcode::G_FRINT*//*Label 77*/ GIMT_Encode4(75140), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
736 /* 934 */ /*TargetOpcode::G_STRICT_FADD*//*Label 78*/ GIMT_Encode4(75218),
737 /* 938 */ /*TargetOpcode::G_STRICT_FSUB*//*Label 79*/ GIMT_Encode4(76073),
738 /* 942 */ /*TargetOpcode::G_STRICT_FMUL*//*Label 80*/ GIMT_Encode4(76570),
739 /* 946 */ /*TargetOpcode::G_STRICT_FDIV*//*Label 81*/ GIMT_Encode4(76703), GIMT_Encode4(0), GIMT_Encode4(0),
740 /* 958 */ /*TargetOpcode::G_STRICT_FSQRT*//*Label 82*/ GIMT_Encode4(76836), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
741 /* 994 */ /*TargetOpcode::G_TRAP*//*Label 83*/ GIMT_Encode4(76951),
742 /* 998 */ // Label 0: @998
743 /* 998 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 93*/ GIMT_Encode4(2295),
744 /* 1009 */ /*GILLT_s32*//*Label 85*/ GIMT_Encode4(1041),
745 /* 1013 */ /*GILLT_s64*//*Label 86*/ GIMT_Encode4(1449),
746 /* 1017 */ /*GILLT_v2s16*//*Label 87*/ GIMT_Encode4(1615),
747 /* 1021 */ /*GILLT_v2s64*//*Label 88*/ GIMT_Encode4(1647),
748 /* 1025 */ /*GILLT_v4s8*//*Label 89*/ GIMT_Encode4(1801),
749 /* 1029 */ /*GILLT_v4s32*//*Label 90*/ GIMT_Encode4(1833),
750 /* 1033 */ /*GILLT_v8s16*//*Label 91*/ GIMT_Encode4(1987),
751 /* 1037 */ /*GILLT_v16s8*//*Label 92*/ GIMT_Encode4(2141),
752 /* 1041 */ // Label 85: @1041
753 /* 1041 */ GIM_Try, /*On fail goto*//*Label 94*/ GIMT_Encode4(1448),
754 /* 1046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
755 /* 1049 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
756 /* 1052 */ GIM_Try, /*On fail goto*//*Label 95*/ GIMT_Encode4(1119), // Rule ID 2561 //
757 /* 1057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
758 /* 1060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
759 /* 1064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
760 /* 1068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
761 /* 1072 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
762 /* 1076 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
763 /* 1080 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
764 /* 1085 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
765 /* 1089 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
766 /* 1093 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
767 /* 1097 */ // MIs[2] Operand 1
768 /* 1097 */ // No operand predicates
769 /* 1097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
770 /* 1101 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
771 /* 1103 */ // (add:{ *:[i32] } (shl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt2Lsa>>:$sa), GPR32Opnd:{ *:[i32] }:$rt) => (LSA:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$sa)
772 /* 1103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LSA),
773 /* 1106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
774 /* 1108 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
775 /* 1112 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
776 /* 1114 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // sa
777 /* 1117 */ GIR_RootConstrainSelectedInstOperands,
778 /* 1118 */ // GIR_Coverage, 2561,
779 /* 1118 */ GIR_EraseRootFromParent_Done,
780 /* 1119 */ // Label 95: @1119
781 /* 1119 */ GIM_Try, /*On fail goto*//*Label 96*/ GIMT_Encode4(1186), // Rule ID 909 //
782 /* 1124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
783 /* 1127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
784 /* 1131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
785 /* 1135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
786 /* 1139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
787 /* 1143 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
788 /* 1147 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
789 /* 1151 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
790 /* 1156 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
791 /* 1160 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
792 /* 1164 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
793 /* 1168 */ // MIs[2] Operand 1
794 /* 1168 */ // No operand predicates
795 /* 1168 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
796 /* 1170 */ // (add:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (shl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt2Lsa>>:$sa)) => (LSA:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$sa)
797 /* 1170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LSA),
798 /* 1173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
799 /* 1175 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
800 /* 1179 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
801 /* 1181 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // sa
802 /* 1184 */ GIR_RootConstrainSelectedInstOperands,
803 /* 1185 */ // GIR_Coverage, 909,
804 /* 1185 */ GIR_EraseRootFromParent_Done,
805 /* 1186 */ // Label 96: @1186
806 /* 1186 */ GIM_Try, /*On fail goto*//*Label 97*/ GIMT_Encode4(1228), // Rule ID 40 //
807 /* 1191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
808 /* 1194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
809 /* 1198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
810 /* 1202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
811 /* 1206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
812 /* 1210 */ GIM_CheckAPIntImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_APInt_Predicate_imm32SExt16),
813 /* 1214 */ // MIs[1] Operand 1
814 /* 1214 */ // No operand predicates
815 /* 1214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
816 /* 1216 */ // (add:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_imm32SExt16>>:$imm16) => (ADDiu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$imm16)
817 /* 1216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDiu),
818 /* 1219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
819 /* 1221 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
820 /* 1223 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm16
821 /* 1226 */ GIR_RootConstrainSelectedInstOperands,
822 /* 1227 */ // GIR_Coverage, 40,
823 /* 1227 */ GIR_EraseRootFromParent_Done,
824 /* 1228 */ // Label 97: @1228
825 /* 1228 */ GIM_Try, /*On fail goto*//*Label 98*/ GIMT_Encode4(1270), // Rule ID 2296 //
826 /* 1233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
827 /* 1236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
828 /* 1240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
829 /* 1244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
830 /* 1248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
831 /* 1252 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immSExtAddiur2),
832 /* 1256 */ // MIs[1] Operand 1
833 /* 1256 */ // No operand predicates
834 /* 1256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
835 /* 1258 */ // (add:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immSExtAddiur2>>:$imm) => (ADDIUR2_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immSExtAddiur2>>:$imm)
836 /* 1258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDIUR2_MM),
837 /* 1261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
838 /* 1263 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
839 /* 1265 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
840 /* 1268 */ GIR_RootConstrainSelectedInstOperands,
841 /* 1269 */ // GIR_Coverage, 2296,
842 /* 1269 */ GIR_EraseRootFromParent_Done,
843 /* 1270 */ // Label 98: @1270
844 /* 1270 */ GIM_Try, /*On fail goto*//*Label 99*/ GIMT_Encode4(1312), // Rule ID 2297 //
845 /* 1275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
846 /* 1278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
847 /* 1282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
848 /* 1286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
849 /* 1290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
850 /* 1294 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immSExtAddius5),
851 /* 1298 */ // MIs[1] Operand 1
852 /* 1298 */ // No operand predicates
853 /* 1298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
854 /* 1300 */ // (add:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immSExtAddius5>>:$imm) => (ADDIUS5_MM:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immSExtAddius5>>:$imm)
855 /* 1300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDIUS5_MM),
856 /* 1303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
857 /* 1305 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
858 /* 1307 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
859 /* 1310 */ GIR_RootConstrainSelectedInstOperands,
860 /* 1311 */ // GIR_Coverage, 2297,
861 /* 1311 */ GIR_EraseRootFromParent_Done,
862 /* 1312 */ // Label 99: @1312
863 /* 1312 */ GIM_Try, /*On fail goto*//*Label 100*/ GIMT_Encode4(1339), // Rule ID 1283 //
864 /* 1317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
865 /* 1320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
866 /* 1324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
867 /* 1328 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
868 /* 1332 */ // (add:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (ADDU16_MMR6:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
869 /* 1332 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDU16_MMR6),
870 /* 1337 */ GIR_RootConstrainSelectedInstOperands,
871 /* 1338 */ // GIR_Coverage, 1283,
872 /* 1338 */ GIR_Done,
873 /* 1339 */ // Label 100: @1339
874 /* 1339 */ GIM_Try, /*On fail goto*//*Label 101*/ GIMT_Encode4(1366), // Rule ID 46 //
875 /* 1344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
876 /* 1347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
877 /* 1351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
878 /* 1355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
879 /* 1359 */ // (add:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
880 /* 1359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDu),
881 /* 1364 */ GIR_RootConstrainSelectedInstOperands,
882 /* 1365 */ // GIR_Coverage, 46,
883 /* 1365 */ GIR_Done,
884 /* 1366 */ // Label 101: @1366
885 /* 1366 */ GIM_Try, /*On fail goto*//*Label 102*/ GIMT_Encode4(1393), // Rule ID 1135 //
886 /* 1371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
887 /* 1374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
888 /* 1378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
889 /* 1382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
890 /* 1386 */ // (add:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (ADDU16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
891 /* 1386 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDU16_MM),
892 /* 1391 */ GIR_RootConstrainSelectedInstOperands,
893 /* 1392 */ // GIR_Coverage, 1135,
894 /* 1392 */ GIR_Done,
895 /* 1393 */ // Label 102: @1393
896 /* 1393 */ GIM_Try, /*On fail goto*//*Label 103*/ GIMT_Encode4(1420), // Rule ID 1147 //
897 /* 1398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
898 /* 1401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
899 /* 1405 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
900 /* 1409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
901 /* 1413 */ // (add:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDu_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
902 /* 1413 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDu_MM),
903 /* 1418 */ GIR_RootConstrainSelectedInstOperands,
904 /* 1419 */ // GIR_Coverage, 1147,
905 /* 1419 */ GIR_Done,
906 /* 1420 */ // Label 103: @1420
907 /* 1420 */ GIM_Try, /*On fail goto*//*Label 104*/ GIMT_Encode4(1447), // Rule ID 1954 //
908 /* 1425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
909 /* 1428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
910 /* 1432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
911 /* 1436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
912 /* 1440 */ // (add:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (AdduRxRyRz16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
913 /* 1440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AdduRxRyRz16),
914 /* 1445 */ GIR_RootConstrainSelectedInstOperands,
915 /* 1446 */ // GIR_Coverage, 1954,
916 /* 1446 */ GIR_Done,
917 /* 1447 */ // Label 104: @1447
918 /* 1447 */ GIM_Reject,
919 /* 1448 */ // Label 94: @1448
920 /* 1448 */ GIM_Reject,
921 /* 1449 */ // Label 86: @1449
922 /* 1449 */ GIM_Try, /*On fail goto*//*Label 105*/ GIMT_Encode4(1614),
923 /* 1454 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
924 /* 1457 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
925 /* 1460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
926 /* 1464 */ GIM_Try, /*On fail goto*//*Label 106*/ GIMT_Encode4(1527), // Rule ID 2562 //
927 /* 1469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc),
928 /* 1472 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
929 /* 1476 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
930 /* 1480 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
931 /* 1484 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
932 /* 1488 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
933 /* 1493 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
934 /* 1497 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
935 /* 1501 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
936 /* 1505 */ // MIs[2] Operand 1
937 /* 1505 */ // No operand predicates
938 /* 1505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
939 /* 1509 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
940 /* 1511 */ // (add:{ *:[i64] } (shl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt2Lsa>>:$sa), GPR64Opnd:{ *:[i64] }:$rt) => (DLSA:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$sa)
941 /* 1511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DLSA),
942 /* 1514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
943 /* 1516 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
944 /* 1520 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
945 /* 1522 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // sa
946 /* 1525 */ GIR_RootConstrainSelectedInstOperands,
947 /* 1526 */ // GIR_Coverage, 2562,
948 /* 1526 */ GIR_EraseRootFromParent_Done,
949 /* 1527 */ // Label 106: @1527
950 /* 1527 */ GIM_Try, /*On fail goto*//*Label 107*/ GIMT_Encode4(1590), // Rule ID 910 //
951 /* 1532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc),
952 /* 1535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
953 /* 1539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
954 /* 1543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
955 /* 1547 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
956 /* 1551 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
957 /* 1555 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
958 /* 1560 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
959 /* 1564 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
960 /* 1568 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
961 /* 1572 */ // MIs[2] Operand 1
962 /* 1572 */ // No operand predicates
963 /* 1572 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
964 /* 1574 */ // (add:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (shl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt2Lsa>>:$sa)) => (DLSA:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$sa)
965 /* 1574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DLSA),
966 /* 1577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
967 /* 1579 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
968 /* 1583 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
969 /* 1585 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // sa
970 /* 1588 */ GIR_RootConstrainSelectedInstOperands,
971 /* 1589 */ // GIR_Coverage, 910,
972 /* 1589 */ GIR_EraseRootFromParent_Done,
973 /* 1590 */ // Label 107: @1590
974 /* 1590 */ GIM_Try, /*On fail goto*//*Label 108*/ GIMT_Encode4(1613), // Rule ID 277 //
975 /* 1595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
976 /* 1598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
977 /* 1602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
978 /* 1606 */ // (add:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DADDu:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
979 /* 1606 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DADDu),
980 /* 1611 */ GIR_RootConstrainSelectedInstOperands,
981 /* 1612 */ // GIR_Coverage, 277,
982 /* 1612 */ GIR_Done,
983 /* 1613 */ // Label 108: @1613
984 /* 1613 */ GIM_Reject,
985 /* 1614 */ // Label 105: @1614
986 /* 1614 */ GIM_Reject,
987 /* 1615 */ // Label 87: @1615
988 /* 1615 */ GIM_Try, /*On fail goto*//*Label 109*/ GIMT_Encode4(1646), // Rule ID 2053 //
989 /* 1620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
990 /* 1623 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
991 /* 1626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
992 /* 1629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
993 /* 1633 */ // (add:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (ADDQ_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
994 /* 1633 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDQ_PH),
995 /* 1638 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
996 /* 1644 */ GIR_RootConstrainSelectedInstOperands,
997 /* 1645 */ // GIR_Coverage, 2053,
998 /* 1645 */ GIR_Done,
999 /* 1646 */ // Label 109: @1646
1000 /* 1646 */ GIM_Reject,
1001 /* 1647 */ // Label 88: @1647
1002 /* 1647 */ GIM_Try, /*On fail goto*//*Label 110*/ GIMT_Encode4(1800),
1003 /* 1652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1004 /* 1655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1005 /* 1658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1006 /* 1662 */ GIM_Try, /*On fail goto*//*Label 111*/ GIMT_Encode4(1719), // Rule ID 2566 //
1007 /* 1667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1008 /* 1670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1009 /* 1674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1010 /* 1678 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
1011 /* 1682 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
1012 /* 1686 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1013 /* 1691 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1014 /* 1696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1015 /* 1700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1016 /* 1702 */ // (add:{ *:[v2i64] } (mul:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt), MSA128DOpnd:{ *:[v2i64] }:$wd_in) => (MADDV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1017 /* 1702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_D),
1018 /* 1705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1019 /* 1707 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
1020 /* 1709 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1021 /* 1713 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1022 /* 1717 */ GIR_RootConstrainSelectedInstOperands,
1023 /* 1718 */ // GIR_Coverage, 2566,
1024 /* 1718 */ GIR_EraseRootFromParent_Done,
1025 /* 1719 */ // Label 111: @1719
1026 /* 1719 */ GIM_Try, /*On fail goto*//*Label 112*/ GIMT_Encode4(1776), // Rule ID 918 //
1027 /* 1724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1028 /* 1727 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1029 /* 1731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1030 /* 1735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1031 /* 1739 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
1032 /* 1743 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
1033 /* 1747 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1034 /* 1752 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1035 /* 1757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1036 /* 1759 */ // (add:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, (mul:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)) => (MADDV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1037 /* 1759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_D),
1038 /* 1762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1039 /* 1764 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1040 /* 1766 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1041 /* 1770 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1042 /* 1774 */ GIR_RootConstrainSelectedInstOperands,
1043 /* 1775 */ // GIR_Coverage, 918,
1044 /* 1775 */ GIR_EraseRootFromParent_Done,
1045 /* 1776 */ // Label 112: @1776
1046 /* 1776 */ GIM_Try, /*On fail goto*//*Label 113*/ GIMT_Encode4(1799), // Rule ID 585 //
1047 /* 1781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1048 /* 1784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1049 /* 1788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1050 /* 1792 */ // (add:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADDV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1051 /* 1792 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDV_D),
1052 /* 1797 */ GIR_RootConstrainSelectedInstOperands,
1053 /* 1798 */ // GIR_Coverage, 585,
1054 /* 1798 */ GIR_Done,
1055 /* 1799 */ // Label 113: @1799
1056 /* 1799 */ GIM_Reject,
1057 /* 1800 */ // Label 110: @1800
1058 /* 1800 */ GIM_Reject,
1059 /* 1801 */ // Label 89: @1801
1060 /* 1801 */ GIM_Try, /*On fail goto*//*Label 114*/ GIMT_Encode4(1832), // Rule ID 2059 //
1061 /* 1806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
1062 /* 1809 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
1063 /* 1812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
1064 /* 1815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1065 /* 1819 */ // (add:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b) => (ADDU_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b)
1066 /* 1819 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDU_QB),
1067 /* 1824 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1068 /* 1830 */ GIR_RootConstrainSelectedInstOperands,
1069 /* 1831 */ // GIR_Coverage, 2059,
1070 /* 1831 */ GIR_Done,
1071 /* 1832 */ // Label 114: @1832
1072 /* 1832 */ GIM_Reject,
1073 /* 1833 */ // Label 90: @1833
1074 /* 1833 */ GIM_Try, /*On fail goto*//*Label 115*/ GIMT_Encode4(1986),
1075 /* 1838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1076 /* 1841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1077 /* 1844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1078 /* 1848 */ GIM_Try, /*On fail goto*//*Label 116*/ GIMT_Encode4(1905), // Rule ID 2565 //
1079 /* 1853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1080 /* 1856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1081 /* 1860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1082 /* 1864 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
1083 /* 1868 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
1084 /* 1872 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1085 /* 1877 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1086 /* 1882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1087 /* 1886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1088 /* 1888 */ // (add:{ *:[v4i32] } (mul:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt), MSA128WOpnd:{ *:[v4i32] }:$wd_in) => (MADDV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1089 /* 1888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_W),
1090 /* 1891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1091 /* 1893 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
1092 /* 1895 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1093 /* 1899 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1094 /* 1903 */ GIR_RootConstrainSelectedInstOperands,
1095 /* 1904 */ // GIR_Coverage, 2565,
1096 /* 1904 */ GIR_EraseRootFromParent_Done,
1097 /* 1905 */ // Label 116: @1905
1098 /* 1905 */ GIM_Try, /*On fail goto*//*Label 117*/ GIMT_Encode4(1962), // Rule ID 917 //
1099 /* 1910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1100 /* 1913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1101 /* 1917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1102 /* 1921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1103 /* 1925 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
1104 /* 1929 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
1105 /* 1933 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1106 /* 1938 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1107 /* 1943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1108 /* 1945 */ // (add:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, (mul:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)) => (MADDV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1109 /* 1945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_W),
1110 /* 1948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1111 /* 1950 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1112 /* 1952 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1113 /* 1956 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1114 /* 1960 */ GIR_RootConstrainSelectedInstOperands,
1115 /* 1961 */ // GIR_Coverage, 917,
1116 /* 1961 */ GIR_EraseRootFromParent_Done,
1117 /* 1962 */ // Label 117: @1962
1118 /* 1962 */ GIM_Try, /*On fail goto*//*Label 118*/ GIMT_Encode4(1985), // Rule ID 584 //
1119 /* 1967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1120 /* 1970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1121 /* 1974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1122 /* 1978 */ // (add:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADDV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1123 /* 1978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDV_W),
1124 /* 1983 */ GIR_RootConstrainSelectedInstOperands,
1125 /* 1984 */ // GIR_Coverage, 584,
1126 /* 1984 */ GIR_Done,
1127 /* 1985 */ // Label 118: @1985
1128 /* 1985 */ GIM_Reject,
1129 /* 1986 */ // Label 115: @1986
1130 /* 1986 */ GIM_Reject,
1131 /* 1987 */ // Label 91: @1987
1132 /* 1987 */ GIM_Try, /*On fail goto*//*Label 119*/ GIMT_Encode4(2140),
1133 /* 1992 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1134 /* 1995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1135 /* 1998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1136 /* 2002 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(2059), // Rule ID 2564 //
1137 /* 2007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1138 /* 2010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1139 /* 2014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1140 /* 2018 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
1141 /* 2022 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
1142 /* 2026 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1143 /* 2031 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1144 /* 2036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1145 /* 2040 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1146 /* 2042 */ // (add:{ *:[v8i16] } (mul:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt), MSA128HOpnd:{ *:[v8i16] }:$wd_in) => (MADDV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1147 /* 2042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_H),
1148 /* 2045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1149 /* 2047 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
1150 /* 2049 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1151 /* 2053 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1152 /* 2057 */ GIR_RootConstrainSelectedInstOperands,
1153 /* 2058 */ // GIR_Coverage, 2564,
1154 /* 2058 */ GIR_EraseRootFromParent_Done,
1155 /* 2059 */ // Label 120: @2059
1156 /* 2059 */ GIM_Try, /*On fail goto*//*Label 121*/ GIMT_Encode4(2116), // Rule ID 916 //
1157 /* 2064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1158 /* 2067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1159 /* 2071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1160 /* 2075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1161 /* 2079 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
1162 /* 2083 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
1163 /* 2087 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1164 /* 2092 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1165 /* 2097 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1166 /* 2099 */ // (add:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, (mul:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)) => (MADDV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1167 /* 2099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_H),
1168 /* 2102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1169 /* 2104 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1170 /* 2106 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1171 /* 2110 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1172 /* 2114 */ GIR_RootConstrainSelectedInstOperands,
1173 /* 2115 */ // GIR_Coverage, 916,
1174 /* 2115 */ GIR_EraseRootFromParent_Done,
1175 /* 2116 */ // Label 121: @2116
1176 /* 2116 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(2139), // Rule ID 583 //
1177 /* 2121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1178 /* 2124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1179 /* 2128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1180 /* 2132 */ // (add:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADDV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1181 /* 2132 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDV_H),
1182 /* 2137 */ GIR_RootConstrainSelectedInstOperands,
1183 /* 2138 */ // GIR_Coverage, 583,
1184 /* 2138 */ GIR_Done,
1185 /* 2139 */ // Label 122: @2139
1186 /* 2139 */ GIM_Reject,
1187 /* 2140 */ // Label 119: @2140
1188 /* 2140 */ GIM_Reject,
1189 /* 2141 */ // Label 92: @2141
1190 /* 2141 */ GIM_Try, /*On fail goto*//*Label 123*/ GIMT_Encode4(2294),
1191 /* 2146 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1192 /* 2149 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1193 /* 2152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1194 /* 2156 */ GIM_Try, /*On fail goto*//*Label 124*/ GIMT_Encode4(2213), // Rule ID 2563 //
1195 /* 2161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1196 /* 2164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1197 /* 2168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1198 /* 2172 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
1199 /* 2176 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
1200 /* 2180 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1201 /* 2185 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1202 /* 2190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1203 /* 2194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1204 /* 2196 */ // (add:{ *:[v16i8] } (mul:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt), MSA128BOpnd:{ *:[v16i8] }:$wd_in) => (MADDV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1205 /* 2196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_B),
1206 /* 2199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1207 /* 2201 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
1208 /* 2203 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1209 /* 2207 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1210 /* 2211 */ GIR_RootConstrainSelectedInstOperands,
1211 /* 2212 */ // GIR_Coverage, 2563,
1212 /* 2212 */ GIR_EraseRootFromParent_Done,
1213 /* 2213 */ // Label 124: @2213
1214 /* 2213 */ GIM_Try, /*On fail goto*//*Label 125*/ GIMT_Encode4(2270), // Rule ID 915 //
1215 /* 2218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1216 /* 2221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1217 /* 2225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1218 /* 2229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1219 /* 2233 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
1220 /* 2237 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
1221 /* 2241 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1222 /* 2246 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1223 /* 2251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1224 /* 2253 */ // (add:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, (mul:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)) => (MADDV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1225 /* 2253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_B),
1226 /* 2256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1227 /* 2258 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1228 /* 2260 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1229 /* 2264 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1230 /* 2268 */ GIR_RootConstrainSelectedInstOperands,
1231 /* 2269 */ // GIR_Coverage, 915,
1232 /* 2269 */ GIR_EraseRootFromParent_Done,
1233 /* 2270 */ // Label 125: @2270
1234 /* 2270 */ GIM_Try, /*On fail goto*//*Label 126*/ GIMT_Encode4(2293), // Rule ID 582 //
1235 /* 2275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1236 /* 2278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1237 /* 2282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1238 /* 2286 */ // (add:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADDV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1239 /* 2286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDV_B),
1240 /* 2291 */ GIR_RootConstrainSelectedInstOperands,
1241 /* 2292 */ // GIR_Coverage, 582,
1242 /* 2292 */ GIR_Done,
1243 /* 2293 */ // Label 126: @2293
1244 /* 2293 */ GIM_Reject,
1245 /* 2294 */ // Label 123: @2294
1246 /* 2294 */ GIM_Reject,
1247 /* 2295 */ // Label 93: @2295
1248 /* 2295 */ GIM_Reject,
1249 /* 2296 */ // Label 1: @2296
1250 /* 2296 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 135*/ GIMT_Encode4(2986),
1251 /* 2307 */ /*GILLT_s32*//*Label 127*/ GIMT_Encode4(2339),
1252 /* 2311 */ /*GILLT_s64*//*Label 128*/ GIMT_Encode4(2516),
1253 /* 2315 */ /*GILLT_v2s16*//*Label 129*/ GIMT_Encode4(2550),
1254 /* 2319 */ /*GILLT_v2s64*//*Label 130*/ GIMT_Encode4(2582),
1255 /* 2323 */ /*GILLT_v4s8*//*Label 131*/ GIMT_Encode4(2675),
1256 /* 2327 */ /*GILLT_v4s32*//*Label 132*/ GIMT_Encode4(2707),
1257 /* 2331 */ /*GILLT_v8s16*//*Label 133*/ GIMT_Encode4(2800),
1258 /* 2335 */ /*GILLT_v16s8*//*Label 134*/ GIMT_Encode4(2893),
1259 /* 2339 */ // Label 127: @2339
1260 /* 2339 */ GIM_Try, /*On fail goto*//*Label 136*/ GIMT_Encode4(2515),
1261 /* 2344 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1262 /* 2347 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1263 /* 2350 */ GIM_Try, /*On fail goto*//*Label 137*/ GIMT_Encode4(2379), // Rule ID 1953 //
1264 /* 2355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
1265 /* 2358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1266 /* 2362 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
1267 /* 2366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1268 /* 2370 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, CPU16Regs:{ *:[i32] }:$r) => (NegRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r)
1269 /* 2370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NegRxRy16),
1270 /* 2373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
1271 /* 2375 */ GIR_RootToRootCopy, /*OpIdx*/2, // r
1272 /* 2377 */ GIR_RootConstrainSelectedInstOperands,
1273 /* 2378 */ // GIR_Coverage, 1953,
1274 /* 2378 */ GIR_EraseRootFromParent_Done,
1275 /* 2379 */ // Label 137: @2379
1276 /* 2379 */ GIM_Try, /*On fail goto*//*Label 138*/ GIMT_Encode4(2406), // Rule ID 1285 //
1277 /* 2384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
1278 /* 2387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1279 /* 2391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1280 /* 2395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1281 /* 2399 */ // (sub:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (SUBU16_MMR6:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
1282 /* 2399 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBU16_MMR6),
1283 /* 2404 */ GIR_RootConstrainSelectedInstOperands,
1284 /* 2405 */ // GIR_Coverage, 1285,
1285 /* 2405 */ GIR_Done,
1286 /* 2406 */ // Label 138: @2406
1287 /* 2406 */ GIM_Try, /*On fail goto*//*Label 139*/ GIMT_Encode4(2433), // Rule ID 47 //
1288 /* 2411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
1289 /* 2414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1290 /* 2418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1291 /* 2422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1292 /* 2426 */ // (sub:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1293 /* 2426 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBu),
1294 /* 2431 */ GIR_RootConstrainSelectedInstOperands,
1295 /* 2432 */ // GIR_Coverage, 47,
1296 /* 2432 */ GIR_Done,
1297 /* 2433 */ // Label 139: @2433
1298 /* 2433 */ GIM_Try, /*On fail goto*//*Label 140*/ GIMT_Encode4(2460), // Rule ID 1139 //
1299 /* 2438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
1300 /* 2441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1301 /* 2445 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1302 /* 2449 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1303 /* 2453 */ // (sub:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (SUBU16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
1304 /* 2453 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBU16_MM),
1305 /* 2458 */ GIR_RootConstrainSelectedInstOperands,
1306 /* 2459 */ // GIR_Coverage, 1139,
1307 /* 2459 */ GIR_Done,
1308 /* 2460 */ // Label 140: @2460
1309 /* 2460 */ GIM_Try, /*On fail goto*//*Label 141*/ GIMT_Encode4(2487), // Rule ID 1148 //
1310 /* 2465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
1311 /* 2468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1312 /* 2472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1313 /* 2476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1314 /* 2480 */ // (sub:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBu_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1315 /* 2480 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBu_MM),
1316 /* 2485 */ GIR_RootConstrainSelectedInstOperands,
1317 /* 2486 */ // GIR_Coverage, 1148,
1318 /* 2486 */ GIR_Done,
1319 /* 2487 */ // Label 141: @2487
1320 /* 2487 */ GIM_Try, /*On fail goto*//*Label 142*/ GIMT_Encode4(2514), // Rule ID 1958 //
1321 /* 2492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
1322 /* 2495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1323 /* 2499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1324 /* 2503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1325 /* 2507 */ // (sub:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (SubuRxRyRz16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
1326 /* 2507 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SubuRxRyRz16),
1327 /* 2512 */ GIR_RootConstrainSelectedInstOperands,
1328 /* 2513 */ // GIR_Coverage, 1958,
1329 /* 2513 */ GIR_Done,
1330 /* 2514 */ // Label 142: @2514
1331 /* 2514 */ GIM_Reject,
1332 /* 2515 */ // Label 136: @2515
1333 /* 2515 */ GIM_Reject,
1334 /* 2516 */ // Label 128: @2516
1335 /* 2516 */ GIM_Try, /*On fail goto*//*Label 143*/ GIMT_Encode4(2549), // Rule ID 278 //
1336 /* 2521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
1337 /* 2524 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1338 /* 2527 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1339 /* 2530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1340 /* 2534 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1341 /* 2538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1342 /* 2542 */ // (sub:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DSUBu:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1343 /* 2542 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DSUBu),
1344 /* 2547 */ GIR_RootConstrainSelectedInstOperands,
1345 /* 2548 */ // GIR_Coverage, 278,
1346 /* 2548 */ GIR_Done,
1347 /* 2549 */ // Label 143: @2549
1348 /* 2549 */ GIM_Reject,
1349 /* 2550 */ // Label 129: @2550
1350 /* 2550 */ GIM_Try, /*On fail goto*//*Label 144*/ GIMT_Encode4(2581), // Rule ID 2055 //
1351 /* 2555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
1352 /* 2558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
1353 /* 2561 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
1354 /* 2564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1355 /* 2568 */ // (sub:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (SUBQ_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
1356 /* 2568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBQ_PH),
1357 /* 2573 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1358 /* 2579 */ GIR_RootConstrainSelectedInstOperands,
1359 /* 2580 */ // GIR_Coverage, 2055,
1360 /* 2580 */ GIR_Done,
1361 /* 2581 */ // Label 144: @2581
1362 /* 2581 */ GIM_Reject,
1363 /* 2582 */ // Label 130: @2582
1364 /* 2582 */ GIM_Try, /*On fail goto*//*Label 145*/ GIMT_Encode4(2674),
1365 /* 2587 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1366 /* 2590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1367 /* 2593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1368 /* 2597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1369 /* 2601 */ GIM_Try, /*On fail goto*//*Label 146*/ GIMT_Encode4(2654), // Rule ID 974 //
1370 /* 2606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1371 /* 2609 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1372 /* 2613 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1373 /* 2617 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
1374 /* 2621 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
1375 /* 2625 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1376 /* 2630 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1377 /* 2635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1378 /* 2637 */ // (sub:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, (mul:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)) => (MSUBV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1379 /* 2637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBV_D),
1380 /* 2640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1381 /* 2642 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1382 /* 2644 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1383 /* 2648 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1384 /* 2652 */ GIR_RootConstrainSelectedInstOperands,
1385 /* 2653 */ // GIR_Coverage, 974,
1386 /* 2653 */ GIR_EraseRootFromParent_Done,
1387 /* 2654 */ // Label 146: @2654
1388 /* 2654 */ GIM_Try, /*On fail goto*//*Label 147*/ GIMT_Encode4(2673), // Rule ID 1103 //
1389 /* 2659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1390 /* 2662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1391 /* 2666 */ // (sub:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1392 /* 2666 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBV_D),
1393 /* 2671 */ GIR_RootConstrainSelectedInstOperands,
1394 /* 2672 */ // GIR_Coverage, 1103,
1395 /* 2672 */ GIR_Done,
1396 /* 2673 */ // Label 147: @2673
1397 /* 2673 */ GIM_Reject,
1398 /* 2674 */ // Label 145: @2674
1399 /* 2674 */ GIM_Reject,
1400 /* 2675 */ // Label 131: @2675
1401 /* 2675 */ GIM_Try, /*On fail goto*//*Label 148*/ GIMT_Encode4(2706), // Rule ID 2061 //
1402 /* 2680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
1403 /* 2683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
1404 /* 2686 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
1405 /* 2689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1406 /* 2693 */ // (sub:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b) => (SUBU_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b)
1407 /* 2693 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBU_QB),
1408 /* 2698 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1409 /* 2704 */ GIR_RootConstrainSelectedInstOperands,
1410 /* 2705 */ // GIR_Coverage, 2061,
1411 /* 2705 */ GIR_Done,
1412 /* 2706 */ // Label 148: @2706
1413 /* 2706 */ GIM_Reject,
1414 /* 2707 */ // Label 132: @2707
1415 /* 2707 */ GIM_Try, /*On fail goto*//*Label 149*/ GIMT_Encode4(2799),
1416 /* 2712 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1417 /* 2715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1418 /* 2718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1419 /* 2722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1420 /* 2726 */ GIM_Try, /*On fail goto*//*Label 150*/ GIMT_Encode4(2779), // Rule ID 973 //
1421 /* 2731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1422 /* 2734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1423 /* 2738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1424 /* 2742 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
1425 /* 2746 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
1426 /* 2750 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1427 /* 2755 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1428 /* 2760 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1429 /* 2762 */ // (sub:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, (mul:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)) => (MSUBV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1430 /* 2762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBV_W),
1431 /* 2765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1432 /* 2767 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1433 /* 2769 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1434 /* 2773 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1435 /* 2777 */ GIR_RootConstrainSelectedInstOperands,
1436 /* 2778 */ // GIR_Coverage, 973,
1437 /* 2778 */ GIR_EraseRootFromParent_Done,
1438 /* 2779 */ // Label 150: @2779
1439 /* 2779 */ GIM_Try, /*On fail goto*//*Label 151*/ GIMT_Encode4(2798), // Rule ID 1102 //
1440 /* 2784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1441 /* 2787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1442 /* 2791 */ // (sub:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1443 /* 2791 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBV_W),
1444 /* 2796 */ GIR_RootConstrainSelectedInstOperands,
1445 /* 2797 */ // GIR_Coverage, 1102,
1446 /* 2797 */ GIR_Done,
1447 /* 2798 */ // Label 151: @2798
1448 /* 2798 */ GIM_Reject,
1449 /* 2799 */ // Label 149: @2799
1450 /* 2799 */ GIM_Reject,
1451 /* 2800 */ // Label 133: @2800
1452 /* 2800 */ GIM_Try, /*On fail goto*//*Label 152*/ GIMT_Encode4(2892),
1453 /* 2805 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1454 /* 2808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1455 /* 2811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1456 /* 2815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1457 /* 2819 */ GIM_Try, /*On fail goto*//*Label 153*/ GIMT_Encode4(2872), // Rule ID 972 //
1458 /* 2824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1459 /* 2827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1460 /* 2831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1461 /* 2835 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
1462 /* 2839 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
1463 /* 2843 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1464 /* 2848 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1465 /* 2853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1466 /* 2855 */ // (sub:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, (mul:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)) => (MSUBV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1467 /* 2855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBV_H),
1468 /* 2858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1469 /* 2860 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1470 /* 2862 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1471 /* 2866 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1472 /* 2870 */ GIR_RootConstrainSelectedInstOperands,
1473 /* 2871 */ // GIR_Coverage, 972,
1474 /* 2871 */ GIR_EraseRootFromParent_Done,
1475 /* 2872 */ // Label 153: @2872
1476 /* 2872 */ GIM_Try, /*On fail goto*//*Label 154*/ GIMT_Encode4(2891), // Rule ID 1101 //
1477 /* 2877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1478 /* 2880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1479 /* 2884 */ // (sub:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1480 /* 2884 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBV_H),
1481 /* 2889 */ GIR_RootConstrainSelectedInstOperands,
1482 /* 2890 */ // GIR_Coverage, 1101,
1483 /* 2890 */ GIR_Done,
1484 /* 2891 */ // Label 154: @2891
1485 /* 2891 */ GIM_Reject,
1486 /* 2892 */ // Label 152: @2892
1487 /* 2892 */ GIM_Reject,
1488 /* 2893 */ // Label 134: @2893
1489 /* 2893 */ GIM_Try, /*On fail goto*//*Label 155*/ GIMT_Encode4(2985),
1490 /* 2898 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1491 /* 2901 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1492 /* 2904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1493 /* 2908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1494 /* 2912 */ GIM_Try, /*On fail goto*//*Label 156*/ GIMT_Encode4(2965), // Rule ID 971 //
1495 /* 2917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1496 /* 2920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1497 /* 2924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1498 /* 2928 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
1499 /* 2932 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
1500 /* 2936 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1501 /* 2941 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1502 /* 2946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1503 /* 2948 */ // (sub:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, (mul:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)) => (MSUBV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1504 /* 2948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBV_B),
1505 /* 2951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1506 /* 2953 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1507 /* 2955 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1508 /* 2959 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1509 /* 2963 */ GIR_RootConstrainSelectedInstOperands,
1510 /* 2964 */ // GIR_Coverage, 971,
1511 /* 2964 */ GIR_EraseRootFromParent_Done,
1512 /* 2965 */ // Label 156: @2965
1513 /* 2965 */ GIM_Try, /*On fail goto*//*Label 157*/ GIMT_Encode4(2984), // Rule ID 1100 //
1514 /* 2970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1515 /* 2973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1516 /* 2977 */ // (sub:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1517 /* 2977 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBV_B),
1518 /* 2982 */ GIR_RootConstrainSelectedInstOperands,
1519 /* 2983 */ // GIR_Coverage, 1100,
1520 /* 2983 */ GIR_Done,
1521 /* 2984 */ // Label 157: @2984
1522 /* 2984 */ GIM_Reject,
1523 /* 2985 */ // Label 155: @2985
1524 /* 2985 */ GIM_Reject,
1525 /* 2986 */ // Label 135: @2986
1526 /* 2986 */ GIM_Reject,
1527 /* 2987 */ // Label 2: @2987
1528 /* 2987 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 165*/ GIMT_Encode4(3467),
1529 /* 2998 */ /*GILLT_s32*//*Label 158*/ GIMT_Encode4(3030),
1530 /* 3002 */ /*GILLT_s64*//*Label 159*/ GIMT_Encode4(3214),
1531 /* 3006 */ /*GILLT_v2s16*//*Label 160*/ GIMT_Encode4(3299),
1532 /* 3010 */ /*GILLT_v2s64*//*Label 161*/ GIMT_Encode4(3331), GIMT_Encode4(0),
1533 /* 3018 */ /*GILLT_v4s32*//*Label 162*/ GIMT_Encode4(3365),
1534 /* 3022 */ /*GILLT_v8s16*//*Label 163*/ GIMT_Encode4(3399),
1535 /* 3026 */ /*GILLT_v16s8*//*Label 164*/ GIMT_Encode4(3433),
1536 /* 3030 */ // Label 158: @3030
1537 /* 3030 */ GIM_Try, /*On fail goto*//*Label 166*/ GIMT_Encode4(3213),
1538 /* 3035 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1539 /* 3038 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1540 /* 3041 */ GIM_Try, /*On fail goto*//*Label 167*/ GIMT_Encode4(3080), // Rule ID 48 //
1541 /* 3046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
1542 /* 3049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1543 /* 3053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1544 /* 3057 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1545 /* 3061 */ // (mul:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUL:{ *:[i32] }:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1546 /* 3061 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL),
1547 /* 3066 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1548 /* 3072 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1549 /* 3078 */ GIR_RootConstrainSelectedInstOperands,
1550 /* 3079 */ // GIR_Coverage, 48,
1551 /* 3079 */ GIR_Done,
1552 /* 3080 */ // Label 167: @3080
1553 /* 3080 */ GIM_Try, /*On fail goto*//*Label 168*/ GIMT_Encode4(3107), // Rule ID 407 //
1554 /* 3085 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
1555 /* 3088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1556 /* 3092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1557 /* 3096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1558 /* 3100 */ // (mul:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUL_R6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1559 /* 3100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL_R6),
1560 /* 3105 */ GIR_RootConstrainSelectedInstOperands,
1561 /* 3106 */ // GIR_Coverage, 407,
1562 /* 3106 */ GIR_Done,
1563 /* 3107 */ // Label 168: @3107
1564 /* 3107 */ GIM_Try, /*On fail goto*//*Label 169*/ GIMT_Encode4(3146), // Rule ID 1149 //
1565 /* 3112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
1566 /* 3115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1567 /* 3119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1568 /* 3123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1569 /* 3127 */ // (mul:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUL_MM:{ *:[i32] }:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1570 /* 3127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL_MM),
1571 /* 3132 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1572 /* 3138 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1573 /* 3144 */ GIR_RootConstrainSelectedInstOperands,
1574 /* 3145 */ // GIR_Coverage, 1149,
1575 /* 3145 */ GIR_Done,
1576 /* 3146 */ // Label 169: @3146
1577 /* 3146 */ GIM_Try, /*On fail goto*//*Label 170*/ GIMT_Encode4(3173), // Rule ID 1254 //
1578 /* 3151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
1579 /* 3154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1580 /* 3158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1581 /* 3162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1582 /* 3166 */ // (mul:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUL_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1583 /* 3166 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL_MMR6),
1584 /* 3171 */ GIR_RootConstrainSelectedInstOperands,
1585 /* 3172 */ // GIR_Coverage, 1254,
1586 /* 3172 */ GIR_Done,
1587 /* 3173 */ // Label 170: @3173
1588 /* 3173 */ GIM_Try, /*On fail goto*//*Label 171*/ GIMT_Encode4(3212), // Rule ID 1956 //
1589 /* 3178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
1590 /* 3181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1591 /* 3185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1592 /* 3189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1593 /* 3193 */ // (mul:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (MultRxRyRz16:{ *:[i32] }:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
1594 /* 3193 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MultRxRyRz16),
1595 /* 3198 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1596 /* 3204 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1597 /* 3210 */ GIR_RootConstrainSelectedInstOperands,
1598 /* 3211 */ // GIR_Coverage, 1956,
1599 /* 3211 */ GIR_Done,
1600 /* 3212 */ // Label 171: @3212
1601 /* 3212 */ GIM_Reject,
1602 /* 3213 */ // Label 166: @3213
1603 /* 3213 */ GIM_Reject,
1604 /* 3214 */ // Label 159: @3214
1605 /* 3214 */ GIM_Try, /*On fail goto*//*Label 172*/ GIMT_Encode4(3298),
1606 /* 3219 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1607 /* 3222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1608 /* 3225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1609 /* 3229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1610 /* 3233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1611 /* 3237 */ GIM_Try, /*On fail goto*//*Label 173*/ GIMT_Encode4(3282), // Rule ID 349 //
1612 /* 3242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
1613 /* 3245 */ // (mul:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMUL:{ *:[i64] }:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1614 /* 3245 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMUL),
1615 /* 3250 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1616 /* 3256 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1617 /* 3262 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::P0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1618 /* 3268 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::P1), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1619 /* 3274 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::P2), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1620 /* 3280 */ GIR_RootConstrainSelectedInstOperands,
1621 /* 3281 */ // GIR_Coverage, 349,
1622 /* 3281 */ GIR_Done,
1623 /* 3282 */ // Label 173: @3282
1624 /* 3282 */ GIM_Try, /*On fail goto*//*Label 174*/ GIMT_Encode4(3297), // Rule ID 422 //
1625 /* 3287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
1626 /* 3290 */ // (mul:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMUL_R6:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1627 /* 3290 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMUL_R6),
1628 /* 3295 */ GIR_RootConstrainSelectedInstOperands,
1629 /* 3296 */ // GIR_Coverage, 422,
1630 /* 3296 */ GIR_Done,
1631 /* 3297 */ // Label 174: @3297
1632 /* 3297 */ GIM_Reject,
1633 /* 3298 */ // Label 172: @3298
1634 /* 3298 */ GIM_Reject,
1635 /* 3299 */ // Label 160: @3299
1636 /* 3299 */ GIM_Try, /*On fail goto*//*Label 175*/ GIMT_Encode4(3330), // Rule ID 2057 //
1637 /* 3304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
1638 /* 3307 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
1639 /* 3310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
1640 /* 3313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1641 /* 3317 */ // (mul:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (MUL_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
1642 /* 3317 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL_PH),
1643 /* 3322 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag21), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1644 /* 3328 */ GIR_RootConstrainSelectedInstOperands,
1645 /* 3329 */ // GIR_Coverage, 2057,
1646 /* 3329 */ GIR_Done,
1647 /* 3330 */ // Label 175: @3330
1648 /* 3330 */ GIM_Reject,
1649 /* 3331 */ // Label 161: @3331
1650 /* 3331 */ GIM_Try, /*On fail goto*//*Label 176*/ GIMT_Encode4(3364), // Rule ID 982 //
1651 /* 3336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1652 /* 3339 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1653 /* 3342 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1654 /* 3345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1655 /* 3349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1656 /* 3353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1657 /* 3357 */ // (mul:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MULV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1658 /* 3357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MULV_D),
1659 /* 3362 */ GIR_RootConstrainSelectedInstOperands,
1660 /* 3363 */ // GIR_Coverage, 982,
1661 /* 3363 */ GIR_Done,
1662 /* 3364 */ // Label 176: @3364
1663 /* 3364 */ GIM_Reject,
1664 /* 3365 */ // Label 162: @3365
1665 /* 3365 */ GIM_Try, /*On fail goto*//*Label 177*/ GIMT_Encode4(3398), // Rule ID 981 //
1666 /* 3370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1667 /* 3373 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1668 /* 3376 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1669 /* 3379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1670 /* 3383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1671 /* 3387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1672 /* 3391 */ // (mul:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MULV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1673 /* 3391 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MULV_W),
1674 /* 3396 */ GIR_RootConstrainSelectedInstOperands,
1675 /* 3397 */ // GIR_Coverage, 981,
1676 /* 3397 */ GIR_Done,
1677 /* 3398 */ // Label 177: @3398
1678 /* 3398 */ GIM_Reject,
1679 /* 3399 */ // Label 163: @3399
1680 /* 3399 */ GIM_Try, /*On fail goto*//*Label 178*/ GIMT_Encode4(3432), // Rule ID 980 //
1681 /* 3404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1682 /* 3407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1683 /* 3410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1684 /* 3413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1685 /* 3417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1686 /* 3421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1687 /* 3425 */ // (mul:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MULV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1688 /* 3425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MULV_H),
1689 /* 3430 */ GIR_RootConstrainSelectedInstOperands,
1690 /* 3431 */ // GIR_Coverage, 980,
1691 /* 3431 */ GIR_Done,
1692 /* 3432 */ // Label 178: @3432
1693 /* 3432 */ GIM_Reject,
1694 /* 3433 */ // Label 164: @3433
1695 /* 3433 */ GIM_Try, /*On fail goto*//*Label 179*/ GIMT_Encode4(3466), // Rule ID 979 //
1696 /* 3438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1697 /* 3441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1698 /* 3444 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1699 /* 3447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1700 /* 3451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1701 /* 3455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1702 /* 3459 */ // (mul:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MULV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1703 /* 3459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MULV_B),
1704 /* 3464 */ GIR_RootConstrainSelectedInstOperands,
1705 /* 3465 */ // GIR_Coverage, 979,
1706 /* 3465 */ GIR_Done,
1707 /* 3466 */ // Label 179: @3466
1708 /* 3466 */ GIM_Reject,
1709 /* 3467 */ // Label 165: @3467
1710 /* 3467 */ GIM_Reject,
1711 /* 3468 */ // Label 3: @3468
1712 /* 3468 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 186*/ GIMT_Encode4(3736),
1713 /* 3479 */ /*GILLT_s32*//*Label 180*/ GIMT_Encode4(3511),
1714 /* 3483 */ /*GILLT_s64*//*Label 181*/ GIMT_Encode4(3566), GIMT_Encode4(0),
1715 /* 3491 */ /*GILLT_v2s64*//*Label 182*/ GIMT_Encode4(3600), GIMT_Encode4(0),
1716 /* 3499 */ /*GILLT_v4s32*//*Label 183*/ GIMT_Encode4(3634),
1717 /* 3503 */ /*GILLT_v8s16*//*Label 184*/ GIMT_Encode4(3668),
1718 /* 3507 */ /*GILLT_v16s8*//*Label 185*/ GIMT_Encode4(3702),
1719 /* 3511 */ // Label 180: @3511
1720 /* 3511 */ GIM_Try, /*On fail goto*//*Label 187*/ GIMT_Encode4(3565),
1721 /* 3516 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1722 /* 3519 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1723 /* 3522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1724 /* 3526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1725 /* 3530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1726 /* 3534 */ GIM_Try, /*On fail goto*//*Label 188*/ GIMT_Encode4(3549), // Rule ID 401 //
1727 /* 3539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
1728 /* 3542 */ // (sdiv:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (DIV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1729 /* 3542 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV),
1730 /* 3547 */ GIR_RootConstrainSelectedInstOperands,
1731 /* 3548 */ // GIR_Coverage, 401,
1732 /* 3548 */ GIR_Done,
1733 /* 3549 */ // Label 188: @3549
1734 /* 3549 */ GIM_Try, /*On fail goto*//*Label 189*/ GIMT_Encode4(3564), // Rule ID 1247 //
1735 /* 3554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
1736 /* 3557 */ // (sdiv:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (DIV_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1737 /* 3557 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_MMR6),
1738 /* 3562 */ GIR_RootConstrainSelectedInstOperands,
1739 /* 3563 */ // GIR_Coverage, 1247,
1740 /* 3563 */ GIR_Done,
1741 /* 3564 */ // Label 189: @3564
1742 /* 3564 */ GIM_Reject,
1743 /* 3565 */ // Label 187: @3565
1744 /* 3565 */ GIM_Reject,
1745 /* 3566 */ // Label 181: @3566
1746 /* 3566 */ GIM_Try, /*On fail goto*//*Label 190*/ GIMT_Encode4(3599), // Rule ID 416 //
1747 /* 3571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
1748 /* 3574 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1749 /* 3577 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1750 /* 3580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1751 /* 3584 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1752 /* 3588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1753 /* 3592 */ // (sdiv:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DDIV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1754 /* 3592 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DDIV),
1755 /* 3597 */ GIR_RootConstrainSelectedInstOperands,
1756 /* 3598 */ // GIR_Coverage, 416,
1757 /* 3598 */ GIR_Done,
1758 /* 3599 */ // Label 190: @3599
1759 /* 3599 */ GIM_Reject,
1760 /* 3600 */ // Label 182: @3600
1761 /* 3600 */ GIM_Try, /*On fail goto*//*Label 191*/ GIMT_Encode4(3633), // Rule ID 722 //
1762 /* 3605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1763 /* 3608 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1764 /* 3611 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1765 /* 3614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1766 /* 3618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1767 /* 3622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1768 /* 3626 */ // (sdiv:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (DIV_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1769 /* 3626 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_S_D),
1770 /* 3631 */ GIR_RootConstrainSelectedInstOperands,
1771 /* 3632 */ // GIR_Coverage, 722,
1772 /* 3632 */ GIR_Done,
1773 /* 3633 */ // Label 191: @3633
1774 /* 3633 */ GIM_Reject,
1775 /* 3634 */ // Label 183: @3634
1776 /* 3634 */ GIM_Try, /*On fail goto*//*Label 192*/ GIMT_Encode4(3667), // Rule ID 721 //
1777 /* 3639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1778 /* 3642 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1779 /* 3645 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1780 /* 3648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1781 /* 3652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1782 /* 3656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1783 /* 3660 */ // (sdiv:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DIV_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1784 /* 3660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_S_W),
1785 /* 3665 */ GIR_RootConstrainSelectedInstOperands,
1786 /* 3666 */ // GIR_Coverage, 721,
1787 /* 3666 */ GIR_Done,
1788 /* 3667 */ // Label 192: @3667
1789 /* 3667 */ GIM_Reject,
1790 /* 3668 */ // Label 184: @3668
1791 /* 3668 */ GIM_Try, /*On fail goto*//*Label 193*/ GIMT_Encode4(3701), // Rule ID 720 //
1792 /* 3673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1793 /* 3676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1794 /* 3679 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1795 /* 3682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1796 /* 3686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1797 /* 3690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1798 /* 3694 */ // (sdiv:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DIV_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1799 /* 3694 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_S_H),
1800 /* 3699 */ GIR_RootConstrainSelectedInstOperands,
1801 /* 3700 */ // GIR_Coverage, 720,
1802 /* 3700 */ GIR_Done,
1803 /* 3701 */ // Label 193: @3701
1804 /* 3701 */ GIM_Reject,
1805 /* 3702 */ // Label 185: @3702
1806 /* 3702 */ GIM_Try, /*On fail goto*//*Label 194*/ GIMT_Encode4(3735), // Rule ID 719 //
1807 /* 3707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1808 /* 3710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1809 /* 3713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1810 /* 3716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1811 /* 3720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1812 /* 3724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1813 /* 3728 */ // (sdiv:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DIV_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1814 /* 3728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_S_B),
1815 /* 3733 */ GIR_RootConstrainSelectedInstOperands,
1816 /* 3734 */ // GIR_Coverage, 719,
1817 /* 3734 */ GIR_Done,
1818 /* 3735 */ // Label 194: @3735
1819 /* 3735 */ GIM_Reject,
1820 /* 3736 */ // Label 186: @3736
1821 /* 3736 */ GIM_Reject,
1822 /* 3737 */ // Label 4: @3737
1823 /* 3737 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 201*/ GIMT_Encode4(4005),
1824 /* 3748 */ /*GILLT_s32*//*Label 195*/ GIMT_Encode4(3780),
1825 /* 3752 */ /*GILLT_s64*//*Label 196*/ GIMT_Encode4(3835), GIMT_Encode4(0),
1826 /* 3760 */ /*GILLT_v2s64*//*Label 197*/ GIMT_Encode4(3869), GIMT_Encode4(0),
1827 /* 3768 */ /*GILLT_v4s32*//*Label 198*/ GIMT_Encode4(3903),
1828 /* 3772 */ /*GILLT_v8s16*//*Label 199*/ GIMT_Encode4(3937),
1829 /* 3776 */ /*GILLT_v16s8*//*Label 200*/ GIMT_Encode4(3971),
1830 /* 3780 */ // Label 195: @3780
1831 /* 3780 */ GIM_Try, /*On fail goto*//*Label 202*/ GIMT_Encode4(3834),
1832 /* 3785 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1833 /* 3788 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1834 /* 3791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1835 /* 3795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1836 /* 3799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1837 /* 3803 */ GIM_Try, /*On fail goto*//*Label 203*/ GIMT_Encode4(3818), // Rule ID 402 //
1838 /* 3808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
1839 /* 3811 */ // (udiv:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (DIVU:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1840 /* 3811 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIVU),
1841 /* 3816 */ GIR_RootConstrainSelectedInstOperands,
1842 /* 3817 */ // GIR_Coverage, 402,
1843 /* 3817 */ GIR_Done,
1844 /* 3818 */ // Label 203: @3818
1845 /* 3818 */ GIM_Try, /*On fail goto*//*Label 204*/ GIMT_Encode4(3833), // Rule ID 1248 //
1846 /* 3823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
1847 /* 3826 */ // (udiv:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (DIVU_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1848 /* 3826 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIVU_MMR6),
1849 /* 3831 */ GIR_RootConstrainSelectedInstOperands,
1850 /* 3832 */ // GIR_Coverage, 1248,
1851 /* 3832 */ GIR_Done,
1852 /* 3833 */ // Label 204: @3833
1853 /* 3833 */ GIM_Reject,
1854 /* 3834 */ // Label 202: @3834
1855 /* 3834 */ GIM_Reject,
1856 /* 3835 */ // Label 196: @3835
1857 /* 3835 */ GIM_Try, /*On fail goto*//*Label 205*/ GIMT_Encode4(3868), // Rule ID 417 //
1858 /* 3840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
1859 /* 3843 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1860 /* 3846 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1861 /* 3849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1862 /* 3853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1863 /* 3857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1864 /* 3861 */ // (udiv:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DDIVU:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1865 /* 3861 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DDIVU),
1866 /* 3866 */ GIR_RootConstrainSelectedInstOperands,
1867 /* 3867 */ // GIR_Coverage, 417,
1868 /* 3867 */ GIR_Done,
1869 /* 3868 */ // Label 205: @3868
1870 /* 3868 */ GIM_Reject,
1871 /* 3869 */ // Label 197: @3869
1872 /* 3869 */ GIM_Try, /*On fail goto*//*Label 206*/ GIMT_Encode4(3902), // Rule ID 726 //
1873 /* 3874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1874 /* 3877 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1875 /* 3880 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1876 /* 3883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1877 /* 3887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1878 /* 3891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1879 /* 3895 */ // (udiv:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (DIV_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1880 /* 3895 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_U_D),
1881 /* 3900 */ GIR_RootConstrainSelectedInstOperands,
1882 /* 3901 */ // GIR_Coverage, 726,
1883 /* 3901 */ GIR_Done,
1884 /* 3902 */ // Label 206: @3902
1885 /* 3902 */ GIM_Reject,
1886 /* 3903 */ // Label 198: @3903
1887 /* 3903 */ GIM_Try, /*On fail goto*//*Label 207*/ GIMT_Encode4(3936), // Rule ID 725 //
1888 /* 3908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1889 /* 3911 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1890 /* 3914 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1891 /* 3917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1892 /* 3921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1893 /* 3925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1894 /* 3929 */ // (udiv:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DIV_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1895 /* 3929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_U_W),
1896 /* 3934 */ GIR_RootConstrainSelectedInstOperands,
1897 /* 3935 */ // GIR_Coverage, 725,
1898 /* 3935 */ GIR_Done,
1899 /* 3936 */ // Label 207: @3936
1900 /* 3936 */ GIM_Reject,
1901 /* 3937 */ // Label 199: @3937
1902 /* 3937 */ GIM_Try, /*On fail goto*//*Label 208*/ GIMT_Encode4(3970), // Rule ID 724 //
1903 /* 3942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1904 /* 3945 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1905 /* 3948 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1906 /* 3951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1907 /* 3955 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1908 /* 3959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1909 /* 3963 */ // (udiv:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DIV_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1910 /* 3963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_U_H),
1911 /* 3968 */ GIR_RootConstrainSelectedInstOperands,
1912 /* 3969 */ // GIR_Coverage, 724,
1913 /* 3969 */ GIR_Done,
1914 /* 3970 */ // Label 208: @3970
1915 /* 3970 */ GIM_Reject,
1916 /* 3971 */ // Label 200: @3971
1917 /* 3971 */ GIM_Try, /*On fail goto*//*Label 209*/ GIMT_Encode4(4004), // Rule ID 723 //
1918 /* 3976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1919 /* 3979 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1920 /* 3982 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1921 /* 3985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1922 /* 3989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1923 /* 3993 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1924 /* 3997 */ // (udiv:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DIV_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1925 /* 3997 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_U_B),
1926 /* 4002 */ GIR_RootConstrainSelectedInstOperands,
1927 /* 4003 */ // GIR_Coverage, 723,
1928 /* 4003 */ GIR_Done,
1929 /* 4004 */ // Label 209: @4004
1930 /* 4004 */ GIM_Reject,
1931 /* 4005 */ // Label 201: @4005
1932 /* 4005 */ GIM_Reject,
1933 /* 4006 */ // Label 5: @4006
1934 /* 4006 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 216*/ GIMT_Encode4(4274),
1935 /* 4017 */ /*GILLT_s32*//*Label 210*/ GIMT_Encode4(4049),
1936 /* 4021 */ /*GILLT_s64*//*Label 211*/ GIMT_Encode4(4104), GIMT_Encode4(0),
1937 /* 4029 */ /*GILLT_v2s64*//*Label 212*/ GIMT_Encode4(4138), GIMT_Encode4(0),
1938 /* 4037 */ /*GILLT_v4s32*//*Label 213*/ GIMT_Encode4(4172),
1939 /* 4041 */ /*GILLT_v8s16*//*Label 214*/ GIMT_Encode4(4206),
1940 /* 4045 */ /*GILLT_v16s8*//*Label 215*/ GIMT_Encode4(4240),
1941 /* 4049 */ // Label 210: @4049
1942 /* 4049 */ GIM_Try, /*On fail goto*//*Label 217*/ GIMT_Encode4(4103),
1943 /* 4054 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1944 /* 4057 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1945 /* 4060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1946 /* 4064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1947 /* 4068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1948 /* 4072 */ GIM_Try, /*On fail goto*//*Label 218*/ GIMT_Encode4(4087), // Rule ID 403 //
1949 /* 4077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
1950 /* 4080 */ // (srem:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MOD:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1951 /* 4080 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD),
1952 /* 4085 */ GIR_RootConstrainSelectedInstOperands,
1953 /* 4086 */ // GIR_Coverage, 403,
1954 /* 4086 */ GIR_Done,
1955 /* 4087 */ // Label 218: @4087
1956 /* 4087 */ GIM_Try, /*On fail goto*//*Label 219*/ GIMT_Encode4(4102), // Rule ID 1252 //
1957 /* 4092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
1958 /* 4095 */ // (srem:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MOD_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1959 /* 4095 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_MMR6),
1960 /* 4100 */ GIR_RootConstrainSelectedInstOperands,
1961 /* 4101 */ // GIR_Coverage, 1252,
1962 /* 4101 */ GIR_Done,
1963 /* 4102 */ // Label 219: @4102
1964 /* 4102 */ GIM_Reject,
1965 /* 4103 */ // Label 217: @4103
1966 /* 4103 */ GIM_Reject,
1967 /* 4104 */ // Label 211: @4104
1968 /* 4104 */ GIM_Try, /*On fail goto*//*Label 220*/ GIMT_Encode4(4137), // Rule ID 418 //
1969 /* 4109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
1970 /* 4112 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1971 /* 4115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1972 /* 4118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1973 /* 4122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1974 /* 4126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1975 /* 4130 */ // (srem:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMOD:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1976 /* 4130 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMOD),
1977 /* 4135 */ GIR_RootConstrainSelectedInstOperands,
1978 /* 4136 */ // GIR_Coverage, 418,
1979 /* 4136 */ GIR_Done,
1980 /* 4137 */ // Label 220: @4137
1981 /* 4137 */ GIM_Reject,
1982 /* 4138 */ // Label 212: @4138
1983 /* 4138 */ GIM_Try, /*On fail goto*//*Label 221*/ GIMT_Encode4(4171), // Rule ID 962 //
1984 /* 4143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
1985 /* 4146 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1986 /* 4149 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1987 /* 4152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1988 /* 4156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1989 /* 4160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1990 /* 4164 */ // (srem:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MOD_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1991 /* 4164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_S_D),
1992 /* 4169 */ GIR_RootConstrainSelectedInstOperands,
1993 /* 4170 */ // GIR_Coverage, 962,
1994 /* 4170 */ GIR_Done,
1995 /* 4171 */ // Label 221: @4171
1996 /* 4171 */ GIM_Reject,
1997 /* 4172 */ // Label 213: @4172
1998 /* 4172 */ GIM_Try, /*On fail goto*//*Label 222*/ GIMT_Encode4(4205), // Rule ID 961 //
1999 /* 4177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2000 /* 4180 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2001 /* 4183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2002 /* 4186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2003 /* 4190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2004 /* 4194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2005 /* 4198 */ // (srem:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MOD_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2006 /* 4198 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_S_W),
2007 /* 4203 */ GIR_RootConstrainSelectedInstOperands,
2008 /* 4204 */ // GIR_Coverage, 961,
2009 /* 4204 */ GIR_Done,
2010 /* 4205 */ // Label 222: @4205
2011 /* 4205 */ GIM_Reject,
2012 /* 4206 */ // Label 214: @4206
2013 /* 4206 */ GIM_Try, /*On fail goto*//*Label 223*/ GIMT_Encode4(4239), // Rule ID 960 //
2014 /* 4211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2015 /* 4214 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2016 /* 4217 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2017 /* 4220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2018 /* 4224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2019 /* 4228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2020 /* 4232 */ // (srem:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MOD_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2021 /* 4232 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_S_H),
2022 /* 4237 */ GIR_RootConstrainSelectedInstOperands,
2023 /* 4238 */ // GIR_Coverage, 960,
2024 /* 4238 */ GIR_Done,
2025 /* 4239 */ // Label 223: @4239
2026 /* 4239 */ GIM_Reject,
2027 /* 4240 */ // Label 215: @4240
2028 /* 4240 */ GIM_Try, /*On fail goto*//*Label 224*/ GIMT_Encode4(4273), // Rule ID 959 //
2029 /* 4245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2030 /* 4248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2031 /* 4251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2032 /* 4254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2033 /* 4258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2034 /* 4262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2035 /* 4266 */ // (srem:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MOD_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2036 /* 4266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_S_B),
2037 /* 4271 */ GIR_RootConstrainSelectedInstOperands,
2038 /* 4272 */ // GIR_Coverage, 959,
2039 /* 4272 */ GIR_Done,
2040 /* 4273 */ // Label 224: @4273
2041 /* 4273 */ GIM_Reject,
2042 /* 4274 */ // Label 216: @4274
2043 /* 4274 */ GIM_Reject,
2044 /* 4275 */ // Label 6: @4275
2045 /* 4275 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 231*/ GIMT_Encode4(4543),
2046 /* 4286 */ /*GILLT_s32*//*Label 225*/ GIMT_Encode4(4318),
2047 /* 4290 */ /*GILLT_s64*//*Label 226*/ GIMT_Encode4(4373), GIMT_Encode4(0),
2048 /* 4298 */ /*GILLT_v2s64*//*Label 227*/ GIMT_Encode4(4407), GIMT_Encode4(0),
2049 /* 4306 */ /*GILLT_v4s32*//*Label 228*/ GIMT_Encode4(4441),
2050 /* 4310 */ /*GILLT_v8s16*//*Label 229*/ GIMT_Encode4(4475),
2051 /* 4314 */ /*GILLT_v16s8*//*Label 230*/ GIMT_Encode4(4509),
2052 /* 4318 */ // Label 225: @4318
2053 /* 4318 */ GIM_Try, /*On fail goto*//*Label 232*/ GIMT_Encode4(4372),
2054 /* 4323 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2055 /* 4326 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2056 /* 4329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2057 /* 4333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2058 /* 4337 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2059 /* 4341 */ GIM_Try, /*On fail goto*//*Label 233*/ GIMT_Encode4(4356), // Rule ID 404 //
2060 /* 4346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
2061 /* 4349 */ // (urem:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MODU:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2062 /* 4349 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MODU),
2063 /* 4354 */ GIR_RootConstrainSelectedInstOperands,
2064 /* 4355 */ // GIR_Coverage, 404,
2065 /* 4355 */ GIR_Done,
2066 /* 4356 */ // Label 233: @4356
2067 /* 4356 */ GIM_Try, /*On fail goto*//*Label 234*/ GIMT_Encode4(4371), // Rule ID 1253 //
2068 /* 4361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2069 /* 4364 */ // (urem:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MODU_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2070 /* 4364 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MODU_MMR6),
2071 /* 4369 */ GIR_RootConstrainSelectedInstOperands,
2072 /* 4370 */ // GIR_Coverage, 1253,
2073 /* 4370 */ GIR_Done,
2074 /* 4371 */ // Label 234: @4371
2075 /* 4371 */ GIM_Reject,
2076 /* 4372 */ // Label 232: @4372
2077 /* 4372 */ GIM_Reject,
2078 /* 4373 */ // Label 226: @4373
2079 /* 4373 */ GIM_Try, /*On fail goto*//*Label 235*/ GIMT_Encode4(4406), // Rule ID 419 //
2080 /* 4378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
2081 /* 4381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2082 /* 4384 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
2083 /* 4387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2084 /* 4391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2085 /* 4395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2086 /* 4399 */ // (urem:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMODU:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2087 /* 4399 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMODU),
2088 /* 4404 */ GIR_RootConstrainSelectedInstOperands,
2089 /* 4405 */ // GIR_Coverage, 419,
2090 /* 4405 */ GIR_Done,
2091 /* 4406 */ // Label 235: @4406
2092 /* 4406 */ GIM_Reject,
2093 /* 4407 */ // Label 227: @4407
2094 /* 4407 */ GIM_Try, /*On fail goto*//*Label 236*/ GIMT_Encode4(4440), // Rule ID 966 //
2095 /* 4412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2096 /* 4415 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2097 /* 4418 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2098 /* 4421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2099 /* 4425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2100 /* 4429 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2101 /* 4433 */ // (urem:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MOD_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2102 /* 4433 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_U_D),
2103 /* 4438 */ GIR_RootConstrainSelectedInstOperands,
2104 /* 4439 */ // GIR_Coverage, 966,
2105 /* 4439 */ GIR_Done,
2106 /* 4440 */ // Label 236: @4440
2107 /* 4440 */ GIM_Reject,
2108 /* 4441 */ // Label 228: @4441
2109 /* 4441 */ GIM_Try, /*On fail goto*//*Label 237*/ GIMT_Encode4(4474), // Rule ID 965 //
2110 /* 4446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2111 /* 4449 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2112 /* 4452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2113 /* 4455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2114 /* 4459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2115 /* 4463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2116 /* 4467 */ // (urem:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MOD_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2117 /* 4467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_U_W),
2118 /* 4472 */ GIR_RootConstrainSelectedInstOperands,
2119 /* 4473 */ // GIR_Coverage, 965,
2120 /* 4473 */ GIR_Done,
2121 /* 4474 */ // Label 237: @4474
2122 /* 4474 */ GIM_Reject,
2123 /* 4475 */ // Label 229: @4475
2124 /* 4475 */ GIM_Try, /*On fail goto*//*Label 238*/ GIMT_Encode4(4508), // Rule ID 964 //
2125 /* 4480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2126 /* 4483 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2127 /* 4486 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2128 /* 4489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2129 /* 4493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2130 /* 4497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2131 /* 4501 */ // (urem:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MOD_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2132 /* 4501 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_U_H),
2133 /* 4506 */ GIR_RootConstrainSelectedInstOperands,
2134 /* 4507 */ // GIR_Coverage, 964,
2135 /* 4507 */ GIR_Done,
2136 /* 4508 */ // Label 238: @4508
2137 /* 4508 */ GIM_Reject,
2138 /* 4509 */ // Label 230: @4509
2139 /* 4509 */ GIM_Try, /*On fail goto*//*Label 239*/ GIMT_Encode4(4542), // Rule ID 963 //
2140 /* 4514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2141 /* 4517 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2142 /* 4520 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2143 /* 4523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2144 /* 4527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2145 /* 4531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2146 /* 4535 */ // (urem:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MOD_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2147 /* 4535 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_U_B),
2148 /* 4540 */ GIR_RootConstrainSelectedInstOperands,
2149 /* 4541 */ // GIR_Coverage, 963,
2150 /* 4541 */ GIR_Done,
2151 /* 4542 */ // Label 239: @4542
2152 /* 4542 */ GIM_Reject,
2153 /* 4543 */ // Label 231: @4543
2154 /* 4543 */ GIM_Reject,
2155 /* 4544 */ // Label 7: @4544
2156 /* 4544 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 246*/ GIMT_Encode4(5099),
2157 /* 4555 */ /*GILLT_s32*//*Label 240*/ GIMT_Encode4(4587),
2158 /* 4559 */ /*GILLT_s64*//*Label 241*/ GIMT_Encode4(4861), GIMT_Encode4(0),
2159 /* 4567 */ /*GILLT_v2s64*//*Label 242*/ GIMT_Encode4(4963), GIMT_Encode4(0),
2160 /* 4575 */ /*GILLT_v4s32*//*Label 243*/ GIMT_Encode4(4997),
2161 /* 4579 */ /*GILLT_v8s16*//*Label 244*/ GIMT_Encode4(5031),
2162 /* 4583 */ /*GILLT_v16s8*//*Label 245*/ GIMT_Encode4(5065),
2163 /* 4587 */ // Label 240: @4587
2164 /* 4587 */ GIM_Try, /*On fail goto*//*Label 247*/ GIMT_Encode4(4860),
2165 /* 4592 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2166 /* 4595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2167 /* 4598 */ GIM_Try, /*On fail goto*//*Label 248*/ GIMT_Encode4(4640), // Rule ID 41 //
2168 /* 4603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
2169 /* 4606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2170 /* 4610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2171 /* 4614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2172 /* 4618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2173 /* 4622 */ GIM_CheckAPIntImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
2174 /* 4626 */ // MIs[1] Operand 1
2175 /* 4626 */ // No operand predicates
2176 /* 4626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2177 /* 4628 */ // (and:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_imm32ZExt16>>:$imm16) => (ANDi:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$imm16)
2178 /* 4628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ANDi),
2179 /* 4631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2180 /* 4633 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2181 /* 4635 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm16
2182 /* 4638 */ GIR_RootConstrainSelectedInstOperands,
2183 /* 4639 */ // GIR_Coverage, 41,
2184 /* 4639 */ GIR_EraseRootFromParent_Done,
2185 /* 4640 */ // Label 248: @4640
2186 /* 4640 */ GIM_Try, /*On fail goto*//*Label 249*/ GIMT_Encode4(4682), // Rule ID 2299 //
2187 /* 4645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
2188 /* 4648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2189 /* 4652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2190 /* 4656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2191 /* 4660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2192 /* 4664 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExtAndi16),
2193 /* 4668 */ // MIs[1] Operand 1
2194 /* 4668 */ // No operand predicates
2195 /* 4668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2196 /* 4670 */ // (and:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExtAndi16>>:$imm) => (ANDI16_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExtAndi16>>:$imm)
2197 /* 4670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ANDI16_MM),
2198 /* 4673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2199 /* 4675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2200 /* 4677 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
2201 /* 4680 */ GIR_RootConstrainSelectedInstOperands,
2202 /* 4681 */ // GIR_Coverage, 2299,
2203 /* 4681 */ GIR_EraseRootFromParent_Done,
2204 /* 4682 */ // Label 249: @4682
2205 /* 4682 */ GIM_Try, /*On fail goto*//*Label 250*/ GIMT_Encode4(4724), // Rule ID 2462 //
2206 /* 4687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2207 /* 4690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2208 /* 4694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2209 /* 4698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2210 /* 4702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2211 /* 4706 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExtAndi16),
2212 /* 4710 */ // MIs[1] Operand 1
2213 /* 4710 */ // No operand predicates
2214 /* 4710 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2215 /* 4712 */ // (and:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExtAndi16>>:$imm) => (ANDI16_MMR6:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExtAndi16>>:$imm)
2216 /* 4712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ANDI16_MMR6),
2217 /* 4715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2218 /* 4717 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2219 /* 4719 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
2220 /* 4722 */ GIR_RootConstrainSelectedInstOperands,
2221 /* 4723 */ // GIR_Coverage, 2462,
2222 /* 4723 */ GIR_EraseRootFromParent_Done,
2223 /* 4724 */ // Label 250: @4724
2224 /* 4724 */ GIM_Try, /*On fail goto*//*Label 251*/ GIMT_Encode4(4751), // Rule ID 51 //
2225 /* 4729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
2226 /* 4732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2227 /* 4736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2228 /* 4740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2229 /* 4744 */ // (and:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (AND:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2230 /* 4744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND),
2231 /* 4749 */ GIR_RootConstrainSelectedInstOperands,
2232 /* 4750 */ // GIR_Coverage, 51,
2233 /* 4750 */ GIR_Done,
2234 /* 4751 */ // Label 251: @4751
2235 /* 4751 */ GIM_Try, /*On fail goto*//*Label 252*/ GIMT_Encode4(4778), // Rule ID 1136 //
2236 /* 4756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
2237 /* 4759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2238 /* 4763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2239 /* 4767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2240 /* 4771 */ // (and:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (AND16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
2241 /* 4771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND16_MM),
2242 /* 4776 */ GIR_RootConstrainSelectedInstOperands,
2243 /* 4777 */ // GIR_Coverage, 1136,
2244 /* 4777 */ GIR_Done,
2245 /* 4778 */ // Label 252: @4778
2246 /* 4778 */ GIM_Try, /*On fail goto*//*Label 253*/ GIMT_Encode4(4805), // Rule ID 1152 //
2247 /* 4783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
2248 /* 4786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2249 /* 4790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2250 /* 4794 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2251 /* 4798 */ // (and:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (AND_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2252 /* 4798 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_MM),
2253 /* 4803 */ GIR_RootConstrainSelectedInstOperands,
2254 /* 4804 */ // GIR_Coverage, 1152,
2255 /* 4804 */ GIR_Done,
2256 /* 4805 */ // Label 253: @4805
2257 /* 4805 */ GIM_Try, /*On fail goto*//*Label 254*/ GIMT_Encode4(4832), // Rule ID 1245 //
2258 /* 4810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2259 /* 4813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2260 /* 4817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2261 /* 4821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2262 /* 4825 */ // (and:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (AND_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2263 /* 4825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_MMR6),
2264 /* 4830 */ GIR_RootConstrainSelectedInstOperands,
2265 /* 4831 */ // GIR_Coverage, 1245,
2266 /* 4831 */ GIR_Done,
2267 /* 4832 */ // Label 254: @4832
2268 /* 4832 */ GIM_Try, /*On fail goto*//*Label 255*/ GIMT_Encode4(4859), // Rule ID 1955 //
2269 /* 4837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
2270 /* 4840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2271 /* 4844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2272 /* 4848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2273 /* 4852 */ // (and:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (AndRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
2274 /* 4852 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AndRxRxRy16),
2275 /* 4857 */ GIR_RootConstrainSelectedInstOperands,
2276 /* 4858 */ // GIR_Coverage, 1955,
2277 /* 4858 */ GIR_Done,
2278 /* 4859 */ // Label 255: @4859
2279 /* 4859 */ GIM_Reject,
2280 /* 4860 */ // Label 247: @4860
2281 /* 4860 */ GIM_Reject,
2282 /* 4861 */ // Label 241: @4861
2283 /* 4861 */ GIM_Try, /*On fail goto*//*Label 256*/ GIMT_Encode4(4962),
2284 /* 4866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2285 /* 4869 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
2286 /* 4872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2287 /* 4876 */ GIM_Try, /*On fail goto*//*Label 257*/ GIMT_Encode4(4938), // Rule ID 344 //
2288 /* 4881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
2289 /* 4884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2290 /* 4888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
2291 /* 4892 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
2292 /* 4896 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
2293 /* 4900 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2294 /* 4905 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2295 /* 4910 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
2296 /* 4921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2297 /* 4923 */ // (and:{ *:[i64] } (add:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt), 255:{ *:[i64] }) => (BADDu:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2298 /* 4923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BADDu),
2299 /* 4926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2300 /* 4928 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2301 /* 4932 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2302 /* 4936 */ GIR_RootConstrainSelectedInstOperands,
2303 /* 4937 */ // GIR_Coverage, 344,
2304 /* 4937 */ GIR_EraseRootFromParent_Done,
2305 /* 4938 */ // Label 257: @4938
2306 /* 4938 */ GIM_Try, /*On fail goto*//*Label 258*/ GIMT_Encode4(4961), // Rule ID 281 //
2307 /* 4943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
2308 /* 4946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2309 /* 4950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2310 /* 4954 */ // (and:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (AND64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2311 /* 4954 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND64),
2312 /* 4959 */ GIR_RootConstrainSelectedInstOperands,
2313 /* 4960 */ // GIR_Coverage, 281,
2314 /* 4960 */ GIR_Done,
2315 /* 4961 */ // Label 258: @4961
2316 /* 4961 */ GIM_Reject,
2317 /* 4962 */ // Label 256: @4962
2318 /* 4962 */ GIM_Reject,
2319 /* 4963 */ // Label 242: @4963
2320 /* 4963 */ GIM_Try, /*On fail goto*//*Label 259*/ GIMT_Encode4(4996), // Rule ID 593 //
2321 /* 4968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2322 /* 4971 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2323 /* 4974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2324 /* 4977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2325 /* 4981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2326 /* 4985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2327 /* 4989 */ // (and:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AND_V_D_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2328 /* 4989 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_V_D_PSEUDO),
2329 /* 4994 */ GIR_RootConstrainSelectedInstOperands,
2330 /* 4995 */ // GIR_Coverage, 593,
2331 /* 4995 */ GIR_Done,
2332 /* 4996 */ // Label 259: @4996
2333 /* 4996 */ GIM_Reject,
2334 /* 4997 */ // Label 243: @4997
2335 /* 4997 */ GIM_Try, /*On fail goto*//*Label 260*/ GIMT_Encode4(5030), // Rule ID 592 //
2336 /* 5002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2337 /* 5005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2338 /* 5008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2339 /* 5011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2340 /* 5015 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2341 /* 5019 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2342 /* 5023 */ // (and:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AND_V_W_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2343 /* 5023 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_V_W_PSEUDO),
2344 /* 5028 */ GIR_RootConstrainSelectedInstOperands,
2345 /* 5029 */ // GIR_Coverage, 592,
2346 /* 5029 */ GIR_Done,
2347 /* 5030 */ // Label 260: @5030
2348 /* 5030 */ GIM_Reject,
2349 /* 5031 */ // Label 244: @5031
2350 /* 5031 */ GIM_Try, /*On fail goto*//*Label 261*/ GIMT_Encode4(5064), // Rule ID 591 //
2351 /* 5036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2352 /* 5039 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2353 /* 5042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2354 /* 5045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2355 /* 5049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2356 /* 5053 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2357 /* 5057 */ // (and:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AND_V_H_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2358 /* 5057 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_V_H_PSEUDO),
2359 /* 5062 */ GIR_RootConstrainSelectedInstOperands,
2360 /* 5063 */ // GIR_Coverage, 591,
2361 /* 5063 */ GIR_Done,
2362 /* 5064 */ // Label 261: @5064
2363 /* 5064 */ GIM_Reject,
2364 /* 5065 */ // Label 245: @5065
2365 /* 5065 */ GIM_Try, /*On fail goto*//*Label 262*/ GIMT_Encode4(5098), // Rule ID 590 //
2366 /* 5070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2367 /* 5073 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2368 /* 5076 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2369 /* 5079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2370 /* 5083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2371 /* 5087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2372 /* 5091 */ // (and:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AND_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2373 /* 5091 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_V),
2374 /* 5096 */ GIR_RootConstrainSelectedInstOperands,
2375 /* 5097 */ // GIR_Coverage, 590,
2376 /* 5097 */ GIR_Done,
2377 /* 5098 */ // Label 262: @5098
2378 /* 5098 */ GIM_Reject,
2379 /* 5099 */ // Label 246: @5099
2380 /* 5099 */ GIM_Reject,
2381 /* 5100 */ // Label 8: @5100
2382 /* 5100 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 269*/ GIMT_Encode4(5503),
2383 /* 5111 */ /*GILLT_s32*//*Label 263*/ GIMT_Encode4(5143),
2384 /* 5115 */ /*GILLT_s64*//*Label 264*/ GIMT_Encode4(5333), GIMT_Encode4(0),
2385 /* 5123 */ /*GILLT_v2s64*//*Label 265*/ GIMT_Encode4(5367), GIMT_Encode4(0),
2386 /* 5131 */ /*GILLT_v4s32*//*Label 266*/ GIMT_Encode4(5401),
2387 /* 5135 */ /*GILLT_v8s16*//*Label 267*/ GIMT_Encode4(5435),
2388 /* 5139 */ /*GILLT_v16s8*//*Label 268*/ GIMT_Encode4(5469),
2389 /* 5143 */ // Label 263: @5143
2390 /* 5143 */ GIM_Try, /*On fail goto*//*Label 270*/ GIMT_Encode4(5332),
2391 /* 5148 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2392 /* 5151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2393 /* 5154 */ GIM_Try, /*On fail goto*//*Label 271*/ GIMT_Encode4(5196), // Rule ID 42 //
2394 /* 5159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
2395 /* 5162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2396 /* 5166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2397 /* 5170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2398 /* 5174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2399 /* 5178 */ GIM_CheckAPIntImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
2400 /* 5182 */ // MIs[1] Operand 1
2401 /* 5182 */ // No operand predicates
2402 /* 5182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2403 /* 5184 */ // (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_imm32ZExt16>>:$imm16) => (ORi:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$imm16)
2404 /* 5184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ORi),
2405 /* 5187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2406 /* 5189 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2407 /* 5191 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm16
2408 /* 5194 */ GIR_RootConstrainSelectedInstOperands,
2409 /* 5195 */ // GIR_Coverage, 42,
2410 /* 5195 */ GIR_EraseRootFromParent_Done,
2411 /* 5196 */ // Label 271: @5196
2412 /* 5196 */ GIM_Try, /*On fail goto*//*Label 272*/ GIMT_Encode4(5223), // Rule ID 52 //
2413 /* 5201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
2414 /* 5204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2415 /* 5208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2416 /* 5212 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2417 /* 5216 */ // (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (OR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2418 /* 5216 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR),
2419 /* 5221 */ GIR_RootConstrainSelectedInstOperands,
2420 /* 5222 */ // GIR_Coverage, 52,
2421 /* 5222 */ GIR_Done,
2422 /* 5223 */ // Label 272: @5223
2423 /* 5223 */ GIM_Try, /*On fail goto*//*Label 273*/ GIMT_Encode4(5250), // Rule ID 1138 //
2424 /* 5228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
2425 /* 5231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2426 /* 5235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2427 /* 5239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2428 /* 5243 */ // (or:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (OR16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
2429 /* 5243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR16_MM),
2430 /* 5248 */ GIR_RootConstrainSelectedInstOperands,
2431 /* 5249 */ // GIR_Coverage, 1138,
2432 /* 5249 */ GIR_Done,
2433 /* 5250 */ // Label 273: @5250
2434 /* 5250 */ GIM_Try, /*On fail goto*//*Label 274*/ GIMT_Encode4(5277), // Rule ID 1153 //
2435 /* 5255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
2436 /* 5258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2437 /* 5262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2438 /* 5266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2439 /* 5270 */ // (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (OR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2440 /* 5270 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_MM),
2441 /* 5275 */ GIR_RootConstrainSelectedInstOperands,
2442 /* 5276 */ // GIR_Coverage, 1153,
2443 /* 5276 */ GIR_Done,
2444 /* 5277 */ // Label 274: @5277
2445 /* 5277 */ GIM_Try, /*On fail goto*//*Label 275*/ GIMT_Encode4(5304), // Rule ID 1258 //
2446 /* 5282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2447 /* 5285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2448 /* 5289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2449 /* 5293 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2450 /* 5297 */ // (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (OR_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2451 /* 5297 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_MMR6),
2452 /* 5302 */ GIR_RootConstrainSelectedInstOperands,
2453 /* 5303 */ // GIR_Coverage, 1258,
2454 /* 5303 */ GIR_Done,
2455 /* 5304 */ // Label 275: @5304
2456 /* 5304 */ GIM_Try, /*On fail goto*//*Label 276*/ GIMT_Encode4(5331), // Rule ID 1957 //
2457 /* 5309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
2458 /* 5312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2459 /* 5316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2460 /* 5320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2461 /* 5324 */ // (or:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (OrRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
2462 /* 5324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OrRxRxRy16),
2463 /* 5329 */ GIR_RootConstrainSelectedInstOperands,
2464 /* 5330 */ // GIR_Coverage, 1957,
2465 /* 5330 */ GIR_Done,
2466 /* 5331 */ // Label 276: @5331
2467 /* 5331 */ GIM_Reject,
2468 /* 5332 */ // Label 270: @5332
2469 /* 5332 */ GIM_Reject,
2470 /* 5333 */ // Label 264: @5333
2471 /* 5333 */ GIM_Try, /*On fail goto*//*Label 277*/ GIMT_Encode4(5366), // Rule ID 282 //
2472 /* 5338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
2473 /* 5341 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2474 /* 5344 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
2475 /* 5347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2476 /* 5351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2477 /* 5355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2478 /* 5359 */ // (or:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (OR64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2479 /* 5359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR64),
2480 /* 5364 */ GIR_RootConstrainSelectedInstOperands,
2481 /* 5365 */ // GIR_Coverage, 282,
2482 /* 5365 */ GIR_Done,
2483 /* 5366 */ // Label 277: @5366
2484 /* 5366 */ GIM_Reject,
2485 /* 5367 */ // Label 265: @5367
2486 /* 5367 */ GIM_Try, /*On fail goto*//*Label 278*/ GIMT_Encode4(5400), // Rule ID 999 //
2487 /* 5372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2488 /* 5375 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2489 /* 5378 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2490 /* 5381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2491 /* 5385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2492 /* 5389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2493 /* 5393 */ // (or:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (OR_V_D_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2494 /* 5393 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_V_D_PSEUDO),
2495 /* 5398 */ GIR_RootConstrainSelectedInstOperands,
2496 /* 5399 */ // GIR_Coverage, 999,
2497 /* 5399 */ GIR_Done,
2498 /* 5400 */ // Label 278: @5400
2499 /* 5400 */ GIM_Reject,
2500 /* 5401 */ // Label 266: @5401
2501 /* 5401 */ GIM_Try, /*On fail goto*//*Label 279*/ GIMT_Encode4(5434), // Rule ID 998 //
2502 /* 5406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2503 /* 5409 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2504 /* 5412 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2505 /* 5415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2506 /* 5419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2507 /* 5423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2508 /* 5427 */ // (or:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (OR_V_W_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2509 /* 5427 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_V_W_PSEUDO),
2510 /* 5432 */ GIR_RootConstrainSelectedInstOperands,
2511 /* 5433 */ // GIR_Coverage, 998,
2512 /* 5433 */ GIR_Done,
2513 /* 5434 */ // Label 279: @5434
2514 /* 5434 */ GIM_Reject,
2515 /* 5435 */ // Label 267: @5435
2516 /* 5435 */ GIM_Try, /*On fail goto*//*Label 280*/ GIMT_Encode4(5468), // Rule ID 997 //
2517 /* 5440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2518 /* 5443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2519 /* 5446 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2520 /* 5449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2521 /* 5453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2522 /* 5457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2523 /* 5461 */ // (or:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (OR_V_H_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2524 /* 5461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_V_H_PSEUDO),
2525 /* 5466 */ GIR_RootConstrainSelectedInstOperands,
2526 /* 5467 */ // GIR_Coverage, 997,
2527 /* 5467 */ GIR_Done,
2528 /* 5468 */ // Label 280: @5468
2529 /* 5468 */ GIM_Reject,
2530 /* 5469 */ // Label 268: @5469
2531 /* 5469 */ GIM_Try, /*On fail goto*//*Label 281*/ GIMT_Encode4(5502), // Rule ID 996 //
2532 /* 5474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2533 /* 5477 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2534 /* 5480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2535 /* 5483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2536 /* 5487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2537 /* 5491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2538 /* 5495 */ // (or:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (OR_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2539 /* 5495 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_V),
2540 /* 5500 */ GIR_RootConstrainSelectedInstOperands,
2541 /* 5501 */ // GIR_Coverage, 996,
2542 /* 5501 */ GIR_Done,
2543 /* 5502 */ // Label 281: @5502
2544 /* 5502 */ GIM_Reject,
2545 /* 5503 */ // Label 269: @5503
2546 /* 5503 */ GIM_Reject,
2547 /* 5504 */ // Label 9: @5504
2548 /* 5504 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 288*/ GIMT_Encode4(6395),
2549 /* 5515 */ /*GILLT_s32*//*Label 282*/ GIMT_Encode4(5547),
2550 /* 5519 */ /*GILLT_s64*//*Label 283*/ GIMT_Encode4(6164), GIMT_Encode4(0),
2551 /* 5527 */ /*GILLT_v2s64*//*Label 284*/ GIMT_Encode4(6259), GIMT_Encode4(0),
2552 /* 5535 */ /*GILLT_v4s32*//*Label 285*/ GIMT_Encode4(6293),
2553 /* 5539 */ /*GILLT_v8s16*//*Label 286*/ GIMT_Encode4(6327),
2554 /* 5543 */ /*GILLT_v16s8*//*Label 287*/ GIMT_Encode4(6361),
2555 /* 5547 */ // Label 282: @5547
2556 /* 5547 */ GIM_Try, /*On fail goto*//*Label 289*/ GIMT_Encode4(6163),
2557 /* 5552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2558 /* 5555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2559 /* 5558 */ GIM_Try, /*On fail goto*//*Label 290*/ GIMT_Encode4(5617), // Rule ID 54 //
2560 /* 5563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
2561 /* 5566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2562 /* 5570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2563 /* 5574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
2564 /* 5578 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
2565 /* 5582 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
2566 /* 5586 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2567 /* 5591 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2568 /* 5596 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2569 /* 5600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2570 /* 5602 */ // (xor:{ *:[i32] } (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt), -1:{ *:[i32] }) => (NOR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2571 /* 5602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR),
2572 /* 5605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2573 /* 5607 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2574 /* 5611 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2575 /* 5615 */ GIR_RootConstrainSelectedInstOperands,
2576 /* 5616 */ // GIR_Coverage, 54,
2577 /* 5616 */ GIR_EraseRootFromParent_Done,
2578 /* 5617 */ // Label 290: @5617
2579 /* 5617 */ GIM_Try, /*On fail goto*//*Label 291*/ GIMT_Encode4(5676), // Rule ID 1155 //
2580 /* 5622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
2581 /* 5625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2582 /* 5629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2583 /* 5633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
2584 /* 5637 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
2585 /* 5641 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
2586 /* 5645 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2587 /* 5650 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2588 /* 5655 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2589 /* 5659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2590 /* 5661 */ // (xor:{ *:[i32] } (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt), -1:{ *:[i32] }) => (NOR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2591 /* 5661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR_MM),
2592 /* 5664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2593 /* 5666 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2594 /* 5670 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2595 /* 5674 */ GIR_RootConstrainSelectedInstOperands,
2596 /* 5675 */ // GIR_Coverage, 1155,
2597 /* 5675 */ GIR_EraseRootFromParent_Done,
2598 /* 5676 */ // Label 291: @5676
2599 /* 5676 */ GIM_Try, /*On fail goto*//*Label 292*/ GIMT_Encode4(5735), // Rule ID 1257 //
2600 /* 5681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2601 /* 5684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2602 /* 5688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2603 /* 5692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
2604 /* 5696 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
2605 /* 5700 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
2606 /* 5704 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2607 /* 5709 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2608 /* 5714 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2609 /* 5718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2610 /* 5720 */ // (xor:{ *:[i32] } (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt), -1:{ *:[i32] }) => (NOR_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2611 /* 5720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR_MMR6),
2612 /* 5723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2613 /* 5725 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2614 /* 5729 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2615 /* 5733 */ GIR_RootConstrainSelectedInstOperands,
2616 /* 5734 */ // GIR_Coverage, 1257,
2617 /* 5734 */ GIR_EraseRootFromParent_Done,
2618 /* 5735 */ // Label 292: @5735
2619 /* 5735 */ GIM_Try, /*On fail goto*//*Label 293*/ GIMT_Encode4(5764), // Rule ID 1284 //
2620 /* 5740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2621 /* 5743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2622 /* 5747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2623 /* 5751 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2624 /* 5755 */ // (xor:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] }) => (NOT16_MMR6:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs)
2625 /* 5755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOT16_MMR6),
2626 /* 5758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2627 /* 5760 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2628 /* 5762 */ GIR_RootConstrainSelectedInstOperands,
2629 /* 5763 */ // GIR_Coverage, 1284,
2630 /* 5763 */ GIR_EraseRootFromParent_Done,
2631 /* 5764 */ // Label 293: @5764
2632 /* 5764 */ GIM_Try, /*On fail goto*//*Label 294*/ GIMT_Encode4(5793), // Rule ID 1137 //
2633 /* 5769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
2634 /* 5772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2635 /* 5776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2636 /* 5780 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2637 /* 5784 */ // (xor:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] }) => (NOT16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs)
2638 /* 5784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOT16_MM),
2639 /* 5787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2640 /* 5789 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2641 /* 5791 */ GIR_RootConstrainSelectedInstOperands,
2642 /* 5792 */ // GIR_Coverage, 1137,
2643 /* 5792 */ GIR_EraseRootFromParent_Done,
2644 /* 5793 */ // Label 294: @5793
2645 /* 5793 */ GIM_Try, /*On fail goto*//*Label 295*/ GIMT_Encode4(5828), // Rule ID 1472 //
2646 /* 5798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
2647 /* 5801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2648 /* 5805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2649 /* 5809 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2650 /* 5813 */ // (xor:{ *:[i32] } GPR32:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$in, ZERO:{ *:[i32] })
2651 /* 5813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR),
2652 /* 5816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2653 /* 5818 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2654 /* 5820 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
2655 /* 5826 */ GIR_RootConstrainSelectedInstOperands,
2656 /* 5827 */ // GIR_Coverage, 1472,
2657 /* 5827 */ GIR_EraseRootFromParent_Done,
2658 /* 5828 */ // Label 295: @5828
2659 /* 5828 */ GIM_Try, /*On fail goto*//*Label 296*/ GIMT_Encode4(5857), // Rule ID 1952 //
2660 /* 5833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
2661 /* 5836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2662 /* 5840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2663 /* 5844 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2664 /* 5848 */ // (xor:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, -1:{ *:[i32] }) => (NotRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r)
2665 /* 5848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NotRxRy16),
2666 /* 5851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
2667 /* 5853 */ GIR_RootToRootCopy, /*OpIdx*/1, // r
2668 /* 5855 */ GIR_RootConstrainSelectedInstOperands,
2669 /* 5856 */ // GIR_Coverage, 1952,
2670 /* 5856 */ GIR_EraseRootFromParent_Done,
2671 /* 5857 */ // Label 296: @5857
2672 /* 5857 */ GIM_Try, /*On fail goto*//*Label 297*/ GIMT_Encode4(5886), // Rule ID 2294 //
2673 /* 5862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
2674 /* 5865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2675 /* 5869 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2676 /* 5873 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2677 /* 5877 */ // (xor:{ *:[i32] } GPRMM16:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOT16_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$in)
2678 /* 5877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOT16_MM),
2679 /* 5880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2680 /* 5882 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2681 /* 5884 */ GIR_RootConstrainSelectedInstOperands,
2682 /* 5885 */ // GIR_Coverage, 2294,
2683 /* 5885 */ GIR_EraseRootFromParent_Done,
2684 /* 5886 */ // Label 297: @5886
2685 /* 5886 */ GIM_Try, /*On fail goto*//*Label 298*/ GIMT_Encode4(5921), // Rule ID 2295 //
2686 /* 5891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
2687 /* 5894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2688 /* 5898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2689 /* 5902 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2690 /* 5906 */ // (xor:{ *:[i32] } GPR32:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$in, ZERO:{ *:[i32] })
2691 /* 5906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR_MM),
2692 /* 5909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2693 /* 5911 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2694 /* 5913 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
2695 /* 5919 */ GIR_RootConstrainSelectedInstOperands,
2696 /* 5920 */ // GIR_Coverage, 2295,
2697 /* 5920 */ GIR_EraseRootFromParent_Done,
2698 /* 5921 */ // Label 298: @5921
2699 /* 5921 */ GIM_Try, /*On fail goto*//*Label 299*/ GIMT_Encode4(5950), // Rule ID 2465 //
2700 /* 5926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2701 /* 5929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2702 /* 5933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2703 /* 5937 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2704 /* 5941 */ // (xor:{ *:[i32] } GPRMM16:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOT16_MMR6:{ *:[i32] } GPRMM16:{ *:[i32] }:$in)
2705 /* 5941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOT16_MMR6),
2706 /* 5944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2707 /* 5946 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2708 /* 5948 */ GIR_RootConstrainSelectedInstOperands,
2709 /* 5949 */ // GIR_Coverage, 2465,
2710 /* 5949 */ GIR_EraseRootFromParent_Done,
2711 /* 5950 */ // Label 299: @5950
2712 /* 5950 */ GIM_Try, /*On fail goto*//*Label 300*/ GIMT_Encode4(5985), // Rule ID 2466 //
2713 /* 5955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2714 /* 5958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2715 /* 5962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2716 /* 5966 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2717 /* 5970 */ // (xor:{ *:[i32] } GPR32:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOR_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$in, ZERO:{ *:[i32] })
2718 /* 5970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR_MMR6),
2719 /* 5973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2720 /* 5975 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2721 /* 5977 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
2722 /* 5983 */ GIR_RootConstrainSelectedInstOperands,
2723 /* 5984 */ // GIR_Coverage, 2466,
2724 /* 5984 */ GIR_EraseRootFromParent_Done,
2725 /* 5985 */ // Label 300: @5985
2726 /* 5985 */ GIM_Try, /*On fail goto*//*Label 301*/ GIMT_Encode4(6027), // Rule ID 43 //
2727 /* 5990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
2728 /* 5993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2729 /* 5997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2730 /* 6001 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2731 /* 6005 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2732 /* 6009 */ GIM_CheckAPIntImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
2733 /* 6013 */ // MIs[1] Operand 1
2734 /* 6013 */ // No operand predicates
2735 /* 6013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2736 /* 6015 */ // (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_imm32ZExt16>>:$imm16) => (XORi:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$imm16)
2737 /* 6015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
2738 /* 6018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2739 /* 6020 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2740 /* 6022 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm16
2741 /* 6025 */ GIR_RootConstrainSelectedInstOperands,
2742 /* 6026 */ // GIR_Coverage, 43,
2743 /* 6026 */ GIR_EraseRootFromParent_Done,
2744 /* 6027 */ // Label 301: @6027
2745 /* 6027 */ GIM_Try, /*On fail goto*//*Label 302*/ GIMT_Encode4(6054), // Rule ID 53 //
2746 /* 6032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
2747 /* 6035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2748 /* 6039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2749 /* 6043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2750 /* 6047 */ // (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (XOR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2751 /* 6047 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR),
2752 /* 6052 */ GIR_RootConstrainSelectedInstOperands,
2753 /* 6053 */ // GIR_Coverage, 53,
2754 /* 6053 */ GIR_Done,
2755 /* 6054 */ // Label 302: @6054
2756 /* 6054 */ GIM_Try, /*On fail goto*//*Label 303*/ GIMT_Encode4(6081), // Rule ID 1140 //
2757 /* 6059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
2758 /* 6062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2759 /* 6066 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2760 /* 6070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2761 /* 6074 */ // (xor:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (XOR16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
2762 /* 6074 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR16_MM),
2763 /* 6079 */ GIR_RootConstrainSelectedInstOperands,
2764 /* 6080 */ // GIR_Coverage, 1140,
2765 /* 6080 */ GIR_Done,
2766 /* 6081 */ // Label 303: @6081
2767 /* 6081 */ GIM_Try, /*On fail goto*//*Label 304*/ GIMT_Encode4(6108), // Rule ID 1154 //
2768 /* 6086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
2769 /* 6089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2770 /* 6093 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2771 /* 6097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2772 /* 6101 */ // (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (XOR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2773 /* 6101 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
2774 /* 6106 */ GIR_RootConstrainSelectedInstOperands,
2775 /* 6107 */ // GIR_Coverage, 1154,
2776 /* 6107 */ GIR_Done,
2777 /* 6108 */ // Label 304: @6108
2778 /* 6108 */ GIM_Try, /*On fail goto*//*Label 305*/ GIMT_Encode4(6135), // Rule ID 1261 //
2779 /* 6113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
2780 /* 6116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2781 /* 6120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2782 /* 6124 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2783 /* 6128 */ // (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (XOR_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2784 /* 6128 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_MMR6),
2785 /* 6133 */ GIR_RootConstrainSelectedInstOperands,
2786 /* 6134 */ // GIR_Coverage, 1261,
2787 /* 6134 */ GIR_Done,
2788 /* 6135 */ // Label 305: @6135
2789 /* 6135 */ GIM_Try, /*On fail goto*//*Label 306*/ GIMT_Encode4(6162), // Rule ID 1959 //
2790 /* 6140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
2791 /* 6143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2792 /* 6147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2793 /* 6151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2794 /* 6155 */ // (xor:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (XorRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
2795 /* 6155 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
2796 /* 6160 */ GIR_RootConstrainSelectedInstOperands,
2797 /* 6161 */ // GIR_Coverage, 1959,
2798 /* 6161 */ GIR_Done,
2799 /* 6162 */ // Label 306: @6162
2800 /* 6162 */ GIM_Reject,
2801 /* 6163 */ // Label 289: @6163
2802 /* 6163 */ GIM_Reject,
2803 /* 6164 */ // Label 283: @6164
2804 /* 6164 */ GIM_Try, /*On fail goto*//*Label 307*/ GIMT_Encode4(6258),
2805 /* 6169 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2806 /* 6172 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
2807 /* 6175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2808 /* 6179 */ GIM_Try, /*On fail goto*//*Label 308*/ GIMT_Encode4(6234), // Rule ID 284 //
2809 /* 6184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
2810 /* 6187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2811 /* 6191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
2812 /* 6195 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
2813 /* 6199 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
2814 /* 6203 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2815 /* 6208 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2816 /* 6213 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2817 /* 6217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2818 /* 6219 */ // (xor:{ *:[i64] } (or:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt), -1:{ *:[i64] }) => (NOR64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2819 /* 6219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR64),
2820 /* 6222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2821 /* 6224 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2822 /* 6228 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2823 /* 6232 */ GIR_RootConstrainSelectedInstOperands,
2824 /* 6233 */ // GIR_Coverage, 284,
2825 /* 6233 */ GIR_EraseRootFromParent_Done,
2826 /* 6234 */ // Label 308: @6234
2827 /* 6234 */ GIM_Try, /*On fail goto*//*Label 309*/ GIMT_Encode4(6257), // Rule ID 283 //
2828 /* 6239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
2829 /* 6242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2830 /* 6246 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2831 /* 6250 */ // (xor:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (XOR64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2832 /* 6250 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR64),
2833 /* 6255 */ GIR_RootConstrainSelectedInstOperands,
2834 /* 6256 */ // GIR_Coverage, 283,
2835 /* 6256 */ GIR_Done,
2836 /* 6257 */ // Label 309: @6257
2837 /* 6257 */ GIM_Reject,
2838 /* 6258 */ // Label 307: @6258
2839 /* 6258 */ GIM_Reject,
2840 /* 6259 */ // Label 284: @6259
2841 /* 6259 */ GIM_Try, /*On fail goto*//*Label 310*/ GIMT_Encode4(6292), // Rule ID 1115 //
2842 /* 6264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2843 /* 6267 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2844 /* 6270 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2845 /* 6273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2846 /* 6277 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2847 /* 6281 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2848 /* 6285 */ // (xor:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (XOR_V_D_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2849 /* 6285 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_V_D_PSEUDO),
2850 /* 6290 */ GIR_RootConstrainSelectedInstOperands,
2851 /* 6291 */ // GIR_Coverage, 1115,
2852 /* 6291 */ GIR_Done,
2853 /* 6292 */ // Label 310: @6292
2854 /* 6292 */ GIM_Reject,
2855 /* 6293 */ // Label 285: @6293
2856 /* 6293 */ GIM_Try, /*On fail goto*//*Label 311*/ GIMT_Encode4(6326), // Rule ID 1114 //
2857 /* 6298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2858 /* 6301 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2859 /* 6304 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2860 /* 6307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2861 /* 6311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2862 /* 6315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2863 /* 6319 */ // (xor:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (XOR_V_W_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2864 /* 6319 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_V_W_PSEUDO),
2865 /* 6324 */ GIR_RootConstrainSelectedInstOperands,
2866 /* 6325 */ // GIR_Coverage, 1114,
2867 /* 6325 */ GIR_Done,
2868 /* 6326 */ // Label 311: @6326
2869 /* 6326 */ GIM_Reject,
2870 /* 6327 */ // Label 286: @6327
2871 /* 6327 */ GIM_Try, /*On fail goto*//*Label 312*/ GIMT_Encode4(6360), // Rule ID 1113 //
2872 /* 6332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2873 /* 6335 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2874 /* 6338 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2875 /* 6341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2876 /* 6345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2877 /* 6349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2878 /* 6353 */ // (xor:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (XOR_V_H_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2879 /* 6353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_V_H_PSEUDO),
2880 /* 6358 */ GIR_RootConstrainSelectedInstOperands,
2881 /* 6359 */ // GIR_Coverage, 1113,
2882 /* 6359 */ GIR_Done,
2883 /* 6360 */ // Label 312: @6360
2884 /* 6360 */ GIM_Reject,
2885 /* 6361 */ // Label 287: @6361
2886 /* 6361 */ GIM_Try, /*On fail goto*//*Label 313*/ GIMT_Encode4(6394), // Rule ID 1112 //
2887 /* 6366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2888 /* 6369 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2889 /* 6372 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2890 /* 6375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2891 /* 6379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2892 /* 6383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2893 /* 6387 */ // (xor:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (XOR_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2894 /* 6387 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_V),
2895 /* 6392 */ GIR_RootConstrainSelectedInstOperands,
2896 /* 6393 */ // GIR_Coverage, 1112,
2897 /* 6393 */ GIR_Done,
2898 /* 6394 */ // Label 313: @6394
2899 /* 6394 */ GIM_Reject,
2900 /* 6395 */ // Label 288: @6395
2901 /* 6395 */ GIM_Reject,
2902 /* 6396 */ // Label 10: @6396
2903 /* 6396 */ GIM_Try, /*On fail goto*//*Label 314*/ GIMT_Encode4(6468),
2904 /* 6401 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
2905 /* 6404 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
2906 /* 6407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2907 /* 6410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2908 /* 6413 */ GIM_Try, /*On fail goto*//*Label 315*/ GIMT_Encode4(6440), // Rule ID 255 //
2909 /* 6418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotSoftFloat_NotFP64bit_NotInMips16Mode),
2910 /* 6421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
2911 /* 6425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2912 /* 6429 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2913 /* 6433 */ // (MipsBuildPairF64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$lo, GPR32Opnd:{ *:[i32] }:$hi) => (BuildPairF64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$lo, GPR32Opnd:{ *:[i32] }:$hi)
2914 /* 6433 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BuildPairF64),
2915 /* 6438 */ GIR_RootConstrainSelectedInstOperands,
2916 /* 6439 */ // GIR_Coverage, 255,
2917 /* 6439 */ GIR_Done,
2918 /* 6440 */ // Label 315: @6440
2919 /* 6440 */ GIM_Try, /*On fail goto*//*Label 316*/ GIMT_Encode4(6467), // Rule ID 256 //
2920 /* 6445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsFP64bit_IsNotSoftFloat_NotInMips16Mode),
2921 /* 6448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
2922 /* 6452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2923 /* 6456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2924 /* 6460 */ // (MipsBuildPairF64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$lo, GPR32Opnd:{ *:[i32] }:$hi) => (BuildPairF64_64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$lo, GPR32Opnd:{ *:[i32] }:$hi)
2925 /* 6460 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BuildPairF64_64),
2926 /* 6465 */ GIR_RootConstrainSelectedInstOperands,
2927 /* 6466 */ // GIR_Coverage, 256,
2928 /* 6466 */ GIR_Done,
2929 /* 6467 */ // Label 316: @6467
2930 /* 6467 */ GIM_Reject,
2931 /* 6468 */ // Label 314: @6468
2932 /* 6468 */ GIM_Reject,
2933 /* 6469 */ // Label 11: @6469
2934 /* 6469 */ GIM_Try, /*On fail goto*//*Label 317*/ GIMT_Encode4(6540),
2935 /* 6474 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
2936 /* 6477 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
2937 /* 6480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2938 /* 6483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2939 /* 6487 */ GIM_Try, /*On fail goto*//*Label 318*/ GIMT_Encode4(6513), // Rule ID 794 //
2940 /* 6492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc),
2941 /* 6495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2942 /* 6499 */ // MIs[0] rs
2943 /* 6499 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2944 /* 6504 */ // (build_vector:{ *:[v2i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rs) => (FILL_D:{ *:[v2i64] } GPR64Opnd:{ *:[i64] }:$rs)
2945 /* 6504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_D),
2946 /* 6507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2947 /* 6509 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2948 /* 6511 */ GIR_RootConstrainSelectedInstOperands,
2949 /* 6512 */ // GIR_Coverage, 794,
2950 /* 6512 */ GIR_EraseRootFromParent_Done,
2951 /* 6513 */ // Label 318: @6513
2952 /* 6513 */ GIM_Try, /*On fail goto*//*Label 319*/ GIMT_Encode4(6539), // Rule ID 796 //
2953 /* 6518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2954 /* 6521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
2955 /* 6525 */ // MIs[0] fs
2956 /* 6525 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2957 /* 6530 */ // (build_vector:{ *:[v2f64] } FGR64:{ *:[f64] }:$fs, FGR64:{ *:[f64] }:$fs) => (FILL_FD_PSEUDO:{ *:[v2f64] } FGR64:{ *:[f64] }:$fs)
2958 /* 6530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_FD_PSEUDO),
2959 /* 6533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2960 /* 6535 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
2961 /* 6537 */ GIR_RootConstrainSelectedInstOperands,
2962 /* 6538 */ // GIR_Coverage, 796,
2963 /* 6538 */ GIR_EraseRootFromParent_Done,
2964 /* 6539 */ // Label 319: @6539
2965 /* 6539 */ GIM_Reject,
2966 /* 6540 */ // Label 317: @6540
2967 /* 6540 */ GIM_Try, /*On fail goto*//*Label 320*/ GIMT_Encode4(6631),
2968 /* 6545 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
2969 /* 6548 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
2970 /* 6551 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2971 /* 6554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2972 /* 6558 */ GIM_Try, /*On fail goto*//*Label 321*/ GIMT_Encode4(6594), // Rule ID 793 //
2973 /* 6563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2974 /* 6566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2975 /* 6570 */ // MIs[0] rs
2976 /* 6570 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2977 /* 6575 */ // MIs[0] rs
2978 /* 6575 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/3, /*OtherMI*/0, /*OtherOpIdx*/1,
2979 /* 6580 */ // MIs[0] rs
2980 /* 6580 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/4, /*OtherMI*/0, /*OtherOpIdx*/1,
2981 /* 6585 */ // (build_vector:{ *:[v4i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs) => (FILL_W:{ *:[v4i32] } GPR32Opnd:{ *:[i32] }:$rs)
2982 /* 6585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_W),
2983 /* 6588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2984 /* 6590 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2985 /* 6592 */ GIR_RootConstrainSelectedInstOperands,
2986 /* 6593 */ // GIR_Coverage, 793,
2987 /* 6593 */ GIR_EraseRootFromParent_Done,
2988 /* 6594 */ // Label 321: @6594
2989 /* 6594 */ GIM_Try, /*On fail goto*//*Label 322*/ GIMT_Encode4(6630), // Rule ID 795 //
2990 /* 6599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
2991 /* 6602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
2992 /* 6606 */ // MIs[0] fs
2993 /* 6606 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2994 /* 6611 */ // MIs[0] fs
2995 /* 6611 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/3, /*OtherMI*/0, /*OtherOpIdx*/1,
2996 /* 6616 */ // MIs[0] fs
2997 /* 6616 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/4, /*OtherMI*/0, /*OtherOpIdx*/1,
2998 /* 6621 */ // (build_vector:{ *:[v4f32] } FGR32:{ *:[f32] }:$fs, FGR32:{ *:[f32] }:$fs, FGR32:{ *:[f32] }:$fs, FGR32:{ *:[f32] }:$fs) => (FILL_FW_PSEUDO:{ *:[v4f32] } FGR32:{ *:[f32] }:$fs)
2999 /* 6621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_FW_PSEUDO),
3000 /* 6624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
3001 /* 6626 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
3002 /* 6628 */ GIR_RootConstrainSelectedInstOperands,
3003 /* 6629 */ // GIR_Coverage, 795,
3004 /* 6629 */ GIR_EraseRootFromParent_Done,
3005 /* 6630 */ // Label 322: @6630
3006 /* 6630 */ GIM_Reject,
3007 /* 6631 */ // Label 320: @6631
3008 /* 6631 */ GIM_Try, /*On fail goto*//*Label 323*/ GIMT_Encode4(6700), // Rule ID 792 //
3009 /* 6636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
3010 /* 6639 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/9,
3011 /* 6642 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
3012 /* 6645 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3013 /* 6648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
3014 /* 6652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3015 /* 6656 */ // MIs[0] rs
3016 /* 6656 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
3017 /* 6661 */ // MIs[0] rs
3018 /* 6661 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/3, /*OtherMI*/0, /*OtherOpIdx*/1,
3019 /* 6666 */ // MIs[0] rs
3020 /* 6666 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/4, /*OtherMI*/0, /*OtherOpIdx*/1,
3021 /* 6671 */ // MIs[0] rs
3022 /* 6671 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/5, /*OtherMI*/0, /*OtherOpIdx*/1,
3023 /* 6676 */ // MIs[0] rs
3024 /* 6676 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/6, /*OtherMI*/0, /*OtherOpIdx*/1,
3025 /* 6681 */ // MIs[0] rs
3026 /* 6681 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/7, /*OtherMI*/0, /*OtherOpIdx*/1,
3027 /* 6686 */ // MIs[0] rs
3028 /* 6686 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/8, /*OtherMI*/0, /*OtherOpIdx*/1,
3029 /* 6691 */ // (build_vector:{ *:[v8i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs) => (FILL_H:{ *:[v8i16] } GPR32Opnd:{ *:[i32] }:$rs)
3030 /* 6691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_H),
3031 /* 6694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
3032 /* 6696 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
3033 /* 6698 */ GIR_RootConstrainSelectedInstOperands,
3034 /* 6699 */ // GIR_Coverage, 792,
3035 /* 6699 */ GIR_EraseRootFromParent_Done,
3036 /* 6700 */ // Label 323: @6700
3037 /* 6700 */ GIM_Try, /*On fail goto*//*Label 324*/ GIMT_Encode4(6809), // Rule ID 791 //
3038 /* 6705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
3039 /* 6708 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/17,
3040 /* 6711 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
3041 /* 6714 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3042 /* 6717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
3043 /* 6721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3044 /* 6725 */ // MIs[0] rs
3045 /* 6725 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
3046 /* 6730 */ // MIs[0] rs
3047 /* 6730 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/3, /*OtherMI*/0, /*OtherOpIdx*/1,
3048 /* 6735 */ // MIs[0] rs
3049 /* 6735 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/4, /*OtherMI*/0, /*OtherOpIdx*/1,
3050 /* 6740 */ // MIs[0] rs
3051 /* 6740 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/5, /*OtherMI*/0, /*OtherOpIdx*/1,
3052 /* 6745 */ // MIs[0] rs
3053 /* 6745 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/6, /*OtherMI*/0, /*OtherOpIdx*/1,
3054 /* 6750 */ // MIs[0] rs
3055 /* 6750 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/7, /*OtherMI*/0, /*OtherOpIdx*/1,
3056 /* 6755 */ // MIs[0] rs
3057 /* 6755 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/8, /*OtherMI*/0, /*OtherOpIdx*/1,
3058 /* 6760 */ // MIs[0] rs
3059 /* 6760 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/9, /*OtherMI*/0, /*OtherOpIdx*/1,
3060 /* 6765 */ // MIs[0] rs
3061 /* 6765 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/10, /*OtherMI*/0, /*OtherOpIdx*/1,
3062 /* 6770 */ // MIs[0] rs
3063 /* 6770 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/11, /*OtherMI*/0, /*OtherOpIdx*/1,
3064 /* 6775 */ // MIs[0] rs
3065 /* 6775 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/12, /*OtherMI*/0, /*OtherOpIdx*/1,
3066 /* 6780 */ // MIs[0] rs
3067 /* 6780 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/13, /*OtherMI*/0, /*OtherOpIdx*/1,
3068 /* 6785 */ // MIs[0] rs
3069 /* 6785 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/14, /*OtherMI*/0, /*OtherOpIdx*/1,
3070 /* 6790 */ // MIs[0] rs
3071 /* 6790 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/15, /*OtherMI*/0, /*OtherOpIdx*/1,
3072 /* 6795 */ // MIs[0] rs
3073 /* 6795 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/16, /*OtherMI*/0, /*OtherOpIdx*/1,
3074 /* 6800 */ // (build_vector:{ *:[v16i8] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs) => (FILL_B:{ *:[v16i8] } GPR32Opnd:{ *:[i32] }:$rs)
3075 /* 6800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_B),
3076 /* 6803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
3077 /* 6805 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
3078 /* 6807 */ GIR_RootConstrainSelectedInstOperands,
3079 /* 6808 */ // GIR_Coverage, 791,
3080 /* 6808 */ GIR_EraseRootFromParent_Done,
3081 /* 6809 */ // Label 324: @6809
3082 /* 6809 */ GIM_Reject,
3083 /* 6810 */ // Label 12: @6810
3084 /* 6810 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 333*/ GIMT_Encode4(11120),
3085 /* 6821 */ /*GILLT_s32*//*Label 325*/ GIMT_Encode4(6853),
3086 /* 6825 */ /*GILLT_s64*//*Label 326*/ GIMT_Encode4(7130),
3087 /* 6829 */ /*GILLT_v2s16*//*Label 327*/ GIMT_Encode4(7186),
3088 /* 6833 */ /*GILLT_v2s64*//*Label 328*/ GIMT_Encode4(7246),
3089 /* 6837 */ /*GILLT_v4s8*//*Label 329*/ GIMT_Encode4(8381),
3090 /* 6841 */ /*GILLT_v4s32*//*Label 330*/ GIMT_Encode4(8441),
3091 /* 6845 */ /*GILLT_v8s16*//*Label 331*/ GIMT_Encode4(9510),
3092 /* 6849 */ /*GILLT_v16s8*//*Label 332*/ GIMT_Encode4(10435),
3093 /* 6853 */ // Label 325: @6853
3094 /* 6853 */ GIM_Try, /*On fail goto*//*Label 334*/ GIMT_Encode4(6879), // Rule ID 138 //
3095 /* 6858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
3096 /* 6861 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3097 /* 6864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3098 /* 6868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3099 /* 6872 */ // (bitconvert:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs) => (MFC1:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs)
3100 /* 6872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MFC1),
3101 /* 6877 */ GIR_RootConstrainSelectedInstOperands,
3102 /* 6878 */ // GIR_Coverage, 138,
3103 /* 6878 */ GIR_Done,
3104 /* 6879 */ // Label 334: @6879
3105 /* 6879 */ GIM_Try, /*On fail goto*//*Label 335*/ GIMT_Encode4(6905), // Rule ID 139 //
3106 /* 6884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
3107 /* 6887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3108 /* 6890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3109 /* 6894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3110 /* 6898 */ // (bitconvert:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt) => (MTC1:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt)
3111 /* 6898 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MTC1),
3112 /* 6903 */ GIR_RootConstrainSelectedInstOperands,
3113 /* 6904 */ // GIR_Coverage, 139,
3114 /* 6904 */ GIR_Done,
3115 /* 6905 */ // Label 335: @6905
3116 /* 6905 */ GIM_Try, /*On fail goto*//*Label 336*/ GIMT_Encode4(6931), // Rule ID 1235 //
3117 /* 6910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
3118 /* 6913 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3119 /* 6916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3120 /* 6920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3121 /* 6924 */ // (bitconvert:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs) => (MFC1_MM:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs)
3122 /* 6924 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MFC1_MM),
3123 /* 6929 */ GIR_RootConstrainSelectedInstOperands,
3124 /* 6930 */ // GIR_Coverage, 1235,
3125 /* 6930 */ GIR_Done,
3126 /* 6931 */ // Label 336: @6931
3127 /* 6931 */ GIM_Try, /*On fail goto*//*Label 337*/ GIMT_Encode4(6957), // Rule ID 1236 //
3128 /* 6936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
3129 /* 6939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3130 /* 6942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3131 /* 6946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3132 /* 6950 */ // (bitconvert:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt) => (MTC1_MM:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt)
3133 /* 6950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MTC1_MM),
3134 /* 6955 */ GIR_RootConstrainSelectedInstOperands,
3135 /* 6956 */ // GIR_Coverage, 1236,
3136 /* 6956 */ GIR_Done,
3137 /* 6957 */ // Label 337: @6957
3138 /* 6957 */ GIM_Try, /*On fail goto*//*Label 338*/ GIMT_Encode4(6983), // Rule ID 1250 //
3139 /* 6962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
3140 /* 6965 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3141 /* 6968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3142 /* 6972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3143 /* 6976 */ // (bitconvert:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt) => (MTC1_MMR6:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt)
3144 /* 6976 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MTC1_MMR6),
3145 /* 6981 */ GIR_RootConstrainSelectedInstOperands,
3146 /* 6982 */ // GIR_Coverage, 1250,
3147 /* 6982 */ GIR_Done,
3148 /* 6983 */ // Label 338: @6983
3149 /* 6983 */ GIM_Try, /*On fail goto*//*Label 339*/ GIMT_Encode4(7009), // Rule ID 1251 //
3150 /* 6988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
3151 /* 6991 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3152 /* 6994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3153 /* 6998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3154 /* 7002 */ // (bitconvert:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs) => (MFC1_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs)
3155 /* 7002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MFC1_MMR6),
3156 /* 7007 */ GIR_RootConstrainSelectedInstOperands,
3157 /* 7008 */ // GIR_Coverage, 1251,
3158 /* 7008 */ GIR_Done,
3159 /* 7009 */ // Label 339: @7009
3160 /* 7009 */ GIM_Try, /*On fail goto*//*Label 340*/ GIMT_Encode4(7039), // Rule ID 2040 //
3161 /* 7014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
3162 /* 7017 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
3163 /* 7020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3164 /* 7024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3165 /* 7028 */ // (bitconvert:{ *:[i32] } DSPR:{ *:[v2i16] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } DSPR:{ *:[v2i16] }:$src, GPR32:{ *:[i32] })
3166 /* 7028 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3167 /* 7033 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR32RegClassID),
3168 /* 7038 */ // GIR_Coverage, 2040,
3169 /* 7038 */ GIR_Done,
3170 /* 7039 */ // Label 340: @7039
3171 /* 7039 */ GIM_Try, /*On fail goto*//*Label 341*/ GIMT_Encode4(7069), // Rule ID 2041 //
3172 /* 7044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
3173 /* 7047 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
3174 /* 7050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3175 /* 7054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3176 /* 7058 */ // (bitconvert:{ *:[i32] } DSPR:{ *:[v4i8] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } DSPR:{ *:[v4i8] }:$src, GPR32:{ *:[i32] })
3177 /* 7058 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3178 /* 7063 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR32RegClassID),
3179 /* 7068 */ // GIR_Coverage, 2041,
3180 /* 7068 */ GIR_Done,
3181 /* 7069 */ // Label 341: @7069
3182 /* 7069 */ GIM_Try, /*On fail goto*//*Label 342*/ GIMT_Encode4(7099), // Rule ID 2044 //
3183 /* 7074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
3184 /* 7077 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
3185 /* 7080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3186 /* 7084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3187 /* 7088 */ // (bitconvert:{ *:[f32] } DSPR:{ *:[v2i16] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } DSPR:{ *:[v2i16] }:$src, FGR32:{ *:[i32] })
3188 /* 7088 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3189 /* 7093 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::FGR32RegClassID),
3190 /* 7098 */ // GIR_Coverage, 2044,
3191 /* 7098 */ GIR_Done,
3192 /* 7099 */ // Label 342: @7099
3193 /* 7099 */ GIM_Try, /*On fail goto*//*Label 343*/ GIMT_Encode4(7129), // Rule ID 2045 //
3194 /* 7104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
3195 /* 7107 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
3196 /* 7110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3197 /* 7114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3198 /* 7118 */ // (bitconvert:{ *:[f32] } DSPR:{ *:[v4i8] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } DSPR:{ *:[v4i8] }:$src, FGR32:{ *:[i32] })
3199 /* 7118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3200 /* 7123 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::FGR32RegClassID),
3201 /* 7128 */ // GIR_Coverage, 2045,
3202 /* 7128 */ GIR_Done,
3203 /* 7129 */ // Label 343: @7129
3204 /* 7129 */ GIM_Reject,
3205 /* 7130 */ // Label 326: @7130
3206 /* 7130 */ GIM_Try, /*On fail goto*//*Label 344*/ GIMT_Encode4(7185),
3207 /* 7135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
3208 /* 7138 */ GIM_Try, /*On fail goto*//*Label 345*/ GIMT_Encode4(7161), // Rule ID 140 //
3209 /* 7143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
3210 /* 7146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
3211 /* 7150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
3212 /* 7154 */ // (bitconvert:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$rt) => (DMTC1:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$rt)
3213 /* 7154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMTC1),
3214 /* 7159 */ GIR_RootConstrainSelectedInstOperands,
3215 /* 7160 */ // GIR_Coverage, 140,
3216 /* 7160 */ GIR_Done,
3217 /* 7161 */ // Label 345: @7161
3218 /* 7161 */ GIM_Try, /*On fail goto*//*Label 346*/ GIMT_Encode4(7184), // Rule ID 141 //
3219 /* 7166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
3220 /* 7169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
3221 /* 7173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
3222 /* 7177 */ // (bitconvert:{ *:[i64] } FGR64Opnd:{ *:[f64] }:$fs) => (DMFC1:{ *:[i64] } FGR64Opnd:{ *:[f64] }:$fs)
3223 /* 7177 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMFC1),
3224 /* 7182 */ GIR_RootConstrainSelectedInstOperands,
3225 /* 7183 */ // GIR_Coverage, 141,
3226 /* 7183 */ GIR_Done,
3227 /* 7184 */ // Label 346: @7184
3228 /* 7184 */ GIM_Reject,
3229 /* 7185 */ // Label 344: @7185
3230 /* 7185 */ GIM_Reject,
3231 /* 7186 */ // Label 327: @7186
3232 /* 7186 */ GIM_Try, /*On fail goto*//*Label 347*/ GIMT_Encode4(7245),
3233 /* 7191 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3234 /* 7194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3235 /* 7198 */ GIM_Try, /*On fail goto*//*Label 348*/ GIMT_Encode4(7221), // Rule ID 2042 //
3236 /* 7203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
3237 /* 7206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3238 /* 7210 */ // (bitconvert:{ *:[v2i16] } GPR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i16] } GPR32:{ *:[i32] }:$src, DSPR:{ *:[i32] })
3239 /* 7210 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3240 /* 7215 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
3241 /* 7220 */ // GIR_Coverage, 2042,
3242 /* 7220 */ GIR_Done,
3243 /* 7221 */ // Label 348: @7221
3244 /* 7221 */ GIM_Try, /*On fail goto*//*Label 349*/ GIMT_Encode4(7244), // Rule ID 2046 //
3245 /* 7226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
3246 /* 7229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3247 /* 7233 */ // (bitconvert:{ *:[v2i16] } FGR32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i16] } FGR32:{ *:[f32] }:$src, DSPR:{ *:[i32] })
3248 /* 7233 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3249 /* 7238 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
3250 /* 7243 */ // GIR_Coverage, 2046,
3251 /* 7243 */ GIR_Done,
3252 /* 7244 */ // Label 349: @7244
3253 /* 7244 */ GIM_Reject,
3254 /* 7245 */ // Label 347: @7245
3255 /* 7245 */ GIM_Reject,
3256 /* 7246 */ // Label 328: @7246
3257 /* 7246 */ GIM_Try, /*On fail goto*//*Label 350*/ GIMT_Encode4(7272), // Rule ID 2127 //
3258 /* 7251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
3259 /* 7254 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3260 /* 7257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3261 /* 7261 */ // (bitconvert:{ *:[v2i64] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v2f64:{ *:[v2f64] }:$src, MSA128D:{ *:[i32] })
3262 /* 7261 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3263 /* 7266 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3264 /* 7271 */ // GIR_Coverage, 2127,
3265 /* 7271 */ GIR_Done,
3266 /* 7272 */ // Label 350: @7272
3267 /* 7272 */ GIM_Try, /*On fail goto*//*Label 351*/ GIMT_Encode4(7298), // Rule ID 2130 //
3268 /* 7277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
3269 /* 7280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3270 /* 7283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3271 /* 7287 */ // (bitconvert:{ *:[v2f64] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v2i64:{ *:[v2i64] }:$src, MSA128D:{ *:[i32] })
3272 /* 7287 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3273 /* 7292 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3274 /* 7297 */ // GIR_Coverage, 2130,
3275 /* 7297 */ GIR_Done,
3276 /* 7298 */ // Label 351: @7298
3277 /* 7298 */ GIM_Try, /*On fail goto*//*Label 352*/ GIMT_Encode4(7324), // Rule ID 2147 //
3278 /* 7303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3279 /* 7306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3280 /* 7309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3281 /* 7313 */ // (bitconvert:{ *:[v2i64] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v16i8:{ *:[v16i8] }:$src, MSA128D:{ *:[i32] })
3282 /* 7313 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3283 /* 7318 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3284 /* 7323 */ // GIR_Coverage, 2147,
3285 /* 7323 */ GIR_Done,
3286 /* 7324 */ // Label 352: @7324
3287 /* 7324 */ GIM_Try, /*On fail goto*//*Label 353*/ GIMT_Encode4(7350), // Rule ID 2148 //
3288 /* 7329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3289 /* 7332 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3290 /* 7335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3291 /* 7339 */ // (bitconvert:{ *:[v2i64] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v8i16:{ *:[v8i16] }:$src, MSA128D:{ *:[i32] })
3292 /* 7339 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3293 /* 7344 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3294 /* 7349 */ // GIR_Coverage, 2148,
3295 /* 7349 */ GIR_Done,
3296 /* 7350 */ // Label 353: @7350
3297 /* 7350 */ GIM_Try, /*On fail goto*//*Label 354*/ GIMT_Encode4(7376), // Rule ID 2149 //
3298 /* 7355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3299 /* 7358 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3300 /* 7361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3301 /* 7365 */ // (bitconvert:{ *:[v2i64] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v4i32:{ *:[v4i32] }:$src, MSA128D:{ *:[i32] })
3302 /* 7365 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3303 /* 7370 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3304 /* 7375 */ // GIR_Coverage, 2149,
3305 /* 7375 */ GIR_Done,
3306 /* 7376 */ // Label 354: @7376
3307 /* 7376 */ GIM_Try, /*On fail goto*//*Label 355*/ GIMT_Encode4(7402), // Rule ID 2150 //
3308 /* 7381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3309 /* 7384 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3310 /* 7387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3311 /* 7391 */ // (bitconvert:{ *:[v2i64] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v8f16:{ *:[v8f16] }:$src, MSA128D:{ *:[i32] })
3312 /* 7391 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3313 /* 7396 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3314 /* 7401 */ // GIR_Coverage, 2150,
3315 /* 7401 */ GIR_Done,
3316 /* 7402 */ // Label 355: @7402
3317 /* 7402 */ GIM_Try, /*On fail goto*//*Label 356*/ GIMT_Encode4(7428), // Rule ID 2151 //
3318 /* 7407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3319 /* 7410 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3320 /* 7413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3321 /* 7417 */ // (bitconvert:{ *:[v2i64] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v4f32:{ *:[v4f32] }:$src, MSA128D:{ *:[i32] })
3322 /* 7417 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3323 /* 7422 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3324 /* 7427 */ // GIR_Coverage, 2151,
3325 /* 7427 */ GIR_Done,
3326 /* 7428 */ // Label 356: @7428
3327 /* 7428 */ GIM_Try, /*On fail goto*//*Label 357*/ GIMT_Encode4(7454), // Rule ID 2157 //
3328 /* 7433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3329 /* 7436 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3330 /* 7439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3331 /* 7443 */ // (bitconvert:{ *:[v2f64] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v16i8:{ *:[v16i8] }:$src, MSA128D:{ *:[i32] })
3332 /* 7443 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3333 /* 7448 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3334 /* 7453 */ // GIR_Coverage, 2157,
3335 /* 7453 */ GIR_Done,
3336 /* 7454 */ // Label 357: @7454
3337 /* 7454 */ GIM_Try, /*On fail goto*//*Label 358*/ GIMT_Encode4(7480), // Rule ID 2158 //
3338 /* 7459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3339 /* 7462 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3340 /* 7465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3341 /* 7469 */ // (bitconvert:{ *:[v2f64] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v8i16:{ *:[v8i16] }:$src, MSA128D:{ *:[i32] })
3342 /* 7469 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3343 /* 7474 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3344 /* 7479 */ // GIR_Coverage, 2158,
3345 /* 7479 */ GIR_Done,
3346 /* 7480 */ // Label 358: @7480
3347 /* 7480 */ GIM_Try, /*On fail goto*//*Label 359*/ GIMT_Encode4(7506), // Rule ID 2159 //
3348 /* 7485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3349 /* 7488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3350 /* 7491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3351 /* 7495 */ // (bitconvert:{ *:[v2f64] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v4i32:{ *:[v4i32] }:$src, MSA128D:{ *:[i32] })
3352 /* 7495 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3353 /* 7500 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3354 /* 7505 */ // GIR_Coverage, 2159,
3355 /* 7505 */ GIR_Done,
3356 /* 7506 */ // Label 359: @7506
3357 /* 7506 */ GIM_Try, /*On fail goto*//*Label 360*/ GIMT_Encode4(7532), // Rule ID 2160 //
3358 /* 7511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3359 /* 7514 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3360 /* 7517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3361 /* 7521 */ // (bitconvert:{ *:[v2f64] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v8f16:{ *:[v8f16] }:$src, MSA128D:{ *:[i32] })
3362 /* 7521 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3363 /* 7526 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3364 /* 7531 */ // GIR_Coverage, 2160,
3365 /* 7531 */ GIR_Done,
3366 /* 7532 */ // Label 360: @7532
3367 /* 7532 */ GIM_Try, /*On fail goto*//*Label 361*/ GIMT_Encode4(7558), // Rule ID 2161 //
3368 /* 7537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3369 /* 7540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3370 /* 7543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3371 /* 7547 */ // (bitconvert:{ *:[v2f64] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v4f32:{ *:[v4f32] }:$src, MSA128D:{ *:[i32] })
3372 /* 7547 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3373 /* 7552 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3374 /* 7557 */ // GIR_Coverage, 2161,
3375 /* 7557 */ GIR_Done,
3376 /* 7558 */ // Label 361: @7558
3377 /* 7558 */ GIM_Try, /*On fail goto*//*Label 362*/ GIMT_Encode4(7675), // Rule ID 2166 //
3378 /* 7563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3379 /* 7566 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3380 /* 7569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3381 /* 7573 */ // (bitconvert:{ *:[v2i64] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$src, MSA128B:{ *:[i32] }), 27:{ *:[i32] }), MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128D:{ *:[i32] })
3382 /* 7573 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s8,
3383 /* 7576 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3384 /* 7580 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3385 /* 7585 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
3386 /* 7589 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3387 /* 7594 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s8,
3388 /* 7597 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3389 /* 7601 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3390 /* 7606 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
3391 /* 7609 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/27,
3392 /* 7612 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
3393 /* 7614 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3394 /* 7617 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3395 /* 7621 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3396 /* 7626 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
3397 /* 7629 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3398 /* 7634 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3399 /* 7637 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3400 /* 7641 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3401 /* 7646 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3402 /* 7649 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3403 /* 7659 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3404 /* 7661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3405 /* 7664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3406 /* 7666 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3407 /* 7669 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3408 /* 7674 */ // GIR_Coverage, 2166,
3409 /* 7674 */ GIR_EraseRootFromParent_Done,
3410 /* 7675 */ // Label 362: @7675
3411 /* 7675 */ GIM_Try, /*On fail goto*//*Label 363*/ GIMT_Encode4(7792), // Rule ID 2167 //
3412 /* 7680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3413 /* 7683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3414 /* 7686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3415 /* 7690 */ // (bitconvert:{ *:[v2f64] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$src, MSA128B:{ *:[i32] }), 27:{ *:[i32] }), MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128D:{ *:[i32] })
3416 /* 7690 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s8,
3417 /* 7693 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3418 /* 7697 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3419 /* 7702 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
3420 /* 7706 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3421 /* 7711 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s8,
3422 /* 7714 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3423 /* 7718 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3424 /* 7723 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
3425 /* 7726 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/27,
3426 /* 7729 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
3427 /* 7731 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3428 /* 7734 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3429 /* 7738 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3430 /* 7743 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
3431 /* 7746 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3432 /* 7751 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3433 /* 7754 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3434 /* 7758 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3435 /* 7763 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3436 /* 7766 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3437 /* 7776 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3438 /* 7778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3439 /* 7781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3440 /* 7783 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3441 /* 7786 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3442 /* 7791 */ // GIR_Coverage, 2167,
3443 /* 7791 */ GIR_EraseRootFromParent_Done,
3444 /* 7792 */ // Label 363: @7792
3445 /* 7792 */ GIM_Try, /*On fail goto*//*Label 364*/ GIMT_Encode4(7862), // Rule ID 2171 //
3446 /* 7797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3447 /* 7800 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3448 /* 7803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3449 /* 7807 */ // (bitconvert:{ *:[v2i64] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, MSA128H:{ *:[i32] }), 27:{ *:[i32] }), MSA128D:{ *:[i32] })
3450 /* 7807 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3451 /* 7810 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3452 /* 7814 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3453 /* 7819 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3454 /* 7823 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3455 /* 7828 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3456 /* 7831 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3457 /* 7835 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3458 /* 7840 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3459 /* 7843 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3460 /* 7846 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3461 /* 7848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3462 /* 7851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3463 /* 7853 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3464 /* 7856 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3465 /* 7861 */ // GIR_Coverage, 2171,
3466 /* 7861 */ GIR_EraseRootFromParent_Done,
3467 /* 7862 */ // Label 364: @7862
3468 /* 7862 */ GIM_Try, /*On fail goto*//*Label 365*/ GIMT_Encode4(7932), // Rule ID 2172 //
3469 /* 7867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3470 /* 7870 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3471 /* 7873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3472 /* 7877 */ // (bitconvert:{ *:[v2f64] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, MSA128H:{ *:[i32] }), 27:{ *:[i32] }), MSA128D:{ *:[i32] })
3473 /* 7877 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3474 /* 7880 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3475 /* 7884 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3476 /* 7889 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3477 /* 7893 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3478 /* 7898 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3479 /* 7901 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3480 /* 7905 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3481 /* 7910 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3482 /* 7913 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3483 /* 7916 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3484 /* 7918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3485 /* 7921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3486 /* 7923 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3487 /* 7926 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3488 /* 7931 */ // GIR_Coverage, 2172,
3489 /* 7931 */ GIR_EraseRootFromParent_Done,
3490 /* 7932 */ // Label 365: @7932
3491 /* 7932 */ GIM_Try, /*On fail goto*//*Label 366*/ GIMT_Encode4(8002), // Rule ID 2176 //
3492 /* 7937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3493 /* 7940 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3494 /* 7943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3495 /* 7947 */ // (bitconvert:{ *:[v2i64] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v8f16:{ *:[v8f16] }:$src, MSA128H:{ *:[i32] }), 27:{ *:[i32] }), MSA128D:{ *:[i32] })
3496 /* 7947 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3497 /* 7950 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3498 /* 7954 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3499 /* 7959 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3500 /* 7963 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3501 /* 7968 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3502 /* 7971 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3503 /* 7975 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3504 /* 7980 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3505 /* 7983 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3506 /* 7986 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3507 /* 7988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3508 /* 7991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3509 /* 7993 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3510 /* 7996 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3511 /* 8001 */ // GIR_Coverage, 2176,
3512 /* 8001 */ GIR_EraseRootFromParent_Done,
3513 /* 8002 */ // Label 366: @8002
3514 /* 8002 */ GIM_Try, /*On fail goto*//*Label 367*/ GIMT_Encode4(8072), // Rule ID 2177 //
3515 /* 8007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3516 /* 8010 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3517 /* 8013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3518 /* 8017 */ // (bitconvert:{ *:[v2f64] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v8f16:{ *:[v8f16] }:$src, MSA128H:{ *:[i32] }), 27:{ *:[i32] }), MSA128D:{ *:[i32] })
3519 /* 8017 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3520 /* 8020 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3521 /* 8024 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3522 /* 8029 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3523 /* 8033 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3524 /* 8038 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3525 /* 8041 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3526 /* 8045 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3527 /* 8050 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3528 /* 8053 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3529 /* 8056 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3530 /* 8058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3531 /* 8061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3532 /* 8063 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3533 /* 8066 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3534 /* 8071 */ // GIR_Coverage, 2177,
3535 /* 8071 */ GIR_EraseRootFromParent_Done,
3536 /* 8072 */ // Label 367: @8072
3537 /* 8072 */ GIM_Try, /*On fail goto*//*Label 368*/ GIMT_Encode4(8149), // Rule ID 2181 //
3538 /* 8077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3539 /* 8080 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3540 /* 8083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3541 /* 8087 */ // (bitconvert:{ *:[v2i64] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$src, MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128D:{ *:[i32] })
3542 /* 8087 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3543 /* 8090 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3544 /* 8094 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3545 /* 8099 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3546 /* 8103 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3547 /* 8108 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3548 /* 8111 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3549 /* 8115 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3550 /* 8120 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3551 /* 8123 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3552 /* 8133 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3553 /* 8135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3554 /* 8138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3555 /* 8140 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3556 /* 8143 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3557 /* 8148 */ // GIR_Coverage, 2181,
3558 /* 8148 */ GIR_EraseRootFromParent_Done,
3559 /* 8149 */ // Label 368: @8149
3560 /* 8149 */ GIM_Try, /*On fail goto*//*Label 369*/ GIMT_Encode4(8226), // Rule ID 2182 //
3561 /* 8154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3562 /* 8157 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3563 /* 8160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3564 /* 8164 */ // (bitconvert:{ *:[v2f64] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$src, MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128D:{ *:[i32] })
3565 /* 8164 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3566 /* 8167 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3567 /* 8171 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3568 /* 8176 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3569 /* 8180 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3570 /* 8185 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3571 /* 8188 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3572 /* 8192 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3573 /* 8197 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3574 /* 8200 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3575 /* 8210 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3576 /* 8212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3577 /* 8215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3578 /* 8217 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3579 /* 8220 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3580 /* 8225 */ // GIR_Coverage, 2182,
3581 /* 8225 */ GIR_EraseRootFromParent_Done,
3582 /* 8226 */ // Label 369: @8226
3583 /* 8226 */ GIM_Try, /*On fail goto*//*Label 370*/ GIMT_Encode4(8303), // Rule ID 2186 //
3584 /* 8231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3585 /* 8234 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3586 /* 8237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3587 /* 8241 */ // (bitconvert:{ *:[v2i64] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } v4f32:{ *:[v4f32] }:$src, MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128D:{ *:[i32] })
3588 /* 8241 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3589 /* 8244 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3590 /* 8248 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3591 /* 8253 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3592 /* 8257 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3593 /* 8262 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3594 /* 8265 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3595 /* 8269 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3596 /* 8274 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3597 /* 8277 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3598 /* 8287 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3599 /* 8289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3600 /* 8292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3601 /* 8294 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3602 /* 8297 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3603 /* 8302 */ // GIR_Coverage, 2186,
3604 /* 8302 */ GIR_EraseRootFromParent_Done,
3605 /* 8303 */ // Label 370: @8303
3606 /* 8303 */ GIM_Try, /*On fail goto*//*Label 371*/ GIMT_Encode4(8380), // Rule ID 2187 //
3607 /* 8308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3608 /* 8311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3609 /* 8314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
3610 /* 8318 */ // (bitconvert:{ *:[v2f64] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } v4f32:{ *:[v4f32] }:$src, MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128D:{ *:[i32] })
3611 /* 8318 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3612 /* 8321 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3613 /* 8325 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3614 /* 8330 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3615 /* 8334 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3616 /* 8339 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3617 /* 8342 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3618 /* 8346 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3619 /* 8351 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3620 /* 8354 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3621 /* 8364 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3622 /* 8366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3623 /* 8369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3624 /* 8371 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3625 /* 8374 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
3626 /* 8379 */ // GIR_Coverage, 2187,
3627 /* 8379 */ GIR_EraseRootFromParent_Done,
3628 /* 8380 */ // Label 371: @8380
3629 /* 8380 */ GIM_Reject,
3630 /* 8381 */ // Label 329: @8381
3631 /* 8381 */ GIM_Try, /*On fail goto*//*Label 372*/ GIMT_Encode4(8440),
3632 /* 8386 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3633 /* 8389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3634 /* 8393 */ GIM_Try, /*On fail goto*//*Label 373*/ GIMT_Encode4(8416), // Rule ID 2043 //
3635 /* 8398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
3636 /* 8401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3637 /* 8405 */ // (bitconvert:{ *:[v4i8] } GPR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i8] } GPR32:{ *:[i32] }:$src, DSPR:{ *:[i32] })
3638 /* 8405 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3639 /* 8410 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
3640 /* 8415 */ // GIR_Coverage, 2043,
3641 /* 8415 */ GIR_Done,
3642 /* 8416 */ // Label 373: @8416
3643 /* 8416 */ GIM_Try, /*On fail goto*//*Label 374*/ GIMT_Encode4(8439), // Rule ID 2047 //
3644 /* 8421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
3645 /* 8424 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3646 /* 8428 */ // (bitconvert:{ *:[v4i8] } FGR32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i8] } FGR32:{ *:[f32] }:$src, DSPR:{ *:[i32] })
3647 /* 8428 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3648 /* 8433 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
3649 /* 8438 */ // GIR_Coverage, 2047,
3650 /* 8438 */ GIR_Done,
3651 /* 8439 */ // Label 374: @8439
3652 /* 8439 */ GIM_Reject,
3653 /* 8440 */ // Label 372: @8440
3654 /* 8440 */ GIM_Reject,
3655 /* 8441 */ // Label 330: @8441
3656 /* 8441 */ GIM_Try, /*On fail goto*//*Label 375*/ GIMT_Encode4(8467), // Rule ID 2126 //
3657 /* 8446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
3658 /* 8449 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3659 /* 8452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3660 /* 8456 */ // (bitconvert:{ *:[v4i32] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v4f32:{ *:[v4f32] }:$src, MSA128W:{ *:[i32] })
3661 /* 8456 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3662 /* 8461 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3663 /* 8466 */ // GIR_Coverage, 2126,
3664 /* 8466 */ GIR_Done,
3665 /* 8467 */ // Label 375: @8467
3666 /* 8467 */ GIM_Try, /*On fail goto*//*Label 376*/ GIMT_Encode4(8493), // Rule ID 2129 //
3667 /* 8472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
3668 /* 8475 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
3669 /* 8478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3670 /* 8482 */ // (bitconvert:{ *:[v4f32] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v4i32:{ *:[v4i32] }:$src, MSA128W:{ *:[i32] })
3671 /* 8482 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3672 /* 8487 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3673 /* 8492 */ // GIR_Coverage, 2129,
3674 /* 8492 */ GIR_Done,
3675 /* 8493 */ // Label 376: @8493
3676 /* 8493 */ GIM_Try, /*On fail goto*//*Label 377*/ GIMT_Encode4(8519), // Rule ID 2142 //
3677 /* 8498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3678 /* 8501 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3679 /* 8504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3680 /* 8508 */ // (bitconvert:{ *:[v4i32] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v16i8:{ *:[v16i8] }:$src, MSA128W:{ *:[i32] })
3681 /* 8508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3682 /* 8513 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3683 /* 8518 */ // GIR_Coverage, 2142,
3684 /* 8518 */ GIR_Done,
3685 /* 8519 */ // Label 377: @8519
3686 /* 8519 */ GIM_Try, /*On fail goto*//*Label 378*/ GIMT_Encode4(8545), // Rule ID 2143 //
3687 /* 8524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3688 /* 8527 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3689 /* 8530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3690 /* 8534 */ // (bitconvert:{ *:[v4i32] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v8i16:{ *:[v8i16] }:$src, MSA128W:{ *:[i32] })
3691 /* 8534 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3692 /* 8539 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3693 /* 8544 */ // GIR_Coverage, 2143,
3694 /* 8544 */ GIR_Done,
3695 /* 8545 */ // Label 378: @8545
3696 /* 8545 */ GIM_Try, /*On fail goto*//*Label 379*/ GIMT_Encode4(8571), // Rule ID 2144 //
3697 /* 8550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3698 /* 8553 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3699 /* 8556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3700 /* 8560 */ // (bitconvert:{ *:[v4i32] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v2i64:{ *:[v2i64] }:$src, MSA128W:{ *:[i32] })
3701 /* 8560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3702 /* 8565 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3703 /* 8570 */ // GIR_Coverage, 2144,
3704 /* 8570 */ GIR_Done,
3705 /* 8571 */ // Label 379: @8571
3706 /* 8571 */ GIM_Try, /*On fail goto*//*Label 380*/ GIMT_Encode4(8597), // Rule ID 2145 //
3707 /* 8576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3708 /* 8579 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3709 /* 8582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3710 /* 8586 */ // (bitconvert:{ *:[v4i32] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v8f16:{ *:[v8f16] }:$src, MSA128W:{ *:[i32] })
3711 /* 8586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3712 /* 8591 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3713 /* 8596 */ // GIR_Coverage, 2145,
3714 /* 8596 */ GIR_Done,
3715 /* 8597 */ // Label 380: @8597
3716 /* 8597 */ GIM_Try, /*On fail goto*//*Label 381*/ GIMT_Encode4(8623), // Rule ID 2146 //
3717 /* 8602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3718 /* 8605 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3719 /* 8608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3720 /* 8612 */ // (bitconvert:{ *:[v4i32] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v2f64:{ *:[v2f64] }:$src, MSA128W:{ *:[i32] })
3721 /* 8612 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3722 /* 8617 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3723 /* 8622 */ // GIR_Coverage, 2146,
3724 /* 8622 */ GIR_Done,
3725 /* 8623 */ // Label 381: @8623
3726 /* 8623 */ GIM_Try, /*On fail goto*//*Label 382*/ GIMT_Encode4(8649), // Rule ID 2152 //
3727 /* 8628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3728 /* 8631 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3729 /* 8634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3730 /* 8638 */ // (bitconvert:{ *:[v4f32] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v16i8:{ *:[v16i8] }:$src, MSA128W:{ *:[i32] })
3731 /* 8638 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3732 /* 8643 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3733 /* 8648 */ // GIR_Coverage, 2152,
3734 /* 8648 */ GIR_Done,
3735 /* 8649 */ // Label 382: @8649
3736 /* 8649 */ GIM_Try, /*On fail goto*//*Label 383*/ GIMT_Encode4(8675), // Rule ID 2153 //
3737 /* 8654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3738 /* 8657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3739 /* 8660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3740 /* 8664 */ // (bitconvert:{ *:[v4f32] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v8i16:{ *:[v8i16] }:$src, MSA128W:{ *:[i32] })
3741 /* 8664 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3742 /* 8669 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3743 /* 8674 */ // GIR_Coverage, 2153,
3744 /* 8674 */ GIR_Done,
3745 /* 8675 */ // Label 383: @8675
3746 /* 8675 */ GIM_Try, /*On fail goto*//*Label 384*/ GIMT_Encode4(8701), // Rule ID 2154 //
3747 /* 8680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3748 /* 8683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3749 /* 8686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3750 /* 8690 */ // (bitconvert:{ *:[v4f32] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v2i64:{ *:[v2i64] }:$src, MSA128W:{ *:[i32] })
3751 /* 8690 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3752 /* 8695 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3753 /* 8700 */ // GIR_Coverage, 2154,
3754 /* 8700 */ GIR_Done,
3755 /* 8701 */ // Label 384: @8701
3756 /* 8701 */ GIM_Try, /*On fail goto*//*Label 385*/ GIMT_Encode4(8727), // Rule ID 2155 //
3757 /* 8706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3758 /* 8709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3759 /* 8712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3760 /* 8716 */ // (bitconvert:{ *:[v4f32] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v8f16:{ *:[v8f16] }:$src, MSA128W:{ *:[i32] })
3761 /* 8716 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3762 /* 8721 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3763 /* 8726 */ // GIR_Coverage, 2155,
3764 /* 8726 */ GIR_Done,
3765 /* 8727 */ // Label 385: @8727
3766 /* 8727 */ GIM_Try, /*On fail goto*//*Label 386*/ GIMT_Encode4(8753), // Rule ID 2156 //
3767 /* 8732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
3768 /* 8735 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3769 /* 8738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3770 /* 8742 */ // (bitconvert:{ *:[v4f32] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v2f64:{ *:[v2f64] }:$src, MSA128W:{ *:[i32] })
3771 /* 8742 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3772 /* 8747 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3773 /* 8752 */ // GIR_Coverage, 2156,
3774 /* 8752 */ GIR_Done,
3775 /* 8753 */ // Label 386: @8753
3776 /* 8753 */ GIM_Try, /*On fail goto*//*Label 387*/ GIMT_Encode4(8823), // Rule ID 2164 //
3777 /* 8758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3778 /* 8761 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3779 /* 8764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3780 /* 8768 */ // (bitconvert:{ *:[v4i32] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$src, MSA128B:{ *:[i32] }), 27:{ *:[i32] }), MSA128W:{ *:[i32] })
3781 /* 8768 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3782 /* 8771 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3783 /* 8775 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3784 /* 8780 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3785 /* 8784 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3786 /* 8789 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3787 /* 8792 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3788 /* 8796 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3789 /* 8801 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3790 /* 8804 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3791 /* 8807 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3792 /* 8809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3793 /* 8812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3794 /* 8814 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3795 /* 8817 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3796 /* 8822 */ // GIR_Coverage, 2164,
3797 /* 8822 */ GIR_EraseRootFromParent_Done,
3798 /* 8823 */ // Label 387: @8823
3799 /* 8823 */ GIM_Try, /*On fail goto*//*Label 388*/ GIMT_Encode4(8893), // Rule ID 2165 //
3800 /* 8828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3801 /* 8831 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3802 /* 8834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3803 /* 8838 */ // (bitconvert:{ *:[v4f32] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$src, MSA128B:{ *:[i32] }), 27:{ *:[i32] }), MSA128W:{ *:[i32] })
3804 /* 8838 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3805 /* 8841 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3806 /* 8845 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3807 /* 8850 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3808 /* 8854 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3809 /* 8859 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3810 /* 8862 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3811 /* 8866 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3812 /* 8871 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3813 /* 8874 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3814 /* 8877 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3815 /* 8879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3816 /* 8882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3817 /* 8884 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3818 /* 8887 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3819 /* 8892 */ // GIR_Coverage, 2165,
3820 /* 8892 */ GIR_EraseRootFromParent_Done,
3821 /* 8893 */ // Label 388: @8893
3822 /* 8893 */ GIM_Try, /*On fail goto*//*Label 389*/ GIMT_Encode4(8970), // Rule ID 2169 //
3823 /* 8898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3824 /* 8901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3825 /* 8904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3826 /* 8908 */ // (bitconvert:{ *:[v4i32] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, MSA128H:{ *:[i32] }), 177:{ *:[i32] }), MSA128W:{ *:[i32] })
3827 /* 8908 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3828 /* 8911 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3829 /* 8915 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3830 /* 8920 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3831 /* 8924 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3832 /* 8929 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3833 /* 8932 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3834 /* 8936 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3835 /* 8941 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3836 /* 8944 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3837 /* 8954 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3838 /* 8956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3839 /* 8959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3840 /* 8961 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3841 /* 8964 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3842 /* 8969 */ // GIR_Coverage, 2169,
3843 /* 8969 */ GIR_EraseRootFromParent_Done,
3844 /* 8970 */ // Label 389: @8970
3845 /* 8970 */ GIM_Try, /*On fail goto*//*Label 390*/ GIMT_Encode4(9047), // Rule ID 2170 //
3846 /* 8975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3847 /* 8978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3848 /* 8981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3849 /* 8985 */ // (bitconvert:{ *:[v4f32] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, MSA128H:{ *:[i32] }), 177:{ *:[i32] }), MSA128W:{ *:[i32] })
3850 /* 8985 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3851 /* 8988 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3852 /* 8992 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3853 /* 8997 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3854 /* 9001 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3855 /* 9006 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3856 /* 9009 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3857 /* 9013 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3858 /* 9018 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3859 /* 9021 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3860 /* 9031 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3861 /* 9033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3862 /* 9036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3863 /* 9038 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3864 /* 9041 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3865 /* 9046 */ // GIR_Coverage, 2170,
3866 /* 9046 */ GIR_EraseRootFromParent_Done,
3867 /* 9047 */ // Label 390: @9047
3868 /* 9047 */ GIM_Try, /*On fail goto*//*Label 391*/ GIMT_Encode4(9124), // Rule ID 2174 //
3869 /* 9052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3870 /* 9055 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3871 /* 9058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3872 /* 9062 */ // (bitconvert:{ *:[v4i32] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v8f16:{ *:[v8f16] }:$src, MSA128H:{ *:[i32] }), 177:{ *:[i32] }), MSA128W:{ *:[i32] })
3873 /* 9062 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3874 /* 9065 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3875 /* 9069 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3876 /* 9074 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3877 /* 9078 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3878 /* 9083 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3879 /* 9086 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3880 /* 9090 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3881 /* 9095 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3882 /* 9098 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3883 /* 9108 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3884 /* 9110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3885 /* 9113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3886 /* 9115 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3887 /* 9118 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3888 /* 9123 */ // GIR_Coverage, 2174,
3889 /* 9123 */ GIR_EraseRootFromParent_Done,
3890 /* 9124 */ // Label 391: @9124
3891 /* 9124 */ GIM_Try, /*On fail goto*//*Label 392*/ GIMT_Encode4(9201), // Rule ID 2175 //
3892 /* 9129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3893 /* 9132 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3894 /* 9135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3895 /* 9139 */ // (bitconvert:{ *:[v4f32] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v8f16:{ *:[v8f16] }:$src, MSA128H:{ *:[i32] }), 177:{ *:[i32] }), MSA128W:{ *:[i32] })
3896 /* 9139 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3897 /* 9142 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3898 /* 9146 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3899 /* 9151 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3900 /* 9155 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3901 /* 9160 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3902 /* 9163 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3903 /* 9167 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3904 /* 9172 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3905 /* 9175 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3906 /* 9185 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3907 /* 9187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3908 /* 9190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3909 /* 9192 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3910 /* 9195 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3911 /* 9200 */ // GIR_Coverage, 2175,
3912 /* 9200 */ GIR_EraseRootFromParent_Done,
3913 /* 9201 */ // Label 392: @9201
3914 /* 9201 */ GIM_Try, /*On fail goto*//*Label 393*/ GIMT_Encode4(9278), // Rule ID 2191 //
3915 /* 9206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3916 /* 9209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3917 /* 9212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3918 /* 9216 */ // (bitconvert:{ *:[v4i32] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } v2i64:{ *:[v2i64] }:$src, MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128W:{ *:[i32] })
3919 /* 9216 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3920 /* 9219 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3921 /* 9223 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3922 /* 9228 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3923 /* 9232 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3924 /* 9237 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3925 /* 9240 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3926 /* 9244 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3927 /* 9249 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3928 /* 9252 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3929 /* 9262 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3930 /* 9264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3931 /* 9267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3932 /* 9269 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3933 /* 9272 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3934 /* 9277 */ // GIR_Coverage, 2191,
3935 /* 9277 */ GIR_EraseRootFromParent_Done,
3936 /* 9278 */ // Label 393: @9278
3937 /* 9278 */ GIM_Try, /*On fail goto*//*Label 394*/ GIMT_Encode4(9355), // Rule ID 2192 //
3938 /* 9283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3939 /* 9286 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3940 /* 9289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3941 /* 9293 */ // (bitconvert:{ *:[v4f32] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } v2i64:{ *:[v2i64] }:$src, MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128W:{ *:[i32] })
3942 /* 9293 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3943 /* 9296 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3944 /* 9300 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3945 /* 9305 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3946 /* 9309 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3947 /* 9314 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3948 /* 9317 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3949 /* 9321 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3950 /* 9326 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3951 /* 9329 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3952 /* 9339 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3953 /* 9341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3954 /* 9344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3955 /* 9346 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3956 /* 9349 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3957 /* 9354 */ // GIR_Coverage, 2192,
3958 /* 9354 */ GIR_EraseRootFromParent_Done,
3959 /* 9355 */ // Label 394: @9355
3960 /* 9355 */ GIM_Try, /*On fail goto*//*Label 395*/ GIMT_Encode4(9432), // Rule ID 2196 //
3961 /* 9360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3962 /* 9363 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3963 /* 9366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3964 /* 9370 */ // (bitconvert:{ *:[v4i32] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } v2f64:{ *:[v2f64] }:$src, MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128W:{ *:[i32] })
3965 /* 9370 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3966 /* 9373 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3967 /* 9377 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3968 /* 9382 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3969 /* 9386 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3970 /* 9391 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3971 /* 9394 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3972 /* 9398 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3973 /* 9403 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3974 /* 9406 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3975 /* 9416 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3976 /* 9418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3977 /* 9421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3978 /* 9423 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3979 /* 9426 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3980 /* 9431 */ // GIR_Coverage, 2196,
3981 /* 9431 */ GIR_EraseRootFromParent_Done,
3982 /* 9432 */ // Label 395: @9432
3983 /* 9432 */ GIM_Try, /*On fail goto*//*Label 396*/ GIMT_Encode4(9509), // Rule ID 2197 //
3984 /* 9437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
3985 /* 9440 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3986 /* 9443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3987 /* 9447 */ // (bitconvert:{ *:[v4f32] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } v2f64:{ *:[v2f64] }:$src, MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128W:{ *:[i32] })
3988 /* 9447 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3989 /* 9450 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3990 /* 9454 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3991 /* 9459 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3992 /* 9463 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3993 /* 9468 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3994 /* 9471 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3995 /* 9475 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3996 /* 9480 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3997 /* 9483 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3998 /* 9493 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3999 /* 9495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4000 /* 9498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4001 /* 9500 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4002 /* 9503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4003 /* 9508 */ // GIR_Coverage, 2197,
4004 /* 9508 */ GIR_EraseRootFromParent_Done,
4005 /* 9509 */ // Label 396: @9509
4006 /* 9509 */ GIM_Reject,
4007 /* 9510 */ // Label 331: @9510
4008 /* 9510 */ GIM_Try, /*On fail goto*//*Label 397*/ GIMT_Encode4(9536), // Rule ID 2125 //
4009 /* 9515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
4010 /* 9518 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4011 /* 9521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4012 /* 9525 */ // (bitconvert:{ *:[v8i16] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v8f16:{ *:[v8f16] }:$src, MSA128H:{ *:[i32] })
4013 /* 9525 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4014 /* 9530 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4015 /* 9535 */ // GIR_Coverage, 2125,
4016 /* 9535 */ GIR_Done,
4017 /* 9536 */ // Label 397: @9536
4018 /* 9536 */ GIM_Try, /*On fail goto*//*Label 398*/ GIMT_Encode4(9562), // Rule ID 2128 //
4019 /* 9541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
4020 /* 9544 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4021 /* 9547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4022 /* 9551 */ // (bitconvert:{ *:[v8f16] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } v8i16:{ *:[v8i16] }:$src, MSA128H:{ *:[i32] })
4023 /* 9551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4024 /* 9556 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4025 /* 9561 */ // GIR_Coverage, 2128,
4026 /* 9561 */ GIR_Done,
4027 /* 9562 */ // Label 398: @9562
4028 /* 9562 */ GIM_Try, /*On fail goto*//*Label 399*/ GIMT_Encode4(9588), // Rule ID 2137 //
4029 /* 9567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4030 /* 9570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
4031 /* 9573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4032 /* 9577 */ // (bitconvert:{ *:[v8i16] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v16i8:{ *:[v16i8] }:$src, MSA128H:{ *:[i32] })
4033 /* 9577 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4034 /* 9582 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4035 /* 9587 */ // GIR_Coverage, 2137,
4036 /* 9587 */ GIR_Done,
4037 /* 9588 */ // Label 399: @9588
4038 /* 9588 */ GIM_Try, /*On fail goto*//*Label 400*/ GIMT_Encode4(9614), // Rule ID 2138 //
4039 /* 9593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4040 /* 9596 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4041 /* 9599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4042 /* 9603 */ // (bitconvert:{ *:[v8i16] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v4i32:{ *:[v4i32] }:$src, MSA128H:{ *:[i32] })
4043 /* 9603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4044 /* 9608 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4045 /* 9613 */ // GIR_Coverage, 2138,
4046 /* 9613 */ GIR_Done,
4047 /* 9614 */ // Label 400: @9614
4048 /* 9614 */ GIM_Try, /*On fail goto*//*Label 401*/ GIMT_Encode4(9640), // Rule ID 2139 //
4049 /* 9619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4050 /* 9622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4051 /* 9625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4052 /* 9629 */ // (bitconvert:{ *:[v8i16] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v2i64:{ *:[v2i64] }:$src, MSA128H:{ *:[i32] })
4053 /* 9629 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4054 /* 9634 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4055 /* 9639 */ // GIR_Coverage, 2139,
4056 /* 9639 */ GIR_Done,
4057 /* 9640 */ // Label 401: @9640
4058 /* 9640 */ GIM_Try, /*On fail goto*//*Label 402*/ GIMT_Encode4(9666), // Rule ID 2140 //
4059 /* 9645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4060 /* 9648 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4061 /* 9651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4062 /* 9655 */ // (bitconvert:{ *:[v8i16] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v4f32:{ *:[v4f32] }:$src, MSA128H:{ *:[i32] })
4063 /* 9655 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4064 /* 9660 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4065 /* 9665 */ // GIR_Coverage, 2140,
4066 /* 9665 */ GIR_Done,
4067 /* 9666 */ // Label 402: @9666
4068 /* 9666 */ GIM_Try, /*On fail goto*//*Label 403*/ GIMT_Encode4(9692), // Rule ID 2141 //
4069 /* 9671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4070 /* 9674 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4071 /* 9677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4072 /* 9681 */ // (bitconvert:{ *:[v8i16] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v2f64:{ *:[v2f64] }:$src, MSA128H:{ *:[i32] })
4073 /* 9681 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4074 /* 9686 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4075 /* 9691 */ // GIR_Coverage, 2141,
4076 /* 9691 */ GIR_Done,
4077 /* 9692 */ // Label 403: @9692
4078 /* 9692 */ GIM_Try, /*On fail goto*//*Label 404*/ GIMT_Encode4(9769), // Rule ID 2162 //
4079 /* 9697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4080 /* 9700 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
4081 /* 9703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4082 /* 9707 */ // (bitconvert:{ *:[v8i16] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$src, MSA128B:{ *:[i32] }), 177:{ *:[i32] }), MSA128H:{ *:[i32] })
4083 /* 9707 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
4084 /* 9710 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4085 /* 9714 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4086 /* 9719 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4087 /* 9723 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4088 /* 9728 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
4089 /* 9731 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4090 /* 9735 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4091 /* 9740 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4092 /* 9743 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4093 /* 9753 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4094 /* 9755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4095 /* 9758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4096 /* 9760 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4097 /* 9763 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4098 /* 9768 */ // GIR_Coverage, 2162,
4099 /* 9768 */ GIR_EraseRootFromParent_Done,
4100 /* 9769 */ // Label 404: @9769
4101 /* 9769 */ GIM_Try, /*On fail goto*//*Label 405*/ GIMT_Encode4(9846), // Rule ID 2163 //
4102 /* 9774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4103 /* 9777 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
4104 /* 9780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4105 /* 9784 */ // (bitconvert:{ *:[v8f16] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$src, MSA128B:{ *:[i32] }), 177:{ *:[i32] }), MSA128H:{ *:[i32] })
4106 /* 9784 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
4107 /* 9787 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4108 /* 9791 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4109 /* 9796 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4110 /* 9800 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4111 /* 9805 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
4112 /* 9808 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4113 /* 9812 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4114 /* 9817 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4115 /* 9820 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4116 /* 9830 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4117 /* 9832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4118 /* 9835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4119 /* 9837 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4120 /* 9840 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4121 /* 9845 */ // GIR_Coverage, 2163,
4122 /* 9845 */ GIR_EraseRootFromParent_Done,
4123 /* 9846 */ // Label 405: @9846
4124 /* 9846 */ GIM_Try, /*On fail goto*//*Label 406*/ GIMT_Encode4(9923), // Rule ID 2179 //
4125 /* 9851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4126 /* 9854 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4127 /* 9857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4128 /* 9861 */ // (bitconvert:{ *:[v8i16] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v4i32:{ *:[v4i32] }:$src, MSA128H:{ *:[i32] }), 177:{ *:[i32] }), MSA128H:{ *:[i32] })
4129 /* 9861 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4130 /* 9864 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4131 /* 9868 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4132 /* 9873 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4133 /* 9877 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4134 /* 9882 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4135 /* 9885 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4136 /* 9889 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4137 /* 9894 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4138 /* 9897 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4139 /* 9907 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4140 /* 9909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4141 /* 9912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4142 /* 9914 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4143 /* 9917 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4144 /* 9922 */ // GIR_Coverage, 2179,
4145 /* 9922 */ GIR_EraseRootFromParent_Done,
4146 /* 9923 */ // Label 406: @9923
4147 /* 9923 */ GIM_Try, /*On fail goto*//*Label 407*/ GIMT_Encode4(10000), // Rule ID 2180 //
4148 /* 9928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4149 /* 9931 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4150 /* 9934 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4151 /* 9938 */ // (bitconvert:{ *:[v8f16] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v4i32:{ *:[v4i32] }:$src, MSA128H:{ *:[i32] }), 177:{ *:[i32] }), MSA128H:{ *:[i32] })
4152 /* 9938 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4153 /* 9941 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4154 /* 9945 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4155 /* 9950 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4156 /* 9954 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4157 /* 9959 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4158 /* 9962 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4159 /* 9966 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4160 /* 9971 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4161 /* 9974 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4162 /* 9984 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4163 /* 9986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4164 /* 9989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4165 /* 9991 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4166 /* 9994 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4167 /* 9999 */ // GIR_Coverage, 2180,
4168 /* 9999 */ GIR_EraseRootFromParent_Done,
4169 /* 10000 */ // Label 407: @10000
4170 /* 10000 */ GIM_Try, /*On fail goto*//*Label 408*/ GIMT_Encode4(10077), // Rule ID 2184 //
4171 /* 10005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4172 /* 10008 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4173 /* 10011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4174 /* 10015 */ // (bitconvert:{ *:[v8i16] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v4f32:{ *:[v4f32] }:$src, MSA128H:{ *:[i32] }), 177:{ *:[i32] }), MSA128H:{ *:[i32] })
4175 /* 10015 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4176 /* 10018 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4177 /* 10022 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4178 /* 10027 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4179 /* 10031 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4180 /* 10036 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4181 /* 10039 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4182 /* 10043 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4183 /* 10048 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4184 /* 10051 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4185 /* 10061 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4186 /* 10063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4187 /* 10066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4188 /* 10068 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4189 /* 10071 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4190 /* 10076 */ // GIR_Coverage, 2184,
4191 /* 10076 */ GIR_EraseRootFromParent_Done,
4192 /* 10077 */ // Label 408: @10077
4193 /* 10077 */ GIM_Try, /*On fail goto*//*Label 409*/ GIMT_Encode4(10154), // Rule ID 2185 //
4194 /* 10082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4195 /* 10085 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4196 /* 10088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4197 /* 10092 */ // (bitconvert:{ *:[v8f16] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v4f32:{ *:[v4f32] }:$src, MSA128H:{ *:[i32] }), 177:{ *:[i32] }), MSA128H:{ *:[i32] })
4198 /* 10092 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4199 /* 10095 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4200 /* 10099 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4201 /* 10104 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4202 /* 10108 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4203 /* 10113 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4204 /* 10116 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4205 /* 10120 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4206 /* 10125 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4207 /* 10128 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4208 /* 10138 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4209 /* 10140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4210 /* 10143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4211 /* 10145 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4212 /* 10148 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4213 /* 10153 */ // GIR_Coverage, 2185,
4214 /* 10153 */ GIR_EraseRootFromParent_Done,
4215 /* 10154 */ // Label 409: @10154
4216 /* 10154 */ GIM_Try, /*On fail goto*//*Label 410*/ GIMT_Encode4(10224), // Rule ID 2189 //
4217 /* 10159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4218 /* 10162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4219 /* 10165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4220 /* 10169 */ // (bitconvert:{ *:[v8i16] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v2i64:{ *:[v2i64] }:$src, MSA128H:{ *:[i32] }), 27:{ *:[i32] }), MSA128H:{ *:[i32] })
4221 /* 10169 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4222 /* 10172 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4223 /* 10176 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4224 /* 10181 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4225 /* 10185 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4226 /* 10190 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4227 /* 10193 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4228 /* 10197 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4229 /* 10202 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4230 /* 10205 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4231 /* 10208 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4232 /* 10210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4233 /* 10213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4234 /* 10215 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4235 /* 10218 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4236 /* 10223 */ // GIR_Coverage, 2189,
4237 /* 10223 */ GIR_EraseRootFromParent_Done,
4238 /* 10224 */ // Label 410: @10224
4239 /* 10224 */ GIM_Try, /*On fail goto*//*Label 411*/ GIMT_Encode4(10294), // Rule ID 2190 //
4240 /* 10229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4241 /* 10232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4242 /* 10235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4243 /* 10239 */ // (bitconvert:{ *:[v8f16] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v2i64:{ *:[v2i64] }:$src, MSA128H:{ *:[i32] }), 27:{ *:[i32] }), MSA128H:{ *:[i32] })
4244 /* 10239 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4245 /* 10242 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4246 /* 10246 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4247 /* 10251 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4248 /* 10255 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4249 /* 10260 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4250 /* 10263 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4251 /* 10267 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4252 /* 10272 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4253 /* 10275 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4254 /* 10278 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4255 /* 10280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4256 /* 10283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4257 /* 10285 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4258 /* 10288 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4259 /* 10293 */ // GIR_Coverage, 2190,
4260 /* 10293 */ GIR_EraseRootFromParent_Done,
4261 /* 10294 */ // Label 411: @10294
4262 /* 10294 */ GIM_Try, /*On fail goto*//*Label 412*/ GIMT_Encode4(10364), // Rule ID 2194 //
4263 /* 10299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4264 /* 10302 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4265 /* 10305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4266 /* 10309 */ // (bitconvert:{ *:[v8i16] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v2f64:{ *:[v2f64] }:$src, MSA128H:{ *:[i32] }), 27:{ *:[i32] }), MSA128H:{ *:[i32] })
4267 /* 10309 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4268 /* 10312 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4269 /* 10316 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4270 /* 10321 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4271 /* 10325 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4272 /* 10330 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4273 /* 10333 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4274 /* 10337 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4275 /* 10342 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4276 /* 10345 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4277 /* 10348 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4278 /* 10350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4279 /* 10353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4280 /* 10355 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4281 /* 10358 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4282 /* 10363 */ // GIR_Coverage, 2194,
4283 /* 10363 */ GIR_EraseRootFromParent_Done,
4284 /* 10364 */ // Label 412: @10364
4285 /* 10364 */ GIM_Try, /*On fail goto*//*Label 413*/ GIMT_Encode4(10434), // Rule ID 2195 //
4286 /* 10369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4287 /* 10372 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4288 /* 10375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
4289 /* 10379 */ // (bitconvert:{ *:[v8f16] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } (SHF_H:{ *:[v8i16] } (COPY_TO_REGCLASS:{ *:[v8i16] } v2f64:{ *:[v2f64] }:$src, MSA128H:{ *:[i32] }), 27:{ *:[i32] }), MSA128H:{ *:[i32] })
4290 /* 10379 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4291 /* 10382 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4292 /* 10386 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4293 /* 10391 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4294 /* 10395 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4295 /* 10400 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4296 /* 10403 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4297 /* 10407 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4298 /* 10412 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4299 /* 10415 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4300 /* 10418 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4301 /* 10420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4302 /* 10423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4303 /* 10425 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4304 /* 10428 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4305 /* 10433 */ // GIR_Coverage, 2195,
4306 /* 10433 */ GIR_EraseRootFromParent_Done,
4307 /* 10434 */ // Label 413: @10434
4308 /* 10434 */ GIM_Reject,
4309 /* 10435 */ // Label 332: @10435
4310 /* 10435 */ GIM_Try, /*On fail goto*//*Label 414*/ GIMT_Encode4(10461), // Rule ID 2131 //
4311 /* 10440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4312 /* 10443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4313 /* 10446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4314 /* 10450 */ // (bitconvert:{ *:[v16i8] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v8i16:{ *:[v8i16] }:$src, MSA128B:{ *:[i32] })
4315 /* 10450 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4316 /* 10455 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4317 /* 10460 */ // GIR_Coverage, 2131,
4318 /* 10460 */ GIR_Done,
4319 /* 10461 */ // Label 414: @10461
4320 /* 10461 */ GIM_Try, /*On fail goto*//*Label 415*/ GIMT_Encode4(10487), // Rule ID 2132 //
4321 /* 10466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4322 /* 10469 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4323 /* 10472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4324 /* 10476 */ // (bitconvert:{ *:[v16i8] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v4i32:{ *:[v4i32] }:$src, MSA128B:{ *:[i32] })
4325 /* 10476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4326 /* 10481 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4327 /* 10486 */ // GIR_Coverage, 2132,
4328 /* 10486 */ GIR_Done,
4329 /* 10487 */ // Label 415: @10487
4330 /* 10487 */ GIM_Try, /*On fail goto*//*Label 416*/ GIMT_Encode4(10513), // Rule ID 2133 //
4331 /* 10492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4332 /* 10495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4333 /* 10498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4334 /* 10502 */ // (bitconvert:{ *:[v16i8] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v2i64:{ *:[v2i64] }:$src, MSA128B:{ *:[i32] })
4335 /* 10502 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4336 /* 10507 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4337 /* 10512 */ // GIR_Coverage, 2133,
4338 /* 10512 */ GIR_Done,
4339 /* 10513 */ // Label 416: @10513
4340 /* 10513 */ GIM_Try, /*On fail goto*//*Label 417*/ GIMT_Encode4(10539), // Rule ID 2134 //
4341 /* 10518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4342 /* 10521 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4343 /* 10524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4344 /* 10528 */ // (bitconvert:{ *:[v16i8] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v8f16:{ *:[v8f16] }:$src, MSA128B:{ *:[i32] })
4345 /* 10528 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4346 /* 10533 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4347 /* 10538 */ // GIR_Coverage, 2134,
4348 /* 10538 */ GIR_Done,
4349 /* 10539 */ // Label 417: @10539
4350 /* 10539 */ GIM_Try, /*On fail goto*//*Label 418*/ GIMT_Encode4(10565), // Rule ID 2135 //
4351 /* 10544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4352 /* 10547 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4353 /* 10550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4354 /* 10554 */ // (bitconvert:{ *:[v16i8] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v4f32:{ *:[v4f32] }:$src, MSA128B:{ *:[i32] })
4355 /* 10554 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4356 /* 10559 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4357 /* 10564 */ // GIR_Coverage, 2135,
4358 /* 10564 */ GIR_Done,
4359 /* 10565 */ // Label 418: @10565
4360 /* 10565 */ GIM_Try, /*On fail goto*//*Label 419*/ GIMT_Encode4(10591), // Rule ID 2136 //
4361 /* 10570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
4362 /* 10573 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4363 /* 10576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4364 /* 10580 */ // (bitconvert:{ *:[v16i8] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v2f64:{ *:[v2f64] }:$src, MSA128B:{ *:[i32] })
4365 /* 10580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4366 /* 10585 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4367 /* 10590 */ // GIR_Coverage, 2136,
4368 /* 10590 */ GIR_Done,
4369 /* 10591 */ // Label 419: @10591
4370 /* 10591 */ GIM_Try, /*On fail goto*//*Label 420*/ GIMT_Encode4(10668), // Rule ID 2168 //
4371 /* 10596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4372 /* 10599 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4373 /* 10602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4374 /* 10606 */ // (bitconvert:{ *:[v16i8] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v8i16:{ *:[v8i16] }:$src, MSA128B:{ *:[i32] }), 177:{ *:[i32] }), MSA128B:{ *:[i32] })
4375 /* 10606 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
4376 /* 10609 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4377 /* 10613 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4378 /* 10618 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4379 /* 10622 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4380 /* 10627 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
4381 /* 10630 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4382 /* 10634 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4383 /* 10639 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4384 /* 10642 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4385 /* 10652 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4386 /* 10654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4387 /* 10657 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4388 /* 10659 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4389 /* 10662 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4390 /* 10667 */ // GIR_Coverage, 2168,
4391 /* 10667 */ GIR_EraseRootFromParent_Done,
4392 /* 10668 */ // Label 420: @10668
4393 /* 10668 */ GIM_Try, /*On fail goto*//*Label 421*/ GIMT_Encode4(10745), // Rule ID 2173 //
4394 /* 10673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4395 /* 10676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4396 /* 10679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4397 /* 10683 */ // (bitconvert:{ *:[v16i8] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v8f16:{ *:[v8f16] }:$src, MSA128B:{ *:[i32] }), 177:{ *:[i32] }), MSA128B:{ *:[i32] })
4398 /* 10683 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
4399 /* 10686 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4400 /* 10690 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4401 /* 10695 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4402 /* 10699 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4403 /* 10704 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
4404 /* 10707 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4405 /* 10711 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4406 /* 10716 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4407 /* 10719 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4408 /* 10729 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4409 /* 10731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4410 /* 10734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4411 /* 10736 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4412 /* 10739 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4413 /* 10744 */ // GIR_Coverage, 2173,
4414 /* 10744 */ GIR_EraseRootFromParent_Done,
4415 /* 10745 */ // Label 421: @10745
4416 /* 10745 */ GIM_Try, /*On fail goto*//*Label 422*/ GIMT_Encode4(10815), // Rule ID 2178 //
4417 /* 10750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4418 /* 10753 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4419 /* 10756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4420 /* 10760 */ // (bitconvert:{ *:[v16i8] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v4i32:{ *:[v4i32] }:$src, MSA128B:{ *:[i32] }), 27:{ *:[i32] }), MSA128B:{ *:[i32] })
4421 /* 10760 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
4422 /* 10763 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4423 /* 10767 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4424 /* 10772 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4425 /* 10776 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4426 /* 10781 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
4427 /* 10784 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4428 /* 10788 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4429 /* 10793 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4430 /* 10796 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4431 /* 10799 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4432 /* 10801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4433 /* 10804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4434 /* 10806 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4435 /* 10809 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4436 /* 10814 */ // GIR_Coverage, 2178,
4437 /* 10814 */ GIR_EraseRootFromParent_Done,
4438 /* 10815 */ // Label 422: @10815
4439 /* 10815 */ GIM_Try, /*On fail goto*//*Label 423*/ GIMT_Encode4(10885), // Rule ID 2183 //
4440 /* 10820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4441 /* 10823 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4442 /* 10826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4443 /* 10830 */ // (bitconvert:{ *:[v16i8] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v4f32:{ *:[v4f32] }:$src, MSA128B:{ *:[i32] }), 27:{ *:[i32] }), MSA128B:{ *:[i32] })
4444 /* 10830 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
4445 /* 10833 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4446 /* 10837 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4447 /* 10842 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4448 /* 10846 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4449 /* 10851 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
4450 /* 10854 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4451 /* 10858 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4452 /* 10863 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4453 /* 10866 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4454 /* 10869 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4455 /* 10871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4456 /* 10874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4457 /* 10876 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4458 /* 10879 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4459 /* 10884 */ // GIR_Coverage, 2183,
4460 /* 10884 */ GIR_EraseRootFromParent_Done,
4461 /* 10885 */ // Label 423: @10885
4462 /* 10885 */ GIM_Try, /*On fail goto*//*Label 424*/ GIMT_Encode4(11002), // Rule ID 2188 //
4463 /* 10890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4464 /* 10893 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4465 /* 10896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4466 /* 10900 */ // (bitconvert:{ *:[v16i8] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v2i64:{ *:[v2i64] }:$src, MSA128B:{ *:[i32] }), 27:{ *:[i32] }), MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128B:{ *:[i32] })
4467 /* 10900 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s8,
4468 /* 10903 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4469 /* 10907 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4470 /* 10912 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
4471 /* 10916 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4472 /* 10921 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s8,
4473 /* 10924 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4474 /* 10928 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4475 /* 10933 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
4476 /* 10936 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/27,
4477 /* 10939 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
4478 /* 10941 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4479 /* 10944 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4480 /* 10948 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4481 /* 10953 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
4482 /* 10956 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4483 /* 10961 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4484 /* 10964 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4485 /* 10968 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4486 /* 10973 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4487 /* 10976 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4488 /* 10986 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4489 /* 10988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4490 /* 10991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4491 /* 10993 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4492 /* 10996 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4493 /* 11001 */ // GIR_Coverage, 2188,
4494 /* 11001 */ GIR_EraseRootFromParent_Done,
4495 /* 11002 */ // Label 424: @11002
4496 /* 11002 */ GIM_Try, /*On fail goto*//*Label 425*/ GIMT_Encode4(11119), // Rule ID 2193 //
4497 /* 11007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
4498 /* 11010 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4499 /* 11013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
4500 /* 11017 */ // (bitconvert:{ *:[v16i8] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } (SHF_W:{ *:[v4i32] } (COPY_TO_REGCLASS:{ *:[v4i32] } (SHF_B:{ *:[v16i8] } (COPY_TO_REGCLASS:{ *:[v16i8] } v2f64:{ *:[v2f64] }:$src, MSA128B:{ *:[i32] }), 27:{ *:[i32] }), MSA128W:{ *:[i32] }), 177:{ *:[i32] }), MSA128B:{ *:[i32] })
4501 /* 11017 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s8,
4502 /* 11020 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4503 /* 11024 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4504 /* 11029 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
4505 /* 11033 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4506 /* 11038 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s8,
4507 /* 11041 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4508 /* 11045 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4509 /* 11050 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
4510 /* 11053 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/27,
4511 /* 11056 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
4512 /* 11058 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4513 /* 11061 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4514 /* 11065 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4515 /* 11070 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
4516 /* 11073 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4517 /* 11078 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4518 /* 11081 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4519 /* 11085 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4520 /* 11090 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4521 /* 11093 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4522 /* 11103 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4523 /* 11105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4524 /* 11108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4525 /* 11110 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4526 /* 11113 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4527 /* 11118 */ // GIR_Coverage, 2193,
4528 /* 11118 */ GIR_EraseRootFromParent_Done,
4529 /* 11119 */ // Label 425: @11119
4530 /* 11119 */ GIM_Reject,
4531 /* 11120 */ // Label 333: @11120
4532 /* 11120 */ GIM_Reject,
4533 /* 11121 */ // Label 13: @11121
4534 /* 11121 */ GIM_Try, /*On fail goto*//*Label 426*/ GIMT_Encode4(11185), // Rule ID 2116 //
4535 /* 11126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
4536 /* 11129 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
4537 /* 11132 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4538 /* 11135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
4539 /* 11139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4540 /* 11143 */ // MIs[0] Operand 1
4541 /* 11143 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
4542 /* 11147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4543 /* 11151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
4544 /* 11155 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
4545 /* 11159 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
4546 /* 11163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4547 /* 11165 */ // (ld:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$base, i32:{ *:[i32] }:$index))<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LWX:{ *:[i32] } i32:{ *:[i32] }:$base, i32:{ *:[i32] }:$index)
4548 /* 11165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LWX),
4549 /* 11168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
4550 /* 11170 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // base
4551 /* 11174 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // index
4552 /* 11178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4553 /* 11183 */ GIR_RootConstrainSelectedInstOperands,
4554 /* 11184 */ // GIR_Coverage, 2116,
4555 /* 11184 */ GIR_EraseRootFromParent_Done,
4556 /* 11185 */ // Label 426: @11185
4557 /* 11185 */ GIM_Reject,
4558 /* 11186 */ // Label 14: @11186
4559 /* 11186 */ GIM_Try, /*On fail goto*//*Label 427*/ GIMT_Encode4(11253), // Rule ID 2115 //
4560 /* 11191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
4561 /* 11194 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
4562 /* 11197 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4563 /* 11200 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4564 /* 11207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4565 /* 11211 */ // MIs[0] Operand 1
4566 /* 11211 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
4567 /* 11215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4568 /* 11219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
4569 /* 11223 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
4570 /* 11227 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
4571 /* 11231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4572 /* 11233 */ // (ld:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$base, i32:{ *:[i32] }:$index))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (LHX:{ *:[i32] } i32:{ *:[i32] }:$base, i32:{ *:[i32] }:$index)
4573 /* 11233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LHX),
4574 /* 11236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
4575 /* 11238 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // base
4576 /* 11242 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // index
4577 /* 11246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4578 /* 11251 */ GIR_RootConstrainSelectedInstOperands,
4579 /* 11252 */ // GIR_Coverage, 2115,
4580 /* 11252 */ GIR_EraseRootFromParent_Done,
4581 /* 11253 */ // Label 427: @11253
4582 /* 11253 */ GIM_Reject,
4583 /* 11254 */ // Label 15: @11254
4584 /* 11254 */ GIM_Try, /*On fail goto*//*Label 428*/ GIMT_Encode4(11321), // Rule ID 2114 //
4585 /* 11259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
4586 /* 11262 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
4587 /* 11265 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4588 /* 11268 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4589 /* 11275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4590 /* 11279 */ // MIs[0] Operand 1
4591 /* 11279 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
4592 /* 11283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4593 /* 11287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
4594 /* 11291 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
4595 /* 11295 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
4596 /* 11299 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4597 /* 11301 */ // (ld:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$base, i32:{ *:[i32] }:$index))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (LBUX:{ *:[i32] } i32:{ *:[i32] }:$base, i32:{ *:[i32] }:$index)
4598 /* 11301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LBUX),
4599 /* 11304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
4600 /* 11306 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // base
4601 /* 11310 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // index
4602 /* 11314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4603 /* 11319 */ GIR_RootConstrainSelectedInstOperands,
4604 /* 11320 */ // GIR_Coverage, 2114,
4605 /* 11320 */ GIR_EraseRootFromParent_Done,
4606 /* 11321 */ // Label 428: @11321
4607 /* 11321 */ GIM_Reject,
4608 /* 11322 */ // Label 16: @11322
4609 /* 11322 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 431*/ GIMT_Encode4(11513),
4610 /* 11333 */ /*GILLT_s32*//*Label 429*/ GIMT_Encode4(11341),
4611 /* 11337 */ /*GILLT_s64*//*Label 430*/ GIMT_Encode4(11468),
4612 /* 11341 */ // Label 429: @11341
4613 /* 11341 */ GIM_Try, /*On fail goto*//*Label 432*/ GIMT_Encode4(11467),
4614 /* 11346 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4615 /* 11349 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
4616 /* 11352 */ GIM_Try, /*On fail goto*//*Label 433*/ GIMT_Encode4(11390), // Rule ID 25 //
4617 /* 11357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4618 /* 11360 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4619 /* 11367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4620 /* 11371 */ // MIs[0] ptr
4621 /* 11371 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4622 /* 11375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4623 /* 11379 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4624 /* 11383 */ // (atomic_cmp_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$cmp, GPR32:{ *:[i32] }:$swap)<<P:Predicate_atomic_cmp_swap_i8>> => (ATOMIC_CMP_SWAP_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$cmp, GPR32:{ *:[i32] }:$swap)
4625 /* 11383 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_CMP_SWAP_I8),
4626 /* 11388 */ GIR_RootConstrainSelectedInstOperands,
4627 /* 11389 */ // GIR_Coverage, 25,
4628 /* 11389 */ GIR_Done,
4629 /* 11390 */ // Label 433: @11390
4630 /* 11390 */ GIM_Try, /*On fail goto*//*Label 434*/ GIMT_Encode4(11428), // Rule ID 26 //
4631 /* 11395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4632 /* 11398 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4633 /* 11405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4634 /* 11409 */ // MIs[0] ptr
4635 /* 11409 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4636 /* 11413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4637 /* 11417 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4638 /* 11421 */ // (atomic_cmp_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$cmp, GPR32:{ *:[i32] }:$swap)<<P:Predicate_atomic_cmp_swap_i16>> => (ATOMIC_CMP_SWAP_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$cmp, GPR32:{ *:[i32] }:$swap)
4639 /* 11421 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_CMP_SWAP_I16),
4640 /* 11426 */ GIR_RootConstrainSelectedInstOperands,
4641 /* 11427 */ // GIR_Coverage, 26,
4642 /* 11427 */ GIR_Done,
4643 /* 11428 */ // Label 434: @11428
4644 /* 11428 */ GIM_Try, /*On fail goto*//*Label 435*/ GIMT_Encode4(11466), // Rule ID 27 //
4645 /* 11433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4646 /* 11436 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4647 /* 11443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4648 /* 11447 */ // MIs[0] ptr
4649 /* 11447 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4650 /* 11451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4651 /* 11455 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4652 /* 11459 */ // (atomic_cmp_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$cmp, GPR32:{ *:[i32] }:$swap)<<P:Predicate_atomic_cmp_swap_i32>> => (ATOMIC_CMP_SWAP_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$cmp, GPR32:{ *:[i32] }:$swap)
4653 /* 11459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_CMP_SWAP_I32),
4654 /* 11464 */ GIR_RootConstrainSelectedInstOperands,
4655 /* 11465 */ // GIR_Coverage, 27,
4656 /* 11465 */ GIR_Done,
4657 /* 11466 */ // Label 435: @11466
4658 /* 11466 */ GIM_Reject,
4659 /* 11467 */ // Label 432: @11467
4660 /* 11467 */ GIM_Reject,
4661 /* 11468 */ // Label 430: @11468
4662 /* 11468 */ GIM_Try, /*On fail goto*//*Label 436*/ GIMT_Encode4(11512), // Rule ID 266 //
4663 /* 11473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4664 /* 11476 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4665 /* 11479 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
4666 /* 11482 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4667 /* 11489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4668 /* 11493 */ // MIs[0] ptr
4669 /* 11493 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4670 /* 11497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4671 /* 11501 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4672 /* 11505 */ // (atomic_cmp_swap:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$cmp, GPR64:{ *:[i64] }:$swap)<<P:Predicate_atomic_cmp_swap_i64>> => (ATOMIC_CMP_SWAP_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$cmp, GPR64:{ *:[i64] }:$swap)
4673 /* 11505 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_CMP_SWAP_I64),
4674 /* 11510 */ GIR_RootConstrainSelectedInstOperands,
4675 /* 11511 */ // GIR_Coverage, 266,
4676 /* 11511 */ GIR_Done,
4677 /* 11512 */ // Label 436: @11512
4678 /* 11512 */ GIM_Reject,
4679 /* 11513 */ // Label 431: @11513
4680 /* 11513 */ GIM_Reject,
4681 /* 11514 */ // Label 17: @11514
4682 /* 11514 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 439*/ GIMT_Encode4(11683),
4683 /* 11525 */ /*GILLT_s32*//*Label 437*/ GIMT_Encode4(11533),
4684 /* 11529 */ /*GILLT_s64*//*Label 438*/ GIMT_Encode4(11645),
4685 /* 11533 */ // Label 437: @11533
4686 /* 11533 */ GIM_Try, /*On fail goto*//*Label 440*/ GIMT_Encode4(11644),
4687 /* 11538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4688 /* 11541 */ GIM_Try, /*On fail goto*//*Label 441*/ GIMT_Encode4(11575), // Rule ID 22 //
4689 /* 11546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4690 /* 11549 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4691 /* 11556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4692 /* 11560 */ // MIs[0] ptr
4693 /* 11560 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4694 /* 11564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4695 /* 11568 */ // (atomic_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_swap_i8>> => (ATOMIC_SWAP_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4696 /* 11568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_SWAP_I8),
4697 /* 11573 */ GIR_RootConstrainSelectedInstOperands,
4698 /* 11574 */ // GIR_Coverage, 22,
4699 /* 11574 */ GIR_Done,
4700 /* 11575 */ // Label 441: @11575
4701 /* 11575 */ GIM_Try, /*On fail goto*//*Label 442*/ GIMT_Encode4(11609), // Rule ID 23 //
4702 /* 11580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4703 /* 11583 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4704 /* 11590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4705 /* 11594 */ // MIs[0] ptr
4706 /* 11594 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4707 /* 11598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4708 /* 11602 */ // (atomic_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_swap_i16>> => (ATOMIC_SWAP_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4709 /* 11602 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_SWAP_I16),
4710 /* 11607 */ GIR_RootConstrainSelectedInstOperands,
4711 /* 11608 */ // GIR_Coverage, 23,
4712 /* 11608 */ GIR_Done,
4713 /* 11609 */ // Label 442: @11609
4714 /* 11609 */ GIM_Try, /*On fail goto*//*Label 443*/ GIMT_Encode4(11643), // Rule ID 24 //
4715 /* 11614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4716 /* 11617 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4717 /* 11624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4718 /* 11628 */ // MIs[0] ptr
4719 /* 11628 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4720 /* 11632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4721 /* 11636 */ // (atomic_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_swap_i32>> => (ATOMIC_SWAP_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4722 /* 11636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_SWAP_I32),
4723 /* 11641 */ GIR_RootConstrainSelectedInstOperands,
4724 /* 11642 */ // GIR_Coverage, 24,
4725 /* 11642 */ GIR_Done,
4726 /* 11643 */ // Label 443: @11643
4727 /* 11643 */ GIM_Reject,
4728 /* 11644 */ // Label 440: @11644
4729 /* 11644 */ GIM_Reject,
4730 /* 11645 */ // Label 438: @11645
4731 /* 11645 */ GIM_Try, /*On fail goto*//*Label 444*/ GIMT_Encode4(11682), // Rule ID 265 //
4732 /* 11650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4733 /* 11653 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4734 /* 11656 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4735 /* 11663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4736 /* 11667 */ // MIs[0] ptr
4737 /* 11667 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4738 /* 11671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4739 /* 11675 */ // (atomic_swap:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_swap_i64>> => (ATOMIC_SWAP_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
4740 /* 11675 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_SWAP_I64),
4741 /* 11680 */ GIR_RootConstrainSelectedInstOperands,
4742 /* 11681 */ // GIR_Coverage, 265,
4743 /* 11681 */ GIR_Done,
4744 /* 11682 */ // Label 444: @11682
4745 /* 11682 */ GIM_Reject,
4746 /* 11683 */ // Label 439: @11683
4747 /* 11683 */ GIM_Reject,
4748 /* 11684 */ // Label 18: @11684
4749 /* 11684 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 447*/ GIMT_Encode4(11853),
4750 /* 11695 */ /*GILLT_s32*//*Label 445*/ GIMT_Encode4(11703),
4751 /* 11699 */ /*GILLT_s64*//*Label 446*/ GIMT_Encode4(11815),
4752 /* 11703 */ // Label 445: @11703
4753 /* 11703 */ GIM_Try, /*On fail goto*//*Label 448*/ GIMT_Encode4(11814),
4754 /* 11708 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4755 /* 11711 */ GIM_Try, /*On fail goto*//*Label 449*/ GIMT_Encode4(11745), // Rule ID 4 //
4756 /* 11716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4757 /* 11719 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4758 /* 11726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4759 /* 11730 */ // MIs[0] ptr
4760 /* 11730 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4761 /* 11734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4762 /* 11738 */ // (atomic_load_add:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_add_i8>> => (ATOMIC_LOAD_ADD_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4763 /* 11738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_ADD_I8),
4764 /* 11743 */ GIR_RootConstrainSelectedInstOperands,
4765 /* 11744 */ // GIR_Coverage, 4,
4766 /* 11744 */ GIR_Done,
4767 /* 11745 */ // Label 449: @11745
4768 /* 11745 */ GIM_Try, /*On fail goto*//*Label 450*/ GIMT_Encode4(11779), // Rule ID 5 //
4769 /* 11750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4770 /* 11753 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4771 /* 11760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4772 /* 11764 */ // MIs[0] ptr
4773 /* 11764 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4774 /* 11768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4775 /* 11772 */ // (atomic_load_add:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_add_i16>> => (ATOMIC_LOAD_ADD_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4776 /* 11772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_ADD_I16),
4777 /* 11777 */ GIR_RootConstrainSelectedInstOperands,
4778 /* 11778 */ // GIR_Coverage, 5,
4779 /* 11778 */ GIR_Done,
4780 /* 11779 */ // Label 450: @11779
4781 /* 11779 */ GIM_Try, /*On fail goto*//*Label 451*/ GIMT_Encode4(11813), // Rule ID 6 //
4782 /* 11784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4783 /* 11787 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4784 /* 11794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4785 /* 11798 */ // MIs[0] ptr
4786 /* 11798 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4787 /* 11802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4788 /* 11806 */ // (atomic_load_add:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_add_i32>> => (ATOMIC_LOAD_ADD_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4789 /* 11806 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_ADD_I32),
4790 /* 11811 */ GIR_RootConstrainSelectedInstOperands,
4791 /* 11812 */ // GIR_Coverage, 6,
4792 /* 11812 */ GIR_Done,
4793 /* 11813 */ // Label 451: @11813
4794 /* 11813 */ GIM_Reject,
4795 /* 11814 */ // Label 448: @11814
4796 /* 11814 */ GIM_Reject,
4797 /* 11815 */ // Label 446: @11815
4798 /* 11815 */ GIM_Try, /*On fail goto*//*Label 452*/ GIMT_Encode4(11852), // Rule ID 259 //
4799 /* 11820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4800 /* 11823 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4801 /* 11826 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4802 /* 11833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4803 /* 11837 */ // MIs[0] ptr
4804 /* 11837 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4805 /* 11841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4806 /* 11845 */ // (atomic_load_add:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_add_i64>> => (ATOMIC_LOAD_ADD_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
4807 /* 11845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_ADD_I64),
4808 /* 11850 */ GIR_RootConstrainSelectedInstOperands,
4809 /* 11851 */ // GIR_Coverage, 259,
4810 /* 11851 */ GIR_Done,
4811 /* 11852 */ // Label 452: @11852
4812 /* 11852 */ GIM_Reject,
4813 /* 11853 */ // Label 447: @11853
4814 /* 11853 */ GIM_Reject,
4815 /* 11854 */ // Label 19: @11854
4816 /* 11854 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 455*/ GIMT_Encode4(12023),
4817 /* 11865 */ /*GILLT_s32*//*Label 453*/ GIMT_Encode4(11873),
4818 /* 11869 */ /*GILLT_s64*//*Label 454*/ GIMT_Encode4(11985),
4819 /* 11873 */ // Label 453: @11873
4820 /* 11873 */ GIM_Try, /*On fail goto*//*Label 456*/ GIMT_Encode4(11984),
4821 /* 11878 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4822 /* 11881 */ GIM_Try, /*On fail goto*//*Label 457*/ GIMT_Encode4(11915), // Rule ID 7 //
4823 /* 11886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4824 /* 11889 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4825 /* 11896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4826 /* 11900 */ // MIs[0] ptr
4827 /* 11900 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4828 /* 11904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4829 /* 11908 */ // (atomic_load_sub:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_sub_i8>> => (ATOMIC_LOAD_SUB_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4830 /* 11908 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_SUB_I8),
4831 /* 11913 */ GIR_RootConstrainSelectedInstOperands,
4832 /* 11914 */ // GIR_Coverage, 7,
4833 /* 11914 */ GIR_Done,
4834 /* 11915 */ // Label 457: @11915
4835 /* 11915 */ GIM_Try, /*On fail goto*//*Label 458*/ GIMT_Encode4(11949), // Rule ID 8 //
4836 /* 11920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4837 /* 11923 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4838 /* 11930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4839 /* 11934 */ // MIs[0] ptr
4840 /* 11934 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4841 /* 11938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4842 /* 11942 */ // (atomic_load_sub:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_sub_i16>> => (ATOMIC_LOAD_SUB_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4843 /* 11942 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_SUB_I16),
4844 /* 11947 */ GIR_RootConstrainSelectedInstOperands,
4845 /* 11948 */ // GIR_Coverage, 8,
4846 /* 11948 */ GIR_Done,
4847 /* 11949 */ // Label 458: @11949
4848 /* 11949 */ GIM_Try, /*On fail goto*//*Label 459*/ GIMT_Encode4(11983), // Rule ID 9 //
4849 /* 11954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4850 /* 11957 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4851 /* 11964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4852 /* 11968 */ // MIs[0] ptr
4853 /* 11968 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4854 /* 11972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4855 /* 11976 */ // (atomic_load_sub:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_sub_i32>> => (ATOMIC_LOAD_SUB_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4856 /* 11976 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_SUB_I32),
4857 /* 11981 */ GIR_RootConstrainSelectedInstOperands,
4858 /* 11982 */ // GIR_Coverage, 9,
4859 /* 11982 */ GIR_Done,
4860 /* 11983 */ // Label 459: @11983
4861 /* 11983 */ GIM_Reject,
4862 /* 11984 */ // Label 456: @11984
4863 /* 11984 */ GIM_Reject,
4864 /* 11985 */ // Label 454: @11985
4865 /* 11985 */ GIM_Try, /*On fail goto*//*Label 460*/ GIMT_Encode4(12022), // Rule ID 260 //
4866 /* 11990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4867 /* 11993 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4868 /* 11996 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4869 /* 12003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4870 /* 12007 */ // MIs[0] ptr
4871 /* 12007 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4872 /* 12011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4873 /* 12015 */ // (atomic_load_sub:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_sub_i64>> => (ATOMIC_LOAD_SUB_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
4874 /* 12015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_SUB_I64),
4875 /* 12020 */ GIR_RootConstrainSelectedInstOperands,
4876 /* 12021 */ // GIR_Coverage, 260,
4877 /* 12021 */ GIR_Done,
4878 /* 12022 */ // Label 460: @12022
4879 /* 12022 */ GIM_Reject,
4880 /* 12023 */ // Label 455: @12023
4881 /* 12023 */ GIM_Reject,
4882 /* 12024 */ // Label 20: @12024
4883 /* 12024 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 463*/ GIMT_Encode4(12193),
4884 /* 12035 */ /*GILLT_s32*//*Label 461*/ GIMT_Encode4(12043),
4885 /* 12039 */ /*GILLT_s64*//*Label 462*/ GIMT_Encode4(12155),
4886 /* 12043 */ // Label 461: @12043
4887 /* 12043 */ GIM_Try, /*On fail goto*//*Label 464*/ GIMT_Encode4(12154),
4888 /* 12048 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4889 /* 12051 */ GIM_Try, /*On fail goto*//*Label 465*/ GIMT_Encode4(12085), // Rule ID 10 //
4890 /* 12056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4891 /* 12059 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4892 /* 12066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4893 /* 12070 */ // MIs[0] ptr
4894 /* 12070 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4895 /* 12074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4896 /* 12078 */ // (atomic_load_and:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_and_i8>> => (ATOMIC_LOAD_AND_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4897 /* 12078 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_AND_I8),
4898 /* 12083 */ GIR_RootConstrainSelectedInstOperands,
4899 /* 12084 */ // GIR_Coverage, 10,
4900 /* 12084 */ GIR_Done,
4901 /* 12085 */ // Label 465: @12085
4902 /* 12085 */ GIM_Try, /*On fail goto*//*Label 466*/ GIMT_Encode4(12119), // Rule ID 11 //
4903 /* 12090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4904 /* 12093 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4905 /* 12100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4906 /* 12104 */ // MIs[0] ptr
4907 /* 12104 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4908 /* 12108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4909 /* 12112 */ // (atomic_load_and:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_and_i16>> => (ATOMIC_LOAD_AND_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4910 /* 12112 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_AND_I16),
4911 /* 12117 */ GIR_RootConstrainSelectedInstOperands,
4912 /* 12118 */ // GIR_Coverage, 11,
4913 /* 12118 */ GIR_Done,
4914 /* 12119 */ // Label 466: @12119
4915 /* 12119 */ GIM_Try, /*On fail goto*//*Label 467*/ GIMT_Encode4(12153), // Rule ID 12 //
4916 /* 12124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4917 /* 12127 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4918 /* 12134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4919 /* 12138 */ // MIs[0] ptr
4920 /* 12138 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4921 /* 12142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4922 /* 12146 */ // (atomic_load_and:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_and_i32>> => (ATOMIC_LOAD_AND_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4923 /* 12146 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_AND_I32),
4924 /* 12151 */ GIR_RootConstrainSelectedInstOperands,
4925 /* 12152 */ // GIR_Coverage, 12,
4926 /* 12152 */ GIR_Done,
4927 /* 12153 */ // Label 467: @12153
4928 /* 12153 */ GIM_Reject,
4929 /* 12154 */ // Label 464: @12154
4930 /* 12154 */ GIM_Reject,
4931 /* 12155 */ // Label 462: @12155
4932 /* 12155 */ GIM_Try, /*On fail goto*//*Label 468*/ GIMT_Encode4(12192), // Rule ID 261 //
4933 /* 12160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4934 /* 12163 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4935 /* 12166 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4936 /* 12173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4937 /* 12177 */ // MIs[0] ptr
4938 /* 12177 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4939 /* 12181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4940 /* 12185 */ // (atomic_load_and:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_and_i64>> => (ATOMIC_LOAD_AND_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
4941 /* 12185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_AND_I64),
4942 /* 12190 */ GIR_RootConstrainSelectedInstOperands,
4943 /* 12191 */ // GIR_Coverage, 261,
4944 /* 12191 */ GIR_Done,
4945 /* 12192 */ // Label 468: @12192
4946 /* 12192 */ GIM_Reject,
4947 /* 12193 */ // Label 463: @12193
4948 /* 12193 */ GIM_Reject,
4949 /* 12194 */ // Label 21: @12194
4950 /* 12194 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 471*/ GIMT_Encode4(12363),
4951 /* 12205 */ /*GILLT_s32*//*Label 469*/ GIMT_Encode4(12213),
4952 /* 12209 */ /*GILLT_s64*//*Label 470*/ GIMT_Encode4(12325),
4953 /* 12213 */ // Label 469: @12213
4954 /* 12213 */ GIM_Try, /*On fail goto*//*Label 472*/ GIMT_Encode4(12324),
4955 /* 12218 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4956 /* 12221 */ GIM_Try, /*On fail goto*//*Label 473*/ GIMT_Encode4(12255), // Rule ID 19 //
4957 /* 12226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4958 /* 12229 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4959 /* 12236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4960 /* 12240 */ // MIs[0] ptr
4961 /* 12240 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4962 /* 12244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4963 /* 12248 */ // (atomic_load_nand:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_nand_i8>> => (ATOMIC_LOAD_NAND_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4964 /* 12248 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_NAND_I8),
4965 /* 12253 */ GIR_RootConstrainSelectedInstOperands,
4966 /* 12254 */ // GIR_Coverage, 19,
4967 /* 12254 */ GIR_Done,
4968 /* 12255 */ // Label 473: @12255
4969 /* 12255 */ GIM_Try, /*On fail goto*//*Label 474*/ GIMT_Encode4(12289), // Rule ID 20 //
4970 /* 12260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4971 /* 12263 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4972 /* 12270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4973 /* 12274 */ // MIs[0] ptr
4974 /* 12274 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4975 /* 12278 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4976 /* 12282 */ // (atomic_load_nand:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_nand_i16>> => (ATOMIC_LOAD_NAND_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4977 /* 12282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_NAND_I16),
4978 /* 12287 */ GIR_RootConstrainSelectedInstOperands,
4979 /* 12288 */ // GIR_Coverage, 20,
4980 /* 12288 */ GIR_Done,
4981 /* 12289 */ // Label 474: @12289
4982 /* 12289 */ GIM_Try, /*On fail goto*//*Label 475*/ GIMT_Encode4(12323), // Rule ID 21 //
4983 /* 12294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
4984 /* 12297 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4985 /* 12304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4986 /* 12308 */ // MIs[0] ptr
4987 /* 12308 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4988 /* 12312 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4989 /* 12316 */ // (atomic_load_nand:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_nand_i32>> => (ATOMIC_LOAD_NAND_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4990 /* 12316 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_NAND_I32),
4991 /* 12321 */ GIR_RootConstrainSelectedInstOperands,
4992 /* 12322 */ // GIR_Coverage, 21,
4993 /* 12322 */ GIR_Done,
4994 /* 12323 */ // Label 475: @12323
4995 /* 12323 */ GIM_Reject,
4996 /* 12324 */ // Label 472: @12324
4997 /* 12324 */ GIM_Reject,
4998 /* 12325 */ // Label 470: @12325
4999 /* 12325 */ GIM_Try, /*On fail goto*//*Label 476*/ GIMT_Encode4(12362), // Rule ID 264 //
5000 /* 12330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5001 /* 12333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5002 /* 12336 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5003 /* 12343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5004 /* 12347 */ // MIs[0] ptr
5005 /* 12347 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5006 /* 12351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5007 /* 12355 */ // (atomic_load_nand:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_nand_i64>> => (ATOMIC_LOAD_NAND_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
5008 /* 12355 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_NAND_I64),
5009 /* 12360 */ GIR_RootConstrainSelectedInstOperands,
5010 /* 12361 */ // GIR_Coverage, 264,
5011 /* 12361 */ GIR_Done,
5012 /* 12362 */ // Label 476: @12362
5013 /* 12362 */ GIM_Reject,
5014 /* 12363 */ // Label 471: @12363
5015 /* 12363 */ GIM_Reject,
5016 /* 12364 */ // Label 22: @12364
5017 /* 12364 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 479*/ GIMT_Encode4(12533),
5018 /* 12375 */ /*GILLT_s32*//*Label 477*/ GIMT_Encode4(12383),
5019 /* 12379 */ /*GILLT_s64*//*Label 478*/ GIMT_Encode4(12495),
5020 /* 12383 */ // Label 477: @12383
5021 /* 12383 */ GIM_Try, /*On fail goto*//*Label 480*/ GIMT_Encode4(12494),
5022 /* 12388 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5023 /* 12391 */ GIM_Try, /*On fail goto*//*Label 481*/ GIMT_Encode4(12425), // Rule ID 13 //
5024 /* 12396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5025 /* 12399 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5026 /* 12406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5027 /* 12410 */ // MIs[0] ptr
5028 /* 12410 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5029 /* 12414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5030 /* 12418 */ // (atomic_load_or:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_or_i8>> => (ATOMIC_LOAD_OR_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5031 /* 12418 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_OR_I8),
5032 /* 12423 */ GIR_RootConstrainSelectedInstOperands,
5033 /* 12424 */ // GIR_Coverage, 13,
5034 /* 12424 */ GIR_Done,
5035 /* 12425 */ // Label 481: @12425
5036 /* 12425 */ GIM_Try, /*On fail goto*//*Label 482*/ GIMT_Encode4(12459), // Rule ID 14 //
5037 /* 12430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5038 /* 12433 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5039 /* 12440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5040 /* 12444 */ // MIs[0] ptr
5041 /* 12444 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5042 /* 12448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5043 /* 12452 */ // (atomic_load_or:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_or_i16>> => (ATOMIC_LOAD_OR_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5044 /* 12452 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_OR_I16),
5045 /* 12457 */ GIR_RootConstrainSelectedInstOperands,
5046 /* 12458 */ // GIR_Coverage, 14,
5047 /* 12458 */ GIR_Done,
5048 /* 12459 */ // Label 482: @12459
5049 /* 12459 */ GIM_Try, /*On fail goto*//*Label 483*/ GIMT_Encode4(12493), // Rule ID 15 //
5050 /* 12464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5051 /* 12467 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5052 /* 12474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5053 /* 12478 */ // MIs[0] ptr
5054 /* 12478 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5055 /* 12482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5056 /* 12486 */ // (atomic_load_or:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_or_i32>> => (ATOMIC_LOAD_OR_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5057 /* 12486 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_OR_I32),
5058 /* 12491 */ GIR_RootConstrainSelectedInstOperands,
5059 /* 12492 */ // GIR_Coverage, 15,
5060 /* 12492 */ GIR_Done,
5061 /* 12493 */ // Label 483: @12493
5062 /* 12493 */ GIM_Reject,
5063 /* 12494 */ // Label 480: @12494
5064 /* 12494 */ GIM_Reject,
5065 /* 12495 */ // Label 478: @12495
5066 /* 12495 */ GIM_Try, /*On fail goto*//*Label 484*/ GIMT_Encode4(12532), // Rule ID 262 //
5067 /* 12500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5068 /* 12503 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5069 /* 12506 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5070 /* 12513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5071 /* 12517 */ // MIs[0] ptr
5072 /* 12517 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5073 /* 12521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5074 /* 12525 */ // (atomic_load_or:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_or_i64>> => (ATOMIC_LOAD_OR_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
5075 /* 12525 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_OR_I64),
5076 /* 12530 */ GIR_RootConstrainSelectedInstOperands,
5077 /* 12531 */ // GIR_Coverage, 262,
5078 /* 12531 */ GIR_Done,
5079 /* 12532 */ // Label 484: @12532
5080 /* 12532 */ GIM_Reject,
5081 /* 12533 */ // Label 479: @12533
5082 /* 12533 */ GIM_Reject,
5083 /* 12534 */ // Label 23: @12534
5084 /* 12534 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 487*/ GIMT_Encode4(12703),
5085 /* 12545 */ /*GILLT_s32*//*Label 485*/ GIMT_Encode4(12553),
5086 /* 12549 */ /*GILLT_s64*//*Label 486*/ GIMT_Encode4(12665),
5087 /* 12553 */ // Label 485: @12553
5088 /* 12553 */ GIM_Try, /*On fail goto*//*Label 488*/ GIMT_Encode4(12664),
5089 /* 12558 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5090 /* 12561 */ GIM_Try, /*On fail goto*//*Label 489*/ GIMT_Encode4(12595), // Rule ID 16 //
5091 /* 12566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5092 /* 12569 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5093 /* 12576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5094 /* 12580 */ // MIs[0] ptr
5095 /* 12580 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5096 /* 12584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5097 /* 12588 */ // (atomic_load_xor:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_xor_i8>> => (ATOMIC_LOAD_XOR_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5098 /* 12588 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_XOR_I8),
5099 /* 12593 */ GIR_RootConstrainSelectedInstOperands,
5100 /* 12594 */ // GIR_Coverage, 16,
5101 /* 12594 */ GIR_Done,
5102 /* 12595 */ // Label 489: @12595
5103 /* 12595 */ GIM_Try, /*On fail goto*//*Label 490*/ GIMT_Encode4(12629), // Rule ID 17 //
5104 /* 12600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5105 /* 12603 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5106 /* 12610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5107 /* 12614 */ // MIs[0] ptr
5108 /* 12614 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5109 /* 12618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5110 /* 12622 */ // (atomic_load_xor:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_xor_i16>> => (ATOMIC_LOAD_XOR_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5111 /* 12622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_XOR_I16),
5112 /* 12627 */ GIR_RootConstrainSelectedInstOperands,
5113 /* 12628 */ // GIR_Coverage, 17,
5114 /* 12628 */ GIR_Done,
5115 /* 12629 */ // Label 490: @12629
5116 /* 12629 */ GIM_Try, /*On fail goto*//*Label 491*/ GIMT_Encode4(12663), // Rule ID 18 //
5117 /* 12634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5118 /* 12637 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5119 /* 12644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5120 /* 12648 */ // MIs[0] ptr
5121 /* 12648 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5122 /* 12652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5123 /* 12656 */ // (atomic_load_xor:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_xor_i32>> => (ATOMIC_LOAD_XOR_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5124 /* 12656 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_XOR_I32),
5125 /* 12661 */ GIR_RootConstrainSelectedInstOperands,
5126 /* 12662 */ // GIR_Coverage, 18,
5127 /* 12662 */ GIR_Done,
5128 /* 12663 */ // Label 491: @12663
5129 /* 12663 */ GIM_Reject,
5130 /* 12664 */ // Label 488: @12664
5131 /* 12664 */ GIM_Reject,
5132 /* 12665 */ // Label 486: @12665
5133 /* 12665 */ GIM_Try, /*On fail goto*//*Label 492*/ GIMT_Encode4(12702), // Rule ID 263 //
5134 /* 12670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5135 /* 12673 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5136 /* 12676 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5137 /* 12683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5138 /* 12687 */ // MIs[0] ptr
5139 /* 12687 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5140 /* 12691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5141 /* 12695 */ // (atomic_load_xor:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_xor_i64>> => (ATOMIC_LOAD_XOR_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
5142 /* 12695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_XOR_I64),
5143 /* 12700 */ GIR_RootConstrainSelectedInstOperands,
5144 /* 12701 */ // GIR_Coverage, 263,
5145 /* 12701 */ GIR_Done,
5146 /* 12702 */ // Label 492: @12702
5147 /* 12702 */ GIM_Reject,
5148 /* 12703 */ // Label 487: @12703
5149 /* 12703 */ GIM_Reject,
5150 /* 12704 */ // Label 24: @12704
5151 /* 12704 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 495*/ GIMT_Encode4(12873),
5152 /* 12715 */ /*GILLT_s32*//*Label 493*/ GIMT_Encode4(12723),
5153 /* 12719 */ /*GILLT_s64*//*Label 494*/ GIMT_Encode4(12835),
5154 /* 12723 */ // Label 493: @12723
5155 /* 12723 */ GIM_Try, /*On fail goto*//*Label 496*/ GIMT_Encode4(12834),
5156 /* 12728 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5157 /* 12731 */ GIM_Try, /*On fail goto*//*Label 497*/ GIMT_Encode4(12765), // Rule ID 31 //
5158 /* 12736 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5159 /* 12739 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5160 /* 12746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5161 /* 12750 */ // MIs[0] ptr
5162 /* 12750 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5163 /* 12754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5164 /* 12758 */ // (atomic_load_max:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_max_i8>> => (ATOMIC_LOAD_MAX_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5165 /* 12758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MAX_I8),
5166 /* 12763 */ GIR_RootConstrainSelectedInstOperands,
5167 /* 12764 */ // GIR_Coverage, 31,
5168 /* 12764 */ GIR_Done,
5169 /* 12765 */ // Label 497: @12765
5170 /* 12765 */ GIM_Try, /*On fail goto*//*Label 498*/ GIMT_Encode4(12799), // Rule ID 32 //
5171 /* 12770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5172 /* 12773 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5173 /* 12780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5174 /* 12784 */ // MIs[0] ptr
5175 /* 12784 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5176 /* 12788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5177 /* 12792 */ // (atomic_load_max:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_max_i16>> => (ATOMIC_LOAD_MAX_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5178 /* 12792 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MAX_I16),
5179 /* 12797 */ GIR_RootConstrainSelectedInstOperands,
5180 /* 12798 */ // GIR_Coverage, 32,
5181 /* 12798 */ GIR_Done,
5182 /* 12799 */ // Label 498: @12799
5183 /* 12799 */ GIM_Try, /*On fail goto*//*Label 499*/ GIMT_Encode4(12833), // Rule ID 33 //
5184 /* 12804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5185 /* 12807 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5186 /* 12814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5187 /* 12818 */ // MIs[0] ptr
5188 /* 12818 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5189 /* 12822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5190 /* 12826 */ // (atomic_load_max:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_max_i32>> => (ATOMIC_LOAD_MAX_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5191 /* 12826 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MAX_I32),
5192 /* 12831 */ GIR_RootConstrainSelectedInstOperands,
5193 /* 12832 */ // GIR_Coverage, 33,
5194 /* 12832 */ GIR_Done,
5195 /* 12833 */ // Label 499: @12833
5196 /* 12833 */ GIM_Reject,
5197 /* 12834 */ // Label 496: @12834
5198 /* 12834 */ GIM_Reject,
5199 /* 12835 */ // Label 494: @12835
5200 /* 12835 */ GIM_Try, /*On fail goto*//*Label 500*/ GIMT_Encode4(12872), // Rule ID 268 //
5201 /* 12840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5202 /* 12843 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5203 /* 12846 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5204 /* 12853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5205 /* 12857 */ // MIs[0] ptr
5206 /* 12857 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5207 /* 12861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5208 /* 12865 */ // (atomic_load_max:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_max_i64>> => (ATOMIC_LOAD_MAX_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
5209 /* 12865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MAX_I64),
5210 /* 12870 */ GIR_RootConstrainSelectedInstOperands,
5211 /* 12871 */ // GIR_Coverage, 268,
5212 /* 12871 */ GIR_Done,
5213 /* 12872 */ // Label 500: @12872
5214 /* 12872 */ GIM_Reject,
5215 /* 12873 */ // Label 495: @12873
5216 /* 12873 */ GIM_Reject,
5217 /* 12874 */ // Label 25: @12874
5218 /* 12874 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 503*/ GIMT_Encode4(13043),
5219 /* 12885 */ /*GILLT_s32*//*Label 501*/ GIMT_Encode4(12893),
5220 /* 12889 */ /*GILLT_s64*//*Label 502*/ GIMT_Encode4(13005),
5221 /* 12893 */ // Label 501: @12893
5222 /* 12893 */ GIM_Try, /*On fail goto*//*Label 504*/ GIMT_Encode4(13004),
5223 /* 12898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5224 /* 12901 */ GIM_Try, /*On fail goto*//*Label 505*/ GIMT_Encode4(12935), // Rule ID 28 //
5225 /* 12906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5226 /* 12909 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5227 /* 12916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5228 /* 12920 */ // MIs[0] ptr
5229 /* 12920 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5230 /* 12924 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5231 /* 12928 */ // (atomic_load_min:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_min_i8>> => (ATOMIC_LOAD_MIN_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5232 /* 12928 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MIN_I8),
5233 /* 12933 */ GIR_RootConstrainSelectedInstOperands,
5234 /* 12934 */ // GIR_Coverage, 28,
5235 /* 12934 */ GIR_Done,
5236 /* 12935 */ // Label 505: @12935
5237 /* 12935 */ GIM_Try, /*On fail goto*//*Label 506*/ GIMT_Encode4(12969), // Rule ID 29 //
5238 /* 12940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5239 /* 12943 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5240 /* 12950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5241 /* 12954 */ // MIs[0] ptr
5242 /* 12954 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5243 /* 12958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5244 /* 12962 */ // (atomic_load_min:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_min_i16>> => (ATOMIC_LOAD_MIN_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5245 /* 12962 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MIN_I16),
5246 /* 12967 */ GIR_RootConstrainSelectedInstOperands,
5247 /* 12968 */ // GIR_Coverage, 29,
5248 /* 12968 */ GIR_Done,
5249 /* 12969 */ // Label 506: @12969
5250 /* 12969 */ GIM_Try, /*On fail goto*//*Label 507*/ GIMT_Encode4(13003), // Rule ID 30 //
5251 /* 12974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5252 /* 12977 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5253 /* 12984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5254 /* 12988 */ // MIs[0] ptr
5255 /* 12988 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5256 /* 12992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5257 /* 12996 */ // (atomic_load_min:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_min_i32>> => (ATOMIC_LOAD_MIN_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5258 /* 12996 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MIN_I32),
5259 /* 13001 */ GIR_RootConstrainSelectedInstOperands,
5260 /* 13002 */ // GIR_Coverage, 30,
5261 /* 13002 */ GIR_Done,
5262 /* 13003 */ // Label 507: @13003
5263 /* 13003 */ GIM_Reject,
5264 /* 13004 */ // Label 504: @13004
5265 /* 13004 */ GIM_Reject,
5266 /* 13005 */ // Label 502: @13005
5267 /* 13005 */ GIM_Try, /*On fail goto*//*Label 508*/ GIMT_Encode4(13042), // Rule ID 267 //
5268 /* 13010 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5269 /* 13013 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5270 /* 13016 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5271 /* 13023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5272 /* 13027 */ // MIs[0] ptr
5273 /* 13027 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5274 /* 13031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5275 /* 13035 */ // (atomic_load_min:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_min_i64>> => (ATOMIC_LOAD_MIN_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
5276 /* 13035 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MIN_I64),
5277 /* 13040 */ GIR_RootConstrainSelectedInstOperands,
5278 /* 13041 */ // GIR_Coverage, 267,
5279 /* 13041 */ GIR_Done,
5280 /* 13042 */ // Label 508: @13042
5281 /* 13042 */ GIM_Reject,
5282 /* 13043 */ // Label 503: @13043
5283 /* 13043 */ GIM_Reject,
5284 /* 13044 */ // Label 26: @13044
5285 /* 13044 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 511*/ GIMT_Encode4(13213),
5286 /* 13055 */ /*GILLT_s32*//*Label 509*/ GIMT_Encode4(13063),
5287 /* 13059 */ /*GILLT_s64*//*Label 510*/ GIMT_Encode4(13175),
5288 /* 13063 */ // Label 509: @13063
5289 /* 13063 */ GIM_Try, /*On fail goto*//*Label 512*/ GIMT_Encode4(13174),
5290 /* 13068 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5291 /* 13071 */ GIM_Try, /*On fail goto*//*Label 513*/ GIMT_Encode4(13105), // Rule ID 37 //
5292 /* 13076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5293 /* 13079 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5294 /* 13086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5295 /* 13090 */ // MIs[0] ptr
5296 /* 13090 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5297 /* 13094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5298 /* 13098 */ // (atomic_load_umax:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_umax_i8>> => (ATOMIC_LOAD_UMAX_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5299 /* 13098 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMAX_I8),
5300 /* 13103 */ GIR_RootConstrainSelectedInstOperands,
5301 /* 13104 */ // GIR_Coverage, 37,
5302 /* 13104 */ GIR_Done,
5303 /* 13105 */ // Label 513: @13105
5304 /* 13105 */ GIM_Try, /*On fail goto*//*Label 514*/ GIMT_Encode4(13139), // Rule ID 38 //
5305 /* 13110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5306 /* 13113 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5307 /* 13120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5308 /* 13124 */ // MIs[0] ptr
5309 /* 13124 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5310 /* 13128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5311 /* 13132 */ // (atomic_load_umax:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_umax_i16>> => (ATOMIC_LOAD_UMAX_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5312 /* 13132 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMAX_I16),
5313 /* 13137 */ GIR_RootConstrainSelectedInstOperands,
5314 /* 13138 */ // GIR_Coverage, 38,
5315 /* 13138 */ GIR_Done,
5316 /* 13139 */ // Label 514: @13139
5317 /* 13139 */ GIM_Try, /*On fail goto*//*Label 515*/ GIMT_Encode4(13173), // Rule ID 39 //
5318 /* 13144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5319 /* 13147 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5320 /* 13154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5321 /* 13158 */ // MIs[0] ptr
5322 /* 13158 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5323 /* 13162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5324 /* 13166 */ // (atomic_load_umax:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_umax_i32>> => (ATOMIC_LOAD_UMAX_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5325 /* 13166 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMAX_I32),
5326 /* 13171 */ GIR_RootConstrainSelectedInstOperands,
5327 /* 13172 */ // GIR_Coverage, 39,
5328 /* 13172 */ GIR_Done,
5329 /* 13173 */ // Label 515: @13173
5330 /* 13173 */ GIM_Reject,
5331 /* 13174 */ // Label 512: @13174
5332 /* 13174 */ GIM_Reject,
5333 /* 13175 */ // Label 510: @13175
5334 /* 13175 */ GIM_Try, /*On fail goto*//*Label 516*/ GIMT_Encode4(13212), // Rule ID 270 //
5335 /* 13180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5336 /* 13183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5337 /* 13186 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5338 /* 13193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5339 /* 13197 */ // MIs[0] ptr
5340 /* 13197 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5341 /* 13201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5342 /* 13205 */ // (atomic_load_umax:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_umax_i64>> => (ATOMIC_LOAD_UMAX_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
5343 /* 13205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMAX_I64),
5344 /* 13210 */ GIR_RootConstrainSelectedInstOperands,
5345 /* 13211 */ // GIR_Coverage, 270,
5346 /* 13211 */ GIR_Done,
5347 /* 13212 */ // Label 516: @13212
5348 /* 13212 */ GIM_Reject,
5349 /* 13213 */ // Label 511: @13213
5350 /* 13213 */ GIM_Reject,
5351 /* 13214 */ // Label 27: @13214
5352 /* 13214 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 519*/ GIMT_Encode4(13383),
5353 /* 13225 */ /*GILLT_s32*//*Label 517*/ GIMT_Encode4(13233),
5354 /* 13229 */ /*GILLT_s64*//*Label 518*/ GIMT_Encode4(13345),
5355 /* 13233 */ // Label 517: @13233
5356 /* 13233 */ GIM_Try, /*On fail goto*//*Label 520*/ GIMT_Encode4(13344),
5357 /* 13238 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5358 /* 13241 */ GIM_Try, /*On fail goto*//*Label 521*/ GIMT_Encode4(13275), // Rule ID 34 //
5359 /* 13246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5360 /* 13249 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5361 /* 13256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5362 /* 13260 */ // MIs[0] ptr
5363 /* 13260 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5364 /* 13264 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5365 /* 13268 */ // (atomic_load_umin:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_umin_i8>> => (ATOMIC_LOAD_UMIN_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5366 /* 13268 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMIN_I8),
5367 /* 13273 */ GIR_RootConstrainSelectedInstOperands,
5368 /* 13274 */ // GIR_Coverage, 34,
5369 /* 13274 */ GIR_Done,
5370 /* 13275 */ // Label 521: @13275
5371 /* 13275 */ GIM_Try, /*On fail goto*//*Label 522*/ GIMT_Encode4(13309), // Rule ID 35 //
5372 /* 13280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5373 /* 13283 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5374 /* 13290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5375 /* 13294 */ // MIs[0] ptr
5376 /* 13294 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5377 /* 13298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5378 /* 13302 */ // (atomic_load_umin:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_umin_i16>> => (ATOMIC_LOAD_UMIN_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5379 /* 13302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMIN_I16),
5380 /* 13307 */ GIR_RootConstrainSelectedInstOperands,
5381 /* 13308 */ // GIR_Coverage, 35,
5382 /* 13308 */ GIR_Done,
5383 /* 13309 */ // Label 522: @13309
5384 /* 13309 */ GIM_Try, /*On fail goto*//*Label 523*/ GIMT_Encode4(13343), // Rule ID 36 //
5385 /* 13314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5386 /* 13317 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5387 /* 13324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5388 /* 13328 */ // MIs[0] ptr
5389 /* 13328 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5390 /* 13332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5391 /* 13336 */ // (atomic_load_umin:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_load_umin_i32>> => (ATOMIC_LOAD_UMIN_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
5392 /* 13336 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMIN_I32),
5393 /* 13341 */ GIR_RootConstrainSelectedInstOperands,
5394 /* 13342 */ // GIR_Coverage, 36,
5395 /* 13342 */ GIR_Done,
5396 /* 13343 */ // Label 523: @13343
5397 /* 13343 */ GIM_Reject,
5398 /* 13344 */ // Label 520: @13344
5399 /* 13344 */ GIM_Reject,
5400 /* 13345 */ // Label 518: @13345
5401 /* 13345 */ GIM_Try, /*On fail goto*//*Label 524*/ GIMT_Encode4(13382), // Rule ID 269 //
5402 /* 13350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
5403 /* 13353 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5404 /* 13356 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5405 /* 13363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5406 /* 13367 */ // MIs[0] ptr
5407 /* 13367 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5408 /* 13371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5409 /* 13375 */ // (atomic_load_umin:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_load_umin_i64>> => (ATOMIC_LOAD_UMIN_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
5410 /* 13375 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMIN_I64),
5411 /* 13380 */ GIR_RootConstrainSelectedInstOperands,
5412 /* 13381 */ // GIR_Coverage, 269,
5413 /* 13381 */ GIR_Done,
5414 /* 13382 */ // Label 524: @13382
5415 /* 13382 */ GIM_Reject,
5416 /* 13383 */ // Label 519: @13383
5417 /* 13383 */ GIM_Reject,
5418 /* 13384 */ // Label 28: @13384
5419 /* 13384 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 527*/ GIMT_Encode4(19928),
5420 /* 13395 */ /*GILLT_s32*//*Label 525*/ GIMT_Encode4(13403),
5421 /* 13399 */ /*GILLT_s64*//*Label 526*/ GIMT_Encode4(19894),
5422 /* 13403 */ // Label 525: @13403
5423 /* 13403 */ GIM_Try, /*On fail goto*//*Label 528*/ GIMT_Encode4(13511), // Rule ID 2526 //
5424 /* 13408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
5425 /* 13411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5426 /* 13415 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5427 /* 13419 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5428 /* 13423 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5429 /* 13427 */ // MIs[1] Operand 1
5430 /* 13427 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5431 /* 13432 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5432 /* 13436 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5433 /* 13440 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5434 /* 13444 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5435 /* 13448 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
5436 /* 13452 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5437 /* 13456 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5438 /* 13460 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5439 /* 13464 */ GIM_CheckConstantInt8, /*MI*/3, /*Op*/1, 1,
5440 /* 13468 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5441 /* 13472 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5442 /* 13476 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5443 /* 13480 */ // MIs[4] Operand 1
5444 /* 13480 */ // No operand predicates
5445 /* 13480 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5446 /* 13485 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5447 /* 13489 */ // MIs[0] offset
5448 /* 13489 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5449 /* 13492 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5450 /* 13494 */ // (brcond (setcc:{ *:[i32] } (and:{ *:[i64] } (shl:{ *:[i64] } 1:{ *:[i64] }, (imm:{ *:[i64] })<<P:Predicate_immZExt5_64>>:$p), GPR64Opnd:{ *:[i64] }:$rs), 0:{ *:[i64] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BBIT0 GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i64] }):$p, (bb:{ *:[Other] }):$offset)
5451 /* 13494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT0),
5452 /* 13497 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // rs
5453 /* 13501 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5454 /* 13504 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5455 /* 13506 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5456 /* 13509 */ GIR_RootConstrainSelectedInstOperands,
5457 /* 13510 */ // GIR_Coverage, 2526,
5458 /* 13510 */ GIR_EraseRootFromParent_Done,
5459 /* 13511 */ // Label 528: @13511
5460 /* 13511 */ GIM_Try, /*On fail goto*//*Label 529*/ GIMT_Encode4(13626), // Rule ID 2527 //
5461 /* 13516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
5462 /* 13519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5463 /* 13523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5464 /* 13527 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5465 /* 13531 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5466 /* 13535 */ // MIs[1] Operand 1
5467 /* 13535 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5468 /* 13540 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5469 /* 13544 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5470 /* 13548 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5471 /* 13552 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5472 /* 13556 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
5473 /* 13560 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5474 /* 13564 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5475 /* 13568 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5476 /* 13572 */ GIM_CheckConstantInt, /*MI*/3, /*Op*/1, GIMT_Encode8(4294967296),
5477 /* 13583 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5478 /* 13587 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5479 /* 13591 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5480 /* 13595 */ // MIs[4] Operand 1
5481 /* 13595 */ // No operand predicates
5482 /* 13595 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5483 /* 13600 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5484 /* 13604 */ // MIs[0] offset
5485 /* 13604 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5486 /* 13607 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5487 /* 13609 */ // (brcond (setcc:{ *:[i32] } (and:{ *:[i64] } (shl:{ *:[i64] } 4294967296:{ *:[i64] }, (imm:{ *:[i64] })<<P:Predicate_immZExt5_64>>:$p), GPR64Opnd:{ *:[i64] }:$rs), 0:{ *:[i64] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BBIT032 GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i64] }):$p, (bb:{ *:[Other] }):$offset)
5488 /* 13609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT032),
5489 /* 13612 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // rs
5490 /* 13616 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5491 /* 13619 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5492 /* 13621 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5493 /* 13624 */ GIR_RootConstrainSelectedInstOperands,
5494 /* 13625 */ // GIR_Coverage, 2527,
5495 /* 13625 */ GIR_EraseRootFromParent_Done,
5496 /* 13626 */ // Label 529: @13626
5497 /* 13626 */ GIM_Try, /*On fail goto*//*Label 530*/ GIMT_Encode4(13734), // Rule ID 2528 //
5498 /* 13631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
5499 /* 13634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5500 /* 13638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5501 /* 13642 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5502 /* 13646 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5503 /* 13650 */ // MIs[1] Operand 1
5504 /* 13650 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5505 /* 13655 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5506 /* 13659 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5507 /* 13663 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5508 /* 13667 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5509 /* 13671 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
5510 /* 13675 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5511 /* 13679 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5512 /* 13683 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5513 /* 13687 */ GIM_CheckConstantInt8, /*MI*/3, /*Op*/1, 1,
5514 /* 13691 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5515 /* 13695 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5516 /* 13699 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5517 /* 13703 */ // MIs[4] Operand 1
5518 /* 13703 */ // No operand predicates
5519 /* 13703 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5520 /* 13708 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5521 /* 13712 */ // MIs[0] offset
5522 /* 13712 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5523 /* 13715 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5524 /* 13717 */ // (brcond (setcc:{ *:[i32] } (and:{ *:[i64] } (shl:{ *:[i64] } 1:{ *:[i64] }, (imm:{ *:[i64] })<<P:Predicate_immZExt5_64>>:$p), GPR64Opnd:{ *:[i64] }:$rs), 0:{ *:[i64] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BBIT1 GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i64] }):$p, (bb:{ *:[Other] }):$offset)
5525 /* 13717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT1),
5526 /* 13720 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // rs
5527 /* 13724 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5528 /* 13727 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5529 /* 13729 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5530 /* 13732 */ GIR_RootConstrainSelectedInstOperands,
5531 /* 13733 */ // GIR_Coverage, 2528,
5532 /* 13733 */ GIR_EraseRootFromParent_Done,
5533 /* 13734 */ // Label 530: @13734
5534 /* 13734 */ GIM_Try, /*On fail goto*//*Label 531*/ GIMT_Encode4(13849), // Rule ID 2529 //
5535 /* 13739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
5536 /* 13742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5537 /* 13746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5538 /* 13750 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5539 /* 13754 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5540 /* 13758 */ // MIs[1] Operand 1
5541 /* 13758 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5542 /* 13763 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5543 /* 13767 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5544 /* 13771 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5545 /* 13775 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5546 /* 13779 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
5547 /* 13783 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5548 /* 13787 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5549 /* 13791 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5550 /* 13795 */ GIM_CheckConstantInt, /*MI*/3, /*Op*/1, GIMT_Encode8(4294967296),
5551 /* 13806 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5552 /* 13810 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5553 /* 13814 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5554 /* 13818 */ // MIs[4] Operand 1
5555 /* 13818 */ // No operand predicates
5556 /* 13818 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5557 /* 13823 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5558 /* 13827 */ // MIs[0] offset
5559 /* 13827 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5560 /* 13830 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5561 /* 13832 */ // (brcond (setcc:{ *:[i32] } (and:{ *:[i64] } (shl:{ *:[i64] } 4294967296:{ *:[i64] }, (imm:{ *:[i64] })<<P:Predicate_immZExt5_64>>:$p), GPR64Opnd:{ *:[i64] }:$rs), 0:{ *:[i64] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BBIT132 GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i64] }):$p, (bb:{ *:[Other] }):$offset)
5562 /* 13832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT132),
5563 /* 13835 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // rs
5564 /* 13839 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5565 /* 13842 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5566 /* 13844 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5567 /* 13847 */ GIR_RootConstrainSelectedInstOperands,
5568 /* 13848 */ // GIR_Coverage, 2529,
5569 /* 13848 */ GIR_EraseRootFromParent_Done,
5570 /* 13849 */ // Label 531: @13849
5571 /* 13849 */ GIM_Try, /*On fail goto*//*Label 532*/ GIMT_Encode4(13957), // Rule ID 345 //
5572 /* 13854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
5573 /* 13857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5574 /* 13861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5575 /* 13865 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5576 /* 13869 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5577 /* 13873 */ // MIs[1] Operand 1
5578 /* 13873 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5579 /* 13878 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5580 /* 13882 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5581 /* 13886 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5582 /* 13890 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5583 /* 13894 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5584 /* 13899 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/2, // MIs[3]
5585 /* 13903 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5586 /* 13907 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5587 /* 13911 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5588 /* 13915 */ GIM_CheckConstantInt8, /*MI*/3, /*Op*/1, 1,
5589 /* 13919 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5590 /* 13923 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5591 /* 13927 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5592 /* 13931 */ // MIs[4] Operand 1
5593 /* 13931 */ // No operand predicates
5594 /* 13931 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5595 /* 13935 */ // MIs[0] offset
5596 /* 13935 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5597 /* 13938 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5598 /* 13940 */ // (brcond (setcc:{ *:[i32] } (and:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, (shl:{ *:[i64] } 1:{ *:[i64] }, (imm:{ *:[i64] })<<P:Predicate_immZExt5_64>>:$p)), 0:{ *:[i64] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BBIT0 GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i64] }):$p, (bb:{ *:[Other] }):$offset)
5599 /* 13940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT0),
5600 /* 13943 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // rs
5601 /* 13947 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5602 /* 13950 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5603 /* 13952 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5604 /* 13955 */ GIR_RootConstrainSelectedInstOperands,
5605 /* 13956 */ // GIR_Coverage, 345,
5606 /* 13956 */ GIR_EraseRootFromParent_Done,
5607 /* 13957 */ // Label 532: @13957
5608 /* 13957 */ GIM_Try, /*On fail goto*//*Label 533*/ GIMT_Encode4(14072), // Rule ID 346 //
5609 /* 13962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
5610 /* 13965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5611 /* 13969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5612 /* 13973 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5613 /* 13977 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5614 /* 13981 */ // MIs[1] Operand 1
5615 /* 13981 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5616 /* 13986 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5617 /* 13990 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5618 /* 13994 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5619 /* 13998 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5620 /* 14002 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5621 /* 14007 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/2, // MIs[3]
5622 /* 14011 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5623 /* 14015 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5624 /* 14019 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5625 /* 14023 */ GIM_CheckConstantInt, /*MI*/3, /*Op*/1, GIMT_Encode8(4294967296),
5626 /* 14034 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5627 /* 14038 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5628 /* 14042 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5629 /* 14046 */ // MIs[4] Operand 1
5630 /* 14046 */ // No operand predicates
5631 /* 14046 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5632 /* 14050 */ // MIs[0] offset
5633 /* 14050 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5634 /* 14053 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5635 /* 14055 */ // (brcond (setcc:{ *:[i32] } (and:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, (shl:{ *:[i64] } 4294967296:{ *:[i64] }, (imm:{ *:[i64] })<<P:Predicate_immZExt5_64>>:$p)), 0:{ *:[i64] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BBIT032 GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i64] }):$p, (bb:{ *:[Other] }):$offset)
5636 /* 14055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT032),
5637 /* 14058 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // rs
5638 /* 14062 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5639 /* 14065 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5640 /* 14067 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5641 /* 14070 */ GIR_RootConstrainSelectedInstOperands,
5642 /* 14071 */ // GIR_Coverage, 346,
5643 /* 14071 */ GIR_EraseRootFromParent_Done,
5644 /* 14072 */ // Label 533: @14072
5645 /* 14072 */ GIM_Try, /*On fail goto*//*Label 534*/ GIMT_Encode4(14180), // Rule ID 347 //
5646 /* 14077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
5647 /* 14080 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5648 /* 14084 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5649 /* 14088 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5650 /* 14092 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5651 /* 14096 */ // MIs[1] Operand 1
5652 /* 14096 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5653 /* 14101 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5654 /* 14105 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5655 /* 14109 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5656 /* 14113 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5657 /* 14117 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5658 /* 14122 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/2, // MIs[3]
5659 /* 14126 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5660 /* 14130 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5661 /* 14134 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5662 /* 14138 */ GIM_CheckConstantInt8, /*MI*/3, /*Op*/1, 1,
5663 /* 14142 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5664 /* 14146 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5665 /* 14150 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5666 /* 14154 */ // MIs[4] Operand 1
5667 /* 14154 */ // No operand predicates
5668 /* 14154 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5669 /* 14158 */ // MIs[0] offset
5670 /* 14158 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5671 /* 14161 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5672 /* 14163 */ // (brcond (setcc:{ *:[i32] } (and:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, (shl:{ *:[i64] } 1:{ *:[i64] }, (imm:{ *:[i64] })<<P:Predicate_immZExt5_64>>:$p)), 0:{ *:[i64] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BBIT1 GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i64] }):$p, (bb:{ *:[Other] }):$offset)
5673 /* 14163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT1),
5674 /* 14166 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // rs
5675 /* 14170 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5676 /* 14173 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5677 /* 14175 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5678 /* 14178 */ GIR_RootConstrainSelectedInstOperands,
5679 /* 14179 */ // GIR_Coverage, 347,
5680 /* 14179 */ GIR_EraseRootFromParent_Done,
5681 /* 14180 */ // Label 534: @14180
5682 /* 14180 */ GIM_Try, /*On fail goto*//*Label 535*/ GIMT_Encode4(14295), // Rule ID 348 //
5683 /* 14185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
5684 /* 14188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5685 /* 14192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5686 /* 14196 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5687 /* 14200 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5688 /* 14204 */ // MIs[1] Operand 1
5689 /* 14204 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5690 /* 14209 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5691 /* 14213 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5692 /* 14217 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5693 /* 14221 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5694 /* 14225 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5695 /* 14230 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/2, // MIs[3]
5696 /* 14234 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5697 /* 14238 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5698 /* 14242 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5699 /* 14246 */ GIM_CheckConstantInt, /*MI*/3, /*Op*/1, GIMT_Encode8(4294967296),
5700 /* 14257 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5701 /* 14261 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5702 /* 14265 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5703 /* 14269 */ // MIs[4] Operand 1
5704 /* 14269 */ // No operand predicates
5705 /* 14269 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5706 /* 14273 */ // MIs[0] offset
5707 /* 14273 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5708 /* 14276 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5709 /* 14278 */ // (brcond (setcc:{ *:[i32] } (and:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, (shl:{ *:[i64] } 4294967296:{ *:[i64] }, (imm:{ *:[i64] })<<P:Predicate_immZExt5_64>>:$p)), 0:{ *:[i64] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BBIT132 GPR64Opnd:{ *:[i64] }:$rs, (imm:{ *:[i64] }):$p, (bb:{ *:[Other] }):$offset)
5710 /* 14278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT132),
5711 /* 14281 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // rs
5712 /* 14285 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5713 /* 14288 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5714 /* 14290 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5715 /* 14293 */ GIR_RootConstrainSelectedInstOperands,
5716 /* 14294 */ // GIR_Coverage, 348,
5717 /* 14294 */ GIR_EraseRootFromParent_Done,
5718 /* 14295 */ // Label 535: @14295
5719 /* 14295 */ GIM_Try, /*On fail goto*//*Label 536*/ GIMT_Encode4(14352), // Rule ID 94 //
5720 /* 14300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
5721 /* 14303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5722 /* 14307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5723 /* 14311 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5724 /* 14315 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5725 /* 14319 */ // MIs[1] Operand 1
5726 /* 14319 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
5727 /* 14324 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5728 /* 14329 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5729 /* 14333 */ // MIs[0] offset
5730 /* 14333 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5731 /* 14336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5732 /* 14338 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZ GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5733 /* 14338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ),
5734 /* 14341 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5735 /* 14345 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5736 /* 14347 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5737 /* 14350 */ GIR_RootConstrainSelectedInstOperands,
5738 /* 14351 */ // GIR_Coverage, 94,
5739 /* 14351 */ GIR_EraseRootFromParent_Done,
5740 /* 14352 */ // Label 536: @14352
5741 /* 14352 */ GIM_Try, /*On fail goto*//*Label 537*/ GIMT_Encode4(14409), // Rule ID 95 //
5742 /* 14357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
5743 /* 14360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5744 /* 14364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5745 /* 14368 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5746 /* 14372 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5747 /* 14376 */ // MIs[1] Operand 1
5748 /* 14376 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
5749 /* 14381 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5750 /* 14386 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5751 /* 14390 */ // MIs[0] offset
5752 /* 14390 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5753 /* 14393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5754 /* 14395 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZ GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5755 /* 14395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZ),
5756 /* 14398 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5757 /* 14402 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5758 /* 14404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5759 /* 14407 */ GIR_RootConstrainSelectedInstOperands,
5760 /* 14408 */ // GIR_Coverage, 95,
5761 /* 14408 */ GIR_EraseRootFromParent_Done,
5762 /* 14409 */ // Label 537: @14409
5763 /* 14409 */ GIM_Try, /*On fail goto*//*Label 538*/ GIMT_Encode4(14466), // Rule ID 96 //
5764 /* 14414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
5765 /* 14417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5766 /* 14421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5767 /* 14425 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5768 /* 14429 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5769 /* 14433 */ // MIs[1] Operand 1
5770 /* 14433 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
5771 /* 14438 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5772 /* 14443 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5773 /* 14447 */ // MIs[0] offset
5774 /* 14447 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5775 /* 14450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5776 /* 14452 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZ GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5777 /* 14452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ),
5778 /* 14455 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5779 /* 14459 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5780 /* 14461 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5781 /* 14464 */ GIR_RootConstrainSelectedInstOperands,
5782 /* 14465 */ // GIR_Coverage, 96,
5783 /* 14465 */ GIR_EraseRootFromParent_Done,
5784 /* 14466 */ // Label 538: @14466
5785 /* 14466 */ GIM_Try, /*On fail goto*//*Label 539*/ GIMT_Encode4(14523), // Rule ID 97 //
5786 /* 14471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
5787 /* 14474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5788 /* 14478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5789 /* 14482 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5790 /* 14486 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5791 /* 14490 */ // MIs[1] Operand 1
5792 /* 14490 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5793 /* 14495 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5794 /* 14500 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5795 /* 14504 */ // MIs[0] offset
5796 /* 14504 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5797 /* 14507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5798 /* 14509 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZ GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5799 /* 14509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZ),
5800 /* 14512 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5801 /* 14516 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5802 /* 14518 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5803 /* 14521 */ GIR_RootConstrainSelectedInstOperands,
5804 /* 14522 */ // GIR_Coverage, 97,
5805 /* 14522 */ GIR_EraseRootFromParent_Done,
5806 /* 14523 */ // Label 539: @14523
5807 /* 14523 */ GIM_Try, /*On fail goto*//*Label 540*/ GIMT_Encode4(14580), // Rule ID 320 //
5808 /* 14528 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
5809 /* 14531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5810 /* 14535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5811 /* 14539 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5812 /* 14543 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5813 /* 14547 */ // MIs[1] Operand 1
5814 /* 14547 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
5815 /* 14552 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5816 /* 14557 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5817 /* 14561 */ // MIs[0] offset
5818 /* 14561 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5819 /* 14564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5820 /* 14566 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZ64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
5821 /* 14566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ64),
5822 /* 14569 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5823 /* 14573 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5824 /* 14575 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5825 /* 14578 */ GIR_RootConstrainSelectedInstOperands,
5826 /* 14579 */ // GIR_Coverage, 320,
5827 /* 14579 */ GIR_EraseRootFromParent_Done,
5828 /* 14580 */ // Label 540: @14580
5829 /* 14580 */ GIM_Try, /*On fail goto*//*Label 541*/ GIMT_Encode4(14637), // Rule ID 321 //
5830 /* 14585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
5831 /* 14588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5832 /* 14592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5833 /* 14596 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5834 /* 14600 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5835 /* 14604 */ // MIs[1] Operand 1
5836 /* 14604 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
5837 /* 14609 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5838 /* 14614 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5839 /* 14618 */ // MIs[0] offset
5840 /* 14618 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5841 /* 14621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5842 /* 14623 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZ64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
5843 /* 14623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZ64),
5844 /* 14626 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5845 /* 14630 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5846 /* 14632 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5847 /* 14635 */ GIR_RootConstrainSelectedInstOperands,
5848 /* 14636 */ // GIR_Coverage, 321,
5849 /* 14636 */ GIR_EraseRootFromParent_Done,
5850 /* 14637 */ // Label 541: @14637
5851 /* 14637 */ GIM_Try, /*On fail goto*//*Label 542*/ GIMT_Encode4(14694), // Rule ID 322 //
5852 /* 14642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
5853 /* 14645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5854 /* 14649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5855 /* 14653 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5856 /* 14657 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5857 /* 14661 */ // MIs[1] Operand 1
5858 /* 14661 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
5859 /* 14666 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5860 /* 14671 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5861 /* 14675 */ // MIs[0] offset
5862 /* 14675 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5863 /* 14678 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5864 /* 14680 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZ64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
5865 /* 14680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ64),
5866 /* 14683 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5867 /* 14687 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5868 /* 14689 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5869 /* 14692 */ GIR_RootConstrainSelectedInstOperands,
5870 /* 14693 */ // GIR_Coverage, 322,
5871 /* 14693 */ GIR_EraseRootFromParent_Done,
5872 /* 14694 */ // Label 542: @14694
5873 /* 14694 */ GIM_Try, /*On fail goto*//*Label 543*/ GIMT_Encode4(14751), // Rule ID 323 //
5874 /* 14699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
5875 /* 14702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5876 /* 14706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5877 /* 14710 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5878 /* 14714 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5879 /* 14718 */ // MIs[1] Operand 1
5880 /* 14718 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5881 /* 14723 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5882 /* 14728 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5883 /* 14732 */ // MIs[0] offset
5884 /* 14732 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5885 /* 14735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5886 /* 14737 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZ64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
5887 /* 14737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZ64),
5888 /* 14740 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5889 /* 14744 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5890 /* 14746 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5891 /* 14749 */ GIR_RootConstrainSelectedInstOperands,
5892 /* 14750 */ // GIR_Coverage, 323,
5893 /* 14750 */ GIR_EraseRootFromParent_Done,
5894 /* 14751 */ // Label 543: @14751
5895 /* 14751 */ GIM_Try, /*On fail goto*//*Label 544*/ GIMT_Encode4(14808), // Rule ID 1184 //
5896 /* 14756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
5897 /* 14759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5898 /* 14763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5899 /* 14767 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5900 /* 14771 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5901 /* 14775 */ // MIs[1] Operand 1
5902 /* 14775 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
5903 /* 14780 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5904 /* 14785 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5905 /* 14789 */ // MIs[0] offset
5906 /* 14789 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5907 /* 14792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5908 /* 14794 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZ_MM GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5909 /* 14794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ_MM),
5910 /* 14797 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5911 /* 14801 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5912 /* 14803 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5913 /* 14806 */ GIR_RootConstrainSelectedInstOperands,
5914 /* 14807 */ // GIR_Coverage, 1184,
5915 /* 14807 */ GIR_EraseRootFromParent_Done,
5916 /* 14808 */ // Label 544: @14808
5917 /* 14808 */ GIM_Try, /*On fail goto*//*Label 545*/ GIMT_Encode4(14865), // Rule ID 1185 //
5918 /* 14813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
5919 /* 14816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5920 /* 14820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5921 /* 14824 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5922 /* 14828 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5923 /* 14832 */ // MIs[1] Operand 1
5924 /* 14832 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
5925 /* 14837 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5926 /* 14842 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5927 /* 14846 */ // MIs[0] offset
5928 /* 14846 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5929 /* 14849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5930 /* 14851 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZ_MM GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5931 /* 14851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZ_MM),
5932 /* 14854 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5933 /* 14858 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5934 /* 14860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5935 /* 14863 */ GIR_RootConstrainSelectedInstOperands,
5936 /* 14864 */ // GIR_Coverage, 1185,
5937 /* 14864 */ GIR_EraseRootFromParent_Done,
5938 /* 14865 */ // Label 545: @14865
5939 /* 14865 */ GIM_Try, /*On fail goto*//*Label 546*/ GIMT_Encode4(14922), // Rule ID 1186 //
5940 /* 14870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
5941 /* 14873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5942 /* 14877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5943 /* 14881 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5944 /* 14885 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5945 /* 14889 */ // MIs[1] Operand 1
5946 /* 14889 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
5947 /* 14894 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5948 /* 14899 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5949 /* 14903 */ // MIs[0] offset
5950 /* 14903 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5951 /* 14906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5952 /* 14908 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZ_MM GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5953 /* 14908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ_MM),
5954 /* 14911 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5955 /* 14915 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5956 /* 14917 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5957 /* 14920 */ GIR_RootConstrainSelectedInstOperands,
5958 /* 14921 */ // GIR_Coverage, 1186,
5959 /* 14921 */ GIR_EraseRootFromParent_Done,
5960 /* 14922 */ // Label 546: @14922
5961 /* 14922 */ GIM_Try, /*On fail goto*//*Label 547*/ GIMT_Encode4(14979), // Rule ID 1187 //
5962 /* 14927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
5963 /* 14930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5964 /* 14934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5965 /* 14938 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5966 /* 14942 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5967 /* 14946 */ // MIs[1] Operand 1
5968 /* 14946 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5969 /* 14951 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5970 /* 14956 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5971 /* 14960 */ // MIs[0] offset
5972 /* 14960 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5973 /* 14963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5974 /* 14965 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZ_MM GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5975 /* 14965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZ_MM),
5976 /* 14968 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5977 /* 14972 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5978 /* 14974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5979 /* 14977 */ GIR_RootConstrainSelectedInstOperands,
5980 /* 14978 */ // GIR_Coverage, 1187,
5981 /* 14978 */ GIR_EraseRootFromParent_Done,
5982 /* 14979 */ // Label 547: @14979
5983 /* 14979 */ GIM_Try, /*On fail goto*//*Label 548*/ GIMT_Encode4(15042), // Rule ID 1477 //
5984 /* 14984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
5985 /* 14987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5986 /* 14991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5987 /* 14995 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5988 /* 14999 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5989 /* 15003 */ // MIs[1] Operand 1
5990 /* 15003 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5991 /* 15008 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5992 /* 15013 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5993 /* 15017 */ // MIs[0] dst
5994 /* 15017 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5995 /* 15020 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5996 /* 15022 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BNE GPR32:{ *:[i32] }:$lhs, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
5997 /* 15022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE),
5998 /* 15025 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5999 /* 15029 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6000 /* 15035 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6001 /* 15037 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6002 /* 15040 */ GIR_RootConstrainSelectedInstOperands,
6003 /* 15041 */ // GIR_Coverage, 1477,
6004 /* 15041 */ GIR_EraseRootFromParent_Done,
6005 /* 15042 */ // Label 548: @15042
6006 /* 15042 */ GIM_Try, /*On fail goto*//*Label 549*/ GIMT_Encode4(15105), // Rule ID 1478 //
6007 /* 15047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6008 /* 15050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6009 /* 15054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6010 /* 15058 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6011 /* 15062 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6012 /* 15066 */ // MIs[1] Operand 1
6013 /* 15066 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6014 /* 15071 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6015 /* 15076 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6016 /* 15080 */ // MIs[0] dst
6017 /* 15080 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6018 /* 15083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6019 /* 15085 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ GPR32:{ *:[i32] }:$lhs, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6020 /* 15085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6021 /* 15088 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6022 /* 15092 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6023 /* 15098 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6024 /* 15100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6025 /* 15103 */ GIR_RootConstrainSelectedInstOperands,
6026 /* 15104 */ // GIR_Coverage, 1478,
6027 /* 15104 */ GIR_EraseRootFromParent_Done,
6028 /* 15105 */ // Label 549: @15105
6029 /* 15105 */ GIM_Try, /*On fail goto*//*Label 550*/ GIMT_Encode4(15168), // Rule ID 1651 //
6030 /* 15110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
6031 /* 15113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6032 /* 15117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6033 /* 15121 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6034 /* 15125 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6035 /* 15129 */ // MIs[1] Operand 1
6036 /* 15129 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6037 /* 15134 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6038 /* 15139 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6039 /* 15143 */ // MIs[0] dst
6040 /* 15143 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6041 /* 15146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6042 /* 15148 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BNE64 GPR64:{ *:[i64] }:$lhs, ZERO_64:{ *:[i64] }, (bb:{ *:[Other] }):$dst)
6043 /* 15148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE64),
6044 /* 15151 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6045 /* 15155 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6046 /* 15161 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6047 /* 15163 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6048 /* 15166 */ GIR_RootConstrainSelectedInstOperands,
6049 /* 15167 */ // GIR_Coverage, 1651,
6050 /* 15167 */ GIR_EraseRootFromParent_Done,
6051 /* 15168 */ // Label 550: @15168
6052 /* 15168 */ GIM_Try, /*On fail goto*//*Label 551*/ GIMT_Encode4(15231), // Rule ID 1652 //
6053 /* 15173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
6054 /* 15176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6055 /* 15180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6056 /* 15184 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6057 /* 15188 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6058 /* 15192 */ // MIs[1] Operand 1
6059 /* 15192 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6060 /* 15197 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6061 /* 15202 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6062 /* 15206 */ // MIs[0] dst
6063 /* 15206 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6064 /* 15209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6065 /* 15211 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ64 GPR64:{ *:[i64] }:$lhs, ZERO_64:{ *:[i64] }, (bb:{ *:[Other] }):$dst)
6066 /* 15211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ64),
6067 /* 15214 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6068 /* 15218 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6069 /* 15224 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6070 /* 15226 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6071 /* 15229 */ GIR_RootConstrainSelectedInstOperands,
6072 /* 15230 */ // GIR_Coverage, 1652,
6073 /* 15230 */ GIR_EraseRootFromParent_Done,
6074 /* 15231 */ // Label 551: @15231
6075 /* 15231 */ GIM_Try, /*On fail goto*//*Label 552*/ GIMT_Encode4(15285), // Rule ID 1983 //
6076 /* 15236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
6077 /* 15239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6078 /* 15243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6079 /* 15247 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6080 /* 15251 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6081 /* 15255 */ // MIs[1] Operand 1
6082 /* 15255 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6083 /* 15260 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
6084 /* 15265 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6085 /* 15269 */ // MIs[0] targ16
6086 /* 15269 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6087 /* 15272 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6088 /* 15274 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$targ16) => (BeqzRxImm16 CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$targ16)
6089 /* 15274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BeqzRxImm16),
6090 /* 15277 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
6091 /* 15281 */ GIR_RootToRootCopy, /*OpIdx*/1, // targ16
6092 /* 15283 */ GIR_RootConstrainSelectedInstOperands,
6093 /* 15284 */ // GIR_Coverage, 1983,
6094 /* 15284 */ GIR_EraseRootFromParent_Done,
6095 /* 15285 */ // Label 552: @15285
6096 /* 15285 */ GIM_Try, /*On fail goto*//*Label 553*/ GIMT_Encode4(15339), // Rule ID 1992 //
6097 /* 15290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
6098 /* 15293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6099 /* 15297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6100 /* 15301 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6101 /* 15305 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6102 /* 15309 */ // MIs[1] Operand 1
6103 /* 15309 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6104 /* 15314 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
6105 /* 15319 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6106 /* 15323 */ // MIs[0] targ16
6107 /* 15323 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6108 /* 15326 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6109 /* 15328 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$targ16) => (BnezRxImm16 CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$targ16)
6110 /* 15328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BnezRxImm16),
6111 /* 15331 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
6112 /* 15335 */ GIR_RootToRootCopy, /*OpIdx*/1, // targ16
6113 /* 15337 */ GIR_RootConstrainSelectedInstOperands,
6114 /* 15338 */ // GIR_Coverage, 1992,
6115 /* 15338 */ GIR_EraseRootFromParent_Done,
6116 /* 15339 */ // Label 553: @15339
6117 /* 15339 */ GIM_Try, /*On fail goto*//*Label 554*/ GIMT_Encode4(15402), // Rule ID 2322 //
6118 /* 15344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
6119 /* 15347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6120 /* 15351 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6121 /* 15355 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6122 /* 15359 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6123 /* 15363 */ // MIs[1] Operand 1
6124 /* 15363 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6125 /* 15368 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6126 /* 15373 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6127 /* 15377 */ // MIs[0] dst
6128 /* 15377 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6129 /* 15380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6130 /* 15382 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BNE_MM GPR32:{ *:[i32] }:$lhs, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6131 /* 15382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE_MM),
6132 /* 15385 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6133 /* 15389 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6134 /* 15395 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6135 /* 15397 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6136 /* 15400 */ GIR_RootConstrainSelectedInstOperands,
6137 /* 15401 */ // GIR_Coverage, 2322,
6138 /* 15401 */ GIR_EraseRootFromParent_Done,
6139 /* 15402 */ // Label 554: @15402
6140 /* 15402 */ GIM_Try, /*On fail goto*//*Label 555*/ GIMT_Encode4(15465), // Rule ID 2323 //
6141 /* 15407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
6142 /* 15410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6143 /* 15414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6144 /* 15418 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6145 /* 15422 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6146 /* 15426 */ // MIs[1] Operand 1
6147 /* 15426 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6148 /* 15431 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6149 /* 15436 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6150 /* 15440 */ // MIs[0] dst
6151 /* 15440 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6152 /* 15443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6153 /* 15445 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ_MM GPR32:{ *:[i32] }:$lhs, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6154 /* 15445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
6155 /* 15448 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6156 /* 15452 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6157 /* 15458 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6158 /* 15460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6159 /* 15463 */ GIR_RootConstrainSelectedInstOperands,
6160 /* 15464 */ // GIR_Coverage, 2323,
6161 /* 15464 */ GIR_EraseRootFromParent_Done,
6162 /* 15465 */ // Label 555: @15465
6163 /* 15465 */ GIM_Try, /*On fail goto*//*Label 556*/ GIMT_Encode4(15522), // Rule ID 2473 //
6164 /* 15470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
6165 /* 15473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6166 /* 15477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6167 /* 15481 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6168 /* 15485 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6169 /* 15489 */ // MIs[1] Operand 1
6170 /* 15489 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6171 /* 15494 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6172 /* 15499 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6173 /* 15503 */ // MIs[0] dst
6174 /* 15503 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6175 /* 15506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6176 /* 15508 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BNEZC_MMR6 GPR32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
6177 /* 15508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNEZC_MMR6),
6178 /* 15511 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6179 /* 15515 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6180 /* 15517 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6181 /* 15520 */ GIR_RootConstrainSelectedInstOperands,
6182 /* 15521 */ // GIR_Coverage, 2473,
6183 /* 15521 */ GIR_EraseRootFromParent_Done,
6184 /* 15522 */ // Label 556: @15522
6185 /* 15522 */ GIM_Try, /*On fail goto*//*Label 557*/ GIMT_Encode4(15579), // Rule ID 2474 //
6186 /* 15527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
6187 /* 15530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6188 /* 15534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6189 /* 15538 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6190 /* 15542 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6191 /* 15546 */ // MIs[1] Operand 1
6192 /* 15546 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6193 /* 15551 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6194 /* 15556 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6195 /* 15560 */ // MIs[0] dst
6196 /* 15560 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6197 /* 15563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6198 /* 15565 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQZC_MMR6 GPR32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
6199 /* 15565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
6200 /* 15568 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6201 /* 15572 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6202 /* 15574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6203 /* 15577 */ GIR_RootConstrainSelectedInstOperands,
6204 /* 15578 */ // GIR_Coverage, 2474,
6205 /* 15578 */ GIR_EraseRootFromParent_Done,
6206 /* 15579 */ // Label 557: @15579
6207 /* 15579 */ GIM_Try, /*On fail goto*//*Label 558*/ GIMT_Encode4(15631), // Rule ID 1488 //
6208 /* 15584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6209 /* 15587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6210 /* 15591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6211 /* 15595 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6212 /* 15599 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6213 /* 15603 */ // MIs[1] Operand 1
6214 /* 15603 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6215 /* 15608 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6216 /* 15612 */ // MIs[0] dst
6217 /* 15612 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6218 /* 15615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6219 /* 15617 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, 1:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BLEZ i32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
6220 /* 15617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ),
6221 /* 15620 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6222 /* 15624 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6223 /* 15626 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6224 /* 15629 */ GIR_RootConstrainSelectedInstOperands,
6225 /* 15630 */ // GIR_Coverage, 1488,
6226 /* 15630 */ GIR_EraseRootFromParent_Done,
6227 /* 15631 */ // Label 558: @15631
6228 /* 15631 */ GIM_Try, /*On fail goto*//*Label 559*/ GIMT_Encode4(15683), // Rule ID 1489 //
6229 /* 15636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6230 /* 15639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6231 /* 15643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6232 /* 15647 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6233 /* 15651 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6234 /* 15655 */ // MIs[1] Operand 1
6235 /* 15655 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6236 /* 15660 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6237 /* 15664 */ // MIs[0] dst
6238 /* 15664 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6239 /* 15667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6240 /* 15669 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, -1:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BGEZ i32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
6241 /* 15669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ),
6242 /* 15672 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6243 /* 15676 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6244 /* 15678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6245 /* 15681 */ GIR_RootConstrainSelectedInstOperands,
6246 /* 15682 */ // GIR_Coverage, 1489,
6247 /* 15682 */ GIR_EraseRootFromParent_Done,
6248 /* 15683 */ // Label 559: @15683
6249 /* 15683 */ GIM_Try, /*On fail goto*//*Label 560*/ GIMT_Encode4(15735), // Rule ID 1662 //
6250 /* 15688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
6251 /* 15691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6252 /* 15695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6253 /* 15699 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6254 /* 15703 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6255 /* 15707 */ // MIs[1] Operand 1
6256 /* 15707 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6257 /* 15712 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6258 /* 15716 */ // MIs[0] dst
6259 /* 15716 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6260 /* 15719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6261 /* 15721 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$lhs, 1:{ *:[i64] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BLEZ64 i64:{ *:[i64] }:$lhs, (bb:{ *:[Other] }):$dst)
6262 /* 15721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ64),
6263 /* 15724 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6264 /* 15728 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6265 /* 15730 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6266 /* 15733 */ GIR_RootConstrainSelectedInstOperands,
6267 /* 15734 */ // GIR_Coverage, 1662,
6268 /* 15734 */ GIR_EraseRootFromParent_Done,
6269 /* 15735 */ // Label 560: @15735
6270 /* 15735 */ GIM_Try, /*On fail goto*//*Label 561*/ GIMT_Encode4(15787), // Rule ID 1663 //
6271 /* 15740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
6272 /* 15743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6273 /* 15747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6274 /* 15751 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6275 /* 15755 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6276 /* 15759 */ // MIs[1] Operand 1
6277 /* 15759 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6278 /* 15764 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6279 /* 15768 */ // MIs[0] dst
6280 /* 15768 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6281 /* 15771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6282 /* 15773 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$lhs, -1:{ *:[i64] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BGEZ64 i64:{ *:[i64] }:$lhs, (bb:{ *:[Other] }):$dst)
6283 /* 15773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ64),
6284 /* 15776 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6285 /* 15780 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6286 /* 15782 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6287 /* 15785 */ GIR_RootConstrainSelectedInstOperands,
6288 /* 15786 */ // GIR_Coverage, 1663,
6289 /* 15786 */ GIR_EraseRootFromParent_Done,
6290 /* 15787 */ // Label 561: @15787
6291 /* 15787 */ GIM_Try, /*On fail goto*//*Label 562*/ GIMT_Encode4(15839), // Rule ID 1893 //
6292 /* 15792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6293 /* 15795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6294 /* 15799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6295 /* 15803 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6296 /* 15807 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6297 /* 15811 */ // MIs[1] Operand 1
6298 /* 15811 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6299 /* 15816 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6300 /* 15820 */ // MIs[0] offset
6301 /* 15820 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6302 /* 15823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6303 /* 15825 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6304 /* 15825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZC),
6305 /* 15828 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6306 /* 15832 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6307 /* 15834 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6308 /* 15837 */ GIR_RootConstrainSelectedInstOperands,
6309 /* 15838 */ // GIR_Coverage, 1893,
6310 /* 15838 */ GIR_EraseRootFromParent_Done,
6311 /* 15839 */ // Label 562: @15839
6312 /* 15839 */ GIM_Try, /*On fail goto*//*Label 563*/ GIMT_Encode4(15891), // Rule ID 1894 //
6313 /* 15844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6314 /* 15847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6315 /* 15851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6316 /* 15855 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6317 /* 15859 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6318 /* 15863 */ // MIs[1] Operand 1
6319 /* 15863 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6320 /* 15868 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6321 /* 15872 */ // MIs[0] offset
6322 /* 15872 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6323 /* 15875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6324 /* 15877 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 1:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6325 /* 15877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZC),
6326 /* 15880 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6327 /* 15884 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6328 /* 15886 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6329 /* 15889 */ GIR_RootConstrainSelectedInstOperands,
6330 /* 15890 */ // GIR_Coverage, 1894,
6331 /* 15890 */ GIR_EraseRootFromParent_Done,
6332 /* 15891 */ // Label 563: @15891
6333 /* 15891 */ GIM_Try, /*On fail goto*//*Label 564*/ GIMT_Encode4(15943), // Rule ID 1895 //
6334 /* 15896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6335 /* 15899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6336 /* 15903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6337 /* 15907 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6338 /* 15911 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6339 /* 15915 */ // MIs[1] Operand 1
6340 /* 15915 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6341 /* 15920 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6342 /* 15924 */ // MIs[0] offset
6343 /* 15924 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6344 /* 15927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6345 /* 15929 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6346 /* 15929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZC),
6347 /* 15932 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6348 /* 15936 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6349 /* 15938 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6350 /* 15941 */ GIR_RootConstrainSelectedInstOperands,
6351 /* 15942 */ // GIR_Coverage, 1895,
6352 /* 15942 */ GIR_EraseRootFromParent_Done,
6353 /* 15943 */ // Label 564: @15943
6354 /* 15943 */ GIM_Try, /*On fail goto*//*Label 565*/ GIMT_Encode4(15995), // Rule ID 1896 //
6355 /* 15948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6356 /* 15951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6357 /* 15955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6358 /* 15959 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6359 /* 15963 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6360 /* 15967 */ // MIs[1] Operand 1
6361 /* 15967 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6362 /* 15972 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6363 /* 15976 */ // MIs[0] offset
6364 /* 15976 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6365 /* 15979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6366 /* 15981 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 1:{ *:[i32] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6367 /* 15981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZC),
6368 /* 15984 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6369 /* 15988 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6370 /* 15990 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6371 /* 15993 */ GIR_RootConstrainSelectedInstOperands,
6372 /* 15994 */ // GIR_Coverage, 1896,
6373 /* 15994 */ GIR_EraseRootFromParent_Done,
6374 /* 15995 */ // Label 565: @15995
6375 /* 15995 */ GIM_Try, /*On fail goto*//*Label 566*/ GIMT_Encode4(16047), // Rule ID 1897 //
6376 /* 16000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6377 /* 16003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6378 /* 16007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6379 /* 16011 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6380 /* 16015 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6381 /* 16019 */ // MIs[1] Operand 1
6382 /* 16019 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6383 /* 16024 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6384 /* 16028 */ // MIs[0] offset
6385 /* 16028 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6386 /* 16031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6387 /* 16033 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6388 /* 16033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZC),
6389 /* 16036 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6390 /* 16040 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6391 /* 16042 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6392 /* 16045 */ GIR_RootConstrainSelectedInstOperands,
6393 /* 16046 */ // GIR_Coverage, 1897,
6394 /* 16046 */ GIR_EraseRootFromParent_Done,
6395 /* 16047 */ // Label 566: @16047
6396 /* 16047 */ GIM_Try, /*On fail goto*//*Label 567*/ GIMT_Encode4(16099), // Rule ID 1898 //
6397 /* 16052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6398 /* 16055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6399 /* 16059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6400 /* 16063 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6401 /* 16067 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6402 /* 16071 */ // MIs[1] Operand 1
6403 /* 16071 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6404 /* 16076 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6405 /* 16080 */ // MIs[0] offset
6406 /* 16080 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6407 /* 16083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6408 /* 16085 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, -1:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6409 /* 16085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZC),
6410 /* 16088 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6411 /* 16092 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6412 /* 16094 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6413 /* 16097 */ GIR_RootConstrainSelectedInstOperands,
6414 /* 16098 */ // GIR_Coverage, 1898,
6415 /* 16098 */ GIR_EraseRootFromParent_Done,
6416 /* 16099 */ // Label 567: @16099
6417 /* 16099 */ GIM_Try, /*On fail goto*//*Label 568*/ GIMT_Encode4(16151), // Rule ID 1899 //
6418 /* 16104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6419 /* 16107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6420 /* 16111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6421 /* 16115 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6422 /* 16119 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6423 /* 16123 */ // MIs[1] Operand 1
6424 /* 16123 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6425 /* 16128 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6426 /* 16132 */ // MIs[0] offset
6427 /* 16132 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6428 /* 16135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6429 /* 16137 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6430 /* 16137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZC),
6431 /* 16140 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6432 /* 16144 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6433 /* 16146 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6434 /* 16149 */ GIR_RootConstrainSelectedInstOperands,
6435 /* 16150 */ // GIR_Coverage, 1899,
6436 /* 16150 */ GIR_EraseRootFromParent_Done,
6437 /* 16151 */ // Label 568: @16151
6438 /* 16151 */ GIM_Try, /*On fail goto*//*Label 569*/ GIMT_Encode4(16203), // Rule ID 1900 //
6439 /* 16156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6440 /* 16159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6441 /* 16163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6442 /* 16167 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6443 /* 16171 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6444 /* 16175 */ // MIs[1] Operand 1
6445 /* 16175 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6446 /* 16180 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6447 /* 16184 */ // MIs[0] offset
6448 /* 16184 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6449 /* 16187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6450 /* 16189 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, -1:{ *:[i32] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6451 /* 16189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZC),
6452 /* 16192 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6453 /* 16196 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6454 /* 16198 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6455 /* 16201 */ GIR_RootConstrainSelectedInstOperands,
6456 /* 16202 */ // GIR_Coverage, 1900,
6457 /* 16202 */ GIR_EraseRootFromParent_Done,
6458 /* 16203 */ // Label 569: @16203
6459 /* 16203 */ GIM_Try, /*On fail goto*//*Label 570*/ GIMT_Encode4(16255), // Rule ID 1936 //
6460 /* 16208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6461 /* 16211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6462 /* 16215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6463 /* 16219 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6464 /* 16223 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6465 /* 16227 */ // MIs[1] Operand 1
6466 /* 16227 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6467 /* 16232 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6468 /* 16236 */ // MIs[0] offset
6469 /* 16236 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6470 /* 16239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6471 /* 16241 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6472 /* 16241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZC64),
6473 /* 16244 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6474 /* 16248 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6475 /* 16250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6476 /* 16253 */ GIR_RootConstrainSelectedInstOperands,
6477 /* 16254 */ // GIR_Coverage, 1936,
6478 /* 16254 */ GIR_EraseRootFromParent_Done,
6479 /* 16255 */ // Label 570: @16255
6480 /* 16255 */ GIM_Try, /*On fail goto*//*Label 571*/ GIMT_Encode4(16307), // Rule ID 1937 //
6481 /* 16260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6482 /* 16263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6483 /* 16267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6484 /* 16271 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6485 /* 16275 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6486 /* 16279 */ // MIs[1] Operand 1
6487 /* 16279 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6488 /* 16284 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6489 /* 16288 */ // MIs[0] offset
6490 /* 16288 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6491 /* 16291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6492 /* 16293 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 1:{ *:[i64] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6493 /* 16293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZC64),
6494 /* 16296 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6495 /* 16300 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6496 /* 16302 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6497 /* 16305 */ GIR_RootConstrainSelectedInstOperands,
6498 /* 16306 */ // GIR_Coverage, 1937,
6499 /* 16306 */ GIR_EraseRootFromParent_Done,
6500 /* 16307 */ // Label 571: @16307
6501 /* 16307 */ GIM_Try, /*On fail goto*//*Label 572*/ GIMT_Encode4(16359), // Rule ID 1938 //
6502 /* 16312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6503 /* 16315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6504 /* 16319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6505 /* 16323 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6506 /* 16327 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6507 /* 16331 */ // MIs[1] Operand 1
6508 /* 16331 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6509 /* 16336 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6510 /* 16340 */ // MIs[0] offset
6511 /* 16340 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6512 /* 16343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6513 /* 16345 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6514 /* 16345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZC64),
6515 /* 16348 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6516 /* 16352 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6517 /* 16354 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6518 /* 16357 */ GIR_RootConstrainSelectedInstOperands,
6519 /* 16358 */ // GIR_Coverage, 1938,
6520 /* 16358 */ GIR_EraseRootFromParent_Done,
6521 /* 16359 */ // Label 572: @16359
6522 /* 16359 */ GIM_Try, /*On fail goto*//*Label 573*/ GIMT_Encode4(16411), // Rule ID 1939 //
6523 /* 16364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6524 /* 16367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6525 /* 16371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6526 /* 16375 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6527 /* 16379 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6528 /* 16383 */ // MIs[1] Operand 1
6529 /* 16383 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6530 /* 16388 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6531 /* 16392 */ // MIs[0] offset
6532 /* 16392 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6533 /* 16395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6534 /* 16397 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 1:{ *:[i64] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6535 /* 16397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZC64),
6536 /* 16400 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6537 /* 16404 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6538 /* 16406 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6539 /* 16409 */ GIR_RootConstrainSelectedInstOperands,
6540 /* 16410 */ // GIR_Coverage, 1939,
6541 /* 16410 */ GIR_EraseRootFromParent_Done,
6542 /* 16411 */ // Label 573: @16411
6543 /* 16411 */ GIM_Try, /*On fail goto*//*Label 574*/ GIMT_Encode4(16463), // Rule ID 1940 //
6544 /* 16416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6545 /* 16419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6546 /* 16423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6547 /* 16427 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6548 /* 16431 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6549 /* 16435 */ // MIs[1] Operand 1
6550 /* 16435 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6551 /* 16440 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6552 /* 16444 */ // MIs[0] offset
6553 /* 16444 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6554 /* 16447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6555 /* 16449 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6556 /* 16449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZC64),
6557 /* 16452 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6558 /* 16456 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6559 /* 16458 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6560 /* 16461 */ GIR_RootConstrainSelectedInstOperands,
6561 /* 16462 */ // GIR_Coverage, 1940,
6562 /* 16462 */ GIR_EraseRootFromParent_Done,
6563 /* 16463 */ // Label 574: @16463
6564 /* 16463 */ GIM_Try, /*On fail goto*//*Label 575*/ GIMT_Encode4(16515), // Rule ID 1941 //
6565 /* 16468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6566 /* 16471 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6567 /* 16475 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6568 /* 16479 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6569 /* 16483 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6570 /* 16487 */ // MIs[1] Operand 1
6571 /* 16487 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6572 /* 16492 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6573 /* 16496 */ // MIs[0] offset
6574 /* 16496 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6575 /* 16499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6576 /* 16501 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, -1:{ *:[i64] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6577 /* 16501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZC64),
6578 /* 16504 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6579 /* 16508 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6580 /* 16510 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6581 /* 16513 */ GIR_RootConstrainSelectedInstOperands,
6582 /* 16514 */ // GIR_Coverage, 1941,
6583 /* 16514 */ GIR_EraseRootFromParent_Done,
6584 /* 16515 */ // Label 575: @16515
6585 /* 16515 */ GIM_Try, /*On fail goto*//*Label 576*/ GIMT_Encode4(16567), // Rule ID 1942 //
6586 /* 16520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6587 /* 16523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6588 /* 16527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6589 /* 16531 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6590 /* 16535 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6591 /* 16539 */ // MIs[1] Operand 1
6592 /* 16539 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6593 /* 16544 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6594 /* 16548 */ // MIs[0] offset
6595 /* 16548 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6596 /* 16551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6597 /* 16553 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6598 /* 16553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZC64),
6599 /* 16556 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6600 /* 16560 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6601 /* 16562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6602 /* 16565 */ GIR_RootConstrainSelectedInstOperands,
6603 /* 16566 */ // GIR_Coverage, 1942,
6604 /* 16566 */ GIR_EraseRootFromParent_Done,
6605 /* 16567 */ // Label 576: @16567
6606 /* 16567 */ GIM_Try, /*On fail goto*//*Label 577*/ GIMT_Encode4(16619), // Rule ID 1943 //
6607 /* 16572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
6608 /* 16575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6609 /* 16579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6610 /* 16583 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6611 /* 16587 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6612 /* 16591 */ // MIs[1] Operand 1
6613 /* 16591 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6614 /* 16596 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6615 /* 16600 */ // MIs[0] offset
6616 /* 16600 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6617 /* 16603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6618 /* 16605 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, -1:{ *:[i64] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6619 /* 16605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZC64),
6620 /* 16608 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6621 /* 16612 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6622 /* 16614 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6623 /* 16617 */ GIR_RootConstrainSelectedInstOperands,
6624 /* 16618 */ // GIR_Coverage, 1943,
6625 /* 16618 */ GIR_EraseRootFromParent_Done,
6626 /* 16619 */ // Label 577: @16619
6627 /* 16619 */ GIM_Try, /*On fail goto*//*Label 578*/ GIMT_Encode4(16671), // Rule ID 2333 //
6628 /* 16624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
6629 /* 16627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6630 /* 16631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6631 /* 16635 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6632 /* 16639 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6633 /* 16643 */ // MIs[1] Operand 1
6634 /* 16643 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6635 /* 16648 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6636 /* 16652 */ // MIs[0] dst
6637 /* 16652 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6638 /* 16655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6639 /* 16657 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, 1:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BLEZ_MM i32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
6640 /* 16657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ_MM),
6641 /* 16660 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6642 /* 16664 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6643 /* 16666 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6644 /* 16669 */ GIR_RootConstrainSelectedInstOperands,
6645 /* 16670 */ // GIR_Coverage, 2333,
6646 /* 16670 */ GIR_EraseRootFromParent_Done,
6647 /* 16671 */ // Label 578: @16671
6648 /* 16671 */ GIM_Try, /*On fail goto*//*Label 579*/ GIMT_Encode4(16723), // Rule ID 2334 //
6649 /* 16676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
6650 /* 16679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6651 /* 16683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6652 /* 16687 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6653 /* 16691 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6654 /* 16695 */ // MIs[1] Operand 1
6655 /* 16695 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6656 /* 16700 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6657 /* 16704 */ // MIs[0] dst
6658 /* 16704 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6659 /* 16707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6660 /* 16709 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, -1:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BGEZ_MM i32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
6661 /* 16709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ_MM),
6662 /* 16712 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6663 /* 16716 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6664 /* 16718 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6665 /* 16721 */ GIR_RootConstrainSelectedInstOperands,
6666 /* 16722 */ // GIR_Coverage, 2334,
6667 /* 16722 */ GIR_EraseRootFromParent_Done,
6668 /* 16723 */ // Label 579: @16723
6669 /* 16723 */ GIM_Try, /*On fail goto*//*Label 580*/ GIMT_Encode4(16785), // Rule ID 92 //
6670 /* 16728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6671 /* 16731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6672 /* 16735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6673 /* 16739 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6674 /* 16743 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6675 /* 16747 */ // MIs[1] Operand 1
6676 /* 16747 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6677 /* 16752 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6678 /* 16757 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6679 /* 16762 */ // MIs[0] offset
6680 /* 16762 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6681 /* 16765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6682 /* 16767 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BEQ GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6683 /* 16767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6684 /* 16770 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6685 /* 16774 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6686 /* 16778 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6687 /* 16780 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6688 /* 16783 */ GIR_RootConstrainSelectedInstOperands,
6689 /* 16784 */ // GIR_Coverage, 92,
6690 /* 16784 */ GIR_EraseRootFromParent_Done,
6691 /* 16785 */ // Label 580: @16785
6692 /* 16785 */ GIM_Try, /*On fail goto*//*Label 581*/ GIMT_Encode4(16847), // Rule ID 93 //
6693 /* 16790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6694 /* 16793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6695 /* 16797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6696 /* 16801 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6697 /* 16805 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6698 /* 16809 */ // MIs[1] Operand 1
6699 /* 16809 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6700 /* 16814 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6701 /* 16819 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6702 /* 16824 */ // MIs[0] offset
6703 /* 16824 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6704 /* 16827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6705 /* 16829 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BNE GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6706 /* 16829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE),
6707 /* 16832 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6708 /* 16836 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6709 /* 16840 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6710 /* 16842 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6711 /* 16845 */ GIR_RootConstrainSelectedInstOperands,
6712 /* 16846 */ // GIR_Coverage, 93,
6713 /* 16846 */ GIR_EraseRootFromParent_Done,
6714 /* 16847 */ // Label 581: @16847
6715 /* 16847 */ GIM_Try, /*On fail goto*//*Label 582*/ GIMT_Encode4(16909), // Rule ID 318 //
6716 /* 16852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
6717 /* 16855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6718 /* 16859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6719 /* 16863 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6720 /* 16867 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6721 /* 16871 */ // MIs[1] Operand 1
6722 /* 16871 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6723 /* 16876 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6724 /* 16881 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6725 /* 16886 */ // MIs[0] offset
6726 /* 16886 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6727 /* 16889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6728 /* 16891 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BEQ64 GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
6729 /* 16891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ64),
6730 /* 16894 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6731 /* 16898 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6732 /* 16902 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6733 /* 16904 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6734 /* 16907 */ GIR_RootConstrainSelectedInstOperands,
6735 /* 16908 */ // GIR_Coverage, 318,
6736 /* 16908 */ GIR_EraseRootFromParent_Done,
6737 /* 16909 */ // Label 582: @16909
6738 /* 16909 */ GIM_Try, /*On fail goto*//*Label 583*/ GIMT_Encode4(16971), // Rule ID 319 //
6739 /* 16914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
6740 /* 16917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6741 /* 16921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6742 /* 16925 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6743 /* 16929 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6744 /* 16933 */ // MIs[1] Operand 1
6745 /* 16933 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6746 /* 16938 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6747 /* 16943 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6748 /* 16948 */ // MIs[0] offset
6749 /* 16948 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6750 /* 16951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6751 /* 16953 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BNE64 GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
6752 /* 16953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE64),
6753 /* 16956 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6754 /* 16960 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6755 /* 16964 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6756 /* 16966 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6757 /* 16969 */ GIR_RootConstrainSelectedInstOperands,
6758 /* 16970 */ // GIR_Coverage, 319,
6759 /* 16970 */ GIR_EraseRootFromParent_Done,
6760 /* 16971 */ // Label 583: @16971
6761 /* 16971 */ GIM_Try, /*On fail goto*//*Label 584*/ GIMT_Encode4(17033), // Rule ID 1182 //
6762 /* 16976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
6763 /* 16979 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6764 /* 16983 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6765 /* 16987 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6766 /* 16991 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6767 /* 16995 */ // MIs[1] Operand 1
6768 /* 16995 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6769 /* 17000 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6770 /* 17005 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6771 /* 17010 */ // MIs[0] offset
6772 /* 17010 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6773 /* 17013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6774 /* 17015 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BEQ_MM GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6775 /* 17015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
6776 /* 17018 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6777 /* 17022 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6778 /* 17026 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6779 /* 17028 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6780 /* 17031 */ GIR_RootConstrainSelectedInstOperands,
6781 /* 17032 */ // GIR_Coverage, 1182,
6782 /* 17032 */ GIR_EraseRootFromParent_Done,
6783 /* 17033 */ // Label 584: @17033
6784 /* 17033 */ GIM_Try, /*On fail goto*//*Label 585*/ GIMT_Encode4(17095), // Rule ID 1183 //
6785 /* 17038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
6786 /* 17041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6787 /* 17045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6788 /* 17049 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6789 /* 17053 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6790 /* 17057 */ // MIs[1] Operand 1
6791 /* 17057 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6792 /* 17062 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6793 /* 17067 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6794 /* 17072 */ // MIs[0] offset
6795 /* 17072 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6796 /* 17075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6797 /* 17077 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BNE_MM GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6798 /* 17077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE_MM),
6799 /* 17080 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6800 /* 17084 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6801 /* 17088 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6802 /* 17090 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6803 /* 17093 */ GIR_RootConstrainSelectedInstOperands,
6804 /* 17094 */ // GIR_Coverage, 1183,
6805 /* 17094 */ GIR_EraseRootFromParent_Done,
6806 /* 17095 */ // Label 585: @17095
6807 /* 17095 */ GIM_Try, /*On fail goto*//*Label 586*/ GIMT_Encode4(17180), // Rule ID 1479 //
6808 /* 17100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6809 /* 17103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6810 /* 17107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6811 /* 17111 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6812 /* 17115 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6813 /* 17119 */ // MIs[1] Operand 1
6814 /* 17119 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6815 /* 17124 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6816 /* 17129 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6817 /* 17134 */ // MIs[0] dst
6818 /* 17134 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6819 /* 17137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6820 /* 17139 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6821 /* 17139 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6822 /* 17142 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
6823 /* 17146 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6824 /* 17151 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6825 /* 17155 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6826 /* 17159 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6827 /* 17161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6828 /* 17164 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6829 /* 17167 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6830 /* 17173 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6831 /* 17175 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6832 /* 17178 */ GIR_RootConstrainSelectedInstOperands,
6833 /* 17179 */ // GIR_Coverage, 1479,
6834 /* 17179 */ GIR_EraseRootFromParent_Done,
6835 /* 17180 */ // Label 586: @17180
6836 /* 17180 */ GIM_Try, /*On fail goto*//*Label 587*/ GIMT_Encode4(17265), // Rule ID 1480 //
6837 /* 17185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6838 /* 17188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6839 /* 17192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6840 /* 17196 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6841 /* 17200 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6842 /* 17204 */ // MIs[1] Operand 1
6843 /* 17204 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
6844 /* 17209 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6845 /* 17214 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6846 /* 17219 */ // MIs[0] dst
6847 /* 17219 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6848 /* 17222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6849 /* 17224 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6850 /* 17224 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6851 /* 17227 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
6852 /* 17231 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6853 /* 17236 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6854 /* 17240 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6855 /* 17244 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6856 /* 17246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6857 /* 17249 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6858 /* 17252 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6859 /* 17258 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6860 /* 17260 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6861 /* 17263 */ GIR_RootConstrainSelectedInstOperands,
6862 /* 17264 */ // GIR_Coverage, 1480,
6863 /* 17264 */ GIR_EraseRootFromParent_Done,
6864 /* 17265 */ // Label 587: @17265
6865 /* 17265 */ GIM_Try, /*On fail goto*//*Label 588*/ GIMT_Encode4(17350), // Rule ID 1485 //
6866 /* 17270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6867 /* 17273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6868 /* 17277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6869 /* 17281 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6870 /* 17285 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6871 /* 17289 */ // MIs[1] Operand 1
6872 /* 17289 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6873 /* 17294 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6874 /* 17299 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6875 /* 17304 */ // MIs[0] dst
6876 /* 17304 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6877 /* 17307 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6878 /* 17309 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6879 /* 17309 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6880 /* 17312 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
6881 /* 17316 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6882 /* 17321 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6883 /* 17325 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6884 /* 17329 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6885 /* 17331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6886 /* 17334 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6887 /* 17337 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6888 /* 17343 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6889 /* 17345 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6890 /* 17348 */ GIR_RootConstrainSelectedInstOperands,
6891 /* 17349 */ // GIR_Coverage, 1485,
6892 /* 17349 */ GIR_EraseRootFromParent_Done,
6893 /* 17350 */ // Label 588: @17350
6894 /* 17350 */ GIM_Try, /*On fail goto*//*Label 589*/ GIMT_Encode4(17435), // Rule ID 1486 //
6895 /* 17355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
6896 /* 17358 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6897 /* 17362 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6898 /* 17366 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6899 /* 17370 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6900 /* 17374 */ // MIs[1] Operand 1
6901 /* 17374 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
6902 /* 17379 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6903 /* 17384 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6904 /* 17389 */ // MIs[0] dst
6905 /* 17389 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6906 /* 17392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6907 /* 17394 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6908 /* 17394 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6909 /* 17397 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
6910 /* 17401 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6911 /* 17406 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6912 /* 17410 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6913 /* 17414 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6914 /* 17416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6915 /* 17419 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6916 /* 17422 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6917 /* 17428 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6918 /* 17430 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6919 /* 17433 */ GIR_RootConstrainSelectedInstOperands,
6920 /* 17434 */ // GIR_Coverage, 1486,
6921 /* 17434 */ GIR_EraseRootFromParent_Done,
6922 /* 17435 */ // Label 589: @17435
6923 /* 17435 */ GIM_Try, /*On fail goto*//*Label 590*/ GIMT_Encode4(17520), // Rule ID 1653 //
6924 /* 17440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
6925 /* 17443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6926 /* 17447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6927 /* 17451 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6928 /* 17455 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6929 /* 17459 */ // MIs[1] Operand 1
6930 /* 17459 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6931 /* 17464 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6932 /* 17469 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6933 /* 17474 */ // MIs[0] dst
6934 /* 17474 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6935 /* 17477 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6936 /* 17479 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6937 /* 17479 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6938 /* 17482 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
6939 /* 17486 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6940 /* 17491 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6941 /* 17495 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6942 /* 17499 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6943 /* 17501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6944 /* 17504 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6945 /* 17507 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6946 /* 17513 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6947 /* 17515 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6948 /* 17518 */ GIR_RootConstrainSelectedInstOperands,
6949 /* 17519 */ // GIR_Coverage, 1653,
6950 /* 17519 */ GIR_EraseRootFromParent_Done,
6951 /* 17520 */ // Label 590: @17520
6952 /* 17520 */ GIM_Try, /*On fail goto*//*Label 591*/ GIMT_Encode4(17605), // Rule ID 1654 //
6953 /* 17525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
6954 /* 17528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6955 /* 17532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6956 /* 17536 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6957 /* 17540 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6958 /* 17544 */ // MIs[1] Operand 1
6959 /* 17544 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
6960 /* 17549 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6961 /* 17554 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6962 /* 17559 */ // MIs[0] dst
6963 /* 17559 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6964 /* 17562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6965 /* 17564 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6966 /* 17564 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6967 /* 17567 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
6968 /* 17571 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6969 /* 17576 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6970 /* 17580 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6971 /* 17584 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6972 /* 17586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6973 /* 17589 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6974 /* 17592 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6975 /* 17598 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6976 /* 17600 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6977 /* 17603 */ GIR_RootConstrainSelectedInstOperands,
6978 /* 17604 */ // GIR_Coverage, 1654,
6979 /* 17604 */ GIR_EraseRootFromParent_Done,
6980 /* 17605 */ // Label 591: @17605
6981 /* 17605 */ GIM_Try, /*On fail goto*//*Label 592*/ GIMT_Encode4(17690), // Rule ID 1659 //
6982 /* 17610 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
6983 /* 17613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6984 /* 17617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6985 /* 17621 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6986 /* 17625 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6987 /* 17629 */ // MIs[1] Operand 1
6988 /* 17629 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6989 /* 17634 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6990 /* 17639 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6991 /* 17644 */ // MIs[0] dst
6992 /* 17644 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
6993 /* 17647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6994 /* 17649 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
6995 /* 17649 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6996 /* 17652 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
6997 /* 17656 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6998 /* 17661 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6999 /* 17665 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7000 /* 17669 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7001 /* 17671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
7002 /* 17674 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7003 /* 17677 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7004 /* 17683 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7005 /* 17685 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7006 /* 17688 */ GIR_RootConstrainSelectedInstOperands,
7007 /* 17689 */ // GIR_Coverage, 1659,
7008 /* 17689 */ GIR_EraseRootFromParent_Done,
7009 /* 17690 */ // Label 592: @17690
7010 /* 17690 */ GIM_Try, /*On fail goto*//*Label 593*/ GIMT_Encode4(17775), // Rule ID 1660 //
7011 /* 17695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
7012 /* 17698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7013 /* 17702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7014 /* 17706 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7015 /* 17710 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7016 /* 17714 */ // MIs[1] Operand 1
7017 /* 17714 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
7018 /* 17719 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7019 /* 17724 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7020 /* 17729 */ // MIs[0] dst
7021 /* 17729 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7022 /* 17732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7023 /* 17734 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7024 /* 17734 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7025 /* 17737 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
7026 /* 17741 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7027 /* 17746 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7028 /* 17750 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7029 /* 17754 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7030 /* 17756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
7031 /* 17759 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7032 /* 17762 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7033 /* 17768 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7034 /* 17770 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7035 /* 17773 */ GIR_RootConstrainSelectedInstOperands,
7036 /* 17774 */ // GIR_Coverage, 1660,
7037 /* 17774 */ GIR_EraseRootFromParent_Done,
7038 /* 17775 */ // Label 593: @17775
7039 /* 17775 */ GIM_Try, /*On fail goto*//*Label 594*/ GIMT_Encode4(17837), // Rule ID 1901 //
7040 /* 17780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7041 /* 17783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7042 /* 17787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7043 /* 17791 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7044 /* 17795 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7045 /* 17799 */ // MIs[1] Operand 1
7046 /* 17799 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
7047 /* 17804 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7048 /* 17809 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7049 /* 17814 */ // MIs[0] offset
7050 /* 17814 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7051 /* 17817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7052 /* 17819 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTC GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
7053 /* 17819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTC),
7054 /* 17822 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7055 /* 17826 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7056 /* 17830 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7057 /* 17832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7058 /* 17835 */ GIR_RootConstrainSelectedInstOperands,
7059 /* 17836 */ // GIR_Coverage, 1901,
7060 /* 17836 */ GIR_EraseRootFromParent_Done,
7061 /* 17837 */ // Label 594: @17837
7062 /* 17837 */ GIM_Try, /*On fail goto*//*Label 595*/ GIMT_Encode4(17899), // Rule ID 1902 //
7063 /* 17842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7064 /* 17845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7065 /* 17849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7066 /* 17853 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7067 /* 17857 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7068 /* 17861 */ // MIs[1] Operand 1
7069 /* 17861 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
7070 /* 17866 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7071 /* 17871 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7072 /* 17876 */ // MIs[0] offset
7073 /* 17876 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7074 /* 17879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7075 /* 17881 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEC GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
7076 /* 17881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEC),
7077 /* 17884 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7078 /* 17888 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7079 /* 17892 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7080 /* 17894 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7081 /* 17897 */ GIR_RootConstrainSelectedInstOperands,
7082 /* 17898 */ // GIR_Coverage, 1902,
7083 /* 17898 */ GIR_EraseRootFromParent_Done,
7084 /* 17899 */ // Label 595: @17899
7085 /* 17899 */ GIM_Try, /*On fail goto*//*Label 596*/ GIMT_Encode4(17961), // Rule ID 1903 //
7086 /* 17904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7087 /* 17907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7088 /* 17911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7089 /* 17915 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7090 /* 17919 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7091 /* 17923 */ // MIs[1] Operand 1
7092 /* 17923 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
7093 /* 17928 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7094 /* 17933 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7095 /* 17938 */ // MIs[0] offset
7096 /* 17938 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7097 /* 17941 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7098 /* 17943 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTC GPR32:{ *:[i32] }:$rt, GPR32:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
7099 /* 17943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTC),
7100 /* 17946 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7101 /* 17950 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7102 /* 17954 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7103 /* 17956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7104 /* 17959 */ GIR_RootConstrainSelectedInstOperands,
7105 /* 17960 */ // GIR_Coverage, 1903,
7106 /* 17960 */ GIR_EraseRootFromParent_Done,
7107 /* 17961 */ // Label 596: @17961
7108 /* 17961 */ GIM_Try, /*On fail goto*//*Label 597*/ GIMT_Encode4(18023), // Rule ID 1904 //
7109 /* 17966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7110 /* 17969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7111 /* 17973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7112 /* 17977 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7113 /* 17981 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7114 /* 17985 */ // MIs[1] Operand 1
7115 /* 17985 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
7116 /* 17990 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7117 /* 17995 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7118 /* 18000 */ // MIs[0] offset
7119 /* 18000 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7120 /* 18003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7121 /* 18005 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEC GPR32:{ *:[i32] }:$rt, GPR32:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
7122 /* 18005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEC),
7123 /* 18008 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7124 /* 18012 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7125 /* 18016 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7126 /* 18018 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7127 /* 18021 */ GIR_RootConstrainSelectedInstOperands,
7128 /* 18022 */ // GIR_Coverage, 1904,
7129 /* 18022 */ GIR_EraseRootFromParent_Done,
7130 /* 18023 */ // Label 597: @18023
7131 /* 18023 */ GIM_Try, /*On fail goto*//*Label 598*/ GIMT_Encode4(18085), // Rule ID 1905 //
7132 /* 18028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7133 /* 18031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7134 /* 18035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7135 /* 18039 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7136 /* 18043 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7137 /* 18047 */ // MIs[1] Operand 1
7138 /* 18047 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
7139 /* 18052 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7140 /* 18057 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7141 /* 18062 */ // MIs[0] offset
7142 /* 18062 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7143 /* 18065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7144 /* 18067 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETULT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTUC GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
7145 /* 18067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTUC),
7146 /* 18070 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7147 /* 18074 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7148 /* 18078 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7149 /* 18080 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7150 /* 18083 */ GIR_RootConstrainSelectedInstOperands,
7151 /* 18084 */ // GIR_Coverage, 1905,
7152 /* 18084 */ GIR_EraseRootFromParent_Done,
7153 /* 18085 */ // Label 598: @18085
7154 /* 18085 */ GIM_Try, /*On fail goto*//*Label 599*/ GIMT_Encode4(18147), // Rule ID 1906 //
7155 /* 18090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7156 /* 18093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7157 /* 18097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7158 /* 18101 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7159 /* 18105 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7160 /* 18109 */ // MIs[1] Operand 1
7161 /* 18109 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
7162 /* 18114 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7163 /* 18119 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7164 /* 18124 */ // MIs[0] offset
7165 /* 18124 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7166 /* 18127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7167 /* 18129 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEUC GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
7168 /* 18129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEUC),
7169 /* 18132 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7170 /* 18136 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7171 /* 18140 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7172 /* 18142 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7173 /* 18145 */ GIR_RootConstrainSelectedInstOperands,
7174 /* 18146 */ // GIR_Coverage, 1906,
7175 /* 18146 */ GIR_EraseRootFromParent_Done,
7176 /* 18147 */ // Label 599: @18147
7177 /* 18147 */ GIM_Try, /*On fail goto*//*Label 600*/ GIMT_Encode4(18209), // Rule ID 1907 //
7178 /* 18152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7179 /* 18155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7180 /* 18159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7181 /* 18163 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7182 /* 18167 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7183 /* 18171 */ // MIs[1] Operand 1
7184 /* 18171 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
7185 /* 18176 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7186 /* 18181 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7187 /* 18186 */ // MIs[0] offset
7188 /* 18186 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7189 /* 18189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7190 /* 18191 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETUGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTUC GPR32:{ *:[i32] }:$rt, GPR32:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
7191 /* 18191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTUC),
7192 /* 18194 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7193 /* 18198 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7194 /* 18202 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7195 /* 18204 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7196 /* 18207 */ GIR_RootConstrainSelectedInstOperands,
7197 /* 18208 */ // GIR_Coverage, 1907,
7198 /* 18208 */ GIR_EraseRootFromParent_Done,
7199 /* 18209 */ // Label 600: @18209
7200 /* 18209 */ GIM_Try, /*On fail goto*//*Label 601*/ GIMT_Encode4(18271), // Rule ID 1908 //
7201 /* 18214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7202 /* 18217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7203 /* 18221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7204 /* 18225 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7205 /* 18229 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7206 /* 18233 */ // MIs[1] Operand 1
7207 /* 18233 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
7208 /* 18238 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7209 /* 18243 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7210 /* 18248 */ // MIs[0] offset
7211 /* 18248 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7212 /* 18251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7213 /* 18253 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEUC GPR32:{ *:[i32] }:$rt, GPR32:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
7214 /* 18253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEUC),
7215 /* 18256 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7216 /* 18260 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7217 /* 18264 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7218 /* 18266 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7219 /* 18269 */ GIR_RootConstrainSelectedInstOperands,
7220 /* 18270 */ // GIR_Coverage, 1908,
7221 /* 18270 */ GIR_EraseRootFromParent_Done,
7222 /* 18271 */ // Label 601: @18271
7223 /* 18271 */ GIM_Try, /*On fail goto*//*Label 602*/ GIMT_Encode4(18333), // Rule ID 1944 //
7224 /* 18276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7225 /* 18279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7226 /* 18283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7227 /* 18287 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7228 /* 18291 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7229 /* 18295 */ // MIs[1] Operand 1
7230 /* 18295 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
7231 /* 18300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7232 /* 18305 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7233 /* 18310 */ // MIs[0] offset
7234 /* 18310 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7235 /* 18313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7236 /* 18315 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTC64 GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
7237 /* 18315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTC64),
7238 /* 18318 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7239 /* 18322 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7240 /* 18326 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7241 /* 18328 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7242 /* 18331 */ GIR_RootConstrainSelectedInstOperands,
7243 /* 18332 */ // GIR_Coverage, 1944,
7244 /* 18332 */ GIR_EraseRootFromParent_Done,
7245 /* 18333 */ // Label 602: @18333
7246 /* 18333 */ GIM_Try, /*On fail goto*//*Label 603*/ GIMT_Encode4(18395), // Rule ID 1945 //
7247 /* 18338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7248 /* 18341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7249 /* 18345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7250 /* 18349 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7251 /* 18353 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7252 /* 18357 */ // MIs[1] Operand 1
7253 /* 18357 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
7254 /* 18362 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7255 /* 18367 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7256 /* 18372 */ // MIs[0] offset
7257 /* 18372 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7258 /* 18375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7259 /* 18377 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEC64 GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
7260 /* 18377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEC64),
7261 /* 18380 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7262 /* 18384 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7263 /* 18388 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7264 /* 18390 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7265 /* 18393 */ GIR_RootConstrainSelectedInstOperands,
7266 /* 18394 */ // GIR_Coverage, 1945,
7267 /* 18394 */ GIR_EraseRootFromParent_Done,
7268 /* 18395 */ // Label 603: @18395
7269 /* 18395 */ GIM_Try, /*On fail goto*//*Label 604*/ GIMT_Encode4(18457), // Rule ID 1946 //
7270 /* 18400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7271 /* 18403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7272 /* 18407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7273 /* 18411 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7274 /* 18415 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7275 /* 18419 */ // MIs[1] Operand 1
7276 /* 18419 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
7277 /* 18424 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7278 /* 18429 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7279 /* 18434 */ // MIs[0] offset
7280 /* 18434 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7281 /* 18437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7282 /* 18439 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTC64 GPR64:{ *:[i64] }:$rt, GPR64:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
7283 /* 18439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTC64),
7284 /* 18442 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7285 /* 18446 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7286 /* 18450 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7287 /* 18452 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7288 /* 18455 */ GIR_RootConstrainSelectedInstOperands,
7289 /* 18456 */ // GIR_Coverage, 1946,
7290 /* 18456 */ GIR_EraseRootFromParent_Done,
7291 /* 18457 */ // Label 604: @18457
7292 /* 18457 */ GIM_Try, /*On fail goto*//*Label 605*/ GIMT_Encode4(18519), // Rule ID 1947 //
7293 /* 18462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7294 /* 18465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7295 /* 18469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7296 /* 18473 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7297 /* 18477 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7298 /* 18481 */ // MIs[1] Operand 1
7299 /* 18481 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
7300 /* 18486 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7301 /* 18491 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7302 /* 18496 */ // MIs[0] offset
7303 /* 18496 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7304 /* 18499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7305 /* 18501 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEC64 GPR64:{ *:[i64] }:$rt, GPR64:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
7306 /* 18501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEC64),
7307 /* 18504 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7308 /* 18508 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7309 /* 18512 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7310 /* 18514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7311 /* 18517 */ GIR_RootConstrainSelectedInstOperands,
7312 /* 18518 */ // GIR_Coverage, 1947,
7313 /* 18518 */ GIR_EraseRootFromParent_Done,
7314 /* 18519 */ // Label 605: @18519
7315 /* 18519 */ GIM_Try, /*On fail goto*//*Label 606*/ GIMT_Encode4(18581), // Rule ID 1948 //
7316 /* 18524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7317 /* 18527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7318 /* 18531 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7319 /* 18535 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7320 /* 18539 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7321 /* 18543 */ // MIs[1] Operand 1
7322 /* 18543 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
7323 /* 18548 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7324 /* 18553 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7325 /* 18558 */ // MIs[0] offset
7326 /* 18558 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7327 /* 18561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7328 /* 18563 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETULT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTUC64 GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
7329 /* 18563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTUC64),
7330 /* 18566 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7331 /* 18570 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7332 /* 18574 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7333 /* 18576 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7334 /* 18579 */ GIR_RootConstrainSelectedInstOperands,
7335 /* 18580 */ // GIR_Coverage, 1948,
7336 /* 18580 */ GIR_EraseRootFromParent_Done,
7337 /* 18581 */ // Label 606: @18581
7338 /* 18581 */ GIM_Try, /*On fail goto*//*Label 607*/ GIMT_Encode4(18643), // Rule ID 1949 //
7339 /* 18586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7340 /* 18589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7341 /* 18593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7342 /* 18597 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7343 /* 18601 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7344 /* 18605 */ // MIs[1] Operand 1
7345 /* 18605 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
7346 /* 18610 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7347 /* 18615 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7348 /* 18620 */ // MIs[0] offset
7349 /* 18620 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7350 /* 18623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7351 /* 18625 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEUC64 GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
7352 /* 18625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEUC64),
7353 /* 18628 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7354 /* 18632 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7355 /* 18636 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7356 /* 18638 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7357 /* 18641 */ GIR_RootConstrainSelectedInstOperands,
7358 /* 18642 */ // GIR_Coverage, 1949,
7359 /* 18642 */ GIR_EraseRootFromParent_Done,
7360 /* 18643 */ // Label 607: @18643
7361 /* 18643 */ GIM_Try, /*On fail goto*//*Label 608*/ GIMT_Encode4(18705), // Rule ID 1950 //
7362 /* 18648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7363 /* 18651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7364 /* 18655 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7365 /* 18659 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7366 /* 18663 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7367 /* 18667 */ // MIs[1] Operand 1
7368 /* 18667 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
7369 /* 18672 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7370 /* 18677 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7371 /* 18682 */ // MIs[0] offset
7372 /* 18682 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7373 /* 18685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7374 /* 18687 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETUGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTUC64 GPR64:{ *:[i64] }:$rt, GPR64:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
7375 /* 18687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTUC64),
7376 /* 18690 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7377 /* 18694 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7378 /* 18698 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7379 /* 18700 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7380 /* 18703 */ GIR_RootConstrainSelectedInstOperands,
7381 /* 18704 */ // GIR_Coverage, 1950,
7382 /* 18704 */ GIR_EraseRootFromParent_Done,
7383 /* 18705 */ // Label 608: @18705
7384 /* 18705 */ GIM_Try, /*On fail goto*//*Label 609*/ GIMT_Encode4(18767), // Rule ID 1951 //
7385 /* 18710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches),
7386 /* 18713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7387 /* 18717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7388 /* 18721 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7389 /* 18725 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
7390 /* 18729 */ // MIs[1] Operand 1
7391 /* 18729 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
7392 /* 18734 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7393 /* 18739 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7394 /* 18744 */ // MIs[0] offset
7395 /* 18744 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7396 /* 18747 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7397 /* 18749 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEUC64 GPR64:{ *:[i64] }:$rt, GPR64:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
7398 /* 18749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEUC64),
7399 /* 18752 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
7400 /* 18756 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
7401 /* 18760 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
7402 /* 18762 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7403 /* 18765 */ GIR_RootConstrainSelectedInstOperands,
7404 /* 18766 */ // GIR_Coverage, 1951,
7405 /* 18766 */ GIR_EraseRootFromParent_Done,
7406 /* 18767 */ // Label 609: @18767
7407 /* 18767 */ GIM_Try, /*On fail goto*//*Label 610*/ GIMT_Encode4(18826), // Rule ID 1981 //
7408 /* 18772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
7409 /* 18775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7410 /* 18779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7411 /* 18783 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7412 /* 18787 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7413 /* 18791 */ // MIs[1] Operand 1
7414 /* 18791 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
7415 /* 18796 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7416 /* 18801 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7417 /* 18806 */ // MIs[0] imm16
7418 /* 18806 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7419 /* 18809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7420 /* 18811 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BteqzT8CmpX16 CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, (bb:{ *:[Other] }):$imm16)
7421 /* 18811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BteqzT8CmpX16),
7422 /* 18814 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7423 /* 18818 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7424 /* 18822 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7425 /* 18824 */ GIR_RootConstrainSelectedInstOperands,
7426 /* 18825 */ // GIR_Coverage, 1981,
7427 /* 18825 */ GIR_EraseRootFromParent_Done,
7428 /* 18826 */ // Label 610: @18826
7429 /* 18826 */ GIM_Try, /*On fail goto*//*Label 611*/ GIMT_Encode4(18885), // Rule ID 1984 //
7430 /* 18831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
7431 /* 18834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7432 /* 18838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7433 /* 18842 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7434 /* 18846 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7435 /* 18850 */ // MIs[1] Operand 1
7436 /* 18850 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
7437 /* 18855 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7438 /* 18860 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7439 /* 18865 */ // MIs[0] imm16
7440 /* 18865 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7441 /* 18868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7442 /* 18870 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BtnezT8SltX16 CPU16Regs:{ *:[i32] }:$ry, CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$imm16)
7443 /* 18870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BtnezT8SltX16),
7444 /* 18873 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7445 /* 18877 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7446 /* 18881 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7447 /* 18883 */ GIR_RootConstrainSelectedInstOperands,
7448 /* 18884 */ // GIR_Coverage, 1984,
7449 /* 18884 */ GIR_EraseRootFromParent_Done,
7450 /* 18885 */ // Label 611: @18885
7451 /* 18885 */ GIM_Try, /*On fail goto*//*Label 612*/ GIMT_Encode4(18944), // Rule ID 1985 //
7452 /* 18890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
7453 /* 18893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7454 /* 18897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7455 /* 18901 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7456 /* 18905 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7457 /* 18909 */ // MIs[1] Operand 1
7458 /* 18909 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
7459 /* 18914 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7460 /* 18919 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7461 /* 18924 */ // MIs[0] imm16
7462 /* 18924 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7463 /* 18927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7464 /* 18929 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BteqzT8SltX16 CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, (bb:{ *:[Other] }):$imm16)
7465 /* 18929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BteqzT8SltX16),
7466 /* 18932 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7467 /* 18936 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7468 /* 18940 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7469 /* 18942 */ GIR_RootConstrainSelectedInstOperands,
7470 /* 18943 */ // GIR_Coverage, 1985,
7471 /* 18943 */ GIR_EraseRootFromParent_Done,
7472 /* 18944 */ // Label 612: @18944
7473 /* 18944 */ GIM_Try, /*On fail goto*//*Label 613*/ GIMT_Encode4(19003), // Rule ID 1987 //
7474 /* 18949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
7475 /* 18952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7476 /* 18956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7477 /* 18960 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7478 /* 18964 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7479 /* 18968 */ // MIs[1] Operand 1
7480 /* 18968 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
7481 /* 18973 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7482 /* 18978 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7483 /* 18983 */ // MIs[0] imm16
7484 /* 18983 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7485 /* 18986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7486 /* 18988 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BtnezT8SltX16 CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, (bb:{ *:[Other] }):$imm16)
7487 /* 18988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BtnezT8SltX16),
7488 /* 18991 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7489 /* 18995 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7490 /* 18999 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7491 /* 19001 */ GIR_RootConstrainSelectedInstOperands,
7492 /* 19002 */ // GIR_Coverage, 1987,
7493 /* 19002 */ GIR_EraseRootFromParent_Done,
7494 /* 19003 */ // Label 613: @19003
7495 /* 19003 */ GIM_Try, /*On fail goto*//*Label 614*/ GIMT_Encode4(19062), // Rule ID 1989 //
7496 /* 19008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
7497 /* 19011 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7498 /* 19015 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7499 /* 19019 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7500 /* 19023 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7501 /* 19027 */ // MIs[1] Operand 1
7502 /* 19027 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
7503 /* 19032 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7504 /* 19037 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7505 /* 19042 */ // MIs[0] imm16
7506 /* 19042 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7507 /* 19045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7508 /* 19047 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BteqzT8SltX16 CPU16Regs:{ *:[i32] }:$ry, CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$imm16)
7509 /* 19047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BteqzT8SltX16),
7510 /* 19050 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7511 /* 19054 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7512 /* 19058 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7513 /* 19060 */ GIR_RootConstrainSelectedInstOperands,
7514 /* 19061 */ // GIR_Coverage, 1989,
7515 /* 19061 */ GIR_EraseRootFromParent_Done,
7516 /* 19062 */ // Label 614: @19062
7517 /* 19062 */ GIM_Try, /*On fail goto*//*Label 615*/ GIMT_Encode4(19121), // Rule ID 1990 //
7518 /* 19067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
7519 /* 19070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7520 /* 19074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7521 /* 19078 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7522 /* 19082 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7523 /* 19086 */ // MIs[1] Operand 1
7524 /* 19086 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
7525 /* 19091 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7526 /* 19096 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7527 /* 19101 */ // MIs[0] imm16
7528 /* 19101 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7529 /* 19104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7530 /* 19106 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BtnezT8CmpX16 CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, (bb:{ *:[Other] }):$imm16)
7531 /* 19106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BtnezT8CmpX16),
7532 /* 19109 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7533 /* 19113 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7534 /* 19117 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7535 /* 19119 */ GIR_RootConstrainSelectedInstOperands,
7536 /* 19120 */ // GIR_Coverage, 1990,
7537 /* 19120 */ GIR_EraseRootFromParent_Done,
7538 /* 19121 */ // Label 615: @19121
7539 /* 19121 */ GIM_Try, /*On fail goto*//*Label 616*/ GIMT_Encode4(19206), // Rule ID 2324 //
7540 /* 19126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
7541 /* 19129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7542 /* 19133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7543 /* 19137 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7544 /* 19141 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7545 /* 19145 */ // MIs[1] Operand 1
7546 /* 19145 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
7547 /* 19150 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7548 /* 19155 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7549 /* 19160 */ // MIs[0] dst
7550 /* 19160 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7551 /* 19163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7552 /* 19165 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ_MM (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7553 /* 19165 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7554 /* 19168 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
7555 /* 19172 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7556 /* 19177 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7557 /* 19181 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7558 /* 19185 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7559 /* 19187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
7560 /* 19190 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7561 /* 19193 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7562 /* 19199 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7563 /* 19201 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7564 /* 19204 */ GIR_RootConstrainSelectedInstOperands,
7565 /* 19205 */ // GIR_Coverage, 2324,
7566 /* 19205 */ GIR_EraseRootFromParent_Done,
7567 /* 19206 */ // Label 616: @19206
7568 /* 19206 */ GIM_Try, /*On fail goto*//*Label 617*/ GIMT_Encode4(19291), // Rule ID 2325 //
7569 /* 19211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
7570 /* 19214 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7571 /* 19218 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7572 /* 19222 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7573 /* 19226 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7574 /* 19230 */ // MIs[1] Operand 1
7575 /* 19230 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
7576 /* 19235 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7577 /* 19240 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7578 /* 19245 */ // MIs[0] dst
7579 /* 19245 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7580 /* 19248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7581 /* 19250 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ_MM (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7582 /* 19250 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7583 /* 19253 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
7584 /* 19257 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7585 /* 19262 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7586 /* 19266 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7587 /* 19270 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7588 /* 19272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
7589 /* 19275 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7590 /* 19278 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7591 /* 19284 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7592 /* 19286 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7593 /* 19289 */ GIR_RootConstrainSelectedInstOperands,
7594 /* 19290 */ // GIR_Coverage, 2325,
7595 /* 19290 */ GIR_EraseRootFromParent_Done,
7596 /* 19291 */ // Label 617: @19291
7597 /* 19291 */ GIM_Try, /*On fail goto*//*Label 618*/ GIMT_Encode4(19376), // Rule ID 2330 //
7598 /* 19296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
7599 /* 19299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7600 /* 19303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7601 /* 19307 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7602 /* 19311 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7603 /* 19315 */ // MIs[1] Operand 1
7604 /* 19315 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
7605 /* 19320 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7606 /* 19325 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7607 /* 19330 */ // MIs[0] dst
7608 /* 19330 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7609 /* 19333 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7610 /* 19335 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ_MM (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7611 /* 19335 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7612 /* 19338 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
7613 /* 19342 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7614 /* 19347 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7615 /* 19351 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7616 /* 19355 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7617 /* 19357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
7618 /* 19360 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7619 /* 19363 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7620 /* 19369 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7621 /* 19371 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7622 /* 19374 */ GIR_RootConstrainSelectedInstOperands,
7623 /* 19375 */ // GIR_Coverage, 2330,
7624 /* 19375 */ GIR_EraseRootFromParent_Done,
7625 /* 19376 */ // Label 618: @19376
7626 /* 19376 */ GIM_Try, /*On fail goto*//*Label 619*/ GIMT_Encode4(19461), // Rule ID 2331 //
7627 /* 19381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
7628 /* 19384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7629 /* 19388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7630 /* 19392 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7631 /* 19396 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7632 /* 19400 */ // MIs[1] Operand 1
7633 /* 19400 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
7634 /* 19405 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7635 /* 19410 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7636 /* 19415 */ // MIs[0] dst
7637 /* 19415 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7638 /* 19418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7639 /* 19420 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ_MM (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7640 /* 19420 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7641 /* 19423 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
7642 /* 19427 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7643 /* 19432 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7644 /* 19436 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7645 /* 19440 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7646 /* 19442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
7647 /* 19445 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7648 /* 19448 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7649 /* 19454 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7650 /* 19456 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7651 /* 19459 */ GIR_RootConstrainSelectedInstOperands,
7652 /* 19460 */ // GIR_Coverage, 2331,
7653 /* 19460 */ GIR_EraseRootFromParent_Done,
7654 /* 19461 */ // Label 619: @19461
7655 /* 19461 */ GIM_Try, /*On fail goto*//*Label 620*/ GIMT_Encode4(19540), // Rule ID 2475 //
7656 /* 19466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
7657 /* 19469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7658 /* 19473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7659 /* 19477 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7660 /* 19481 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7661 /* 19485 */ // MIs[1] Operand 1
7662 /* 19485 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
7663 /* 19490 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7664 /* 19495 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7665 /* 19500 */ // MIs[0] dst
7666 /* 19500 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7667 /* 19503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7668 /* 19505 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQZC_MMR6 (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), (bb:{ *:[Other] }):$dst)
7669 /* 19505 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7670 /* 19508 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
7671 /* 19512 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7672 /* 19517 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7673 /* 19521 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7674 /* 19525 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7675 /* 19527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
7676 /* 19530 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7677 /* 19533 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7678 /* 19535 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7679 /* 19538 */ GIR_RootConstrainSelectedInstOperands,
7680 /* 19539 */ // GIR_Coverage, 2475,
7681 /* 19539 */ GIR_EraseRootFromParent_Done,
7682 /* 19540 */ // Label 620: @19540
7683 /* 19540 */ GIM_Try, /*On fail goto*//*Label 621*/ GIMT_Encode4(19619), // Rule ID 2476 //
7684 /* 19545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
7685 /* 19548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7686 /* 19552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7687 /* 19556 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7688 /* 19560 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7689 /* 19564 */ // MIs[1] Operand 1
7690 /* 19564 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
7691 /* 19569 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7692 /* 19574 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7693 /* 19579 */ // MIs[0] dst
7694 /* 19579 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7695 /* 19582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7696 /* 19584 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQZC_MMR6 (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), (bb:{ *:[Other] }):$dst)
7697 /* 19584 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7698 /* 19587 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
7699 /* 19591 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7700 /* 19596 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7701 /* 19600 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7702 /* 19604 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7703 /* 19606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
7704 /* 19609 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7705 /* 19612 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7706 /* 19614 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7707 /* 19617 */ GIR_RootConstrainSelectedInstOperands,
7708 /* 19618 */ // GIR_Coverage, 2476,
7709 /* 19618 */ GIR_EraseRootFromParent_Done,
7710 /* 19619 */ // Label 621: @19619
7711 /* 19619 */ GIM_Try, /*On fail goto*//*Label 622*/ GIMT_Encode4(19698), // Rule ID 2481 //
7712 /* 19624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
7713 /* 19627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7714 /* 19631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7715 /* 19635 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7716 /* 19639 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7717 /* 19643 */ // MIs[1] Operand 1
7718 /* 19643 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
7719 /* 19648 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7720 /* 19653 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7721 /* 19658 */ // MIs[0] dst
7722 /* 19658 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7723 /* 19661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7724 /* 19663 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQZC_MMR6 (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), (bb:{ *:[Other] }):$dst)
7725 /* 19663 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7726 /* 19666 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
7727 /* 19670 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7728 /* 19675 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7729 /* 19679 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7730 /* 19683 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7731 /* 19685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
7732 /* 19688 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7733 /* 19691 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7734 /* 19693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7735 /* 19696 */ GIR_RootConstrainSelectedInstOperands,
7736 /* 19697 */ // GIR_Coverage, 2481,
7737 /* 19697 */ GIR_EraseRootFromParent_Done,
7738 /* 19698 */ // Label 622: @19698
7739 /* 19698 */ GIM_Try, /*On fail goto*//*Label 623*/ GIMT_Encode4(19777), // Rule ID 2482 //
7740 /* 19703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
7741 /* 19706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7742 /* 19710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7743 /* 19714 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7744 /* 19718 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7745 /* 19722 */ // MIs[1] Operand 1
7746 /* 19722 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
7747 /* 19727 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7748 /* 19732 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7749 /* 19737 */ // MIs[0] dst
7750 /* 19737 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7751 /* 19740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7752 /* 19742 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQZC_MMR6 (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), (bb:{ *:[Other] }):$dst)
7753 /* 19742 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7754 /* 19745 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
7755 /* 19749 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7756 /* 19754 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7757 /* 19758 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7758 /* 19762 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7759 /* 19764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
7760 /* 19767 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7761 /* 19770 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7762 /* 19772 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7763 /* 19775 */ GIR_RootConstrainSelectedInstOperands,
7764 /* 19776 */ // GIR_Coverage, 2482,
7765 /* 19776 */ GIR_EraseRootFromParent_Done,
7766 /* 19777 */ // Label 623: @19777
7767 /* 19777 */ GIM_Try, /*On fail goto*//*Label 624*/ GIMT_Encode4(19810), // Rule ID 1487 //
7768 /* 19782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
7769 /* 19785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7770 /* 19789 */ // MIs[0] dst
7771 /* 19789 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7772 /* 19792 */ // (brcond GPR32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) => (BNE GPR32:{ *:[i32] }:$cond, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7773 /* 19792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE),
7774 /* 19795 */ GIR_RootToRootCopy, /*OpIdx*/0, // cond
7775 /* 19797 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7776 /* 19803 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7777 /* 19805 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7778 /* 19808 */ GIR_RootConstrainSelectedInstOperands,
7779 /* 19809 */ // GIR_Coverage, 1487,
7780 /* 19809 */ GIR_EraseRootFromParent_Done,
7781 /* 19810 */ // Label 624: @19810
7782 /* 19810 */ GIM_Try, /*On fail goto*//*Label 625*/ GIMT_Encode4(19832), // Rule ID 1993 //
7783 /* 19815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
7784 /* 19818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7785 /* 19822 */ // MIs[0] targ16
7786 /* 19822 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7787 /* 19825 */ // (brcond CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$targ16) => (BnezRxImm16 CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$targ16)
7788 /* 19825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BnezRxImm16),
7789 /* 19830 */ GIR_RootConstrainSelectedInstOperands,
7790 /* 19831 */ // GIR_Coverage, 1993,
7791 /* 19831 */ GIR_Done,
7792 /* 19832 */ // Label 625: @19832
7793 /* 19832 */ GIM_Try, /*On fail goto*//*Label 626*/ GIMT_Encode4(19865), // Rule ID 2332 //
7794 /* 19837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
7795 /* 19840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7796 /* 19844 */ // MIs[0] dst
7797 /* 19844 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7798 /* 19847 */ // (brcond GPR32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) => (BNE_MM GPR32:{ *:[i32] }:$cond, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7799 /* 19847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE_MM),
7800 /* 19850 */ GIR_RootToRootCopy, /*OpIdx*/0, // cond
7801 /* 19852 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7802 /* 19858 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7803 /* 19860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7804 /* 19863 */ GIR_RootConstrainSelectedInstOperands,
7805 /* 19864 */ // GIR_Coverage, 2332,
7806 /* 19864 */ GIR_EraseRootFromParent_Done,
7807 /* 19865 */ // Label 626: @19865
7808 /* 19865 */ GIM_Try, /*On fail goto*//*Label 627*/ GIMT_Encode4(19893), // Rule ID 2483 //
7809 /* 19870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
7810 /* 19873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7811 /* 19877 */ // MIs[0] dst
7812 /* 19877 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7813 /* 19880 */ // (brcond GPR32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) => (BNEZC_MMR6 GPR32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst)
7814 /* 19880 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BNEZC_MMR6),
7815 /* 19885 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7816 /* 19891 */ GIR_RootConstrainSelectedInstOperands,
7817 /* 19892 */ // GIR_Coverage, 2483,
7818 /* 19892 */ GIR_Done,
7819 /* 19893 */ // Label 627: @19893
7820 /* 19893 */ GIM_Reject,
7821 /* 19894 */ // Label 526: @19894
7822 /* 19894 */ GIM_Try, /*On fail goto*//*Label 628*/ GIMT_Encode4(19927), // Rule ID 1661 //
7823 /* 19899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
7824 /* 19902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7825 /* 19906 */ // MIs[0] dst
7826 /* 19906 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7827 /* 19909 */ // (brcond GPR64:{ *:[i64] }:$cond, (bb:{ *:[Other] }):$dst) => (BNE64 GPR64:{ *:[i64] }:$cond, ZERO_64:{ *:[i64] }, (bb:{ *:[Other] }):$dst)
7828 /* 19909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE64),
7829 /* 19912 */ GIR_RootToRootCopy, /*OpIdx*/0, // cond
7830 /* 19914 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7831 /* 19920 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7832 /* 19922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7833 /* 19925 */ GIR_RootConstrainSelectedInstOperands,
7834 /* 19926 */ // GIR_Coverage, 1661,
7835 /* 19926 */ GIR_EraseRootFromParent_Done,
7836 /* 19927 */ // Label 628: @19927
7837 /* 19927 */ GIM_Reject,
7838 /* 19928 */ // Label 527: @19928
7839 /* 19928 */ GIM_Reject,
7840 /* 19929 */ // Label 29: @19929
7841 /* 19929 */ GIM_Try, /*On fail goto*//*Label 629*/ GIMT_Encode4(21926),
7842 /* 19934 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
7843 /* 19937 */ GIM_Try, /*On fail goto*//*Label 630*/ GIMT_Encode4(19984), // Rule ID 503 //
7844 /* 19942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
7845 /* 19945 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_qb),
7846 /* 19950 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
7847 /* 19953 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7848 /* 19956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7849 /* 19960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7850 /* 19964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7851 /* 19968 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt8),
7852 /* 19972 */ // MIs[1] Operand 1
7853 /* 19972 */ // No operand predicates
7854 /* 19972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7855 /* 19974 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8472:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immZExt8>>:$imm) => (REPL_QB:{ *:[v4i8] } (imm:{ *:[i32] }):$imm)
7856 /* 19974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPL_QB),
7857 /* 19977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7858 /* 19979 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
7859 /* 19982 */ GIR_RootConstrainSelectedInstOperands,
7860 /* 19983 */ // GIR_Coverage, 503,
7861 /* 19983 */ GIR_EraseRootFromParent_Done,
7862 /* 19984 */ // Label 630: @19984
7863 /* 19984 */ GIM_Try, /*On fail goto*//*Label 631*/ GIMT_Encode4(20031), // Rule ID 504 //
7864 /* 19989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
7865 /* 19992 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_ph),
7866 /* 19997 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7867 /* 20000 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7868 /* 20003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7869 /* 20007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7870 /* 20011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7871 /* 20015 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immSExt10),
7872 /* 20019 */ // MIs[1] Operand 1
7873 /* 20019 */ // No operand predicates
7874 /* 20019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7875 /* 20021 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8471:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immSExt10>>:$imm) => (REPL_PH:{ *:[v2i16] } (imm:{ *:[i32] }):$imm)
7876 /* 20021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPL_PH),
7877 /* 20024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7878 /* 20026 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
7879 /* 20029 */ GIR_RootConstrainSelectedInstOperands,
7880 /* 20030 */ // GIR_Coverage, 504,
7881 /* 20030 */ GIR_EraseRootFromParent_Done,
7882 /* 20031 */ // Label 631: @20031
7883 /* 20031 */ GIM_Try, /*On fail goto*//*Label 632*/ GIMT_Encode4(20078), // Rule ID 1363 //
7884 /* 20036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
7885 /* 20039 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_ph),
7886 /* 20044 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7887 /* 20047 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7888 /* 20050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7889 /* 20054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7890 /* 20058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7891 /* 20062 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immSExt10),
7892 /* 20066 */ // MIs[1] Operand 1
7893 /* 20066 */ // No operand predicates
7894 /* 20066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7895 /* 20068 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8471:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immSExt10>>:$imm) => (REPL_PH_MM:{ *:[v2i16] } (imm:{ *:[i32] }):$imm)
7896 /* 20068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPL_PH_MM),
7897 /* 20071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7898 /* 20073 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
7899 /* 20076 */ GIR_RootConstrainSelectedInstOperands,
7900 /* 20077 */ // GIR_Coverage, 1363,
7901 /* 20077 */ GIR_EraseRootFromParent_Done,
7902 /* 20078 */ // Label 632: @20078
7903 /* 20078 */ GIM_Try, /*On fail goto*//*Label 633*/ GIMT_Encode4(20125), // Rule ID 1364 //
7904 /* 20083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
7905 /* 20086 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_qb),
7906 /* 20091 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
7907 /* 20094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7908 /* 20097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7909 /* 20101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7910 /* 20105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7911 /* 20109 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt8),
7912 /* 20113 */ // MIs[1] Operand 1
7913 /* 20113 */ // No operand predicates
7914 /* 20113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7915 /* 20115 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8472:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immZExt8>>:$imm) => (REPL_QB_MM:{ *:[v4i8] } (imm:{ *:[i32] }):$imm)
7916 /* 20115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPL_QB_MM),
7917 /* 20118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
7918 /* 20120 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
7919 /* 20123 */ GIR_RootConstrainSelectedInstOperands,
7920 /* 20124 */ // GIR_Coverage, 1364,
7921 /* 20124 */ GIR_EraseRootFromParent_Done,
7922 /* 20125 */ // Label 633: @20125
7923 /* 20125 */ GIM_Try, /*On fail goto*//*Label 634*/ GIMT_Encode4(20161), // Rule ID 437 //
7924 /* 20130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
7925 /* 20133 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_raddu_w_qb),
7926 /* 20138 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
7927 /* 20141 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7928 /* 20144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7929 /* 20148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7930 /* 20152 */ // (intrinsic_wo_chain:{ *:[i32] } 8469:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (RADDU_W_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs)
7931 /* 20152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::RADDU_W_QB),
7932 /* 20155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7933 /* 20157 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
7934 /* 20159 */ GIR_RootConstrainSelectedInstOperands,
7935 /* 20160 */ // GIR_Coverage, 437,
7936 /* 20160 */ GIR_EraseRootFromParent_Done,
7937 /* 20161 */ // Label 634: @20161
7938 /* 20161 */ GIM_Try, /*On fail goto*//*Label 635*/ GIMT_Encode4(20197), // Rule ID 444 //
7939 /* 20166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
7940 /* 20169 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceq_w_phl),
7941 /* 20174 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
7942 /* 20177 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
7943 /* 20180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7944 /* 20184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7945 /* 20188 */ // (intrinsic_wo_chain:{ *:[i32] } 8451:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECEQ_W_PHL:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rt)
7946 /* 20188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQ_W_PHL),
7947 /* 20191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7948 /* 20193 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7949 /* 20195 */ GIR_RootConstrainSelectedInstOperands,
7950 /* 20196 */ // GIR_Coverage, 444,
7951 /* 20196 */ GIR_EraseRootFromParent_Done,
7952 /* 20197 */ // Label 635: @20197
7953 /* 20197 */ GIM_Try, /*On fail goto*//*Label 636*/ GIMT_Encode4(20233), // Rule ID 445 //
7954 /* 20202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
7955 /* 20205 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceq_w_phr),
7956 /* 20210 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
7957 /* 20213 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
7958 /* 20216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7959 /* 20220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7960 /* 20224 */ // (intrinsic_wo_chain:{ *:[i32] } 8452:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECEQ_W_PHR:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rt)
7961 /* 20224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQ_W_PHR),
7962 /* 20227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7963 /* 20229 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7964 /* 20231 */ GIR_RootConstrainSelectedInstOperands,
7965 /* 20232 */ // GIR_Coverage, 445,
7966 /* 20232 */ GIR_EraseRootFromParent_Done,
7967 /* 20233 */ // Label 636: @20233
7968 /* 20233 */ GIM_Try, /*On fail goto*//*Label 637*/ GIMT_Encode4(20269), // Rule ID 446 //
7969 /* 20238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
7970 /* 20241 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbl),
7971 /* 20246 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7972 /* 20249 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7973 /* 20252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7974 /* 20256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7975 /* 20260 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8453:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEQU_PH_QBL:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7976 /* 20260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBL),
7977 /* 20263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7978 /* 20265 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7979 /* 20267 */ GIR_RootConstrainSelectedInstOperands,
7980 /* 20268 */ // GIR_Coverage, 446,
7981 /* 20268 */ GIR_EraseRootFromParent_Done,
7982 /* 20269 */ // Label 637: @20269
7983 /* 20269 */ GIM_Try, /*On fail goto*//*Label 638*/ GIMT_Encode4(20305), // Rule ID 447 //
7984 /* 20274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
7985 /* 20277 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbr),
7986 /* 20282 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7987 /* 20285 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7988 /* 20288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7989 /* 20292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7990 /* 20296 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8455:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEQU_PH_QBR:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7991 /* 20296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBR),
7992 /* 20299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7993 /* 20301 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7994 /* 20303 */ GIR_RootConstrainSelectedInstOperands,
7995 /* 20304 */ // GIR_Coverage, 447,
7996 /* 20304 */ GIR_EraseRootFromParent_Done,
7997 /* 20305 */ // Label 638: @20305
7998 /* 20305 */ GIM_Try, /*On fail goto*//*Label 639*/ GIMT_Encode4(20341), // Rule ID 448 //
7999 /* 20310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8000 /* 20313 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbla),
8001 /* 20318 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8002 /* 20321 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8003 /* 20324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8004 /* 20328 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8005 /* 20332 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8454:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEQU_PH_QBLA:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
8006 /* 20332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBLA),
8007 /* 20335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8008 /* 20337 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8009 /* 20339 */ GIR_RootConstrainSelectedInstOperands,
8010 /* 20340 */ // GIR_Coverage, 448,
8011 /* 20340 */ GIR_EraseRootFromParent_Done,
8012 /* 20341 */ // Label 639: @20341
8013 /* 20341 */ GIM_Try, /*On fail goto*//*Label 640*/ GIMT_Encode4(20377), // Rule ID 449 //
8014 /* 20346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8015 /* 20349 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbra),
8016 /* 20354 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8017 /* 20357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8018 /* 20360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8019 /* 20364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8020 /* 20368 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8456:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEQU_PH_QBRA:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
8021 /* 20368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBRA),
8022 /* 20371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8023 /* 20373 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8024 /* 20375 */ GIR_RootConstrainSelectedInstOperands,
8025 /* 20376 */ // GIR_Coverage, 449,
8026 /* 20376 */ GIR_EraseRootFromParent_Done,
8027 /* 20377 */ // Label 640: @20377
8028 /* 20377 */ GIM_Try, /*On fail goto*//*Label 641*/ GIMT_Encode4(20413), // Rule ID 450 //
8029 /* 20382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8030 /* 20385 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbl),
8031 /* 20390 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8032 /* 20393 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8033 /* 20396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8034 /* 20400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8035 /* 20404 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8457:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEU_PH_QBL:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
8036 /* 20404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBL),
8037 /* 20407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8038 /* 20409 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8039 /* 20411 */ GIR_RootConstrainSelectedInstOperands,
8040 /* 20412 */ // GIR_Coverage, 450,
8041 /* 20412 */ GIR_EraseRootFromParent_Done,
8042 /* 20413 */ // Label 641: @20413
8043 /* 20413 */ GIM_Try, /*On fail goto*//*Label 642*/ GIMT_Encode4(20449), // Rule ID 451 //
8044 /* 20418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8045 /* 20421 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbr),
8046 /* 20426 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8047 /* 20429 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8048 /* 20432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8049 /* 20436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8050 /* 20440 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8459:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEU_PH_QBR:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
8051 /* 20440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBR),
8052 /* 20443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8053 /* 20445 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8054 /* 20447 */ GIR_RootConstrainSelectedInstOperands,
8055 /* 20448 */ // GIR_Coverage, 451,
8056 /* 20448 */ GIR_EraseRootFromParent_Done,
8057 /* 20449 */ // Label 642: @20449
8058 /* 20449 */ GIM_Try, /*On fail goto*//*Label 643*/ GIMT_Encode4(20485), // Rule ID 452 //
8059 /* 20454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8060 /* 20457 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbla),
8061 /* 20462 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8062 /* 20465 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8063 /* 20468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8064 /* 20472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8065 /* 20476 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8458:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEU_PH_QBLA:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
8066 /* 20476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBLA),
8067 /* 20479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8068 /* 20481 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8069 /* 20483 */ GIR_RootConstrainSelectedInstOperands,
8070 /* 20484 */ // GIR_Coverage, 452,
8071 /* 20484 */ GIR_EraseRootFromParent_Done,
8072 /* 20485 */ // Label 643: @20485
8073 /* 20485 */ GIM_Try, /*On fail goto*//*Label 644*/ GIMT_Encode4(20521), // Rule ID 453 //
8074 /* 20490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8075 /* 20493 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbra),
8076 /* 20498 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8077 /* 20501 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8078 /* 20504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8079 /* 20508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8080 /* 20512 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8460:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEU_PH_QBRA:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
8081 /* 20512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBRA),
8082 /* 20515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8083 /* 20517 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8084 /* 20519 */ GIR_RootConstrainSelectedInstOperands,
8085 /* 20520 */ // GIR_Coverage, 453,
8086 /* 20520 */ GIR_EraseRootFromParent_Done,
8087 /* 20521 */ // Label 644: @20521
8088 /* 20521 */ GIM_Try, /*On fail goto*//*Label 645*/ GIMT_Encode4(20557), // Rule ID 501 //
8089 /* 20526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8090 /* 20529 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_bitrev),
8091 /* 20534 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8092 /* 20537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8093 /* 20540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8094 /* 20544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8095 /* 20548 */ // (intrinsic_wo_chain:{ *:[i32] } 8025:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt) => (BITREV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
8096 /* 20548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BITREV),
8097 /* 20551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8098 /* 20553 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8099 /* 20555 */ GIR_RootConstrainSelectedInstOperands,
8100 /* 20556 */ // GIR_Coverage, 501,
8101 /* 20556 */ GIR_EraseRootFromParent_Done,
8102 /* 20557 */ // Label 645: @20557
8103 /* 20557 */ GIM_Try, /*On fail goto*//*Label 646*/ GIMT_Encode4(20593), // Rule ID 505 //
8104 /* 20562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8105 /* 20565 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_qb),
8106 /* 20570 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8107 /* 20573 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8108 /* 20576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8109 /* 20580 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8110 /* 20584 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8472:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt) => (REPLV_QB:{ *:[v4i8] } GPR32Opnd:{ *:[i32] }:$rt)
8111 /* 20584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPLV_QB),
8112 /* 20587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8113 /* 20589 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8114 /* 20591 */ GIR_RootConstrainSelectedInstOperands,
8115 /* 20592 */ // GIR_Coverage, 505,
8116 /* 20592 */ GIR_EraseRootFromParent_Done,
8117 /* 20593 */ // Label 646: @20593
8118 /* 20593 */ GIM_Try, /*On fail goto*//*Label 647*/ GIMT_Encode4(20629), // Rule ID 506 //
8119 /* 20598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8120 /* 20601 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_ph),
8121 /* 20606 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8122 /* 20609 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8123 /* 20612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8124 /* 20616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8125 /* 20620 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8471:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt) => (REPLV_PH:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rt)
8126 /* 20620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPLV_PH),
8127 /* 20623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8128 /* 20625 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8129 /* 20627 */ GIR_RootConstrainSelectedInstOperands,
8130 /* 20628 */ // GIR_Coverage, 506,
8131 /* 20628 */ GIR_EraseRootFromParent_Done,
8132 /* 20629 */ // Label 647: @20629
8133 /* 20629 */ GIM_Try, /*On fail goto*//*Label 648*/ GIMT_Encode4(20665), // Rule ID 755 //
8134 /* 20634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8135 /* 20637 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fclass_w),
8136 /* 20642 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8137 /* 20645 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8138 /* 20648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8139 /* 20652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8140 /* 20656 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8177:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FCLASS_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
8141 /* 20656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FCLASS_W),
8142 /* 20659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8143 /* 20661 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8144 /* 20663 */ GIR_RootConstrainSelectedInstOperands,
8145 /* 20664 */ // GIR_Coverage, 755,
8146 /* 20664 */ GIR_EraseRootFromParent_Done,
8147 /* 20665 */ // Label 648: @20665
8148 /* 20665 */ GIM_Try, /*On fail goto*//*Label 649*/ GIMT_Encode4(20701), // Rule ID 756 //
8149 /* 20670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8150 /* 20673 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fclass_d),
8151 /* 20678 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8152 /* 20681 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8153 /* 20684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8154 /* 20688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8155 /* 20692 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8176:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FCLASS_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
8156 /* 20692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FCLASS_D),
8157 /* 20695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8158 /* 20697 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8159 /* 20699 */ GIR_RootConstrainSelectedInstOperands,
8160 /* 20700 */ // GIR_Coverage, 756,
8161 /* 20700 */ GIR_EraseRootFromParent_Done,
8162 /* 20701 */ // Label 649: @20701
8163 /* 20701 */ GIM_Try, /*On fail goto*//*Label 650*/ GIMT_Encode4(20737), // Rule ID 779 //
8164 /* 20706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8165 /* 20709 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexupl_w),
8166 /* 20714 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8167 /* 20717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8168 /* 20720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8169 /* 20724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8170 /* 20728 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8203:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8f16] }:$ws) => (FEXUPL_W:{ *:[v4f32] } MSA128HOpnd:{ *:[v8f16] }:$ws)
8171 /* 20728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXUPL_W),
8172 /* 20731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8173 /* 20733 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8174 /* 20735 */ GIR_RootConstrainSelectedInstOperands,
8175 /* 20736 */ // GIR_Coverage, 779,
8176 /* 20736 */ GIR_EraseRootFromParent_Done,
8177 /* 20737 */ // Label 650: @20737
8178 /* 20737 */ GIM_Try, /*On fail goto*//*Label 651*/ GIMT_Encode4(20773), // Rule ID 780 //
8179 /* 20742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8180 /* 20745 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexupl_d),
8181 /* 20750 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8182 /* 20753 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8183 /* 20756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8184 /* 20760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8185 /* 20764 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8202:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FEXUPL_D:{ *:[v2f64] } MSA128WOpnd:{ *:[v4f32] }:$ws)
8186 /* 20764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXUPL_D),
8187 /* 20767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8188 /* 20769 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8189 /* 20771 */ GIR_RootConstrainSelectedInstOperands,
8190 /* 20772 */ // GIR_Coverage, 780,
8191 /* 20772 */ GIR_EraseRootFromParent_Done,
8192 /* 20773 */ // Label 651: @20773
8193 /* 20773 */ GIM_Try, /*On fail goto*//*Label 652*/ GIMT_Encode4(20809), // Rule ID 781 //
8194 /* 20778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8195 /* 20781 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexupr_w),
8196 /* 20786 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8197 /* 20789 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8198 /* 20792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8199 /* 20796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8200 /* 20800 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8205:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8f16] }:$ws) => (FEXUPR_W:{ *:[v4f32] } MSA128HOpnd:{ *:[v8f16] }:$ws)
8201 /* 20800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXUPR_W),
8202 /* 20803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8203 /* 20805 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8204 /* 20807 */ GIR_RootConstrainSelectedInstOperands,
8205 /* 20808 */ // GIR_Coverage, 781,
8206 /* 20808 */ GIR_EraseRootFromParent_Done,
8207 /* 20809 */ // Label 652: @20809
8208 /* 20809 */ GIM_Try, /*On fail goto*//*Label 653*/ GIMT_Encode4(20845), // Rule ID 782 //
8209 /* 20814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8210 /* 20817 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexupr_d),
8211 /* 20822 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8212 /* 20825 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8213 /* 20828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8214 /* 20832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8215 /* 20836 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8204:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FEXUPR_D:{ *:[v2f64] } MSA128WOpnd:{ *:[v4f32] }:$ws)
8216 /* 20836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXUPR_D),
8217 /* 20839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8218 /* 20841 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8219 /* 20843 */ GIR_RootConstrainSelectedInstOperands,
8220 /* 20844 */ // GIR_Coverage, 782,
8221 /* 20844 */ GIR_EraseRootFromParent_Done,
8222 /* 20845 */ // Label 653: @20845
8223 /* 20845 */ GIM_Try, /*On fail goto*//*Label 654*/ GIMT_Encode4(20881), // Rule ID 787 //
8224 /* 20850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8225 /* 20853 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ffql_w),
8226 /* 20858 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8227 /* 20861 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8228 /* 20864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8229 /* 20868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8230 /* 20872 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8211:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws) => (FFQL_W:{ *:[v4f32] } MSA128HOpnd:{ *:[v8i16] }:$ws)
8231 /* 20872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FFQL_W),
8232 /* 20875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8233 /* 20877 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8234 /* 20879 */ GIR_RootConstrainSelectedInstOperands,
8235 /* 20880 */ // GIR_Coverage, 787,
8236 /* 20880 */ GIR_EraseRootFromParent_Done,
8237 /* 20881 */ // Label 654: @20881
8238 /* 20881 */ GIM_Try, /*On fail goto*//*Label 655*/ GIMT_Encode4(20917), // Rule ID 788 //
8239 /* 20886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8240 /* 20889 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ffql_d),
8241 /* 20894 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8242 /* 20897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8243 /* 20900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8244 /* 20904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8245 /* 20908 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8210:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws) => (FFQL_D:{ *:[v2f64] } MSA128WOpnd:{ *:[v4i32] }:$ws)
8246 /* 20908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FFQL_D),
8247 /* 20911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8248 /* 20913 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8249 /* 20915 */ GIR_RootConstrainSelectedInstOperands,
8250 /* 20916 */ // GIR_Coverage, 788,
8251 /* 20916 */ GIR_EraseRootFromParent_Done,
8252 /* 20917 */ // Label 655: @20917
8253 /* 20917 */ GIM_Try, /*On fail goto*//*Label 656*/ GIMT_Encode4(20953), // Rule ID 789 //
8254 /* 20922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8255 /* 20925 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ffqr_w),
8256 /* 20930 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8257 /* 20933 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8258 /* 20936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8259 /* 20940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8260 /* 20944 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8213:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws) => (FFQR_W:{ *:[v4f32] } MSA128HOpnd:{ *:[v8i16] }:$ws)
8261 /* 20944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FFQR_W),
8262 /* 20947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8263 /* 20949 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8264 /* 20951 */ GIR_RootConstrainSelectedInstOperands,
8265 /* 20952 */ // GIR_Coverage, 789,
8266 /* 20952 */ GIR_EraseRootFromParent_Done,
8267 /* 20953 */ // Label 656: @20953
8268 /* 20953 */ GIM_Try, /*On fail goto*//*Label 657*/ GIMT_Encode4(20989), // Rule ID 790 //
8269 /* 20958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8270 /* 20961 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ffqr_d),
8271 /* 20966 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8272 /* 20969 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8273 /* 20972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8274 /* 20976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8275 /* 20980 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8212:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws) => (FFQR_D:{ *:[v2f64] } MSA128WOpnd:{ *:[v4i32] }:$ws)
8276 /* 20980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FFQR_D),
8277 /* 20983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8278 /* 20985 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8279 /* 20987 */ GIR_RootConstrainSelectedInstOperands,
8280 /* 20988 */ // GIR_Coverage, 790,
8281 /* 20988 */ GIR_EraseRootFromParent_Done,
8282 /* 20989 */ // Label 657: @20989
8283 /* 20989 */ GIM_Try, /*On fail goto*//*Label 658*/ GIMT_Encode4(21025), // Rule ID 815 //
8284 /* 20994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8285 /* 20997 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_frcp_w),
8286 /* 21002 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8287 /* 21005 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8288 /* 21008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8289 /* 21012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8290 /* 21016 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8235:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FRCP_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
8291 /* 21016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FRCP_W),
8292 /* 21019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8293 /* 21021 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8294 /* 21023 */ GIR_RootConstrainSelectedInstOperands,
8295 /* 21024 */ // GIR_Coverage, 815,
8296 /* 21024 */ GIR_EraseRootFromParent_Done,
8297 /* 21025 */ // Label 658: @21025
8298 /* 21025 */ GIM_Try, /*On fail goto*//*Label 659*/ GIMT_Encode4(21061), // Rule ID 816 //
8299 /* 21030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8300 /* 21033 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_frcp_d),
8301 /* 21038 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8302 /* 21041 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8303 /* 21044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8304 /* 21048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8305 /* 21052 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8234:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FRCP_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
8306 /* 21052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FRCP_D),
8307 /* 21055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8308 /* 21057 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8309 /* 21059 */ GIR_RootConstrainSelectedInstOperands,
8310 /* 21060 */ // GIR_Coverage, 816,
8311 /* 21060 */ GIR_EraseRootFromParent_Done,
8312 /* 21061 */ // Label 659: @21061
8313 /* 21061 */ GIM_Try, /*On fail goto*//*Label 660*/ GIMT_Encode4(21097), // Rule ID 817 //
8314 /* 21066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8315 /* 21069 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_frsqrt_w),
8316 /* 21074 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8317 /* 21077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8318 /* 21080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8319 /* 21084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8320 /* 21088 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8239:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FRSQRT_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
8321 /* 21088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FRSQRT_W),
8322 /* 21091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8323 /* 21093 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8324 /* 21095 */ GIR_RootConstrainSelectedInstOperands,
8325 /* 21096 */ // GIR_Coverage, 817,
8326 /* 21096 */ GIR_EraseRootFromParent_Done,
8327 /* 21097 */ // Label 660: @21097
8328 /* 21097 */ GIM_Try, /*On fail goto*//*Label 661*/ GIMT_Encode4(21133), // Rule ID 818 //
8329 /* 21102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8330 /* 21105 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_frsqrt_d),
8331 /* 21110 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8332 /* 21113 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8333 /* 21116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8334 /* 21120 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8335 /* 21124 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8238:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FRSQRT_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
8336 /* 21124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FRSQRT_D),
8337 /* 21127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8338 /* 21129 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8339 /* 21131 */ GIR_RootConstrainSelectedInstOperands,
8340 /* 21132 */ // GIR_Coverage, 818,
8341 /* 21132 */ GIR_EraseRootFromParent_Done,
8342 /* 21133 */ // Label 661: @21133
8343 /* 21133 */ GIM_Try, /*On fail goto*//*Label 662*/ GIMT_Encode4(21169), // Rule ID 845 //
8344 /* 21138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8345 /* 21141 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftint_s_w),
8346 /* 21146 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8347 /* 21149 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8348 /* 21152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8349 /* 21156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8350 /* 21160 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8267:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FTINT_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
8351 /* 21160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTINT_S_W),
8352 /* 21163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8353 /* 21165 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8354 /* 21167 */ GIR_RootConstrainSelectedInstOperands,
8355 /* 21168 */ // GIR_Coverage, 845,
8356 /* 21168 */ GIR_EraseRootFromParent_Done,
8357 /* 21169 */ // Label 662: @21169
8358 /* 21169 */ GIM_Try, /*On fail goto*//*Label 663*/ GIMT_Encode4(21205), // Rule ID 846 //
8359 /* 21174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8360 /* 21177 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftint_s_d),
8361 /* 21182 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8362 /* 21185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8363 /* 21188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8364 /* 21192 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8365 /* 21196 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8266:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FTINT_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
8366 /* 21196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTINT_S_D),
8367 /* 21199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8368 /* 21201 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8369 /* 21203 */ GIR_RootConstrainSelectedInstOperands,
8370 /* 21204 */ // GIR_Coverage, 846,
8371 /* 21204 */ GIR_EraseRootFromParent_Done,
8372 /* 21205 */ // Label 663: @21205
8373 /* 21205 */ GIM_Try, /*On fail goto*//*Label 664*/ GIMT_Encode4(21241), // Rule ID 847 //
8374 /* 21210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8375 /* 21213 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftint_u_w),
8376 /* 21218 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8377 /* 21221 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8378 /* 21224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8379 /* 21228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8380 /* 21232 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8269:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FTINT_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
8381 /* 21232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTINT_U_W),
8382 /* 21235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8383 /* 21237 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8384 /* 21239 */ GIR_RootConstrainSelectedInstOperands,
8385 /* 21240 */ // GIR_Coverage, 847,
8386 /* 21240 */ GIR_EraseRootFromParent_Done,
8387 /* 21241 */ // Label 664: @21241
8388 /* 21241 */ GIM_Try, /*On fail goto*//*Label 665*/ GIMT_Encode4(21277), // Rule ID 848 //
8389 /* 21246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8390 /* 21249 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftint_u_d),
8391 /* 21254 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8392 /* 21257 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8393 /* 21260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8394 /* 21264 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8395 /* 21268 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8268:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FTINT_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
8396 /* 21268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTINT_U_D),
8397 /* 21271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8398 /* 21273 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8399 /* 21275 */ GIR_RootConstrainSelectedInstOperands,
8400 /* 21276 */ // GIR_Coverage, 848,
8401 /* 21276 */ GIR_EraseRootFromParent_Done,
8402 /* 21277 */ // Label 665: @21277
8403 /* 21277 */ GIM_Try, /*On fail goto*//*Label 666*/ GIMT_Encode4(21313), // Rule ID 983 //
8404 /* 21282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8405 /* 21285 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_nloc_b),
8406 /* 21290 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8407 /* 21293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8408 /* 21296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8409 /* 21300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8410 /* 21304 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8424:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws) => (NLOC_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws)
8411 /* 21304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NLOC_B),
8412 /* 21307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8413 /* 21309 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8414 /* 21311 */ GIR_RootConstrainSelectedInstOperands,
8415 /* 21312 */ // GIR_Coverage, 983,
8416 /* 21312 */ GIR_EraseRootFromParent_Done,
8417 /* 21313 */ // Label 666: @21313
8418 /* 21313 */ GIM_Try, /*On fail goto*//*Label 667*/ GIMT_Encode4(21349), // Rule ID 984 //
8419 /* 21318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8420 /* 21321 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_nloc_h),
8421 /* 21326 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8422 /* 21329 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8423 /* 21332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8424 /* 21336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8425 /* 21340 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8426:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws) => (NLOC_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws)
8426 /* 21340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NLOC_H),
8427 /* 21343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8428 /* 21345 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8429 /* 21347 */ GIR_RootConstrainSelectedInstOperands,
8430 /* 21348 */ // GIR_Coverage, 984,
8431 /* 21348 */ GIR_EraseRootFromParent_Done,
8432 /* 21349 */ // Label 667: @21349
8433 /* 21349 */ GIM_Try, /*On fail goto*//*Label 668*/ GIMT_Encode4(21385), // Rule ID 985 //
8434 /* 21354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8435 /* 21357 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_nloc_w),
8436 /* 21362 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8437 /* 21365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8438 /* 21368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8439 /* 21372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8440 /* 21376 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8427:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws) => (NLOC_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
8441 /* 21376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NLOC_W),
8442 /* 21379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8443 /* 21381 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8444 /* 21383 */ GIR_RootConstrainSelectedInstOperands,
8445 /* 21384 */ // GIR_Coverage, 985,
8446 /* 21384 */ GIR_EraseRootFromParent_Done,
8447 /* 21385 */ // Label 668: @21385
8448 /* 21385 */ GIM_Try, /*On fail goto*//*Label 669*/ GIMT_Encode4(21421), // Rule ID 986 //
8449 /* 21390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8450 /* 21393 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_nloc_d),
8451 /* 21398 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8452 /* 21401 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8453 /* 21404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8454 /* 21408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8455 /* 21412 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8425:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws) => (NLOC_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
8456 /* 21412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NLOC_D),
8457 /* 21415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8458 /* 21417 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8459 /* 21419 */ GIR_RootConstrainSelectedInstOperands,
8460 /* 21420 */ // GIR_Coverage, 986,
8461 /* 21420 */ GIR_EraseRootFromParent_Done,
8462 /* 21421 */ // Label 669: @21421
8463 /* 21421 */ GIM_Try, /*On fail goto*//*Label 670*/ GIMT_Encode4(21457), // Rule ID 1326 //
8464 /* 21426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8465 /* 21429 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceq_w_phl),
8466 /* 21434 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8467 /* 21437 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8468 /* 21440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8469 /* 21444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8470 /* 21448 */ // (intrinsic_wo_chain:{ *:[i32] } 8451:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs) => (PRECEQ_W_PHL_MM:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs)
8471 /* 21448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQ_W_PHL_MM),
8472 /* 21451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8473 /* 21453 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8474 /* 21455 */ GIR_RootConstrainSelectedInstOperands,
8475 /* 21456 */ // GIR_Coverage, 1326,
8476 /* 21456 */ GIR_EraseRootFromParent_Done,
8477 /* 21457 */ // Label 670: @21457
8478 /* 21457 */ GIM_Try, /*On fail goto*//*Label 671*/ GIMT_Encode4(21493), // Rule ID 1327 //
8479 /* 21462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8480 /* 21465 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceq_w_phr),
8481 /* 21470 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8482 /* 21473 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8483 /* 21476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8484 /* 21480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8485 /* 21484 */ // (intrinsic_wo_chain:{ *:[i32] } 8452:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs) => (PRECEQ_W_PHR_MM:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs)
8486 /* 21484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQ_W_PHR_MM),
8487 /* 21487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8488 /* 21489 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8489 /* 21491 */ GIR_RootConstrainSelectedInstOperands,
8490 /* 21492 */ // GIR_Coverage, 1327,
8491 /* 21492 */ GIR_EraseRootFromParent_Done,
8492 /* 21493 */ // Label 671: @21493
8493 /* 21493 */ GIM_Try, /*On fail goto*//*Label 672*/ GIMT_Encode4(21529), // Rule ID 1328 //
8494 /* 21498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8495 /* 21501 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbl),
8496 /* 21506 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8497 /* 21509 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8498 /* 21512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8499 /* 21516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8500 /* 21520 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8453:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEQU_PH_QBL_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8501 /* 21520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBL_MM),
8502 /* 21523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8503 /* 21525 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8504 /* 21527 */ GIR_RootConstrainSelectedInstOperands,
8505 /* 21528 */ // GIR_Coverage, 1328,
8506 /* 21528 */ GIR_EraseRootFromParent_Done,
8507 /* 21529 */ // Label 672: @21529
8508 /* 21529 */ GIM_Try, /*On fail goto*//*Label 673*/ GIMT_Encode4(21565), // Rule ID 1329 //
8509 /* 21534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8510 /* 21537 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbla),
8511 /* 21542 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8512 /* 21545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8513 /* 21548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8514 /* 21552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8515 /* 21556 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8454:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEQU_PH_QBLA_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8516 /* 21556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBLA_MM),
8517 /* 21559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8518 /* 21561 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8519 /* 21563 */ GIR_RootConstrainSelectedInstOperands,
8520 /* 21564 */ // GIR_Coverage, 1329,
8521 /* 21564 */ GIR_EraseRootFromParent_Done,
8522 /* 21565 */ // Label 673: @21565
8523 /* 21565 */ GIM_Try, /*On fail goto*//*Label 674*/ GIMT_Encode4(21601), // Rule ID 1330 //
8524 /* 21570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8525 /* 21573 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbr),
8526 /* 21578 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8527 /* 21581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8528 /* 21584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8529 /* 21588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8530 /* 21592 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8455:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEQU_PH_QBR_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8531 /* 21592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBR_MM),
8532 /* 21595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8533 /* 21597 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8534 /* 21599 */ GIR_RootConstrainSelectedInstOperands,
8535 /* 21600 */ // GIR_Coverage, 1330,
8536 /* 21600 */ GIR_EraseRootFromParent_Done,
8537 /* 21601 */ // Label 674: @21601
8538 /* 21601 */ GIM_Try, /*On fail goto*//*Label 675*/ GIMT_Encode4(21637), // Rule ID 1331 //
8539 /* 21606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8540 /* 21609 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbra),
8541 /* 21614 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8542 /* 21617 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8543 /* 21620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8544 /* 21624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8545 /* 21628 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8456:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEQU_PH_QBRA_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8546 /* 21628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBRA_MM),
8547 /* 21631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8548 /* 21633 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8549 /* 21635 */ GIR_RootConstrainSelectedInstOperands,
8550 /* 21636 */ // GIR_Coverage, 1331,
8551 /* 21636 */ GIR_EraseRootFromParent_Done,
8552 /* 21637 */ // Label 675: @21637
8553 /* 21637 */ GIM_Try, /*On fail goto*//*Label 676*/ GIMT_Encode4(21673), // Rule ID 1332 //
8554 /* 21642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8555 /* 21645 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbl),
8556 /* 21650 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8557 /* 21653 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8558 /* 21656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8559 /* 21660 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8560 /* 21664 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8457:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEU_PH_QBL_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8561 /* 21664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBL_MM),
8562 /* 21667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8563 /* 21669 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8564 /* 21671 */ GIR_RootConstrainSelectedInstOperands,
8565 /* 21672 */ // GIR_Coverage, 1332,
8566 /* 21672 */ GIR_EraseRootFromParent_Done,
8567 /* 21673 */ // Label 676: @21673
8568 /* 21673 */ GIM_Try, /*On fail goto*//*Label 677*/ GIMT_Encode4(21709), // Rule ID 1333 //
8569 /* 21678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8570 /* 21681 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbla),
8571 /* 21686 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8572 /* 21689 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8573 /* 21692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8574 /* 21696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8575 /* 21700 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8458:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEU_PH_QBLA_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8576 /* 21700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBLA_MM),
8577 /* 21703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8578 /* 21705 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8579 /* 21707 */ GIR_RootConstrainSelectedInstOperands,
8580 /* 21708 */ // GIR_Coverage, 1333,
8581 /* 21708 */ GIR_EraseRootFromParent_Done,
8582 /* 21709 */ // Label 677: @21709
8583 /* 21709 */ GIM_Try, /*On fail goto*//*Label 678*/ GIMT_Encode4(21745), // Rule ID 1334 //
8584 /* 21714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8585 /* 21717 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbr),
8586 /* 21722 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8587 /* 21725 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8588 /* 21728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8589 /* 21732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8590 /* 21736 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8459:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEU_PH_QBR_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8591 /* 21736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBR_MM),
8592 /* 21739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8593 /* 21741 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8594 /* 21743 */ GIR_RootConstrainSelectedInstOperands,
8595 /* 21744 */ // GIR_Coverage, 1334,
8596 /* 21744 */ GIR_EraseRootFromParent_Done,
8597 /* 21745 */ // Label 678: @21745
8598 /* 21745 */ GIM_Try, /*On fail goto*//*Label 679*/ GIMT_Encode4(21781), // Rule ID 1335 //
8599 /* 21750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8600 /* 21753 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbra),
8601 /* 21758 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8602 /* 21761 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8603 /* 21764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8604 /* 21768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8605 /* 21772 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8460:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEU_PH_QBRA_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8606 /* 21772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBRA_MM),
8607 /* 21775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8608 /* 21777 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8609 /* 21779 */ GIR_RootConstrainSelectedInstOperands,
8610 /* 21780 */ // GIR_Coverage, 1335,
8611 /* 21780 */ GIR_EraseRootFromParent_Done,
8612 /* 21781 */ // Label 679: @21781
8613 /* 21781 */ GIM_Try, /*On fail goto*//*Label 680*/ GIMT_Encode4(21817), // Rule ID 1361 //
8614 /* 21786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8615 /* 21789 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_raddu_w_qb),
8616 /* 21794 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8617 /* 21797 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8618 /* 21800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8619 /* 21804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8620 /* 21808 */ // (intrinsic_wo_chain:{ *:[i32] } 8469:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (RADDU_W_QB_MM:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs)
8621 /* 21808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::RADDU_W_QB_MM),
8622 /* 21811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8623 /* 21813 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8624 /* 21815 */ GIR_RootConstrainSelectedInstOperands,
8625 /* 21816 */ // GIR_Coverage, 1361,
8626 /* 21816 */ GIR_EraseRootFromParent_Done,
8627 /* 21817 */ // Label 680: @21817
8628 /* 21817 */ GIM_Try, /*On fail goto*//*Label 681*/ GIMT_Encode4(21853), // Rule ID 1365 //
8629 /* 21822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8630 /* 21825 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_ph),
8631 /* 21830 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8632 /* 21833 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8633 /* 21836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8634 /* 21840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8635 /* 21844 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8471:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs) => (REPLV_PH_MM:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs)
8636 /* 21844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPLV_PH_MM),
8637 /* 21847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8638 /* 21849 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8639 /* 21851 */ GIR_RootConstrainSelectedInstOperands,
8640 /* 21852 */ // GIR_Coverage, 1365,
8641 /* 21852 */ GIR_EraseRootFromParent_Done,
8642 /* 21853 */ // Label 681: @21853
8643 /* 21853 */ GIM_Try, /*On fail goto*//*Label 682*/ GIMT_Encode4(21889), // Rule ID 1366 //
8644 /* 21858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8645 /* 21861 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_qb),
8646 /* 21866 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8647 /* 21869 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8648 /* 21872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8649 /* 21876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8650 /* 21880 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8472:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs) => (REPLV_QB_MM:{ *:[v4i8] } GPR32Opnd:{ *:[i32] }:$rs)
8651 /* 21880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPLV_QB_MM),
8652 /* 21883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8653 /* 21885 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8654 /* 21887 */ GIR_RootConstrainSelectedInstOperands,
8655 /* 21888 */ // GIR_Coverage, 1366,
8656 /* 21888 */ GIR_EraseRootFromParent_Done,
8657 /* 21889 */ // Label 682: @21889
8658 /* 21889 */ GIM_Try, /*On fail goto*//*Label 683*/ GIMT_Encode4(21925), // Rule ID 1376 //
8659 /* 21894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
8660 /* 21897 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_bitrev),
8661 /* 21902 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8662 /* 21905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8663 /* 21908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8664 /* 21912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8665 /* 21916 */ // (intrinsic_wo_chain:{ *:[i32] } 8025:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs) => (BITREV_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
8666 /* 21916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BITREV_MM),
8667 /* 21919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8668 /* 21921 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8669 /* 21923 */ GIR_RootConstrainSelectedInstOperands,
8670 /* 21924 */ // GIR_Coverage, 1376,
8671 /* 21924 */ GIR_EraseRootFromParent_Done,
8672 /* 21925 */ // Label 683: @21925
8673 /* 21925 */ GIM_Reject,
8674 /* 21926 */ // Label 629: @21926
8675 /* 21926 */ GIM_Try, /*On fail goto*//*Label 684*/ GIMT_Encode4(31679),
8676 /* 21931 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
8677 /* 21934 */ GIM_Try, /*On fail goto*//*Label 685*/ GIMT_Encode4(21980), // Rule ID 1013 //
8678 /* 21939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8679 /* 21942 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_s_b),
8680 /* 21947 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8681 /* 21950 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8682 /* 21953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8683 /* 21957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8684 /* 21961 */ // MIs[0] m
8685 /* 21961 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8686 /* 21964 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
8687 /* 21969 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8473:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$m) => (SAT_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$m)
8688 /* 21969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_S_B),
8689 /* 21972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8690 /* 21974 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8691 /* 21976 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8692 /* 21978 */ GIR_RootConstrainSelectedInstOperands,
8693 /* 21979 */ // GIR_Coverage, 1013,
8694 /* 21979 */ GIR_EraseRootFromParent_Done,
8695 /* 21980 */ // Label 685: @21980
8696 /* 21980 */ GIM_Try, /*On fail goto*//*Label 686*/ GIMT_Encode4(22026), // Rule ID 1014 //
8697 /* 21985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8698 /* 21988 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_s_h),
8699 /* 21993 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8700 /* 21996 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8701 /* 21999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8702 /* 22003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8703 /* 22007 */ // MIs[0] m
8704 /* 22007 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8705 /* 22010 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
8706 /* 22015 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8475:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$m) => (SAT_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$m)
8707 /* 22015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_S_H),
8708 /* 22018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8709 /* 22020 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8710 /* 22022 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8711 /* 22024 */ GIR_RootConstrainSelectedInstOperands,
8712 /* 22025 */ // GIR_Coverage, 1014,
8713 /* 22025 */ GIR_EraseRootFromParent_Done,
8714 /* 22026 */ // Label 686: @22026
8715 /* 22026 */ GIM_Try, /*On fail goto*//*Label 687*/ GIMT_Encode4(22072), // Rule ID 1015 //
8716 /* 22031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8717 /* 22034 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_s_w),
8718 /* 22039 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8719 /* 22042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8720 /* 22045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8721 /* 22049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8722 /* 22053 */ // MIs[0] m
8723 /* 22053 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8724 /* 22056 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
8725 /* 22061 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8476:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$m) => (SAT_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$m)
8726 /* 22061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_S_W),
8727 /* 22064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8728 /* 22066 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8729 /* 22068 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8730 /* 22070 */ GIR_RootConstrainSelectedInstOperands,
8731 /* 22071 */ // GIR_Coverage, 1015,
8732 /* 22071 */ GIR_EraseRootFromParent_Done,
8733 /* 22072 */ // Label 687: @22072
8734 /* 22072 */ GIM_Try, /*On fail goto*//*Label 688*/ GIMT_Encode4(22118), // Rule ID 1016 //
8735 /* 22077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8736 /* 22080 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_s_d),
8737 /* 22085 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8738 /* 22088 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8739 /* 22091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8740 /* 22095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8741 /* 22099 */ // MIs[0] m
8742 /* 22099 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8743 /* 22102 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
8744 /* 22107 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8474:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt6>>:$m) => (SAT_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$m)
8745 /* 22107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_S_D),
8746 /* 22110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8747 /* 22112 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8748 /* 22114 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8749 /* 22116 */ GIR_RootConstrainSelectedInstOperands,
8750 /* 22117 */ // GIR_Coverage, 1016,
8751 /* 22117 */ GIR_EraseRootFromParent_Done,
8752 /* 22118 */ // Label 688: @22118
8753 /* 22118 */ GIM_Try, /*On fail goto*//*Label 689*/ GIMT_Encode4(22164), // Rule ID 1017 //
8754 /* 22123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8755 /* 22126 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_u_b),
8756 /* 22131 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8757 /* 22134 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8758 /* 22137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8759 /* 22141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8760 /* 22145 */ // MIs[0] m
8761 /* 22145 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8762 /* 22148 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
8763 /* 22153 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8477:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$m) => (SAT_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$m)
8764 /* 22153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_U_B),
8765 /* 22156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8766 /* 22158 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8767 /* 22160 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8768 /* 22162 */ GIR_RootConstrainSelectedInstOperands,
8769 /* 22163 */ // GIR_Coverage, 1017,
8770 /* 22163 */ GIR_EraseRootFromParent_Done,
8771 /* 22164 */ // Label 689: @22164
8772 /* 22164 */ GIM_Try, /*On fail goto*//*Label 690*/ GIMT_Encode4(22210), // Rule ID 1018 //
8773 /* 22169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8774 /* 22172 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_u_h),
8775 /* 22177 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8776 /* 22180 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8777 /* 22183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8778 /* 22187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8779 /* 22191 */ // MIs[0] m
8780 /* 22191 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8781 /* 22194 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
8782 /* 22199 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8479:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$m) => (SAT_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$m)
8783 /* 22199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_U_H),
8784 /* 22202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8785 /* 22204 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8786 /* 22206 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8787 /* 22208 */ GIR_RootConstrainSelectedInstOperands,
8788 /* 22209 */ // GIR_Coverage, 1018,
8789 /* 22209 */ GIR_EraseRootFromParent_Done,
8790 /* 22210 */ // Label 690: @22210
8791 /* 22210 */ GIM_Try, /*On fail goto*//*Label 691*/ GIMT_Encode4(22256), // Rule ID 1019 //
8792 /* 22215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8793 /* 22218 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_u_w),
8794 /* 22223 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8795 /* 22226 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8796 /* 22229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8797 /* 22233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8798 /* 22237 */ // MIs[0] m
8799 /* 22237 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8800 /* 22240 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
8801 /* 22245 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8480:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$m) => (SAT_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$m)
8802 /* 22245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_U_W),
8803 /* 22248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8804 /* 22250 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8805 /* 22252 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8806 /* 22254 */ GIR_RootConstrainSelectedInstOperands,
8807 /* 22255 */ // GIR_Coverage, 1019,
8808 /* 22255 */ GIR_EraseRootFromParent_Done,
8809 /* 22256 */ // Label 691: @22256
8810 /* 22256 */ GIM_Try, /*On fail goto*//*Label 692*/ GIMT_Encode4(22302), // Rule ID 1020 //
8811 /* 22261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8812 /* 22264 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_u_d),
8813 /* 22269 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8814 /* 22272 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8815 /* 22275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8816 /* 22279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8817 /* 22283 */ // MIs[0] m
8818 /* 22283 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8819 /* 22286 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
8820 /* 22291 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8478:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt6>>:$m) => (SAT_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$m)
8821 /* 22291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_U_D),
8822 /* 22294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8823 /* 22296 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8824 /* 22298 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8825 /* 22300 */ GIR_RootConstrainSelectedInstOperands,
8826 /* 22301 */ // GIR_Coverage, 1020,
8827 /* 22301 */ GIR_EraseRootFromParent_Done,
8828 /* 22302 */ // Label 692: @22302
8829 /* 22302 */ GIM_Try, /*On fail goto*//*Label 693*/ GIMT_Encode4(22348), // Rule ID 1060 //
8830 /* 22307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8831 /* 22310 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srari_b),
8832 /* 22315 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8833 /* 22318 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8834 /* 22321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8835 /* 22325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8836 /* 22329 */ // MIs[0] m
8837 /* 22329 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8838 /* 22332 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
8839 /* 22337 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8532:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$m) => (SRARI_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$m)
8840 /* 22337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRARI_B),
8841 /* 22340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8842 /* 22342 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8843 /* 22344 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8844 /* 22346 */ GIR_RootConstrainSelectedInstOperands,
8845 /* 22347 */ // GIR_Coverage, 1060,
8846 /* 22347 */ GIR_EraseRootFromParent_Done,
8847 /* 22348 */ // Label 693: @22348
8848 /* 22348 */ GIM_Try, /*On fail goto*//*Label 694*/ GIMT_Encode4(22394), // Rule ID 1061 //
8849 /* 22353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8850 /* 22356 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srari_h),
8851 /* 22361 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8852 /* 22364 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8853 /* 22367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8854 /* 22371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8855 /* 22375 */ // MIs[0] m
8856 /* 22375 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8857 /* 22378 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
8858 /* 22383 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8534:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$m) => (SRARI_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$m)
8859 /* 22383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRARI_H),
8860 /* 22386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8861 /* 22388 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8862 /* 22390 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8863 /* 22392 */ GIR_RootConstrainSelectedInstOperands,
8864 /* 22393 */ // GIR_Coverage, 1061,
8865 /* 22393 */ GIR_EraseRootFromParent_Done,
8866 /* 22394 */ // Label 694: @22394
8867 /* 22394 */ GIM_Try, /*On fail goto*//*Label 695*/ GIMT_Encode4(22440), // Rule ID 1062 //
8868 /* 22399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8869 /* 22402 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srari_w),
8870 /* 22407 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8871 /* 22410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8872 /* 22413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8873 /* 22417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8874 /* 22421 */ // MIs[0] m
8875 /* 22421 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8876 /* 22424 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
8877 /* 22429 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8535:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$m) => (SRARI_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$m)
8878 /* 22429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRARI_W),
8879 /* 22432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8880 /* 22434 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8881 /* 22436 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8882 /* 22438 */ GIR_RootConstrainSelectedInstOperands,
8883 /* 22439 */ // GIR_Coverage, 1062,
8884 /* 22439 */ GIR_EraseRootFromParent_Done,
8885 /* 22440 */ // Label 695: @22440
8886 /* 22440 */ GIM_Try, /*On fail goto*//*Label 696*/ GIMT_Encode4(22486), // Rule ID 1063 //
8887 /* 22445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8888 /* 22448 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srari_d),
8889 /* 22453 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8890 /* 22456 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8891 /* 22459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8892 /* 22463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8893 /* 22467 */ // MIs[0] m
8894 /* 22467 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8895 /* 22470 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
8896 /* 22475 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8533:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt6>>:$m) => (SRARI_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$m)
8897 /* 22475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRARI_D),
8898 /* 22478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8899 /* 22480 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8900 /* 22482 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8901 /* 22484 */ GIR_RootConstrainSelectedInstOperands,
8902 /* 22485 */ // GIR_Coverage, 1063,
8903 /* 22485 */ GIR_EraseRootFromParent_Done,
8904 /* 22486 */ // Label 696: @22486
8905 /* 22486 */ GIM_Try, /*On fail goto*//*Label 697*/ GIMT_Encode4(22532), // Rule ID 1076 //
8906 /* 22491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8907 /* 22494 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlri_b),
8908 /* 22499 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8909 /* 22502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8910 /* 22505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8911 /* 22509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8912 /* 22513 */ // MIs[0] m
8913 /* 22513 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8914 /* 22516 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
8915 /* 22521 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8548:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$m) => (SRLRI_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$m)
8916 /* 22521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLRI_B),
8917 /* 22524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8918 /* 22526 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8919 /* 22528 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8920 /* 22530 */ GIR_RootConstrainSelectedInstOperands,
8921 /* 22531 */ // GIR_Coverage, 1076,
8922 /* 22531 */ GIR_EraseRootFromParent_Done,
8923 /* 22532 */ // Label 697: @22532
8924 /* 22532 */ GIM_Try, /*On fail goto*//*Label 698*/ GIMT_Encode4(22578), // Rule ID 1077 //
8925 /* 22537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8926 /* 22540 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlri_h),
8927 /* 22545 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8928 /* 22548 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8929 /* 22551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8930 /* 22555 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8931 /* 22559 */ // MIs[0] m
8932 /* 22559 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8933 /* 22562 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
8934 /* 22567 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8550:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$m) => (SRLRI_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$m)
8935 /* 22567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLRI_H),
8936 /* 22570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8937 /* 22572 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8938 /* 22574 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8939 /* 22576 */ GIR_RootConstrainSelectedInstOperands,
8940 /* 22577 */ // GIR_Coverage, 1077,
8941 /* 22577 */ GIR_EraseRootFromParent_Done,
8942 /* 22578 */ // Label 698: @22578
8943 /* 22578 */ GIM_Try, /*On fail goto*//*Label 699*/ GIMT_Encode4(22624), // Rule ID 1078 //
8944 /* 22583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8945 /* 22586 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlri_w),
8946 /* 22591 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8947 /* 22594 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8948 /* 22597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8949 /* 22601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8950 /* 22605 */ // MIs[0] m
8951 /* 22605 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8952 /* 22608 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
8953 /* 22613 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8551:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$m) => (SRLRI_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$m)
8954 /* 22613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLRI_W),
8955 /* 22616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8956 /* 22618 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8957 /* 22620 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8958 /* 22622 */ GIR_RootConstrainSelectedInstOperands,
8959 /* 22623 */ // GIR_Coverage, 1078,
8960 /* 22623 */ GIR_EraseRootFromParent_Done,
8961 /* 22624 */ // Label 699: @22624
8962 /* 22624 */ GIM_Try, /*On fail goto*//*Label 700*/ GIMT_Encode4(22670), // Rule ID 1079 //
8963 /* 22629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
8964 /* 22632 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlri_d),
8965 /* 22637 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8966 /* 22640 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8967 /* 22643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8968 /* 22647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8969 /* 22651 */ // MIs[0] m
8970 /* 22651 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8971 /* 22654 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
8972 /* 22659 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8549:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt6>>:$m) => (SRLRI_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$m)
8973 /* 22659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLRI_D),
8974 /* 22662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8975 /* 22664 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8976 /* 22666 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8977 /* 22668 */ GIR_RootConstrainSelectedInstOperands,
8978 /* 22669 */ // GIR_Coverage, 1079,
8979 /* 22669 */ GIR_EraseRootFromParent_Done,
8980 /* 22670 */ // Label 700: @22670
8981 /* 22670 */ GIM_Try, /*On fail goto*//*Label 701*/ GIMT_Encode4(22726), // Rule ID 460 //
8982 /* 22675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
8983 /* 22678 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
8984 /* 22683 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8985 /* 22686 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8986 /* 22689 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8987 /* 22692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8988 /* 22696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8989 /* 22700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8990 /* 22704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8991 /* 22708 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
8992 /* 22712 */ // MIs[1] Operand 1
8993 /* 22712 */ // No operand predicates
8994 /* 22712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8995 /* 22714 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8491:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$rs_sa) => (SHRA_R_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, (imm:{ *:[i32] }):$rs_sa)
8996 /* 22714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_PH),
8997 /* 22717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8998 /* 22719 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8999 /* 22721 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
9000 /* 22724 */ GIR_RootConstrainSelectedInstOperands,
9001 /* 22725 */ // GIR_Coverage, 460,
9002 /* 22725 */ GIR_EraseRootFromParent_Done,
9003 /* 22726 */ // Label 701: @22726
9004 /* 22726 */ GIM_Try, /*On fail goto*//*Label 702*/ GIMT_Encode4(22782), // Rule ID 464 //
9005 /* 22731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9006 /* 22734 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
9007 /* 22739 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9008 /* 22742 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9009 /* 22745 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9010 /* 22748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9011 /* 22752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9012 /* 22756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9013 /* 22760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9014 /* 22764 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
9015 /* 22768 */ // MIs[1] Operand 1
9016 /* 22768 */ // No operand predicates
9017 /* 22768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9018 /* 22770 */ // (intrinsic_wo_chain:{ *:[i32] } 8493:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$rs_sa) => (SHRA_R_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$rs_sa)
9019 /* 22770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_W),
9020 /* 22773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9021 /* 22775 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9022 /* 22777 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
9023 /* 22780 */ GIR_RootConstrainSelectedInstOperands,
9024 /* 22781 */ // GIR_Coverage, 464,
9025 /* 22781 */ GIR_EraseRootFromParent_Done,
9026 /* 22782 */ // Label 702: @22782
9027 /* 22782 */ GIM_Try, /*On fail goto*//*Label 703*/ GIMT_Encode4(22838), // Rule ID 555 //
9028 /* 22787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9029 /* 22790 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
9030 /* 22795 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9031 /* 22798 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9032 /* 22801 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9033 /* 22804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9034 /* 22808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9035 /* 22812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9036 /* 22816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9037 /* 22820 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
9038 /* 22824 */ // MIs[1] Operand 1
9039 /* 22824 */ // No operand predicates
9040 /* 22824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9041 /* 22826 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8492:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$rs_sa) => (SHRA_R_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, (imm:{ *:[i32] }):$rs_sa)
9042 /* 22826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_QB),
9043 /* 22829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9044 /* 22831 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9045 /* 22833 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
9046 /* 22836 */ GIR_RootConstrainSelectedInstOperands,
9047 /* 22837 */ // GIR_Coverage, 555,
9048 /* 22837 */ GIR_EraseRootFromParent_Done,
9049 /* 22838 */ // Label 703: @22838
9050 /* 22838 */ GIM_Try, /*On fail goto*//*Label 704*/ GIMT_Encode4(22894), // Rule ID 1320 //
9051 /* 22843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
9052 /* 22846 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
9053 /* 22851 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9054 /* 22854 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9055 /* 22857 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9056 /* 22860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9057 /* 22864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9058 /* 22868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9059 /* 22872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9060 /* 22876 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
9061 /* 22880 */ // MIs[1] Operand 1
9062 /* 22880 */ // No operand predicates
9063 /* 22880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9064 /* 22882 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8491:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$sa) => (SHRA_R_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, (imm:{ *:[i32] }):$sa)
9065 /* 22882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_PH_MM),
9066 /* 22885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
9067 /* 22887 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9068 /* 22889 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
9069 /* 22892 */ GIR_RootConstrainSelectedInstOperands,
9070 /* 22893 */ // GIR_Coverage, 1320,
9071 /* 22893 */ GIR_EraseRootFromParent_Done,
9072 /* 22894 */ // Label 704: @22894
9073 /* 22894 */ GIM_Try, /*On fail goto*//*Label 705*/ GIMT_Encode4(22950), // Rule ID 1324 //
9074 /* 22899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
9075 /* 22902 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
9076 /* 22907 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9077 /* 22910 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9078 /* 22913 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9079 /* 22916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9080 /* 22920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9081 /* 22924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9082 /* 22928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9083 /* 22932 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
9084 /* 22936 */ // MIs[1] Operand 1
9085 /* 22936 */ // No operand predicates
9086 /* 22936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9087 /* 22938 */ // (intrinsic_wo_chain:{ *:[i32] } 8493:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$sa) => (SHRA_R_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$sa)
9088 /* 22938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_W_MM),
9089 /* 22941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
9090 /* 22943 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9091 /* 22945 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
9092 /* 22948 */ GIR_RootConstrainSelectedInstOperands,
9093 /* 22949 */ // GIR_Coverage, 1324,
9094 /* 22949 */ GIR_EraseRootFromParent_Done,
9095 /* 22950 */ // Label 705: @22950
9096 /* 22950 */ GIM_Try, /*On fail goto*//*Label 706*/ GIMT_Encode4(23006), // Rule ID 1399 //
9097 /* 22955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
9098 /* 22958 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
9099 /* 22963 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9100 /* 22966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9101 /* 22969 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9102 /* 22972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9103 /* 22976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9104 /* 22980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9105 /* 22984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9106 /* 22988 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
9107 /* 22992 */ // MIs[1] Operand 1
9108 /* 22992 */ // No operand predicates
9109 /* 22992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9110 /* 22994 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8492:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$sa) => (SHRA_R_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, (imm:{ *:[i32] }):$sa)
9111 /* 22994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_QB_MMR2),
9112 /* 22997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
9113 /* 22999 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9114 /* 23001 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
9115 /* 23004 */ GIR_RootConstrainSelectedInstOperands,
9116 /* 23005 */ // GIR_Coverage, 1399,
9117 /* 23005 */ GIR_EraseRootFromParent_Done,
9118 /* 23006 */ // Label 706: @23006
9119 /* 23006 */ GIM_Try, /*On fail goto*//*Label 707*/ GIMT_Encode4(23058), // Rule ID 2070 //
9120 /* 23011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9121 /* 23014 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_ph),
9122 /* 23019 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9123 /* 23022 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9124 /* 23025 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9125 /* 23028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9126 /* 23032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9127 /* 23036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9128 /* 23040 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
9129 /* 23044 */ // MIs[1] Operand 1
9130 /* 23044 */ // No operand predicates
9131 /* 23044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9132 /* 23046 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8489:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt) => (SHRA_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt)
9133 /* 23046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_PH),
9134 /* 23049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9135 /* 23051 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
9136 /* 23053 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
9137 /* 23056 */ GIR_RootConstrainSelectedInstOperands,
9138 /* 23057 */ // GIR_Coverage, 2070,
9139 /* 23057 */ GIR_EraseRootFromParent_Done,
9140 /* 23058 */ // Label 707: @23058
9141 /* 23058 */ GIM_Try, /*On fail goto*//*Label 708*/ GIMT_Encode4(23110), // Rule ID 2071 //
9142 /* 23063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9143 /* 23066 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
9144 /* 23071 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9145 /* 23074 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9146 /* 23077 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9147 /* 23080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9148 /* 23084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9149 /* 23088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9150 /* 23092 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
9151 /* 23096 */ // MIs[1] Operand 1
9152 /* 23096 */ // No operand predicates
9153 /* 23096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9154 /* 23098 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8494:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt) => (SHRL_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt)
9155 /* 23098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRL_PH),
9156 /* 23101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9157 /* 23103 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
9158 /* 23105 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
9159 /* 23108 */ GIR_RootConstrainSelectedInstOperands,
9160 /* 23109 */ // GIR_Coverage, 2071,
9161 /* 23109 */ GIR_EraseRootFromParent_Done,
9162 /* 23110 */ // Label 708: @23110
9163 /* 23110 */ GIM_Try, /*On fail goto*//*Label 709*/ GIMT_Encode4(23162), // Rule ID 2076 //
9164 /* 23115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9165 /* 23118 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_qb),
9166 /* 23123 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9167 /* 23126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9168 /* 23129 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9169 /* 23132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9170 /* 23136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9171 /* 23140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9172 /* 23144 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
9173 /* 23148 */ // MIs[1] Operand 1
9174 /* 23148 */ // No operand predicates
9175 /* 23148 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9176 /* 23150 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8490:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt) => (SHRA_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt)
9177 /* 23150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_QB),
9178 /* 23153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9179 /* 23155 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
9180 /* 23157 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
9181 /* 23160 */ GIR_RootConstrainSelectedInstOperands,
9182 /* 23161 */ // GIR_Coverage, 2076,
9183 /* 23161 */ GIR_EraseRootFromParent_Done,
9184 /* 23162 */ // Label 709: @23162
9185 /* 23162 */ GIM_Try, /*On fail goto*//*Label 710*/ GIMT_Encode4(23214), // Rule ID 2077 //
9186 /* 23167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9187 /* 23170 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
9188 /* 23175 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9189 /* 23178 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9190 /* 23181 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9191 /* 23184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9192 /* 23188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
9193 /* 23192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9194 /* 23196 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
9195 /* 23200 */ // MIs[1] Operand 1
9196 /* 23200 */ // No operand predicates
9197 /* 23200 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9198 /* 23202 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8495:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt) => (SHRL_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt)
9199 /* 23202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRL_QB),
9200 /* 23205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9201 /* 23207 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
9202 /* 23209 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
9203 /* 23212 */ GIR_RootConstrainSelectedInstOperands,
9204 /* 23213 */ // GIR_Coverage, 2077,
9205 /* 23213 */ GIR_EraseRootFromParent_Done,
9206 /* 23214 */ // Label 710: @23214
9207 /* 23214 */ GIM_Try, /*On fail goto*//*Label 711*/ GIMT_Encode4(23262), // Rule ID 430 //
9208 /* 23219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9209 /* 23222 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_s_qb),
9210 /* 23227 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9211 /* 23230 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9212 /* 23233 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
9213 /* 23236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9214 /* 23240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9215 /* 23244 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9216 /* 23248 */ // (intrinsic_wo_chain:{ *:[v4i8] } 7961:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDU_S_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
9217 /* 23248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_S_QB),
9218 /* 23251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9219 /* 23253 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9220 /* 23255 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9221 /* 23257 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
9222 /* 23260 */ GIR_RootConstrainSelectedInstOperands,
9223 /* 23261 */ // GIR_Coverage, 430,
9224 /* 23261 */ GIR_EraseRootFromParent_Done,
9225 /* 23262 */ // Label 711: @23262
9226 /* 23262 */ GIM_Try, /*On fail goto*//*Label 712*/ GIMT_Encode4(23310), // Rule ID 431 //
9227 /* 23267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9228 /* 23270 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_s_qb),
9229 /* 23275 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9230 /* 23278 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9231 /* 23281 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
9232 /* 23284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9233 /* 23288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9234 /* 23292 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9235 /* 23296 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8584:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBU_S_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
9236 /* 23296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_S_QB),
9237 /* 23299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9238 /* 23301 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9239 /* 23303 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9240 /* 23305 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
9241 /* 23308 */ GIR_RootConstrainSelectedInstOperands,
9242 /* 23309 */ // GIR_Coverage, 431,
9243 /* 23309 */ GIR_EraseRootFromParent_Done,
9244 /* 23310 */ // Label 712: @23310
9245 /* 23310 */ GIM_Try, /*On fail goto*//*Label 713*/ GIMT_Encode4(23358), // Rule ID 432 //
9246 /* 23315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9247 /* 23318 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_s_ph),
9248 /* 23323 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9249 /* 23326 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9250 /* 23329 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9251 /* 23332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9252 /* 23336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9253 /* 23340 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9254 /* 23344 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7939:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQ_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9255 /* 23344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_S_PH),
9256 /* 23347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9257 /* 23349 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9258 /* 23351 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9259 /* 23353 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
9260 /* 23356 */ GIR_RootConstrainSelectedInstOperands,
9261 /* 23357 */ // GIR_Coverage, 432,
9262 /* 23357 */ GIR_EraseRootFromParent_Done,
9263 /* 23358 */ // Label 713: @23358
9264 /* 23358 */ GIM_Try, /*On fail goto*//*Label 714*/ GIMT_Encode4(23406), // Rule ID 433 //
9265 /* 23363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9266 /* 23366 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_s_ph),
9267 /* 23371 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9268 /* 23374 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9269 /* 23377 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9270 /* 23380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9271 /* 23384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9272 /* 23388 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9273 /* 23392 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8559:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQ_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9274 /* 23392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_S_PH),
9275 /* 23395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9276 /* 23397 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9277 /* 23399 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9278 /* 23401 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
9279 /* 23404 */ GIR_RootConstrainSelectedInstOperands,
9280 /* 23405 */ // GIR_Coverage, 433,
9281 /* 23405 */ GIR_EraseRootFromParent_Done,
9282 /* 23406 */ // Label 714: @23406
9283 /* 23406 */ GIM_Try, /*On fail goto*//*Label 715*/ GIMT_Encode4(23451), // Rule ID 436 //
9284 /* 23411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9285 /* 23414 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_modsub),
9286 /* 23419 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9287 /* 23422 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9288 /* 23425 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9289 /* 23428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9290 /* 23432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9291 /* 23436 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9292 /* 23440 */ // (intrinsic_wo_chain:{ *:[i32] } 8389:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MODSUB:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9293 /* 23440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MODSUB),
9294 /* 23443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9295 /* 23445 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9296 /* 23447 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9297 /* 23449 */ GIR_RootConstrainSelectedInstOperands,
9298 /* 23450 */ // GIR_Coverage, 436,
9299 /* 23450 */ GIR_EraseRootFromParent_Done,
9300 /* 23451 */ // Label 715: @23451
9301 /* 23451 */ GIM_Try, /*On fail goto*//*Label 716*/ GIMT_Encode4(23496), // Rule ID 440 //
9302 /* 23456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9303 /* 23459 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_qb_ph),
9304 /* 23464 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9305 /* 23467 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9306 /* 23470 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9307 /* 23473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9308 /* 23477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9309 /* 23481 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9310 /* 23485 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8465:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECRQ_QB_PH:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9311 /* 23485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_QB_PH),
9312 /* 23488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9313 /* 23490 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9314 /* 23492 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9315 /* 23494 */ GIR_RootConstrainSelectedInstOperands,
9316 /* 23495 */ // GIR_Coverage, 440,
9317 /* 23495 */ GIR_EraseRootFromParent_Done,
9318 /* 23496 */ // Label 716: @23496
9319 /* 23496 */ GIM_Try, /*On fail goto*//*Label 717*/ GIMT_Encode4(23541), // Rule ID 441 //
9320 /* 23501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9321 /* 23504 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_ph_w),
9322 /* 23509 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9323 /* 23512 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9324 /* 23515 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9325 /* 23518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9326 /* 23522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9327 /* 23526 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9328 /* 23530 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8464:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (PRECRQ_PH_W:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9329 /* 23530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_PH_W),
9330 /* 23533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9331 /* 23535 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9332 /* 23537 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9333 /* 23539 */ GIR_RootConstrainSelectedInstOperands,
9334 /* 23540 */ // GIR_Coverage, 441,
9335 /* 23540 */ GIR_EraseRootFromParent_Done,
9336 /* 23541 */ // Label 717: @23541
9337 /* 23541 */ GIM_Try, /*On fail goto*//*Label 718*/ GIMT_Encode4(23586), // Rule ID 455 //
9338 /* 23546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9339 /* 23549 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
9340 /* 23554 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9341 /* 23557 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9342 /* 23560 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9343 /* 23563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9344 /* 23567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9345 /* 23571 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9346 /* 23575 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8495:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRLV_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9347 /* 23575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRLV_QB),
9348 /* 23578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9349 /* 23580 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9350 /* 23582 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9351 /* 23584 */ GIR_RootConstrainSelectedInstOperands,
9352 /* 23585 */ // GIR_Coverage, 455,
9353 /* 23585 */ GIR_EraseRootFromParent_Done,
9354 /* 23586 */ // Label 718: @23586
9355 /* 23586 */ GIM_Try, /*On fail goto*//*Label 719*/ GIMT_Encode4(23631), // Rule ID 459 //
9356 /* 23591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9357 /* 23594 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_ph),
9358 /* 23599 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9359 /* 23602 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9360 /* 23605 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9361 /* 23608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9362 /* 23612 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9363 /* 23616 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9364 /* 23620 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8489:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9365 /* 23620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_PH),
9366 /* 23623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9367 /* 23625 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9368 /* 23627 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9369 /* 23629 */ GIR_RootConstrainSelectedInstOperands,
9370 /* 23630 */ // GIR_Coverage, 459,
9371 /* 23630 */ GIR_EraseRootFromParent_Done,
9372 /* 23631 */ // Label 719: @23631
9373 /* 23631 */ GIM_Try, /*On fail goto*//*Label 720*/ GIMT_Encode4(23676), // Rule ID 461 //
9374 /* 23636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9375 /* 23639 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
9376 /* 23644 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9377 /* 23647 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9378 /* 23650 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9379 /* 23653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9380 /* 23657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9381 /* 23661 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9382 /* 23665 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8491:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_R_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9383 /* 23665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_PH),
9384 /* 23668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9385 /* 23670 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9386 /* 23672 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9387 /* 23674 */ GIR_RootConstrainSelectedInstOperands,
9388 /* 23675 */ // GIR_Coverage, 461,
9389 /* 23675 */ GIR_EraseRootFromParent_Done,
9390 /* 23676 */ // Label 720: @23676
9391 /* 23676 */ GIM_Try, /*On fail goto*//*Label 721*/ GIMT_Encode4(23721), // Rule ID 465 //
9392 /* 23681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9393 /* 23684 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
9394 /* 23689 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9395 /* 23692 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9396 /* 23695 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9397 /* 23698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9398 /* 23702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9399 /* 23706 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9400 /* 23710 */ // (intrinsic_wo_chain:{ *:[i32] } 8493:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_R_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9401 /* 23710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_W),
9402 /* 23713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9403 /* 23715 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9404 /* 23717 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9405 /* 23719 */ GIR_RootConstrainSelectedInstOperands,
9406 /* 23720 */ // GIR_Coverage, 465,
9407 /* 23720 */ GIR_EraseRootFromParent_Done,
9408 /* 23721 */ // Label 721: @23721
9409 /* 23721 */ GIM_Try, /*On fail goto*//*Label 722*/ GIMT_Encode4(23766), // Rule ID 502 //
9410 /* 23726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
9411 /* 23729 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_packrl_ph),
9412 /* 23734 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9413 /* 23737 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9414 /* 23740 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9415 /* 23743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9416 /* 23747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9417 /* 23751 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9418 /* 23755 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8436:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PACKRL_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9419 /* 23755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PACKRL_PH),
9420 /* 23758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9421 /* 23760 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9422 /* 23762 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9423 /* 23764 */ GIR_RootConstrainSelectedInstOperands,
9424 /* 23765 */ // GIR_Coverage, 502,
9425 /* 23765 */ GIR_EraseRootFromParent_Done,
9426 /* 23766 */ // Label 722: @23766
9427 /* 23766 */ GIM_Try, /*On fail goto*//*Label 723*/ GIMT_Encode4(23811), // Rule ID 526 //
9428 /* 23771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9429 /* 23774 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adduh_qb),
9430 /* 23779 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9431 /* 23782 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9432 /* 23785 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
9433 /* 23788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9434 /* 23792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9435 /* 23796 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9436 /* 23800 */ // (intrinsic_wo_chain:{ *:[v4i8] } 7962:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDUH_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
9437 /* 23800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDUH_QB),
9438 /* 23803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9439 /* 23805 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9440 /* 23807 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9441 /* 23809 */ GIR_RootConstrainSelectedInstOperands,
9442 /* 23810 */ // GIR_Coverage, 526,
9443 /* 23810 */ GIR_EraseRootFromParent_Done,
9444 /* 23811 */ // Label 723: @23811
9445 /* 23811 */ GIM_Try, /*On fail goto*//*Label 724*/ GIMT_Encode4(23856), // Rule ID 527 //
9446 /* 23816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9447 /* 23819 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adduh_r_qb),
9448 /* 23824 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9449 /* 23827 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9450 /* 23830 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
9451 /* 23833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9452 /* 23837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9453 /* 23841 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9454 /* 23845 */ // (intrinsic_wo_chain:{ *:[v4i8] } 7963:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDUH_R_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
9455 /* 23845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDUH_R_QB),
9456 /* 23848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9457 /* 23850 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9458 /* 23852 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9459 /* 23854 */ GIR_RootConstrainSelectedInstOperands,
9460 /* 23855 */ // GIR_Coverage, 527,
9461 /* 23855 */ GIR_EraseRootFromParent_Done,
9462 /* 23856 */ // Label 724: @23856
9463 /* 23856 */ GIM_Try, /*On fail goto*//*Label 725*/ GIMT_Encode4(23901), // Rule ID 528 //
9464 /* 23861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9465 /* 23864 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subuh_qb),
9466 /* 23869 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9467 /* 23872 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9468 /* 23875 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
9469 /* 23878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9470 /* 23882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9471 /* 23886 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9472 /* 23890 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8585:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBUH_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
9473 /* 23890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBUH_QB),
9474 /* 23893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9475 /* 23895 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9476 /* 23897 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9477 /* 23899 */ GIR_RootConstrainSelectedInstOperands,
9478 /* 23900 */ // GIR_Coverage, 528,
9479 /* 23900 */ GIR_EraseRootFromParent_Done,
9480 /* 23901 */ // Label 725: @23901
9481 /* 23901 */ GIM_Try, /*On fail goto*//*Label 726*/ GIMT_Encode4(23946), // Rule ID 529 //
9482 /* 23906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9483 /* 23909 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subuh_r_qb),
9484 /* 23914 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9485 /* 23917 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9486 /* 23920 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
9487 /* 23923 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9488 /* 23927 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9489 /* 23931 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9490 /* 23935 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8586:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBUH_R_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
9491 /* 23935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBUH_R_QB),
9492 /* 23938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9493 /* 23940 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9494 /* 23942 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9495 /* 23944 */ GIR_RootConstrainSelectedInstOperands,
9496 /* 23945 */ // GIR_Coverage, 529,
9497 /* 23945 */ GIR_EraseRootFromParent_Done,
9498 /* 23946 */ // Label 726: @23946
9499 /* 23946 */ GIM_Try, /*On fail goto*//*Label 727*/ GIMT_Encode4(23991), // Rule ID 530 //
9500 /* 23951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9501 /* 23954 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_ph),
9502 /* 23959 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9503 /* 23962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9504 /* 23965 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9505 /* 23968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9506 /* 23972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9507 /* 23976 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9508 /* 23980 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7941:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQH_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9509 /* 23980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_PH),
9510 /* 23983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9511 /* 23985 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9512 /* 23987 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9513 /* 23989 */ GIR_RootConstrainSelectedInstOperands,
9514 /* 23990 */ // GIR_Coverage, 530,
9515 /* 23990 */ GIR_EraseRootFromParent_Done,
9516 /* 23991 */ // Label 727: @23991
9517 /* 23991 */ GIM_Try, /*On fail goto*//*Label 728*/ GIMT_Encode4(24036), // Rule ID 531 //
9518 /* 23996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9519 /* 23999 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_r_ph),
9520 /* 24004 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9521 /* 24007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9522 /* 24010 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9523 /* 24013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9524 /* 24017 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9525 /* 24021 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9526 /* 24025 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7942:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQH_R_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9527 /* 24025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_R_PH),
9528 /* 24028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9529 /* 24030 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9530 /* 24032 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9531 /* 24034 */ GIR_RootConstrainSelectedInstOperands,
9532 /* 24035 */ // GIR_Coverage, 531,
9533 /* 24035 */ GIR_EraseRootFromParent_Done,
9534 /* 24036 */ // Label 728: @24036
9535 /* 24036 */ GIM_Try, /*On fail goto*//*Label 729*/ GIMT_Encode4(24081), // Rule ID 532 //
9536 /* 24041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9537 /* 24044 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_ph),
9538 /* 24049 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9539 /* 24052 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9540 /* 24055 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9541 /* 24058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9542 /* 24062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9543 /* 24066 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9544 /* 24070 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8561:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQH_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9545 /* 24070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_PH),
9546 /* 24073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9547 /* 24075 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9548 /* 24077 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9549 /* 24079 */ GIR_RootConstrainSelectedInstOperands,
9550 /* 24080 */ // GIR_Coverage, 532,
9551 /* 24080 */ GIR_EraseRootFromParent_Done,
9552 /* 24081 */ // Label 729: @24081
9553 /* 24081 */ GIM_Try, /*On fail goto*//*Label 730*/ GIMT_Encode4(24126), // Rule ID 533 //
9554 /* 24086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9555 /* 24089 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_r_ph),
9556 /* 24094 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9557 /* 24097 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9558 /* 24100 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9559 /* 24103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9560 /* 24107 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9561 /* 24111 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9562 /* 24115 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8562:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQH_R_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9563 /* 24115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_R_PH),
9564 /* 24118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9565 /* 24120 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9566 /* 24122 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9567 /* 24124 */ GIR_RootConstrainSelectedInstOperands,
9568 /* 24125 */ // GIR_Coverage, 533,
9569 /* 24125 */ GIR_EraseRootFromParent_Done,
9570 /* 24126 */ // Label 730: @24126
9571 /* 24126 */ GIM_Try, /*On fail goto*//*Label 731*/ GIMT_Encode4(24171), // Rule ID 534 //
9572 /* 24131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9573 /* 24134 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_w),
9574 /* 24139 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9575 /* 24142 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9576 /* 24145 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9577 /* 24148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9578 /* 24152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9579 /* 24156 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9580 /* 24160 */ // (intrinsic_wo_chain:{ *:[i32] } 7944:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQH_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9581 /* 24160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_W),
9582 /* 24163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9583 /* 24165 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9584 /* 24167 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9585 /* 24169 */ GIR_RootConstrainSelectedInstOperands,
9586 /* 24170 */ // GIR_Coverage, 534,
9587 /* 24170 */ GIR_EraseRootFromParent_Done,
9588 /* 24171 */ // Label 731: @24171
9589 /* 24171 */ GIM_Try, /*On fail goto*//*Label 732*/ GIMT_Encode4(24216), // Rule ID 535 //
9590 /* 24176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9591 /* 24179 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_r_w),
9592 /* 24184 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9593 /* 24187 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9594 /* 24190 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9595 /* 24193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9596 /* 24197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9597 /* 24201 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9598 /* 24205 */ // (intrinsic_wo_chain:{ *:[i32] } 7943:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQH_R_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9599 /* 24205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_R_W),
9600 /* 24208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9601 /* 24210 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9602 /* 24212 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9603 /* 24214 */ GIR_RootConstrainSelectedInstOperands,
9604 /* 24215 */ // GIR_Coverage, 535,
9605 /* 24215 */ GIR_EraseRootFromParent_Done,
9606 /* 24216 */ // Label 732: @24216
9607 /* 24216 */ GIM_Try, /*On fail goto*//*Label 733*/ GIMT_Encode4(24261), // Rule ID 536 //
9608 /* 24221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9609 /* 24224 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_w),
9610 /* 24229 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9611 /* 24232 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9612 /* 24235 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9613 /* 24238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9614 /* 24242 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9615 /* 24246 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9616 /* 24250 */ // (intrinsic_wo_chain:{ *:[i32] } 8564:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQH_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9617 /* 24250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_W),
9618 /* 24253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9619 /* 24255 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9620 /* 24257 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9621 /* 24259 */ GIR_RootConstrainSelectedInstOperands,
9622 /* 24260 */ // GIR_Coverage, 536,
9623 /* 24260 */ GIR_EraseRootFromParent_Done,
9624 /* 24261 */ // Label 733: @24261
9625 /* 24261 */ GIM_Try, /*On fail goto*//*Label 734*/ GIMT_Encode4(24306), // Rule ID 537 //
9626 /* 24266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9627 /* 24269 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_r_w),
9628 /* 24274 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9629 /* 24277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9630 /* 24280 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9631 /* 24283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9632 /* 24287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9633 /* 24291 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9634 /* 24295 */ // (intrinsic_wo_chain:{ *:[i32] } 8563:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQH_R_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9635 /* 24295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_R_W),
9636 /* 24298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9637 /* 24300 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9638 /* 24302 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9639 /* 24304 */ GIR_RootConstrainSelectedInstOperands,
9640 /* 24305 */ // GIR_Coverage, 537,
9641 /* 24305 */ GIR_EraseRootFromParent_Done,
9642 /* 24306 */ // Label 734: @24306
9643 /* 24306 */ GIM_Try, /*On fail goto*//*Label 735*/ GIMT_Encode4(24351), // Rule ID 554 //
9644 /* 24311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9645 /* 24314 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_qb),
9646 /* 24319 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9647 /* 24322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9648 /* 24325 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9649 /* 24328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9650 /* 24332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9651 /* 24336 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9652 /* 24340 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8490:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9653 /* 24340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_QB),
9654 /* 24343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9655 /* 24345 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9656 /* 24347 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9657 /* 24349 */ GIR_RootConstrainSelectedInstOperands,
9658 /* 24350 */ // GIR_Coverage, 554,
9659 /* 24350 */ GIR_EraseRootFromParent_Done,
9660 /* 24351 */ // Label 735: @24351
9661 /* 24351 */ GIM_Try, /*On fail goto*//*Label 736*/ GIMT_Encode4(24396), // Rule ID 556 //
9662 /* 24356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9663 /* 24359 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
9664 /* 24364 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9665 /* 24367 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9666 /* 24370 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9667 /* 24373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9668 /* 24377 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9669 /* 24381 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9670 /* 24385 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8492:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_R_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9671 /* 24385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_QB),
9672 /* 24388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9673 /* 24390 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9674 /* 24392 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9675 /* 24394 */ GIR_RootConstrainSelectedInstOperands,
9676 /* 24395 */ // GIR_Coverage, 556,
9677 /* 24395 */ GIR_EraseRootFromParent_Done,
9678 /* 24396 */ // Label 736: @24396
9679 /* 24396 */ GIM_Try, /*On fail goto*//*Label 737*/ GIMT_Encode4(24441), // Rule ID 557 //
9680 /* 24401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
9681 /* 24404 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
9682 /* 24409 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9683 /* 24412 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9684 /* 24415 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9685 /* 24418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9686 /* 24422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9687 /* 24426 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9688 /* 24430 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8494:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRLV_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9689 /* 24430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRLV_PH),
9690 /* 24433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9691 /* 24435 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9692 /* 24437 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9693 /* 24439 */ GIR_RootConstrainSelectedInstOperands,
9694 /* 24440 */ // GIR_Coverage, 557,
9695 /* 24440 */ GIR_EraseRootFromParent_Done,
9696 /* 24441 */ // Label 737: @24441
9697 /* 24441 */ GIM_Try, /*On fail goto*//*Label 738*/ GIMT_Encode4(24486), // Rule ID 566 //
9698 /* 24446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9699 /* 24449 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_add_a_b),
9700 /* 24454 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9701 /* 24457 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9702 /* 24460 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9703 /* 24463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9704 /* 24467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9705 /* 24471 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9706 /* 24475 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7934:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADD_A_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9707 /* 24475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADD_A_B),
9708 /* 24478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9709 /* 24480 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9710 /* 24482 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9711 /* 24484 */ GIR_RootConstrainSelectedInstOperands,
9712 /* 24485 */ // GIR_Coverage, 566,
9713 /* 24485 */ GIR_EraseRootFromParent_Done,
9714 /* 24486 */ // Label 738: @24486
9715 /* 24486 */ GIM_Try, /*On fail goto*//*Label 739*/ GIMT_Encode4(24531), // Rule ID 567 //
9716 /* 24491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9717 /* 24494 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_add_a_h),
9718 /* 24499 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9719 /* 24502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9720 /* 24505 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9721 /* 24508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9722 /* 24512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9723 /* 24516 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9724 /* 24520 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7936:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADD_A_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9725 /* 24520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADD_A_H),
9726 /* 24523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9727 /* 24525 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9728 /* 24527 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9729 /* 24529 */ GIR_RootConstrainSelectedInstOperands,
9730 /* 24530 */ // GIR_Coverage, 567,
9731 /* 24530 */ GIR_EraseRootFromParent_Done,
9732 /* 24531 */ // Label 739: @24531
9733 /* 24531 */ GIM_Try, /*On fail goto*//*Label 740*/ GIMT_Encode4(24576), // Rule ID 568 //
9734 /* 24536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9735 /* 24539 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_add_a_w),
9736 /* 24544 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9737 /* 24547 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9738 /* 24550 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9739 /* 24553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9740 /* 24557 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9741 /* 24561 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9742 /* 24565 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7937:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADD_A_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9743 /* 24565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADD_A_W),
9744 /* 24568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9745 /* 24570 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9746 /* 24572 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9747 /* 24574 */ GIR_RootConstrainSelectedInstOperands,
9748 /* 24575 */ // GIR_Coverage, 568,
9749 /* 24575 */ GIR_EraseRootFromParent_Done,
9750 /* 24576 */ // Label 740: @24576
9751 /* 24576 */ GIM_Try, /*On fail goto*//*Label 741*/ GIMT_Encode4(24621), // Rule ID 569 //
9752 /* 24581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9753 /* 24584 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_add_a_d),
9754 /* 24589 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9755 /* 24592 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9756 /* 24595 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9757 /* 24598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9758 /* 24602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9759 /* 24606 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9760 /* 24610 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7935:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADD_A_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9761 /* 24610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADD_A_D),
9762 /* 24613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9763 /* 24615 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9764 /* 24617 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9765 /* 24619 */ GIR_RootConstrainSelectedInstOperands,
9766 /* 24620 */ // GIR_Coverage, 569,
9767 /* 24620 */ GIR_EraseRootFromParent_Done,
9768 /* 24621 */ // Label 741: @24621
9769 /* 24621 */ GIM_Try, /*On fail goto*//*Label 742*/ GIMT_Encode4(24666), // Rule ID 570 //
9770 /* 24626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9771 /* 24629 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_a_b),
9772 /* 24634 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9773 /* 24637 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9774 /* 24640 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9775 /* 24643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9776 /* 24647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9777 /* 24651 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9778 /* 24655 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7945:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADDS_A_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9779 /* 24655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_A_B),
9780 /* 24658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9781 /* 24660 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9782 /* 24662 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9783 /* 24664 */ GIR_RootConstrainSelectedInstOperands,
9784 /* 24665 */ // GIR_Coverage, 570,
9785 /* 24665 */ GIR_EraseRootFromParent_Done,
9786 /* 24666 */ // Label 742: @24666
9787 /* 24666 */ GIM_Try, /*On fail goto*//*Label 743*/ GIMT_Encode4(24711), // Rule ID 571 //
9788 /* 24671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9789 /* 24674 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_a_h),
9790 /* 24679 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9791 /* 24682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9792 /* 24685 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9793 /* 24688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9794 /* 24692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9795 /* 24696 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9796 /* 24700 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7947:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADDS_A_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9797 /* 24700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_A_H),
9798 /* 24703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9799 /* 24705 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9800 /* 24707 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9801 /* 24709 */ GIR_RootConstrainSelectedInstOperands,
9802 /* 24710 */ // GIR_Coverage, 571,
9803 /* 24710 */ GIR_EraseRootFromParent_Done,
9804 /* 24711 */ // Label 743: @24711
9805 /* 24711 */ GIM_Try, /*On fail goto*//*Label 744*/ GIMT_Encode4(24756), // Rule ID 572 //
9806 /* 24716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9807 /* 24719 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_a_w),
9808 /* 24724 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9809 /* 24727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9810 /* 24730 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9811 /* 24733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9812 /* 24737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9813 /* 24741 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9814 /* 24745 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7948:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADDS_A_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9815 /* 24745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_A_W),
9816 /* 24748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9817 /* 24750 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9818 /* 24752 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9819 /* 24754 */ GIR_RootConstrainSelectedInstOperands,
9820 /* 24755 */ // GIR_Coverage, 572,
9821 /* 24755 */ GIR_EraseRootFromParent_Done,
9822 /* 24756 */ // Label 744: @24756
9823 /* 24756 */ GIM_Try, /*On fail goto*//*Label 745*/ GIMT_Encode4(24801), // Rule ID 573 //
9824 /* 24761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9825 /* 24764 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_a_d),
9826 /* 24769 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9827 /* 24772 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9828 /* 24775 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9829 /* 24778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9830 /* 24782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9831 /* 24786 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9832 /* 24790 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7946:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADDS_A_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9833 /* 24790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_A_D),
9834 /* 24793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9835 /* 24795 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9836 /* 24797 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9837 /* 24799 */ GIR_RootConstrainSelectedInstOperands,
9838 /* 24800 */ // GIR_Coverage, 573,
9839 /* 24800 */ GIR_EraseRootFromParent_Done,
9840 /* 24801 */ // Label 745: @24801
9841 /* 24801 */ GIM_Try, /*On fail goto*//*Label 746*/ GIMT_Encode4(24846), // Rule ID 574 //
9842 /* 24806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9843 /* 24809 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_s_b),
9844 /* 24814 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9845 /* 24817 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9846 /* 24820 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9847 /* 24823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9848 /* 24827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9849 /* 24831 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9850 /* 24835 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7949:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADDS_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9851 /* 24835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_S_B),
9852 /* 24838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9853 /* 24840 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9854 /* 24842 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9855 /* 24844 */ GIR_RootConstrainSelectedInstOperands,
9856 /* 24845 */ // GIR_Coverage, 574,
9857 /* 24845 */ GIR_EraseRootFromParent_Done,
9858 /* 24846 */ // Label 746: @24846
9859 /* 24846 */ GIM_Try, /*On fail goto*//*Label 747*/ GIMT_Encode4(24891), // Rule ID 575 //
9860 /* 24851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9861 /* 24854 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_s_h),
9862 /* 24859 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9863 /* 24862 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9864 /* 24865 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9865 /* 24868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9866 /* 24872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9867 /* 24876 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9868 /* 24880 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7951:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADDS_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9869 /* 24880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_S_H),
9870 /* 24883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9871 /* 24885 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9872 /* 24887 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9873 /* 24889 */ GIR_RootConstrainSelectedInstOperands,
9874 /* 24890 */ // GIR_Coverage, 575,
9875 /* 24890 */ GIR_EraseRootFromParent_Done,
9876 /* 24891 */ // Label 747: @24891
9877 /* 24891 */ GIM_Try, /*On fail goto*//*Label 748*/ GIMT_Encode4(24936), // Rule ID 576 //
9878 /* 24896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9879 /* 24899 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_s_w),
9880 /* 24904 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9881 /* 24907 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9882 /* 24910 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9883 /* 24913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9884 /* 24917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9885 /* 24921 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9886 /* 24925 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7952:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADDS_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9887 /* 24925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_S_W),
9888 /* 24928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9889 /* 24930 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9890 /* 24932 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9891 /* 24934 */ GIR_RootConstrainSelectedInstOperands,
9892 /* 24935 */ // GIR_Coverage, 576,
9893 /* 24935 */ GIR_EraseRootFromParent_Done,
9894 /* 24936 */ // Label 748: @24936
9895 /* 24936 */ GIM_Try, /*On fail goto*//*Label 749*/ GIMT_Encode4(24981), // Rule ID 577 //
9896 /* 24941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9897 /* 24944 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_s_d),
9898 /* 24949 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9899 /* 24952 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9900 /* 24955 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9901 /* 24958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9902 /* 24962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9903 /* 24966 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9904 /* 24970 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7950:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADDS_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9905 /* 24970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_S_D),
9906 /* 24973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9907 /* 24975 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9908 /* 24977 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9909 /* 24979 */ GIR_RootConstrainSelectedInstOperands,
9910 /* 24980 */ // GIR_Coverage, 577,
9911 /* 24980 */ GIR_EraseRootFromParent_Done,
9912 /* 24981 */ // Label 749: @24981
9913 /* 24981 */ GIM_Try, /*On fail goto*//*Label 750*/ GIMT_Encode4(25026), // Rule ID 578 //
9914 /* 24986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9915 /* 24989 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_u_b),
9916 /* 24994 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9917 /* 24997 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9918 /* 25000 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9919 /* 25003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9920 /* 25007 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9921 /* 25011 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9922 /* 25015 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7953:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADDS_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9923 /* 25015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_U_B),
9924 /* 25018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9925 /* 25020 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9926 /* 25022 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9927 /* 25024 */ GIR_RootConstrainSelectedInstOperands,
9928 /* 25025 */ // GIR_Coverage, 578,
9929 /* 25025 */ GIR_EraseRootFromParent_Done,
9930 /* 25026 */ // Label 750: @25026
9931 /* 25026 */ GIM_Try, /*On fail goto*//*Label 751*/ GIMT_Encode4(25071), // Rule ID 579 //
9932 /* 25031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9933 /* 25034 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_u_h),
9934 /* 25039 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9935 /* 25042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9936 /* 25045 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9937 /* 25048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9938 /* 25052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9939 /* 25056 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9940 /* 25060 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7955:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADDS_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9941 /* 25060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_U_H),
9942 /* 25063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9943 /* 25065 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9944 /* 25067 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9945 /* 25069 */ GIR_RootConstrainSelectedInstOperands,
9946 /* 25070 */ // GIR_Coverage, 579,
9947 /* 25070 */ GIR_EraseRootFromParent_Done,
9948 /* 25071 */ // Label 751: @25071
9949 /* 25071 */ GIM_Try, /*On fail goto*//*Label 752*/ GIMT_Encode4(25116), // Rule ID 580 //
9950 /* 25076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9951 /* 25079 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_u_w),
9952 /* 25084 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9953 /* 25087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9954 /* 25090 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9955 /* 25093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9956 /* 25097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9957 /* 25101 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9958 /* 25105 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7956:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADDS_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9959 /* 25105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_U_W),
9960 /* 25108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9961 /* 25110 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9962 /* 25112 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9963 /* 25114 */ GIR_RootConstrainSelectedInstOperands,
9964 /* 25115 */ // GIR_Coverage, 580,
9965 /* 25115 */ GIR_EraseRootFromParent_Done,
9966 /* 25116 */ // Label 752: @25116
9967 /* 25116 */ GIM_Try, /*On fail goto*//*Label 753*/ GIMT_Encode4(25161), // Rule ID 581 //
9968 /* 25121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9969 /* 25124 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_u_d),
9970 /* 25129 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9971 /* 25132 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9972 /* 25135 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9973 /* 25138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9974 /* 25142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9975 /* 25146 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9976 /* 25150 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7954:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADDS_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9977 /* 25150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_U_D),
9978 /* 25153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9979 /* 25155 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9980 /* 25157 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9981 /* 25159 */ GIR_RootConstrainSelectedInstOperands,
9982 /* 25160 */ // GIR_Coverage, 581,
9983 /* 25160 */ GIR_EraseRootFromParent_Done,
9984 /* 25161 */ // Label 753: @25161
9985 /* 25161 */ GIM_Try, /*On fail goto*//*Label 754*/ GIMT_Encode4(25206), // Rule ID 595 //
9986 /* 25166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
9987 /* 25169 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_s_b),
9988 /* 25174 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9989 /* 25177 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9990 /* 25180 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9991 /* 25183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9992 /* 25187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9993 /* 25191 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9994 /* 25195 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7976:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ASUB_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9995 /* 25195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_S_B),
9996 /* 25198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9997 /* 25200 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9998 /* 25202 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9999 /* 25204 */ GIR_RootConstrainSelectedInstOperands,
10000 /* 25205 */ // GIR_Coverage, 595,
10001 /* 25205 */ GIR_EraseRootFromParent_Done,
10002 /* 25206 */ // Label 754: @25206
10003 /* 25206 */ GIM_Try, /*On fail goto*//*Label 755*/ GIMT_Encode4(25251), // Rule ID 596 //
10004 /* 25211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10005 /* 25214 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_s_h),
10006 /* 25219 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10007 /* 25222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10008 /* 25225 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10009 /* 25228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10010 /* 25232 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10011 /* 25236 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10012 /* 25240 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7978:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ASUB_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10013 /* 25240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_S_H),
10014 /* 25243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10015 /* 25245 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10016 /* 25247 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10017 /* 25249 */ GIR_RootConstrainSelectedInstOperands,
10018 /* 25250 */ // GIR_Coverage, 596,
10019 /* 25250 */ GIR_EraseRootFromParent_Done,
10020 /* 25251 */ // Label 755: @25251
10021 /* 25251 */ GIM_Try, /*On fail goto*//*Label 756*/ GIMT_Encode4(25296), // Rule ID 597 //
10022 /* 25256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10023 /* 25259 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_s_w),
10024 /* 25264 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10025 /* 25267 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10026 /* 25270 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10027 /* 25273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10028 /* 25277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10029 /* 25281 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10030 /* 25285 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7979:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ASUB_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10031 /* 25285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_S_W),
10032 /* 25288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10033 /* 25290 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10034 /* 25292 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10035 /* 25294 */ GIR_RootConstrainSelectedInstOperands,
10036 /* 25295 */ // GIR_Coverage, 597,
10037 /* 25295 */ GIR_EraseRootFromParent_Done,
10038 /* 25296 */ // Label 756: @25296
10039 /* 25296 */ GIM_Try, /*On fail goto*//*Label 757*/ GIMT_Encode4(25341), // Rule ID 598 //
10040 /* 25301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10041 /* 25304 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_s_d),
10042 /* 25309 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10043 /* 25312 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10044 /* 25315 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10045 /* 25318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10046 /* 25322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10047 /* 25326 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10048 /* 25330 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7977:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ASUB_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
10049 /* 25330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_S_D),
10050 /* 25333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10051 /* 25335 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10052 /* 25337 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10053 /* 25339 */ GIR_RootConstrainSelectedInstOperands,
10054 /* 25340 */ // GIR_Coverage, 598,
10055 /* 25340 */ GIR_EraseRootFromParent_Done,
10056 /* 25341 */ // Label 757: @25341
10057 /* 25341 */ GIM_Try, /*On fail goto*//*Label 758*/ GIMT_Encode4(25386), // Rule ID 599 //
10058 /* 25346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10059 /* 25349 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_u_b),
10060 /* 25354 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
10061 /* 25357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10062 /* 25360 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10063 /* 25363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10064 /* 25367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10065 /* 25371 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10066 /* 25375 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7980:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ASUB_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10067 /* 25375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_U_B),
10068 /* 25378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10069 /* 25380 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10070 /* 25382 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10071 /* 25384 */ GIR_RootConstrainSelectedInstOperands,
10072 /* 25385 */ // GIR_Coverage, 599,
10073 /* 25385 */ GIR_EraseRootFromParent_Done,
10074 /* 25386 */ // Label 758: @25386
10075 /* 25386 */ GIM_Try, /*On fail goto*//*Label 759*/ GIMT_Encode4(25431), // Rule ID 600 //
10076 /* 25391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10077 /* 25394 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_u_h),
10078 /* 25399 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10079 /* 25402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10080 /* 25405 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10081 /* 25408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10082 /* 25412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10083 /* 25416 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10084 /* 25420 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7982:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ASUB_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10085 /* 25420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_U_H),
10086 /* 25423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10087 /* 25425 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10088 /* 25427 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10089 /* 25429 */ GIR_RootConstrainSelectedInstOperands,
10090 /* 25430 */ // GIR_Coverage, 600,
10091 /* 25430 */ GIR_EraseRootFromParent_Done,
10092 /* 25431 */ // Label 759: @25431
10093 /* 25431 */ GIM_Try, /*On fail goto*//*Label 760*/ GIMT_Encode4(25476), // Rule ID 601 //
10094 /* 25436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10095 /* 25439 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_u_w),
10096 /* 25444 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10097 /* 25447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10098 /* 25450 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10099 /* 25453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10100 /* 25457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10101 /* 25461 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10102 /* 25465 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7983:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ASUB_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10103 /* 25465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_U_W),
10104 /* 25468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10105 /* 25470 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10106 /* 25472 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10107 /* 25474 */ GIR_RootConstrainSelectedInstOperands,
10108 /* 25475 */ // GIR_Coverage, 601,
10109 /* 25475 */ GIR_EraseRootFromParent_Done,
10110 /* 25476 */ // Label 760: @25476
10111 /* 25476 */ GIM_Try, /*On fail goto*//*Label 761*/ GIMT_Encode4(25521), // Rule ID 602 //
10112 /* 25481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10113 /* 25484 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_u_d),
10114 /* 25489 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10115 /* 25492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10116 /* 25495 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10117 /* 25498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10118 /* 25502 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10119 /* 25506 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10120 /* 25510 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7981:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ASUB_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
10121 /* 25510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_U_D),
10122 /* 25513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10123 /* 25515 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10124 /* 25517 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10125 /* 25519 */ GIR_RootConstrainSelectedInstOperands,
10126 /* 25520 */ // GIR_Coverage, 602,
10127 /* 25520 */ GIR_EraseRootFromParent_Done,
10128 /* 25521 */ // Label 761: @25521
10129 /* 25521 */ GIM_Try, /*On fail goto*//*Label 762*/ GIMT_Encode4(25566), // Rule ID 603 //
10130 /* 25526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10131 /* 25529 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_s_b),
10132 /* 25534 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
10133 /* 25537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10134 /* 25540 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10135 /* 25543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10136 /* 25547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10137 /* 25551 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10138 /* 25555 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7984:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AVE_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10139 /* 25555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_S_B),
10140 /* 25558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10141 /* 25560 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10142 /* 25562 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10143 /* 25564 */ GIR_RootConstrainSelectedInstOperands,
10144 /* 25565 */ // GIR_Coverage, 603,
10145 /* 25565 */ GIR_EraseRootFromParent_Done,
10146 /* 25566 */ // Label 762: @25566
10147 /* 25566 */ GIM_Try, /*On fail goto*//*Label 763*/ GIMT_Encode4(25611), // Rule ID 604 //
10148 /* 25571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10149 /* 25574 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_s_h),
10150 /* 25579 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10151 /* 25582 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10152 /* 25585 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10153 /* 25588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10154 /* 25592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10155 /* 25596 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10156 /* 25600 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7986:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AVE_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10157 /* 25600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_S_H),
10158 /* 25603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10159 /* 25605 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10160 /* 25607 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10161 /* 25609 */ GIR_RootConstrainSelectedInstOperands,
10162 /* 25610 */ // GIR_Coverage, 604,
10163 /* 25610 */ GIR_EraseRootFromParent_Done,
10164 /* 25611 */ // Label 763: @25611
10165 /* 25611 */ GIM_Try, /*On fail goto*//*Label 764*/ GIMT_Encode4(25656), // Rule ID 605 //
10166 /* 25616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10167 /* 25619 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_s_w),
10168 /* 25624 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10169 /* 25627 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10170 /* 25630 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10171 /* 25633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10172 /* 25637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10173 /* 25641 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10174 /* 25645 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7987:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AVE_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10175 /* 25645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_S_W),
10176 /* 25648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10177 /* 25650 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10178 /* 25652 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10179 /* 25654 */ GIR_RootConstrainSelectedInstOperands,
10180 /* 25655 */ // GIR_Coverage, 605,
10181 /* 25655 */ GIR_EraseRootFromParent_Done,
10182 /* 25656 */ // Label 764: @25656
10183 /* 25656 */ GIM_Try, /*On fail goto*//*Label 765*/ GIMT_Encode4(25701), // Rule ID 606 //
10184 /* 25661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10185 /* 25664 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_s_d),
10186 /* 25669 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10187 /* 25672 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10188 /* 25675 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10189 /* 25678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10190 /* 25682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10191 /* 25686 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10192 /* 25690 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7985:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AVE_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
10193 /* 25690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_S_D),
10194 /* 25693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10195 /* 25695 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10196 /* 25697 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10197 /* 25699 */ GIR_RootConstrainSelectedInstOperands,
10198 /* 25700 */ // GIR_Coverage, 606,
10199 /* 25700 */ GIR_EraseRootFromParent_Done,
10200 /* 25701 */ // Label 765: @25701
10201 /* 25701 */ GIM_Try, /*On fail goto*//*Label 766*/ GIMT_Encode4(25746), // Rule ID 607 //
10202 /* 25706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10203 /* 25709 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_u_b),
10204 /* 25714 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
10205 /* 25717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10206 /* 25720 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10207 /* 25723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10208 /* 25727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10209 /* 25731 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10210 /* 25735 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7988:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AVE_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10211 /* 25735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_U_B),
10212 /* 25738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10213 /* 25740 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10214 /* 25742 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10215 /* 25744 */ GIR_RootConstrainSelectedInstOperands,
10216 /* 25745 */ // GIR_Coverage, 607,
10217 /* 25745 */ GIR_EraseRootFromParent_Done,
10218 /* 25746 */ // Label 766: @25746
10219 /* 25746 */ GIM_Try, /*On fail goto*//*Label 767*/ GIMT_Encode4(25791), // Rule ID 608 //
10220 /* 25751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10221 /* 25754 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_u_h),
10222 /* 25759 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10223 /* 25762 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10224 /* 25765 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10225 /* 25768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10226 /* 25772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10227 /* 25776 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10228 /* 25780 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7990:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AVE_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10229 /* 25780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_U_H),
10230 /* 25783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10231 /* 25785 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10232 /* 25787 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10233 /* 25789 */ GIR_RootConstrainSelectedInstOperands,
10234 /* 25790 */ // GIR_Coverage, 608,
10235 /* 25790 */ GIR_EraseRootFromParent_Done,
10236 /* 25791 */ // Label 767: @25791
10237 /* 25791 */ GIM_Try, /*On fail goto*//*Label 768*/ GIMT_Encode4(25836), // Rule ID 609 //
10238 /* 25796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10239 /* 25799 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_u_w),
10240 /* 25804 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10241 /* 25807 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10242 /* 25810 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10243 /* 25813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10244 /* 25817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10245 /* 25821 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10246 /* 25825 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7991:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AVE_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10247 /* 25825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_U_W),
10248 /* 25828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10249 /* 25830 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10250 /* 25832 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10251 /* 25834 */ GIR_RootConstrainSelectedInstOperands,
10252 /* 25835 */ // GIR_Coverage, 609,
10253 /* 25835 */ GIR_EraseRootFromParent_Done,
10254 /* 25836 */ // Label 768: @25836
10255 /* 25836 */ GIM_Try, /*On fail goto*//*Label 769*/ GIMT_Encode4(25881), // Rule ID 610 //
10256 /* 25841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10257 /* 25844 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_u_d),
10258 /* 25849 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10259 /* 25852 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10260 /* 25855 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10261 /* 25858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10262 /* 25862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10263 /* 25866 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10264 /* 25870 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7989:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AVE_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
10265 /* 25870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_U_D),
10266 /* 25873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10267 /* 25875 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10268 /* 25877 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10269 /* 25879 */ GIR_RootConstrainSelectedInstOperands,
10270 /* 25880 */ // GIR_Coverage, 610,
10271 /* 25880 */ GIR_EraseRootFromParent_Done,
10272 /* 25881 */ // Label 769: @25881
10273 /* 25881 */ GIM_Try, /*On fail goto*//*Label 770*/ GIMT_Encode4(25926), // Rule ID 611 //
10274 /* 25886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10275 /* 25889 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_s_b),
10276 /* 25894 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
10277 /* 25897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10278 /* 25900 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10279 /* 25903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10280 /* 25907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10281 /* 25911 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10282 /* 25915 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7992:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AVER_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10283 /* 25915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_S_B),
10284 /* 25918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10285 /* 25920 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10286 /* 25922 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10287 /* 25924 */ GIR_RootConstrainSelectedInstOperands,
10288 /* 25925 */ // GIR_Coverage, 611,
10289 /* 25925 */ GIR_EraseRootFromParent_Done,
10290 /* 25926 */ // Label 770: @25926
10291 /* 25926 */ GIM_Try, /*On fail goto*//*Label 771*/ GIMT_Encode4(25971), // Rule ID 612 //
10292 /* 25931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10293 /* 25934 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_s_h),
10294 /* 25939 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10295 /* 25942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10296 /* 25945 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10297 /* 25948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10298 /* 25952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10299 /* 25956 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10300 /* 25960 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7994:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AVER_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10301 /* 25960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_S_H),
10302 /* 25963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10303 /* 25965 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10304 /* 25967 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10305 /* 25969 */ GIR_RootConstrainSelectedInstOperands,
10306 /* 25970 */ // GIR_Coverage, 612,
10307 /* 25970 */ GIR_EraseRootFromParent_Done,
10308 /* 25971 */ // Label 771: @25971
10309 /* 25971 */ GIM_Try, /*On fail goto*//*Label 772*/ GIMT_Encode4(26016), // Rule ID 613 //
10310 /* 25976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10311 /* 25979 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_s_w),
10312 /* 25984 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10313 /* 25987 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10314 /* 25990 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10315 /* 25993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10316 /* 25997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10317 /* 26001 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10318 /* 26005 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7995:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AVER_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10319 /* 26005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_S_W),
10320 /* 26008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10321 /* 26010 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10322 /* 26012 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10323 /* 26014 */ GIR_RootConstrainSelectedInstOperands,
10324 /* 26015 */ // GIR_Coverage, 613,
10325 /* 26015 */ GIR_EraseRootFromParent_Done,
10326 /* 26016 */ // Label 772: @26016
10327 /* 26016 */ GIM_Try, /*On fail goto*//*Label 773*/ GIMT_Encode4(26061), // Rule ID 614 //
10328 /* 26021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10329 /* 26024 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_s_d),
10330 /* 26029 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10331 /* 26032 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10332 /* 26035 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10333 /* 26038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10334 /* 26042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10335 /* 26046 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10336 /* 26050 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7993:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AVER_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
10337 /* 26050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_S_D),
10338 /* 26053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10339 /* 26055 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10340 /* 26057 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10341 /* 26059 */ GIR_RootConstrainSelectedInstOperands,
10342 /* 26060 */ // GIR_Coverage, 614,
10343 /* 26060 */ GIR_EraseRootFromParent_Done,
10344 /* 26061 */ // Label 773: @26061
10345 /* 26061 */ GIM_Try, /*On fail goto*//*Label 774*/ GIMT_Encode4(26106), // Rule ID 615 //
10346 /* 26066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10347 /* 26069 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_u_b),
10348 /* 26074 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
10349 /* 26077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10350 /* 26080 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10351 /* 26083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10352 /* 26087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10353 /* 26091 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10354 /* 26095 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7996:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AVER_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10355 /* 26095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_U_B),
10356 /* 26098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10357 /* 26100 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10358 /* 26102 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10359 /* 26104 */ GIR_RootConstrainSelectedInstOperands,
10360 /* 26105 */ // GIR_Coverage, 615,
10361 /* 26105 */ GIR_EraseRootFromParent_Done,
10362 /* 26106 */ // Label 774: @26106
10363 /* 26106 */ GIM_Try, /*On fail goto*//*Label 775*/ GIMT_Encode4(26151), // Rule ID 616 //
10364 /* 26111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10365 /* 26114 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_u_h),
10366 /* 26119 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10367 /* 26122 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10368 /* 26125 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10369 /* 26128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10370 /* 26132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10371 /* 26136 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10372 /* 26140 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7998:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AVER_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10373 /* 26140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_U_H),
10374 /* 26143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10375 /* 26145 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10376 /* 26147 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10377 /* 26149 */ GIR_RootConstrainSelectedInstOperands,
10378 /* 26150 */ // GIR_Coverage, 616,
10379 /* 26150 */ GIR_EraseRootFromParent_Done,
10380 /* 26151 */ // Label 775: @26151
10381 /* 26151 */ GIM_Try, /*On fail goto*//*Label 776*/ GIMT_Encode4(26196), // Rule ID 617 //
10382 /* 26156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10383 /* 26159 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_u_w),
10384 /* 26164 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10385 /* 26167 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10386 /* 26170 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10387 /* 26173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10388 /* 26177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10389 /* 26181 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10390 /* 26185 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7999:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AVER_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10391 /* 26185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_U_W),
10392 /* 26188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10393 /* 26190 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10394 /* 26192 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10395 /* 26194 */ GIR_RootConstrainSelectedInstOperands,
10396 /* 26195 */ // GIR_Coverage, 617,
10397 /* 26195 */ GIR_EraseRootFromParent_Done,
10398 /* 26196 */ // Label 776: @26196
10399 /* 26196 */ GIM_Try, /*On fail goto*//*Label 777*/ GIMT_Encode4(26241), // Rule ID 618 //
10400 /* 26201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10401 /* 26204 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_u_d),
10402 /* 26209 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10403 /* 26212 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10404 /* 26215 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10405 /* 26218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10406 /* 26222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10407 /* 26226 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10408 /* 26230 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7997:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AVER_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
10409 /* 26230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_U_D),
10410 /* 26233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10411 /* 26235 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10412 /* 26237 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10413 /* 26239 */ GIR_RootConstrainSelectedInstOperands,
10414 /* 26240 */ // GIR_Coverage, 618,
10415 /* 26240 */ GIR_EraseRootFromParent_Done,
10416 /* 26241 */ // Label 777: @26241
10417 /* 26241 */ GIM_Try, /*On fail goto*//*Label 778*/ GIMT_Encode4(26286), // Rule ID 727 //
10418 /* 26246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10419 /* 26249 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_s_h),
10420 /* 26254 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10421 /* 26257 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10422 /* 26260 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10423 /* 26263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10424 /* 26267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10425 /* 26271 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10426 /* 26275 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8131:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DOTP_S_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10427 /* 26275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_S_H),
10428 /* 26278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10429 /* 26280 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10430 /* 26282 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10431 /* 26284 */ GIR_RootConstrainSelectedInstOperands,
10432 /* 26285 */ // GIR_Coverage, 727,
10433 /* 26285 */ GIR_EraseRootFromParent_Done,
10434 /* 26286 */ // Label 778: @26286
10435 /* 26286 */ GIM_Try, /*On fail goto*//*Label 779*/ GIMT_Encode4(26331), // Rule ID 728 //
10436 /* 26291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10437 /* 26294 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_s_w),
10438 /* 26299 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10439 /* 26302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10440 /* 26305 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10441 /* 26308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10442 /* 26312 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10443 /* 26316 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10444 /* 26320 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8132:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DOTP_S_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10445 /* 26320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_S_W),
10446 /* 26323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10447 /* 26325 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10448 /* 26327 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10449 /* 26329 */ GIR_RootConstrainSelectedInstOperands,
10450 /* 26330 */ // GIR_Coverage, 728,
10451 /* 26330 */ GIR_EraseRootFromParent_Done,
10452 /* 26331 */ // Label 779: @26331
10453 /* 26331 */ GIM_Try, /*On fail goto*//*Label 780*/ GIMT_Encode4(26376), // Rule ID 729 //
10454 /* 26336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10455 /* 26339 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_s_d),
10456 /* 26344 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10457 /* 26347 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10458 /* 26350 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10459 /* 26353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10460 /* 26357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10461 /* 26361 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10462 /* 26365 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8130:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DOTP_S_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10463 /* 26365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_S_D),
10464 /* 26368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10465 /* 26370 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10466 /* 26372 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10467 /* 26374 */ GIR_RootConstrainSelectedInstOperands,
10468 /* 26375 */ // GIR_Coverage, 729,
10469 /* 26375 */ GIR_EraseRootFromParent_Done,
10470 /* 26376 */ // Label 780: @26376
10471 /* 26376 */ GIM_Try, /*On fail goto*//*Label 781*/ GIMT_Encode4(26421), // Rule ID 730 //
10472 /* 26381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10473 /* 26384 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_u_h),
10474 /* 26389 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10475 /* 26392 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10476 /* 26395 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10477 /* 26398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10478 /* 26402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10479 /* 26406 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10480 /* 26410 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8134:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DOTP_U_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10481 /* 26410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_U_H),
10482 /* 26413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10483 /* 26415 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10484 /* 26417 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10485 /* 26419 */ GIR_RootConstrainSelectedInstOperands,
10486 /* 26420 */ // GIR_Coverage, 730,
10487 /* 26420 */ GIR_EraseRootFromParent_Done,
10488 /* 26421 */ // Label 781: @26421
10489 /* 26421 */ GIM_Try, /*On fail goto*//*Label 782*/ GIMT_Encode4(26466), // Rule ID 731 //
10490 /* 26426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10491 /* 26429 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_u_w),
10492 /* 26434 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10493 /* 26437 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10494 /* 26440 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10495 /* 26443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10496 /* 26447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10497 /* 26451 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10498 /* 26455 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8135:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DOTP_U_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10499 /* 26455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_U_W),
10500 /* 26458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10501 /* 26460 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10502 /* 26462 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10503 /* 26464 */ GIR_RootConstrainSelectedInstOperands,
10504 /* 26465 */ // GIR_Coverage, 731,
10505 /* 26465 */ GIR_EraseRootFromParent_Done,
10506 /* 26466 */ // Label 782: @26466
10507 /* 26466 */ GIM_Try, /*On fail goto*//*Label 783*/ GIMT_Encode4(26511), // Rule ID 732 //
10508 /* 26471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10509 /* 26474 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_u_d),
10510 /* 26479 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10511 /* 26482 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10512 /* 26485 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10513 /* 26488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10514 /* 26492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10515 /* 26496 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10516 /* 26500 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8133:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DOTP_U_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10517 /* 26500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_U_D),
10518 /* 26503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10519 /* 26505 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10520 /* 26507 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10521 /* 26509 */ GIR_RootConstrainSelectedInstOperands,
10522 /* 26510 */ // GIR_Coverage, 732,
10523 /* 26510 */ GIR_EraseRootFromParent_Done,
10524 /* 26511 */ // Label 783: @26511
10525 /* 26511 */ GIM_Try, /*On fail goto*//*Label 784*/ GIMT_Encode4(26556), // Rule ID 747 //
10526 /* 26516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10527 /* 26519 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fcaf_w),
10528 /* 26524 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10529 /* 26527 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10530 /* 26530 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10531 /* 26533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10532 /* 26537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10533 /* 26541 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10534 /* 26545 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8173:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FCAF_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10535 /* 26545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FCAF_W),
10536 /* 26548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10537 /* 26550 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10538 /* 26552 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10539 /* 26554 */ GIR_RootConstrainSelectedInstOperands,
10540 /* 26555 */ // GIR_Coverage, 747,
10541 /* 26555 */ GIR_EraseRootFromParent_Done,
10542 /* 26556 */ // Label 784: @26556
10543 /* 26556 */ GIM_Try, /*On fail goto*//*Label 785*/ GIMT_Encode4(26601), // Rule ID 748 //
10544 /* 26561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10545 /* 26564 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fcaf_d),
10546 /* 26569 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10547 /* 26572 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10548 /* 26575 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10549 /* 26578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10550 /* 26582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10551 /* 26586 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10552 /* 26590 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8172:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FCAF_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10553 /* 26590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FCAF_D),
10554 /* 26593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10555 /* 26595 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10556 /* 26597 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10557 /* 26599 */ GIR_RootConstrainSelectedInstOperands,
10558 /* 26600 */ // GIR_Coverage, 748,
10559 /* 26600 */ GIR_EraseRootFromParent_Done,
10560 /* 26601 */ // Label 785: @26601
10561 /* 26601 */ GIM_Try, /*On fail goto*//*Label 786*/ GIMT_Encode4(26646), // Rule ID 773 //
10562 /* 26606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10563 /* 26609 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexdo_h),
10564 /* 26614 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10565 /* 26617 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10566 /* 26620 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10567 /* 26623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10568 /* 26627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10569 /* 26631 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10570 /* 26635 */ // (intrinsic_wo_chain:{ *:[v8f16] } 8198:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FEXDO_H:{ *:[v8f16] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10571 /* 26635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXDO_H),
10572 /* 26638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10573 /* 26640 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10574 /* 26642 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10575 /* 26644 */ GIR_RootConstrainSelectedInstOperands,
10576 /* 26645 */ // GIR_Coverage, 773,
10577 /* 26645 */ GIR_EraseRootFromParent_Done,
10578 /* 26646 */ // Label 786: @26646
10579 /* 26646 */ GIM_Try, /*On fail goto*//*Label 787*/ GIMT_Encode4(26691), // Rule ID 774 //
10580 /* 26651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10581 /* 26654 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexdo_w),
10582 /* 26659 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10583 /* 26662 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10584 /* 26665 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10585 /* 26668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10586 /* 26672 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10587 /* 26676 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10588 /* 26680 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8199:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FEXDO_W:{ *:[v4f32] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10589 /* 26680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXDO_W),
10590 /* 26683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10591 /* 26685 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10592 /* 26687 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10593 /* 26689 */ GIR_RootConstrainSelectedInstOperands,
10594 /* 26690 */ // GIR_Coverage, 774,
10595 /* 26690 */ GIR_EraseRootFromParent_Done,
10596 /* 26691 */ // Label 787: @26691
10597 /* 26691 */ GIM_Try, /*On fail goto*//*Label 788*/ GIMT_Encode4(26736), // Rule ID 801 //
10598 /* 26696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10599 /* 26699 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmax_w),
10600 /* 26704 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10601 /* 26707 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10602 /* 26710 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10603 /* 26713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10604 /* 26717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10605 /* 26721 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10606 /* 26725 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8225:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMAX_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10607 /* 26725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMAX_W),
10608 /* 26728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10609 /* 26730 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10610 /* 26732 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10611 /* 26734 */ GIR_RootConstrainSelectedInstOperands,
10612 /* 26735 */ // GIR_Coverage, 801,
10613 /* 26735 */ GIR_EraseRootFromParent_Done,
10614 /* 26736 */ // Label 788: @26736
10615 /* 26736 */ GIM_Try, /*On fail goto*//*Label 789*/ GIMT_Encode4(26781), // Rule ID 802 //
10616 /* 26741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10617 /* 26744 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmax_d),
10618 /* 26749 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10619 /* 26752 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10620 /* 26755 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10621 /* 26758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10622 /* 26762 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10623 /* 26766 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10624 /* 26770 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8224:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMAX_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10625 /* 26770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMAX_D),
10626 /* 26773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10627 /* 26775 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10628 /* 26777 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10629 /* 26779 */ GIR_RootConstrainSelectedInstOperands,
10630 /* 26780 */ // GIR_Coverage, 802,
10631 /* 26780 */ GIR_EraseRootFromParent_Done,
10632 /* 26781 */ // Label 789: @26781
10633 /* 26781 */ GIM_Try, /*On fail goto*//*Label 790*/ GIMT_Encode4(26826), // Rule ID 803 //
10634 /* 26786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10635 /* 26789 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmax_a_w),
10636 /* 26794 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10637 /* 26797 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10638 /* 26800 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10639 /* 26803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10640 /* 26807 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10641 /* 26811 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10642 /* 26815 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8223:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMAX_A_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10643 /* 26815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMAX_A_W),
10644 /* 26818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10645 /* 26820 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10646 /* 26822 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10647 /* 26824 */ GIR_RootConstrainSelectedInstOperands,
10648 /* 26825 */ // GIR_Coverage, 803,
10649 /* 26825 */ GIR_EraseRootFromParent_Done,
10650 /* 26826 */ // Label 790: @26826
10651 /* 26826 */ GIM_Try, /*On fail goto*//*Label 791*/ GIMT_Encode4(26871), // Rule ID 804 //
10652 /* 26831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10653 /* 26834 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmax_a_d),
10654 /* 26839 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10655 /* 26842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10656 /* 26845 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10657 /* 26848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10658 /* 26852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10659 /* 26856 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10660 /* 26860 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8222:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMAX_A_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10661 /* 26860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMAX_A_D),
10662 /* 26863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10663 /* 26865 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10664 /* 26867 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10665 /* 26869 */ GIR_RootConstrainSelectedInstOperands,
10666 /* 26870 */ // GIR_Coverage, 804,
10667 /* 26870 */ GIR_EraseRootFromParent_Done,
10668 /* 26871 */ // Label 791: @26871
10669 /* 26871 */ GIM_Try, /*On fail goto*//*Label 792*/ GIMT_Encode4(26916), // Rule ID 805 //
10670 /* 26876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10671 /* 26879 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmin_w),
10672 /* 26884 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10673 /* 26887 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10674 /* 26890 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10675 /* 26893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10676 /* 26897 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10677 /* 26901 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10678 /* 26905 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8229:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMIN_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10679 /* 26905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMIN_W),
10680 /* 26908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10681 /* 26910 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10682 /* 26912 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10683 /* 26914 */ GIR_RootConstrainSelectedInstOperands,
10684 /* 26915 */ // GIR_Coverage, 805,
10685 /* 26915 */ GIR_EraseRootFromParent_Done,
10686 /* 26916 */ // Label 792: @26916
10687 /* 26916 */ GIM_Try, /*On fail goto*//*Label 793*/ GIMT_Encode4(26961), // Rule ID 806 //
10688 /* 26921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10689 /* 26924 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmin_d),
10690 /* 26929 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10691 /* 26932 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10692 /* 26935 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10693 /* 26938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10694 /* 26942 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10695 /* 26946 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10696 /* 26950 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8228:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMIN_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10697 /* 26950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMIN_D),
10698 /* 26953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10699 /* 26955 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10700 /* 26957 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10701 /* 26959 */ GIR_RootConstrainSelectedInstOperands,
10702 /* 26960 */ // GIR_Coverage, 806,
10703 /* 26960 */ GIR_EraseRootFromParent_Done,
10704 /* 26961 */ // Label 793: @26961
10705 /* 26961 */ GIM_Try, /*On fail goto*//*Label 794*/ GIMT_Encode4(27006), // Rule ID 807 //
10706 /* 26966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10707 /* 26969 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmin_a_w),
10708 /* 26974 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10709 /* 26977 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10710 /* 26980 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10711 /* 26983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10712 /* 26987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10713 /* 26991 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10714 /* 26995 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8227:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMIN_A_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10715 /* 26995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMIN_A_W),
10716 /* 26998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10717 /* 27000 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10718 /* 27002 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10719 /* 27004 */ GIR_RootConstrainSelectedInstOperands,
10720 /* 27005 */ // GIR_Coverage, 807,
10721 /* 27005 */ GIR_EraseRootFromParent_Done,
10722 /* 27006 */ // Label 794: @27006
10723 /* 27006 */ GIM_Try, /*On fail goto*//*Label 795*/ GIMT_Encode4(27051), // Rule ID 808 //
10724 /* 27011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10725 /* 27014 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmin_a_d),
10726 /* 27019 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10727 /* 27022 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10728 /* 27025 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10729 /* 27028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10730 /* 27032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10731 /* 27036 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10732 /* 27040 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8226:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMIN_A_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10733 /* 27040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMIN_A_D),
10734 /* 27043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10735 /* 27045 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10736 /* 27047 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10737 /* 27049 */ GIR_RootConstrainSelectedInstOperands,
10738 /* 27050 */ // GIR_Coverage, 808,
10739 /* 27050 */ GIR_EraseRootFromParent_Done,
10740 /* 27051 */ // Label 795: @27051
10741 /* 27051 */ GIM_Try, /*On fail goto*//*Label 796*/ GIMT_Encode4(27096), // Rule ID 819 //
10742 /* 27056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10743 /* 27059 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsaf_w),
10744 /* 27064 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10745 /* 27067 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10746 /* 27070 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10747 /* 27073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10748 /* 27077 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10749 /* 27081 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10750 /* 27085 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8241:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSAF_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10751 /* 27085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSAF_W),
10752 /* 27088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10753 /* 27090 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10754 /* 27092 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10755 /* 27094 */ GIR_RootConstrainSelectedInstOperands,
10756 /* 27095 */ // GIR_Coverage, 819,
10757 /* 27095 */ GIR_EraseRootFromParent_Done,
10758 /* 27096 */ // Label 796: @27096
10759 /* 27096 */ GIM_Try, /*On fail goto*//*Label 797*/ GIMT_Encode4(27141), // Rule ID 820 //
10760 /* 27101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10761 /* 27104 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsaf_d),
10762 /* 27109 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10763 /* 27112 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10764 /* 27115 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10765 /* 27118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10766 /* 27122 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10767 /* 27126 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10768 /* 27130 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8240:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSAF_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10769 /* 27130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSAF_D),
10770 /* 27133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10771 /* 27135 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10772 /* 27137 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10773 /* 27139 */ GIR_RootConstrainSelectedInstOperands,
10774 /* 27140 */ // GIR_Coverage, 820,
10775 /* 27140 */ GIR_EraseRootFromParent_Done,
10776 /* 27141 */ // Label 797: @27141
10777 /* 27141 */ GIM_Try, /*On fail goto*//*Label 798*/ GIMT_Encode4(27186), // Rule ID 821 //
10778 /* 27146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10779 /* 27149 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fseq_w),
10780 /* 27154 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10781 /* 27157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10782 /* 27160 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10783 /* 27163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10784 /* 27167 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10785 /* 27171 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10786 /* 27175 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8243:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSEQ_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10787 /* 27175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSEQ_W),
10788 /* 27178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10789 /* 27180 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10790 /* 27182 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10791 /* 27184 */ GIR_RootConstrainSelectedInstOperands,
10792 /* 27185 */ // GIR_Coverage, 821,
10793 /* 27185 */ GIR_EraseRootFromParent_Done,
10794 /* 27186 */ // Label 798: @27186
10795 /* 27186 */ GIM_Try, /*On fail goto*//*Label 799*/ GIMT_Encode4(27231), // Rule ID 822 //
10796 /* 27191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10797 /* 27194 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fseq_d),
10798 /* 27199 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10799 /* 27202 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10800 /* 27205 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10801 /* 27208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10802 /* 27212 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10803 /* 27216 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10804 /* 27220 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8242:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSEQ_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10805 /* 27220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSEQ_D),
10806 /* 27223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10807 /* 27225 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10808 /* 27227 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10809 /* 27229 */ GIR_RootConstrainSelectedInstOperands,
10810 /* 27230 */ // GIR_Coverage, 822,
10811 /* 27230 */ GIR_EraseRootFromParent_Done,
10812 /* 27231 */ // Label 799: @27231
10813 /* 27231 */ GIM_Try, /*On fail goto*//*Label 800*/ GIMT_Encode4(27276), // Rule ID 823 //
10814 /* 27236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10815 /* 27239 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsle_w),
10816 /* 27244 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10817 /* 27247 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10818 /* 27250 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10819 /* 27253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10820 /* 27257 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10821 /* 27261 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10822 /* 27265 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8245:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSLE_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10823 /* 27265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSLE_W),
10824 /* 27268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10825 /* 27270 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10826 /* 27272 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10827 /* 27274 */ GIR_RootConstrainSelectedInstOperands,
10828 /* 27275 */ // GIR_Coverage, 823,
10829 /* 27275 */ GIR_EraseRootFromParent_Done,
10830 /* 27276 */ // Label 800: @27276
10831 /* 27276 */ GIM_Try, /*On fail goto*//*Label 801*/ GIMT_Encode4(27321), // Rule ID 824 //
10832 /* 27281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10833 /* 27284 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsle_d),
10834 /* 27289 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10835 /* 27292 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10836 /* 27295 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10837 /* 27298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10838 /* 27302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10839 /* 27306 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10840 /* 27310 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8244:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSLE_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10841 /* 27310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSLE_D),
10842 /* 27313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10843 /* 27315 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10844 /* 27317 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10845 /* 27319 */ GIR_RootConstrainSelectedInstOperands,
10846 /* 27320 */ // GIR_Coverage, 824,
10847 /* 27320 */ GIR_EraseRootFromParent_Done,
10848 /* 27321 */ // Label 801: @27321
10849 /* 27321 */ GIM_Try, /*On fail goto*//*Label 802*/ GIMT_Encode4(27366), // Rule ID 825 //
10850 /* 27326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10851 /* 27329 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fslt_w),
10852 /* 27334 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10853 /* 27337 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10854 /* 27340 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10855 /* 27343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10856 /* 27347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10857 /* 27351 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10858 /* 27355 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8247:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSLT_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10859 /* 27355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSLT_W),
10860 /* 27358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10861 /* 27360 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10862 /* 27362 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10863 /* 27364 */ GIR_RootConstrainSelectedInstOperands,
10864 /* 27365 */ // GIR_Coverage, 825,
10865 /* 27365 */ GIR_EraseRootFromParent_Done,
10866 /* 27366 */ // Label 802: @27366
10867 /* 27366 */ GIM_Try, /*On fail goto*//*Label 803*/ GIMT_Encode4(27411), // Rule ID 826 //
10868 /* 27371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10869 /* 27374 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fslt_d),
10870 /* 27379 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10871 /* 27382 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10872 /* 27385 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10873 /* 27388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10874 /* 27392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10875 /* 27396 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10876 /* 27400 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8246:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSLT_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10877 /* 27400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSLT_D),
10878 /* 27403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10879 /* 27405 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10880 /* 27407 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10881 /* 27409 */ GIR_RootConstrainSelectedInstOperands,
10882 /* 27410 */ // GIR_Coverage, 826,
10883 /* 27410 */ GIR_EraseRootFromParent_Done,
10884 /* 27411 */ // Label 803: @27411
10885 /* 27411 */ GIM_Try, /*On fail goto*//*Label 804*/ GIMT_Encode4(27456), // Rule ID 827 //
10886 /* 27416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10887 /* 27419 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsne_w),
10888 /* 27424 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10889 /* 27427 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10890 /* 27430 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10891 /* 27433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10892 /* 27437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10893 /* 27441 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10894 /* 27445 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8249:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSNE_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10895 /* 27445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSNE_W),
10896 /* 27448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10897 /* 27450 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10898 /* 27452 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10899 /* 27454 */ GIR_RootConstrainSelectedInstOperands,
10900 /* 27455 */ // GIR_Coverage, 827,
10901 /* 27455 */ GIR_EraseRootFromParent_Done,
10902 /* 27456 */ // Label 804: @27456
10903 /* 27456 */ GIM_Try, /*On fail goto*//*Label 805*/ GIMT_Encode4(27501), // Rule ID 828 //
10904 /* 27461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10905 /* 27464 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsne_d),
10906 /* 27469 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10907 /* 27472 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10908 /* 27475 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10909 /* 27478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10910 /* 27482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10911 /* 27486 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10912 /* 27490 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8248:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSNE_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10913 /* 27490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSNE_D),
10914 /* 27493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10915 /* 27495 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10916 /* 27497 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10917 /* 27499 */ GIR_RootConstrainSelectedInstOperands,
10918 /* 27500 */ // GIR_Coverage, 828,
10919 /* 27500 */ GIR_EraseRootFromParent_Done,
10920 /* 27501 */ // Label 805: @27501
10921 /* 27501 */ GIM_Try, /*On fail goto*//*Label 806*/ GIMT_Encode4(27546), // Rule ID 829 //
10922 /* 27506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10923 /* 27509 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsor_w),
10924 /* 27514 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10925 /* 27517 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10926 /* 27520 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10927 /* 27523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10928 /* 27527 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10929 /* 27531 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10930 /* 27535 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8251:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSOR_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10931 /* 27535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSOR_W),
10932 /* 27538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10933 /* 27540 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10934 /* 27542 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10935 /* 27544 */ GIR_RootConstrainSelectedInstOperands,
10936 /* 27545 */ // GIR_Coverage, 829,
10937 /* 27545 */ GIR_EraseRootFromParent_Done,
10938 /* 27546 */ // Label 806: @27546
10939 /* 27546 */ GIM_Try, /*On fail goto*//*Label 807*/ GIMT_Encode4(27591), // Rule ID 830 //
10940 /* 27551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10941 /* 27554 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsor_d),
10942 /* 27559 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10943 /* 27562 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10944 /* 27565 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10945 /* 27568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10946 /* 27572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10947 /* 27576 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10948 /* 27580 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8250:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSOR_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10949 /* 27580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSOR_D),
10950 /* 27583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10951 /* 27585 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10952 /* 27587 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10953 /* 27589 */ GIR_RootConstrainSelectedInstOperands,
10954 /* 27590 */ // GIR_Coverage, 830,
10955 /* 27590 */ GIR_EraseRootFromParent_Done,
10956 /* 27591 */ // Label 807: @27591
10957 /* 27591 */ GIM_Try, /*On fail goto*//*Label 808*/ GIMT_Encode4(27636), // Rule ID 835 //
10958 /* 27596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10959 /* 27599 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsueq_w),
10960 /* 27604 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10961 /* 27607 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10962 /* 27610 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10963 /* 27613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10964 /* 27617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10965 /* 27621 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10966 /* 27625 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8257:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSUEQ_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10967 /* 27625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUEQ_W),
10968 /* 27628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10969 /* 27630 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10970 /* 27632 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10971 /* 27634 */ GIR_RootConstrainSelectedInstOperands,
10972 /* 27635 */ // GIR_Coverage, 835,
10973 /* 27635 */ GIR_EraseRootFromParent_Done,
10974 /* 27636 */ // Label 808: @27636
10975 /* 27636 */ GIM_Try, /*On fail goto*//*Label 809*/ GIMT_Encode4(27681), // Rule ID 836 //
10976 /* 27641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10977 /* 27644 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsueq_d),
10978 /* 27649 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10979 /* 27652 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10980 /* 27655 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10981 /* 27658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10982 /* 27662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10983 /* 27666 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10984 /* 27670 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8256:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSUEQ_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10985 /* 27670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUEQ_D),
10986 /* 27673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10987 /* 27675 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10988 /* 27677 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10989 /* 27679 */ GIR_RootConstrainSelectedInstOperands,
10990 /* 27680 */ // GIR_Coverage, 836,
10991 /* 27680 */ GIR_EraseRootFromParent_Done,
10992 /* 27681 */ // Label 809: @27681
10993 /* 27681 */ GIM_Try, /*On fail goto*//*Label 810*/ GIMT_Encode4(27726), // Rule ID 837 //
10994 /* 27686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
10995 /* 27689 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsule_w),
10996 /* 27694 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10997 /* 27697 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10998 /* 27700 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10999 /* 27703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11000 /* 27707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11001 /* 27711 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11002 /* 27715 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8259:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSULE_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
11003 /* 27715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSULE_W),
11004 /* 27718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11005 /* 27720 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11006 /* 27722 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11007 /* 27724 */ GIR_RootConstrainSelectedInstOperands,
11008 /* 27725 */ // GIR_Coverage, 837,
11009 /* 27725 */ GIR_EraseRootFromParent_Done,
11010 /* 27726 */ // Label 810: @27726
11011 /* 27726 */ GIM_Try, /*On fail goto*//*Label 811*/ GIMT_Encode4(27771), // Rule ID 838 //
11012 /* 27731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11013 /* 27734 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsule_d),
11014 /* 27739 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11015 /* 27742 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11016 /* 27745 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11017 /* 27748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11018 /* 27752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11019 /* 27756 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11020 /* 27760 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8258:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSULE_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
11021 /* 27760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSULE_D),
11022 /* 27763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11023 /* 27765 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11024 /* 27767 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11025 /* 27769 */ GIR_RootConstrainSelectedInstOperands,
11026 /* 27770 */ // GIR_Coverage, 838,
11027 /* 27770 */ GIR_EraseRootFromParent_Done,
11028 /* 27771 */ // Label 811: @27771
11029 /* 27771 */ GIM_Try, /*On fail goto*//*Label 812*/ GIMT_Encode4(27816), // Rule ID 839 //
11030 /* 27776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11031 /* 27779 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsult_w),
11032 /* 27784 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11033 /* 27787 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11034 /* 27790 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11035 /* 27793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11036 /* 27797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11037 /* 27801 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11038 /* 27805 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8261:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSULT_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
11039 /* 27805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSULT_W),
11040 /* 27808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11041 /* 27810 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11042 /* 27812 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11043 /* 27814 */ GIR_RootConstrainSelectedInstOperands,
11044 /* 27815 */ // GIR_Coverage, 839,
11045 /* 27815 */ GIR_EraseRootFromParent_Done,
11046 /* 27816 */ // Label 812: @27816
11047 /* 27816 */ GIM_Try, /*On fail goto*//*Label 813*/ GIMT_Encode4(27861), // Rule ID 840 //
11048 /* 27821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11049 /* 27824 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsult_d),
11050 /* 27829 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11051 /* 27832 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11052 /* 27835 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11053 /* 27838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11054 /* 27842 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11055 /* 27846 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11056 /* 27850 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8260:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSULT_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
11057 /* 27850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSULT_D),
11058 /* 27853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11059 /* 27855 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11060 /* 27857 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11061 /* 27859 */ GIR_RootConstrainSelectedInstOperands,
11062 /* 27860 */ // GIR_Coverage, 840,
11063 /* 27860 */ GIR_EraseRootFromParent_Done,
11064 /* 27861 */ // Label 813: @27861
11065 /* 27861 */ GIM_Try, /*On fail goto*//*Label 814*/ GIMT_Encode4(27906), // Rule ID 841 //
11066 /* 27866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11067 /* 27869 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsun_w),
11068 /* 27874 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11069 /* 27877 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11070 /* 27880 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11071 /* 27883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11072 /* 27887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11073 /* 27891 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11074 /* 27895 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8263:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSUN_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
11075 /* 27895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUN_W),
11076 /* 27898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11077 /* 27900 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11078 /* 27902 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11079 /* 27904 */ GIR_RootConstrainSelectedInstOperands,
11080 /* 27905 */ // GIR_Coverage, 841,
11081 /* 27905 */ GIR_EraseRootFromParent_Done,
11082 /* 27906 */ // Label 814: @27906
11083 /* 27906 */ GIM_Try, /*On fail goto*//*Label 815*/ GIMT_Encode4(27951), // Rule ID 842 //
11084 /* 27911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11085 /* 27914 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsun_d),
11086 /* 27919 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11087 /* 27922 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11088 /* 27925 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11089 /* 27928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11090 /* 27932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11091 /* 27936 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11092 /* 27940 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8262:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSUN_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
11093 /* 27940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUN_D),
11094 /* 27943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11095 /* 27945 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11096 /* 27947 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11097 /* 27949 */ GIR_RootConstrainSelectedInstOperands,
11098 /* 27950 */ // GIR_Coverage, 842,
11099 /* 27950 */ GIR_EraseRootFromParent_Done,
11100 /* 27951 */ // Label 815: @27951
11101 /* 27951 */ GIM_Try, /*On fail goto*//*Label 816*/ GIMT_Encode4(27996), // Rule ID 843 //
11102 /* 27956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11103 /* 27959 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsune_w),
11104 /* 27964 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11105 /* 27967 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11106 /* 27970 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11107 /* 27973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11108 /* 27977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11109 /* 27981 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11110 /* 27985 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8265:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSUNE_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
11111 /* 27985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUNE_W),
11112 /* 27988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11113 /* 27990 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11114 /* 27992 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11115 /* 27994 */ GIR_RootConstrainSelectedInstOperands,
11116 /* 27995 */ // GIR_Coverage, 843,
11117 /* 27995 */ GIR_EraseRootFromParent_Done,
11118 /* 27996 */ // Label 816: @27996
11119 /* 27996 */ GIM_Try, /*On fail goto*//*Label 817*/ GIMT_Encode4(28041), // Rule ID 844 //
11120 /* 28001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11121 /* 28004 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsune_d),
11122 /* 28009 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11123 /* 28012 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11124 /* 28015 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11125 /* 28018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11126 /* 28022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11127 /* 28026 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11128 /* 28030 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8264:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSUNE_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
11129 /* 28030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUNE_D),
11130 /* 28033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11131 /* 28035 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11132 /* 28037 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11133 /* 28039 */ GIR_RootConstrainSelectedInstOperands,
11134 /* 28040 */ // GIR_Coverage, 844,
11135 /* 28040 */ GIR_EraseRootFromParent_Done,
11136 /* 28041 */ // Label 817: @28041
11137 /* 28041 */ GIM_Try, /*On fail goto*//*Label 818*/ GIMT_Encode4(28086), // Rule ID 849 //
11138 /* 28046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11139 /* 28049 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftq_h),
11140 /* 28054 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11141 /* 28057 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11142 /* 28060 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11143 /* 28063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11144 /* 28067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11145 /* 28071 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11146 /* 28075 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8270:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FTQ_H:{ *:[v8i16] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
11147 /* 28075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTQ_H),
11148 /* 28078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11149 /* 28080 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11150 /* 28082 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11151 /* 28084 */ GIR_RootConstrainSelectedInstOperands,
11152 /* 28085 */ // GIR_Coverage, 849,
11153 /* 28085 */ GIR_EraseRootFromParent_Done,
11154 /* 28086 */ // Label 818: @28086
11155 /* 28086 */ GIM_Try, /*On fail goto*//*Label 819*/ GIMT_Encode4(28131), // Rule ID 850 //
11156 /* 28091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11157 /* 28094 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftq_w),
11158 /* 28099 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11159 /* 28102 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11160 /* 28105 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11161 /* 28108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11162 /* 28112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11163 /* 28116 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11164 /* 28120 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8271:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FTQ_W:{ *:[v4i32] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
11165 /* 28120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTQ_W),
11166 /* 28123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11167 /* 28125 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11168 /* 28127 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11169 /* 28129 */ GIR_RootConstrainSelectedInstOperands,
11170 /* 28130 */ // GIR_Coverage, 850,
11171 /* 28130 */ GIR_EraseRootFromParent_Done,
11172 /* 28131 */ // Label 819: @28131
11173 /* 28131 */ GIM_Try, /*On fail goto*//*Label 820*/ GIMT_Encode4(28176), // Rule ID 855 //
11174 /* 28136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11175 /* 28139 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_s_h),
11176 /* 28144 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11177 /* 28147 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11178 /* 28150 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11179 /* 28153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11180 /* 28157 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11181 /* 28161 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11182 /* 28165 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8277:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (HADD_S_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11183 /* 28165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_S_H),
11184 /* 28168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11185 /* 28170 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11186 /* 28172 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11187 /* 28174 */ GIR_RootConstrainSelectedInstOperands,
11188 /* 28175 */ // GIR_Coverage, 855,
11189 /* 28175 */ GIR_EraseRootFromParent_Done,
11190 /* 28176 */ // Label 820: @28176
11191 /* 28176 */ GIM_Try, /*On fail goto*//*Label 821*/ GIMT_Encode4(28221), // Rule ID 856 //
11192 /* 28181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11193 /* 28184 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_s_w),
11194 /* 28189 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11195 /* 28192 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11196 /* 28195 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11197 /* 28198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11198 /* 28202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11199 /* 28206 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11200 /* 28210 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8278:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (HADD_S_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11201 /* 28210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_S_W),
11202 /* 28213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11203 /* 28215 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11204 /* 28217 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11205 /* 28219 */ GIR_RootConstrainSelectedInstOperands,
11206 /* 28220 */ // GIR_Coverage, 856,
11207 /* 28220 */ GIR_EraseRootFromParent_Done,
11208 /* 28221 */ // Label 821: @28221
11209 /* 28221 */ GIM_Try, /*On fail goto*//*Label 822*/ GIMT_Encode4(28266), // Rule ID 857 //
11210 /* 28226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11211 /* 28229 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_s_d),
11212 /* 28234 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11213 /* 28237 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11214 /* 28240 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11215 /* 28243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11216 /* 28247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11217 /* 28251 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11218 /* 28255 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8276:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (HADD_S_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11219 /* 28255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_S_D),
11220 /* 28258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11221 /* 28260 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11222 /* 28262 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11223 /* 28264 */ GIR_RootConstrainSelectedInstOperands,
11224 /* 28265 */ // GIR_Coverage, 857,
11225 /* 28265 */ GIR_EraseRootFromParent_Done,
11226 /* 28266 */ // Label 822: @28266
11227 /* 28266 */ GIM_Try, /*On fail goto*//*Label 823*/ GIMT_Encode4(28311), // Rule ID 858 //
11228 /* 28271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11229 /* 28274 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_u_h),
11230 /* 28279 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11231 /* 28282 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11232 /* 28285 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11233 /* 28288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11234 /* 28292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11235 /* 28296 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11236 /* 28300 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8280:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (HADD_U_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11237 /* 28300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_U_H),
11238 /* 28303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11239 /* 28305 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11240 /* 28307 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11241 /* 28309 */ GIR_RootConstrainSelectedInstOperands,
11242 /* 28310 */ // GIR_Coverage, 858,
11243 /* 28310 */ GIR_EraseRootFromParent_Done,
11244 /* 28311 */ // Label 823: @28311
11245 /* 28311 */ GIM_Try, /*On fail goto*//*Label 824*/ GIMT_Encode4(28356), // Rule ID 859 //
11246 /* 28316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11247 /* 28319 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_u_w),
11248 /* 28324 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11249 /* 28327 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11250 /* 28330 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11251 /* 28333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11252 /* 28337 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11253 /* 28341 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11254 /* 28345 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8281:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (HADD_U_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11255 /* 28345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_U_W),
11256 /* 28348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11257 /* 28350 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11258 /* 28352 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11259 /* 28354 */ GIR_RootConstrainSelectedInstOperands,
11260 /* 28355 */ // GIR_Coverage, 859,
11261 /* 28355 */ GIR_EraseRootFromParent_Done,
11262 /* 28356 */ // Label 824: @28356
11263 /* 28356 */ GIM_Try, /*On fail goto*//*Label 825*/ GIMT_Encode4(28401), // Rule ID 860 //
11264 /* 28361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11265 /* 28364 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_u_d),
11266 /* 28369 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11267 /* 28372 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11268 /* 28375 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11269 /* 28378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11270 /* 28382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11271 /* 28386 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11272 /* 28390 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8279:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (HADD_U_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11273 /* 28390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_U_D),
11274 /* 28393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11275 /* 28395 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11276 /* 28397 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11277 /* 28399 */ GIR_RootConstrainSelectedInstOperands,
11278 /* 28400 */ // GIR_Coverage, 860,
11279 /* 28400 */ GIR_EraseRootFromParent_Done,
11280 /* 28401 */ // Label 825: @28401
11281 /* 28401 */ GIM_Try, /*On fail goto*//*Label 826*/ GIMT_Encode4(28446), // Rule ID 861 //
11282 /* 28406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11283 /* 28409 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_s_h),
11284 /* 28414 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11285 /* 28417 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11286 /* 28420 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11287 /* 28423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11288 /* 28427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11289 /* 28431 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11290 /* 28435 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8283:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (HSUB_S_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11291 /* 28435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_S_H),
11292 /* 28438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11293 /* 28440 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11294 /* 28442 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11295 /* 28444 */ GIR_RootConstrainSelectedInstOperands,
11296 /* 28445 */ // GIR_Coverage, 861,
11297 /* 28445 */ GIR_EraseRootFromParent_Done,
11298 /* 28446 */ // Label 826: @28446
11299 /* 28446 */ GIM_Try, /*On fail goto*//*Label 827*/ GIMT_Encode4(28491), // Rule ID 862 //
11300 /* 28451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11301 /* 28454 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_s_w),
11302 /* 28459 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11303 /* 28462 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11304 /* 28465 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11305 /* 28468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11306 /* 28472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11307 /* 28476 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11308 /* 28480 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8284:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (HSUB_S_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11309 /* 28480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_S_W),
11310 /* 28483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11311 /* 28485 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11312 /* 28487 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11313 /* 28489 */ GIR_RootConstrainSelectedInstOperands,
11314 /* 28490 */ // GIR_Coverage, 862,
11315 /* 28490 */ GIR_EraseRootFromParent_Done,
11316 /* 28491 */ // Label 827: @28491
11317 /* 28491 */ GIM_Try, /*On fail goto*//*Label 828*/ GIMT_Encode4(28536), // Rule ID 863 //
11318 /* 28496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11319 /* 28499 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_s_d),
11320 /* 28504 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11321 /* 28507 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11322 /* 28510 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11323 /* 28513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11324 /* 28517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11325 /* 28521 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11326 /* 28525 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8282:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (HSUB_S_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11327 /* 28525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_S_D),
11328 /* 28528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11329 /* 28530 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11330 /* 28532 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11331 /* 28534 */ GIR_RootConstrainSelectedInstOperands,
11332 /* 28535 */ // GIR_Coverage, 863,
11333 /* 28535 */ GIR_EraseRootFromParent_Done,
11334 /* 28536 */ // Label 828: @28536
11335 /* 28536 */ GIM_Try, /*On fail goto*//*Label 829*/ GIMT_Encode4(28581), // Rule ID 864 //
11336 /* 28541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11337 /* 28544 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_u_h),
11338 /* 28549 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11339 /* 28552 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11340 /* 28555 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11341 /* 28558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11342 /* 28562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11343 /* 28566 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11344 /* 28570 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8286:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (HSUB_U_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11345 /* 28570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_U_H),
11346 /* 28573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11347 /* 28575 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11348 /* 28577 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11349 /* 28579 */ GIR_RootConstrainSelectedInstOperands,
11350 /* 28580 */ // GIR_Coverage, 864,
11351 /* 28580 */ GIR_EraseRootFromParent_Done,
11352 /* 28581 */ // Label 829: @28581
11353 /* 28581 */ GIM_Try, /*On fail goto*//*Label 830*/ GIMT_Encode4(28626), // Rule ID 865 //
11354 /* 28586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11355 /* 28589 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_u_w),
11356 /* 28594 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11357 /* 28597 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11358 /* 28600 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11359 /* 28603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11360 /* 28607 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11361 /* 28611 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11362 /* 28615 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8287:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (HSUB_U_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11363 /* 28615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_U_W),
11364 /* 28618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11365 /* 28620 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11366 /* 28622 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11367 /* 28624 */ GIR_RootConstrainSelectedInstOperands,
11368 /* 28625 */ // GIR_Coverage, 865,
11369 /* 28625 */ GIR_EraseRootFromParent_Done,
11370 /* 28626 */ // Label 830: @28626
11371 /* 28626 */ GIM_Try, /*On fail goto*//*Label 831*/ GIMT_Encode4(28671), // Rule ID 866 //
11372 /* 28631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11373 /* 28634 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_u_d),
11374 /* 28639 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11375 /* 28642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11376 /* 28645 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11377 /* 28648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11378 /* 28652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11379 /* 28656 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11380 /* 28660 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8285:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (HSUB_U_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11381 /* 28660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_U_D),
11382 /* 28663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11383 /* 28665 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11384 /* 28667 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11385 /* 28669 */ GIR_RootConstrainSelectedInstOperands,
11386 /* 28670 */ // GIR_Coverage, 866,
11387 /* 28670 */ GIR_EraseRootFromParent_Done,
11388 /* 28671 */ // Label 831: @28671
11389 /* 28671 */ GIM_Try, /*On fail goto*//*Label 832*/ GIMT_Encode4(28716), // Rule ID 919 //
11390 /* 28676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11391 /* 28679 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_max_a_b),
11392 /* 28684 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11393 /* 28687 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11394 /* 28690 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11395 /* 28693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11396 /* 28697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11397 /* 28701 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11398 /* 28705 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8341:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MAX_A_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11399 /* 28705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MAX_A_B),
11400 /* 28708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11401 /* 28710 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11402 /* 28712 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11403 /* 28714 */ GIR_RootConstrainSelectedInstOperands,
11404 /* 28715 */ // GIR_Coverage, 919,
11405 /* 28715 */ GIR_EraseRootFromParent_Done,
11406 /* 28716 */ // Label 832: @28716
11407 /* 28716 */ GIM_Try, /*On fail goto*//*Label 833*/ GIMT_Encode4(28761), // Rule ID 920 //
11408 /* 28721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11409 /* 28724 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_max_a_h),
11410 /* 28729 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11411 /* 28732 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11412 /* 28735 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11413 /* 28738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11414 /* 28742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11415 /* 28746 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11416 /* 28750 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8343:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MAX_A_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11417 /* 28750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MAX_A_H),
11418 /* 28753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11419 /* 28755 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11420 /* 28757 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11421 /* 28759 */ GIR_RootConstrainSelectedInstOperands,
11422 /* 28760 */ // GIR_Coverage, 920,
11423 /* 28760 */ GIR_EraseRootFromParent_Done,
11424 /* 28761 */ // Label 833: @28761
11425 /* 28761 */ GIM_Try, /*On fail goto*//*Label 834*/ GIMT_Encode4(28806), // Rule ID 921 //
11426 /* 28766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11427 /* 28769 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_max_a_w),
11428 /* 28774 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11429 /* 28777 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11430 /* 28780 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11431 /* 28783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11432 /* 28787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11433 /* 28791 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11434 /* 28795 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8344:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MAX_A_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11435 /* 28795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MAX_A_W),
11436 /* 28798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11437 /* 28800 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11438 /* 28802 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11439 /* 28804 */ GIR_RootConstrainSelectedInstOperands,
11440 /* 28805 */ // GIR_Coverage, 921,
11441 /* 28805 */ GIR_EraseRootFromParent_Done,
11442 /* 28806 */ // Label 834: @28806
11443 /* 28806 */ GIM_Try, /*On fail goto*//*Label 835*/ GIMT_Encode4(28851), // Rule ID 922 //
11444 /* 28811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11445 /* 28814 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_max_a_d),
11446 /* 28819 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11447 /* 28822 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11448 /* 28825 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11449 /* 28828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11450 /* 28832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11451 /* 28836 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11452 /* 28840 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8342:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MAX_A_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11453 /* 28840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MAX_A_D),
11454 /* 28843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11455 /* 28845 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11456 /* 28847 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11457 /* 28849 */ GIR_RootConstrainSelectedInstOperands,
11458 /* 28850 */ // GIR_Coverage, 922,
11459 /* 28850 */ GIR_EraseRootFromParent_Done,
11460 /* 28851 */ // Label 835: @28851
11461 /* 28851 */ GIM_Try, /*On fail goto*//*Label 836*/ GIMT_Encode4(28896), // Rule ID 939 //
11462 /* 28856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11463 /* 28859 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_min_a_b),
11464 /* 28864 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11465 /* 28867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11466 /* 28870 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11467 /* 28873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11468 /* 28877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11469 /* 28881 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11470 /* 28885 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8361:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MIN_A_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11471 /* 28885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_A_B),
11472 /* 28888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11473 /* 28890 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11474 /* 28892 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11475 /* 28894 */ GIR_RootConstrainSelectedInstOperands,
11476 /* 28895 */ // GIR_Coverage, 939,
11477 /* 28895 */ GIR_EraseRootFromParent_Done,
11478 /* 28896 */ // Label 836: @28896
11479 /* 28896 */ GIM_Try, /*On fail goto*//*Label 837*/ GIMT_Encode4(28941), // Rule ID 940 //
11480 /* 28901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11481 /* 28904 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_min_a_h),
11482 /* 28909 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11483 /* 28912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11484 /* 28915 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11485 /* 28918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11486 /* 28922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11487 /* 28926 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11488 /* 28930 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8363:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MIN_A_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11489 /* 28930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_A_H),
11490 /* 28933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11491 /* 28935 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11492 /* 28937 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11493 /* 28939 */ GIR_RootConstrainSelectedInstOperands,
11494 /* 28940 */ // GIR_Coverage, 940,
11495 /* 28940 */ GIR_EraseRootFromParent_Done,
11496 /* 28941 */ // Label 837: @28941
11497 /* 28941 */ GIM_Try, /*On fail goto*//*Label 838*/ GIMT_Encode4(28986), // Rule ID 941 //
11498 /* 28946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11499 /* 28949 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_min_a_w),
11500 /* 28954 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11501 /* 28957 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11502 /* 28960 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11503 /* 28963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11504 /* 28967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11505 /* 28971 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11506 /* 28975 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8364:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MIN_A_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11507 /* 28975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_A_W),
11508 /* 28978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11509 /* 28980 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11510 /* 28982 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11511 /* 28984 */ GIR_RootConstrainSelectedInstOperands,
11512 /* 28985 */ // GIR_Coverage, 941,
11513 /* 28985 */ GIR_EraseRootFromParent_Done,
11514 /* 28986 */ // Label 838: @28986
11515 /* 28986 */ GIM_Try, /*On fail goto*//*Label 839*/ GIMT_Encode4(29031), // Rule ID 942 //
11516 /* 28991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11517 /* 28994 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_min_a_d),
11518 /* 28999 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11519 /* 29002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11520 /* 29005 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11521 /* 29008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11522 /* 29012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11523 /* 29016 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11524 /* 29020 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8362:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MIN_A_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11525 /* 29020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_A_D),
11526 /* 29023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11527 /* 29025 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11528 /* 29027 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11529 /* 29029 */ GIR_RootConstrainSelectedInstOperands,
11530 /* 29030 */ // GIR_Coverage, 942,
11531 /* 29030 */ GIR_EraseRootFromParent_Done,
11532 /* 29031 */ // Label 839: @29031
11533 /* 29031 */ GIM_Try, /*On fail goto*//*Label 840*/ GIMT_Encode4(29076), // Rule ID 975 //
11534 /* 29036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11535 /* 29039 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_q_h),
11536 /* 29044 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11537 /* 29047 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11538 /* 29050 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11539 /* 29053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11540 /* 29057 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11541 /* 29061 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11542 /* 29065 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8403:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MUL_Q_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11543 /* 29065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_Q_H),
11544 /* 29068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11545 /* 29070 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11546 /* 29072 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11547 /* 29074 */ GIR_RootConstrainSelectedInstOperands,
11548 /* 29075 */ // GIR_Coverage, 975,
11549 /* 29075 */ GIR_EraseRootFromParent_Done,
11550 /* 29076 */ // Label 840: @29076
11551 /* 29076 */ GIM_Try, /*On fail goto*//*Label 841*/ GIMT_Encode4(29121), // Rule ID 976 //
11552 /* 29081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11553 /* 29084 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_q_w),
11554 /* 29089 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11555 /* 29092 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11556 /* 29095 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11557 /* 29098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11558 /* 29102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11559 /* 29106 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11560 /* 29110 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8404:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MUL_Q_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11561 /* 29110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_Q_W),
11562 /* 29113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11563 /* 29115 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11564 /* 29117 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11565 /* 29119 */ GIR_RootConstrainSelectedInstOperands,
11566 /* 29120 */ // GIR_Coverage, 976,
11567 /* 29120 */ GIR_EraseRootFromParent_Done,
11568 /* 29121 */ // Label 841: @29121
11569 /* 29121 */ GIM_Try, /*On fail goto*//*Label 842*/ GIMT_Encode4(29166), // Rule ID 977 //
11570 /* 29126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11571 /* 29129 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulr_q_h),
11572 /* 29134 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11573 /* 29137 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11574 /* 29140 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11575 /* 29143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11576 /* 29147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11577 /* 29151 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11578 /* 29155 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8414:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MULR_Q_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11579 /* 29155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULR_Q_H),
11580 /* 29158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11581 /* 29160 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11582 /* 29162 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11583 /* 29164 */ GIR_RootConstrainSelectedInstOperands,
11584 /* 29165 */ // GIR_Coverage, 977,
11585 /* 29165 */ GIR_EraseRootFromParent_Done,
11586 /* 29166 */ // Label 842: @29166
11587 /* 29166 */ GIM_Try, /*On fail goto*//*Label 843*/ GIMT_Encode4(29211), // Rule ID 978 //
11588 /* 29171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11589 /* 29174 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulr_q_w),
11590 /* 29179 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11591 /* 29182 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11592 /* 29185 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11593 /* 29188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11594 /* 29192 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11595 /* 29196 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11596 /* 29200 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8415:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MULR_Q_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11597 /* 29200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULR_Q_W),
11598 /* 29203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11599 /* 29205 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11600 /* 29207 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11601 /* 29209 */ GIR_RootConstrainSelectedInstOperands,
11602 /* 29210 */ // GIR_Coverage, 978,
11603 /* 29210 */ GIR_EraseRootFromParent_Done,
11604 /* 29211 */ // Label 843: @29211
11605 /* 29211 */ GIM_Try, /*On fail goto*//*Label 844*/ GIMT_Encode4(29256), // Rule ID 1056 //
11606 /* 29216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11607 /* 29219 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srar_b),
11608 /* 29224 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11609 /* 29227 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11610 /* 29230 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11611 /* 29233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11612 /* 29237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11613 /* 29241 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11614 /* 29245 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8528:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SRAR_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11615 /* 29245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRAR_B),
11616 /* 29248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11617 /* 29250 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11618 /* 29252 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11619 /* 29254 */ GIR_RootConstrainSelectedInstOperands,
11620 /* 29255 */ // GIR_Coverage, 1056,
11621 /* 29255 */ GIR_EraseRootFromParent_Done,
11622 /* 29256 */ // Label 844: @29256
11623 /* 29256 */ GIM_Try, /*On fail goto*//*Label 845*/ GIMT_Encode4(29301), // Rule ID 1057 //
11624 /* 29261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11625 /* 29264 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srar_h),
11626 /* 29269 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11627 /* 29272 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11628 /* 29275 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11629 /* 29278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11630 /* 29282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11631 /* 29286 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11632 /* 29290 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8530:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SRAR_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11633 /* 29290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRAR_H),
11634 /* 29293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11635 /* 29295 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11636 /* 29297 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11637 /* 29299 */ GIR_RootConstrainSelectedInstOperands,
11638 /* 29300 */ // GIR_Coverage, 1057,
11639 /* 29300 */ GIR_EraseRootFromParent_Done,
11640 /* 29301 */ // Label 845: @29301
11641 /* 29301 */ GIM_Try, /*On fail goto*//*Label 846*/ GIMT_Encode4(29346), // Rule ID 1058 //
11642 /* 29306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11643 /* 29309 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srar_w),
11644 /* 29314 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11645 /* 29317 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11646 /* 29320 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11647 /* 29323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11648 /* 29327 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11649 /* 29331 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11650 /* 29335 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8531:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SRAR_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11651 /* 29335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRAR_W),
11652 /* 29338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11653 /* 29340 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11654 /* 29342 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11655 /* 29344 */ GIR_RootConstrainSelectedInstOperands,
11656 /* 29345 */ // GIR_Coverage, 1058,
11657 /* 29345 */ GIR_EraseRootFromParent_Done,
11658 /* 29346 */ // Label 846: @29346
11659 /* 29346 */ GIM_Try, /*On fail goto*//*Label 847*/ GIMT_Encode4(29391), // Rule ID 1059 //
11660 /* 29351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11661 /* 29354 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srar_d),
11662 /* 29359 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11663 /* 29362 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11664 /* 29365 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11665 /* 29368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11666 /* 29372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11667 /* 29376 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11668 /* 29380 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8529:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SRAR_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11669 /* 29380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRAR_D),
11670 /* 29383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11671 /* 29385 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11672 /* 29387 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11673 /* 29389 */ GIR_RootConstrainSelectedInstOperands,
11674 /* 29390 */ // GIR_Coverage, 1059,
11675 /* 29390 */ GIR_EraseRootFromParent_Done,
11676 /* 29391 */ // Label 847: @29391
11677 /* 29391 */ GIM_Try, /*On fail goto*//*Label 848*/ GIMT_Encode4(29436), // Rule ID 1072 //
11678 /* 29396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11679 /* 29399 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlr_b),
11680 /* 29404 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11681 /* 29407 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11682 /* 29410 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11683 /* 29413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11684 /* 29417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11685 /* 29421 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11686 /* 29425 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8544:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SRLR_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11687 /* 29425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLR_B),
11688 /* 29428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11689 /* 29430 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11690 /* 29432 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11691 /* 29434 */ GIR_RootConstrainSelectedInstOperands,
11692 /* 29435 */ // GIR_Coverage, 1072,
11693 /* 29435 */ GIR_EraseRootFromParent_Done,
11694 /* 29436 */ // Label 848: @29436
11695 /* 29436 */ GIM_Try, /*On fail goto*//*Label 849*/ GIMT_Encode4(29481), // Rule ID 1073 //
11696 /* 29441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11697 /* 29444 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlr_h),
11698 /* 29449 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11699 /* 29452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11700 /* 29455 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11701 /* 29458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11702 /* 29462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11703 /* 29466 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11704 /* 29470 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8546:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SRLR_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11705 /* 29470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLR_H),
11706 /* 29473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11707 /* 29475 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11708 /* 29477 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11709 /* 29479 */ GIR_RootConstrainSelectedInstOperands,
11710 /* 29480 */ // GIR_Coverage, 1073,
11711 /* 29480 */ GIR_EraseRootFromParent_Done,
11712 /* 29481 */ // Label 849: @29481
11713 /* 29481 */ GIM_Try, /*On fail goto*//*Label 850*/ GIMT_Encode4(29526), // Rule ID 1074 //
11714 /* 29486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11715 /* 29489 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlr_w),
11716 /* 29494 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11717 /* 29497 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11718 /* 29500 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11719 /* 29503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11720 /* 29507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11721 /* 29511 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11722 /* 29515 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8547:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SRLR_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11723 /* 29515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLR_W),
11724 /* 29518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11725 /* 29520 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11726 /* 29522 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11727 /* 29524 */ GIR_RootConstrainSelectedInstOperands,
11728 /* 29525 */ // GIR_Coverage, 1074,
11729 /* 29525 */ GIR_EraseRootFromParent_Done,
11730 /* 29526 */ // Label 850: @29526
11731 /* 29526 */ GIM_Try, /*On fail goto*//*Label 851*/ GIMT_Encode4(29571), // Rule ID 1075 //
11732 /* 29531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11733 /* 29534 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlr_d),
11734 /* 29539 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11735 /* 29542 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11736 /* 29545 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11737 /* 29548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11738 /* 29552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11739 /* 29556 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11740 /* 29560 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8545:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SRLR_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11741 /* 29560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLR_D),
11742 /* 29563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11743 /* 29565 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11744 /* 29567 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11745 /* 29569 */ GIR_RootConstrainSelectedInstOperands,
11746 /* 29570 */ // GIR_Coverage, 1075,
11747 /* 29570 */ GIR_EraseRootFromParent_Done,
11748 /* 29571 */ // Label 851: @29571
11749 /* 29571 */ GIM_Try, /*On fail goto*//*Label 852*/ GIMT_Encode4(29616), // Rule ID 1084 //
11750 /* 29576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11751 /* 29579 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_s_b),
11752 /* 29584 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11753 /* 29587 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11754 /* 29590 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11755 /* 29593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11756 /* 29597 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11757 /* 29601 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11758 /* 29605 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8565:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBS_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11759 /* 29605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_S_B),
11760 /* 29608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11761 /* 29610 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11762 /* 29612 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11763 /* 29614 */ GIR_RootConstrainSelectedInstOperands,
11764 /* 29615 */ // GIR_Coverage, 1084,
11765 /* 29615 */ GIR_EraseRootFromParent_Done,
11766 /* 29616 */ // Label 852: @29616
11767 /* 29616 */ GIM_Try, /*On fail goto*//*Label 853*/ GIMT_Encode4(29661), // Rule ID 1085 //
11768 /* 29621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11769 /* 29624 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_s_h),
11770 /* 29629 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11771 /* 29632 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11772 /* 29635 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11773 /* 29638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11774 /* 29642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11775 /* 29646 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11776 /* 29650 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8567:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBS_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11777 /* 29650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_S_H),
11778 /* 29653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11779 /* 29655 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11780 /* 29657 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11781 /* 29659 */ GIR_RootConstrainSelectedInstOperands,
11782 /* 29660 */ // GIR_Coverage, 1085,
11783 /* 29660 */ GIR_EraseRootFromParent_Done,
11784 /* 29661 */ // Label 853: @29661
11785 /* 29661 */ GIM_Try, /*On fail goto*//*Label 854*/ GIMT_Encode4(29706), // Rule ID 1086 //
11786 /* 29666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11787 /* 29669 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_s_w),
11788 /* 29674 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11789 /* 29677 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11790 /* 29680 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11791 /* 29683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11792 /* 29687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11793 /* 29691 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11794 /* 29695 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8568:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBS_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11795 /* 29695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_S_W),
11796 /* 29698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11797 /* 29700 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11798 /* 29702 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11799 /* 29704 */ GIR_RootConstrainSelectedInstOperands,
11800 /* 29705 */ // GIR_Coverage, 1086,
11801 /* 29705 */ GIR_EraseRootFromParent_Done,
11802 /* 29706 */ // Label 854: @29706
11803 /* 29706 */ GIM_Try, /*On fail goto*//*Label 855*/ GIMT_Encode4(29751), // Rule ID 1087 //
11804 /* 29711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11805 /* 29714 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_s_d),
11806 /* 29719 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11807 /* 29722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11808 /* 29725 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11809 /* 29728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11810 /* 29732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11811 /* 29736 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11812 /* 29740 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8566:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBS_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11813 /* 29740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_S_D),
11814 /* 29743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11815 /* 29745 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11816 /* 29747 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11817 /* 29749 */ GIR_RootConstrainSelectedInstOperands,
11818 /* 29750 */ // GIR_Coverage, 1087,
11819 /* 29750 */ GIR_EraseRootFromParent_Done,
11820 /* 29751 */ // Label 855: @29751
11821 /* 29751 */ GIM_Try, /*On fail goto*//*Label 856*/ GIMT_Encode4(29796), // Rule ID 1088 //
11822 /* 29756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11823 /* 29759 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_u_b),
11824 /* 29764 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11825 /* 29767 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11826 /* 29770 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11827 /* 29773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11828 /* 29777 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11829 /* 29781 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11830 /* 29785 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8569:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBS_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11831 /* 29785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_U_B),
11832 /* 29788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11833 /* 29790 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11834 /* 29792 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11835 /* 29794 */ GIR_RootConstrainSelectedInstOperands,
11836 /* 29795 */ // GIR_Coverage, 1088,
11837 /* 29795 */ GIR_EraseRootFromParent_Done,
11838 /* 29796 */ // Label 856: @29796
11839 /* 29796 */ GIM_Try, /*On fail goto*//*Label 857*/ GIMT_Encode4(29841), // Rule ID 1089 //
11840 /* 29801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11841 /* 29804 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_u_h),
11842 /* 29809 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11843 /* 29812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11844 /* 29815 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11845 /* 29818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11846 /* 29822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11847 /* 29826 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11848 /* 29830 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8571:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBS_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11849 /* 29830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_U_H),
11850 /* 29833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11851 /* 29835 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11852 /* 29837 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11853 /* 29839 */ GIR_RootConstrainSelectedInstOperands,
11854 /* 29840 */ // GIR_Coverage, 1089,
11855 /* 29840 */ GIR_EraseRootFromParent_Done,
11856 /* 29841 */ // Label 857: @29841
11857 /* 29841 */ GIM_Try, /*On fail goto*//*Label 858*/ GIMT_Encode4(29886), // Rule ID 1090 //
11858 /* 29846 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11859 /* 29849 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_u_w),
11860 /* 29854 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11861 /* 29857 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11862 /* 29860 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11863 /* 29863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11864 /* 29867 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11865 /* 29871 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11866 /* 29875 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8572:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBS_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11867 /* 29875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_U_W),
11868 /* 29878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11869 /* 29880 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11870 /* 29882 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11871 /* 29884 */ GIR_RootConstrainSelectedInstOperands,
11872 /* 29885 */ // GIR_Coverage, 1090,
11873 /* 29885 */ GIR_EraseRootFromParent_Done,
11874 /* 29886 */ // Label 858: @29886
11875 /* 29886 */ GIM_Try, /*On fail goto*//*Label 859*/ GIMT_Encode4(29931), // Rule ID 1091 //
11876 /* 29891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11877 /* 29894 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_u_d),
11878 /* 29899 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11879 /* 29902 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11880 /* 29905 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11881 /* 29908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11882 /* 29912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11883 /* 29916 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11884 /* 29920 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8570:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBS_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11885 /* 29920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_U_D),
11886 /* 29923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11887 /* 29925 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11888 /* 29927 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11889 /* 29929 */ GIR_RootConstrainSelectedInstOperands,
11890 /* 29930 */ // GIR_Coverage, 1091,
11891 /* 29930 */ GIR_EraseRootFromParent_Done,
11892 /* 29931 */ // Label 859: @29931
11893 /* 29931 */ GIM_Try, /*On fail goto*//*Label 860*/ GIMT_Encode4(29976), // Rule ID 1092 //
11894 /* 29936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11895 /* 29939 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsus_u_b),
11896 /* 29944 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11897 /* 29947 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11898 /* 29950 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11899 /* 29953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11900 /* 29957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11901 /* 29961 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11902 /* 29965 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8573:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBSUS_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11903 /* 29965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUS_U_B),
11904 /* 29968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11905 /* 29970 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11906 /* 29972 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11907 /* 29974 */ GIR_RootConstrainSelectedInstOperands,
11908 /* 29975 */ // GIR_Coverage, 1092,
11909 /* 29975 */ GIR_EraseRootFromParent_Done,
11910 /* 29976 */ // Label 860: @29976
11911 /* 29976 */ GIM_Try, /*On fail goto*//*Label 861*/ GIMT_Encode4(30021), // Rule ID 1093 //
11912 /* 29981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11913 /* 29984 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsus_u_h),
11914 /* 29989 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11915 /* 29992 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11916 /* 29995 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11917 /* 29998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11918 /* 30002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11919 /* 30006 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11920 /* 30010 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8575:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBSUS_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11921 /* 30010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUS_U_H),
11922 /* 30013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11923 /* 30015 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11924 /* 30017 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11925 /* 30019 */ GIR_RootConstrainSelectedInstOperands,
11926 /* 30020 */ // GIR_Coverage, 1093,
11927 /* 30020 */ GIR_EraseRootFromParent_Done,
11928 /* 30021 */ // Label 861: @30021
11929 /* 30021 */ GIM_Try, /*On fail goto*//*Label 862*/ GIMT_Encode4(30066), // Rule ID 1094 //
11930 /* 30026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11931 /* 30029 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsus_u_w),
11932 /* 30034 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11933 /* 30037 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11934 /* 30040 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11935 /* 30043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11936 /* 30047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11937 /* 30051 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11938 /* 30055 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8576:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBSUS_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11939 /* 30055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUS_U_W),
11940 /* 30058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11941 /* 30060 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11942 /* 30062 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11943 /* 30064 */ GIR_RootConstrainSelectedInstOperands,
11944 /* 30065 */ // GIR_Coverage, 1094,
11945 /* 30065 */ GIR_EraseRootFromParent_Done,
11946 /* 30066 */ // Label 862: @30066
11947 /* 30066 */ GIM_Try, /*On fail goto*//*Label 863*/ GIMT_Encode4(30111), // Rule ID 1095 //
11948 /* 30071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11949 /* 30074 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsus_u_d),
11950 /* 30079 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11951 /* 30082 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11952 /* 30085 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11953 /* 30088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11954 /* 30092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11955 /* 30096 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11956 /* 30100 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8574:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBSUS_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11957 /* 30100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUS_U_D),
11958 /* 30103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11959 /* 30105 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11960 /* 30107 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11961 /* 30109 */ GIR_RootConstrainSelectedInstOperands,
11962 /* 30110 */ // GIR_Coverage, 1095,
11963 /* 30110 */ GIR_EraseRootFromParent_Done,
11964 /* 30111 */ // Label 863: @30111
11965 /* 30111 */ GIM_Try, /*On fail goto*//*Label 864*/ GIMT_Encode4(30156), // Rule ID 1096 //
11966 /* 30116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11967 /* 30119 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsuu_s_b),
11968 /* 30124 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11969 /* 30127 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11970 /* 30130 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11971 /* 30133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11972 /* 30137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11973 /* 30141 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11974 /* 30145 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8577:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBSUU_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11975 /* 30145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUU_S_B),
11976 /* 30148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11977 /* 30150 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11978 /* 30152 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11979 /* 30154 */ GIR_RootConstrainSelectedInstOperands,
11980 /* 30155 */ // GIR_Coverage, 1096,
11981 /* 30155 */ GIR_EraseRootFromParent_Done,
11982 /* 30156 */ // Label 864: @30156
11983 /* 30156 */ GIM_Try, /*On fail goto*//*Label 865*/ GIMT_Encode4(30201), // Rule ID 1097 //
11984 /* 30161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
11985 /* 30164 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsuu_s_h),
11986 /* 30169 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11987 /* 30172 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11988 /* 30175 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11989 /* 30178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11990 /* 30182 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11991 /* 30186 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11992 /* 30190 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8579:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBSUU_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11993 /* 30190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUU_S_H),
11994 /* 30193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11995 /* 30195 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11996 /* 30197 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11997 /* 30199 */ GIR_RootConstrainSelectedInstOperands,
11998 /* 30200 */ // GIR_Coverage, 1097,
11999 /* 30200 */ GIR_EraseRootFromParent_Done,
12000 /* 30201 */ // Label 865: @30201
12001 /* 30201 */ GIM_Try, /*On fail goto*//*Label 866*/ GIMT_Encode4(30246), // Rule ID 1098 //
12002 /* 30206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12003 /* 30209 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsuu_s_w),
12004 /* 30214 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12005 /* 30217 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12006 /* 30220 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12007 /* 30223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12008 /* 30227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12009 /* 30231 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12010 /* 30235 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8580:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBSUU_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
12011 /* 30235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUU_S_W),
12012 /* 30238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12013 /* 30240 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
12014 /* 30242 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
12015 /* 30244 */ GIR_RootConstrainSelectedInstOperands,
12016 /* 30245 */ // GIR_Coverage, 1098,
12017 /* 30245 */ GIR_EraseRootFromParent_Done,
12018 /* 30246 */ // Label 866: @30246
12019 /* 30246 */ GIM_Try, /*On fail goto*//*Label 867*/ GIMT_Encode4(30291), // Rule ID 1099 //
12020 /* 30251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12021 /* 30254 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsuu_s_d),
12022 /* 30259 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12023 /* 30262 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12024 /* 30265 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
12025 /* 30268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12026 /* 30272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12027 /* 30276 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12028 /* 30280 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8578:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBSUU_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
12029 /* 30280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUU_S_D),
12030 /* 30283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12031 /* 30285 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
12032 /* 30287 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
12033 /* 30289 */ GIR_RootConstrainSelectedInstOperands,
12034 /* 30290 */ // GIR_Coverage, 1099,
12035 /* 30290 */ GIR_EraseRootFromParent_Done,
12036 /* 30291 */ // Label 867: @30291
12037 /* 30291 */ GIM_Try, /*On fail goto*//*Label 868*/ GIMT_Encode4(30339), // Rule ID 1298 //
12038 /* 30296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12039 /* 30299 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_s_ph),
12040 /* 30304 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12041 /* 30307 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12042 /* 30310 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12043 /* 30313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12044 /* 30317 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12045 /* 30321 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12046 /* 30325 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7939:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQ_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
12047 /* 30325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_S_PH_MM),
12048 /* 30328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12049 /* 30330 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12050 /* 30332 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12051 /* 30334 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12052 /* 30337 */ GIR_RootConstrainSelectedInstOperands,
12053 /* 30338 */ // GIR_Coverage, 1298,
12054 /* 30338 */ GIR_EraseRootFromParent_Done,
12055 /* 30339 */ // Label 868: @30339
12056 /* 30339 */ GIM_Try, /*On fail goto*//*Label 869*/ GIMT_Encode4(30387), // Rule ID 1300 //
12057 /* 30344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12058 /* 30347 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_s_qb),
12059 /* 30352 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12060 /* 30355 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12061 /* 30358 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
12062 /* 30361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12063 /* 30365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12064 /* 30369 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12065 /* 30373 */ // (intrinsic_wo_chain:{ *:[v4i8] } 7961:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDU_S_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
12066 /* 30373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_S_QB_MM),
12067 /* 30376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12068 /* 30378 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12069 /* 30380 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12070 /* 30382 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12071 /* 30385 */ GIR_RootConstrainSelectedInstOperands,
12072 /* 30386 */ // GIR_Coverage, 1300,
12073 /* 30386 */ GIR_EraseRootFromParent_Done,
12074 /* 30387 */ // Label 869: @30387
12075 /* 30387 */ GIM_Try, /*On fail goto*//*Label 870*/ GIMT_Encode4(30432), // Rule ID 1321 //
12076 /* 30392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12077 /* 30395 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_ph),
12078 /* 30400 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12079 /* 30403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12080 /* 30406 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12081 /* 30409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12082 /* 30413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12083 /* 30417 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12084 /* 30421 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8489:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
12085 /* 30421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_PH_MM),
12086 /* 30424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12087 /* 30426 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12088 /* 30428 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12089 /* 30430 */ GIR_RootConstrainSelectedInstOperands,
12090 /* 30431 */ // GIR_Coverage, 1321,
12091 /* 30431 */ GIR_EraseRootFromParent_Done,
12092 /* 30432 */ // Label 870: @30432
12093 /* 30432 */ GIM_Try, /*On fail goto*//*Label 871*/ GIMT_Encode4(30477), // Rule ID 1322 //
12094 /* 30437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12095 /* 30440 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
12096 /* 30445 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12097 /* 30448 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12098 /* 30451 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12099 /* 30454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12100 /* 30458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12101 /* 30462 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12102 /* 30466 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8491:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_R_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
12103 /* 30466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_PH_MM),
12104 /* 30469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12105 /* 30471 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12106 /* 30473 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12107 /* 30475 */ GIR_RootConstrainSelectedInstOperands,
12108 /* 30476 */ // GIR_Coverage, 1322,
12109 /* 30476 */ GIR_EraseRootFromParent_Done,
12110 /* 30477 */ // Label 871: @30477
12111 /* 30477 */ GIM_Try, /*On fail goto*//*Label 872*/ GIMT_Encode4(30522), // Rule ID 1323 //
12112 /* 30482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12113 /* 30485 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
12114 /* 30490 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12115 /* 30493 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12116 /* 30496 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12117 /* 30499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12118 /* 30503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12119 /* 30507 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12120 /* 30511 */ // (intrinsic_wo_chain:{ *:[i32] } 8493:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_R_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
12121 /* 30511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_W_MM),
12122 /* 30514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12123 /* 30516 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12124 /* 30518 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12125 /* 30520 */ GIR_RootConstrainSelectedInstOperands,
12126 /* 30521 */ // GIR_Coverage, 1323,
12127 /* 30521 */ GIR_EraseRootFromParent_Done,
12128 /* 30522 */ // Label 872: @30522
12129 /* 30522 */ GIM_Try, /*On fail goto*//*Label 873*/ GIMT_Encode4(30567), // Rule ID 1325 //
12130 /* 30527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12131 /* 30530 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
12132 /* 30535 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12133 /* 30538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12134 /* 30541 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12135 /* 30544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12136 /* 30548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12137 /* 30552 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12138 /* 30556 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8495:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRLV_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
12139 /* 30556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRLV_QB_MM),
12140 /* 30559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12141 /* 30561 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12142 /* 30563 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12143 /* 30565 */ GIR_RootConstrainSelectedInstOperands,
12144 /* 30566 */ // GIR_Coverage, 1325,
12145 /* 30566 */ GIR_EraseRootFromParent_Done,
12146 /* 30567 */ // Label 873: @30567
12147 /* 30567 */ GIM_Try, /*On fail goto*//*Label 874*/ GIMT_Encode4(30615), // Rule ID 1336 //
12148 /* 30572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12149 /* 30575 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_s_ph),
12150 /* 30580 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12151 /* 30583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12152 /* 30586 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12153 /* 30589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12154 /* 30593 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12155 /* 30597 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12156 /* 30601 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8559:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQ_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
12157 /* 30601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_S_PH_MM),
12158 /* 30604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12159 /* 30606 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12160 /* 30608 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12161 /* 30610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12162 /* 30613 */ GIR_RootConstrainSelectedInstOperands,
12163 /* 30614 */ // GIR_Coverage, 1336,
12164 /* 30614 */ GIR_EraseRootFromParent_Done,
12165 /* 30615 */ // Label 874: @30615
12166 /* 30615 */ GIM_Try, /*On fail goto*//*Label 875*/ GIMT_Encode4(30663), // Rule ID 1338 //
12167 /* 30620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12168 /* 30623 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_s_qb),
12169 /* 30628 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12170 /* 30631 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12171 /* 30634 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
12172 /* 30637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12173 /* 30641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12174 /* 30645 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12175 /* 30649 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8584:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBU_S_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
12176 /* 30649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_S_QB_MM),
12177 /* 30652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12178 /* 30654 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12179 /* 30656 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12180 /* 30658 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12181 /* 30661 */ GIR_RootConstrainSelectedInstOperands,
12182 /* 30662 */ // GIR_Coverage, 1338,
12183 /* 30662 */ GIR_EraseRootFromParent_Done,
12184 /* 30663 */ // Label 875: @30663
12185 /* 30663 */ GIM_Try, /*On fail goto*//*Label 876*/ GIMT_Encode4(30708), // Rule ID 1348 //
12186 /* 30668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12187 /* 30671 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_ph_w),
12188 /* 30676 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12189 /* 30679 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12190 /* 30682 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12191 /* 30685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12192 /* 30689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12193 /* 30693 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12194 /* 30697 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8464:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (PRECRQ_PH_W_MM:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
12195 /* 30697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_PH_W_MM),
12196 /* 30700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12197 /* 30702 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12198 /* 30704 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12199 /* 30706 */ GIR_RootConstrainSelectedInstOperands,
12200 /* 30707 */ // GIR_Coverage, 1348,
12201 /* 30707 */ GIR_EraseRootFromParent_Done,
12202 /* 30708 */ // Label 876: @30708
12203 /* 30708 */ GIM_Try, /*On fail goto*//*Label 877*/ GIMT_Encode4(30753), // Rule ID 1349 //
12204 /* 30713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12205 /* 30716 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_qb_ph),
12206 /* 30721 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12207 /* 30724 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12208 /* 30727 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12209 /* 30730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12210 /* 30734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12211 /* 30738 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12212 /* 30742 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8465:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECRQ_QB_PH_MM:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
12213 /* 30742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_QB_PH_MM),
12214 /* 30745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12215 /* 30747 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12216 /* 30749 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12217 /* 30751 */ GIR_RootConstrainSelectedInstOperands,
12218 /* 30752 */ // GIR_Coverage, 1349,
12219 /* 30752 */ GIR_EraseRootFromParent_Done,
12220 /* 30753 */ // Label 877: @30753
12221 /* 30753 */ GIM_Try, /*On fail goto*//*Label 878*/ GIMT_Encode4(30798), // Rule ID 1368 //
12222 /* 30758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12223 /* 30761 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_packrl_ph),
12224 /* 30766 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12225 /* 30769 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12226 /* 30772 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12227 /* 30775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12228 /* 30779 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12229 /* 30783 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12230 /* 30787 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8436:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PACKRL_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
12231 /* 30787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PACKRL_PH_MM),
12232 /* 30790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12233 /* 30792 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12234 /* 30794 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12235 /* 30796 */ GIR_RootConstrainSelectedInstOperands,
12236 /* 30797 */ // GIR_Coverage, 1368,
12237 /* 30797 */ GIR_EraseRootFromParent_Done,
12238 /* 30798 */ // Label 878: @30798
12239 /* 30798 */ GIM_Try, /*On fail goto*//*Label 879*/ GIMT_Encode4(30843), // Rule ID 1374 //
12240 /* 30803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
12241 /* 30806 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_modsub),
12242 /* 30811 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12243 /* 30814 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12244 /* 30817 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12245 /* 30820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12246 /* 30824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12247 /* 30828 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12248 /* 30832 */ // (intrinsic_wo_chain:{ *:[i32] } 8389:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MODSUB_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
12249 /* 30832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MODSUB_MM),
12250 /* 30835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12251 /* 30837 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12252 /* 30839 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12253 /* 30841 */ GIR_RootConstrainSelectedInstOperands,
12254 /* 30842 */ // GIR_Coverage, 1374,
12255 /* 30842 */ GIR_EraseRootFromParent_Done,
12256 /* 30843 */ // Label 879: @30843
12257 /* 30843 */ GIM_Try, /*On fail goto*//*Label 880*/ GIMT_Encode4(30888), // Rule ID 1387 //
12258 /* 30848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12259 /* 30851 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_ph),
12260 /* 30856 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12261 /* 30859 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12262 /* 30862 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12263 /* 30865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12264 /* 30869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12265 /* 30873 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12266 /* 30877 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7941:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQH_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
12267 /* 30877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_PH_MMR2),
12268 /* 30880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12269 /* 30882 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12270 /* 30884 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12271 /* 30886 */ GIR_RootConstrainSelectedInstOperands,
12272 /* 30887 */ // GIR_Coverage, 1387,
12273 /* 30887 */ GIR_EraseRootFromParent_Done,
12274 /* 30888 */ // Label 880: @30888
12275 /* 30888 */ GIM_Try, /*On fail goto*//*Label 881*/ GIMT_Encode4(30933), // Rule ID 1388 //
12276 /* 30893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12277 /* 30896 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_r_ph),
12278 /* 30901 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12279 /* 30904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12280 /* 30907 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12281 /* 30910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12282 /* 30914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12283 /* 30918 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12284 /* 30922 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7942:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQH_R_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
12285 /* 30922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_R_PH_MMR2),
12286 /* 30925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12287 /* 30927 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12288 /* 30929 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12289 /* 30931 */ GIR_RootConstrainSelectedInstOperands,
12290 /* 30932 */ // GIR_Coverage, 1388,
12291 /* 30932 */ GIR_EraseRootFromParent_Done,
12292 /* 30933 */ // Label 881: @30933
12293 /* 30933 */ GIM_Try, /*On fail goto*//*Label 882*/ GIMT_Encode4(30978), // Rule ID 1389 //
12294 /* 30938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12295 /* 30941 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_w),
12296 /* 30946 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12297 /* 30949 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12298 /* 30952 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12299 /* 30955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12300 /* 30959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12301 /* 30963 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12302 /* 30967 */ // (intrinsic_wo_chain:{ *:[i32] } 7944:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQH_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
12303 /* 30967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_W_MMR2),
12304 /* 30970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12305 /* 30972 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12306 /* 30974 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12307 /* 30976 */ GIR_RootConstrainSelectedInstOperands,
12308 /* 30977 */ // GIR_Coverage, 1389,
12309 /* 30977 */ GIR_EraseRootFromParent_Done,
12310 /* 30978 */ // Label 882: @30978
12311 /* 30978 */ GIM_Try, /*On fail goto*//*Label 883*/ GIMT_Encode4(31023), // Rule ID 1390 //
12312 /* 30983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12313 /* 30986 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_r_w),
12314 /* 30991 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12315 /* 30994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12316 /* 30997 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12317 /* 31000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12318 /* 31004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12319 /* 31008 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12320 /* 31012 */ // (intrinsic_wo_chain:{ *:[i32] } 7943:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQH_R_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
12321 /* 31012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_R_W_MMR2),
12322 /* 31015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12323 /* 31017 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12324 /* 31019 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12325 /* 31021 */ GIR_RootConstrainSelectedInstOperands,
12326 /* 31022 */ // GIR_Coverage, 1390,
12327 /* 31022 */ GIR_EraseRootFromParent_Done,
12328 /* 31023 */ // Label 883: @31023
12329 /* 31023 */ GIM_Try, /*On fail goto*//*Label 884*/ GIMT_Encode4(31068), // Rule ID 1393 //
12330 /* 31028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12331 /* 31031 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adduh_qb),
12332 /* 31036 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12333 /* 31039 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12334 /* 31042 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
12335 /* 31045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12336 /* 31049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12337 /* 31053 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12338 /* 31057 */ // (intrinsic_wo_chain:{ *:[v4i8] } 7962:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDUH_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
12339 /* 31057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDUH_QB_MMR2),
12340 /* 31060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12341 /* 31062 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12342 /* 31064 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12343 /* 31066 */ GIR_RootConstrainSelectedInstOperands,
12344 /* 31067 */ // GIR_Coverage, 1393,
12345 /* 31067 */ GIR_EraseRootFromParent_Done,
12346 /* 31068 */ // Label 884: @31068
12347 /* 31068 */ GIM_Try, /*On fail goto*//*Label 885*/ GIMT_Encode4(31113), // Rule ID 1394 //
12348 /* 31073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12349 /* 31076 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adduh_r_qb),
12350 /* 31081 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12351 /* 31084 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12352 /* 31087 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
12353 /* 31090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12354 /* 31094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12355 /* 31098 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12356 /* 31102 */ // (intrinsic_wo_chain:{ *:[v4i8] } 7963:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDUH_R_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
12357 /* 31102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDUH_R_QB_MMR2),
12358 /* 31105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12359 /* 31107 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12360 /* 31109 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12361 /* 31111 */ GIR_RootConstrainSelectedInstOperands,
12362 /* 31112 */ // GIR_Coverage, 1394,
12363 /* 31112 */ GIR_EraseRootFromParent_Done,
12364 /* 31113 */ // Label 885: @31113
12365 /* 31113 */ GIM_Try, /*On fail goto*//*Label 886*/ GIMT_Encode4(31158), // Rule ID 1400 //
12366 /* 31118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12367 /* 31121 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_qb),
12368 /* 31126 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12369 /* 31129 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12370 /* 31132 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12371 /* 31135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12372 /* 31139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12373 /* 31143 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12374 /* 31147 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8490:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
12375 /* 31147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_QB_MMR2),
12376 /* 31150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12377 /* 31152 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12378 /* 31154 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12379 /* 31156 */ GIR_RootConstrainSelectedInstOperands,
12380 /* 31157 */ // GIR_Coverage, 1400,
12381 /* 31157 */ GIR_EraseRootFromParent_Done,
12382 /* 31158 */ // Label 886: @31158
12383 /* 31158 */ GIM_Try, /*On fail goto*//*Label 887*/ GIMT_Encode4(31203), // Rule ID 1401 //
12384 /* 31163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12385 /* 31166 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
12386 /* 31171 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12387 /* 31174 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12388 /* 31177 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12389 /* 31180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12390 /* 31184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12391 /* 31188 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12392 /* 31192 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8492:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_R_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
12393 /* 31192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_QB_MMR2),
12394 /* 31195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12395 /* 31197 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12396 /* 31199 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12397 /* 31201 */ GIR_RootConstrainSelectedInstOperands,
12398 /* 31202 */ // GIR_Coverage, 1401,
12399 /* 31202 */ GIR_EraseRootFromParent_Done,
12400 /* 31203 */ // Label 887: @31203
12401 /* 31203 */ GIM_Try, /*On fail goto*//*Label 888*/ GIMT_Encode4(31248), // Rule ID 1406 //
12402 /* 31208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12403 /* 31211 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
12404 /* 31216 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12405 /* 31219 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12406 /* 31222 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12407 /* 31225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12408 /* 31229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12409 /* 31233 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12410 /* 31237 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8494:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRLV_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
12411 /* 31237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRLV_PH_MMR2),
12412 /* 31240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12413 /* 31242 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12414 /* 31244 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12415 /* 31246 */ GIR_RootConstrainSelectedInstOperands,
12416 /* 31247 */ // GIR_Coverage, 1406,
12417 /* 31247 */ GIR_EraseRootFromParent_Done,
12418 /* 31248 */ // Label 888: @31248
12419 /* 31248 */ GIM_Try, /*On fail goto*//*Label 889*/ GIMT_Encode4(31293), // Rule ID 1407 //
12420 /* 31253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12421 /* 31256 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_ph),
12422 /* 31261 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12423 /* 31264 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12424 /* 31267 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12425 /* 31270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12426 /* 31274 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12427 /* 31278 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12428 /* 31282 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8561:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQH_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
12429 /* 31282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_PH_MMR2),
12430 /* 31285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12431 /* 31287 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12432 /* 31289 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12433 /* 31291 */ GIR_RootConstrainSelectedInstOperands,
12434 /* 31292 */ // GIR_Coverage, 1407,
12435 /* 31292 */ GIR_EraseRootFromParent_Done,
12436 /* 31293 */ // Label 889: @31293
12437 /* 31293 */ GIM_Try, /*On fail goto*//*Label 890*/ GIMT_Encode4(31338), // Rule ID 1408 //
12438 /* 31298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12439 /* 31301 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_r_ph),
12440 /* 31306 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12441 /* 31309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12442 /* 31312 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12443 /* 31315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12444 /* 31319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12445 /* 31323 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12446 /* 31327 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8562:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQH_R_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
12447 /* 31327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_R_PH_MMR2),
12448 /* 31330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12449 /* 31332 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12450 /* 31334 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12451 /* 31336 */ GIR_RootConstrainSelectedInstOperands,
12452 /* 31337 */ // GIR_Coverage, 1408,
12453 /* 31337 */ GIR_EraseRootFromParent_Done,
12454 /* 31338 */ // Label 890: @31338
12455 /* 31338 */ GIM_Try, /*On fail goto*//*Label 891*/ GIMT_Encode4(31383), // Rule ID 1409 //
12456 /* 31343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12457 /* 31346 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_w),
12458 /* 31351 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12459 /* 31354 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12460 /* 31357 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12461 /* 31360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12462 /* 31364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12463 /* 31368 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12464 /* 31372 */ // (intrinsic_wo_chain:{ *:[i32] } 8564:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQH_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
12465 /* 31372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_W_MMR2),
12466 /* 31375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12467 /* 31377 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12468 /* 31379 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12469 /* 31381 */ GIR_RootConstrainSelectedInstOperands,
12470 /* 31382 */ // GIR_Coverage, 1409,
12471 /* 31382 */ GIR_EraseRootFromParent_Done,
12472 /* 31383 */ // Label 891: @31383
12473 /* 31383 */ GIM_Try, /*On fail goto*//*Label 892*/ GIMT_Encode4(31428), // Rule ID 1410 //
12474 /* 31388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12475 /* 31391 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_r_w),
12476 /* 31396 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12477 /* 31399 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12478 /* 31402 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12479 /* 31405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12480 /* 31409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12481 /* 31413 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12482 /* 31417 */ // (intrinsic_wo_chain:{ *:[i32] } 8563:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQH_R_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
12483 /* 31417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_R_W_MMR2),
12484 /* 31420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12485 /* 31422 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12486 /* 31424 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12487 /* 31426 */ GIR_RootConstrainSelectedInstOperands,
12488 /* 31427 */ // GIR_Coverage, 1410,
12489 /* 31427 */ GIR_EraseRootFromParent_Done,
12490 /* 31428 */ // Label 892: @31428
12491 /* 31428 */ GIM_Try, /*On fail goto*//*Label 893*/ GIMT_Encode4(31473), // Rule ID 1413 //
12492 /* 31433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12493 /* 31436 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subuh_qb),
12494 /* 31441 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12495 /* 31444 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12496 /* 31447 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
12497 /* 31450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12498 /* 31454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12499 /* 31458 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12500 /* 31462 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8585:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBUH_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
12501 /* 31462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBUH_QB_MMR2),
12502 /* 31465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12503 /* 31467 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12504 /* 31469 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12505 /* 31471 */ GIR_RootConstrainSelectedInstOperands,
12506 /* 31472 */ // GIR_Coverage, 1413,
12507 /* 31472 */ GIR_EraseRootFromParent_Done,
12508 /* 31473 */ // Label 893: @31473
12509 /* 31473 */ GIM_Try, /*On fail goto*//*Label 894*/ GIMT_Encode4(31518), // Rule ID 1414 //
12510 /* 31478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12511 /* 31481 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subuh_r_qb),
12512 /* 31486 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12513 /* 31489 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12514 /* 31492 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
12515 /* 31495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12516 /* 31499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12517 /* 31503 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12518 /* 31507 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8586:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBUH_R_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
12519 /* 31507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBUH_R_QB_MMR2),
12520 /* 31510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12521 /* 31512 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
12522 /* 31514 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
12523 /* 31516 */ GIR_RootConstrainSelectedInstOperands,
12524 /* 31517 */ // GIR_Coverage, 1414,
12525 /* 31517 */ GIR_EraseRootFromParent_Done,
12526 /* 31518 */ // Label 894: @31518
12527 /* 31518 */ GIM_Try, /*On fail goto*//*Label 895*/ GIMT_Encode4(31558), // Rule ID 2052 //
12528 /* 31523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
12529 /* 31526 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_ph),
12530 /* 31531 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12531 /* 31534 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12532 /* 31537 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12533 /* 31540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12534 /* 31544 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7938:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (ADDQ_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
12535 /* 31544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_PH),
12536 /* 31547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12537 /* 31549 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
12538 /* 31551 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
12539 /* 31553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12540 /* 31556 */ GIR_RootConstrainSelectedInstOperands,
12541 /* 31557 */ // GIR_Coverage, 2052,
12542 /* 31557 */ GIR_EraseRootFromParent_Done,
12543 /* 31558 */ // Label 895: @31558
12544 /* 31558 */ GIM_Try, /*On fail goto*//*Label 896*/ GIMT_Encode4(31598), // Rule ID 2054 //
12545 /* 31563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
12546 /* 31566 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_ph),
12547 /* 31571 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12548 /* 31574 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12549 /* 31577 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
12550 /* 31580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12551 /* 31584 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8558:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (SUBQ_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
12552 /* 31584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_PH),
12553 /* 31587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12554 /* 31589 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
12555 /* 31591 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
12556 /* 31593 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12557 /* 31596 */ GIR_RootConstrainSelectedInstOperands,
12558 /* 31597 */ // GIR_Coverage, 2054,
12559 /* 31597 */ GIR_EraseRootFromParent_Done,
12560 /* 31598 */ // Label 896: @31598
12561 /* 31598 */ GIM_Try, /*On fail goto*//*Label 897*/ GIMT_Encode4(31638), // Rule ID 2058 //
12562 /* 31603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
12563 /* 31606 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_qb),
12564 /* 31611 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12565 /* 31614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12566 /* 31617 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
12567 /* 31620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12568 /* 31624 */ // (intrinsic_wo_chain:{ *:[v4i8] } 7959:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b) => (ADDU_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b)
12569 /* 31624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_QB),
12570 /* 31627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12571 /* 31629 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
12572 /* 31631 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
12573 /* 31633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12574 /* 31636 */ GIR_RootConstrainSelectedInstOperands,
12575 /* 31637 */ // GIR_Coverage, 2058,
12576 /* 31637 */ GIR_EraseRootFromParent_Done,
12577 /* 31638 */ // Label 897: @31638
12578 /* 31638 */ GIM_Try, /*On fail goto*//*Label 898*/ GIMT_Encode4(31678), // Rule ID 2060 //
12579 /* 31643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
12580 /* 31646 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_qb),
12581 /* 31651 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12582 /* 31654 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12583 /* 31657 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
12584 /* 31660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12585 /* 31664 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8582:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b) => (SUBU_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b)
12586 /* 31664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_QB),
12587 /* 31667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12588 /* 31669 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
12589 /* 31671 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
12590 /* 31673 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12591 /* 31676 */ GIR_RootConstrainSelectedInstOperands,
12592 /* 31677 */ // GIR_Coverage, 2060,
12593 /* 31677 */ GIR_EraseRootFromParent_Done,
12594 /* 31678 */ // Label 898: @31678
12595 /* 31678 */ GIM_Reject,
12596 /* 31679 */ // Label 684: @31679
12597 /* 31679 */ GIM_Try, /*On fail goto*//*Label 899*/ GIMT_Encode4(34193),
12598 /* 31684 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
12599 /* 31687 */ GIM_Try, /*On fail goto*//*Label 900*/ GIMT_Encode4(31742), // Rule ID 552 //
12600 /* 31692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
12601 /* 31695 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_sra_ph_w),
12602 /* 31700 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12603 /* 31703 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12604 /* 31706 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12605 /* 31709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12606 /* 31713 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12607 /* 31717 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12608 /* 31721 */ // MIs[0] sa
12609 /* 31721 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12610 /* 31724 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12611 /* 31729 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8462:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (PRECR_SRA_PH_W:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12612 /* 31729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_SRA_PH_W),
12613 /* 31732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12614 /* 31734 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12615 /* 31736 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12616 /* 31738 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12617 /* 31740 */ GIR_RootConstrainSelectedInstOperands,
12618 /* 31741 */ // GIR_Coverage, 552,
12619 /* 31741 */ GIR_EraseRootFromParent_Done,
12620 /* 31742 */ // Label 900: @31742
12621 /* 31742 */ GIM_Try, /*On fail goto*//*Label 901*/ GIMT_Encode4(31797), // Rule ID 553 //
12622 /* 31747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
12623 /* 31750 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_sra_r_ph_w),
12624 /* 31755 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12625 /* 31758 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12626 /* 31761 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12627 /* 31764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12628 /* 31768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12629 /* 31772 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12630 /* 31776 */ // MIs[0] sa
12631 /* 31776 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12632 /* 31779 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12633 /* 31784 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8463:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (PRECR_SRA_R_PH_W:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12634 /* 31784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_SRA_R_PH_W),
12635 /* 31787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12636 /* 31789 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12637 /* 31791 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12638 /* 31793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12639 /* 31795 */ GIR_RootConstrainSelectedInstOperands,
12640 /* 31796 */ // GIR_Coverage, 553,
12641 /* 31796 */ GIR_EraseRootFromParent_Done,
12642 /* 31797 */ // Label 901: @31797
12643 /* 31797 */ GIM_Try, /*On fail goto*//*Label 902*/ GIMT_Encode4(31852), // Rule ID 558 //
12644 /* 31802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
12645 /* 31805 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_append),
12646 /* 31810 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12647 /* 31813 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12648 /* 31816 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12649 /* 31819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12650 /* 31823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12651 /* 31827 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12652 /* 31831 */ // MIs[0] sa
12653 /* 31831 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12654 /* 31834 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12655 /* 31839 */ // (intrinsic_wo_chain:{ *:[i32] } 7975:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (APPEND:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12656 /* 31839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::APPEND),
12657 /* 31842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12658 /* 31844 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12659 /* 31846 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12660 /* 31848 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12661 /* 31850 */ GIR_RootConstrainSelectedInstOperands,
12662 /* 31851 */ // GIR_Coverage, 558,
12663 /* 31851 */ GIR_EraseRootFromParent_Done,
12664 /* 31852 */ // Label 902: @31852
12665 /* 31852 */ GIM_Try, /*On fail goto*//*Label 903*/ GIMT_Encode4(31907), // Rule ID 559 //
12666 /* 31857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
12667 /* 31860 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_balign),
12668 /* 31865 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12669 /* 31868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12670 /* 31871 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12671 /* 31874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12672 /* 31878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12673 /* 31882 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12674 /* 31886 */ // MIs[0] sa
12675 /* 31886 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12676 /* 31889 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt2),
12677 /* 31894 */ // (intrinsic_wo_chain:{ *:[i32] } 8000:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt2>>:$sa) => (BALIGN:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12678 /* 31894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BALIGN),
12679 /* 31897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12680 /* 31899 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12681 /* 31901 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12682 /* 31903 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12683 /* 31905 */ GIR_RootConstrainSelectedInstOperands,
12684 /* 31906 */ // GIR_Coverage, 559,
12685 /* 31906 */ GIR_EraseRootFromParent_Done,
12686 /* 31907 */ // Label 903: @31907
12687 /* 31907 */ GIM_Try, /*On fail goto*//*Label 904*/ GIMT_Encode4(31962), // Rule ID 560 //
12688 /* 31912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
12689 /* 31915 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_prepend),
12690 /* 31920 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12691 /* 31923 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12692 /* 31926 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12693 /* 31929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12694 /* 31933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12695 /* 31937 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12696 /* 31941 */ // MIs[0] sa
12697 /* 31941 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12698 /* 31944 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12699 /* 31949 */ // (intrinsic_wo_chain:{ *:[i32] } 8468:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (PREPEND:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12700 /* 31949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PREPEND),
12701 /* 31952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12702 /* 31954 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12703 /* 31956 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12704 /* 31958 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12705 /* 31960 */ GIR_RootConstrainSelectedInstOperands,
12706 /* 31961 */ // GIR_Coverage, 560,
12707 /* 31961 */ GIR_EraseRootFromParent_Done,
12708 /* 31962 */ // Label 904: @31962
12709 /* 31962 */ GIM_Try, /*On fail goto*//*Label 905*/ GIMT_Encode4(32017), // Rule ID 1028 //
12710 /* 31967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12711 /* 31970 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sldi_b),
12712 /* 31975 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
12713 /* 31978 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
12714 /* 31981 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12715 /* 31984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12716 /* 31988 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12717 /* 31992 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12718 /* 31996 */ // MIs[0] n
12719 /* 31996 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12720 /* 31999 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
12721 /* 32004 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8500:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$n) => (SLDI_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$n)
12722 /* 32004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLDI_B),
12723 /* 32007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12724 /* 32009 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12725 /* 32011 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12726 /* 32013 */ GIR_RootToRootCopy, /*OpIdx*/4, // n
12727 /* 32015 */ GIR_RootConstrainSelectedInstOperands,
12728 /* 32016 */ // GIR_Coverage, 1028,
12729 /* 32016 */ GIR_EraseRootFromParent_Done,
12730 /* 32017 */ // Label 905: @32017
12731 /* 32017 */ GIM_Try, /*On fail goto*//*Label 906*/ GIMT_Encode4(32072), // Rule ID 1029 //
12732 /* 32022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12733 /* 32025 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sldi_h),
12734 /* 32030 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12735 /* 32033 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12736 /* 32036 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12737 /* 32039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12738 /* 32043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12739 /* 32047 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12740 /* 32051 */ // MIs[0] n
12741 /* 32051 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12742 /* 32054 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
12743 /* 32059 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8502:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$n) => (SLDI_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$n)
12744 /* 32059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLDI_H),
12745 /* 32062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12746 /* 32064 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12747 /* 32066 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12748 /* 32068 */ GIR_RootToRootCopy, /*OpIdx*/4, // n
12749 /* 32070 */ GIR_RootConstrainSelectedInstOperands,
12750 /* 32071 */ // GIR_Coverage, 1029,
12751 /* 32071 */ GIR_EraseRootFromParent_Done,
12752 /* 32072 */ // Label 906: @32072
12753 /* 32072 */ GIM_Try, /*On fail goto*//*Label 907*/ GIMT_Encode4(32127), // Rule ID 1030 //
12754 /* 32077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12755 /* 32080 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sldi_w),
12756 /* 32085 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12757 /* 32088 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12758 /* 32091 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12759 /* 32094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12760 /* 32098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12761 /* 32102 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12762 /* 32106 */ // MIs[0] n
12763 /* 32106 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12764 /* 32109 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt2),
12765 /* 32114 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8503:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt2>>:$n) => (SLDI_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$n)
12766 /* 32114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLDI_W),
12767 /* 32117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12768 /* 32119 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12769 /* 32121 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12770 /* 32123 */ GIR_RootToRootCopy, /*OpIdx*/4, // n
12771 /* 32125 */ GIR_RootConstrainSelectedInstOperands,
12772 /* 32126 */ // GIR_Coverage, 1030,
12773 /* 32126 */ GIR_EraseRootFromParent_Done,
12774 /* 32127 */ // Label 907: @32127
12775 /* 32127 */ GIM_Try, /*On fail goto*//*Label 908*/ GIMT_Encode4(32182), // Rule ID 1031 //
12776 /* 32132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12777 /* 32135 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sldi_d),
12778 /* 32140 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12779 /* 32143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12780 /* 32146 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
12781 /* 32149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12782 /* 32153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12783 /* 32157 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12784 /* 32161 */ // MIs[0] n
12785 /* 32161 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12786 /* 32164 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt1),
12787 /* 32169 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8501:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt1>>:$n) => (SLDI_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$n)
12788 /* 32169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLDI_D),
12789 /* 32172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12790 /* 32174 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12791 /* 32176 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12792 /* 32178 */ GIR_RootToRootCopy, /*OpIdx*/4, // n
12793 /* 32180 */ GIR_RootConstrainSelectedInstOperands,
12794 /* 32181 */ // GIR_Coverage, 1031,
12795 /* 32181 */ GIR_EraseRootFromParent_Done,
12796 /* 32182 */ // Label 908: @32182
12797 /* 32182 */ GIM_Try, /*On fail goto*//*Label 909*/ GIMT_Encode4(32237), // Rule ID 1424 //
12798 /* 32187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12799 /* 32190 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_sra_ph_w),
12800 /* 32195 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12801 /* 32198 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12802 /* 32201 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12803 /* 32204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12804 /* 32208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12805 /* 32212 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12806 /* 32216 */ // MIs[0] sa
12807 /* 32216 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12808 /* 32219 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12809 /* 32224 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8462:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (PRECR_SRA_PH_W_MMR2:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12810 /* 32224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_SRA_PH_W_MMR2),
12811 /* 32227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12812 /* 32229 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12813 /* 32231 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12814 /* 32233 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12815 /* 32235 */ GIR_RootConstrainSelectedInstOperands,
12816 /* 32236 */ // GIR_Coverage, 1424,
12817 /* 32236 */ GIR_EraseRootFromParent_Done,
12818 /* 32237 */ // Label 909: @32237
12819 /* 32237 */ GIM_Try, /*On fail goto*//*Label 910*/ GIMT_Encode4(32292), // Rule ID 1425 //
12820 /* 32242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12821 /* 32245 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_sra_r_ph_w),
12822 /* 32250 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12823 /* 32253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12824 /* 32256 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12825 /* 32259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12826 /* 32263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12827 /* 32267 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12828 /* 32271 */ // MIs[0] sa
12829 /* 32271 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12830 /* 32274 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12831 /* 32279 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8463:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (PRECR_SRA_R_PH_W_MMR2:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12832 /* 32279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_SRA_R_PH_W_MMR2),
12833 /* 32282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12834 /* 32284 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12835 /* 32286 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12836 /* 32288 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12837 /* 32290 */ GIR_RootConstrainSelectedInstOperands,
12838 /* 32291 */ // GIR_Coverage, 1425,
12839 /* 32291 */ GIR_EraseRootFromParent_Done,
12840 /* 32292 */ // Label 910: @32292
12841 /* 32292 */ GIM_Try, /*On fail goto*//*Label 911*/ GIMT_Encode4(32347), // Rule ID 1426 //
12842 /* 32297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12843 /* 32300 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_prepend),
12844 /* 32305 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12845 /* 32308 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12846 /* 32311 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12847 /* 32314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12848 /* 32318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12849 /* 32322 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12850 /* 32326 */ // MIs[0] sa
12851 /* 32326 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12852 /* 32329 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12853 /* 32334 */ // (intrinsic_wo_chain:{ *:[i32] } 8468:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (PREPEND_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12854 /* 32334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PREPEND_MMR2),
12855 /* 32337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12856 /* 32339 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12857 /* 32341 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12858 /* 32343 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12859 /* 32345 */ GIR_RootConstrainSelectedInstOperands,
12860 /* 32346 */ // GIR_Coverage, 1426,
12861 /* 32346 */ GIR_EraseRootFromParent_Done,
12862 /* 32347 */ // Label 911: @32347
12863 /* 32347 */ GIM_Try, /*On fail goto*//*Label 912*/ GIMT_Encode4(32402), // Rule ID 1427 //
12864 /* 32352 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12865 /* 32355 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_append),
12866 /* 32360 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12867 /* 32363 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12868 /* 32366 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12869 /* 32369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12870 /* 32373 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12871 /* 32377 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12872 /* 32381 */ // MIs[0] sa
12873 /* 32381 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12874 /* 32384 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12875 /* 32389 */ // (intrinsic_wo_chain:{ *:[i32] } 7975:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (APPEND_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12876 /* 32389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::APPEND_MMR2),
12877 /* 32392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12878 /* 32394 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12879 /* 32396 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12880 /* 32398 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12881 /* 32400 */ GIR_RootConstrainSelectedInstOperands,
12882 /* 32401 */ // GIR_Coverage, 1427,
12883 /* 32401 */ GIR_EraseRootFromParent_Done,
12884 /* 32402 */ // Label 912: @32402
12885 /* 32402 */ GIM_Try, /*On fail goto*//*Label 913*/ GIMT_Encode4(32464), // Rule ID 1402 //
12886 /* 32407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
12887 /* 32410 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_balign),
12888 /* 32415 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12889 /* 32418 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12890 /* 32421 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12891 /* 32424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12892 /* 32428 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12893 /* 32432 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12894 /* 32436 */ // MIs[0] bp
12895 /* 32436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
12896 /* 32440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12897 /* 32444 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2),
12898 /* 32448 */ // MIs[1] Operand 1
12899 /* 32448 */ // No operand predicates
12900 /* 32448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12901 /* 32450 */ // (intrinsic_wo_chain:{ *:[i32] } 8000:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt2>>:$bp) => (BALIGN_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$bp, GPR32Opnd:{ *:[i32] }:$src)
12902 /* 32450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BALIGN_MMR2),
12903 /* 32453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12904 /* 32455 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12905 /* 32457 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // bp
12906 /* 32460 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12907 /* 32462 */ GIR_RootConstrainSelectedInstOperands,
12908 /* 32463 */ // GIR_Coverage, 1402,
12909 /* 32463 */ GIR_EraseRootFromParent_Done,
12910 /* 32464 */ // Label 913: @32464
12911 /* 32464 */ GIM_Try, /*On fail goto*//*Label 914*/ GIMT_Encode4(32518), // Rule ID 627 //
12912 /* 32469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12913 /* 32472 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsl_b),
12914 /* 32477 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
12915 /* 32480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
12916 /* 32483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12917 /* 32486 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
12918 /* 32489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12919 /* 32493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12920 /* 32497 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12921 /* 32501 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12922 /* 32505 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8009:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (BINSL_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
12923 /* 32505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSL_B),
12924 /* 32508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12925 /* 32510 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12926 /* 32512 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12927 /* 32514 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12928 /* 32516 */ GIR_RootConstrainSelectedInstOperands,
12929 /* 32517 */ // GIR_Coverage, 627,
12930 /* 32517 */ GIR_EraseRootFromParent_Done,
12931 /* 32518 */ // Label 914: @32518
12932 /* 32518 */ GIM_Try, /*On fail goto*//*Label 915*/ GIMT_Encode4(32572), // Rule ID 628 //
12933 /* 32523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12934 /* 32526 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsl_h),
12935 /* 32531 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12936 /* 32534 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12937 /* 32537 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12938 /* 32540 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12939 /* 32543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12940 /* 32547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12941 /* 32551 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12942 /* 32555 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12943 /* 32559 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8011:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (BINSL_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
12944 /* 32559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSL_H),
12945 /* 32562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12946 /* 32564 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12947 /* 32566 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12948 /* 32568 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12949 /* 32570 */ GIR_RootConstrainSelectedInstOperands,
12950 /* 32571 */ // GIR_Coverage, 628,
12951 /* 32571 */ GIR_EraseRootFromParent_Done,
12952 /* 32572 */ // Label 915: @32572
12953 /* 32572 */ GIM_Try, /*On fail goto*//*Label 916*/ GIMT_Encode4(32626), // Rule ID 629 //
12954 /* 32577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12955 /* 32580 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsl_w),
12956 /* 32585 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12957 /* 32588 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12958 /* 32591 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12959 /* 32594 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12960 /* 32597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12961 /* 32601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12962 /* 32605 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12963 /* 32609 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12964 /* 32613 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8012:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (BINSL_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
12965 /* 32613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSL_W),
12966 /* 32616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12967 /* 32618 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12968 /* 32620 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12969 /* 32622 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12970 /* 32624 */ GIR_RootConstrainSelectedInstOperands,
12971 /* 32625 */ // GIR_Coverage, 629,
12972 /* 32625 */ GIR_EraseRootFromParent_Done,
12973 /* 32626 */ // Label 916: @32626
12974 /* 32626 */ GIM_Try, /*On fail goto*//*Label 917*/ GIMT_Encode4(32680), // Rule ID 630 //
12975 /* 32631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12976 /* 32634 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsl_d),
12977 /* 32639 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12978 /* 32642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12979 /* 32645 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
12980 /* 32648 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
12981 /* 32651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12982 /* 32655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12983 /* 32659 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12984 /* 32663 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12985 /* 32667 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8010:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (BINSL_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
12986 /* 32667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSL_D),
12987 /* 32670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12988 /* 32672 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12989 /* 32674 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12990 /* 32676 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12991 /* 32678 */ GIR_RootConstrainSelectedInstOperands,
12992 /* 32679 */ // GIR_Coverage, 630,
12993 /* 32679 */ GIR_EraseRootFromParent_Done,
12994 /* 32680 */ // Label 917: @32680
12995 /* 32680 */ GIM_Try, /*On fail goto*//*Label 918*/ GIMT_Encode4(32734), // Rule ID 635 //
12996 /* 32685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
12997 /* 32688 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsr_b),
12998 /* 32693 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
12999 /* 32696 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
13000 /* 32699 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
13001 /* 32702 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
13002 /* 32705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13003 /* 32709 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13004 /* 32713 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13005 /* 32717 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13006 /* 32721 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8017:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (BINSR_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
13007 /* 32721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSR_B),
13008 /* 32724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13009 /* 32726 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13010 /* 32728 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13011 /* 32730 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13012 /* 32732 */ GIR_RootConstrainSelectedInstOperands,
13013 /* 32733 */ // GIR_Coverage, 635,
13014 /* 32733 */ GIR_EraseRootFromParent_Done,
13015 /* 32734 */ // Label 918: @32734
13016 /* 32734 */ GIM_Try, /*On fail goto*//*Label 919*/ GIMT_Encode4(32788), // Rule ID 636 //
13017 /* 32739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13018 /* 32742 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsr_h),
13019 /* 32747 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13020 /* 32750 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13021 /* 32753 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13022 /* 32756 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13023 /* 32759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13024 /* 32763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13025 /* 32767 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13026 /* 32771 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13027 /* 32775 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8019:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (BINSR_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13028 /* 32775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSR_H),
13029 /* 32778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13030 /* 32780 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13031 /* 32782 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13032 /* 32784 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13033 /* 32786 */ GIR_RootConstrainSelectedInstOperands,
13034 /* 32787 */ // GIR_Coverage, 636,
13035 /* 32787 */ GIR_EraseRootFromParent_Done,
13036 /* 32788 */ // Label 919: @32788
13037 /* 32788 */ GIM_Try, /*On fail goto*//*Label 920*/ GIMT_Encode4(32842), // Rule ID 637 //
13038 /* 32793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13039 /* 32796 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsr_w),
13040 /* 32801 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13041 /* 32804 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13042 /* 32807 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13043 /* 32810 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13044 /* 32813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13045 /* 32817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13046 /* 32821 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13047 /* 32825 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13048 /* 32829 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8020:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (BINSR_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13049 /* 32829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSR_W),
13050 /* 32832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13051 /* 32834 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13052 /* 32836 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13053 /* 32838 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13054 /* 32840 */ GIR_RootConstrainSelectedInstOperands,
13055 /* 32841 */ // GIR_Coverage, 637,
13056 /* 32841 */ GIR_EraseRootFromParent_Done,
13057 /* 32842 */ // Label 920: @32842
13058 /* 32842 */ GIM_Try, /*On fail goto*//*Label 921*/ GIMT_Encode4(32896), // Rule ID 638 //
13059 /* 32847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13060 /* 32850 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsr_d),
13061 /* 32855 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
13062 /* 32858 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
13063 /* 32861 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
13064 /* 32864 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
13065 /* 32867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13066 /* 32871 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13067 /* 32875 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13068 /* 32879 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13069 /* 32883 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8018:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (BINSR_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
13070 /* 32883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSR_D),
13071 /* 32886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13072 /* 32888 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13073 /* 32890 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13074 /* 32892 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13075 /* 32894 */ GIR_RootConstrainSelectedInstOperands,
13076 /* 32895 */ // GIR_Coverage, 638,
13077 /* 32895 */ GIR_EraseRootFromParent_Done,
13078 /* 32896 */ // Label 921: @32896
13079 /* 32896 */ GIM_Try, /*On fail goto*//*Label 922*/ GIMT_Encode4(32950), // Rule ID 733 //
13080 /* 32901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13081 /* 32904 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_s_h),
13082 /* 32909 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13083 /* 32912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13084 /* 32915 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
13085 /* 32918 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
13086 /* 32921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13087 /* 32925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13088 /* 32929 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13089 /* 32933 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13090 /* 32937 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8138:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DPADD_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
13091 /* 32937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_S_H),
13092 /* 32940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13093 /* 32942 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13094 /* 32944 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13095 /* 32946 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13096 /* 32948 */ GIR_RootConstrainSelectedInstOperands,
13097 /* 32949 */ // GIR_Coverage, 733,
13098 /* 32949 */ GIR_EraseRootFromParent_Done,
13099 /* 32950 */ // Label 922: @32950
13100 /* 32950 */ GIM_Try, /*On fail goto*//*Label 923*/ GIMT_Encode4(33004), // Rule ID 734 //
13101 /* 32955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13102 /* 32958 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_s_w),
13103 /* 32963 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13104 /* 32966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13105 /* 32969 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13106 /* 32972 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13107 /* 32975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13108 /* 32979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13109 /* 32983 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13110 /* 32987 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13111 /* 32991 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8139:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DPADD_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13112 /* 32991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_S_W),
13113 /* 32994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13114 /* 32996 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13115 /* 32998 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13116 /* 33000 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13117 /* 33002 */ GIR_RootConstrainSelectedInstOperands,
13118 /* 33003 */ // GIR_Coverage, 734,
13119 /* 33003 */ GIR_EraseRootFromParent_Done,
13120 /* 33004 */ // Label 923: @33004
13121 /* 33004 */ GIM_Try, /*On fail goto*//*Label 924*/ GIMT_Encode4(33058), // Rule ID 735 //
13122 /* 33009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13123 /* 33012 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_s_d),
13124 /* 33017 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
13125 /* 33020 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
13126 /* 33023 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13127 /* 33026 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13128 /* 33029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13129 /* 33033 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13130 /* 33037 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13131 /* 33041 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13132 /* 33045 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8137:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DPADD_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13133 /* 33045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_S_D),
13134 /* 33048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13135 /* 33050 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13136 /* 33052 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13137 /* 33054 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13138 /* 33056 */ GIR_RootConstrainSelectedInstOperands,
13139 /* 33057 */ // GIR_Coverage, 735,
13140 /* 33057 */ GIR_EraseRootFromParent_Done,
13141 /* 33058 */ // Label 924: @33058
13142 /* 33058 */ GIM_Try, /*On fail goto*//*Label 925*/ GIMT_Encode4(33112), // Rule ID 736 //
13143 /* 33063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13144 /* 33066 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_u_h),
13145 /* 33071 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13146 /* 33074 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13147 /* 33077 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
13148 /* 33080 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
13149 /* 33083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13150 /* 33087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13151 /* 33091 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13152 /* 33095 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13153 /* 33099 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8141:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DPADD_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
13154 /* 33099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_U_H),
13155 /* 33102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13156 /* 33104 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13157 /* 33106 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13158 /* 33108 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13159 /* 33110 */ GIR_RootConstrainSelectedInstOperands,
13160 /* 33111 */ // GIR_Coverage, 736,
13161 /* 33111 */ GIR_EraseRootFromParent_Done,
13162 /* 33112 */ // Label 925: @33112
13163 /* 33112 */ GIM_Try, /*On fail goto*//*Label 926*/ GIMT_Encode4(33166), // Rule ID 737 //
13164 /* 33117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13165 /* 33120 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_u_w),
13166 /* 33125 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13167 /* 33128 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13168 /* 33131 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13169 /* 33134 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13170 /* 33137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13171 /* 33141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13172 /* 33145 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13173 /* 33149 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13174 /* 33153 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8142:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DPADD_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13175 /* 33153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_U_W),
13176 /* 33156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13177 /* 33158 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13178 /* 33160 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13179 /* 33162 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13180 /* 33164 */ GIR_RootConstrainSelectedInstOperands,
13181 /* 33165 */ // GIR_Coverage, 737,
13182 /* 33165 */ GIR_EraseRootFromParent_Done,
13183 /* 33166 */ // Label 926: @33166
13184 /* 33166 */ GIM_Try, /*On fail goto*//*Label 927*/ GIMT_Encode4(33220), // Rule ID 738 //
13185 /* 33171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13186 /* 33174 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_u_d),
13187 /* 33179 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
13188 /* 33182 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
13189 /* 33185 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13190 /* 33188 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13191 /* 33191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13192 /* 33195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13193 /* 33199 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13194 /* 33203 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13195 /* 33207 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8140:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DPADD_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13196 /* 33207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_U_D),
13197 /* 33210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13198 /* 33212 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13199 /* 33214 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13200 /* 33216 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13201 /* 33218 */ GIR_RootConstrainSelectedInstOperands,
13202 /* 33219 */ // GIR_Coverage, 738,
13203 /* 33219 */ GIR_EraseRootFromParent_Done,
13204 /* 33220 */ // Label 927: @33220
13205 /* 33220 */ GIM_Try, /*On fail goto*//*Label 928*/ GIMT_Encode4(33274), // Rule ID 739 //
13206 /* 33225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13207 /* 33228 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_s_h),
13208 /* 33233 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13209 /* 33236 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13210 /* 33239 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
13211 /* 33242 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
13212 /* 33245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13213 /* 33249 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13214 /* 33253 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13215 /* 33257 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13216 /* 33261 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8158:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DPSUB_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
13217 /* 33261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_S_H),
13218 /* 33264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13219 /* 33266 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13220 /* 33268 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13221 /* 33270 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13222 /* 33272 */ GIR_RootConstrainSelectedInstOperands,
13223 /* 33273 */ // GIR_Coverage, 739,
13224 /* 33273 */ GIR_EraseRootFromParent_Done,
13225 /* 33274 */ // Label 928: @33274
13226 /* 33274 */ GIM_Try, /*On fail goto*//*Label 929*/ GIMT_Encode4(33328), // Rule ID 740 //
13227 /* 33279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13228 /* 33282 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_s_w),
13229 /* 33287 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13230 /* 33290 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13231 /* 33293 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13232 /* 33296 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13233 /* 33299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13234 /* 33303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13235 /* 33307 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13236 /* 33311 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13237 /* 33315 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8159:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DPSUB_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13238 /* 33315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_S_W),
13239 /* 33318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13240 /* 33320 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13241 /* 33322 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13242 /* 33324 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13243 /* 33326 */ GIR_RootConstrainSelectedInstOperands,
13244 /* 33327 */ // GIR_Coverage, 740,
13245 /* 33327 */ GIR_EraseRootFromParent_Done,
13246 /* 33328 */ // Label 929: @33328
13247 /* 33328 */ GIM_Try, /*On fail goto*//*Label 930*/ GIMT_Encode4(33382), // Rule ID 741 //
13248 /* 33333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13249 /* 33336 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_s_d),
13250 /* 33341 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
13251 /* 33344 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
13252 /* 33347 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13253 /* 33350 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13254 /* 33353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13255 /* 33357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13256 /* 33361 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13257 /* 33365 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13258 /* 33369 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8157:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DPSUB_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13259 /* 33369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_S_D),
13260 /* 33372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13261 /* 33374 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13262 /* 33376 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13263 /* 33378 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13264 /* 33380 */ GIR_RootConstrainSelectedInstOperands,
13265 /* 33381 */ // GIR_Coverage, 741,
13266 /* 33381 */ GIR_EraseRootFromParent_Done,
13267 /* 33382 */ // Label 930: @33382
13268 /* 33382 */ GIM_Try, /*On fail goto*//*Label 931*/ GIMT_Encode4(33436), // Rule ID 742 //
13269 /* 33387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13270 /* 33390 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_u_h),
13271 /* 33395 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13272 /* 33398 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13273 /* 33401 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
13274 /* 33404 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
13275 /* 33407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13276 /* 33411 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13277 /* 33415 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13278 /* 33419 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13279 /* 33423 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8161:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DPSUB_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
13280 /* 33423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_U_H),
13281 /* 33426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13282 /* 33428 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13283 /* 33430 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13284 /* 33432 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13285 /* 33434 */ GIR_RootConstrainSelectedInstOperands,
13286 /* 33435 */ // GIR_Coverage, 742,
13287 /* 33435 */ GIR_EraseRootFromParent_Done,
13288 /* 33436 */ // Label 931: @33436
13289 /* 33436 */ GIM_Try, /*On fail goto*//*Label 932*/ GIMT_Encode4(33490), // Rule ID 743 //
13290 /* 33441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13291 /* 33444 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_u_w),
13292 /* 33449 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13293 /* 33452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13294 /* 33455 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13295 /* 33458 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13296 /* 33461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13297 /* 33465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13298 /* 33469 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13299 /* 33473 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13300 /* 33477 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8162:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DPSUB_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13301 /* 33477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_U_W),
13302 /* 33480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13303 /* 33482 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13304 /* 33484 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13305 /* 33486 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13306 /* 33488 */ GIR_RootConstrainSelectedInstOperands,
13307 /* 33489 */ // GIR_Coverage, 743,
13308 /* 33489 */ GIR_EraseRootFromParent_Done,
13309 /* 33490 */ // Label 932: @33490
13310 /* 33490 */ GIM_Try, /*On fail goto*//*Label 933*/ GIMT_Encode4(33544), // Rule ID 744 //
13311 /* 33495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13312 /* 33498 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_u_d),
13313 /* 33503 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
13314 /* 33506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
13315 /* 33509 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13316 /* 33512 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13317 /* 33515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13318 /* 33519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13319 /* 33523 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13320 /* 33527 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13321 /* 33531 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8160:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DPSUB_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13322 /* 33531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_U_D),
13323 /* 33534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13324 /* 33536 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13325 /* 33538 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13326 /* 33540 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13327 /* 33542 */ GIR_RootConstrainSelectedInstOperands,
13328 /* 33543 */ // GIR_Coverage, 744,
13329 /* 33543 */ GIR_EraseRootFromParent_Done,
13330 /* 33544 */ // Label 933: @33544
13331 /* 33544 */ GIM_Try, /*On fail goto*//*Label 934*/ GIMT_Encode4(33598), // Rule ID 911 //
13332 /* 33549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13333 /* 33552 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_madd_q_h),
13334 /* 33557 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13335 /* 33560 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13336 /* 33563 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13337 /* 33566 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13338 /* 33569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13339 /* 33573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13340 /* 33577 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13341 /* 33581 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13342 /* 33585 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8328:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MADD_Q_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13343 /* 33585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_Q_H),
13344 /* 33588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13345 /* 33590 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13346 /* 33592 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13347 /* 33594 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13348 /* 33596 */ GIR_RootConstrainSelectedInstOperands,
13349 /* 33597 */ // GIR_Coverage, 911,
13350 /* 33597 */ GIR_EraseRootFromParent_Done,
13351 /* 33598 */ // Label 934: @33598
13352 /* 33598 */ GIM_Try, /*On fail goto*//*Label 935*/ GIMT_Encode4(33652), // Rule ID 912 //
13353 /* 33603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13354 /* 33606 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_madd_q_w),
13355 /* 33611 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13356 /* 33614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13357 /* 33617 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13358 /* 33620 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13359 /* 33623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13360 /* 33627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13361 /* 33631 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13362 /* 33635 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13363 /* 33639 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8329:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MADD_Q_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13364 /* 33639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_Q_W),
13365 /* 33642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13366 /* 33644 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13367 /* 33646 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13368 /* 33648 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13369 /* 33650 */ GIR_RootConstrainSelectedInstOperands,
13370 /* 33651 */ // GIR_Coverage, 912,
13371 /* 33651 */ GIR_EraseRootFromParent_Done,
13372 /* 33652 */ // Label 935: @33652
13373 /* 33652 */ GIM_Try, /*On fail goto*//*Label 936*/ GIMT_Encode4(33706), // Rule ID 913 //
13374 /* 33657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13375 /* 33660 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_maddr_q_h),
13376 /* 33665 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13377 /* 33668 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13378 /* 33671 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13379 /* 33674 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13380 /* 33677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13381 /* 33681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13382 /* 33685 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13383 /* 33689 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13384 /* 33693 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8330:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MADDR_Q_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13385 /* 33693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDR_Q_H),
13386 /* 33696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13387 /* 33698 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13388 /* 33700 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13389 /* 33702 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13390 /* 33704 */ GIR_RootConstrainSelectedInstOperands,
13391 /* 33705 */ // GIR_Coverage, 913,
13392 /* 33705 */ GIR_EraseRootFromParent_Done,
13393 /* 33706 */ // Label 936: @33706
13394 /* 33706 */ GIM_Try, /*On fail goto*//*Label 937*/ GIMT_Encode4(33760), // Rule ID 914 //
13395 /* 33711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13396 /* 33714 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_maddr_q_w),
13397 /* 33719 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13398 /* 33722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13399 /* 33725 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13400 /* 33728 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13401 /* 33731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13402 /* 33735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13403 /* 33739 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13404 /* 33743 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13405 /* 33747 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8331:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MADDR_Q_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13406 /* 33747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDR_Q_W),
13407 /* 33750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13408 /* 33752 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13409 /* 33754 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13410 /* 33756 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13411 /* 33758 */ GIR_RootConstrainSelectedInstOperands,
13412 /* 33759 */ // GIR_Coverage, 914,
13413 /* 33759 */ GIR_EraseRootFromParent_Done,
13414 /* 33760 */ // Label 937: @33760
13415 /* 33760 */ GIM_Try, /*On fail goto*//*Label 938*/ GIMT_Encode4(33814), // Rule ID 967 //
13416 /* 33765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13417 /* 33768 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_msub_q_h),
13418 /* 33773 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13419 /* 33776 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13420 /* 33779 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13421 /* 33782 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13422 /* 33785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13423 /* 33789 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13424 /* 33793 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13425 /* 33797 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13426 /* 33801 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8392:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MSUB_Q_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13427 /* 33801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_Q_H),
13428 /* 33804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13429 /* 33806 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13430 /* 33808 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13431 /* 33810 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13432 /* 33812 */ GIR_RootConstrainSelectedInstOperands,
13433 /* 33813 */ // GIR_Coverage, 967,
13434 /* 33813 */ GIR_EraseRootFromParent_Done,
13435 /* 33814 */ // Label 938: @33814
13436 /* 33814 */ GIM_Try, /*On fail goto*//*Label 939*/ GIMT_Encode4(33868), // Rule ID 968 //
13437 /* 33819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13438 /* 33822 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_msub_q_w),
13439 /* 33827 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13440 /* 33830 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13441 /* 33833 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13442 /* 33836 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13443 /* 33839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13444 /* 33843 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13445 /* 33847 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13446 /* 33851 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13447 /* 33855 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8393:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MSUB_Q_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13448 /* 33855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_Q_W),
13449 /* 33858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13450 /* 33860 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13451 /* 33862 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13452 /* 33864 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13453 /* 33866 */ GIR_RootConstrainSelectedInstOperands,
13454 /* 33867 */ // GIR_Coverage, 968,
13455 /* 33867 */ GIR_EraseRootFromParent_Done,
13456 /* 33868 */ // Label 939: @33868
13457 /* 33868 */ GIM_Try, /*On fail goto*//*Label 940*/ GIMT_Encode4(33922), // Rule ID 969 //
13458 /* 33873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13459 /* 33876 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_msubr_q_h),
13460 /* 33881 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13461 /* 33884 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13462 /* 33887 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13463 /* 33890 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
13464 /* 33893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13465 /* 33897 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13466 /* 33901 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13467 /* 33905 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13468 /* 33909 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8394:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MSUBR_Q_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
13469 /* 33909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBR_Q_H),
13470 /* 33912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13471 /* 33914 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13472 /* 33916 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13473 /* 33918 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13474 /* 33920 */ GIR_RootConstrainSelectedInstOperands,
13475 /* 33921 */ // GIR_Coverage, 969,
13476 /* 33921 */ GIR_EraseRootFromParent_Done,
13477 /* 33922 */ // Label 940: @33922
13478 /* 33922 */ GIM_Try, /*On fail goto*//*Label 941*/ GIMT_Encode4(33976), // Rule ID 970 //
13479 /* 33927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13480 /* 33930 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_msubr_q_w),
13481 /* 33935 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13482 /* 33938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13483 /* 33941 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13484 /* 33944 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
13485 /* 33947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13486 /* 33951 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13487 /* 33955 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13488 /* 33959 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13489 /* 33963 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8395:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MSUBR_Q_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
13490 /* 33963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBR_Q_W),
13491 /* 33966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13492 /* 33968 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13493 /* 33970 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13494 /* 33972 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
13495 /* 33974 */ GIR_RootConstrainSelectedInstOperands,
13496 /* 33975 */ // GIR_Coverage, 970,
13497 /* 33975 */ GIR_EraseRootFromParent_Done,
13498 /* 33976 */ // Label 941: @33976
13499 /* 33976 */ GIM_Try, /*On fail goto*//*Label 942*/ GIMT_Encode4(34030), // Rule ID 1024 //
13500 /* 33981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13501 /* 33984 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sld_b),
13502 /* 33989 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
13503 /* 33992 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
13504 /* 33995 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
13505 /* 33998 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
13506 /* 34001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13507 /* 34005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13508 /* 34009 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
13509 /* 34013 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13510 /* 34017 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8496:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, GPR32Opnd:{ *:[i32] }:$rt) => (SLD_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, GPR32Opnd:{ *:[i32] }:$rt)
13511 /* 34017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLD_B),
13512 /* 34020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13513 /* 34022 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13514 /* 34024 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13515 /* 34026 */ GIR_RootToRootCopy, /*OpIdx*/4, // rt
13516 /* 34028 */ GIR_RootConstrainSelectedInstOperands,
13517 /* 34029 */ // GIR_Coverage, 1024,
13518 /* 34029 */ GIR_EraseRootFromParent_Done,
13519 /* 34030 */ // Label 942: @34030
13520 /* 34030 */ GIM_Try, /*On fail goto*//*Label 943*/ GIMT_Encode4(34084), // Rule ID 1025 //
13521 /* 34035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13522 /* 34038 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sld_h),
13523 /* 34043 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
13524 /* 34046 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
13525 /* 34049 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
13526 /* 34052 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
13527 /* 34055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13528 /* 34059 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13529 /* 34063 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
13530 /* 34067 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13531 /* 34071 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8498:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, GPR32Opnd:{ *:[i32] }:$rt) => (SLD_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, GPR32Opnd:{ *:[i32] }:$rt)
13532 /* 34071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLD_H),
13533 /* 34074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13534 /* 34076 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13535 /* 34078 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13536 /* 34080 */ GIR_RootToRootCopy, /*OpIdx*/4, // rt
13537 /* 34082 */ GIR_RootConstrainSelectedInstOperands,
13538 /* 34083 */ // GIR_Coverage, 1025,
13539 /* 34083 */ GIR_EraseRootFromParent_Done,
13540 /* 34084 */ // Label 943: @34084
13541 /* 34084 */ GIM_Try, /*On fail goto*//*Label 944*/ GIMT_Encode4(34138), // Rule ID 1026 //
13542 /* 34089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13543 /* 34092 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sld_w),
13544 /* 34097 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
13545 /* 34100 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
13546 /* 34103 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
13547 /* 34106 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
13548 /* 34109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13549 /* 34113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13550 /* 34117 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
13551 /* 34121 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13552 /* 34125 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8499:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, GPR32Opnd:{ *:[i32] }:$rt) => (SLD_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, GPR32Opnd:{ *:[i32] }:$rt)
13553 /* 34125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLD_W),
13554 /* 34128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13555 /* 34130 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13556 /* 34132 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13557 /* 34134 */ GIR_RootToRootCopy, /*OpIdx*/4, // rt
13558 /* 34136 */ GIR_RootConstrainSelectedInstOperands,
13559 /* 34137 */ // GIR_Coverage, 1026,
13560 /* 34137 */ GIR_EraseRootFromParent_Done,
13561 /* 34138 */ // Label 944: @34138
13562 /* 34138 */ GIM_Try, /*On fail goto*//*Label 945*/ GIMT_Encode4(34192), // Rule ID 1027 //
13563 /* 34143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
13564 /* 34146 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sld_d),
13565 /* 34151 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
13566 /* 34154 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
13567 /* 34157 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
13568 /* 34160 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
13569 /* 34163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13570 /* 34167 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13571 /* 34171 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
13572 /* 34175 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13573 /* 34179 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8497:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, GPR32Opnd:{ *:[i32] }:$rt) => (SLD_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, GPR32Opnd:{ *:[i32] }:$rt)
13574 /* 34179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLD_D),
13575 /* 34182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
13576 /* 34184 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
13577 /* 34186 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
13578 /* 34188 */ GIR_RootToRootCopy, /*OpIdx*/4, // rt
13579 /* 34190 */ GIR_RootConstrainSelectedInstOperands,
13580 /* 34191 */ // GIR_Coverage, 1027,
13581 /* 34191 */ GIR_EraseRootFromParent_Done,
13582 /* 34192 */ // Label 945: @34192
13583 /* 34192 */ GIM_Reject,
13584 /* 34193 */ // Label 899: @34193
13585 /* 34193 */ GIM_Reject,
13586 /* 34194 */ // Label 30: @34194
13587 /* 34194 */ GIM_Try, /*On fail goto*//*Label 946*/ GIMT_Encode4(34225), // Rule ID 429 //
13588 /* 34199 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/2,
13589 /* 34202 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_bposge32),
13590 /* 34207 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13591 /* 34210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13592 /* 34214 */ // (intrinsic_w_chain:{ *:[i32] } 8043:{ *:[iPTR] }) => (BPOSGE32_PSEUDO:{ *:[i32] })
13593 /* 34214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BPOSGE32_PSEUDO),
13594 /* 34217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13595 /* 34219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13596 /* 34223 */ GIR_RootConstrainSelectedInstOperands,
13597 /* 34224 */ // GIR_Coverage, 429,
13598 /* 34224 */ GIR_EraseRootFromParent_Done,
13599 /* 34225 */ // Label 946: @34225
13600 /* 34225 */ GIM_Try, /*On fail goto*//*Label 947*/ GIMT_Encode4(35162),
13601 /* 34230 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
13602 /* 34233 */ GIM_Try, /*On fail goto*//*Label 948*/ GIMT_Encode4(34274), // Rule ID 516 //
13603 /* 34238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13604 /* 34241 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_rddsp),
13605 /* 34246 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13606 /* 34249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13607 /* 34253 */ // MIs[0] mask
13608 /* 34253 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
13609 /* 34256 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt10),
13610 /* 34261 */ // (intrinsic_w_chain:{ *:[i32] } 8470:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_timmZExt10>>:$mask) => (RDDSP:{ *:[i32] } (timm:{ *:[i32] }):$mask)
13611 /* 34261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::RDDSP),
13612 /* 34264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13613 /* 34266 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
13614 /* 34268 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13615 /* 34272 */ GIR_RootConstrainSelectedInstOperands,
13616 /* 34273 */ // GIR_Coverage, 516,
13617 /* 34273 */ GIR_EraseRootFromParent_Done,
13618 /* 34274 */ // Label 948: @34274
13619 /* 34274 */ GIM_Try, /*On fail goto*//*Label 949*/ GIMT_Encode4(34310), // Rule ID 1362 //
13620 /* 34279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13621 /* 34282 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_rddsp),
13622 /* 34287 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13623 /* 34290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13624 /* 34294 */ // MIs[0] mask
13625 /* 34294 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
13626 /* 34297 */ // (intrinsic_w_chain:{ *:[i32] } 8470:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_timmZExt7>>:$mask) => (RDDSP_MM:{ *:[i32] } (timm:{ *:[i32] }):$mask)
13627 /* 34297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::RDDSP_MM),
13628 /* 34300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13629 /* 34302 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
13630 /* 34304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13631 /* 34308 */ GIR_RootConstrainSelectedInstOperands,
13632 /* 34309 */ // GIR_Coverage, 1362,
13633 /* 34309 */ GIR_EraseRootFromParent_Done,
13634 /* 34310 */ // Label 949: @34310
13635 /* 34310 */ GIM_Try, /*On fail goto*//*Label 950*/ GIMT_Encode4(34351), // Rule ID 517 //
13636 /* 34315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_NotInMicroMips),
13637 /* 34318 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_wrdsp),
13638 /* 34323 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
13639 /* 34326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13640 /* 34330 */ // MIs[0] mask
13641 /* 34330 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
13642 /* 34333 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt10),
13643 /* 34338 */ // (intrinsic_void 8599:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt10>>:$mask) => (WRDSP GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$mask)
13644 /* 34338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::WRDSP),
13645 /* 34341 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13646 /* 34343 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
13647 /* 34345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13648 /* 34349 */ GIR_RootConstrainSelectedInstOperands,
13649 /* 34350 */ // GIR_Coverage, 517,
13650 /* 34350 */ GIR_EraseRootFromParent_Done,
13651 /* 34351 */ // Label 950: @34351
13652 /* 34351 */ GIM_Try, /*On fail goto*//*Label 951*/ GIMT_Encode4(34387), // Rule ID 1373 //
13653 /* 34356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13654 /* 34359 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_wrdsp),
13655 /* 34364 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
13656 /* 34367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13657 /* 34371 */ // MIs[0] mask
13658 /* 34371 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
13659 /* 34374 */ // (intrinsic_void 8599:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, (timm:{ *:[i32] })<<P:Predicate_timmZExt7>>:$mask) => (WRDSP_MM GPR32Opnd:{ *:[i32] }:$rt, (timm:{ *:[i32] }):$mask)
13660 /* 34374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::WRDSP_MM),
13661 /* 34377 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
13662 /* 34379 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
13663 /* 34381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13664 /* 34385 */ GIR_RootConstrainSelectedInstOperands,
13665 /* 34386 */ // GIR_Coverage, 1373,
13666 /* 34386 */ GIR_EraseRootFromParent_Done,
13667 /* 34387 */ // Label 951: @34387
13668 /* 34387 */ GIM_Try, /*On fail goto*//*Label 952*/ GIMT_Encode4(34430), // Rule ID 438 //
13669 /* 34392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13670 /* 34395 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_ph),
13671 /* 34400 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13672 /* 34403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13673 /* 34406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13674 /* 34410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13675 /* 34414 */ // (intrinsic_w_chain:{ *:[v2i16] } 7931:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt) => (ABSQ_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt)
13676 /* 34414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_PH),
13677 /* 34417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13678 /* 34419 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13679 /* 34421 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13680 /* 34424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13681 /* 34428 */ GIR_RootConstrainSelectedInstOperands,
13682 /* 34429 */ // GIR_Coverage, 438,
13683 /* 34429 */ GIR_EraseRootFromParent_Done,
13684 /* 34430 */ // Label 952: @34430
13685 /* 34430 */ GIM_Try, /*On fail goto*//*Label 953*/ GIMT_Encode4(34473), // Rule ID 439 //
13686 /* 34435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13687 /* 34438 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_w),
13688 /* 34443 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13689 /* 34446 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13690 /* 34449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13691 /* 34453 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13692 /* 34457 */ // (intrinsic_w_chain:{ *:[i32] } 7933:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt) => (ABSQ_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
13693 /* 34457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_W),
13694 /* 34460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13695 /* 34462 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13696 /* 34464 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13697 /* 34467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13698 /* 34471 */ GIR_RootConstrainSelectedInstOperands,
13699 /* 34472 */ // GIR_Coverage, 439,
13700 /* 34472 */ GIR_EraseRootFromParent_Done,
13701 /* 34473 */ // Label 953: @34473
13702 /* 34473 */ GIM_Try, /*On fail goto*//*Label 954*/ GIMT_Encode4(34516), // Rule ID 525 //
13703 /* 34478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
13704 /* 34481 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_qb),
13705 /* 34486 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
13706 /* 34489 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13707 /* 34492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13708 /* 34496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13709 /* 34500 */ // (intrinsic_w_chain:{ *:[v4i8] } 7932:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (ABSQ_S_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt)
13710 /* 34500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_QB),
13711 /* 34503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13712 /* 34505 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13713 /* 34507 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13714 /* 34510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13715 /* 34514 */ GIR_RootConstrainSelectedInstOperands,
13716 /* 34515 */ // GIR_Coverage, 525,
13717 /* 34515 */ GIR_EraseRootFromParent_Done,
13718 /* 34516 */ // Label 954: @34516
13719 /* 34516 */ GIM_Try, /*On fail goto*//*Label 955*/ GIMT_Encode4(34559), // Rule ID 1305 //
13720 /* 34521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13721 /* 34524 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_ph),
13722 /* 34529 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13723 /* 34532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13724 /* 34535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13725 /* 34539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13726 /* 34543 */ // (intrinsic_w_chain:{ *:[v2i16] } 7931:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs) => (ABSQ_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs)
13727 /* 34543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_PH_MM),
13728 /* 34546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13729 /* 34548 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13730 /* 34550 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13731 /* 34553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13732 /* 34557 */ GIR_RootConstrainSelectedInstOperands,
13733 /* 34558 */ // GIR_Coverage, 1305,
13734 /* 34558 */ GIR_EraseRootFromParent_Done,
13735 /* 34559 */ // Label 955: @34559
13736 /* 34559 */ GIM_Try, /*On fail goto*//*Label 956*/ GIMT_Encode4(34602), // Rule ID 1306 //
13737 /* 34564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13738 /* 34567 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_w),
13739 /* 34572 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13740 /* 34575 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13741 /* 34578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13742 /* 34582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13743 /* 34586 */ // (intrinsic_w_chain:{ *:[i32] } 7933:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs) => (ABSQ_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
13744 /* 34586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_W_MM),
13745 /* 34589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13746 /* 34591 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13747 /* 34593 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13748 /* 34596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13749 /* 34600 */ GIR_RootConstrainSelectedInstOperands,
13750 /* 34601 */ // GIR_Coverage, 1306,
13751 /* 34601 */ GIR_EraseRootFromParent_Done,
13752 /* 34602 */ // Label 956: @34602
13753 /* 34602 */ GIM_Try, /*On fail goto*//*Label 957*/ GIMT_Encode4(34645), // Rule ID 1386 //
13754 /* 34607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
13755 /* 34610 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_qb),
13756 /* 34615 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
13757 /* 34618 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13758 /* 34621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13759 /* 34625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13760 /* 34629 */ // (intrinsic_w_chain:{ *:[v4i8] } 7932:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (ABSQ_S_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs)
13761 /* 34629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_QB_MMR2),
13762 /* 34632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13763 /* 34634 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13764 /* 34636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13765 /* 34639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13766 /* 34643 */ GIR_RootConstrainSelectedInstOperands,
13767 /* 34644 */ // GIR_Coverage, 1386,
13768 /* 34644 */ GIR_EraseRootFromParent_Done,
13769 /* 34645 */ // Label 957: @34645
13770 /* 34645 */ GIM_Try, /*On fail goto*//*Label 958*/ GIMT_Encode4(34688), // Rule ID 492 //
13771 /* 34650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13772 /* 34653 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_eq_qb),
13773 /* 34658 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13774 /* 34661 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13775 /* 34664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13776 /* 34668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13777 /* 34672 */ // (intrinsic_void 8109:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_EQ_QB DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13778 /* 34672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_EQ_QB),
13779 /* 34675 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13780 /* 34677 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13781 /* 34679 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13782 /* 34682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13783 /* 34686 */ GIR_RootConstrainSelectedInstOperands,
13784 /* 34687 */ // GIR_Coverage, 492,
13785 /* 34687 */ GIR_EraseRootFromParent_Done,
13786 /* 34688 */ // Label 958: @34688
13787 /* 34688 */ GIM_Try, /*On fail goto*//*Label 959*/ GIMT_Encode4(34731), // Rule ID 493 //
13788 /* 34693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13789 /* 34696 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_lt_qb),
13790 /* 34701 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13791 /* 34704 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13792 /* 34707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13793 /* 34711 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13794 /* 34715 */ // (intrinsic_void 8111:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_LT_QB DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13795 /* 34715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_LT_QB),
13796 /* 34718 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13797 /* 34720 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13798 /* 34722 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13799 /* 34725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13800 /* 34729 */ GIR_RootConstrainSelectedInstOperands,
13801 /* 34730 */ // GIR_Coverage, 493,
13802 /* 34730 */ GIR_EraseRootFromParent_Done,
13803 /* 34731 */ // Label 959: @34731
13804 /* 34731 */ GIM_Try, /*On fail goto*//*Label 960*/ GIMT_Encode4(34774), // Rule ID 494 //
13805 /* 34736 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13806 /* 34739 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_le_qb),
13807 /* 34744 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13808 /* 34747 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13809 /* 34750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13810 /* 34754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13811 /* 34758 */ // (intrinsic_void 8110:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_LE_QB DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13812 /* 34758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_LE_QB),
13813 /* 34761 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13814 /* 34763 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13815 /* 34765 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13816 /* 34768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13817 /* 34772 */ GIR_RootConstrainSelectedInstOperands,
13818 /* 34773 */ // GIR_Coverage, 494,
13819 /* 34773 */ GIR_EraseRootFromParent_Done,
13820 /* 34774 */ // Label 960: @34774
13821 /* 34774 */ GIM_Try, /*On fail goto*//*Label 961*/ GIMT_Encode4(34817), // Rule ID 498 //
13822 /* 34779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13823 /* 34782 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_eq_ph),
13824 /* 34787 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13825 /* 34790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13826 /* 34793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13827 /* 34797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13828 /* 34801 */ // (intrinsic_void 8100:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_EQ_PH DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13829 /* 34801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_PH),
13830 /* 34804 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13831 /* 34806 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13832 /* 34808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13833 /* 34811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13834 /* 34815 */ GIR_RootConstrainSelectedInstOperands,
13835 /* 34816 */ // GIR_Coverage, 498,
13836 /* 34816 */ GIR_EraseRootFromParent_Done,
13837 /* 34817 */ // Label 961: @34817
13838 /* 34817 */ GIM_Try, /*On fail goto*//*Label 962*/ GIMT_Encode4(34860), // Rule ID 499 //
13839 /* 34822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13840 /* 34825 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_lt_ph),
13841 /* 34830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13842 /* 34833 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13843 /* 34836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13844 /* 34840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13845 /* 34844 */ // (intrinsic_void 8102:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_LT_PH DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13846 /* 34844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_PH),
13847 /* 34847 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13848 /* 34849 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13849 /* 34851 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13850 /* 34854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13851 /* 34858 */ GIR_RootConstrainSelectedInstOperands,
13852 /* 34859 */ // GIR_Coverage, 499,
13853 /* 34859 */ GIR_EraseRootFromParent_Done,
13854 /* 34860 */ // Label 962: @34860
13855 /* 34860 */ GIM_Try, /*On fail goto*//*Label 963*/ GIMT_Encode4(34903), // Rule ID 500 //
13856 /* 34865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13857 /* 34868 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_le_ph),
13858 /* 34873 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13859 /* 34876 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13860 /* 34879 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13861 /* 34883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13862 /* 34887 */ // (intrinsic_void 8101:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_LE_PH DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13863 /* 34887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_PH),
13864 /* 34890 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13865 /* 34892 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13866 /* 34894 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13867 /* 34897 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13868 /* 34901 */ GIR_RootConstrainSelectedInstOperands,
13869 /* 34902 */ // GIR_Coverage, 500,
13870 /* 34902 */ GIR_EraseRootFromParent_Done,
13871 /* 34903 */ // Label 963: @34903
13872 /* 34903 */ GIM_Try, /*On fail goto*//*Label 964*/ GIMT_Encode4(34946), // Rule ID 1377 //
13873 /* 34908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13874 /* 34911 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_eq_ph),
13875 /* 34916 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13876 /* 34919 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13877 /* 34922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13878 /* 34926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13879 /* 34930 */ // (intrinsic_void 8100:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_EQ_PH_MM DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13880 /* 34930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_PH_MM),
13881 /* 34933 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13882 /* 34935 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13883 /* 34937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13884 /* 34940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13885 /* 34944 */ GIR_RootConstrainSelectedInstOperands,
13886 /* 34945 */ // GIR_Coverage, 1377,
13887 /* 34945 */ GIR_EraseRootFromParent_Done,
13888 /* 34946 */ // Label 964: @34946
13889 /* 34946 */ GIM_Try, /*On fail goto*//*Label 965*/ GIMT_Encode4(34989), // Rule ID 1378 //
13890 /* 34951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13891 /* 34954 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_lt_ph),
13892 /* 34959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13893 /* 34962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13894 /* 34965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13895 /* 34969 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13896 /* 34973 */ // (intrinsic_void 8102:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_LT_PH_MM DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13897 /* 34973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_PH_MM),
13898 /* 34976 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13899 /* 34978 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13900 /* 34980 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13901 /* 34983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13902 /* 34987 */ GIR_RootConstrainSelectedInstOperands,
13903 /* 34988 */ // GIR_Coverage, 1378,
13904 /* 34988 */ GIR_EraseRootFromParent_Done,
13905 /* 34989 */ // Label 965: @34989
13906 /* 34989 */ GIM_Try, /*On fail goto*//*Label 966*/ GIMT_Encode4(35032), // Rule ID 1379 //
13907 /* 34994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13908 /* 34997 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_le_ph),
13909 /* 35002 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13910 /* 35005 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13911 /* 35008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13912 /* 35012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13913 /* 35016 */ // (intrinsic_void 8101:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_LE_PH_MM DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13914 /* 35016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_PH_MM),
13915 /* 35019 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13916 /* 35021 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13917 /* 35023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13918 /* 35026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13919 /* 35030 */ GIR_RootConstrainSelectedInstOperands,
13920 /* 35031 */ // GIR_Coverage, 1379,
13921 /* 35031 */ GIR_EraseRootFromParent_Done,
13922 /* 35032 */ // Label 966: @35032
13923 /* 35032 */ GIM_Try, /*On fail goto*//*Label 967*/ GIMT_Encode4(35075), // Rule ID 1383 //
13924 /* 35037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13925 /* 35040 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_eq_qb),
13926 /* 35045 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13927 /* 35048 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13928 /* 35051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13929 /* 35055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13930 /* 35059 */ // (intrinsic_void 8109:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_EQ_QB_MM DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13931 /* 35059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_EQ_QB_MM),
13932 /* 35062 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13933 /* 35064 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13934 /* 35066 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13935 /* 35069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13936 /* 35073 */ GIR_RootConstrainSelectedInstOperands,
13937 /* 35074 */ // GIR_Coverage, 1383,
13938 /* 35074 */ GIR_EraseRootFromParent_Done,
13939 /* 35075 */ // Label 967: @35075
13940 /* 35075 */ GIM_Try, /*On fail goto*//*Label 968*/ GIMT_Encode4(35118), // Rule ID 1384 //
13941 /* 35080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13942 /* 35083 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_lt_qb),
13943 /* 35088 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13944 /* 35091 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13945 /* 35094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13946 /* 35098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13947 /* 35102 */ // (intrinsic_void 8111:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_LT_QB_MM DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13948 /* 35102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_LT_QB_MM),
13949 /* 35105 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13950 /* 35107 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13951 /* 35109 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13952 /* 35112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13953 /* 35116 */ GIR_RootConstrainSelectedInstOperands,
13954 /* 35117 */ // GIR_Coverage, 1384,
13955 /* 35117 */ GIR_EraseRootFromParent_Done,
13956 /* 35118 */ // Label 968: @35118
13957 /* 35118 */ GIM_Try, /*On fail goto*//*Label 969*/ GIMT_Encode4(35161), // Rule ID 1385 //
13958 /* 35123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
13959 /* 35126 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_le_qb),
13960 /* 35131 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13961 /* 35134 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13962 /* 35137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13963 /* 35141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13964 /* 35145 */ // (intrinsic_void 8110:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_LE_QB_MM DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13965 /* 35145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_LE_QB_MM),
13966 /* 35148 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13967 /* 35150 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13968 /* 35152 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13969 /* 35155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13970 /* 35159 */ GIR_RootConstrainSelectedInstOperands,
13971 /* 35160 */ // GIR_Coverage, 1385,
13972 /* 35160 */ GIR_EraseRootFromParent_Done,
13973 /* 35161 */ // Label 969: @35161
13974 /* 35161 */ GIM_Reject,
13975 /* 35162 */ // Label 947: @35162
13976 /* 35162 */ GIM_Try, /*On fail goto*//*Label 970*/ GIMT_Encode4(39287),
13977 /* 35167 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
13978 /* 35170 */ GIM_Try, /*On fail goto*//*Label 971*/ GIMT_Encode4(35234), // Rule ID 457 //
13979 /* 35175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
13980 /* 35178 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
13981 /* 35183 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13982 /* 35186 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13983 /* 35189 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13984 /* 35192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13985 /* 35196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13986 /* 35200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
13987 /* 35204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13988 /* 35208 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
13989 /* 35212 */ // MIs[1] Operand 1
13990 /* 35212 */ // No operand predicates
13991 /* 35212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13992 /* 35214 */ // (intrinsic_w_chain:{ *:[v2i16] } 8487:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$rs_sa) => (SHLL_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, (imm:{ *:[i32] }):$rs_sa)
13993 /* 35214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_S_PH),
13994 /* 35217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13995 /* 35219 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13996 /* 35221 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
13997 /* 35224 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13998 /* 35227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13999 /* 35232 */ GIR_RootConstrainSelectedInstOperands,
14000 /* 35233 */ // GIR_Coverage, 457,
14001 /* 35233 */ GIR_EraseRootFromParent_Done,
14002 /* 35234 */ // Label 971: @35234
14003 /* 35234 */ GIM_Try, /*On fail goto*//*Label 972*/ GIMT_Encode4(35298), // Rule ID 462 //
14004 /* 35239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14005 /* 35242 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
14006 /* 35247 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14007 /* 35250 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14008 /* 35253 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14009 /* 35256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14010 /* 35260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14011 /* 35264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
14012 /* 35268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14013 /* 35272 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
14014 /* 35276 */ // MIs[1] Operand 1
14015 /* 35276 */ // No operand predicates
14016 /* 35276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14017 /* 35278 */ // (intrinsic_w_chain:{ *:[i32] } 8488:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$rs_sa) => (SHLL_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$rs_sa)
14018 /* 35278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_S_W),
14019 /* 35281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14020 /* 35283 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14021 /* 35285 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
14022 /* 35288 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14023 /* 35291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14024 /* 35296 */ GIR_RootConstrainSelectedInstOperands,
14025 /* 35297 */ // GIR_Coverage, 462,
14026 /* 35297 */ GIR_EraseRootFromParent_Done,
14027 /* 35298 */ // Label 972: @35298
14028 /* 35298 */ GIM_Try, /*On fail goto*//*Label 973*/ GIMT_Encode4(35362), // Rule ID 1314 //
14029 /* 35303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14030 /* 35306 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
14031 /* 35311 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14032 /* 35314 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14033 /* 35317 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14034 /* 35320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14035 /* 35324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14036 /* 35328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
14037 /* 35332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14038 /* 35336 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
14039 /* 35340 */ // MIs[1] Operand 1
14040 /* 35340 */ // No operand predicates
14041 /* 35340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14042 /* 35342 */ // (intrinsic_w_chain:{ *:[v2i16] } 8487:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$sa) => (SHLL_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, (imm:{ *:[i32] }):$sa)
14043 /* 35342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_S_PH_MM),
14044 /* 35345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
14045 /* 35347 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14046 /* 35349 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
14047 /* 35352 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14048 /* 35355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14049 /* 35360 */ GIR_RootConstrainSelectedInstOperands,
14050 /* 35361 */ // GIR_Coverage, 1314,
14051 /* 35361 */ GIR_EraseRootFromParent_Done,
14052 /* 35362 */ // Label 973: @35362
14053 /* 35362 */ GIM_Try, /*On fail goto*//*Label 974*/ GIMT_Encode4(35426), // Rule ID 1319 //
14054 /* 35367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14055 /* 35370 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
14056 /* 35375 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14057 /* 35378 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14058 /* 35381 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14059 /* 35384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14060 /* 35388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14061 /* 35392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
14062 /* 35396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14063 /* 35400 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
14064 /* 35404 */ // MIs[1] Operand 1
14065 /* 35404 */ // No operand predicates
14066 /* 35404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14067 /* 35406 */ // (intrinsic_w_chain:{ *:[i32] } 8488:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$sa) => (SHLL_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$sa)
14068 /* 35406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_S_W_MM),
14069 /* 35409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
14070 /* 35411 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14071 /* 35413 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
14072 /* 35416 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14073 /* 35419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14074 /* 35424 */ GIR_RootConstrainSelectedInstOperands,
14075 /* 35425 */ // GIR_Coverage, 1319,
14076 /* 35425 */ GIR_EraseRootFromParent_Done,
14077 /* 35426 */ // Label 974: @35426
14078 /* 35426 */ GIM_Try, /*On fail goto*//*Label 975*/ GIMT_Encode4(35481), // Rule ID 2069 //
14079 /* 35431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14080 /* 35434 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_ph),
14081 /* 35439 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14082 /* 35442 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14083 /* 35445 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14084 /* 35448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14085 /* 35452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
14086 /* 35456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14087 /* 35460 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
14088 /* 35464 */ // MIs[1] Operand 1
14089 /* 35464 */ // No operand predicates
14090 /* 35464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14091 /* 35466 */ // (intrinsic_w_chain:{ *:[v2i16] } 8485:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt) => (SHLL_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt)
14092 /* 35466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_PH),
14093 /* 35469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14094 /* 35471 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
14095 /* 35473 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
14096 /* 35476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14097 /* 35479 */ GIR_RootConstrainSelectedInstOperands,
14098 /* 35480 */ // GIR_Coverage, 2069,
14099 /* 35480 */ GIR_EraseRootFromParent_Done,
14100 /* 35481 */ // Label 975: @35481
14101 /* 35481 */ GIM_Try, /*On fail goto*//*Label 976*/ GIMT_Encode4(35536), // Rule ID 2075 //
14102 /* 35486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14103 /* 35489 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_qb),
14104 /* 35494 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14105 /* 35497 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14106 /* 35500 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14107 /* 35503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14108 /* 35507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
14109 /* 35511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14110 /* 35515 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
14111 /* 35519 */ // MIs[1] Operand 1
14112 /* 35519 */ // No operand predicates
14113 /* 35519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14114 /* 35521 */ // (intrinsic_w_chain:{ *:[v4i8] } 8486:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt) => (SHLL_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt)
14115 /* 35521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_QB),
14116 /* 35524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14117 /* 35526 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
14118 /* 35528 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
14119 /* 35531 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14120 /* 35534 */ GIR_RootConstrainSelectedInstOperands,
14121 /* 35535 */ // GIR_Coverage, 2075,
14122 /* 35535 */ GIR_EraseRootFromParent_Done,
14123 /* 35536 */ // Label 976: @35536
14124 /* 35536 */ GIM_Try, /*On fail goto*//*Label 977*/ GIMT_Encode4(35588), // Rule ID 434 //
14125 /* 35541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14126 /* 35544 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_s_w),
14127 /* 35549 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14128 /* 35552 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14129 /* 35555 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14130 /* 35558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14131 /* 35562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14132 /* 35566 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14133 /* 35570 */ // (intrinsic_w_chain:{ *:[i32] } 7940:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQ_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14134 /* 35570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_S_W),
14135 /* 35573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14136 /* 35575 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14137 /* 35577 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14138 /* 35579 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14139 /* 35582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14140 /* 35586 */ GIR_RootConstrainSelectedInstOperands,
14141 /* 35587 */ // GIR_Coverage, 434,
14142 /* 35587 */ GIR_EraseRootFromParent_Done,
14143 /* 35588 */ // Label 977: @35588
14144 /* 35588 */ GIM_Try, /*On fail goto*//*Label 978*/ GIMT_Encode4(35640), // Rule ID 435 //
14145 /* 35593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14146 /* 35596 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_s_w),
14147 /* 35601 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14148 /* 35604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14149 /* 35607 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14150 /* 35610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14151 /* 35614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14152 /* 35618 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14153 /* 35622 */ // (intrinsic_w_chain:{ *:[i32] } 8560:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQ_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14154 /* 35622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_S_W),
14155 /* 35625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14156 /* 35627 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14157 /* 35629 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14158 /* 35631 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14159 /* 35634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14160 /* 35638 */ GIR_RootConstrainSelectedInstOperands,
14161 /* 35639 */ // GIR_Coverage, 435,
14162 /* 35639 */ GIR_EraseRootFromParent_Done,
14163 /* 35640 */ // Label 978: @35640
14164 /* 35640 */ GIM_Try, /*On fail goto*//*Label 979*/ GIMT_Encode4(35692), // Rule ID 442 //
14165 /* 35645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14166 /* 35648 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_rs_ph_w),
14167 /* 35653 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14168 /* 35656 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14169 /* 35659 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14170 /* 35662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14171 /* 35666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14172 /* 35670 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14173 /* 35674 */ // (intrinsic_w_chain:{ *:[v2i16] } 8466:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (PRECRQ_RS_PH_W:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14174 /* 35674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_RS_PH_W),
14175 /* 35677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14176 /* 35679 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14177 /* 35681 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14178 /* 35683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14179 /* 35686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14180 /* 35690 */ GIR_RootConstrainSelectedInstOperands,
14181 /* 35691 */ // GIR_Coverage, 442,
14182 /* 35691 */ GIR_EraseRootFromParent_Done,
14183 /* 35692 */ // Label 979: @35692
14184 /* 35692 */ GIM_Try, /*On fail goto*//*Label 980*/ GIMT_Encode4(35744), // Rule ID 443 //
14185 /* 35697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14186 /* 35700 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrqu_s_qb_ph),
14187 /* 35705 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14188 /* 35708 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14189 /* 35711 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14190 /* 35714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14191 /* 35718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14192 /* 35722 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14193 /* 35726 */ // (intrinsic_w_chain:{ *:[v4i8] } 8467:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECRQU_S_QB_PH:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14194 /* 35726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQU_S_QB_PH),
14195 /* 35729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14196 /* 35731 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14197 /* 35733 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14198 /* 35735 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14199 /* 35738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14200 /* 35742 */ GIR_RootConstrainSelectedInstOperands,
14201 /* 35743 */ // GIR_Coverage, 443,
14202 /* 35743 */ GIR_EraseRootFromParent_Done,
14203 /* 35744 */ // Label 980: @35744
14204 /* 35744 */ GIM_Try, /*On fail goto*//*Label 981*/ GIMT_Encode4(35796), // Rule ID 454 //
14205 /* 35749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14206 /* 35752 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_qb),
14207 /* 35757 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14208 /* 35760 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14209 /* 35763 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14210 /* 35766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14211 /* 35770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14212 /* 35774 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14213 /* 35778 */ // (intrinsic_w_chain:{ *:[v4i8] } 8486:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHLLV_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
14214 /* 35778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_QB),
14215 /* 35781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14216 /* 35783 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14217 /* 35785 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
14218 /* 35787 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14219 /* 35790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14220 /* 35794 */ GIR_RootConstrainSelectedInstOperands,
14221 /* 35795 */ // GIR_Coverage, 454,
14222 /* 35795 */ GIR_EraseRootFromParent_Done,
14223 /* 35796 */ // Label 981: @35796
14224 /* 35796 */ GIM_Try, /*On fail goto*//*Label 982*/ GIMT_Encode4(35848), // Rule ID 456 //
14225 /* 35801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14226 /* 35804 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_ph),
14227 /* 35809 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14228 /* 35812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14229 /* 35815 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14230 /* 35818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14231 /* 35822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14232 /* 35826 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14233 /* 35830 */ // (intrinsic_w_chain:{ *:[v2i16] } 8485:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHLLV_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
14234 /* 35830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_PH),
14235 /* 35833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14236 /* 35835 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14237 /* 35837 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
14238 /* 35839 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14239 /* 35842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14240 /* 35846 */ GIR_RootConstrainSelectedInstOperands,
14241 /* 35847 */ // GIR_Coverage, 456,
14242 /* 35847 */ GIR_EraseRootFromParent_Done,
14243 /* 35848 */ // Label 982: @35848
14244 /* 35848 */ GIM_Try, /*On fail goto*//*Label 983*/ GIMT_Encode4(35900), // Rule ID 458 //
14245 /* 35853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14246 /* 35856 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
14247 /* 35861 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14248 /* 35864 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14249 /* 35867 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14250 /* 35870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14251 /* 35874 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14252 /* 35878 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14253 /* 35882 */ // (intrinsic_w_chain:{ *:[v2i16] } 8487:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHLLV_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
14254 /* 35882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_S_PH),
14255 /* 35885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14256 /* 35887 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14257 /* 35889 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
14258 /* 35891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14259 /* 35894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14260 /* 35898 */ GIR_RootConstrainSelectedInstOperands,
14261 /* 35899 */ // GIR_Coverage, 458,
14262 /* 35899 */ GIR_EraseRootFromParent_Done,
14263 /* 35900 */ // Label 983: @35900
14264 /* 35900 */ GIM_Try, /*On fail goto*//*Label 984*/ GIMT_Encode4(35952), // Rule ID 463 //
14265 /* 35905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14266 /* 35908 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
14267 /* 35913 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14268 /* 35916 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14269 /* 35919 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14270 /* 35922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14271 /* 35926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14272 /* 35930 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14273 /* 35934 */ // (intrinsic_w_chain:{ *:[i32] } 8488:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHLLV_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
14274 /* 35934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_S_W),
14275 /* 35937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14276 /* 35939 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14277 /* 35941 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
14278 /* 35943 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14279 /* 35946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14280 /* 35950 */ GIR_RootConstrainSelectedInstOperands,
14281 /* 35951 */ // GIR_Coverage, 463,
14282 /* 35951 */ GIR_EraseRootFromParent_Done,
14283 /* 35952 */ // Label 984: @35952
14284 /* 35952 */ GIM_Try, /*On fail goto*//*Label 985*/ GIMT_Encode4(36004), // Rule ID 466 //
14285 /* 35957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14286 /* 35960 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbl),
14287 /* 35965 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14288 /* 35968 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14289 /* 35971 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14290 /* 35974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14291 /* 35978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14292 /* 35982 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14293 /* 35986 */ // (intrinsic_w_chain:{ *:[v2i16] } 8408:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEU_S_PH_QBL:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14294 /* 35986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEU_S_PH_QBL),
14295 /* 35989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14296 /* 35991 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14297 /* 35993 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14298 /* 35995 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14299 /* 35998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14300 /* 36002 */ GIR_RootConstrainSelectedInstOperands,
14301 /* 36003 */ // GIR_Coverage, 466,
14302 /* 36003 */ GIR_EraseRootFromParent_Done,
14303 /* 36004 */ // Label 985: @36004
14304 /* 36004 */ GIM_Try, /*On fail goto*//*Label 986*/ GIMT_Encode4(36056), // Rule ID 467 //
14305 /* 36009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14306 /* 36012 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbr),
14307 /* 36017 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14308 /* 36020 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14309 /* 36023 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14310 /* 36026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14311 /* 36030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14312 /* 36034 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14313 /* 36038 */ // (intrinsic_w_chain:{ *:[v2i16] } 8409:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEU_S_PH_QBR:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14314 /* 36038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEU_S_PH_QBR),
14315 /* 36041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14316 /* 36043 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14317 /* 36045 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14318 /* 36047 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14319 /* 36050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14320 /* 36054 */ GIR_RootConstrainSelectedInstOperands,
14321 /* 36055 */ // GIR_Coverage, 467,
14322 /* 36055 */ GIR_EraseRootFromParent_Done,
14323 /* 36056 */ // Label 986: @36056
14324 /* 36056 */ GIM_Try, /*On fail goto*//*Label 987*/ GIMT_Encode4(36108), // Rule ID 468 //
14325 /* 36061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14326 /* 36064 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phl),
14327 /* 36069 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14328 /* 36072 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14329 /* 36075 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14330 /* 36078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14331 /* 36082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14332 /* 36086 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14333 /* 36090 */ // (intrinsic_w_chain:{ *:[i32] } 8406:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEQ_S_W_PHL:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14334 /* 36090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEQ_S_W_PHL),
14335 /* 36093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14336 /* 36095 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14337 /* 36097 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14338 /* 36099 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14339 /* 36102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14340 /* 36106 */ GIR_RootConstrainSelectedInstOperands,
14341 /* 36107 */ // GIR_Coverage, 468,
14342 /* 36107 */ GIR_EraseRootFromParent_Done,
14343 /* 36108 */ // Label 987: @36108
14344 /* 36108 */ GIM_Try, /*On fail goto*//*Label 988*/ GIMT_Encode4(36160), // Rule ID 469 //
14345 /* 36113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14346 /* 36116 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phr),
14347 /* 36121 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14348 /* 36124 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14349 /* 36127 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14350 /* 36130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14351 /* 36134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14352 /* 36138 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14353 /* 36142 */ // (intrinsic_w_chain:{ *:[i32] } 8407:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEQ_S_W_PHR:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14354 /* 36142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEQ_S_W_PHR),
14355 /* 36145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14356 /* 36147 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14357 /* 36149 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14358 /* 36151 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14359 /* 36154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14360 /* 36158 */ GIR_RootConstrainSelectedInstOperands,
14361 /* 36159 */ // GIR_Coverage, 469,
14362 /* 36159 */ GIR_EraseRootFromParent_Done,
14363 /* 36160 */ // Label 988: @36160
14364 /* 36160 */ GIM_Try, /*On fail goto*//*Label 989*/ GIMT_Encode4(36212), // Rule ID 470 //
14365 /* 36165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14366 /* 36168 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_rs_ph),
14367 /* 36173 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14368 /* 36176 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14369 /* 36179 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14370 /* 36182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14371 /* 36186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14372 /* 36190 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14373 /* 36194 */ // (intrinsic_w_chain:{ *:[v2i16] } 8410:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULQ_RS_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14374 /* 36194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_RS_PH),
14375 /* 36197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14376 /* 36199 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14377 /* 36201 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14378 /* 36203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14379 /* 36206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14380 /* 36210 */ GIR_RootConstrainSelectedInstOperands,
14381 /* 36211 */ // GIR_Coverage, 470,
14382 /* 36211 */ GIR_EraseRootFromParent_Done,
14383 /* 36212 */ // Label 989: @36212
14384 /* 36212 */ GIM_Try, /*On fail goto*//*Label 990*/ GIMT_Encode4(36261), // Rule ID 495 //
14385 /* 36217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14386 /* 36220 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_eq_qb),
14387 /* 36225 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14388 /* 36228 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14389 /* 36231 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14390 /* 36234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14391 /* 36238 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14392 /* 36242 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14393 /* 36246 */ // (intrinsic_w_chain:{ *:[i32] } 8106:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_EQ_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14394 /* 36246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_EQ_QB),
14395 /* 36249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14396 /* 36251 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14397 /* 36253 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14398 /* 36255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14399 /* 36259 */ GIR_RootConstrainSelectedInstOperands,
14400 /* 36260 */ // GIR_Coverage, 495,
14401 /* 36260 */ GIR_EraseRootFromParent_Done,
14402 /* 36261 */ // Label 990: @36261
14403 /* 36261 */ GIM_Try, /*On fail goto*//*Label 991*/ GIMT_Encode4(36310), // Rule ID 496 //
14404 /* 36266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14405 /* 36269 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_lt_qb),
14406 /* 36274 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14407 /* 36277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14408 /* 36280 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14409 /* 36283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14410 /* 36287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14411 /* 36291 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14412 /* 36295 */ // (intrinsic_w_chain:{ *:[i32] } 8108:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_LT_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14413 /* 36295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_LT_QB),
14414 /* 36298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14415 /* 36300 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14416 /* 36302 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14417 /* 36304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14418 /* 36308 */ GIR_RootConstrainSelectedInstOperands,
14419 /* 36309 */ // GIR_Coverage, 496,
14420 /* 36309 */ GIR_EraseRootFromParent_Done,
14421 /* 36310 */ // Label 991: @36310
14422 /* 36310 */ GIM_Try, /*On fail goto*//*Label 992*/ GIMT_Encode4(36359), // Rule ID 497 //
14423 /* 36315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14424 /* 36318 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_le_qb),
14425 /* 36323 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14426 /* 36326 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14427 /* 36329 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14428 /* 36332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14429 /* 36336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14430 /* 36340 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14431 /* 36344 */ // (intrinsic_w_chain:{ *:[i32] } 8107:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_LE_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14432 /* 36344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_LE_QB),
14433 /* 36347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14434 /* 36349 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14435 /* 36351 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14436 /* 36353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14437 /* 36357 */ GIR_RootConstrainSelectedInstOperands,
14438 /* 36358 */ // GIR_Coverage, 497,
14439 /* 36358 */ GIR_EraseRootFromParent_Done,
14440 /* 36359 */ // Label 992: @36359
14441 /* 36359 */ GIM_Try, /*On fail goto*//*Label 993*/ GIMT_Encode4(36408), // Rule ID 507 //
14442 /* 36364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14443 /* 36367 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_pick_qb),
14444 /* 36372 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14445 /* 36375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14446 /* 36378 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14447 /* 36381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14448 /* 36385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14449 /* 36389 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14450 /* 36393 */ // (intrinsic_w_chain:{ *:[v4i8] } 8450:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (PICK_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14451 /* 36393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PICK_QB),
14452 /* 36396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14453 /* 36398 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14454 /* 36400 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14455 /* 36402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14456 /* 36406 */ GIR_RootConstrainSelectedInstOperands,
14457 /* 36407 */ // GIR_Coverage, 507,
14458 /* 36407 */ GIR_EraseRootFromParent_Done,
14459 /* 36408 */ // Label 993: @36408
14460 /* 36408 */ GIM_Try, /*On fail goto*//*Label 994*/ GIMT_Encode4(36457), // Rule ID 508 //
14461 /* 36413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14462 /* 36416 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_pick_ph),
14463 /* 36421 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14464 /* 36424 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14465 /* 36427 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14466 /* 36430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14467 /* 36434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14468 /* 36438 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14469 /* 36442 */ // (intrinsic_w_chain:{ *:[v2i16] } 8449:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PICK_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14470 /* 36442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PICK_PH),
14471 /* 36445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14472 /* 36447 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14473 /* 36449 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14474 /* 36451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14475 /* 36455 */ GIR_RootConstrainSelectedInstOperands,
14476 /* 36456 */ // GIR_Coverage, 508,
14477 /* 36456 */ GIR_EraseRootFromParent_Done,
14478 /* 36457 */ // Label 994: @36457
14479 /* 36457 */ GIM_Try, /*On fail goto*//*Label 995*/ GIMT_Encode4(36506), // Rule ID 512 //
14480 /* 36462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
14481 /* 36465 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_insv),
14482 /* 36470 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14483 /* 36473 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14484 /* 36476 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14485 /* 36479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14486 /* 36483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14487 /* 36487 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14488 /* 36491 */ // (intrinsic_w_chain:{ *:[i32] } 8308:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs) => (INSV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs)
14489 /* 36491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSV),
14490 /* 36494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
14491 /* 36496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
14492 /* 36498 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14493 /* 36500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14494 /* 36504 */ GIR_RootConstrainSelectedInstOperands,
14495 /* 36505 */ // GIR_Coverage, 512,
14496 /* 36505 */ GIR_EraseRootFromParent_Done,
14497 /* 36506 */ // Label 995: @36506
14498 /* 36506 */ GIM_Try, /*On fail goto*//*Label 996*/ GIMT_Encode4(36558), // Rule ID 518 //
14499 /* 36511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14500 /* 36514 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_ph),
14501 /* 36519 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14502 /* 36522 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14503 /* 36525 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14504 /* 36528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14505 /* 36532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14506 /* 36536 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14507 /* 36540 */ // (intrinsic_w_chain:{ *:[v2i16] } 7958:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDU_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14508 /* 36540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_PH),
14509 /* 36543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14510 /* 36545 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14511 /* 36547 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14512 /* 36549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14513 /* 36552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14514 /* 36556 */ GIR_RootConstrainSelectedInstOperands,
14515 /* 36557 */ // GIR_Coverage, 518,
14516 /* 36557 */ GIR_EraseRootFromParent_Done,
14517 /* 36558 */ // Label 996: @36558
14518 /* 36558 */ GIM_Try, /*On fail goto*//*Label 997*/ GIMT_Encode4(36610), // Rule ID 519 //
14519 /* 36563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14520 /* 36566 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_s_ph),
14521 /* 36571 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14522 /* 36574 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14523 /* 36577 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14524 /* 36580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14525 /* 36584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14526 /* 36588 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14527 /* 36592 */ // (intrinsic_w_chain:{ *:[v2i16] } 7960:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDU_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14528 /* 36592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_S_PH),
14529 /* 36595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14530 /* 36597 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14531 /* 36599 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14532 /* 36601 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14533 /* 36604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14534 /* 36608 */ GIR_RootConstrainSelectedInstOperands,
14535 /* 36609 */ // GIR_Coverage, 519,
14536 /* 36609 */ GIR_EraseRootFromParent_Done,
14537 /* 36610 */ // Label 997: @36610
14538 /* 36610 */ GIM_Try, /*On fail goto*//*Label 998*/ GIMT_Encode4(36662), // Rule ID 520 //
14539 /* 36615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14540 /* 36618 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_ph),
14541 /* 36623 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14542 /* 36626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14543 /* 36629 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14544 /* 36632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14545 /* 36636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14546 /* 36640 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14547 /* 36644 */ // (intrinsic_w_chain:{ *:[v2i16] } 8581:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBU_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14548 /* 36644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_PH),
14549 /* 36647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14550 /* 36649 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14551 /* 36651 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14552 /* 36653 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14553 /* 36656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14554 /* 36660 */ GIR_RootConstrainSelectedInstOperands,
14555 /* 36661 */ // GIR_Coverage, 520,
14556 /* 36661 */ GIR_EraseRootFromParent_Done,
14557 /* 36662 */ // Label 998: @36662
14558 /* 36662 */ GIM_Try, /*On fail goto*//*Label 999*/ GIMT_Encode4(36714), // Rule ID 521 //
14559 /* 36667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14560 /* 36670 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_s_ph),
14561 /* 36675 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14562 /* 36678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14563 /* 36681 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14564 /* 36684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14565 /* 36688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14566 /* 36692 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14567 /* 36696 */ // (intrinsic_w_chain:{ *:[v2i16] } 8583:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBU_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14568 /* 36696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_S_PH),
14569 /* 36699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14570 /* 36701 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14571 /* 36703 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14572 /* 36705 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14573 /* 36708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14574 /* 36712 */ GIR_RootConstrainSelectedInstOperands,
14575 /* 36713 */ // GIR_Coverage, 521,
14576 /* 36713 */ GIR_EraseRootFromParent_Done,
14577 /* 36714 */ // Label 999: @36714
14578 /* 36714 */ GIM_Try, /*On fail goto*//*Label 1000*/ GIMT_Encode4(36766), // Rule ID 522 //
14579 /* 36719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14580 /* 36722 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_eq_qb),
14581 /* 36727 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14582 /* 36730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14583 /* 36733 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14584 /* 36736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14585 /* 36740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14586 /* 36744 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14587 /* 36748 */ // (intrinsic_w_chain:{ *:[i32] } 8103:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_EQ_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14588 /* 36748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_EQ_QB),
14589 /* 36751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14590 /* 36753 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14591 /* 36755 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14592 /* 36757 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
14593 /* 36760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14594 /* 36764 */ GIR_RootConstrainSelectedInstOperands,
14595 /* 36765 */ // GIR_Coverage, 522,
14596 /* 36765 */ GIR_EraseRootFromParent_Done,
14597 /* 36766 */ // Label 1000: @36766
14598 /* 36766 */ GIM_Try, /*On fail goto*//*Label 1001*/ GIMT_Encode4(36818), // Rule ID 523 //
14599 /* 36771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14600 /* 36774 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_lt_qb),
14601 /* 36779 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14602 /* 36782 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14603 /* 36785 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14604 /* 36788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14605 /* 36792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14606 /* 36796 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14607 /* 36800 */ // (intrinsic_w_chain:{ *:[i32] } 8105:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_LT_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14608 /* 36800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_LT_QB),
14609 /* 36803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14610 /* 36805 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14611 /* 36807 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14612 /* 36809 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
14613 /* 36812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14614 /* 36816 */ GIR_RootConstrainSelectedInstOperands,
14615 /* 36817 */ // GIR_Coverage, 523,
14616 /* 36817 */ GIR_EraseRootFromParent_Done,
14617 /* 36818 */ // Label 1001: @36818
14618 /* 36818 */ GIM_Try, /*On fail goto*//*Label 1002*/ GIMT_Encode4(36870), // Rule ID 524 //
14619 /* 36823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14620 /* 36826 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_le_qb),
14621 /* 36831 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14622 /* 36834 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14623 /* 36837 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14624 /* 36840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14625 /* 36844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14626 /* 36848 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14627 /* 36852 */ // (intrinsic_w_chain:{ *:[i32] } 8104:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_LE_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14628 /* 36852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_LE_QB),
14629 /* 36855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14630 /* 36857 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14631 /* 36859 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14632 /* 36861 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
14633 /* 36864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14634 /* 36868 */ GIR_RootConstrainSelectedInstOperands,
14635 /* 36869 */ // GIR_Coverage, 524,
14636 /* 36869 */ GIR_EraseRootFromParent_Done,
14637 /* 36870 */ // Label 1002: @36870
14638 /* 36870 */ GIM_Try, /*On fail goto*//*Label 1003*/ GIMT_Encode4(36922), // Rule ID 538 //
14639 /* 36875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14640 /* 36878 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_s_ph),
14641 /* 36883 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14642 /* 36886 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14643 /* 36889 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14644 /* 36892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14645 /* 36896 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14646 /* 36900 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14647 /* 36904 */ // (intrinsic_w_chain:{ *:[v2i16] } 8405:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MUL_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14648 /* 36904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_S_PH),
14649 /* 36907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14650 /* 36909 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14651 /* 36911 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14652 /* 36913 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14653 /* 36916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14654 /* 36920 */ GIR_RootConstrainSelectedInstOperands,
14655 /* 36921 */ // GIR_Coverage, 538,
14656 /* 36921 */ GIR_EraseRootFromParent_Done,
14657 /* 36922 */ // Label 1003: @36922
14658 /* 36922 */ GIM_Try, /*On fail goto*//*Label 1004*/ GIMT_Encode4(36974), // Rule ID 539 //
14659 /* 36927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14660 /* 36930 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_s_w),
14661 /* 36935 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14662 /* 36938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14663 /* 36941 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14664 /* 36944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14665 /* 36948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14666 /* 36952 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14667 /* 36956 */ // (intrinsic_w_chain:{ *:[i32] } 8413:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MULQ_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14668 /* 36956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_S_W),
14669 /* 36959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14670 /* 36961 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14671 /* 36963 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14672 /* 36965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14673 /* 36968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14674 /* 36972 */ GIR_RootConstrainSelectedInstOperands,
14675 /* 36973 */ // GIR_Coverage, 539,
14676 /* 36973 */ GIR_EraseRootFromParent_Done,
14677 /* 36974 */ // Label 1004: @36974
14678 /* 36974 */ GIM_Try, /*On fail goto*//*Label 1005*/ GIMT_Encode4(37026), // Rule ID 540 //
14679 /* 36979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14680 /* 36982 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_rs_w),
14681 /* 36987 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14682 /* 36990 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14683 /* 36993 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14684 /* 36996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14685 /* 37000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14686 /* 37004 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14687 /* 37008 */ // (intrinsic_w_chain:{ *:[i32] } 8411:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MULQ_RS_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14688 /* 37008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_RS_W),
14689 /* 37011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14690 /* 37013 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14691 /* 37015 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14692 /* 37017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14693 /* 37020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14694 /* 37024 */ GIR_RootConstrainSelectedInstOperands,
14695 /* 37025 */ // GIR_Coverage, 540,
14696 /* 37025 */ GIR_EraseRootFromParent_Done,
14697 /* 37026 */ // Label 1005: @37026
14698 /* 37026 */ GIM_Try, /*On fail goto*//*Label 1006*/ GIMT_Encode4(37078), // Rule ID 541 //
14699 /* 37031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14700 /* 37034 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_s_ph),
14701 /* 37039 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14702 /* 37042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14703 /* 37045 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14704 /* 37048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14705 /* 37052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14706 /* 37056 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14707 /* 37060 */ // (intrinsic_w_chain:{ *:[v2i16] } 8412:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULQ_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14708 /* 37060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_S_PH),
14709 /* 37063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14710 /* 37065 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14711 /* 37067 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14712 /* 37069 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14713 /* 37072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14714 /* 37076 */ GIR_RootConstrainSelectedInstOperands,
14715 /* 37077 */ // GIR_Coverage, 541,
14716 /* 37077 */ GIR_EraseRootFromParent_Done,
14717 /* 37078 */ // Label 1006: @37078
14718 /* 37078 */ GIM_Try, /*On fail goto*//*Label 1007*/ GIMT_Encode4(37127), // Rule ID 551 //
14719 /* 37083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
14720 /* 37086 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_qb_ph),
14721 /* 37091 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14722 /* 37094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14723 /* 37097 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14724 /* 37100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14725 /* 37104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14726 /* 37108 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14727 /* 37112 */ // (intrinsic_w_chain:{ *:[v4i8] } 8461:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECR_QB_PH:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14728 /* 37112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_QB_PH),
14729 /* 37115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14730 /* 37117 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14731 /* 37119 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14732 /* 37121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14733 /* 37125 */ GIR_RootConstrainSelectedInstOperands,
14734 /* 37126 */ // GIR_Coverage, 551,
14735 /* 37126 */ GIR_EraseRootFromParent_Done,
14736 /* 37127 */ // Label 1007: @37127
14737 /* 37127 */ GIM_Try, /*On fail goto*//*Label 1008*/ GIMT_Encode4(37179), // Rule ID 1299 //
14738 /* 37132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14739 /* 37135 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_s_w),
14740 /* 37140 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14741 /* 37143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14742 /* 37146 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14743 /* 37149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14744 /* 37153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14745 /* 37157 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14746 /* 37161 */ // (intrinsic_w_chain:{ *:[i32] } 7940:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQ_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14747 /* 37161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_S_W_MM),
14748 /* 37164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14749 /* 37166 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14750 /* 37168 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14751 /* 37170 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14752 /* 37173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14753 /* 37177 */ GIR_RootConstrainSelectedInstOperands,
14754 /* 37178 */ // GIR_Coverage, 1299,
14755 /* 37178 */ GIR_EraseRootFromParent_Done,
14756 /* 37179 */ // Label 1008: @37179
14757 /* 37179 */ GIM_Try, /*On fail goto*//*Label 1009*/ GIMT_Encode4(37228), // Rule ID 1307 //
14758 /* 37184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14759 /* 37187 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_insv),
14760 /* 37192 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14761 /* 37195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14762 /* 37198 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14763 /* 37201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14764 /* 37205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14765 /* 37209 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14766 /* 37213 */ // (intrinsic_w_chain:{ *:[i32] } 8308:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs) => (INSV_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs)
14767 /* 37213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSV_MM),
14768 /* 37216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
14769 /* 37218 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
14770 /* 37220 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14771 /* 37222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14772 /* 37226 */ GIR_RootConstrainSelectedInstOperands,
14773 /* 37227 */ // GIR_Coverage, 1307,
14774 /* 37227 */ GIR_EraseRootFromParent_Done,
14775 /* 37228 */ // Label 1009: @37228
14776 /* 37228 */ GIM_Try, /*On fail goto*//*Label 1010*/ GIMT_Encode4(37280), // Rule ID 1315 //
14777 /* 37233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14778 /* 37236 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_ph),
14779 /* 37241 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14780 /* 37244 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14781 /* 37247 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14782 /* 37250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14783 /* 37254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14784 /* 37258 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14785 /* 37262 */ // (intrinsic_w_chain:{ *:[v2i16] } 8485:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHLLV_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
14786 /* 37262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_PH_MM),
14787 /* 37265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14788 /* 37267 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14789 /* 37269 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14790 /* 37271 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14791 /* 37274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14792 /* 37278 */ GIR_RootConstrainSelectedInstOperands,
14793 /* 37279 */ // GIR_Coverage, 1315,
14794 /* 37279 */ GIR_EraseRootFromParent_Done,
14795 /* 37280 */ // Label 1010: @37280
14796 /* 37280 */ GIM_Try, /*On fail goto*//*Label 1011*/ GIMT_Encode4(37332), // Rule ID 1316 //
14797 /* 37285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14798 /* 37288 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
14799 /* 37293 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14800 /* 37296 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14801 /* 37299 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14802 /* 37302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14803 /* 37306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14804 /* 37310 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14805 /* 37314 */ // (intrinsic_w_chain:{ *:[v2i16] } 8487:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHLLV_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
14806 /* 37314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_S_PH_MM),
14807 /* 37317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14808 /* 37319 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14809 /* 37321 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14810 /* 37323 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14811 /* 37326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14812 /* 37330 */ GIR_RootConstrainSelectedInstOperands,
14813 /* 37331 */ // GIR_Coverage, 1316,
14814 /* 37331 */ GIR_EraseRootFromParent_Done,
14815 /* 37332 */ // Label 1011: @37332
14816 /* 37332 */ GIM_Try, /*On fail goto*//*Label 1012*/ GIMT_Encode4(37384), // Rule ID 1317 //
14817 /* 37337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14818 /* 37340 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_qb),
14819 /* 37345 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14820 /* 37348 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14821 /* 37351 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14822 /* 37354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14823 /* 37358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14824 /* 37362 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14825 /* 37366 */ // (intrinsic_w_chain:{ *:[v4i8] } 8486:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHLLV_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
14826 /* 37366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_QB_MM),
14827 /* 37369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14828 /* 37371 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14829 /* 37373 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14830 /* 37375 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14831 /* 37378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14832 /* 37382 */ GIR_RootConstrainSelectedInstOperands,
14833 /* 37383 */ // GIR_Coverage, 1317,
14834 /* 37383 */ GIR_EraseRootFromParent_Done,
14835 /* 37384 */ // Label 1012: @37384
14836 /* 37384 */ GIM_Try, /*On fail goto*//*Label 1013*/ GIMT_Encode4(37436), // Rule ID 1318 //
14837 /* 37389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14838 /* 37392 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
14839 /* 37397 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14840 /* 37400 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14841 /* 37403 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14842 /* 37406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14843 /* 37410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14844 /* 37414 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14845 /* 37418 */ // (intrinsic_w_chain:{ *:[i32] } 8488:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHLLV_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
14846 /* 37418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_S_W_MM),
14847 /* 37421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14848 /* 37423 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14849 /* 37425 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14850 /* 37427 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14851 /* 37430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14852 /* 37434 */ GIR_RootConstrainSelectedInstOperands,
14853 /* 37435 */ // GIR_Coverage, 1318,
14854 /* 37435 */ GIR_EraseRootFromParent_Done,
14855 /* 37436 */ // Label 1013: @37436
14856 /* 37436 */ GIM_Try, /*On fail goto*//*Label 1014*/ GIMT_Encode4(37488), // Rule ID 1337 //
14857 /* 37441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14858 /* 37444 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_s_w),
14859 /* 37449 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14860 /* 37452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14861 /* 37455 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14862 /* 37458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14863 /* 37462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14864 /* 37466 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14865 /* 37470 */ // (intrinsic_w_chain:{ *:[i32] } 8560:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQ_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14866 /* 37470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_S_W_MM),
14867 /* 37473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14868 /* 37475 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14869 /* 37477 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14870 /* 37479 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14871 /* 37482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14872 /* 37486 */ GIR_RootConstrainSelectedInstOperands,
14873 /* 37487 */ // GIR_Coverage, 1337,
14874 /* 37487 */ GIR_EraseRootFromParent_Done,
14875 /* 37488 */ // Label 1014: @37488
14876 /* 37488 */ GIM_Try, /*On fail goto*//*Label 1015*/ GIMT_Encode4(37540), // Rule ID 1343 //
14877 /* 37493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14878 /* 37496 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phl),
14879 /* 37501 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14880 /* 37504 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14881 /* 37507 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14882 /* 37510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14883 /* 37514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14884 /* 37518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14885 /* 37522 */ // (intrinsic_w_chain:{ *:[i32] } 8406:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEQ_S_W_PHL_MM:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14886 /* 37522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEQ_S_W_PHL_MM),
14887 /* 37525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14888 /* 37527 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14889 /* 37529 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14890 /* 37531 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14891 /* 37534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14892 /* 37538 */ GIR_RootConstrainSelectedInstOperands,
14893 /* 37539 */ // GIR_Coverage, 1343,
14894 /* 37539 */ GIR_EraseRootFromParent_Done,
14895 /* 37540 */ // Label 1015: @37540
14896 /* 37540 */ GIM_Try, /*On fail goto*//*Label 1016*/ GIMT_Encode4(37592), // Rule ID 1344 //
14897 /* 37545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14898 /* 37548 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phr),
14899 /* 37553 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14900 /* 37556 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14901 /* 37559 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14902 /* 37562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14903 /* 37566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14904 /* 37570 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14905 /* 37574 */ // (intrinsic_w_chain:{ *:[i32] } 8407:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEQ_S_W_PHR_MM:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14906 /* 37574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEQ_S_W_PHR_MM),
14907 /* 37577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14908 /* 37579 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14909 /* 37581 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14910 /* 37583 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14911 /* 37586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14912 /* 37590 */ GIR_RootConstrainSelectedInstOperands,
14913 /* 37591 */ // GIR_Coverage, 1344,
14914 /* 37591 */ GIR_EraseRootFromParent_Done,
14915 /* 37592 */ // Label 1016: @37592
14916 /* 37592 */ GIM_Try, /*On fail goto*//*Label 1017*/ GIMT_Encode4(37644), // Rule ID 1345 //
14917 /* 37597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14918 /* 37600 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbl),
14919 /* 37605 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14920 /* 37608 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14921 /* 37611 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14922 /* 37614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14923 /* 37618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14924 /* 37622 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14925 /* 37626 */ // (intrinsic_w_chain:{ *:[v2i16] } 8408:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEU_S_PH_QBL_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14926 /* 37626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEU_S_PH_QBL_MM),
14927 /* 37629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14928 /* 37631 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14929 /* 37633 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14930 /* 37635 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14931 /* 37638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14932 /* 37642 */ GIR_RootConstrainSelectedInstOperands,
14933 /* 37643 */ // GIR_Coverage, 1345,
14934 /* 37643 */ GIR_EraseRootFromParent_Done,
14935 /* 37644 */ // Label 1017: @37644
14936 /* 37644 */ GIM_Try, /*On fail goto*//*Label 1018*/ GIMT_Encode4(37696), // Rule ID 1346 //
14937 /* 37649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14938 /* 37652 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbr),
14939 /* 37657 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14940 /* 37660 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14941 /* 37663 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14942 /* 37666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14943 /* 37670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14944 /* 37674 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14945 /* 37678 */ // (intrinsic_w_chain:{ *:[v2i16] } 8409:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEU_S_PH_QBR_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14946 /* 37678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEU_S_PH_QBR_MM),
14947 /* 37681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14948 /* 37683 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14949 /* 37685 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14950 /* 37687 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14951 /* 37690 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14952 /* 37694 */ GIR_RootConstrainSelectedInstOperands,
14953 /* 37695 */ // GIR_Coverage, 1346,
14954 /* 37695 */ GIR_EraseRootFromParent_Done,
14955 /* 37696 */ // Label 1018: @37696
14956 /* 37696 */ GIM_Try, /*On fail goto*//*Label 1019*/ GIMT_Encode4(37748), // Rule ID 1347 //
14957 /* 37701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14958 /* 37704 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_rs_ph),
14959 /* 37709 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14960 /* 37712 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14961 /* 37715 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14962 /* 37718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14963 /* 37722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14964 /* 37726 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14965 /* 37730 */ // (intrinsic_w_chain:{ *:[v2i16] } 8410:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULQ_RS_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14966 /* 37730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_RS_PH_MM),
14967 /* 37733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14968 /* 37735 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14969 /* 37737 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14970 /* 37739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14971 /* 37742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14972 /* 37746 */ GIR_RootConstrainSelectedInstOperands,
14973 /* 37747 */ // GIR_Coverage, 1347,
14974 /* 37747 */ GIR_EraseRootFromParent_Done,
14975 /* 37748 */ // Label 1019: @37748
14976 /* 37748 */ GIM_Try, /*On fail goto*//*Label 1020*/ GIMT_Encode4(37800), // Rule ID 1350 //
14977 /* 37753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14978 /* 37756 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrqu_s_qb_ph),
14979 /* 37761 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14980 /* 37764 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14981 /* 37767 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14982 /* 37770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14983 /* 37774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14984 /* 37778 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14985 /* 37782 */ // (intrinsic_w_chain:{ *:[v4i8] } 8467:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECRQU_S_QB_PH_MM:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14986 /* 37782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQU_S_QB_PH_MM),
14987 /* 37785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14988 /* 37787 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14989 /* 37789 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14990 /* 37791 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14991 /* 37794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14992 /* 37798 */ GIR_RootConstrainSelectedInstOperands,
14993 /* 37799 */ // GIR_Coverage, 1350,
14994 /* 37799 */ GIR_EraseRootFromParent_Done,
14995 /* 37800 */ // Label 1020: @37800
14996 /* 37800 */ GIM_Try, /*On fail goto*//*Label 1021*/ GIMT_Encode4(37852), // Rule ID 1351 //
14997 /* 37805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
14998 /* 37808 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_rs_ph_w),
14999 /* 37813 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15000 /* 37816 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
15001 /* 37819 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15002 /* 37822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15003 /* 37826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15004 /* 37830 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15005 /* 37834 */ // (intrinsic_w_chain:{ *:[v2i16] } 8466:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (PRECRQ_RS_PH_W_MM:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
15006 /* 37834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_RS_PH_W_MM),
15007 /* 37837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15008 /* 37839 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15009 /* 37841 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15010 /* 37843 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
15011 /* 37846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15012 /* 37850 */ GIR_RootConstrainSelectedInstOperands,
15013 /* 37851 */ // GIR_Coverage, 1351,
15014 /* 37851 */ GIR_EraseRootFromParent_Done,
15015 /* 37852 */ // Label 1021: @37852
15016 /* 37852 */ GIM_Try, /*On fail goto*//*Label 1022*/ GIMT_Encode4(37901), // Rule ID 1369 //
15017 /* 37857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
15018 /* 37860 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_pick_ph),
15019 /* 37865 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15020 /* 37868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15021 /* 37871 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15022 /* 37874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15023 /* 37878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15024 /* 37882 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15025 /* 37886 */ // (intrinsic_w_chain:{ *:[v2i16] } 8449:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PICK_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
15026 /* 37886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PICK_PH_MM),
15027 /* 37889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15028 /* 37891 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15029 /* 37893 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15030 /* 37895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15031 /* 37899 */ GIR_RootConstrainSelectedInstOperands,
15032 /* 37900 */ // GIR_Coverage, 1369,
15033 /* 37900 */ GIR_EraseRootFromParent_Done,
15034 /* 37901 */ // Label 1022: @37901
15035 /* 37901 */ GIM_Try, /*On fail goto*//*Label 1023*/ GIMT_Encode4(37950), // Rule ID 1370 //
15036 /* 37906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
15037 /* 37909 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_pick_qb),
15038 /* 37914 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
15039 /* 37917 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
15040 /* 37920 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
15041 /* 37923 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15042 /* 37927 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15043 /* 37931 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15044 /* 37935 */ // (intrinsic_w_chain:{ *:[v4i8] } 8450:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (PICK_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
15045 /* 37935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PICK_QB_MM),
15046 /* 37938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15047 /* 37940 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15048 /* 37942 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15049 /* 37944 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15050 /* 37948 */ GIR_RootConstrainSelectedInstOperands,
15051 /* 37949 */ // GIR_Coverage, 1370,
15052 /* 37949 */ GIR_EraseRootFromParent_Done,
15053 /* 37950 */ // Label 1023: @37950
15054 /* 37950 */ GIM_Try, /*On fail goto*//*Label 1024*/ GIMT_Encode4(37999), // Rule ID 1380 //
15055 /* 37955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
15056 /* 37958 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_eq_qb),
15057 /* 37963 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15058 /* 37966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
15059 /* 37969 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
15060 /* 37972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15061 /* 37976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15062 /* 37980 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15063 /* 37984 */ // (intrinsic_w_chain:{ *:[i32] } 8106:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_EQ_QB_MM:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
15064 /* 37984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_EQ_QB_MM),
15065 /* 37987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15066 /* 37989 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15067 /* 37991 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15068 /* 37993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15069 /* 37997 */ GIR_RootConstrainSelectedInstOperands,
15070 /* 37998 */ // GIR_Coverage, 1380,
15071 /* 37998 */ GIR_EraseRootFromParent_Done,
15072 /* 37999 */ // Label 1024: @37999
15073 /* 37999 */ GIM_Try, /*On fail goto*//*Label 1025*/ GIMT_Encode4(38048), // Rule ID 1381 //
15074 /* 38004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
15075 /* 38007 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_lt_qb),
15076 /* 38012 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15077 /* 38015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
15078 /* 38018 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
15079 /* 38021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15080 /* 38025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15081 /* 38029 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15082 /* 38033 */ // (intrinsic_w_chain:{ *:[i32] } 8108:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_LT_QB_MM:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
15083 /* 38033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_LT_QB_MM),
15084 /* 38036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15085 /* 38038 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15086 /* 38040 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15087 /* 38042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15088 /* 38046 */ GIR_RootConstrainSelectedInstOperands,
15089 /* 38047 */ // GIR_Coverage, 1381,
15090 /* 38047 */ GIR_EraseRootFromParent_Done,
15091 /* 38048 */ // Label 1025: @38048
15092 /* 38048 */ GIM_Try, /*On fail goto*//*Label 1026*/ GIMT_Encode4(38097), // Rule ID 1382 //
15093 /* 38053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
15094 /* 38056 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_le_qb),
15095 /* 38061 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15096 /* 38064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
15097 /* 38067 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
15098 /* 38070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15099 /* 38074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15100 /* 38078 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15101 /* 38082 */ // (intrinsic_w_chain:{ *:[i32] } 8107:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_LE_QB_MM:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
15102 /* 38082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_LE_QB_MM),
15103 /* 38085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15104 /* 38087 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15105 /* 38089 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15106 /* 38091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15107 /* 38095 */ GIR_RootConstrainSelectedInstOperands,
15108 /* 38096 */ // GIR_Coverage, 1382,
15109 /* 38096 */ GIR_EraseRootFromParent_Done,
15110 /* 38097 */ // Label 1026: @38097
15111 /* 38097 */ GIM_Try, /*On fail goto*//*Label 1027*/ GIMT_Encode4(38149), // Rule ID 1391 //
15112 /* 38102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15113 /* 38105 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_ph),
15114 /* 38110 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15115 /* 38113 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15116 /* 38116 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15117 /* 38119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15118 /* 38123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15119 /* 38127 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15120 /* 38131 */ // (intrinsic_w_chain:{ *:[v2i16] } 7958:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDU_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
15121 /* 38131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_PH_MMR2),
15122 /* 38134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15123 /* 38136 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15124 /* 38138 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15125 /* 38140 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
15126 /* 38143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15127 /* 38147 */ GIR_RootConstrainSelectedInstOperands,
15128 /* 38148 */ // GIR_Coverage, 1391,
15129 /* 38148 */ GIR_EraseRootFromParent_Done,
15130 /* 38149 */ // Label 1027: @38149
15131 /* 38149 */ GIM_Try, /*On fail goto*//*Label 1028*/ GIMT_Encode4(38201), // Rule ID 1392 //
15132 /* 38154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15133 /* 38157 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_s_ph),
15134 /* 38162 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15135 /* 38165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15136 /* 38168 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15137 /* 38171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15138 /* 38175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15139 /* 38179 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15140 /* 38183 */ // (intrinsic_w_chain:{ *:[v2i16] } 7960:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDU_S_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
15141 /* 38183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_S_PH_MMR2),
15142 /* 38186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15143 /* 38188 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15144 /* 38190 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15145 /* 38192 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
15146 /* 38195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15147 /* 38199 */ GIR_RootConstrainSelectedInstOperands,
15148 /* 38200 */ // GIR_Coverage, 1392,
15149 /* 38200 */ GIR_EraseRootFromParent_Done,
15150 /* 38201 */ // Label 1028: @38201
15151 /* 38201 */ GIM_Try, /*On fail goto*//*Label 1029*/ GIMT_Encode4(38253), // Rule ID 1403 //
15152 /* 38206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15153 /* 38209 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_eq_qb),
15154 /* 38214 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15155 /* 38217 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
15156 /* 38220 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
15157 /* 38223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15158 /* 38227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15159 /* 38231 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15160 /* 38235 */ // (intrinsic_w_chain:{ *:[i32] } 8103:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_EQ_QB_MMR2:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
15161 /* 38235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_EQ_QB_MMR2),
15162 /* 38238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15163 /* 38240 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15164 /* 38242 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15165 /* 38244 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
15166 /* 38247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15167 /* 38251 */ GIR_RootConstrainSelectedInstOperands,
15168 /* 38252 */ // GIR_Coverage, 1403,
15169 /* 38252 */ GIR_EraseRootFromParent_Done,
15170 /* 38253 */ // Label 1029: @38253
15171 /* 38253 */ GIM_Try, /*On fail goto*//*Label 1030*/ GIMT_Encode4(38305), // Rule ID 1404 //
15172 /* 38258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15173 /* 38261 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_lt_qb),
15174 /* 38266 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15175 /* 38269 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
15176 /* 38272 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
15177 /* 38275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15178 /* 38279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15179 /* 38283 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15180 /* 38287 */ // (intrinsic_w_chain:{ *:[i32] } 8105:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_LT_QB_MMR2:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
15181 /* 38287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_LT_QB_MMR2),
15182 /* 38290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15183 /* 38292 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15184 /* 38294 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15185 /* 38296 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
15186 /* 38299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15187 /* 38303 */ GIR_RootConstrainSelectedInstOperands,
15188 /* 38304 */ // GIR_Coverage, 1404,
15189 /* 38304 */ GIR_EraseRootFromParent_Done,
15190 /* 38305 */ // Label 1030: @38305
15191 /* 38305 */ GIM_Try, /*On fail goto*//*Label 1031*/ GIMT_Encode4(38357), // Rule ID 1405 //
15192 /* 38310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15193 /* 38313 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_le_qb),
15194 /* 38318 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15195 /* 38321 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
15196 /* 38324 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
15197 /* 38327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15198 /* 38331 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15199 /* 38335 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15200 /* 38339 */ // (intrinsic_w_chain:{ *:[i32] } 8104:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_LE_QB_MMR2:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
15201 /* 38339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_LE_QB_MMR2),
15202 /* 38342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15203 /* 38344 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15204 /* 38346 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15205 /* 38348 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
15206 /* 38351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15207 /* 38355 */ GIR_RootConstrainSelectedInstOperands,
15208 /* 38356 */ // GIR_Coverage, 1405,
15209 /* 38356 */ GIR_EraseRootFromParent_Done,
15210 /* 38357 */ // Label 1031: @38357
15211 /* 38357 */ GIM_Try, /*On fail goto*//*Label 1032*/ GIMT_Encode4(38409), // Rule ID 1411 //
15212 /* 38362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15213 /* 38365 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_ph),
15214 /* 38370 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15215 /* 38373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15216 /* 38376 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15217 /* 38379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15218 /* 38383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15219 /* 38387 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15220 /* 38391 */ // (intrinsic_w_chain:{ *:[v2i16] } 8581:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBU_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
15221 /* 38391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_PH_MMR2),
15222 /* 38394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15223 /* 38396 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15224 /* 38398 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15225 /* 38400 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
15226 /* 38403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15227 /* 38407 */ GIR_RootConstrainSelectedInstOperands,
15228 /* 38408 */ // GIR_Coverage, 1411,
15229 /* 38408 */ GIR_EraseRootFromParent_Done,
15230 /* 38409 */ // Label 1032: @38409
15231 /* 38409 */ GIM_Try, /*On fail goto*//*Label 1033*/ GIMT_Encode4(38461), // Rule ID 1412 //
15232 /* 38414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15233 /* 38417 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_s_ph),
15234 /* 38422 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15235 /* 38425 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15236 /* 38428 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15237 /* 38431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15238 /* 38435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15239 /* 38439 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15240 /* 38443 */ // (intrinsic_w_chain:{ *:[v2i16] } 8583:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBU_S_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
15241 /* 38443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_S_PH_MMR2),
15242 /* 38446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15243 /* 38448 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15244 /* 38450 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15245 /* 38452 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
15246 /* 38455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15247 /* 38459 */ GIR_RootConstrainSelectedInstOperands,
15248 /* 38460 */ // GIR_Coverage, 1412,
15249 /* 38460 */ GIR_EraseRootFromParent_Done,
15250 /* 38461 */ // Label 1033: @38461
15251 /* 38461 */ GIM_Try, /*On fail goto*//*Label 1034*/ GIMT_Encode4(38513), // Rule ID 1419 //
15252 /* 38466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15253 /* 38469 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_s_ph),
15254 /* 38474 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15255 /* 38477 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15256 /* 38480 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15257 /* 38483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15258 /* 38487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15259 /* 38491 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15260 /* 38495 */ // (intrinsic_w_chain:{ *:[v2i16] } 8405:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MUL_S_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
15261 /* 38495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_S_PH_MMR2),
15262 /* 38498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15263 /* 38500 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15264 /* 38502 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15265 /* 38504 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
15266 /* 38507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15267 /* 38511 */ GIR_RootConstrainSelectedInstOperands,
15268 /* 38512 */ // GIR_Coverage, 1419,
15269 /* 38512 */ GIR_EraseRootFromParent_Done,
15270 /* 38513 */ // Label 1034: @38513
15271 /* 38513 */ GIM_Try, /*On fail goto*//*Label 1035*/ GIMT_Encode4(38565), // Rule ID 1420 //
15272 /* 38518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15273 /* 38521 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_rs_w),
15274 /* 38526 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15275 /* 38529 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
15276 /* 38532 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15277 /* 38535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15278 /* 38539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15279 /* 38543 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15280 /* 38547 */ // (intrinsic_w_chain:{ *:[i32] } 8411:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MULQ_RS_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
15281 /* 38547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_RS_W_MMR2),
15282 /* 38550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15283 /* 38552 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15284 /* 38554 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15285 /* 38556 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
15286 /* 38559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15287 /* 38563 */ GIR_RootConstrainSelectedInstOperands,
15288 /* 38564 */ // GIR_Coverage, 1420,
15289 /* 38564 */ GIR_EraseRootFromParent_Done,
15290 /* 38565 */ // Label 1035: @38565
15291 /* 38565 */ GIM_Try, /*On fail goto*//*Label 1036*/ GIMT_Encode4(38617), // Rule ID 1421 //
15292 /* 38570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15293 /* 38573 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_s_ph),
15294 /* 38578 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15295 /* 38581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15296 /* 38584 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15297 /* 38587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15298 /* 38591 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15299 /* 38595 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15300 /* 38599 */ // (intrinsic_w_chain:{ *:[v2i16] } 8412:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULQ_S_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
15301 /* 38599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_S_PH_MMR2),
15302 /* 38602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15303 /* 38604 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15304 /* 38606 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15305 /* 38608 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
15306 /* 38611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15307 /* 38615 */ GIR_RootConstrainSelectedInstOperands,
15308 /* 38616 */ // GIR_Coverage, 1421,
15309 /* 38616 */ GIR_EraseRootFromParent_Done,
15310 /* 38617 */ // Label 1036: @38617
15311 /* 38617 */ GIM_Try, /*On fail goto*//*Label 1037*/ GIMT_Encode4(38669), // Rule ID 1422 //
15312 /* 38622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15313 /* 38625 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_s_w),
15314 /* 38630 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15315 /* 38633 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
15316 /* 38636 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15317 /* 38639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15318 /* 38643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15319 /* 38647 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15320 /* 38651 */ // (intrinsic_w_chain:{ *:[i32] } 8413:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MULQ_S_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
15321 /* 38651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_S_W_MMR2),
15322 /* 38654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15323 /* 38656 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15324 /* 38658 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15325 /* 38660 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
15326 /* 38663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15327 /* 38667 */ GIR_RootConstrainSelectedInstOperands,
15328 /* 38668 */ // GIR_Coverage, 1422,
15329 /* 38668 */ GIR_EraseRootFromParent_Done,
15330 /* 38669 */ // Label 1037: @38669
15331 /* 38669 */ GIM_Try, /*On fail goto*//*Label 1038*/ GIMT_Encode4(38718), // Rule ID 1423 //
15332 /* 38674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
15333 /* 38677 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_qb_ph),
15334 /* 38682 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
15335 /* 38685 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15336 /* 38688 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15337 /* 38691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15338 /* 38695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15339 /* 38699 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15340 /* 38703 */ // (intrinsic_w_chain:{ *:[v4i8] } 8461:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECR_QB_PH_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
15341 /* 38703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_QB_PH_MMR2),
15342 /* 38706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15343 /* 38708 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
15344 /* 38710 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
15345 /* 38712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15346 /* 38716 */ GIR_RootConstrainSelectedInstOperands,
15347 /* 38717 */ // GIR_Coverage, 1423,
15348 /* 38717 */ GIR_EraseRootFromParent_Done,
15349 /* 38718 */ // Label 1038: @38718
15350 /* 38718 */ GIM_Try, /*On fail goto*//*Label 1039*/ GIMT_Encode4(38762), // Rule ID 2056 //
15351 /* 38723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
15352 /* 38726 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_ph),
15353 /* 38731 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
15354 /* 38734 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
15355 /* 38737 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
15356 /* 38740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
15357 /* 38744 */ // (intrinsic_w_chain:{ *:[v2i16] } 8402:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (MUL_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
15358 /* 38744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_PH),
15359 /* 38747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15360 /* 38749 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
15361 /* 38751 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
15362 /* 38753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
15363 /* 38756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15364 /* 38760 */ GIR_RootConstrainSelectedInstOperands,
15365 /* 38761 */ // GIR_Coverage, 2056,
15366 /* 38761 */ GIR_EraseRootFromParent_Done,
15367 /* 38762 */ // Label 1039: @38762
15368 /* 38762 */ GIM_Try, /*On fail goto*//*Label 1040*/ GIMT_Encode4(38806), // Rule ID 2062 //
15369 /* 38767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
15370 /* 38770 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addsc),
15371 /* 38775 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15372 /* 38778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
15373 /* 38781 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15374 /* 38784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15375 /* 38788 */ // (intrinsic_w_chain:{ *:[i32] } 7957:{ *:[iPTR] }, i32:{ *:[i32] }:$a, i32:{ *:[i32] }:$b) => (ADDSC:{ *:[i32] } i32:{ *:[i32] }:$a, i32:{ *:[i32] }:$b)
15376 /* 38788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDSC),
15377 /* 38791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15378 /* 38793 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
15379 /* 38795 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
15380 /* 38797 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCarry*/0,
15381 /* 38800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15382 /* 38804 */ GIR_RootConstrainSelectedInstOperands,
15383 /* 38805 */ // GIR_Coverage, 2062,
15384 /* 38805 */ GIR_EraseRootFromParent_Done,
15385 /* 38806 */ // Label 1040: @38806
15386 /* 38806 */ GIM_Try, /*On fail goto*//*Label 1041*/ GIMT_Encode4(38850), // Rule ID 2064 //
15387 /* 38811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
15388 /* 38814 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addwc),
15389 /* 38819 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15390 /* 38822 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
15391 /* 38825 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15392 /* 38828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15393 /* 38832 */ // (intrinsic_w_chain:{ *:[i32] } 7972:{ *:[iPTR] }, i32:{ *:[i32] }:$a, i32:{ *:[i32] }:$b) => (ADDWC:{ *:[i32] } i32:{ *:[i32] }:$a, i32:{ *:[i32] }:$b)
15394 /* 38832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDWC),
15395 /* 38835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15396 /* 38837 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
15397 /* 38839 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
15398 /* 38841 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
15399 /* 38844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15400 /* 38848 */ GIR_RootConstrainSelectedInstOperands,
15401 /* 38849 */ // GIR_Coverage, 2064,
15402 /* 38849 */ GIR_EraseRootFromParent_Done,
15403 /* 38850 */ // Label 1041: @38850
15404 /* 38850 */ GIM_Try, /*On fail goto*//*Label 1042*/ GIMT_Encode4(38896), // Rule ID 562 //
15405 /* 38855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
15406 /* 38858 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ldr_d),
15407 /* 38863 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
15408 /* 38866 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15409 /* 38869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
15410 /* 38873 */ // MIs[0] ptr
15411 /* 38873 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15412 /* 38877 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15413 /* 38881 */ // (intrinsic_w_chain:{ *:[v2i64] } 8322:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm) => (LDR_D:{ *:[v2i64] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm)
15414 /* 38881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LDR_D),
15415 /* 38884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15416 /* 38886 */ GIR_RootToRootCopy, /*OpIdx*/2, // ptr
15417 /* 38888 */ GIR_RootToRootCopy, /*OpIdx*/3, // imm
15418 /* 38890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15419 /* 38894 */ GIR_RootConstrainSelectedInstOperands,
15420 /* 38895 */ // GIR_Coverage, 562,
15421 /* 38895 */ GIR_EraseRootFromParent_Done,
15422 /* 38896 */ // Label 1042: @38896
15423 /* 38896 */ GIM_Try, /*On fail goto*//*Label 1043*/ GIMT_Encode4(38942), // Rule ID 563 //
15424 /* 38901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
15425 /* 38904 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ldr_w),
15426 /* 38909 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
15427 /* 38912 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15428 /* 38915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
15429 /* 38919 */ // MIs[0] ptr
15430 /* 38919 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15431 /* 38923 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15432 /* 38927 */ // (intrinsic_w_chain:{ *:[v4i32] } 8323:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm) => (LDR_W:{ *:[v4i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm)
15433 /* 38927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LDR_W),
15434 /* 38930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15435 /* 38932 */ GIR_RootToRootCopy, /*OpIdx*/2, // ptr
15436 /* 38934 */ GIR_RootToRootCopy, /*OpIdx*/3, // imm
15437 /* 38936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15438 /* 38940 */ GIR_RootConstrainSelectedInstOperands,
15439 /* 38941 */ // GIR_Coverage, 563,
15440 /* 38941 */ GIR_EraseRootFromParent_Done,
15441 /* 38942 */ // Label 1043: @38942
15442 /* 38942 */ GIM_Try, /*On fail goto*//*Label 1044*/ GIMT_Encode4(38984), // Rule ID 509 //
15443 /* 38947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
15444 /* 38950 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lwx),
15445 /* 38955 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15446 /* 38958 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15447 /* 38961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15448 /* 38965 */ // MIs[0] base
15449 /* 38965 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15450 /* 38969 */ // (intrinsic_w_chain:{ *:[i32] } 8326:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LWX:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
15451 /* 38969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LWX),
15452 /* 38972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15453 /* 38974 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
15454 /* 38976 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
15455 /* 38978 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15456 /* 38982 */ GIR_RootConstrainSelectedInstOperands,
15457 /* 38983 */ // GIR_Coverage, 509,
15458 /* 38983 */ GIR_EraseRootFromParent_Done,
15459 /* 38984 */ // Label 1044: @38984
15460 /* 38984 */ GIM_Try, /*On fail goto*//*Label 1045*/ GIMT_Encode4(39026), // Rule ID 510 //
15461 /* 38989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
15462 /* 38992 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lhx),
15463 /* 38997 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15464 /* 39000 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15465 /* 39003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15466 /* 39007 */ // MIs[0] base
15467 /* 39007 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15468 /* 39011 */ // (intrinsic_w_chain:{ *:[i32] } 8324:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LHX:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
15469 /* 39011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LHX),
15470 /* 39014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15471 /* 39016 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
15472 /* 39018 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
15473 /* 39020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15474 /* 39024 */ GIR_RootConstrainSelectedInstOperands,
15475 /* 39025 */ // GIR_Coverage, 510,
15476 /* 39025 */ GIR_EraseRootFromParent_Done,
15477 /* 39026 */ // Label 1045: @39026
15478 /* 39026 */ GIM_Try, /*On fail goto*//*Label 1046*/ GIMT_Encode4(39068), // Rule ID 511 //
15479 /* 39031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
15480 /* 39034 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lbux),
15481 /* 39039 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15482 /* 39042 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15483 /* 39045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15484 /* 39049 */ // MIs[0] base
15485 /* 39049 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15486 /* 39053 */ // (intrinsic_w_chain:{ *:[i32] } 8313:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LBUX:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
15487 /* 39053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LBUX),
15488 /* 39056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15489 /* 39058 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
15490 /* 39060 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
15491 /* 39062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15492 /* 39066 */ GIR_RootConstrainSelectedInstOperands,
15493 /* 39067 */ // GIR_Coverage, 511,
15494 /* 39067 */ GIR_EraseRootFromParent_Done,
15495 /* 39068 */ // Label 1046: @39068
15496 /* 39068 */ GIM_Try, /*On fail goto*//*Label 1047*/ GIMT_Encode4(39110), // Rule ID 1352 //
15497 /* 39073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
15498 /* 39076 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lbux),
15499 /* 39081 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15500 /* 39084 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15501 /* 39087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15502 /* 39091 */ // MIs[0] base
15503 /* 39091 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15504 /* 39095 */ // (intrinsic_w_chain:{ *:[i32] } 8313:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LBUX_MM:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
15505 /* 39095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LBUX_MM),
15506 /* 39098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15507 /* 39100 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
15508 /* 39102 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
15509 /* 39104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15510 /* 39108 */ GIR_RootConstrainSelectedInstOperands,
15511 /* 39109 */ // GIR_Coverage, 1352,
15512 /* 39109 */ GIR_EraseRootFromParent_Done,
15513 /* 39110 */ // Label 1047: @39110
15514 /* 39110 */ GIM_Try, /*On fail goto*//*Label 1048*/ GIMT_Encode4(39152), // Rule ID 1353 //
15515 /* 39115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
15516 /* 39118 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lhx),
15517 /* 39123 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15518 /* 39126 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15519 /* 39129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15520 /* 39133 */ // MIs[0] base
15521 /* 39133 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15522 /* 39137 */ // (intrinsic_w_chain:{ *:[i32] } 8324:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LHX_MM:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
15523 /* 39137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LHX_MM),
15524 /* 39140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15525 /* 39142 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
15526 /* 39144 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
15527 /* 39146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15528 /* 39150 */ GIR_RootConstrainSelectedInstOperands,
15529 /* 39151 */ // GIR_Coverage, 1353,
15530 /* 39151 */ GIR_EraseRootFromParent_Done,
15531 /* 39152 */ // Label 1048: @39152
15532 /* 39152 */ GIM_Try, /*On fail goto*//*Label 1049*/ GIMT_Encode4(39194), // Rule ID 1354 //
15533 /* 39157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
15534 /* 39160 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lwx),
15535 /* 39165 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15536 /* 39168 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15537 /* 39171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15538 /* 39175 */ // MIs[0] base
15539 /* 39175 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15540 /* 39179 */ // (intrinsic_w_chain:{ *:[i32] } 8326:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LWX_MM:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
15541 /* 39179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LWX_MM),
15542 /* 39182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15543 /* 39184 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
15544 /* 39186 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
15545 /* 39188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15546 /* 39192 */ GIR_RootConstrainSelectedInstOperands,
15547 /* 39193 */ // GIR_Coverage, 1354,
15548 /* 39193 */ GIR_EraseRootFromParent_Done,
15549 /* 39194 */ // Label 1049: @39194
15550 /* 39194 */ GIM_Try, /*On fail goto*//*Label 1050*/ GIMT_Encode4(39240), // Rule ID 564 //
15551 /* 39199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
15552 /* 39202 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_str_d),
15553 /* 39207 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
15554 /* 39210 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15555 /* 39213 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
15556 /* 39217 */ // MIs[0] ptr
15557 /* 39217 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15558 /* 39221 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15559 /* 39225 */ // (intrinsic_void 8556:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$dst, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm) => (STR_D MSA128DOpnd:{ *:[v2i64] }:$dst, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm)
15560 /* 39225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::STR_D),
15561 /* 39228 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
15562 /* 39230 */ GIR_RootToRootCopy, /*OpIdx*/2, // ptr
15563 /* 39232 */ GIR_RootToRootCopy, /*OpIdx*/3, // imm
15564 /* 39234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15565 /* 39238 */ GIR_RootConstrainSelectedInstOperands,
15566 /* 39239 */ // GIR_Coverage, 564,
15567 /* 39239 */ GIR_EraseRootFromParent_Done,
15568 /* 39240 */ // Label 1050: @39240
15569 /* 39240 */ GIM_Try, /*On fail goto*//*Label 1051*/ GIMT_Encode4(39286), // Rule ID 565 //
15570 /* 39245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotInMips16Mode),
15571 /* 39248 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_str_w),
15572 /* 39253 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
15573 /* 39256 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
15574 /* 39259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
15575 /* 39263 */ // MIs[0] ptr
15576 /* 39263 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
15577 /* 39267 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15578 /* 39271 */ // (intrinsic_void 8557:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$dst, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm) => (STR_W MSA128WOpnd:{ *:[v4i32] }:$dst, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm)
15579 /* 39271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::STR_W),
15580 /* 39274 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
15581 /* 39276 */ GIR_RootToRootCopy, /*OpIdx*/2, // ptr
15582 /* 39278 */ GIR_RootToRootCopy, /*OpIdx*/3, // imm
15583 /* 39280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
15584 /* 39284 */ GIR_RootConstrainSelectedInstOperands,
15585 /* 39285 */ // GIR_Coverage, 565,
15586 /* 39285 */ GIR_EraseRootFromParent_Done,
15587 /* 39286 */ // Label 1051: @39286
15588 /* 39286 */ GIM_Reject,
15589 /* 39287 */ // Label 970: @39287
15590 /* 39287 */ GIM_Reject,
15591 /* 39288 */ // Label 31: @39288
15592 /* 39288 */ GIM_Try, /*On fail goto*//*Label 1052*/ GIMT_Encode4(39353), // Rule ID 1685 //
15593 /* 39293 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
15594 /* 39296 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
15595 /* 39299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
15596 /* 39302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15597 /* 39306 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15598 /* 39310 */ // (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$src) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GPR32:{ *:[i32] }:$src, sub_32:{ *:[i32] })
15599 /* 39310 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15600 /* 39313 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15601 /* 39317 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15602 /* 39322 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15603 /* 39324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15604 /* 39327 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15605 /* 39329 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15606 /* 39332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15607 /* 39334 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15608 /* 39337 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15609 /* 39342 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15610 /* 39347 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15611 /* 39352 */ // GIR_Coverage, 1685,
15612 /* 39352 */ GIR_EraseRootFromParent_Done,
15613 /* 39353 */ // Label 1052: @39353
15614 /* 39353 */ GIM_Reject,
15615 /* 39354 */ // Label 32: @39354
15616 /* 39354 */ GIM_Try, /*On fail goto*//*Label 1053*/ GIMT_Encode4(39417), // Rule ID 1678 //
15617 /* 39359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
15618 /* 39362 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15619 /* 39365 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
15620 /* 39368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15621 /* 39372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15622 /* 39376 */ // (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$src) => (SLL:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$src, sub_32:{ *:[i32] }), 0:{ *:[i32] })
15623 /* 39376 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
15624 /* 39379 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15625 /* 39383 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15626 /* 39388 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
15627 /* 39394 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
15628 /* 39399 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15629 /* 39404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL),
15630 /* 39407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15631 /* 39409 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15632 /* 39412 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
15633 /* 39415 */ GIR_RootConstrainSelectedInstOperands,
15634 /* 39416 */ // GIR_Coverage, 1678,
15635 /* 39416 */ GIR_EraseRootFromParent_Done,
15636 /* 39417 */ // Label 1053: @39417
15637 /* 39417 */ GIM_Reject,
15638 /* 39418 */ // Label 33: @39418
15639 /* 39418 */ GIM_Try, /*On fail goto*//*Label 1054*/ GIMT_Encode4(39478),
15640 /* 39423 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
15641 /* 39426 */ GIM_Try, /*On fail goto*//*Label 1055*/ GIMT_Encode4(39452), // Rule ID 2289 //
15642 /* 39431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
15643 /* 39434 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immLi16),
15644 /* 39438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
15645 /* 39442 */ // MIs[0] Operand 1
15646 /* 39442 */ // No operand predicates
15647 /* 39442 */ // (imm:{ *:[i32] })<<P:Predicate_immLi16>>:$imm => (LI16_MM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immLi16>>:$imm)
15648 /* 39442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LI16_MM),
15649 /* 39445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15650 /* 39447 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // imm
15651 /* 39450 */ GIR_RootConstrainSelectedInstOperands,
15652 /* 39451 */ // GIR_Coverage, 2289,
15653 /* 39451 */ GIR_EraseRootFromParent_Done,
15654 /* 39452 */ // Label 1055: @39452
15655 /* 39452 */ GIM_Try, /*On fail goto*//*Label 1056*/ GIMT_Encode4(39477), // Rule ID 1980 //
15656 /* 39457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
15657 /* 39460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
15658 /* 39464 */ // MIs[0] Operand 1
15659 /* 39464 */ // No operand predicates
15660 /* 39464 */ // (imm:{ *:[i32] }):$imm => (LwConstant32:{ *:[i32] } (imm:{ *:[i32] }):$imm, -1:{ *:[i32] })
15661 /* 39464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LwConstant32),
15662 /* 39467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
15663 /* 39469 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // imm
15664 /* 39472 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/255,
15665 /* 39475 */ GIR_RootConstrainSelectedInstOperands,
15666 /* 39476 */ // GIR_Coverage, 1980,
15667 /* 39476 */ GIR_EraseRootFromParent_Done,
15668 /* 39477 */ // Label 1056: @39477
15669 /* 39477 */ GIM_Reject,
15670 /* 39478 */ // Label 1054: @39478
15671 /* 39478 */ GIM_Reject,
15672 /* 39479 */ // Label 34: @39479
15673 /* 39479 */ GIM_Try, /*On fail goto*//*Label 1057*/ GIMT_Encode4(40942),
15674 /* 39484 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
15675 /* 39487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
15676 /* 39490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15677 /* 39494 */ GIM_Try, /*On fail goto*//*Label 1058*/ GIMT_Encode4(39599), // Rule ID 1734 //
15678 /* 39499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15679 /* 39503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
15680 /* 39507 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15681 /* 39511 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15682 /* 39515 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15683 /* 39520 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15684 /* 39524 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15685 /* 39528 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
15686 /* 39532 */ // MIs[2] Operand 1
15687 /* 39532 */ // No operand predicates
15688 /* 39532 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15689 /* 39534 */ // (sext:{ *:[i64] } (sra:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm5)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (SRA:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm5), sub_32:{ *:[i32] })
15690 /* 39534 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15691 /* 39537 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SRA),
15692 /* 39541 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15693 /* 39546 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15694 /* 39550 */ GIR_CopyConstantAsSImm, /*NewInsnID*/2, /*OldInsnID*/2, // imm5
15695 /* 39553 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15696 /* 39555 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15697 /* 39558 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15698 /* 39562 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15699 /* 39567 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15700 /* 39569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15701 /* 39572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15702 /* 39574 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15703 /* 39577 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15704 /* 39580 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15705 /* 39583 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15706 /* 39588 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15707 /* 39593 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15708 /* 39598 */ // GIR_Coverage, 1734,
15709 /* 39598 */ GIR_EraseRootFromParent_Done,
15710 /* 39599 */ // Label 1058: @39599
15711 /* 39599 */ GIM_Try, /*On fail goto*//*Label 1059*/ GIMT_Encode4(39704), // Rule ID 1730 //
15712 /* 39604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15713 /* 39608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
15714 /* 39612 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15715 /* 39616 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15716 /* 39620 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15717 /* 39625 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15718 /* 39629 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15719 /* 39633 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
15720 /* 39637 */ // MIs[2] Operand 1
15721 /* 39637 */ // No operand predicates
15722 /* 39637 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15723 /* 39639 */ // (sext:{ *:[i64] } (srl:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm5)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (SRL:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm5), sub_32:{ *:[i32] })
15724 /* 39639 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15725 /* 39642 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SRL),
15726 /* 39646 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15727 /* 39651 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15728 /* 39655 */ GIR_CopyConstantAsSImm, /*NewInsnID*/2, /*OldInsnID*/2, // imm5
15729 /* 39658 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15730 /* 39660 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15731 /* 39663 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15732 /* 39667 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15733 /* 39672 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15734 /* 39674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15735 /* 39677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15736 /* 39679 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15737 /* 39682 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15738 /* 39685 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15739 /* 39688 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15740 /* 39693 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15741 /* 39698 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15742 /* 39703 */ // GIR_Coverage, 1730,
15743 /* 39703 */ GIR_EraseRootFromParent_Done,
15744 /* 39704 */ // Label 1059: @39704
15745 /* 39704 */ GIM_Try, /*On fail goto*//*Label 1060*/ GIMT_Encode4(39809), // Rule ID 1726 //
15746 /* 39709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15747 /* 39713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
15748 /* 39717 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15749 /* 39721 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15750 /* 39725 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15751 /* 39730 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15752 /* 39734 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15753 /* 39738 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
15754 /* 39742 */ // MIs[2] Operand 1
15755 /* 39742 */ // No operand predicates
15756 /* 39742 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15757 /* 39744 */ // (sext:{ *:[i64] } (shl:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm5)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (SLL:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm5), sub_32:{ *:[i32] })
15758 /* 39744 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15759 /* 39747 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SLL),
15760 /* 39751 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15761 /* 39756 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15762 /* 39760 */ GIR_CopyConstantAsSImm, /*NewInsnID*/2, /*OldInsnID*/2, // imm5
15763 /* 39763 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15764 /* 39765 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15765 /* 39768 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15766 /* 39772 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15767 /* 39777 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15768 /* 39779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15769 /* 39782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15770 /* 39784 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15771 /* 39787 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15772 /* 39790 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15773 /* 39793 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15774 /* 39798 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15775 /* 39803 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15776 /* 39808 */ // GIR_Coverage, 1726,
15777 /* 39808 */ GIR_EraseRootFromParent_Done,
15778 /* 39809 */ // Label 1060: @39809
15779 /* 39809 */ GIM_Try, /*On fail goto*//*Label 1061*/ GIMT_Encode4(39908), // Rule ID 1716 //
15780 /* 39814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15781 /* 39818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
15782 /* 39822 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15783 /* 39826 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15784 /* 39830 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15785 /* 39835 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15786 /* 39840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15787 /* 39842 */ // (sext:{ *:[i64] } (add:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (ADDu:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
15788 /* 39842 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15789 /* 39845 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::ADDu),
15790 /* 39849 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15791 /* 39854 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15792 /* 39858 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15793 /* 39862 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15794 /* 39864 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15795 /* 39867 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15796 /* 39871 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15797 /* 39876 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15798 /* 39878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15799 /* 39881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15800 /* 39883 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15801 /* 39886 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15802 /* 39889 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15803 /* 39892 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15804 /* 39897 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15805 /* 39902 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15806 /* 39907 */ // GIR_Coverage, 1716,
15807 /* 39907 */ GIR_EraseRootFromParent_Done,
15808 /* 39908 */ // Label 1061: @39908
15809 /* 39908 */ GIM_Try, /*On fail goto*//*Label 1062*/ GIMT_Encode4(40007), // Rule ID 1736 //
15810 /* 39913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15811 /* 39917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
15812 /* 39921 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15813 /* 39925 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15814 /* 39929 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15815 /* 39934 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15816 /* 39939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15817 /* 39941 */ // (sext:{ *:[i64] } (sra:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (SRAV:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
15818 /* 39941 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15819 /* 39944 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SRAV),
15820 /* 39948 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15821 /* 39953 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15822 /* 39957 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15823 /* 39961 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15824 /* 39963 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15825 /* 39966 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15826 /* 39970 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15827 /* 39975 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15828 /* 39977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15829 /* 39980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15830 /* 39982 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15831 /* 39985 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15832 /* 39988 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15833 /* 39991 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15834 /* 39996 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15835 /* 40001 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15836 /* 40006 */ // GIR_Coverage, 1736,
15837 /* 40006 */ GIR_EraseRootFromParent_Done,
15838 /* 40007 */ // Label 1062: @40007
15839 /* 40007 */ GIM_Try, /*On fail goto*//*Label 1063*/ GIMT_Encode4(40106), // Rule ID 1732 //
15840 /* 40012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15841 /* 40016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
15842 /* 40020 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15843 /* 40024 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15844 /* 40028 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15845 /* 40033 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15846 /* 40038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15847 /* 40040 */ // (sext:{ *:[i64] } (srl:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (SRLV:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
15848 /* 40040 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15849 /* 40043 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SRLV),
15850 /* 40047 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15851 /* 40052 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15852 /* 40056 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15853 /* 40060 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15854 /* 40062 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15855 /* 40065 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15856 /* 40069 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15857 /* 40074 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15858 /* 40076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15859 /* 40079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15860 /* 40081 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15861 /* 40084 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15862 /* 40087 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15863 /* 40090 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15864 /* 40095 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15865 /* 40100 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15866 /* 40105 */ // GIR_Coverage, 1732,
15867 /* 40105 */ GIR_EraseRootFromParent_Done,
15868 /* 40106 */ // Label 1063: @40106
15869 /* 40106 */ GIM_Try, /*On fail goto*//*Label 1064*/ GIMT_Encode4(40214), // Rule ID 1720 //
15870 /* 40111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotMips32r6_NotMips64r6),
15871 /* 40114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15872 /* 40118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
15873 /* 40122 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15874 /* 40126 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15875 /* 40130 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15876 /* 40135 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15877 /* 40140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15878 /* 40142 */ // (sext:{ *:[i64] } (mul:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (MUL:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
15879 /* 40142 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15880 /* 40145 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::MUL),
15881 /* 40149 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15882 /* 40154 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15883 /* 40158 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15884 /* 40162 */ GIR_SetImplicitDefDead, /*InsnID*/2, /*OpIdx for Mips::HI0*/0,
15885 /* 40165 */ GIR_SetImplicitDefDead, /*InsnID*/2, /*OpIdx for Mips::LO0*/1,
15886 /* 40168 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15887 /* 40170 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15888 /* 40173 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15889 /* 40177 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15890 /* 40182 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15891 /* 40184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15892 /* 40187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15893 /* 40189 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15894 /* 40192 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15895 /* 40195 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15896 /* 40198 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15897 /* 40203 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15898 /* 40208 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15899 /* 40213 */ // GIR_Coverage, 1720,
15900 /* 40213 */ GIR_EraseRootFromParent_Done,
15901 /* 40214 */ // Label 1064: @40214
15902 /* 40214 */ GIM_Try, /*On fail goto*//*Label 1065*/ GIMT_Encode4(40316), // Rule ID 1931 //
15903 /* 40219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc),
15904 /* 40222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15905 /* 40226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
15906 /* 40230 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15907 /* 40234 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15908 /* 40238 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15909 /* 40243 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15910 /* 40248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15911 /* 40250 */ // (sext:{ *:[i64] } (mul:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (MUL_R6:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
15912 /* 40250 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15913 /* 40253 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::MUL_R6),
15914 /* 40257 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15915 /* 40262 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15916 /* 40266 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15917 /* 40270 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15918 /* 40272 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15919 /* 40275 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15920 /* 40279 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15921 /* 40284 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15922 /* 40286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15923 /* 40289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15924 /* 40291 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15925 /* 40294 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15926 /* 40297 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15927 /* 40300 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15928 /* 40305 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15929 /* 40310 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15930 /* 40315 */ // GIR_Coverage, 1931,
15931 /* 40315 */ GIR_EraseRootFromParent_Done,
15932 /* 40316 */ // Label 1065: @40316
15933 /* 40316 */ GIM_Try, /*On fail goto*//*Label 1066*/ GIMT_Encode4(40418), // Rule ID 1932 //
15934 /* 40321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc),
15935 /* 40324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15936 /* 40328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SDIV),
15937 /* 40332 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15938 /* 40336 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15939 /* 40340 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15940 /* 40345 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15941 /* 40350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15942 /* 40352 */ // (sext:{ *:[i64] } (sdiv:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (DIV:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
15943 /* 40352 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15944 /* 40355 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::DIV),
15945 /* 40359 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15946 /* 40364 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15947 /* 40368 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15948 /* 40372 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15949 /* 40374 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15950 /* 40377 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15951 /* 40381 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15952 /* 40386 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15953 /* 40388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15954 /* 40391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15955 /* 40393 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15956 /* 40396 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15957 /* 40399 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15958 /* 40402 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15959 /* 40407 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15960 /* 40412 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15961 /* 40417 */ // GIR_Coverage, 1932,
15962 /* 40417 */ GIR_EraseRootFromParent_Done,
15963 /* 40418 */ // Label 1066: @40418
15964 /* 40418 */ GIM_Try, /*On fail goto*//*Label 1067*/ GIMT_Encode4(40517), // Rule ID 1728 //
15965 /* 40423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15966 /* 40427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
15967 /* 40431 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15968 /* 40435 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15969 /* 40439 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15970 /* 40444 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15971 /* 40449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15972 /* 40451 */ // (sext:{ *:[i64] } (shl:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (SLLV:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
15973 /* 40451 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15974 /* 40454 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SLLV),
15975 /* 40458 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15976 /* 40463 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15977 /* 40467 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15978 /* 40471 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15979 /* 40473 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15980 /* 40476 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15981 /* 40480 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15982 /* 40485 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15983 /* 40487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15984 /* 40490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15985 /* 40492 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15986 /* 40495 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15987 /* 40498 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15988 /* 40501 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15989 /* 40506 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15990 /* 40511 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15991 /* 40516 */ // GIR_Coverage, 1728,
15992 /* 40516 */ GIR_EraseRootFromParent_Done,
15993 /* 40517 */ // Label 1067: @40517
15994 /* 40517 */ GIM_Try, /*On fail goto*//*Label 1068*/ GIMT_Encode4(40619), // Rule ID 1934 //
15995 /* 40522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc),
15996 /* 40525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15997 /* 40529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SREM),
15998 /* 40533 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15999 /* 40537 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
16000 /* 40541 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16001 /* 40546 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16002 /* 40551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16003 /* 40553 */ // (sext:{ *:[i64] } (srem:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (MOD:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
16004 /* 40553 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
16005 /* 40556 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::MOD),
16006 /* 40560 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16007 /* 40565 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
16008 /* 40569 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
16009 /* 40573 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16010 /* 40575 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
16011 /* 40578 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16012 /* 40582 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16013 /* 40587 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16014 /* 40589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16015 /* 40592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16016 /* 40594 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16017 /* 40597 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
16018 /* 40600 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
16019 /* 40603 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
16020 /* 40608 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
16021 /* 40613 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
16022 /* 40618 */ // GIR_Coverage, 1934,
16023 /* 40618 */ GIR_EraseRootFromParent_Done,
16024 /* 40619 */ // Label 1068: @40619
16025 /* 40619 */ GIM_Try, /*On fail goto*//*Label 1069*/ GIMT_Encode4(40718), // Rule ID 1718 //
16026 /* 40624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16027 /* 40628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
16028 /* 40632 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
16029 /* 40636 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
16030 /* 40640 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16031 /* 40645 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16032 /* 40650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16033 /* 40652 */ // (sext:{ *:[i64] } (sub:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (SUBu:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
16034 /* 40652 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
16035 /* 40655 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SUBu),
16036 /* 40659 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16037 /* 40664 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
16038 /* 40668 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
16039 /* 40672 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16040 /* 40674 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
16041 /* 40677 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16042 /* 40681 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16043 /* 40686 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16044 /* 40688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16045 /* 40691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16046 /* 40693 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16047 /* 40696 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
16048 /* 40699 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
16049 /* 40702 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
16050 /* 40707 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
16051 /* 40712 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
16052 /* 40717 */ // GIR_Coverage, 1718,
16053 /* 40717 */ GIR_EraseRootFromParent_Done,
16054 /* 40718 */ // Label 1069: @40718
16055 /* 40718 */ GIM_Try, /*On fail goto*//*Label 1070*/ GIMT_Encode4(40820), // Rule ID 1933 //
16056 /* 40723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc),
16057 /* 40726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16058 /* 40730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_UDIV),
16059 /* 40734 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
16060 /* 40738 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
16061 /* 40742 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16062 /* 40747 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16063 /* 40752 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16064 /* 40754 */ // (sext:{ *:[i64] } (udiv:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (DIVU:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
16065 /* 40754 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
16066 /* 40757 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::DIVU),
16067 /* 40761 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16068 /* 40766 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
16069 /* 40770 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
16070 /* 40774 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16071 /* 40776 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
16072 /* 40779 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16073 /* 40783 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16074 /* 40788 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16075 /* 40790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16076 /* 40793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16077 /* 40795 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16078 /* 40798 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
16079 /* 40801 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
16080 /* 40804 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
16081 /* 40809 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
16082 /* 40814 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
16083 /* 40819 */ // GIR_Coverage, 1933,
16084 /* 40819 */ GIR_EraseRootFromParent_Done,
16085 /* 40820 */ // Label 1070: @40820
16086 /* 40820 */ GIM_Try, /*On fail goto*//*Label 1071*/ GIMT_Encode4(40922), // Rule ID 1935 //
16087 /* 40825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc),
16088 /* 40828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16089 /* 40832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_UREM),
16090 /* 40836 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
16091 /* 40840 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
16092 /* 40844 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16093 /* 40849 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16094 /* 40854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16095 /* 40856 */ // (sext:{ *:[i64] } (urem:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2)) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (MODU:{ *:[i32] } GPR32:{ *:[i32] }:$src, GPR32:{ *:[i32] }:$src2), sub_32:{ *:[i32] })
16096 /* 40856 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
16097 /* 40859 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::MODU),
16098 /* 40863 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16099 /* 40868 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
16100 /* 40872 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
16101 /* 40876 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16102 /* 40878 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
16103 /* 40881 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16104 /* 40885 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16105 /* 40890 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16106 /* 40892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16107 /* 40895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16108 /* 40897 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16109 /* 40900 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
16110 /* 40903 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
16111 /* 40906 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
16112 /* 40911 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
16113 /* 40916 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
16114 /* 40921 */ // GIR_Coverage, 1935,
16115 /* 40921 */ GIR_EraseRootFromParent_Done,
16116 /* 40922 */ // Label 1071: @40922
16117 /* 40922 */ GIM_Try, /*On fail goto*//*Label 1072*/ GIMT_Encode4(40941), // Rule ID 1688 //
16118 /* 40927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
16119 /* 40930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16120 /* 40934 */ // (sext:{ *:[i64] } GPR32:{ *:[i32] }:$src) => (SLL64_32:{ *:[i64] } GPR32:{ *:[i32] }:$src)
16121 /* 40934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL64_32),
16122 /* 40939 */ GIR_RootConstrainSelectedInstOperands,
16123 /* 40940 */ // GIR_Coverage, 1688,
16124 /* 40940 */ GIR_Done,
16125 /* 40941 */ // Label 1072: @40941
16126 /* 40941 */ GIM_Reject,
16127 /* 40942 */ // Label 1057: @40942
16128 /* 40942 */ GIM_Reject,
16129 /* 40943 */ // Label 35: @40943
16130 /* 40943 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1075*/ GIMT_Encode4(41290),
16131 /* 40954 */ /*GILLT_s32*//*Label 1073*/ GIMT_Encode4(40962),
16132 /* 40958 */ /*GILLT_s64*//*Label 1074*/ GIMT_Encode4(41188),
16133 /* 40962 */ // Label 1073: @40962
16134 /* 40962 */ GIM_Try, /*On fail goto*//*Label 1076*/ GIMT_Encode4(41187),
16135 /* 40967 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
16136 /* 40970 */ GIM_Try, /*On fail goto*//*Label 1077*/ GIMT_Encode4(41006), // Rule ID 106 //
16137 /* 40975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips),
16138 /* 40978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16139 /* 40982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16140 /* 40986 */ // MIs[0] Operand 2
16141 /* 40986 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
16142 /* 40997 */ // (sext_inreg:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, i8:{ *:[Other] }) => (SEB:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
16143 /* 40997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEB),
16144 /* 41000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16145 /* 41002 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16146 /* 41004 */ GIR_RootConstrainSelectedInstOperands,
16147 /* 41005 */ // GIR_Coverage, 106,
16148 /* 41005 */ GIR_EraseRootFromParent_Done,
16149 /* 41006 */ // Label 1077: @41006
16150 /* 41006 */ GIM_Try, /*On fail goto*//*Label 1078*/ GIMT_Encode4(41042), // Rule ID 107 //
16151 /* 41011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips),
16152 /* 41014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16153 /* 41018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16154 /* 41022 */ // MIs[0] Operand 2
16155 /* 41022 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
16156 /* 41033 */ // (sext_inreg:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, i16:{ *:[Other] }) => (SEH:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
16157 /* 41033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEH),
16158 /* 41036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16159 /* 41038 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16160 /* 41040 */ GIR_RootConstrainSelectedInstOperands,
16161 /* 41041 */ // GIR_Coverage, 107,
16162 /* 41041 */ GIR_EraseRootFromParent_Done,
16163 /* 41042 */ // Label 1078: @41042
16164 /* 41042 */ GIM_Try, /*On fail goto*//*Label 1079*/ GIMT_Encode4(41078), // Rule ID 1176 //
16165 /* 41047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
16166 /* 41050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16167 /* 41054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16168 /* 41058 */ // MIs[0] Operand 2
16169 /* 41058 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
16170 /* 41069 */ // (sext_inreg:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, i8:{ *:[Other] }) => (SEB_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
16171 /* 41069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEB_MM),
16172 /* 41072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16173 /* 41074 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16174 /* 41076 */ GIR_RootConstrainSelectedInstOperands,
16175 /* 41077 */ // GIR_Coverage, 1176,
16176 /* 41077 */ GIR_EraseRootFromParent_Done,
16177 /* 41078 */ // Label 1079: @41078
16178 /* 41078 */ GIM_Try, /*On fail goto*//*Label 1080*/ GIMT_Encode4(41114), // Rule ID 1177 //
16179 /* 41083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
16180 /* 41086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16181 /* 41090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16182 /* 41094 */ // MIs[0] Operand 2
16183 /* 41094 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
16184 /* 41105 */ // (sext_inreg:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, i16:{ *:[Other] }) => (SEH_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
16185 /* 41105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEH_MM),
16186 /* 41108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16187 /* 41110 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16188 /* 41112 */ GIR_RootConstrainSelectedInstOperands,
16189 /* 41113 */ // GIR_Coverage, 1177,
16190 /* 41113 */ GIR_EraseRootFromParent_Done,
16191 /* 41114 */ // Label 1080: @41114
16192 /* 41114 */ GIM_Try, /*On fail goto*//*Label 1081*/ GIMT_Encode4(41150), // Rule ID 2038 //
16193 /* 41119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
16194 /* 41122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16195 /* 41126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16196 /* 41130 */ // MIs[0] Operand 2
16197 /* 41130 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
16198 /* 41141 */ // (sext_inreg:{ *:[i32] } CPU16Regs:{ *:[i32] }:$val, i8:{ *:[Other] }) => (SebRx16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$val)
16199 /* 41141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SebRx16),
16200 /* 41144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
16201 /* 41146 */ GIR_RootToRootCopy, /*OpIdx*/1, // val
16202 /* 41148 */ GIR_RootConstrainSelectedInstOperands,
16203 /* 41149 */ // GIR_Coverage, 2038,
16204 /* 41149 */ GIR_EraseRootFromParent_Done,
16205 /* 41150 */ // Label 1081: @41150
16206 /* 41150 */ GIM_Try, /*On fail goto*//*Label 1082*/ GIMT_Encode4(41186), // Rule ID 2039 //
16207 /* 41155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
16208 /* 41158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16209 /* 41162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16210 /* 41166 */ // MIs[0] Operand 2
16211 /* 41166 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
16212 /* 41177 */ // (sext_inreg:{ *:[i32] } CPU16Regs:{ *:[i32] }:$val, i16:{ *:[Other] }) => (SehRx16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$val)
16213 /* 41177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SehRx16),
16214 /* 41180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
16215 /* 41182 */ GIR_RootToRootCopy, /*OpIdx*/1, // val
16216 /* 41184 */ GIR_RootConstrainSelectedInstOperands,
16217 /* 41185 */ // GIR_Coverage, 2039,
16218 /* 41185 */ GIR_EraseRootFromParent_Done,
16219 /* 41186 */ // Label 1082: @41186
16220 /* 41186 */ GIM_Reject,
16221 /* 41187 */ // Label 1076: @41187
16222 /* 41187 */ GIM_Reject,
16223 /* 41188 */ // Label 1074: @41188
16224 /* 41188 */ GIM_Try, /*On fail goto*//*Label 1083*/ GIMT_Encode4(41289),
16225 /* 41193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
16226 /* 41196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16227 /* 41200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16228 /* 41204 */ GIM_Try, /*On fail goto*//*Label 1084*/ GIMT_Encode4(41232), // Rule ID 336 //
16229 /* 41209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_IsGP64bit),
16230 /* 41212 */ // MIs[0] Operand 2
16231 /* 41212 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
16232 /* 41223 */ // (sext_inreg:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, i8:{ *:[Other] }) => (SEB64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt)
16233 /* 41223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEB64),
16234 /* 41226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16235 /* 41228 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16236 /* 41230 */ GIR_RootConstrainSelectedInstOperands,
16237 /* 41231 */ // GIR_Coverage, 336,
16238 /* 41231 */ GIR_EraseRootFromParent_Done,
16239 /* 41232 */ // Label 1084: @41232
16240 /* 41232 */ GIM_Try, /*On fail goto*//*Label 1085*/ GIMT_Encode4(41260), // Rule ID 337 //
16241 /* 41237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_IsGP64bit),
16242 /* 41240 */ // MIs[0] Operand 2
16243 /* 41240 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
16244 /* 41251 */ // (sext_inreg:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, i16:{ *:[Other] }) => (SEH64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt)
16245 /* 41251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEH64),
16246 /* 41254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16247 /* 41256 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16248 /* 41258 */ GIR_RootConstrainSelectedInstOperands,
16249 /* 41259 */ // GIR_Coverage, 337,
16250 /* 41259 */ GIR_EraseRootFromParent_Done,
16251 /* 41260 */ // Label 1085: @41260
16252 /* 41260 */ GIM_Try, /*On fail goto*//*Label 1086*/ GIMT_Encode4(41288), // Rule ID 1691 //
16253 /* 41265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
16254 /* 41268 */ // MIs[0] Operand 2
16255 /* 41268 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(32),
16256 /* 41279 */ // (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$src, i32:{ *:[Other] }) => (SLL64_64:{ *:[i64] } GPR64:{ *:[i64] }:$src)
16257 /* 41279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL64_64),
16258 /* 41282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16259 /* 41284 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16260 /* 41286 */ GIR_RootConstrainSelectedInstOperands,
16261 /* 41287 */ // GIR_Coverage, 1691,
16262 /* 41287 */ GIR_EraseRootFromParent_Done,
16263 /* 41288 */ // Label 1086: @41288
16264 /* 41288 */ GIM_Reject,
16265 /* 41289 */ // Label 1083: @41289
16266 /* 41289 */ GIM_Reject,
16267 /* 41290 */ // Label 1075: @41290
16268 /* 41290 */ GIM_Reject,
16269 /* 41291 */ // Label 36: @41291
16270 /* 41291 */ GIM_Try, /*On fail goto*//*Label 1087*/ GIMT_Encode4(41491),
16271 /* 41296 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
16272 /* 41299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
16273 /* 41302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16274 /* 41306 */ GIM_Try, /*On fail goto*//*Label 1088*/ GIMT_Encode4(41362), // Rule ID 355 //
16275 /* 41311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
16276 /* 41314 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16277 /* 41318 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
16278 /* 41322 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
16279 /* 41326 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
16280 /* 41330 */ // MIs[1] Operand 1
16281 /* 41330 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
16282 /* 41335 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16283 /* 41340 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16284 /* 41345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16285 /* 41347 */ // (zext:{ *:[i64] } (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETEQ:{ *:[Other] })) => (SEQ:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
16286 /* 41347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEQ),
16287 /* 41350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16288 /* 41352 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
16289 /* 41356 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
16290 /* 41360 */ GIR_RootConstrainSelectedInstOperands,
16291 /* 41361 */ // GIR_Coverage, 355,
16292 /* 41361 */ GIR_EraseRootFromParent_Done,
16293 /* 41362 */ // Label 1088: @41362
16294 /* 41362 */ GIM_Try, /*On fail goto*//*Label 1089*/ GIMT_Encode4(41418), // Rule ID 357 //
16295 /* 41367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
16296 /* 41370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16297 /* 41374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
16298 /* 41378 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
16299 /* 41382 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
16300 /* 41386 */ // MIs[1] Operand 1
16301 /* 41386 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
16302 /* 41391 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16303 /* 41396 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16304 /* 41401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16305 /* 41403 */ // (zext:{ *:[i64] } (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETNE:{ *:[Other] })) => (SNE:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
16306 /* 41403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SNE),
16307 /* 41406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16308 /* 41408 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
16309 /* 41412 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
16310 /* 41416 */ GIR_RootConstrainSelectedInstOperands,
16311 /* 41417 */ // GIR_Coverage, 357,
16312 /* 41417 */ GIR_EraseRootFromParent_Done,
16313 /* 41418 */ // Label 1089: @41418
16314 /* 41418 */ GIM_Try, /*On fail goto*//*Label 1090*/ GIMT_Encode4(41490),
16315 /* 41423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16316 /* 41427 */ GIM_Try, /*On fail goto*//*Label 1091*/ GIMT_Encode4(41466), // Rule ID 1686 //
16317 /* 41432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
16318 /* 41435 */ // (zext:{ *:[i64] } GPR32:{ *:[i32] }:$src) => (DSRL:{ *:[i64] } (DSLL64_32:{ *:[i64] } GPR32:{ *:[i32] }:$src), 32:{ *:[i32] })
16319 /* 41435 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
16320 /* 41438 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::DSLL64_32),
16321 /* 41442 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16322 /* 41447 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
16323 /* 41451 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16324 /* 41453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRL),
16325 /* 41456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16326 /* 41458 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16327 /* 41461 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/32,
16328 /* 41464 */ GIR_RootConstrainSelectedInstOperands,
16329 /* 41465 */ // GIR_Coverage, 1686,
16330 /* 41465 */ GIR_EraseRootFromParent_Done,
16331 /* 41466 */ // Label 1091: @41466
16332 /* 41466 */ GIM_Try, /*On fail goto*//*Label 1092*/ GIMT_Encode4(41489), // Rule ID 1689 //
16333 /* 41471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r2_HasStdEnc_IsGP64bit_NotInMicroMips),
16334 /* 41474 */ // (zext:{ *:[i64] } GPR32:{ *:[i32] }:$src) => (DEXT64_32:{ *:[i64] } GPR32:{ *:[i32] }:$src, 0:{ *:[i32] }, 32:{ *:[i32] })
16335 /* 41474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DEXT64_32),
16336 /* 41477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
16337 /* 41479 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16338 /* 41481 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
16339 /* 41484 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/32,
16340 /* 41487 */ GIR_RootConstrainSelectedInstOperands,
16341 /* 41488 */ // GIR_Coverage, 1689,
16342 /* 41488 */ GIR_EraseRootFromParent_Done,
16343 /* 41489 */ // Label 1092: @41489
16344 /* 41489 */ GIM_Reject,
16345 /* 41490 */ // Label 1090: @41490
16346 /* 41490 */ GIM_Reject,
16347 /* 41491 */ // Label 1087: @41491
16348 /* 41491 */ GIM_Reject,
16349 /* 41492 */ // Label 37: @41492
16350 /* 41492 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 1099*/ GIMT_Encode4(43288),
16351 /* 41503 */ /*GILLT_s32*//*Label 1093*/ GIMT_Encode4(41535),
16352 /* 41507 */ /*GILLT_s64*//*Label 1094*/ GIMT_Encode4(41797), GIMT_Encode4(0),
16353 /* 41515 */ /*GILLT_v2s64*//*Label 1095*/ GIMT_Encode4(41938), GIMT_Encode4(0),
16354 /* 41523 */ /*GILLT_v4s32*//*Label 1096*/ GIMT_Encode4(41972),
16355 /* 41527 */ /*GILLT_v8s16*//*Label 1097*/ GIMT_Encode4(42240),
16356 /* 41531 */ /*GILLT_v16s8*//*Label 1098*/ GIMT_Encode4(42636),
16357 /* 41535 */ // Label 1093: @41535
16358 /* 41535 */ GIM_Try, /*On fail goto*//*Label 1100*/ GIMT_Encode4(41796),
16359 /* 41540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
16360 /* 41543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
16361 /* 41546 */ GIM_Try, /*On fail goto*//*Label 1101*/ GIMT_Encode4(41588), // Rule ID 55 //
16362 /* 41551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
16363 /* 41554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16364 /* 41558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16365 /* 41562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16366 /* 41566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16367 /* 41570 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16368 /* 41574 */ // MIs[1] Operand 1
16369 /* 41574 */ // No operand predicates
16370 /* 41574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16371 /* 41576 */ // (shl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (SLL:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
16372 /* 41576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL),
16373 /* 41579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16374 /* 41581 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16375 /* 41583 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
16376 /* 41586 */ GIR_RootConstrainSelectedInstOperands,
16377 /* 41587 */ // GIR_Coverage, 55,
16378 /* 41587 */ GIR_EraseRootFromParent_Done,
16379 /* 41588 */ // Label 1101: @41588
16380 /* 41588 */ GIM_Try, /*On fail goto*//*Label 1102*/ GIMT_Encode4(41630), // Rule ID 1962 //
16381 /* 41593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
16382 /* 41596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16383 /* 41600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16384 /* 41604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16385 /* 41608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16386 /* 41612 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16387 /* 41616 */ // MIs[1] Operand 1
16388 /* 41616 */ // No operand predicates
16389 /* 41616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16390 /* 41618 */ // (shl:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SllX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
16391 /* 41618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SllX16),
16392 /* 41621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
16393 /* 41623 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
16394 /* 41625 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
16395 /* 41628 */ GIR_RootConstrainSelectedInstOperands,
16396 /* 41629 */ // GIR_Coverage, 1962,
16397 /* 41629 */ GIR_EraseRootFromParent_Done,
16398 /* 41630 */ // Label 1102: @41630
16399 /* 41630 */ GIM_Try, /*On fail goto*//*Label 1103*/ GIMT_Encode4(41672), // Rule ID 2301 //
16400 /* 41635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
16401 /* 41638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
16402 /* 41642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
16403 /* 41646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16404 /* 41650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16405 /* 41654 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Shift),
16406 /* 41658 */ // MIs[1] Operand 1
16407 /* 41658 */ // No operand predicates
16408 /* 41658 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16409 /* 41660 */ // (shl:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt2Shift>>:$imm) => (SLL16_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt2Shift>>:$imm)
16410 /* 41660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL16_MM),
16411 /* 41663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16412 /* 41665 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16413 /* 41667 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
16414 /* 41670 */ GIR_RootConstrainSelectedInstOperands,
16415 /* 41671 */ // GIR_Coverage, 2301,
16416 /* 41671 */ GIR_EraseRootFromParent_Done,
16417 /* 41672 */ // Label 1103: @41672
16418 /* 41672 */ GIM_Try, /*On fail goto*//*Label 1104*/ GIMT_Encode4(41714), // Rule ID 2302 //
16419 /* 41677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
16420 /* 41680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16421 /* 41684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16422 /* 41688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16423 /* 41692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16424 /* 41696 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16425 /* 41700 */ // MIs[1] Operand 1
16426 /* 41700 */ // No operand predicates
16427 /* 41700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16428 /* 41702 */ // (shl:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SLL_MM:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
16429 /* 41702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_MM),
16430 /* 41705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16431 /* 41707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16432 /* 41709 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
16433 /* 41712 */ GIR_RootConstrainSelectedInstOperands,
16434 /* 41713 */ // GIR_Coverage, 2302,
16435 /* 41713 */ GIR_EraseRootFromParent_Done,
16436 /* 41714 */ // Label 1104: @41714
16437 /* 41714 */ GIM_Try, /*On fail goto*//*Label 1105*/ GIMT_Encode4(41741), // Rule ID 61 //
16438 /* 41719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
16439 /* 41722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16440 /* 41726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16441 /* 41730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16442 /* 41734 */ // (shl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SLLV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
16443 /* 41734 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLLV),
16444 /* 41739 */ GIR_RootConstrainSelectedInstOperands,
16445 /* 41740 */ // GIR_Coverage, 61,
16446 /* 41740 */ GIR_Done,
16447 /* 41741 */ // Label 1105: @41741
16448 /* 41741 */ GIM_Try, /*On fail goto*//*Label 1106*/ GIMT_Encode4(41768), // Rule ID 1965 //
16449 /* 41746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
16450 /* 41749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16451 /* 41753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16452 /* 41757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16453 /* 41761 */ // (shl:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra) => (SllvRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra)
16454 /* 41761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SllvRxRy16),
16455 /* 41766 */ GIR_RootConstrainSelectedInstOperands,
16456 /* 41767 */ // GIR_Coverage, 1965,
16457 /* 41767 */ GIR_Done,
16458 /* 41768 */ // Label 1106: @41768
16459 /* 41768 */ GIM_Try, /*On fail goto*//*Label 1107*/ GIMT_Encode4(41795), // Rule ID 2303 //
16460 /* 41773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
16461 /* 41776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16462 /* 41780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16463 /* 41784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16464 /* 41788 */ // (shl:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs) => (SLLV_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs)
16465 /* 41788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLLV_MM),
16466 /* 41793 */ GIR_RootConstrainSelectedInstOperands,
16467 /* 41794 */ // GIR_Coverage, 2303,
16468 /* 41794 */ GIR_Done,
16469 /* 41795 */ // Label 1107: @41795
16470 /* 41795 */ GIM_Reject,
16471 /* 41796 */ // Label 1100: @41796
16472 /* 41796 */ GIM_Reject,
16473 /* 41797 */ // Label 1094: @41797
16474 /* 41797 */ GIM_Try, /*On fail goto*//*Label 1108*/ GIMT_Encode4(41937),
16475 /* 41802 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
16476 /* 41805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
16477 /* 41808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16478 /* 41812 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16479 /* 41816 */ GIM_Try, /*On fail goto*//*Label 1109*/ GIMT_Encode4(41850), // Rule ID 285 //
16480 /* 41821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
16481 /* 41824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16482 /* 41828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16483 /* 41832 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt6),
16484 /* 41836 */ // MIs[1] Operand 1
16485 /* 41836 */ // No operand predicates
16486 /* 41836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16487 /* 41838 */ // (shl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt6>>:$shamt) => (DSLL:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$shamt)
16488 /* 41838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSLL),
16489 /* 41841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16490 /* 41843 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16491 /* 41845 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
16492 /* 41848 */ GIR_RootConstrainSelectedInstOperands,
16493 /* 41849 */ // GIR_Coverage, 285,
16494 /* 41849 */ GIR_EraseRootFromParent_Done,
16495 /* 41850 */ // Label 1109: @41850
16496 /* 41850 */ GIM_Try, /*On fail goto*//*Label 1110*/ GIMT_Encode4(41917), // Rule ID 1679 //
16497 /* 41855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
16498 /* 41858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16499 /* 41862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
16500 /* 41866 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
16501 /* 41870 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16502 /* 41875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16503 /* 41877 */ // (shl:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$rs)) => (DSLLV:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$rs, sub_32:{ *:[i32] }))
16504 /* 41877 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16505 /* 41880 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16506 /* 41884 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16507 /* 41889 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // rs
16508 /* 41895 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
16509 /* 41900 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
16510 /* 41905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSLLV),
16511 /* 41908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16512 /* 41910 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16513 /* 41912 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16514 /* 41915 */ GIR_RootConstrainSelectedInstOperands,
16515 /* 41916 */ // GIR_Coverage, 1679,
16516 /* 41916 */ GIR_EraseRootFromParent_Done,
16517 /* 41917 */ // Label 1110: @41917
16518 /* 41917 */ GIM_Try, /*On fail goto*//*Label 1111*/ GIMT_Encode4(41936), // Rule ID 291 //
16519 /* 41922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
16520 /* 41925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16521 /* 41929 */ // (shl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (DSLLV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
16522 /* 41929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DSLLV),
16523 /* 41934 */ GIR_RootConstrainSelectedInstOperands,
16524 /* 41935 */ // GIR_Coverage, 291,
16525 /* 41935 */ GIR_Done,
16526 /* 41936 */ // Label 1111: @41936
16527 /* 41936 */ GIM_Reject,
16528 /* 41937 */ // Label 1108: @41937
16529 /* 41937 */ GIM_Reject,
16530 /* 41938 */ // Label 1095: @41938
16531 /* 41938 */ GIM_Try, /*On fail goto*//*Label 1112*/ GIMT_Encode4(41971), // Rule ID 1035 //
16532 /* 41943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
16533 /* 41946 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
16534 /* 41949 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
16535 /* 41952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16536 /* 41956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16537 /* 41960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16538 /* 41964 */ // (shl:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SLL_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
16539 /* 41964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL_D),
16540 /* 41969 */ GIR_RootConstrainSelectedInstOperands,
16541 /* 41970 */ // GIR_Coverage, 1035,
16542 /* 41970 */ GIR_Done,
16543 /* 41971 */ // Label 1112: @41971
16544 /* 41971 */ GIM_Reject,
16545 /* 41972 */ // Label 1096: @41972
16546 /* 41972 */ GIM_Try, /*On fail goto*//*Label 1113*/ GIMT_Encode4(42239),
16547 /* 41977 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
16548 /* 41980 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
16549 /* 41983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16550 /* 41987 */ GIM_Try, /*On fail goto*//*Label 1114*/ GIMT_Encode4(42101), // Rule ID 2636 //
16551 /* 41992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
16552 /* 41995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16553 /* 41999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16554 /* 42003 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
16555 /* 42007 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
16556 /* 42011 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
16557 /* 42015 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16558 /* 42019 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
16559 /* 42022 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16560 /* 42026 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16561 /* 42030 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16562 /* 42034 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16563 /* 42038 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16564 /* 42042 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16565 /* 42046 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16566 /* 42050 */ // MIs[3] Operand 1
16567 /* 42050 */ // No operand predicates
16568 /* 42050 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16569 /* 42054 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16570 /* 42058 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16571 /* 42062 */ // MIs[4] Operand 1
16572 /* 42062 */ // No operand predicates
16573 /* 42062 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16574 /* 42066 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16575 /* 42070 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16576 /* 42074 */ // MIs[5] Operand 1
16577 /* 42074 */ // No operand predicates
16578 /* 42074 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16579 /* 42078 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16580 /* 42082 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16581 /* 42086 */ // MIs[6] Operand 1
16582 /* 42086 */ // No operand predicates
16583 /* 42086 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
16584 /* 42088 */ // (shl:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, (and:{ *:[v4i32] } (build_vector:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>), v4i32:{ *:[v4i32] }:$wt)) => (SLL_W:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, v4i32:{ *:[v4i32] }:$wt)
16585 /* 42088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_W),
16586 /* 42091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16587 /* 42093 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16588 /* 42095 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
16589 /* 42099 */ GIR_RootConstrainSelectedInstOperands,
16590 /* 42100 */ // GIR_Coverage, 2636,
16591 /* 42100 */ GIR_EraseRootFromParent_Done,
16592 /* 42101 */ // Label 1114: @42101
16593 /* 42101 */ GIM_Try, /*On fail goto*//*Label 1115*/ GIMT_Encode4(42215), // Rule ID 2202 //
16594 /* 42106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
16595 /* 42109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16596 /* 42113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16597 /* 42117 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
16598 /* 42121 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
16599 /* 42125 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16600 /* 42129 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16601 /* 42133 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
16602 /* 42136 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16603 /* 42140 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16604 /* 42144 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16605 /* 42148 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16606 /* 42152 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16607 /* 42156 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16608 /* 42160 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16609 /* 42164 */ // MIs[3] Operand 1
16610 /* 42164 */ // No operand predicates
16611 /* 42164 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16612 /* 42168 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16613 /* 42172 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16614 /* 42176 */ // MIs[4] Operand 1
16615 /* 42176 */ // No operand predicates
16616 /* 42176 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16617 /* 42180 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16618 /* 42184 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16619 /* 42188 */ // MIs[5] Operand 1
16620 /* 42188 */ // No operand predicates
16621 /* 42188 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16622 /* 42192 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16623 /* 42196 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16624 /* 42200 */ // MIs[6] Operand 1
16625 /* 42200 */ // No operand predicates
16626 /* 42200 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
16627 /* 42202 */ // (shl:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, (and:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$wt, (build_vector:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>))) => (SLL_W:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, v4i32:{ *:[v4i32] }:$wt)
16628 /* 42202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_W),
16629 /* 42205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16630 /* 42207 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16631 /* 42209 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
16632 /* 42213 */ GIR_RootConstrainSelectedInstOperands,
16633 /* 42214 */ // GIR_Coverage, 2202,
16634 /* 42214 */ GIR_EraseRootFromParent_Done,
16635 /* 42215 */ // Label 1115: @42215
16636 /* 42215 */ GIM_Try, /*On fail goto*//*Label 1116*/ GIMT_Encode4(42238), // Rule ID 1034 //
16637 /* 42220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
16638 /* 42223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16639 /* 42227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16640 /* 42231 */ // (shl:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SLL_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
16641 /* 42231 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL_W),
16642 /* 42236 */ GIR_RootConstrainSelectedInstOperands,
16643 /* 42237 */ // GIR_Coverage, 1034,
16644 /* 42237 */ GIR_Done,
16645 /* 42238 */ // Label 1116: @42238
16646 /* 42238 */ GIM_Reject,
16647 /* 42239 */ // Label 1113: @42239
16648 /* 42239 */ GIM_Reject,
16649 /* 42240 */ // Label 1097: @42240
16650 /* 42240 */ GIM_Try, /*On fail goto*//*Label 1117*/ GIMT_Encode4(42635),
16651 /* 42245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
16652 /* 42248 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
16653 /* 42251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
16654 /* 42255 */ GIM_Try, /*On fail goto*//*Label 1118*/ GIMT_Encode4(42433), // Rule ID 2635 //
16655 /* 42260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
16656 /* 42263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16657 /* 42267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16658 /* 42271 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
16659 /* 42275 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
16660 /* 42279 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
16661 /* 42283 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16662 /* 42287 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
16663 /* 42290 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16664 /* 42294 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16665 /* 42298 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16666 /* 42302 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16667 /* 42306 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
16668 /* 42310 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
16669 /* 42314 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
16670 /* 42318 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
16671 /* 42322 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16672 /* 42326 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16673 /* 42330 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16674 /* 42334 */ // MIs[3] Operand 1
16675 /* 42334 */ // No operand predicates
16676 /* 42334 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16677 /* 42338 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16678 /* 42342 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16679 /* 42346 */ // MIs[4] Operand 1
16680 /* 42346 */ // No operand predicates
16681 /* 42346 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16682 /* 42350 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16683 /* 42354 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16684 /* 42358 */ // MIs[5] Operand 1
16685 /* 42358 */ // No operand predicates
16686 /* 42358 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16687 /* 42362 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16688 /* 42366 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16689 /* 42370 */ // MIs[6] Operand 1
16690 /* 42370 */ // No operand predicates
16691 /* 42370 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16692 /* 42374 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16693 /* 42378 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16694 /* 42382 */ // MIs[7] Operand 1
16695 /* 42382 */ // No operand predicates
16696 /* 42382 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16697 /* 42386 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16698 /* 42390 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16699 /* 42394 */ // MIs[8] Operand 1
16700 /* 42394 */ // No operand predicates
16701 /* 42394 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16702 /* 42398 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16703 /* 42402 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16704 /* 42406 */ // MIs[9] Operand 1
16705 /* 42406 */ // No operand predicates
16706 /* 42406 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16707 /* 42410 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16708 /* 42414 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16709 /* 42418 */ // MIs[10] Operand 1
16710 /* 42418 */ // No operand predicates
16711 /* 42418 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
16712 /* 42420 */ // (shl:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, (and:{ *:[v8i16] } (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>), v8i16:{ *:[v8i16] }:$wt)) => (SLL_H:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, v8i16:{ *:[v8i16] }:$wt)
16713 /* 42420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_H),
16714 /* 42423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16715 /* 42425 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16716 /* 42427 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
16717 /* 42431 */ GIR_RootConstrainSelectedInstOperands,
16718 /* 42432 */ // GIR_Coverage, 2635,
16719 /* 42432 */ GIR_EraseRootFromParent_Done,
16720 /* 42433 */ // Label 1118: @42433
16721 /* 42433 */ GIM_Try, /*On fail goto*//*Label 1119*/ GIMT_Encode4(42611), // Rule ID 2201 //
16722 /* 42438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
16723 /* 42441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16724 /* 42445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16725 /* 42449 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
16726 /* 42453 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
16727 /* 42457 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16728 /* 42461 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16729 /* 42465 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
16730 /* 42468 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16731 /* 42472 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16732 /* 42476 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16733 /* 42480 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16734 /* 42484 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
16735 /* 42488 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
16736 /* 42492 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
16737 /* 42496 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
16738 /* 42500 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16739 /* 42504 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16740 /* 42508 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16741 /* 42512 */ // MIs[3] Operand 1
16742 /* 42512 */ // No operand predicates
16743 /* 42512 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16744 /* 42516 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16745 /* 42520 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16746 /* 42524 */ // MIs[4] Operand 1
16747 /* 42524 */ // No operand predicates
16748 /* 42524 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16749 /* 42528 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16750 /* 42532 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16751 /* 42536 */ // MIs[5] Operand 1
16752 /* 42536 */ // No operand predicates
16753 /* 42536 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16754 /* 42540 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16755 /* 42544 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16756 /* 42548 */ // MIs[6] Operand 1
16757 /* 42548 */ // No operand predicates
16758 /* 42548 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16759 /* 42552 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16760 /* 42556 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16761 /* 42560 */ // MIs[7] Operand 1
16762 /* 42560 */ // No operand predicates
16763 /* 42560 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16764 /* 42564 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16765 /* 42568 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16766 /* 42572 */ // MIs[8] Operand 1
16767 /* 42572 */ // No operand predicates
16768 /* 42572 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16769 /* 42576 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16770 /* 42580 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16771 /* 42584 */ // MIs[9] Operand 1
16772 /* 42584 */ // No operand predicates
16773 /* 42584 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16774 /* 42588 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16775 /* 42592 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16776 /* 42596 */ // MIs[10] Operand 1
16777 /* 42596 */ // No operand predicates
16778 /* 42596 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
16779 /* 42598 */ // (shl:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, (and:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$wt, (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>))) => (SLL_H:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, v8i16:{ *:[v8i16] }:$wt)
16780 /* 42598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_H),
16781 /* 42601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16782 /* 42603 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16783 /* 42605 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
16784 /* 42609 */ GIR_RootConstrainSelectedInstOperands,
16785 /* 42610 */ // GIR_Coverage, 2201,
16786 /* 42610 */ GIR_EraseRootFromParent_Done,
16787 /* 42611 */ // Label 1119: @42611
16788 /* 42611 */ GIM_Try, /*On fail goto*//*Label 1120*/ GIMT_Encode4(42634), // Rule ID 1033 //
16789 /* 42616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
16790 /* 42619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
16791 /* 42623 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
16792 /* 42627 */ // (shl:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SLL_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
16793 /* 42627 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL_H),
16794 /* 42632 */ GIR_RootConstrainSelectedInstOperands,
16795 /* 42633 */ // GIR_Coverage, 1033,
16796 /* 42633 */ GIR_Done,
16797 /* 42634 */ // Label 1120: @42634
16798 /* 42634 */ GIM_Reject,
16799 /* 42635 */ // Label 1117: @42635
16800 /* 42635 */ GIM_Reject,
16801 /* 42636 */ // Label 1098: @42636
16802 /* 42636 */ GIM_Try, /*On fail goto*//*Label 1121*/ GIMT_Encode4(43287),
16803 /* 42641 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
16804 /* 42644 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
16805 /* 42647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
16806 /* 42651 */ GIM_Try, /*On fail goto*//*Label 1122*/ GIMT_Encode4(42957), // Rule ID 2634 //
16807 /* 42656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
16808 /* 42659 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16809 /* 42663 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16810 /* 42667 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
16811 /* 42671 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
16812 /* 42675 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
16813 /* 42679 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16814 /* 42683 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
16815 /* 42686 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16816 /* 42690 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16817 /* 42694 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16818 /* 42698 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16819 /* 42702 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
16820 /* 42706 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
16821 /* 42710 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
16822 /* 42714 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
16823 /* 42718 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
16824 /* 42722 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
16825 /* 42726 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
16826 /* 42730 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
16827 /* 42734 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
16828 /* 42738 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
16829 /* 42742 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
16830 /* 42746 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
16831 /* 42750 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16832 /* 42754 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16833 /* 42758 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16834 /* 42762 */ // MIs[3] Operand 1
16835 /* 42762 */ // No operand predicates
16836 /* 42762 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16837 /* 42766 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16838 /* 42770 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16839 /* 42774 */ // MIs[4] Operand 1
16840 /* 42774 */ // No operand predicates
16841 /* 42774 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16842 /* 42778 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16843 /* 42782 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16844 /* 42786 */ // MIs[5] Operand 1
16845 /* 42786 */ // No operand predicates
16846 /* 42786 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16847 /* 42790 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16848 /* 42794 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16849 /* 42798 */ // MIs[6] Operand 1
16850 /* 42798 */ // No operand predicates
16851 /* 42798 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16852 /* 42802 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16853 /* 42806 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16854 /* 42810 */ // MIs[7] Operand 1
16855 /* 42810 */ // No operand predicates
16856 /* 42810 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16857 /* 42814 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16858 /* 42818 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16859 /* 42822 */ // MIs[8] Operand 1
16860 /* 42822 */ // No operand predicates
16861 /* 42822 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16862 /* 42826 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16863 /* 42830 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16864 /* 42834 */ // MIs[9] Operand 1
16865 /* 42834 */ // No operand predicates
16866 /* 42834 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16867 /* 42838 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16868 /* 42842 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16869 /* 42846 */ // MIs[10] Operand 1
16870 /* 42846 */ // No operand predicates
16871 /* 42846 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
16872 /* 42850 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16873 /* 42854 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16874 /* 42858 */ // MIs[11] Operand 1
16875 /* 42858 */ // No operand predicates
16876 /* 42858 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
16877 /* 42862 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16878 /* 42866 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16879 /* 42870 */ // MIs[12] Operand 1
16880 /* 42870 */ // No operand predicates
16881 /* 42870 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
16882 /* 42874 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16883 /* 42878 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16884 /* 42882 */ // MIs[13] Operand 1
16885 /* 42882 */ // No operand predicates
16886 /* 42882 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
16887 /* 42886 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16888 /* 42890 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16889 /* 42894 */ // MIs[14] Operand 1
16890 /* 42894 */ // No operand predicates
16891 /* 42894 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
16892 /* 42898 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16893 /* 42902 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16894 /* 42906 */ // MIs[15] Operand 1
16895 /* 42906 */ // No operand predicates
16896 /* 42906 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
16897 /* 42910 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16898 /* 42914 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16899 /* 42918 */ // MIs[16] Operand 1
16900 /* 42918 */ // No operand predicates
16901 /* 42918 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
16902 /* 42922 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16903 /* 42926 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16904 /* 42930 */ // MIs[17] Operand 1
16905 /* 42930 */ // No operand predicates
16906 /* 42930 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
16907 /* 42934 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16908 /* 42938 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16909 /* 42942 */ // MIs[18] Operand 1
16910 /* 42942 */ // No operand predicates
16911 /* 42942 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
16912 /* 42944 */ // (shl:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, (and:{ *:[v16i8] } (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>), v16i8:{ *:[v16i8] }:$wt)) => (SLL_B:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, v16i8:{ *:[v16i8] }:$wt)
16913 /* 42944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_B),
16914 /* 42947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16915 /* 42949 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16916 /* 42951 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
16917 /* 42955 */ GIR_RootConstrainSelectedInstOperands,
16918 /* 42956 */ // GIR_Coverage, 2634,
16919 /* 42956 */ GIR_EraseRootFromParent_Done,
16920 /* 42957 */ // Label 1122: @42957
16921 /* 42957 */ GIM_Try, /*On fail goto*//*Label 1123*/ GIMT_Encode4(43263), // Rule ID 2200 //
16922 /* 42962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
16923 /* 42965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16924 /* 42969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16925 /* 42973 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
16926 /* 42977 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
16927 /* 42981 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16928 /* 42985 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16929 /* 42989 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
16930 /* 42992 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16931 /* 42996 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16932 /* 43000 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16933 /* 43004 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16934 /* 43008 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
16935 /* 43012 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
16936 /* 43016 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
16937 /* 43020 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
16938 /* 43024 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
16939 /* 43028 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
16940 /* 43032 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
16941 /* 43036 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
16942 /* 43040 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
16943 /* 43044 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
16944 /* 43048 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
16945 /* 43052 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
16946 /* 43056 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16947 /* 43060 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16948 /* 43064 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16949 /* 43068 */ // MIs[3] Operand 1
16950 /* 43068 */ // No operand predicates
16951 /* 43068 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16952 /* 43072 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16953 /* 43076 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16954 /* 43080 */ // MIs[4] Operand 1
16955 /* 43080 */ // No operand predicates
16956 /* 43080 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16957 /* 43084 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16958 /* 43088 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16959 /* 43092 */ // MIs[5] Operand 1
16960 /* 43092 */ // No operand predicates
16961 /* 43092 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16962 /* 43096 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16963 /* 43100 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16964 /* 43104 */ // MIs[6] Operand 1
16965 /* 43104 */ // No operand predicates
16966 /* 43104 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16967 /* 43108 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16968 /* 43112 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16969 /* 43116 */ // MIs[7] Operand 1
16970 /* 43116 */ // No operand predicates
16971 /* 43116 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16972 /* 43120 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16973 /* 43124 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16974 /* 43128 */ // MIs[8] Operand 1
16975 /* 43128 */ // No operand predicates
16976 /* 43128 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16977 /* 43132 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16978 /* 43136 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16979 /* 43140 */ // MIs[9] Operand 1
16980 /* 43140 */ // No operand predicates
16981 /* 43140 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16982 /* 43144 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16983 /* 43148 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16984 /* 43152 */ // MIs[10] Operand 1
16985 /* 43152 */ // No operand predicates
16986 /* 43152 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
16987 /* 43156 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16988 /* 43160 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16989 /* 43164 */ // MIs[11] Operand 1
16990 /* 43164 */ // No operand predicates
16991 /* 43164 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
16992 /* 43168 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16993 /* 43172 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16994 /* 43176 */ // MIs[12] Operand 1
16995 /* 43176 */ // No operand predicates
16996 /* 43176 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
16997 /* 43180 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16998 /* 43184 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16999 /* 43188 */ // MIs[13] Operand 1
17000 /* 43188 */ // No operand predicates
17001 /* 43188 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
17002 /* 43192 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17003 /* 43196 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17004 /* 43200 */ // MIs[14] Operand 1
17005 /* 43200 */ // No operand predicates
17006 /* 43200 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
17007 /* 43204 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17008 /* 43208 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17009 /* 43212 */ // MIs[15] Operand 1
17010 /* 43212 */ // No operand predicates
17011 /* 43212 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
17012 /* 43216 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17013 /* 43220 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17014 /* 43224 */ // MIs[16] Operand 1
17015 /* 43224 */ // No operand predicates
17016 /* 43224 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
17017 /* 43228 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17018 /* 43232 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17019 /* 43236 */ // MIs[17] Operand 1
17020 /* 43236 */ // No operand predicates
17021 /* 43236 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
17022 /* 43240 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17023 /* 43244 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17024 /* 43248 */ // MIs[18] Operand 1
17025 /* 43248 */ // No operand predicates
17026 /* 43248 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
17027 /* 43250 */ // (shl:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, (and:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$wt, (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>))) => (SLL_B:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, v16i8:{ *:[v16i8] }:$wt)
17028 /* 43250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_B),
17029 /* 43253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17030 /* 43255 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17031 /* 43257 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
17032 /* 43261 */ GIR_RootConstrainSelectedInstOperands,
17033 /* 43262 */ // GIR_Coverage, 2200,
17034 /* 43262 */ GIR_EraseRootFromParent_Done,
17035 /* 43263 */ // Label 1123: @43263
17036 /* 43263 */ GIM_Try, /*On fail goto*//*Label 1124*/ GIMT_Encode4(43286), // Rule ID 1032 //
17037 /* 43268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
17038 /* 43271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
17039 /* 43275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
17040 /* 43279 */ // (shl:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SLL_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
17041 /* 43279 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL_B),
17042 /* 43284 */ GIR_RootConstrainSelectedInstOperands,
17043 /* 43285 */ // GIR_Coverage, 1032,
17044 /* 43285 */ GIR_Done,
17045 /* 43286 */ // Label 1124: @43286
17046 /* 43286 */ GIM_Reject,
17047 /* 43287 */ // Label 1121: @43287
17048 /* 43287 */ GIM_Reject,
17049 /* 43288 */ // Label 1099: @43288
17050 /* 43288 */ GIM_Reject,
17051 /* 43289 */ // Label 38: @43289
17052 /* 43289 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 1131*/ GIMT_Encode4(45085),
17053 /* 43300 */ /*GILLT_s32*//*Label 1125*/ GIMT_Encode4(43332),
17054 /* 43304 */ /*GILLT_s64*//*Label 1126*/ GIMT_Encode4(43594), GIMT_Encode4(0),
17055 /* 43312 */ /*GILLT_v2s64*//*Label 1127*/ GIMT_Encode4(43735), GIMT_Encode4(0),
17056 /* 43320 */ /*GILLT_v4s32*//*Label 1128*/ GIMT_Encode4(43769),
17057 /* 43324 */ /*GILLT_v8s16*//*Label 1129*/ GIMT_Encode4(44037),
17058 /* 43328 */ /*GILLT_v16s8*//*Label 1130*/ GIMT_Encode4(44433),
17059 /* 43332 */ // Label 1125: @43332
17060 /* 43332 */ GIM_Try, /*On fail goto*//*Label 1132*/ GIMT_Encode4(43593),
17061 /* 43337 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17062 /* 43340 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
17063 /* 43343 */ GIM_Try, /*On fail goto*//*Label 1133*/ GIMT_Encode4(43385), // Rule ID 57 //
17064 /* 43348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
17065 /* 43351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17066 /* 43355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17067 /* 43359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17068 /* 43363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17069 /* 43367 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
17070 /* 43371 */ // MIs[1] Operand 1
17071 /* 43371 */ // No operand predicates
17072 /* 43371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17073 /* 43373 */ // (srl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (SRL:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
17074 /* 43373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL),
17075 /* 43376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17076 /* 43378 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17077 /* 43380 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
17078 /* 43383 */ GIR_RootConstrainSelectedInstOperands,
17079 /* 43384 */ // GIR_Coverage, 57,
17080 /* 43384 */ GIR_EraseRootFromParent_Done,
17081 /* 43385 */ // Label 1133: @43385
17082 /* 43385 */ GIM_Try, /*On fail goto*//*Label 1134*/ GIMT_Encode4(43427), // Rule ID 1963 //
17083 /* 43390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
17084 /* 43393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17085 /* 43397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17086 /* 43401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17087 /* 43405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17088 /* 43409 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
17089 /* 43413 */ // MIs[1] Operand 1
17090 /* 43413 */ // No operand predicates
17091 /* 43413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17092 /* 43415 */ // (srl:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SrlX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
17093 /* 43415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SrlX16),
17094 /* 43418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
17095 /* 43420 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
17096 /* 43422 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
17097 /* 43425 */ GIR_RootConstrainSelectedInstOperands,
17098 /* 43426 */ // GIR_Coverage, 1963,
17099 /* 43426 */ GIR_EraseRootFromParent_Done,
17100 /* 43427 */ // Label 1134: @43427
17101 /* 43427 */ GIM_Try, /*On fail goto*//*Label 1135*/ GIMT_Encode4(43469), // Rule ID 2304 //
17102 /* 43432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
17103 /* 43435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
17104 /* 43439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
17105 /* 43443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17106 /* 43447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17107 /* 43451 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Shift),
17108 /* 43455 */ // MIs[1] Operand 1
17109 /* 43455 */ // No operand predicates
17110 /* 43455 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17111 /* 43457 */ // (srl:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt2Shift>>:$imm) => (SRL16_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt2Shift>>:$imm)
17112 /* 43457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL16_MM),
17113 /* 43460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17114 /* 43462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17115 /* 43464 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
17116 /* 43467 */ GIR_RootConstrainSelectedInstOperands,
17117 /* 43468 */ // GIR_Coverage, 2304,
17118 /* 43468 */ GIR_EraseRootFromParent_Done,
17119 /* 43469 */ // Label 1135: @43469
17120 /* 43469 */ GIM_Try, /*On fail goto*//*Label 1136*/ GIMT_Encode4(43511), // Rule ID 2305 //
17121 /* 43474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
17122 /* 43477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17123 /* 43481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17124 /* 43485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17125 /* 43489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17126 /* 43493 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
17127 /* 43497 */ // MIs[1] Operand 1
17128 /* 43497 */ // No operand predicates
17129 /* 43497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17130 /* 43499 */ // (srl:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SRL_MM:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
17131 /* 43499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_MM),
17132 /* 43502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17133 /* 43504 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17134 /* 43506 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
17135 /* 43509 */ GIR_RootConstrainSelectedInstOperands,
17136 /* 43510 */ // GIR_Coverage, 2305,
17137 /* 43510 */ GIR_EraseRootFromParent_Done,
17138 /* 43511 */ // Label 1136: @43511
17139 /* 43511 */ GIM_Try, /*On fail goto*//*Label 1137*/ GIMT_Encode4(43538), // Rule ID 63 //
17140 /* 43516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
17141 /* 43519 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17142 /* 43523 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17143 /* 43527 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17144 /* 43531 */ // (srl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SRLV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
17145 /* 43531 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRLV),
17146 /* 43536 */ GIR_RootConstrainSelectedInstOperands,
17147 /* 43537 */ // GIR_Coverage, 63,
17148 /* 43537 */ GIR_Done,
17149 /* 43538 */ // Label 1137: @43538
17150 /* 43538 */ GIM_Try, /*On fail goto*//*Label 1138*/ GIMT_Encode4(43565), // Rule ID 1967 //
17151 /* 43543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
17152 /* 43546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17153 /* 43550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17154 /* 43554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17155 /* 43558 */ // (srl:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra) => (SrlvRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra)
17156 /* 43558 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SrlvRxRy16),
17157 /* 43563 */ GIR_RootConstrainSelectedInstOperands,
17158 /* 43564 */ // GIR_Coverage, 1967,
17159 /* 43564 */ GIR_Done,
17160 /* 43565 */ // Label 1138: @43565
17161 /* 43565 */ GIM_Try, /*On fail goto*//*Label 1139*/ GIMT_Encode4(43592), // Rule ID 2306 //
17162 /* 43570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
17163 /* 43573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17164 /* 43577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17165 /* 43581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17166 /* 43585 */ // (srl:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs) => (SRLV_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs)
17167 /* 43585 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRLV_MM),
17168 /* 43590 */ GIR_RootConstrainSelectedInstOperands,
17169 /* 43591 */ // GIR_Coverage, 2306,
17170 /* 43591 */ GIR_Done,
17171 /* 43592 */ // Label 1139: @43592
17172 /* 43592 */ GIM_Reject,
17173 /* 43593 */ // Label 1132: @43593
17174 /* 43593 */ GIM_Reject,
17175 /* 43594 */ // Label 1126: @43594
17176 /* 43594 */ GIM_Try, /*On fail goto*//*Label 1140*/ GIMT_Encode4(43734),
17177 /* 43599 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17178 /* 43602 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
17179 /* 43605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17180 /* 43609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17181 /* 43613 */ GIM_Try, /*On fail goto*//*Label 1141*/ GIMT_Encode4(43647), // Rule ID 287 //
17182 /* 43618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
17183 /* 43621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17184 /* 43625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17185 /* 43629 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt6),
17186 /* 43633 */ // MIs[1] Operand 1
17187 /* 43633 */ // No operand predicates
17188 /* 43633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17189 /* 43635 */ // (srl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt6>>:$shamt) => (DSRL:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$shamt)
17190 /* 43635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRL),
17191 /* 43638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17192 /* 43640 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17193 /* 43642 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
17194 /* 43645 */ GIR_RootConstrainSelectedInstOperands,
17195 /* 43646 */ // GIR_Coverage, 287,
17196 /* 43646 */ GIR_EraseRootFromParent_Done,
17197 /* 43647 */ // Label 1141: @43647
17198 /* 43647 */ GIM_Try, /*On fail goto*//*Label 1142*/ GIMT_Encode4(43714), // Rule ID 1680 //
17199 /* 43652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
17200 /* 43655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17201 /* 43659 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
17202 /* 43663 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
17203 /* 43667 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17204 /* 43672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17205 /* 43674 */ // (srl:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$rs)) => (DSRLV:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$rs, sub_32:{ *:[i32] }))
17206 /* 43674 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17207 /* 43677 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17208 /* 43681 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17209 /* 43686 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // rs
17210 /* 43692 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
17211 /* 43697 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
17212 /* 43702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRLV),
17213 /* 43705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17214 /* 43707 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17215 /* 43709 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17216 /* 43712 */ GIR_RootConstrainSelectedInstOperands,
17217 /* 43713 */ // GIR_Coverage, 1680,
17218 /* 43713 */ GIR_EraseRootFromParent_Done,
17219 /* 43714 */ // Label 1142: @43714
17220 /* 43714 */ GIM_Try, /*On fail goto*//*Label 1143*/ GIMT_Encode4(43733), // Rule ID 295 //
17221 /* 43719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
17222 /* 43722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17223 /* 43726 */ // (srl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (DSRLV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
17224 /* 43726 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DSRLV),
17225 /* 43731 */ GIR_RootConstrainSelectedInstOperands,
17226 /* 43732 */ // GIR_Coverage, 295,
17227 /* 43732 */ GIR_Done,
17228 /* 43733 */ // Label 1143: @43733
17229 /* 43733 */ GIM_Reject,
17230 /* 43734 */ // Label 1140: @43734
17231 /* 43734 */ GIM_Reject,
17232 /* 43735 */ // Label 1127: @43735
17233 /* 43735 */ GIM_Try, /*On fail goto*//*Label 1144*/ GIMT_Encode4(43768), // Rule ID 1067 //
17234 /* 43740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
17235 /* 43743 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
17236 /* 43746 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
17237 /* 43749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17238 /* 43753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17239 /* 43757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17240 /* 43761 */ // (srl:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SRL_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
17241 /* 43761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRL_D),
17242 /* 43766 */ GIR_RootConstrainSelectedInstOperands,
17243 /* 43767 */ // GIR_Coverage, 1067,
17244 /* 43767 */ GIR_Done,
17245 /* 43768 */ // Label 1144: @43768
17246 /* 43768 */ GIM_Reject,
17247 /* 43769 */ // Label 1128: @43769
17248 /* 43769 */ GIM_Try, /*On fail goto*//*Label 1145*/ GIMT_Encode4(44036),
17249 /* 43774 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
17250 /* 43777 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
17251 /* 43780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
17252 /* 43784 */ GIM_Try, /*On fail goto*//*Label 1146*/ GIMT_Encode4(43898), // Rule ID 2652 //
17253 /* 43789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
17254 /* 43792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17255 /* 43796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17256 /* 43800 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
17257 /* 43804 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
17258 /* 43808 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17259 /* 43812 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17260 /* 43816 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
17261 /* 43819 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17262 /* 43823 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17263 /* 43827 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17264 /* 43831 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17265 /* 43835 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17266 /* 43839 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17267 /* 43843 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17268 /* 43847 */ // MIs[3] Operand 1
17269 /* 43847 */ // No operand predicates
17270 /* 43847 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17271 /* 43851 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17272 /* 43855 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17273 /* 43859 */ // MIs[4] Operand 1
17274 /* 43859 */ // No operand predicates
17275 /* 43859 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17276 /* 43863 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17277 /* 43867 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17278 /* 43871 */ // MIs[5] Operand 1
17279 /* 43871 */ // No operand predicates
17280 /* 43871 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17281 /* 43875 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17282 /* 43879 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17283 /* 43883 */ // MIs[6] Operand 1
17284 /* 43883 */ // No operand predicates
17285 /* 43883 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
17286 /* 43885 */ // (srl:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, (and:{ *:[v4i32] } (build_vector:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>), v4i32:{ *:[v4i32] }:$wt)) => (SRL_W:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, v4i32:{ *:[v4i32] }:$wt)
17287 /* 43885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_W),
17288 /* 43888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17289 /* 43890 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17290 /* 43892 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
17291 /* 43896 */ GIR_RootConstrainSelectedInstOperands,
17292 /* 43897 */ // GIR_Coverage, 2652,
17293 /* 43897 */ GIR_EraseRootFromParent_Done,
17294 /* 43898 */ // Label 1146: @43898
17295 /* 43898 */ GIM_Try, /*On fail goto*//*Label 1147*/ GIMT_Encode4(44012), // Rule ID 2210 //
17296 /* 43903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
17297 /* 43906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17298 /* 43910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17299 /* 43914 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
17300 /* 43918 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
17301 /* 43922 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17302 /* 43926 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17303 /* 43930 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
17304 /* 43933 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17305 /* 43937 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17306 /* 43941 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17307 /* 43945 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17308 /* 43949 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17309 /* 43953 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17310 /* 43957 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17311 /* 43961 */ // MIs[3] Operand 1
17312 /* 43961 */ // No operand predicates
17313 /* 43961 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17314 /* 43965 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17315 /* 43969 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17316 /* 43973 */ // MIs[4] Operand 1
17317 /* 43973 */ // No operand predicates
17318 /* 43973 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17319 /* 43977 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17320 /* 43981 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17321 /* 43985 */ // MIs[5] Operand 1
17322 /* 43985 */ // No operand predicates
17323 /* 43985 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17324 /* 43989 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17325 /* 43993 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17326 /* 43997 */ // MIs[6] Operand 1
17327 /* 43997 */ // No operand predicates
17328 /* 43997 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
17329 /* 43999 */ // (srl:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, (and:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$wt, (build_vector:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>))) => (SRL_W:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, v4i32:{ *:[v4i32] }:$wt)
17330 /* 43999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_W),
17331 /* 44002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17332 /* 44004 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17333 /* 44006 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
17334 /* 44010 */ GIR_RootConstrainSelectedInstOperands,
17335 /* 44011 */ // GIR_Coverage, 2210,
17336 /* 44011 */ GIR_EraseRootFromParent_Done,
17337 /* 44012 */ // Label 1147: @44012
17338 /* 44012 */ GIM_Try, /*On fail goto*//*Label 1148*/ GIMT_Encode4(44035), // Rule ID 1066 //
17339 /* 44017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
17340 /* 44020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
17341 /* 44024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
17342 /* 44028 */ // (srl:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SRL_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
17343 /* 44028 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRL_W),
17344 /* 44033 */ GIR_RootConstrainSelectedInstOperands,
17345 /* 44034 */ // GIR_Coverage, 1066,
17346 /* 44034 */ GIR_Done,
17347 /* 44035 */ // Label 1148: @44035
17348 /* 44035 */ GIM_Reject,
17349 /* 44036 */ // Label 1145: @44036
17350 /* 44036 */ GIM_Reject,
17351 /* 44037 */ // Label 1129: @44037
17352 /* 44037 */ GIM_Try, /*On fail goto*//*Label 1149*/ GIMT_Encode4(44432),
17353 /* 44042 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
17354 /* 44045 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
17355 /* 44048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
17356 /* 44052 */ GIM_Try, /*On fail goto*//*Label 1150*/ GIMT_Encode4(44230), // Rule ID 2651 //
17357 /* 44057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
17358 /* 44060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17359 /* 44064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17360 /* 44068 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
17361 /* 44072 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
17362 /* 44076 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17363 /* 44080 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17364 /* 44084 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
17365 /* 44087 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17366 /* 44091 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17367 /* 44095 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17368 /* 44099 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17369 /* 44103 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
17370 /* 44107 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
17371 /* 44111 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
17372 /* 44115 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
17373 /* 44119 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17374 /* 44123 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17375 /* 44127 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17376 /* 44131 */ // MIs[3] Operand 1
17377 /* 44131 */ // No operand predicates
17378 /* 44131 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17379 /* 44135 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17380 /* 44139 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17381 /* 44143 */ // MIs[4] Operand 1
17382 /* 44143 */ // No operand predicates
17383 /* 44143 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17384 /* 44147 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17385 /* 44151 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17386 /* 44155 */ // MIs[5] Operand 1
17387 /* 44155 */ // No operand predicates
17388 /* 44155 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17389 /* 44159 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17390 /* 44163 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17391 /* 44167 */ // MIs[6] Operand 1
17392 /* 44167 */ // No operand predicates
17393 /* 44167 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
17394 /* 44171 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17395 /* 44175 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17396 /* 44179 */ // MIs[7] Operand 1
17397 /* 44179 */ // No operand predicates
17398 /* 44179 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
17399 /* 44183 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17400 /* 44187 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17401 /* 44191 */ // MIs[8] Operand 1
17402 /* 44191 */ // No operand predicates
17403 /* 44191 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
17404 /* 44195 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17405 /* 44199 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17406 /* 44203 */ // MIs[9] Operand 1
17407 /* 44203 */ // No operand predicates
17408 /* 44203 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
17409 /* 44207 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17410 /* 44211 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17411 /* 44215 */ // MIs[10] Operand 1
17412 /* 44215 */ // No operand predicates
17413 /* 44215 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
17414 /* 44217 */ // (srl:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, (and:{ *:[v8i16] } (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>), v8i16:{ *:[v8i16] }:$wt)) => (SRL_H:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, v8i16:{ *:[v8i16] }:$wt)
17415 /* 44217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_H),
17416 /* 44220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17417 /* 44222 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17418 /* 44224 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
17419 /* 44228 */ GIR_RootConstrainSelectedInstOperands,
17420 /* 44229 */ // GIR_Coverage, 2651,
17421 /* 44229 */ GIR_EraseRootFromParent_Done,
17422 /* 44230 */ // Label 1150: @44230
17423 /* 44230 */ GIM_Try, /*On fail goto*//*Label 1151*/ GIMT_Encode4(44408), // Rule ID 2209 //
17424 /* 44235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
17425 /* 44238 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17426 /* 44242 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17427 /* 44246 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
17428 /* 44250 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
17429 /* 44254 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17430 /* 44258 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17431 /* 44262 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
17432 /* 44265 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17433 /* 44269 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17434 /* 44273 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17435 /* 44277 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17436 /* 44281 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
17437 /* 44285 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
17438 /* 44289 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
17439 /* 44293 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
17440 /* 44297 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17441 /* 44301 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17442 /* 44305 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17443 /* 44309 */ // MIs[3] Operand 1
17444 /* 44309 */ // No operand predicates
17445 /* 44309 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17446 /* 44313 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17447 /* 44317 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17448 /* 44321 */ // MIs[4] Operand 1
17449 /* 44321 */ // No operand predicates
17450 /* 44321 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17451 /* 44325 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17452 /* 44329 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17453 /* 44333 */ // MIs[5] Operand 1
17454 /* 44333 */ // No operand predicates
17455 /* 44333 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17456 /* 44337 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17457 /* 44341 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17458 /* 44345 */ // MIs[6] Operand 1
17459 /* 44345 */ // No operand predicates
17460 /* 44345 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
17461 /* 44349 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17462 /* 44353 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17463 /* 44357 */ // MIs[7] Operand 1
17464 /* 44357 */ // No operand predicates
17465 /* 44357 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
17466 /* 44361 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17467 /* 44365 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17468 /* 44369 */ // MIs[8] Operand 1
17469 /* 44369 */ // No operand predicates
17470 /* 44369 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
17471 /* 44373 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17472 /* 44377 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17473 /* 44381 */ // MIs[9] Operand 1
17474 /* 44381 */ // No operand predicates
17475 /* 44381 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
17476 /* 44385 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17477 /* 44389 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17478 /* 44393 */ // MIs[10] Operand 1
17479 /* 44393 */ // No operand predicates
17480 /* 44393 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
17481 /* 44395 */ // (srl:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, (and:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$wt, (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>))) => (SRL_H:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, v8i16:{ *:[v8i16] }:$wt)
17482 /* 44395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_H),
17483 /* 44398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17484 /* 44400 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17485 /* 44402 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
17486 /* 44406 */ GIR_RootConstrainSelectedInstOperands,
17487 /* 44407 */ // GIR_Coverage, 2209,
17488 /* 44407 */ GIR_EraseRootFromParent_Done,
17489 /* 44408 */ // Label 1151: @44408
17490 /* 44408 */ GIM_Try, /*On fail goto*//*Label 1152*/ GIMT_Encode4(44431), // Rule ID 1065 //
17491 /* 44413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
17492 /* 44416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
17493 /* 44420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
17494 /* 44424 */ // (srl:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SRL_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
17495 /* 44424 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRL_H),
17496 /* 44429 */ GIR_RootConstrainSelectedInstOperands,
17497 /* 44430 */ // GIR_Coverage, 1065,
17498 /* 44430 */ GIR_Done,
17499 /* 44431 */ // Label 1152: @44431
17500 /* 44431 */ GIM_Reject,
17501 /* 44432 */ // Label 1149: @44432
17502 /* 44432 */ GIM_Reject,
17503 /* 44433 */ // Label 1130: @44433
17504 /* 44433 */ GIM_Try, /*On fail goto*//*Label 1153*/ GIMT_Encode4(45084),
17505 /* 44438 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
17506 /* 44441 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
17507 /* 44444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
17508 /* 44448 */ GIM_Try, /*On fail goto*//*Label 1154*/ GIMT_Encode4(44754), // Rule ID 2650 //
17509 /* 44453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
17510 /* 44456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17511 /* 44460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17512 /* 44464 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
17513 /* 44468 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
17514 /* 44472 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17515 /* 44476 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17516 /* 44480 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
17517 /* 44483 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17518 /* 44487 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17519 /* 44491 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17520 /* 44495 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17521 /* 44499 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
17522 /* 44503 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
17523 /* 44507 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
17524 /* 44511 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
17525 /* 44515 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
17526 /* 44519 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
17527 /* 44523 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
17528 /* 44527 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
17529 /* 44531 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
17530 /* 44535 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
17531 /* 44539 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
17532 /* 44543 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
17533 /* 44547 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17534 /* 44551 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17535 /* 44555 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17536 /* 44559 */ // MIs[3] Operand 1
17537 /* 44559 */ // No operand predicates
17538 /* 44559 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17539 /* 44563 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17540 /* 44567 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17541 /* 44571 */ // MIs[4] Operand 1
17542 /* 44571 */ // No operand predicates
17543 /* 44571 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17544 /* 44575 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17545 /* 44579 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17546 /* 44583 */ // MIs[5] Operand 1
17547 /* 44583 */ // No operand predicates
17548 /* 44583 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17549 /* 44587 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17550 /* 44591 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17551 /* 44595 */ // MIs[6] Operand 1
17552 /* 44595 */ // No operand predicates
17553 /* 44595 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
17554 /* 44599 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17555 /* 44603 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17556 /* 44607 */ // MIs[7] Operand 1
17557 /* 44607 */ // No operand predicates
17558 /* 44607 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
17559 /* 44611 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17560 /* 44615 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17561 /* 44619 */ // MIs[8] Operand 1
17562 /* 44619 */ // No operand predicates
17563 /* 44619 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
17564 /* 44623 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17565 /* 44627 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17566 /* 44631 */ // MIs[9] Operand 1
17567 /* 44631 */ // No operand predicates
17568 /* 44631 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
17569 /* 44635 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17570 /* 44639 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17571 /* 44643 */ // MIs[10] Operand 1
17572 /* 44643 */ // No operand predicates
17573 /* 44643 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
17574 /* 44647 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17575 /* 44651 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17576 /* 44655 */ // MIs[11] Operand 1
17577 /* 44655 */ // No operand predicates
17578 /* 44655 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
17579 /* 44659 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17580 /* 44663 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17581 /* 44667 */ // MIs[12] Operand 1
17582 /* 44667 */ // No operand predicates
17583 /* 44667 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
17584 /* 44671 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17585 /* 44675 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17586 /* 44679 */ // MIs[13] Operand 1
17587 /* 44679 */ // No operand predicates
17588 /* 44679 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
17589 /* 44683 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17590 /* 44687 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17591 /* 44691 */ // MIs[14] Operand 1
17592 /* 44691 */ // No operand predicates
17593 /* 44691 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
17594 /* 44695 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17595 /* 44699 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17596 /* 44703 */ // MIs[15] Operand 1
17597 /* 44703 */ // No operand predicates
17598 /* 44703 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
17599 /* 44707 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17600 /* 44711 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17601 /* 44715 */ // MIs[16] Operand 1
17602 /* 44715 */ // No operand predicates
17603 /* 44715 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
17604 /* 44719 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17605 /* 44723 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17606 /* 44727 */ // MIs[17] Operand 1
17607 /* 44727 */ // No operand predicates
17608 /* 44727 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
17609 /* 44731 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17610 /* 44735 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17611 /* 44739 */ // MIs[18] Operand 1
17612 /* 44739 */ // No operand predicates
17613 /* 44739 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
17614 /* 44741 */ // (srl:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, (and:{ *:[v16i8] } (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>), v16i8:{ *:[v16i8] }:$wt)) => (SRL_B:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, v16i8:{ *:[v16i8] }:$wt)
17615 /* 44741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_B),
17616 /* 44744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17617 /* 44746 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17618 /* 44748 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
17619 /* 44752 */ GIR_RootConstrainSelectedInstOperands,
17620 /* 44753 */ // GIR_Coverage, 2650,
17621 /* 44753 */ GIR_EraseRootFromParent_Done,
17622 /* 44754 */ // Label 1154: @44754
17623 /* 44754 */ GIM_Try, /*On fail goto*//*Label 1155*/ GIMT_Encode4(45060), // Rule ID 2208 //
17624 /* 44759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
17625 /* 44762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17626 /* 44766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17627 /* 44770 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
17628 /* 44774 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
17629 /* 44778 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17630 /* 44782 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17631 /* 44786 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
17632 /* 44789 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17633 /* 44793 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17634 /* 44797 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17635 /* 44801 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17636 /* 44805 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
17637 /* 44809 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
17638 /* 44813 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
17639 /* 44817 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
17640 /* 44821 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
17641 /* 44825 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
17642 /* 44829 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
17643 /* 44833 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
17644 /* 44837 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
17645 /* 44841 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
17646 /* 44845 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
17647 /* 44849 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
17648 /* 44853 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17649 /* 44857 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17650 /* 44861 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17651 /* 44865 */ // MIs[3] Operand 1
17652 /* 44865 */ // No operand predicates
17653 /* 44865 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17654 /* 44869 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17655 /* 44873 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17656 /* 44877 */ // MIs[4] Operand 1
17657 /* 44877 */ // No operand predicates
17658 /* 44877 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17659 /* 44881 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17660 /* 44885 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17661 /* 44889 */ // MIs[5] Operand 1
17662 /* 44889 */ // No operand predicates
17663 /* 44889 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17664 /* 44893 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17665 /* 44897 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17666 /* 44901 */ // MIs[6] Operand 1
17667 /* 44901 */ // No operand predicates
17668 /* 44901 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
17669 /* 44905 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17670 /* 44909 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17671 /* 44913 */ // MIs[7] Operand 1
17672 /* 44913 */ // No operand predicates
17673 /* 44913 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
17674 /* 44917 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17675 /* 44921 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17676 /* 44925 */ // MIs[8] Operand 1
17677 /* 44925 */ // No operand predicates
17678 /* 44925 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
17679 /* 44929 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17680 /* 44933 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17681 /* 44937 */ // MIs[9] Operand 1
17682 /* 44937 */ // No operand predicates
17683 /* 44937 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
17684 /* 44941 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17685 /* 44945 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17686 /* 44949 */ // MIs[10] Operand 1
17687 /* 44949 */ // No operand predicates
17688 /* 44949 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
17689 /* 44953 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17690 /* 44957 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17691 /* 44961 */ // MIs[11] Operand 1
17692 /* 44961 */ // No operand predicates
17693 /* 44961 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
17694 /* 44965 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17695 /* 44969 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17696 /* 44973 */ // MIs[12] Operand 1
17697 /* 44973 */ // No operand predicates
17698 /* 44973 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
17699 /* 44977 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17700 /* 44981 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17701 /* 44985 */ // MIs[13] Operand 1
17702 /* 44985 */ // No operand predicates
17703 /* 44985 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
17704 /* 44989 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17705 /* 44993 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17706 /* 44997 */ // MIs[14] Operand 1
17707 /* 44997 */ // No operand predicates
17708 /* 44997 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
17709 /* 45001 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17710 /* 45005 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17711 /* 45009 */ // MIs[15] Operand 1
17712 /* 45009 */ // No operand predicates
17713 /* 45009 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
17714 /* 45013 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17715 /* 45017 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17716 /* 45021 */ // MIs[16] Operand 1
17717 /* 45021 */ // No operand predicates
17718 /* 45021 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
17719 /* 45025 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17720 /* 45029 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17721 /* 45033 */ // MIs[17] Operand 1
17722 /* 45033 */ // No operand predicates
17723 /* 45033 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
17724 /* 45037 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17725 /* 45041 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17726 /* 45045 */ // MIs[18] Operand 1
17727 /* 45045 */ // No operand predicates
17728 /* 45045 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
17729 /* 45047 */ // (srl:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, (and:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$wt, (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>))) => (SRL_B:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, v16i8:{ *:[v16i8] }:$wt)
17730 /* 45047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_B),
17731 /* 45050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17732 /* 45052 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17733 /* 45054 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
17734 /* 45058 */ GIR_RootConstrainSelectedInstOperands,
17735 /* 45059 */ // GIR_Coverage, 2208,
17736 /* 45059 */ GIR_EraseRootFromParent_Done,
17737 /* 45060 */ // Label 1155: @45060
17738 /* 45060 */ GIM_Try, /*On fail goto*//*Label 1156*/ GIMT_Encode4(45083), // Rule ID 1064 //
17739 /* 45065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
17740 /* 45068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
17741 /* 45072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
17742 /* 45076 */ // (srl:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SRL_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
17743 /* 45076 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRL_B),
17744 /* 45081 */ GIR_RootConstrainSelectedInstOperands,
17745 /* 45082 */ // GIR_Coverage, 1064,
17746 /* 45082 */ GIR_Done,
17747 /* 45083 */ // Label 1156: @45083
17748 /* 45083 */ GIM_Reject,
17749 /* 45084 */ // Label 1153: @45084
17750 /* 45084 */ GIM_Reject,
17751 /* 45085 */ // Label 1131: @45085
17752 /* 45085 */ GIM_Reject,
17753 /* 45086 */ // Label 39: @45086
17754 /* 45086 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 1163*/ GIMT_Encode4(46840),
17755 /* 45097 */ /*GILLT_s32*//*Label 1157*/ GIMT_Encode4(45129),
17756 /* 45101 */ /*GILLT_s64*//*Label 1158*/ GIMT_Encode4(45349), GIMT_Encode4(0),
17757 /* 45109 */ /*GILLT_v2s64*//*Label 1159*/ GIMT_Encode4(45490), GIMT_Encode4(0),
17758 /* 45117 */ /*GILLT_v4s32*//*Label 1160*/ GIMT_Encode4(45524),
17759 /* 45121 */ /*GILLT_v8s16*//*Label 1161*/ GIMT_Encode4(45792),
17760 /* 45125 */ /*GILLT_v16s8*//*Label 1162*/ GIMT_Encode4(46188),
17761 /* 45129 */ // Label 1157: @45129
17762 /* 45129 */ GIM_Try, /*On fail goto*//*Label 1164*/ GIMT_Encode4(45348),
17763 /* 45134 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17764 /* 45137 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
17765 /* 45140 */ GIM_Try, /*On fail goto*//*Label 1165*/ GIMT_Encode4(45182), // Rule ID 59 //
17766 /* 45145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
17767 /* 45148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17768 /* 45152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17769 /* 45156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17770 /* 45160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17771 /* 45164 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
17772 /* 45168 */ // MIs[1] Operand 1
17773 /* 45168 */ // No operand predicates
17774 /* 45168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17775 /* 45170 */ // (sra:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (SRA:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
17776 /* 45170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA),
17777 /* 45173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17778 /* 45175 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17779 /* 45177 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
17780 /* 45180 */ GIR_RootConstrainSelectedInstOperands,
17781 /* 45181 */ // GIR_Coverage, 59,
17782 /* 45181 */ GIR_EraseRootFromParent_Done,
17783 /* 45182 */ // Label 1165: @45182
17784 /* 45182 */ GIM_Try, /*On fail goto*//*Label 1166*/ GIMT_Encode4(45224), // Rule ID 1964 //
17785 /* 45187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
17786 /* 45190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17787 /* 45194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17788 /* 45198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17789 /* 45202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17790 /* 45206 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
17791 /* 45210 */ // MIs[1] Operand 1
17792 /* 45210 */ // No operand predicates
17793 /* 45210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17794 /* 45212 */ // (sra:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SraX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
17795 /* 45212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SraX16),
17796 /* 45215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
17797 /* 45217 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
17798 /* 45219 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
17799 /* 45222 */ GIR_RootConstrainSelectedInstOperands,
17800 /* 45223 */ // GIR_Coverage, 1964,
17801 /* 45223 */ GIR_EraseRootFromParent_Done,
17802 /* 45224 */ // Label 1166: @45224
17803 /* 45224 */ GIM_Try, /*On fail goto*//*Label 1167*/ GIMT_Encode4(45266), // Rule ID 2307 //
17804 /* 45229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
17805 /* 45232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17806 /* 45236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17807 /* 45240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17808 /* 45244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17809 /* 45248 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
17810 /* 45252 */ // MIs[1] Operand 1
17811 /* 45252 */ // No operand predicates
17812 /* 45252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17813 /* 45254 */ // (sra:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SRA_MM:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
17814 /* 45254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_MM),
17815 /* 45257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17816 /* 45259 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17817 /* 45261 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
17818 /* 45264 */ GIR_RootConstrainSelectedInstOperands,
17819 /* 45265 */ // GIR_Coverage, 2307,
17820 /* 45265 */ GIR_EraseRootFromParent_Done,
17821 /* 45266 */ // Label 1167: @45266
17822 /* 45266 */ GIM_Try, /*On fail goto*//*Label 1168*/ GIMT_Encode4(45293), // Rule ID 65 //
17823 /* 45271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
17824 /* 45274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17825 /* 45278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17826 /* 45282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17827 /* 45286 */ // (sra:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SRAV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
17828 /* 45286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRAV),
17829 /* 45291 */ GIR_RootConstrainSelectedInstOperands,
17830 /* 45292 */ // GIR_Coverage, 65,
17831 /* 45292 */ GIR_Done,
17832 /* 45293 */ // Label 1168: @45293
17833 /* 45293 */ GIM_Try, /*On fail goto*//*Label 1169*/ GIMT_Encode4(45320), // Rule ID 1966 //
17834 /* 45298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
17835 /* 45301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17836 /* 45305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17837 /* 45309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17838 /* 45313 */ // (sra:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra) => (SravRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra)
17839 /* 45313 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SravRxRy16),
17840 /* 45318 */ GIR_RootConstrainSelectedInstOperands,
17841 /* 45319 */ // GIR_Coverage, 1966,
17842 /* 45319 */ GIR_Done,
17843 /* 45320 */ // Label 1169: @45320
17844 /* 45320 */ GIM_Try, /*On fail goto*//*Label 1170*/ GIMT_Encode4(45347), // Rule ID 2308 //
17845 /* 45325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
17846 /* 45328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17847 /* 45332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17848 /* 45336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17849 /* 45340 */ // (sra:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs) => (SRAV_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs)
17850 /* 45340 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRAV_MM),
17851 /* 45345 */ GIR_RootConstrainSelectedInstOperands,
17852 /* 45346 */ // GIR_Coverage, 2308,
17853 /* 45346 */ GIR_Done,
17854 /* 45347 */ // Label 1170: @45347
17855 /* 45347 */ GIM_Reject,
17856 /* 45348 */ // Label 1164: @45348
17857 /* 45348 */ GIM_Reject,
17858 /* 45349 */ // Label 1158: @45349
17859 /* 45349 */ GIM_Try, /*On fail goto*//*Label 1171*/ GIMT_Encode4(45489),
17860 /* 45354 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17861 /* 45357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
17862 /* 45360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17863 /* 45364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17864 /* 45368 */ GIM_Try, /*On fail goto*//*Label 1172*/ GIMT_Encode4(45402), // Rule ID 289 //
17865 /* 45373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
17866 /* 45376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17867 /* 45380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17868 /* 45384 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt6),
17869 /* 45388 */ // MIs[1] Operand 1
17870 /* 45388 */ // No operand predicates
17871 /* 45388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17872 /* 45390 */ // (sra:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt6>>:$shamt) => (DSRA:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$shamt)
17873 /* 45390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRA),
17874 /* 45393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17875 /* 45395 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17876 /* 45397 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
17877 /* 45400 */ GIR_RootConstrainSelectedInstOperands,
17878 /* 45401 */ // GIR_Coverage, 289,
17879 /* 45401 */ GIR_EraseRootFromParent_Done,
17880 /* 45402 */ // Label 1172: @45402
17881 /* 45402 */ GIM_Try, /*On fail goto*//*Label 1173*/ GIMT_Encode4(45469), // Rule ID 1681 //
17882 /* 45407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
17883 /* 45410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17884 /* 45414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
17885 /* 45418 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
17886 /* 45422 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17887 /* 45427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17888 /* 45429 */ // (sra:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$rs)) => (DSRAV:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$rs, sub_32:{ *:[i32] }))
17889 /* 45429 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17890 /* 45432 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17891 /* 45436 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17892 /* 45441 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // rs
17893 /* 45447 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
17894 /* 45452 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
17895 /* 45457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRAV),
17896 /* 45460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17897 /* 45462 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17898 /* 45464 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17899 /* 45467 */ GIR_RootConstrainSelectedInstOperands,
17900 /* 45468 */ // GIR_Coverage, 1681,
17901 /* 45468 */ GIR_EraseRootFromParent_Done,
17902 /* 45469 */ // Label 1173: @45469
17903 /* 45469 */ GIM_Try, /*On fail goto*//*Label 1174*/ GIMT_Encode4(45488), // Rule ID 293 //
17904 /* 45474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
17905 /* 45477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17906 /* 45481 */ // (sra:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (DSRAV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
17907 /* 45481 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DSRAV),
17908 /* 45486 */ GIR_RootConstrainSelectedInstOperands,
17909 /* 45487 */ // GIR_Coverage, 293,
17910 /* 45487 */ GIR_Done,
17911 /* 45488 */ // Label 1174: @45488
17912 /* 45488 */ GIM_Reject,
17913 /* 45489 */ // Label 1171: @45489
17914 /* 45489 */ GIM_Reject,
17915 /* 45490 */ // Label 1159: @45490
17916 /* 45490 */ GIM_Try, /*On fail goto*//*Label 1175*/ GIMT_Encode4(45523), // Rule ID 1051 //
17917 /* 45495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
17918 /* 45498 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
17919 /* 45501 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
17920 /* 45504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17921 /* 45508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17922 /* 45512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17923 /* 45516 */ // (sra:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SRA_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
17924 /* 45516 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRA_D),
17925 /* 45521 */ GIR_RootConstrainSelectedInstOperands,
17926 /* 45522 */ // GIR_Coverage, 1051,
17927 /* 45522 */ GIR_Done,
17928 /* 45523 */ // Label 1175: @45523
17929 /* 45523 */ GIM_Reject,
17930 /* 45524 */ // Label 1160: @45524
17931 /* 45524 */ GIM_Try, /*On fail goto*//*Label 1176*/ GIMT_Encode4(45791),
17932 /* 45529 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
17933 /* 45532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
17934 /* 45535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
17935 /* 45539 */ GIM_Try, /*On fail goto*//*Label 1177*/ GIMT_Encode4(45653), // Rule ID 2656 //
17936 /* 45544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
17937 /* 45547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17938 /* 45551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17939 /* 45555 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
17940 /* 45559 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
17941 /* 45563 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17942 /* 45567 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17943 /* 45571 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
17944 /* 45574 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17945 /* 45578 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17946 /* 45582 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17947 /* 45586 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17948 /* 45590 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17949 /* 45594 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17950 /* 45598 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17951 /* 45602 */ // MIs[3] Operand 1
17952 /* 45602 */ // No operand predicates
17953 /* 45602 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17954 /* 45606 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17955 /* 45610 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17956 /* 45614 */ // MIs[4] Operand 1
17957 /* 45614 */ // No operand predicates
17958 /* 45614 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17959 /* 45618 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17960 /* 45622 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17961 /* 45626 */ // MIs[5] Operand 1
17962 /* 45626 */ // No operand predicates
17963 /* 45626 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17964 /* 45630 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17965 /* 45634 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17966 /* 45638 */ // MIs[6] Operand 1
17967 /* 45638 */ // No operand predicates
17968 /* 45638 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
17969 /* 45640 */ // (sra:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, (and:{ *:[v4i32] } (build_vector:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>), v4i32:{ *:[v4i32] }:$wt)) => (SRA_W:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, v4i32:{ *:[v4i32] }:$wt)
17970 /* 45640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_W),
17971 /* 45643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17972 /* 45645 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17973 /* 45647 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
17974 /* 45651 */ GIR_RootConstrainSelectedInstOperands,
17975 /* 45652 */ // GIR_Coverage, 2656,
17976 /* 45652 */ GIR_EraseRootFromParent_Done,
17977 /* 45653 */ // Label 1177: @45653
17978 /* 45653 */ GIM_Try, /*On fail goto*//*Label 1178*/ GIMT_Encode4(45767), // Rule ID 2214 //
17979 /* 45658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
17980 /* 45661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17981 /* 45665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17982 /* 45669 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
17983 /* 45673 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
17984 /* 45677 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17985 /* 45681 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17986 /* 45685 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
17987 /* 45688 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17988 /* 45692 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17989 /* 45696 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17990 /* 45700 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17991 /* 45704 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17992 /* 45708 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17993 /* 45712 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17994 /* 45716 */ // MIs[3] Operand 1
17995 /* 45716 */ // No operand predicates
17996 /* 45716 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17997 /* 45720 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17998 /* 45724 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17999 /* 45728 */ // MIs[4] Operand 1
18000 /* 45728 */ // No operand predicates
18001 /* 45728 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
18002 /* 45732 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18003 /* 45736 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
18004 /* 45740 */ // MIs[5] Operand 1
18005 /* 45740 */ // No operand predicates
18006 /* 45740 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
18007 /* 45744 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18008 /* 45748 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
18009 /* 45752 */ // MIs[6] Operand 1
18010 /* 45752 */ // No operand predicates
18011 /* 45752 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
18012 /* 45754 */ // (sra:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, (and:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$wt, (build_vector:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst31>>))) => (SRA_W:{ *:[v4i32] } v4i32:{ *:[v4i32] }:$ws, v4i32:{ *:[v4i32] }:$wt)
18013 /* 45754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_W),
18014 /* 45757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
18015 /* 45759 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
18016 /* 45761 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
18017 /* 45765 */ GIR_RootConstrainSelectedInstOperands,
18018 /* 45766 */ // GIR_Coverage, 2214,
18019 /* 45766 */ GIR_EraseRootFromParent_Done,
18020 /* 45767 */ // Label 1178: @45767
18021 /* 45767 */ GIM_Try, /*On fail goto*//*Label 1179*/ GIMT_Encode4(45790), // Rule ID 1050 //
18022 /* 45772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
18023 /* 45775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
18024 /* 45779 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
18025 /* 45783 */ // (sra:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SRA_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
18026 /* 45783 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRA_W),
18027 /* 45788 */ GIR_RootConstrainSelectedInstOperands,
18028 /* 45789 */ // GIR_Coverage, 1050,
18029 /* 45789 */ GIR_Done,
18030 /* 45790 */ // Label 1179: @45790
18031 /* 45790 */ GIM_Reject,
18032 /* 45791 */ // Label 1176: @45791
18033 /* 45791 */ GIM_Reject,
18034 /* 45792 */ // Label 1161: @45792
18035 /* 45792 */ GIM_Try, /*On fail goto*//*Label 1180*/ GIMT_Encode4(46187),
18036 /* 45797 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18037 /* 45800 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
18038 /* 45803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
18039 /* 45807 */ GIM_Try, /*On fail goto*//*Label 1181*/ GIMT_Encode4(45985), // Rule ID 2655 //
18040 /* 45812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
18041 /* 45815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
18042 /* 45819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
18043 /* 45823 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
18044 /* 45827 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
18045 /* 45831 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
18046 /* 45835 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
18047 /* 45839 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
18048 /* 45842 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
18049 /* 45846 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
18050 /* 45850 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
18051 /* 45854 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
18052 /* 45858 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
18053 /* 45862 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
18054 /* 45866 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
18055 /* 45870 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
18056 /* 45874 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
18057 /* 45878 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18058 /* 45882 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18059 /* 45886 */ // MIs[3] Operand 1
18060 /* 45886 */ // No operand predicates
18061 /* 45886 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
18062 /* 45890 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18063 /* 45894 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18064 /* 45898 */ // MIs[4] Operand 1
18065 /* 45898 */ // No operand predicates
18066 /* 45898 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
18067 /* 45902 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18068 /* 45906 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18069 /* 45910 */ // MIs[5] Operand 1
18070 /* 45910 */ // No operand predicates
18071 /* 45910 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
18072 /* 45914 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18073 /* 45918 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18074 /* 45922 */ // MIs[6] Operand 1
18075 /* 45922 */ // No operand predicates
18076 /* 45922 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
18077 /* 45926 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18078 /* 45930 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18079 /* 45934 */ // MIs[7] Operand 1
18080 /* 45934 */ // No operand predicates
18081 /* 45934 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
18082 /* 45938 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18083 /* 45942 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18084 /* 45946 */ // MIs[8] Operand 1
18085 /* 45946 */ // No operand predicates
18086 /* 45946 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
18087 /* 45950 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18088 /* 45954 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18089 /* 45958 */ // MIs[9] Operand 1
18090 /* 45958 */ // No operand predicates
18091 /* 45958 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
18092 /* 45962 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18093 /* 45966 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18094 /* 45970 */ // MIs[10] Operand 1
18095 /* 45970 */ // No operand predicates
18096 /* 45970 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
18097 /* 45972 */ // (sra:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, (and:{ *:[v8i16] } (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>), v8i16:{ *:[v8i16] }:$wt)) => (SRA_H:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, v8i16:{ *:[v8i16] }:$wt)
18098 /* 45972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_H),
18099 /* 45975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
18100 /* 45977 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
18101 /* 45979 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
18102 /* 45983 */ GIR_RootConstrainSelectedInstOperands,
18103 /* 45984 */ // GIR_Coverage, 2655,
18104 /* 45984 */ GIR_EraseRootFromParent_Done,
18105 /* 45985 */ // Label 1181: @45985
18106 /* 45985 */ GIM_Try, /*On fail goto*//*Label 1182*/ GIMT_Encode4(46163), // Rule ID 2213 //
18107 /* 45990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
18108 /* 45993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
18109 /* 45997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
18110 /* 46001 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
18111 /* 46005 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
18112 /* 46009 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
18113 /* 46013 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
18114 /* 46017 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
18115 /* 46020 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
18116 /* 46024 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
18117 /* 46028 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
18118 /* 46032 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
18119 /* 46036 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
18120 /* 46040 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
18121 /* 46044 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
18122 /* 46048 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
18123 /* 46052 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
18124 /* 46056 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18125 /* 46060 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18126 /* 46064 */ // MIs[3] Operand 1
18127 /* 46064 */ // No operand predicates
18128 /* 46064 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
18129 /* 46068 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18130 /* 46072 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18131 /* 46076 */ // MIs[4] Operand 1
18132 /* 46076 */ // No operand predicates
18133 /* 46076 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
18134 /* 46080 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18135 /* 46084 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18136 /* 46088 */ // MIs[5] Operand 1
18137 /* 46088 */ // No operand predicates
18138 /* 46088 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
18139 /* 46092 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18140 /* 46096 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18141 /* 46100 */ // MIs[6] Operand 1
18142 /* 46100 */ // No operand predicates
18143 /* 46100 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
18144 /* 46104 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18145 /* 46108 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18146 /* 46112 */ // MIs[7] Operand 1
18147 /* 46112 */ // No operand predicates
18148 /* 46112 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
18149 /* 46116 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18150 /* 46120 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18151 /* 46124 */ // MIs[8] Operand 1
18152 /* 46124 */ // No operand predicates
18153 /* 46124 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
18154 /* 46128 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18155 /* 46132 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18156 /* 46136 */ // MIs[9] Operand 1
18157 /* 46136 */ // No operand predicates
18158 /* 46136 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
18159 /* 46140 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18160 /* 46144 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
18161 /* 46148 */ // MIs[10] Operand 1
18162 /* 46148 */ // No operand predicates
18163 /* 46148 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
18164 /* 46150 */ // (sra:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, (and:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$wt, (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst15>>))) => (SRA_H:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$ws, v8i16:{ *:[v8i16] }:$wt)
18165 /* 46150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_H),
18166 /* 46153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
18167 /* 46155 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
18168 /* 46157 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
18169 /* 46161 */ GIR_RootConstrainSelectedInstOperands,
18170 /* 46162 */ // GIR_Coverage, 2213,
18171 /* 46162 */ GIR_EraseRootFromParent_Done,
18172 /* 46163 */ // Label 1182: @46163
18173 /* 46163 */ GIM_Try, /*On fail goto*//*Label 1183*/ GIMT_Encode4(46186), // Rule ID 1049 //
18174 /* 46168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
18175 /* 46171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
18176 /* 46175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
18177 /* 46179 */ // (sra:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SRA_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
18178 /* 46179 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRA_H),
18179 /* 46184 */ GIR_RootConstrainSelectedInstOperands,
18180 /* 46185 */ // GIR_Coverage, 1049,
18181 /* 46185 */ GIR_Done,
18182 /* 46186 */ // Label 1183: @46186
18183 /* 46186 */ GIM_Reject,
18184 /* 46187 */ // Label 1180: @46187
18185 /* 46187 */ GIM_Reject,
18186 /* 46188 */ // Label 1162: @46188
18187 /* 46188 */ GIM_Try, /*On fail goto*//*Label 1184*/ GIMT_Encode4(46839),
18188 /* 46193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
18189 /* 46196 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
18190 /* 46199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
18191 /* 46203 */ GIM_Try, /*On fail goto*//*Label 1185*/ GIMT_Encode4(46509), // Rule ID 2654 //
18192 /* 46208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
18193 /* 46211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
18194 /* 46215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
18195 /* 46219 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
18196 /* 46223 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
18197 /* 46227 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
18198 /* 46231 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
18199 /* 46235 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
18200 /* 46238 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
18201 /* 46242 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
18202 /* 46246 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
18203 /* 46250 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
18204 /* 46254 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
18205 /* 46258 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
18206 /* 46262 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
18207 /* 46266 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
18208 /* 46270 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
18209 /* 46274 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
18210 /* 46278 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
18211 /* 46282 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
18212 /* 46286 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
18213 /* 46290 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
18214 /* 46294 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
18215 /* 46298 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
18216 /* 46302 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
18217 /* 46306 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18218 /* 46310 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18219 /* 46314 */ // MIs[3] Operand 1
18220 /* 46314 */ // No operand predicates
18221 /* 46314 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
18222 /* 46318 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18223 /* 46322 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18224 /* 46326 */ // MIs[4] Operand 1
18225 /* 46326 */ // No operand predicates
18226 /* 46326 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
18227 /* 46330 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18228 /* 46334 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18229 /* 46338 */ // MIs[5] Operand 1
18230 /* 46338 */ // No operand predicates
18231 /* 46338 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
18232 /* 46342 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18233 /* 46346 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18234 /* 46350 */ // MIs[6] Operand 1
18235 /* 46350 */ // No operand predicates
18236 /* 46350 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
18237 /* 46354 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18238 /* 46358 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18239 /* 46362 */ // MIs[7] Operand 1
18240 /* 46362 */ // No operand predicates
18241 /* 46362 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
18242 /* 46366 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18243 /* 46370 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18244 /* 46374 */ // MIs[8] Operand 1
18245 /* 46374 */ // No operand predicates
18246 /* 46374 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
18247 /* 46378 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18248 /* 46382 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18249 /* 46386 */ // MIs[9] Operand 1
18250 /* 46386 */ // No operand predicates
18251 /* 46386 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
18252 /* 46390 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18253 /* 46394 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18254 /* 46398 */ // MIs[10] Operand 1
18255 /* 46398 */ // No operand predicates
18256 /* 46398 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
18257 /* 46402 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18258 /* 46406 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18259 /* 46410 */ // MIs[11] Operand 1
18260 /* 46410 */ // No operand predicates
18261 /* 46410 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
18262 /* 46414 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18263 /* 46418 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18264 /* 46422 */ // MIs[12] Operand 1
18265 /* 46422 */ // No operand predicates
18266 /* 46422 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
18267 /* 46426 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18268 /* 46430 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18269 /* 46434 */ // MIs[13] Operand 1
18270 /* 46434 */ // No operand predicates
18271 /* 46434 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
18272 /* 46438 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18273 /* 46442 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18274 /* 46446 */ // MIs[14] Operand 1
18275 /* 46446 */ // No operand predicates
18276 /* 46446 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
18277 /* 46450 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18278 /* 46454 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18279 /* 46458 */ // MIs[15] Operand 1
18280 /* 46458 */ // No operand predicates
18281 /* 46458 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
18282 /* 46462 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18283 /* 46466 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18284 /* 46470 */ // MIs[16] Operand 1
18285 /* 46470 */ // No operand predicates
18286 /* 46470 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
18287 /* 46474 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18288 /* 46478 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18289 /* 46482 */ // MIs[17] Operand 1
18290 /* 46482 */ // No operand predicates
18291 /* 46482 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
18292 /* 46486 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18293 /* 46490 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18294 /* 46494 */ // MIs[18] Operand 1
18295 /* 46494 */ // No operand predicates
18296 /* 46494 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
18297 /* 46496 */ // (sra:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, (and:{ *:[v16i8] } (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>), v16i8:{ *:[v16i8] }:$wt)) => (SRA_B:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, v16i8:{ *:[v16i8] }:$wt)
18298 /* 46496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_B),
18299 /* 46499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
18300 /* 46501 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
18301 /* 46503 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
18302 /* 46507 */ GIR_RootConstrainSelectedInstOperands,
18303 /* 46508 */ // GIR_Coverage, 2654,
18304 /* 46508 */ GIR_EraseRootFromParent_Done,
18305 /* 46509 */ // Label 1185: @46509
18306 /* 46509 */ GIM_Try, /*On fail goto*//*Label 1186*/ GIMT_Encode4(46815), // Rule ID 2212 //
18307 /* 46514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
18308 /* 46517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
18309 /* 46521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
18310 /* 46525 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
18311 /* 46529 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
18312 /* 46533 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
18313 /* 46537 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
18314 /* 46541 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
18315 /* 46544 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
18316 /* 46548 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
18317 /* 46552 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
18318 /* 46556 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
18319 /* 46560 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
18320 /* 46564 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
18321 /* 46568 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
18322 /* 46572 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
18323 /* 46576 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
18324 /* 46580 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
18325 /* 46584 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
18326 /* 46588 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
18327 /* 46592 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
18328 /* 46596 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
18329 /* 46600 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
18330 /* 46604 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
18331 /* 46608 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
18332 /* 46612 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18333 /* 46616 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18334 /* 46620 */ // MIs[3] Operand 1
18335 /* 46620 */ // No operand predicates
18336 /* 46620 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
18337 /* 46624 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18338 /* 46628 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18339 /* 46632 */ // MIs[4] Operand 1
18340 /* 46632 */ // No operand predicates
18341 /* 46632 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
18342 /* 46636 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18343 /* 46640 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18344 /* 46644 */ // MIs[5] Operand 1
18345 /* 46644 */ // No operand predicates
18346 /* 46644 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
18347 /* 46648 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18348 /* 46652 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18349 /* 46656 */ // MIs[6] Operand 1
18350 /* 46656 */ // No operand predicates
18351 /* 46656 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
18352 /* 46660 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18353 /* 46664 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18354 /* 46668 */ // MIs[7] Operand 1
18355 /* 46668 */ // No operand predicates
18356 /* 46668 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
18357 /* 46672 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18358 /* 46676 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18359 /* 46680 */ // MIs[8] Operand 1
18360 /* 46680 */ // No operand predicates
18361 /* 46680 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
18362 /* 46684 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18363 /* 46688 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18364 /* 46692 */ // MIs[9] Operand 1
18365 /* 46692 */ // No operand predicates
18366 /* 46692 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
18367 /* 46696 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18368 /* 46700 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18369 /* 46704 */ // MIs[10] Operand 1
18370 /* 46704 */ // No operand predicates
18371 /* 46704 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
18372 /* 46708 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18373 /* 46712 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18374 /* 46716 */ // MIs[11] Operand 1
18375 /* 46716 */ // No operand predicates
18376 /* 46716 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
18377 /* 46720 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18378 /* 46724 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18379 /* 46728 */ // MIs[12] Operand 1
18380 /* 46728 */ // No operand predicates
18381 /* 46728 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
18382 /* 46732 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18383 /* 46736 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18384 /* 46740 */ // MIs[13] Operand 1
18385 /* 46740 */ // No operand predicates
18386 /* 46740 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
18387 /* 46744 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18388 /* 46748 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18389 /* 46752 */ // MIs[14] Operand 1
18390 /* 46752 */ // No operand predicates
18391 /* 46752 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
18392 /* 46756 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18393 /* 46760 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18394 /* 46764 */ // MIs[15] Operand 1
18395 /* 46764 */ // No operand predicates
18396 /* 46764 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
18397 /* 46768 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18398 /* 46772 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18399 /* 46776 */ // MIs[16] Operand 1
18400 /* 46776 */ // No operand predicates
18401 /* 46776 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
18402 /* 46780 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18403 /* 46784 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18404 /* 46788 */ // MIs[17] Operand 1
18405 /* 46788 */ // No operand predicates
18406 /* 46788 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
18407 /* 46792 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18408 /* 46796 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
18409 /* 46800 */ // MIs[18] Operand 1
18410 /* 46800 */ // No operand predicates
18411 /* 46800 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
18412 /* 46802 */ // (sra:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, (and:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$wt, (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>, (imm:{ *:[i32] })<<P:Predicate_immi32Cst7>>))) => (SRA_B:{ *:[v16i8] } v16i8:{ *:[v16i8] }:$ws, v16i8:{ *:[v16i8] }:$wt)
18413 /* 46802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_B),
18414 /* 46805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
18415 /* 46807 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
18416 /* 46809 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
18417 /* 46813 */ GIR_RootConstrainSelectedInstOperands,
18418 /* 46814 */ // GIR_Coverage, 2212,
18419 /* 46814 */ GIR_EraseRootFromParent_Done,
18420 /* 46815 */ // Label 1186: @46815
18421 /* 46815 */ GIM_Try, /*On fail goto*//*Label 1187*/ GIMT_Encode4(46838), // Rule ID 1048 //
18422 /* 46820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
18423 /* 46823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
18424 /* 46827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
18425 /* 46831 */ // (sra:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SRA_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
18426 /* 46831 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRA_B),
18427 /* 46836 */ GIR_RootConstrainSelectedInstOperands,
18428 /* 46837 */ // GIR_Coverage, 1048,
18429 /* 46837 */ GIR_Done,
18430 /* 46838 */ // Label 1187: @46838
18431 /* 46838 */ GIM_Reject,
18432 /* 46839 */ // Label 1184: @46839
18433 /* 46839 */ GIM_Reject,
18434 /* 46840 */ // Label 1163: @46840
18435 /* 46840 */ GIM_Reject,
18436 /* 46841 */ // Label 40: @46841
18437 /* 46841 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1190*/ GIMT_Encode4(47128),
18438 /* 46852 */ /*GILLT_s32*//*Label 1188*/ GIMT_Encode4(46860),
18439 /* 46856 */ /*GILLT_s64*//*Label 1189*/ GIMT_Encode4(46987),
18440 /* 46860 */ // Label 1188: @46860
18441 /* 46860 */ GIM_Try, /*On fail goto*//*Label 1191*/ GIMT_Encode4(46986),
18442 /* 46865 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18443 /* 46868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
18444 /* 46871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18445 /* 46875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18446 /* 46879 */ GIM_Try, /*On fail goto*//*Label 1192*/ GIMT_Encode4(46913), // Rule ID 67 //
18447 /* 46884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips),
18448 /* 46887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
18449 /* 46891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18450 /* 46895 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
18451 /* 46899 */ // MIs[1] Operand 1
18452 /* 46899 */ // No operand predicates
18453 /* 46899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18454 /* 46901 */ // (rotr:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (ROTR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
18455 /* 46901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ROTR),
18456 /* 46904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18457 /* 46906 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
18458 /* 46908 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
18459 /* 46911 */ GIR_RootConstrainSelectedInstOperands,
18460 /* 46912 */ // GIR_Coverage, 67,
18461 /* 46912 */ GIR_EraseRootFromParent_Done,
18462 /* 46913 */ // Label 1192: @46913
18463 /* 46913 */ GIM_Try, /*On fail goto*//*Label 1193*/ GIMT_Encode4(46947), // Rule ID 1156 //
18464 /* 46918 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
18465 /* 46921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
18466 /* 46925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18467 /* 46929 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
18468 /* 46933 */ // MIs[1] Operand 1
18469 /* 46933 */ // No operand predicates
18470 /* 46933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18471 /* 46935 */ // (rotr:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (ROTR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
18472 /* 46935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ROTR_MM),
18473 /* 46938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18474 /* 46940 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
18475 /* 46942 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
18476 /* 46945 */ GIR_RootConstrainSelectedInstOperands,
18477 /* 46946 */ // GIR_Coverage, 1156,
18478 /* 46946 */ GIR_EraseRootFromParent_Done,
18479 /* 46947 */ // Label 1193: @46947
18480 /* 46947 */ GIM_Try, /*On fail goto*//*Label 1194*/ GIMT_Encode4(46966), // Rule ID 68 //
18481 /* 46952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips),
18482 /* 46955 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18483 /* 46959 */ // (rotr:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (ROTRV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
18484 /* 46959 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ROTRV),
18485 /* 46964 */ GIR_RootConstrainSelectedInstOperands,
18486 /* 46965 */ // GIR_Coverage, 68,
18487 /* 46965 */ GIR_Done,
18488 /* 46966 */ // Label 1194: @46966
18489 /* 46966 */ GIM_Try, /*On fail goto*//*Label 1195*/ GIMT_Encode4(46985), // Rule ID 1157 //
18490 /* 46971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
18491 /* 46974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18492 /* 46978 */ // (rotr:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (ROTRV_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
18493 /* 46978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ROTRV_MM),
18494 /* 46983 */ GIR_RootConstrainSelectedInstOperands,
18495 /* 46984 */ // GIR_Coverage, 1157,
18496 /* 46984 */ GIR_Done,
18497 /* 46985 */ // Label 1195: @46985
18498 /* 46985 */ GIM_Reject,
18499 /* 46986 */ // Label 1191: @46986
18500 /* 46986 */ GIM_Reject,
18501 /* 46987 */ // Label 1189: @46987
18502 /* 46987 */ GIM_Try, /*On fail goto*//*Label 1196*/ GIMT_Encode4(47127),
18503 /* 46992 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18504 /* 46995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
18505 /* 46998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18506 /* 47002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18507 /* 47006 */ GIM_Try, /*On fail goto*//*Label 1197*/ GIMT_Encode4(47040), // Rule ID 297 //
18508 /* 47011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r2_HasStdEnc_NotInMicroMips),
18509 /* 47014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
18510 /* 47018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
18511 /* 47022 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt6),
18512 /* 47026 */ // MIs[1] Operand 1
18513 /* 47026 */ // No operand predicates
18514 /* 47026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18515 /* 47028 */ // (rotr:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt6>>:$shamt) => (DROTR:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$shamt)
18516 /* 47028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DROTR),
18517 /* 47031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18518 /* 47033 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
18519 /* 47035 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
18520 /* 47038 */ GIR_RootConstrainSelectedInstOperands,
18521 /* 47039 */ // GIR_Coverage, 297,
18522 /* 47039 */ GIR_EraseRootFromParent_Done,
18523 /* 47040 */ // Label 1197: @47040
18524 /* 47040 */ GIM_Try, /*On fail goto*//*Label 1198*/ GIMT_Encode4(47107), // Rule ID 1682 //
18525 /* 47045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
18526 /* 47048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
18527 /* 47052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
18528 /* 47056 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
18529 /* 47060 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18530 /* 47065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18531 /* 47067 */ // (rotr:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$rs)) => (DROTRV:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$rs, sub_32:{ *:[i32] }))
18532 /* 47067 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18533 /* 47070 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18534 /* 47074 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18535 /* 47079 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // rs
18536 /* 47085 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
18537 /* 47090 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
18538 /* 47095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DROTRV),
18539 /* 47098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18540 /* 47100 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
18541 /* 47102 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18542 /* 47105 */ GIR_RootConstrainSelectedInstOperands,
18543 /* 47106 */ // GIR_Coverage, 1682,
18544 /* 47106 */ GIR_EraseRootFromParent_Done,
18545 /* 47107 */ // Label 1198: @47107
18546 /* 47107 */ GIM_Try, /*On fail goto*//*Label 1199*/ GIMT_Encode4(47126), // Rule ID 298 //
18547 /* 47112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r2_HasStdEnc_NotInMicroMips),
18548 /* 47115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18549 /* 47119 */ // (rotr:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (DROTRV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
18550 /* 47119 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DROTRV),
18551 /* 47124 */ GIR_RootConstrainSelectedInstOperands,
18552 /* 47125 */ // GIR_Coverage, 298,
18553 /* 47125 */ GIR_Done,
18554 /* 47126 */ // Label 1199: @47126
18555 /* 47126 */ GIM_Reject,
18556 /* 47127 */ // Label 1196: @47127
18557 /* 47127 */ GIM_Reject,
18558 /* 47128 */ // Label 1190: @47128
18559 /* 47128 */ GIM_Reject,
18560 /* 47129 */ // Label 41: @47129
18561 /* 47129 */ GIM_Try, /*On fail goto*//*Label 1200*/ GIMT_Encode4(49659),
18562 /* 47134 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
18563 /* 47137 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1203*/ GIMT_Encode4(47322),
18564 /* 47148 */ /*GILLT_s32*//*Label 1201*/ GIMT_Encode4(47156),
18565 /* 47152 */ /*GILLT_s64*//*Label 1202*/ GIMT_Encode4(47239),
18566 /* 47156 */ // Label 1201: @47156
18567 /* 47156 */ GIM_Try, /*On fail goto*//*Label 1204*/ GIMT_Encode4(47238),
18568 /* 47161 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
18569 /* 47164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18570 /* 47168 */ GIM_Try, /*On fail goto*//*Label 1205*/ GIMT_Encode4(47201), // Rule ID 1490 //
18571 /* 47173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18572 /* 47176 */ // MIs[0] Operand 1
18573 /* 47176 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18574 /* 47181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18575 /* 47185 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18576 /* 47189 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) => (SLTiu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 1:{ *:[i32] })
18577 /* 47189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu),
18578 /* 47192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18579 /* 47194 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18580 /* 47196 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18581 /* 47199 */ GIR_RootConstrainSelectedInstOperands,
18582 /* 47200 */ // GIR_Coverage, 1490,
18583 /* 47200 */ GIR_EraseRootFromParent_Done,
18584 /* 47201 */ // Label 1205: @47201
18585 /* 47201 */ GIM_Try, /*On fail goto*//*Label 1206*/ GIMT_Encode4(47237), // Rule ID 1491 //
18586 /* 47206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18587 /* 47209 */ // MIs[0] Operand 1
18588 /* 47209 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
18589 /* 47214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18590 /* 47218 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18591 /* 47222 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }) => (SLTu:{ *:[i32] } ZERO:{ *:[i32] }, GPR32:{ *:[i32] }:$lhs)
18592 /* 47222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu),
18593 /* 47225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18594 /* 47227 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
18595 /* 47233 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18596 /* 47235 */ GIR_RootConstrainSelectedInstOperands,
18597 /* 47236 */ // GIR_Coverage, 1491,
18598 /* 47236 */ GIR_EraseRootFromParent_Done,
18599 /* 47237 */ // Label 1206: @47237
18600 /* 47237 */ GIM_Reject,
18601 /* 47238 */ // Label 1204: @47238
18602 /* 47238 */ GIM_Reject,
18603 /* 47239 */ // Label 1202: @47239
18604 /* 47239 */ GIM_Try, /*On fail goto*//*Label 1207*/ GIMT_Encode4(47321),
18605 /* 47244 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
18606 /* 47247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18607 /* 47251 */ GIM_Try, /*On fail goto*//*Label 1208*/ GIMT_Encode4(47284), // Rule ID 1664 //
18608 /* 47256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
18609 /* 47259 */ // MIs[0] Operand 1
18610 /* 47259 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18611 /* 47264 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18612 /* 47268 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18613 /* 47272 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETEQ:{ *:[Other] }) => (SLTiu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 1:{ *:[i64] })
18614 /* 47272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu64),
18615 /* 47275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18616 /* 47277 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18617 /* 47279 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18618 /* 47282 */ GIR_RootConstrainSelectedInstOperands,
18619 /* 47283 */ // GIR_Coverage, 1664,
18620 /* 47283 */ GIR_EraseRootFromParent_Done,
18621 /* 47284 */ // Label 1208: @47284
18622 /* 47284 */ GIM_Try, /*On fail goto*//*Label 1209*/ GIMT_Encode4(47320), // Rule ID 1665 //
18623 /* 47289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
18624 /* 47292 */ // MIs[0] Operand 1
18625 /* 47292 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
18626 /* 47297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18627 /* 47301 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18628 /* 47305 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETNE:{ *:[Other] }) => (SLTu64:{ *:[i32] } ZERO_64:{ *:[i64] }, GPR64:{ *:[i64] }:$lhs)
18629 /* 47305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
18630 /* 47308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18631 /* 47310 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
18632 /* 47316 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18633 /* 47318 */ GIR_RootConstrainSelectedInstOperands,
18634 /* 47319 */ // GIR_Coverage, 1665,
18635 /* 47319 */ GIR_EraseRootFromParent_Done,
18636 /* 47320 */ // Label 1209: @47320
18637 /* 47320 */ GIM_Reject,
18638 /* 47321 */ // Label 1207: @47321
18639 /* 47321 */ GIM_Reject,
18640 /* 47322 */ // Label 1203: @47322
18641 /* 47322 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1212*/ GIMT_Encode4(47705),
18642 /* 47333 */ /*GILLT_s32*//*Label 1210*/ GIMT_Encode4(47341),
18643 /* 47337 */ /*GILLT_s64*//*Label 1211*/ GIMT_Encode4(47627),
18644 /* 47341 */ // Label 1210: @47341
18645 /* 47341 */ GIM_Try, /*On fail goto*//*Label 1213*/ GIMT_Encode4(47626),
18646 /* 47346 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
18647 /* 47349 */ GIM_Try, /*On fail goto*//*Label 1214*/ GIMT_Encode4(47386), // Rule ID 2014 //
18648 /* 47354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
18649 /* 47357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18650 /* 47361 */ // MIs[0] Operand 1
18651 /* 47361 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18652 /* 47366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18653 /* 47370 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18654 /* 47374 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) => (SltiuCCRxImmX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, 1:{ *:[i32] })
18655 /* 47374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltiuCCRxImmX16),
18656 /* 47377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
18657 /* 47379 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18658 /* 47381 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18659 /* 47384 */ GIR_RootConstrainSelectedInstOperands,
18660 /* 47385 */ // GIR_Coverage, 2014,
18661 /* 47385 */ GIR_EraseRootFromParent_Done,
18662 /* 47386 */ // Label 1214: @47386
18663 /* 47386 */ GIM_Try, /*On fail goto*//*Label 1215*/ GIMT_Encode4(47476), // Rule ID 2016 //
18664 /* 47391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
18665 /* 47394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18666 /* 47398 */ // MIs[0] Operand 1
18667 /* 47398 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
18668 /* 47403 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18669 /* 47407 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/3, GIMT_Encode8(18446744073709518847u),
18670 /* 47418 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, -32769:{ *:[i32] }, SETGT:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltiCCRxImmX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, -32768:{ *:[i32] }), (LiRxImmX16:{ *:[i32] } 1:{ *:[i32] }))
18671 /* 47418 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
18672 /* 47421 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
18673 /* 47425 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18674 /* 47430 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
18675 /* 47433 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18676 /* 47435 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18677 /* 47438 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltiCCRxImmX16),
18678 /* 47442 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18679 /* 47447 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18680 /* 47451 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(18446744073709518848u),
18681 /* 47461 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18682 /* 47463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
18683 /* 47466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
18684 /* 47468 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18685 /* 47471 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
18686 /* 47474 */ GIR_RootConstrainSelectedInstOperands,
18687 /* 47475 */ // GIR_Coverage, 2016,
18688 /* 47475 */ GIR_EraseRootFromParent_Done,
18689 /* 47476 */ // Label 1215: @47476
18690 /* 47476 */ GIM_Try, /*On fail goto*//*Label 1216*/ GIMT_Encode4(47513), // Rule ID 2335 //
18691 /* 47481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
18692 /* 47484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18693 /* 47488 */ // MIs[0] Operand 1
18694 /* 47488 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18695 /* 47493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18696 /* 47497 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18697 /* 47501 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) => (SLTiu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 1:{ *:[i32] })
18698 /* 47501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu_MM),
18699 /* 47504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18700 /* 47506 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18701 /* 47508 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18702 /* 47511 */ GIR_RootConstrainSelectedInstOperands,
18703 /* 47512 */ // GIR_Coverage, 2335,
18704 /* 47512 */ GIR_EraseRootFromParent_Done,
18705 /* 47513 */ // Label 1216: @47513
18706 /* 47513 */ GIM_Try, /*On fail goto*//*Label 1217*/ GIMT_Encode4(47553), // Rule ID 2336 //
18707 /* 47518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
18708 /* 47521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18709 /* 47525 */ // MIs[0] Operand 1
18710 /* 47525 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
18711 /* 47530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18712 /* 47534 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18713 /* 47538 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }) => (SLTu_MM:{ *:[i32] } ZERO:{ *:[i32] }, GPR32:{ *:[i32] }:$lhs)
18714 /* 47538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
18715 /* 47541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18716 /* 47543 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
18717 /* 47549 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18718 /* 47551 */ GIR_RootConstrainSelectedInstOperands,
18719 /* 47552 */ // GIR_Coverage, 2336,
18720 /* 47552 */ GIR_EraseRootFromParent_Done,
18721 /* 47553 */ // Label 1217: @47553
18722 /* 47553 */ GIM_Try, /*On fail goto*//*Label 1218*/ GIMT_Encode4(47589), // Rule ID 49 //
18723 /* 47558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18724 /* 47561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18725 /* 47565 */ // MIs[0] Operand 1
18726 /* 47565 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
18727 /* 47570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18728 /* 47574 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18729 /* 47578 */ // (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETLT:{ *:[Other] }) => (SLT:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
18730 /* 47578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT),
18731 /* 47581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18732 /* 47583 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
18733 /* 47585 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
18734 /* 47587 */ GIR_RootConstrainSelectedInstOperands,
18735 /* 47588 */ // GIR_Coverage, 49,
18736 /* 47588 */ GIR_EraseRootFromParent_Done,
18737 /* 47589 */ // Label 1218: @47589
18738 /* 47589 */ GIM_Try, /*On fail goto*//*Label 1219*/ GIMT_Encode4(47625), // Rule ID 50 //
18739 /* 47594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18740 /* 47597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18741 /* 47601 */ // MIs[0] Operand 1
18742 /* 47601 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
18743 /* 47606 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18744 /* 47610 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18745 /* 47614 */ // (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETULT:{ *:[Other] }) => (SLTu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
18746 /* 47614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu),
18747 /* 47617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18748 /* 47619 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
18749 /* 47621 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
18750 /* 47623 */ GIR_RootConstrainSelectedInstOperands,
18751 /* 47624 */ // GIR_Coverage, 50,
18752 /* 47624 */ GIR_EraseRootFromParent_Done,
18753 /* 47625 */ // Label 1219: @47625
18754 /* 47625 */ GIM_Reject,
18755 /* 47626 */ // Label 1213: @47626
18756 /* 47626 */ GIM_Reject,
18757 /* 47627 */ // Label 1211: @47627
18758 /* 47627 */ GIM_Try, /*On fail goto*//*Label 1220*/ GIMT_Encode4(47704),
18759 /* 47632 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
18760 /* 47635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18761 /* 47639 */ GIM_Try, /*On fail goto*//*Label 1221*/ GIMT_Encode4(47671), // Rule ID 279 //
18762 /* 47644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
18763 /* 47647 */ // MIs[0] Operand 1
18764 /* 47647 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
18765 /* 47652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18766 /* 47656 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18767 /* 47660 */ // (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETLT:{ *:[Other] }) => (SLT64:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
18768 /* 47660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT64),
18769 /* 47663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18770 /* 47665 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
18771 /* 47667 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
18772 /* 47669 */ GIR_RootConstrainSelectedInstOperands,
18773 /* 47670 */ // GIR_Coverage, 279,
18774 /* 47670 */ GIR_EraseRootFromParent_Done,
18775 /* 47671 */ // Label 1221: @47671
18776 /* 47671 */ GIM_Try, /*On fail goto*//*Label 1222*/ GIMT_Encode4(47703), // Rule ID 280 //
18777 /* 47676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
18778 /* 47679 */ // MIs[0] Operand 1
18779 /* 47679 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
18780 /* 47684 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18781 /* 47688 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18782 /* 47692 */ // (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETULT:{ *:[Other] }) => (SLTu64:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
18783 /* 47692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
18784 /* 47695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18785 /* 47697 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
18786 /* 47699 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
18787 /* 47701 */ GIR_RootConstrainSelectedInstOperands,
18788 /* 47702 */ // GIR_Coverage, 280,
18789 /* 47702 */ GIR_EraseRootFromParent_Done,
18790 /* 47703 */ // Label 1222: @47703
18791 /* 47703 */ GIM_Reject,
18792 /* 47704 */ // Label 1220: @47704
18793 /* 47704 */ GIM_Reject,
18794 /* 47705 */ // Label 1212: @47705
18795 /* 47705 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1225*/ GIMT_Encode4(48622),
18796 /* 47716 */ /*GILLT_s32*//*Label 1223*/ GIMT_Encode4(47724),
18797 /* 47720 */ /*GILLT_s64*//*Label 1224*/ GIMT_Encode4(48205),
18798 /* 47724 */ // Label 1223: @47724
18799 /* 47724 */ GIM_Try, /*On fail goto*//*Label 1226*/ GIMT_Encode4(48204),
18800 /* 47729 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
18801 /* 47732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18802 /* 47736 */ GIM_Try, /*On fail goto*//*Label 1227*/ GIMT_Encode4(47768), // Rule ID 1150 //
18803 /* 47741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
18804 /* 47744 */ // MIs[0] Operand 1
18805 /* 47744 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
18806 /* 47749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18807 /* 47753 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18808 /* 47757 */ // (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETLT:{ *:[Other] }) => (SLT_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
18809 /* 47757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
18810 /* 47760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18811 /* 47762 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
18812 /* 47764 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
18813 /* 47766 */ GIR_RootConstrainSelectedInstOperands,
18814 /* 47767 */ // GIR_Coverage, 1150,
18815 /* 47767 */ GIR_EraseRootFromParent_Done,
18816 /* 47768 */ // Label 1227: @47768
18817 /* 47768 */ GIM_Try, /*On fail goto*//*Label 1228*/ GIMT_Encode4(47800), // Rule ID 1151 //
18818 /* 47773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
18819 /* 47776 */ // MIs[0] Operand 1
18820 /* 47776 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
18821 /* 47781 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18822 /* 47785 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18823 /* 47789 */ // (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETULT:{ *:[Other] }) => (SLTu_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
18824 /* 47789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
18825 /* 47792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18826 /* 47794 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
18827 /* 47796 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
18828 /* 47798 */ GIR_RootConstrainSelectedInstOperands,
18829 /* 47799 */ // GIR_Coverage, 1151,
18830 /* 47799 */ GIR_EraseRootFromParent_Done,
18831 /* 47800 */ // Label 1228: @47800
18832 /* 47800 */ GIM_Try, /*On fail goto*//*Label 1229*/ GIMT_Encode4(47856), // Rule ID 1492 //
18833 /* 47805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18834 /* 47808 */ // MIs[0] Operand 1
18835 /* 47808 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18836 /* 47813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18837 /* 47817 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18838 /* 47821 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) => (SLTiu:{ *:[i32] } (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
18839 /* 47821 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18840 /* 47824 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
18841 /* 47828 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18842 /* 47833 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18843 /* 47837 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18844 /* 47841 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18845 /* 47843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu),
18846 /* 47846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18847 /* 47848 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18848 /* 47851 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18849 /* 47854 */ GIR_RootConstrainSelectedInstOperands,
18850 /* 47855 */ // GIR_Coverage, 1492,
18851 /* 47855 */ GIR_EraseRootFromParent_Done,
18852 /* 47856 */ // Label 1229: @47856
18853 /* 47856 */ GIM_Try, /*On fail goto*//*Label 1230*/ GIMT_Encode4(47915), // Rule ID 1493 //
18854 /* 47861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18855 /* 47864 */ // MIs[0] Operand 1
18856 /* 47864 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
18857 /* 47869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18858 /* 47873 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18859 /* 47877 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) => (SLTu:{ *:[i32] } ZERO:{ *:[i32] }, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs))
18860 /* 47877 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18861 /* 47880 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
18862 /* 47884 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18863 /* 47889 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18864 /* 47893 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18865 /* 47897 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18866 /* 47899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu),
18867 /* 47902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18868 /* 47904 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
18869 /* 47910 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18870 /* 47913 */ GIR_RootConstrainSelectedInstOperands,
18871 /* 47914 */ // GIR_Coverage, 1493,
18872 /* 47914 */ GIR_EraseRootFromParent_Done,
18873 /* 47915 */ // Label 1230: @47915
18874 /* 47915 */ GIM_Try, /*On fail goto*//*Label 1231*/ GIMT_Encode4(47971), // Rule ID 1494 //
18875 /* 47920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18876 /* 47923 */ // MIs[0] Operand 1
18877 /* 47923 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
18878 /* 47928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18879 /* 47932 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18880 /* 47936 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), 1:{ *:[i32] })
18881 /* 47936 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18882 /* 47939 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
18883 /* 47943 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18884 /* 47948 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18885 /* 47952 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18886 /* 47956 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18887 /* 47958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18888 /* 47961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18889 /* 47963 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18890 /* 47966 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18891 /* 47969 */ GIR_RootConstrainSelectedInstOperands,
18892 /* 47970 */ // GIR_Coverage, 1494,
18893 /* 47970 */ GIR_EraseRootFromParent_Done,
18894 /* 47971 */ // Label 1231: @47971
18895 /* 47971 */ GIM_Try, /*On fail goto*//*Label 1232*/ GIMT_Encode4(48027), // Rule ID 1495 //
18896 /* 47976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18897 /* 47979 */ // MIs[0] Operand 1
18898 /* 47979 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
18899 /* 47984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18900 /* 47988 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18901 /* 47992 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), 1:{ *:[i32] })
18902 /* 47992 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18903 /* 47995 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
18904 /* 47999 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18905 /* 48004 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18906 /* 48008 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18907 /* 48012 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18908 /* 48014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18909 /* 48017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18910 /* 48019 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18911 /* 48022 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18912 /* 48025 */ GIR_RootConstrainSelectedInstOperands,
18913 /* 48026 */ // GIR_Coverage, 1495,
18914 /* 48026 */ GIR_EraseRootFromParent_Done,
18915 /* 48027 */ // Label 1232: @48027
18916 /* 48027 */ GIM_Try, /*On fail goto*//*Label 1233*/ GIMT_Encode4(48059), // Rule ID 1496 //
18917 /* 48032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18918 /* 48035 */ // MIs[0] Operand 1
18919 /* 48035 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
18920 /* 48040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18921 /* 48044 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18922 /* 48048 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) => (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs)
18923 /* 48048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT),
18924 /* 48051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18925 /* 48053 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
18926 /* 48055 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18927 /* 48057 */ GIR_RootConstrainSelectedInstOperands,
18928 /* 48058 */ // GIR_Coverage, 1496,
18929 /* 48058 */ GIR_EraseRootFromParent_Done,
18930 /* 48059 */ // Label 1233: @48059
18931 /* 48059 */ GIM_Try, /*On fail goto*//*Label 1234*/ GIMT_Encode4(48091), // Rule ID 1497 //
18932 /* 48064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18933 /* 48067 */ // MIs[0] Operand 1
18934 /* 48067 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
18935 /* 48072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18936 /* 48076 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18937 /* 48080 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) => (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs)
18938 /* 48080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu),
18939 /* 48083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18940 /* 48085 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
18941 /* 48087 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18942 /* 48089 */ GIR_RootConstrainSelectedInstOperands,
18943 /* 48090 */ // GIR_Coverage, 1497,
18944 /* 48090 */ GIR_EraseRootFromParent_Done,
18945 /* 48091 */ // Label 1234: @48091
18946 /* 48091 */ GIM_Try, /*On fail goto*//*Label 1235*/ GIMT_Encode4(48147), // Rule ID 1498 //
18947 /* 48096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18948 /* 48099 */ // MIs[0] Operand 1
18949 /* 48099 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
18950 /* 48104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18951 /* 48108 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18952 /* 48112 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
18953 /* 48112 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18954 /* 48115 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
18955 /* 48119 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18956 /* 48124 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18957 /* 48128 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18958 /* 48132 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18959 /* 48134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18960 /* 48137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18961 /* 48139 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18962 /* 48142 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18963 /* 48145 */ GIR_RootConstrainSelectedInstOperands,
18964 /* 48146 */ // GIR_Coverage, 1498,
18965 /* 48146 */ GIR_EraseRootFromParent_Done,
18966 /* 48147 */ // Label 1235: @48147
18967 /* 48147 */ GIM_Try, /*On fail goto*//*Label 1236*/ GIMT_Encode4(48203), // Rule ID 1499 //
18968 /* 48152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
18969 /* 48155 */ // MIs[0] Operand 1
18970 /* 48155 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
18971 /* 48160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18972 /* 48164 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18973 /* 48168 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
18974 /* 48168 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18975 /* 48171 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
18976 /* 48175 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18977 /* 48180 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18978 /* 48184 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18979 /* 48188 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18980 /* 48190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18981 /* 48193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18982 /* 48195 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18983 /* 48198 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18984 /* 48201 */ GIR_RootConstrainSelectedInstOperands,
18985 /* 48202 */ // GIR_Coverage, 1499,
18986 /* 48202 */ GIR_EraseRootFromParent_Done,
18987 /* 48203 */ // Label 1236: @48203
18988 /* 48203 */ GIM_Reject,
18989 /* 48204 */ // Label 1226: @48204
18990 /* 48204 */ GIM_Reject,
18991 /* 48205 */ // Label 1224: @48205
18992 /* 48205 */ GIM_Try, /*On fail goto*//*Label 1237*/ GIMT_Encode4(48621),
18993 /* 48210 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
18994 /* 48213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18995 /* 48217 */ GIM_Try, /*On fail goto*//*Label 1238*/ GIMT_Encode4(48273), // Rule ID 1666 //
18996 /* 48222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
18997 /* 48225 */ // MIs[0] Operand 1
18998 /* 48225 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18999 /* 48230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19000 /* 48234 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19001 /* 48238 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }) => (SLTiu64:{ *:[i32] } (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), 1:{ *:[i64] })
19002 /* 48238 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
19003 /* 48241 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
19004 /* 48245 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19005 /* 48250 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19006 /* 48254 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19007 /* 48258 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19008 /* 48260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu64),
19009 /* 48263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19010 /* 48265 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19011 /* 48268 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19012 /* 48271 */ GIR_RootConstrainSelectedInstOperands,
19013 /* 48272 */ // GIR_Coverage, 1666,
19014 /* 48272 */ GIR_EraseRootFromParent_Done,
19015 /* 48273 */ // Label 1238: @48273
19016 /* 48273 */ GIM_Try, /*On fail goto*//*Label 1239*/ GIMT_Encode4(48332), // Rule ID 1667 //
19017 /* 48278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
19018 /* 48281 */ // MIs[0] Operand 1
19019 /* 48281 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19020 /* 48286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19021 /* 48290 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19022 /* 48294 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }) => (SLTu64:{ *:[i32] } ZERO_64:{ *:[i64] }, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs))
19023 /* 48294 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
19024 /* 48297 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
19025 /* 48301 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19026 /* 48306 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19027 /* 48310 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19028 /* 48314 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19029 /* 48316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
19030 /* 48319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19031 /* 48321 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
19032 /* 48327 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19033 /* 48330 */ GIR_RootConstrainSelectedInstOperands,
19034 /* 48331 */ // GIR_Coverage, 1667,
19035 /* 48331 */ GIR_EraseRootFromParent_Done,
19036 /* 48332 */ // Label 1239: @48332
19037 /* 48332 */ GIM_Try, /*On fail goto*//*Label 1240*/ GIMT_Encode4(48388), // Rule ID 1668 //
19038 /* 48337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
19039 /* 48340 */ // MIs[0] Operand 1
19040 /* 48340 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
19041 /* 48345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19042 /* 48349 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19043 /* 48353 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), 1:{ *:[i32] })
19044 /* 48353 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19045 /* 48356 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
19046 /* 48360 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19047 /* 48365 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19048 /* 48369 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19049 /* 48373 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19050 /* 48375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
19051 /* 48378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19052 /* 48380 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19053 /* 48383 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19054 /* 48386 */ GIR_RootConstrainSelectedInstOperands,
19055 /* 48387 */ // GIR_Coverage, 1668,
19056 /* 48387 */ GIR_EraseRootFromParent_Done,
19057 /* 48388 */ // Label 1240: @48388
19058 /* 48388 */ GIM_Try, /*On fail goto*//*Label 1241*/ GIMT_Encode4(48444), // Rule ID 1669 //
19059 /* 48393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
19060 /* 48396 */ // MIs[0] Operand 1
19061 /* 48396 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
19062 /* 48401 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19063 /* 48405 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19064 /* 48409 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), 1:{ *:[i32] })
19065 /* 48409 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19066 /* 48412 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
19067 /* 48416 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19068 /* 48421 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19069 /* 48425 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19070 /* 48429 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19071 /* 48431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
19072 /* 48434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19073 /* 48436 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19074 /* 48439 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19075 /* 48442 */ GIR_RootConstrainSelectedInstOperands,
19076 /* 48443 */ // GIR_Coverage, 1669,
19077 /* 48443 */ GIR_EraseRootFromParent_Done,
19078 /* 48444 */ // Label 1241: @48444
19079 /* 48444 */ GIM_Try, /*On fail goto*//*Label 1242*/ GIMT_Encode4(48476), // Rule ID 1670 //
19080 /* 48449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
19081 /* 48452 */ // MIs[0] Operand 1
19082 /* 48452 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
19083 /* 48457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19084 /* 48461 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19085 /* 48465 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGT:{ *:[Other] }) => (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs)
19086 /* 48465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT64),
19087 /* 48468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19088 /* 48470 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
19089 /* 48472 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
19090 /* 48474 */ GIR_RootConstrainSelectedInstOperands,
19091 /* 48475 */ // GIR_Coverage, 1670,
19092 /* 48475 */ GIR_EraseRootFromParent_Done,
19093 /* 48476 */ // Label 1242: @48476
19094 /* 48476 */ GIM_Try, /*On fail goto*//*Label 1243*/ GIMT_Encode4(48508), // Rule ID 1671 //
19095 /* 48481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
19096 /* 48484 */ // MIs[0] Operand 1
19097 /* 48484 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
19098 /* 48489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19099 /* 48493 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19100 /* 48497 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGT:{ *:[Other] }) => (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs)
19101 /* 48497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
19102 /* 48500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19103 /* 48502 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
19104 /* 48504 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
19105 /* 48506 */ GIR_RootConstrainSelectedInstOperands,
19106 /* 48507 */ // GIR_Coverage, 1671,
19107 /* 48507 */ GIR_EraseRootFromParent_Done,
19108 /* 48508 */ // Label 1243: @48508
19109 /* 48508 */ GIM_Try, /*On fail goto*//*Label 1244*/ GIMT_Encode4(48564), // Rule ID 1672 //
19110 /* 48513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
19111 /* 48516 */ // MIs[0] Operand 1
19112 /* 48516 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
19113 /* 48521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19114 /* 48525 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19115 /* 48529 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), 1:{ *:[i32] })
19116 /* 48529 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19117 /* 48532 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
19118 /* 48536 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19119 /* 48541 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19120 /* 48545 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19121 /* 48549 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19122 /* 48551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
19123 /* 48554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19124 /* 48556 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19125 /* 48559 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19126 /* 48562 */ GIR_RootConstrainSelectedInstOperands,
19127 /* 48563 */ // GIR_Coverage, 1672,
19128 /* 48563 */ GIR_EraseRootFromParent_Done,
19129 /* 48564 */ // Label 1244: @48564
19130 /* 48564 */ GIM_Try, /*On fail goto*//*Label 1245*/ GIMT_Encode4(48620), // Rule ID 1673 //
19131 /* 48569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips),
19132 /* 48572 */ // MIs[0] Operand 1
19133 /* 48572 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
19134 /* 48577 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19135 /* 48581 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19136 /* 48585 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), 1:{ *:[i32] })
19137 /* 48585 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19138 /* 48588 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
19139 /* 48592 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19140 /* 48597 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19141 /* 48601 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19142 /* 48605 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19143 /* 48607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
19144 /* 48610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19145 /* 48612 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19146 /* 48615 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19147 /* 48618 */ GIR_RootConstrainSelectedInstOperands,
19148 /* 48619 */ // GIR_Coverage, 1673,
19149 /* 48619 */ GIR_EraseRootFromParent_Done,
19150 /* 48620 */ // Label 1245: @48620
19151 /* 48620 */ GIM_Reject,
19152 /* 48621 */ // Label 1237: @48621
19153 /* 48621 */ GIM_Reject,
19154 /* 48622 */ // Label 1225: @48622
19155 /* 48622 */ GIM_Try, /*On fail goto*//*Label 1246*/ GIMT_Encode4(49658),
19156 /* 48627 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
19157 /* 48630 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
19158 /* 48633 */ GIM_Try, /*On fail goto*//*Label 1247*/ GIMT_Encode4(48693), // Rule ID 2013 //
19159 /* 48638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19160 /* 48641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19161 /* 48645 */ // MIs[0] Operand 1
19162 /* 48645 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19163 /* 48650 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19164 /* 48654 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19165 /* 48658 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) => (SltiuCCRxImmX16:{ *:[i32] } (XorRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs), 1:{ *:[i32] })
19166 /* 48658 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19167 /* 48661 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
19168 /* 48665 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19169 /* 48670 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19170 /* 48674 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19171 /* 48678 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19172 /* 48680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltiuCCRxImmX16),
19173 /* 48683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
19174 /* 48685 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19175 /* 48688 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19176 /* 48691 */ GIR_RootConstrainSelectedInstOperands,
19177 /* 48692 */ // GIR_Coverage, 2013,
19178 /* 48692 */ GIR_EraseRootFromParent_Done,
19179 /* 48693 */ // Label 1247: @48693
19180 /* 48693 */ GIM_Try, /*On fail goto*//*Label 1248*/ GIMT_Encode4(48770), // Rule ID 2015 //
19181 /* 48698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19182 /* 48701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19183 /* 48705 */ // MIs[0] Operand 1
19184 /* 48705 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
19185 /* 48710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19186 /* 48714 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19187 /* 48718 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs), (LiRxImmX16:{ *:[i32] } 1:{ *:[i32] }))
19188 /* 48718 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
19189 /* 48721 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
19190 /* 48725 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19191 /* 48730 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
19192 /* 48733 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19193 /* 48735 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19194 /* 48738 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltCCRxRy16),
19195 /* 48742 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19196 /* 48747 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19197 /* 48751 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19198 /* 48755 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19199 /* 48757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
19200 /* 48760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
19201 /* 48762 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19202 /* 48765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
19203 /* 48768 */ GIR_RootConstrainSelectedInstOperands,
19204 /* 48769 */ // GIR_Coverage, 2015,
19205 /* 48769 */ GIR_EraseRootFromParent_Done,
19206 /* 48770 */ // Label 1248: @48770
19207 /* 48770 */ GIM_Try, /*On fail goto*//*Label 1249*/ GIMT_Encode4(48806), // Rule ID 2017 //
19208 /* 48775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19209 /* 48778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19210 /* 48782 */ // MIs[0] Operand 1
19211 /* 48782 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
19212 /* 48787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19213 /* 48791 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19214 /* 48795 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) => (SltCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rhs, CPU16Regs:{ *:[i32] }:$lhs)
19215 /* 48795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltCCRxRy16),
19216 /* 48798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
19217 /* 48800 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
19218 /* 48802 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
19219 /* 48804 */ GIR_RootConstrainSelectedInstOperands,
19220 /* 48805 */ // GIR_Coverage, 2017,
19221 /* 48805 */ GIR_EraseRootFromParent_Done,
19222 /* 48806 */ // Label 1249: @48806
19223 /* 48806 */ GIM_Try, /*On fail goto*//*Label 1250*/ GIMT_Encode4(48883), // Rule ID 2018 //
19224 /* 48811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19225 /* 48814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19226 /* 48818 */ // MIs[0] Operand 1
19227 /* 48818 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
19228 /* 48823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19229 /* 48827 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19230 /* 48831 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rhs, CPU16Regs:{ *:[i32] }:$lhs), (LiRxImm16:{ *:[i32] } 1:{ *:[i32] }))
19231 /* 48831 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
19232 /* 48834 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImm16),
19233 /* 48838 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19234 /* 48843 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
19235 /* 48846 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19236 /* 48848 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19237 /* 48851 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltCCRxRy16),
19238 /* 48855 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19239 /* 48860 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19240 /* 48864 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19241 /* 48868 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19242 /* 48870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
19243 /* 48873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
19244 /* 48875 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19245 /* 48878 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
19246 /* 48881 */ GIR_RootConstrainSelectedInstOperands,
19247 /* 48882 */ // GIR_Coverage, 2018,
19248 /* 48882 */ GIR_EraseRootFromParent_Done,
19249 /* 48883 */ // Label 1250: @48883
19250 /* 48883 */ GIM_Try, /*On fail goto*//*Label 1251*/ GIMT_Encode4(48919), // Rule ID 2019 //
19251 /* 48888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19252 /* 48891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19253 /* 48895 */ // MIs[0] Operand 1
19254 /* 48895 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
19255 /* 48900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19256 /* 48904 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19257 /* 48908 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETLT:{ *:[Other] }) => (SltCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry)
19258 /* 48908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltCCRxRy16),
19259 /* 48911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
19260 /* 48913 */ GIR_RootToRootCopy, /*OpIdx*/2, // rx
19261 /* 48915 */ GIR_RootToRootCopy, /*OpIdx*/3, // ry
19262 /* 48917 */ GIR_RootConstrainSelectedInstOperands,
19263 /* 48918 */ // GIR_Coverage, 2019,
19264 /* 48918 */ GIR_EraseRootFromParent_Done,
19265 /* 48919 */ // Label 1251: @48919
19266 /* 48919 */ GIM_Try, /*On fail goto*//*Label 1252*/ GIMT_Encode4(48996), // Rule ID 2021 //
19267 /* 48924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19268 /* 48927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19269 /* 48931 */ // MIs[0] Operand 1
19270 /* 48931 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19271 /* 48936 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19272 /* 48940 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19273 /* 48944 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) => (SltuCCRxRy16:{ *:[i32] } (LiRxImmX16:{ *:[i32] } 0:{ *:[i32] }), (XorRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs))
19274 /* 48944 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
19275 /* 48947 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
19276 /* 48951 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19277 /* 48956 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19278 /* 48960 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19279 /* 48964 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19280 /* 48966 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19281 /* 48969 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
19282 /* 48973 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19283 /* 48978 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19284 /* 48981 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19285 /* 48983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
19286 /* 48986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
19287 /* 48988 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19288 /* 48991 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
19289 /* 48994 */ GIR_RootConstrainSelectedInstOperands,
19290 /* 48995 */ // GIR_Coverage, 2021,
19291 /* 48995 */ GIR_EraseRootFromParent_Done,
19292 /* 48996 */ // Label 1252: @48996
19293 /* 48996 */ GIM_Try, /*On fail goto*//*Label 1253*/ GIMT_Encode4(49073), // Rule ID 2022 //
19294 /* 49001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19295 /* 49004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19296 /* 49008 */ // MIs[0] Operand 1
19297 /* 49008 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
19298 /* 49013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19299 /* 49017 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19300 /* 49021 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltuCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs), (LiRxImmX16:{ *:[i32] } 1:{ *:[i32] }))
19301 /* 49021 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
19302 /* 49024 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
19303 /* 49028 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19304 /* 49033 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
19305 /* 49036 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19306 /* 49038 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19307 /* 49041 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
19308 /* 49045 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19309 /* 49050 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19310 /* 49054 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19311 /* 49058 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19312 /* 49060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
19313 /* 49063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
19314 /* 49065 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19315 /* 49068 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
19316 /* 49071 */ GIR_RootConstrainSelectedInstOperands,
19317 /* 49072 */ // GIR_Coverage, 2022,
19318 /* 49072 */ GIR_EraseRootFromParent_Done,
19319 /* 49073 */ // Label 1253: @49073
19320 /* 49073 */ GIM_Try, /*On fail goto*//*Label 1254*/ GIMT_Encode4(49109), // Rule ID 2023 //
19321 /* 49078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19322 /* 49081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19323 /* 49085 */ // MIs[0] Operand 1
19324 /* 49085 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
19325 /* 49090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19326 /* 49094 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19327 /* 49098 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) => (SltuCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rhs, CPU16Regs:{ *:[i32] }:$lhs)
19328 /* 49098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
19329 /* 49101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
19330 /* 49103 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
19331 /* 49105 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
19332 /* 49107 */ GIR_RootConstrainSelectedInstOperands,
19333 /* 49108 */ // GIR_Coverage, 2023,
19334 /* 49108 */ GIR_EraseRootFromParent_Done,
19335 /* 49109 */ // Label 1254: @49109
19336 /* 49109 */ GIM_Try, /*On fail goto*//*Label 1255*/ GIMT_Encode4(49186), // Rule ID 2024 //
19337 /* 49114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19338 /* 49117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19339 /* 49121 */ // MIs[0] Operand 1
19340 /* 49121 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
19341 /* 49126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19342 /* 49130 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19343 /* 49134 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltuCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rhs, CPU16Regs:{ *:[i32] }:$lhs), (LiRxImmX16:{ *:[i32] } 1:{ *:[i32] }))
19344 /* 49134 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
19345 /* 49137 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
19346 /* 49141 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19347 /* 49146 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
19348 /* 49149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19349 /* 49151 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19350 /* 49154 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
19351 /* 49158 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19352 /* 49163 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19353 /* 49167 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19354 /* 49171 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19355 /* 49173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
19356 /* 49176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
19357 /* 49178 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19358 /* 49181 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
19359 /* 49184 */ GIR_RootConstrainSelectedInstOperands,
19360 /* 49185 */ // GIR_Coverage, 2024,
19361 /* 49185 */ GIR_EraseRootFromParent_Done,
19362 /* 49186 */ // Label 1255: @49186
19363 /* 49186 */ GIM_Try, /*On fail goto*//*Label 1256*/ GIMT_Encode4(49222), // Rule ID 2025 //
19364 /* 49191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
19365 /* 49194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19366 /* 49198 */ // MIs[0] Operand 1
19367 /* 49198 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
19368 /* 49203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19369 /* 49207 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19370 /* 49211 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETULT:{ *:[Other] }) => (SltuCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry)
19371 /* 49211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
19372 /* 49214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
19373 /* 49216 */ GIR_RootToRootCopy, /*OpIdx*/2, // rx
19374 /* 49218 */ GIR_RootToRootCopy, /*OpIdx*/3, // ry
19375 /* 49220 */ GIR_RootConstrainSelectedInstOperands,
19376 /* 49221 */ // GIR_Coverage, 2025,
19377 /* 49221 */ GIR_EraseRootFromParent_Done,
19378 /* 49222 */ // Label 1256: @49222
19379 /* 49222 */ GIM_Try, /*On fail goto*//*Label 1257*/ GIMT_Encode4(49282), // Rule ID 2337 //
19380 /* 49227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
19381 /* 49230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19382 /* 49234 */ // MIs[0] Operand 1
19383 /* 49234 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19384 /* 49239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19385 /* 49243 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19386 /* 49247 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) => (SLTiu_MM:{ *:[i32] } (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
19387 /* 49247 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19388 /* 49250 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
19389 /* 49254 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19390 /* 49259 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19391 /* 49263 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19392 /* 49267 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19393 /* 49269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu_MM),
19394 /* 49272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19395 /* 49274 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19396 /* 49277 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19397 /* 49280 */ GIR_RootConstrainSelectedInstOperands,
19398 /* 49281 */ // GIR_Coverage, 2337,
19399 /* 49281 */ GIR_EraseRootFromParent_Done,
19400 /* 49282 */ // Label 1257: @49282
19401 /* 49282 */ GIM_Try, /*On fail goto*//*Label 1258*/ GIMT_Encode4(49345), // Rule ID 2338 //
19402 /* 49287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
19403 /* 49290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19404 /* 49294 */ // MIs[0] Operand 1
19405 /* 49294 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19406 /* 49299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19407 /* 49303 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19408 /* 49307 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) => (SLTu_MM:{ *:[i32] } ZERO:{ *:[i32] }, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs))
19409 /* 49307 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19410 /* 49310 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
19411 /* 49314 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19412 /* 49319 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19413 /* 49323 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19414 /* 49327 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19415 /* 49329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
19416 /* 49332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19417 /* 49334 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
19418 /* 49340 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19419 /* 49343 */ GIR_RootConstrainSelectedInstOperands,
19420 /* 49344 */ // GIR_Coverage, 2338,
19421 /* 49344 */ GIR_EraseRootFromParent_Done,
19422 /* 49345 */ // Label 1258: @49345
19423 /* 49345 */ GIM_Try, /*On fail goto*//*Label 1259*/ GIMT_Encode4(49405), // Rule ID 2339 //
19424 /* 49350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
19425 /* 49353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19426 /* 49357 */ // MIs[0] Operand 1
19427 /* 49357 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
19428 /* 49362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19429 /* 49366 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19430 /* 49370 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) => (XORi_MM:{ *:[i32] } (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), 1:{ *:[i32] })
19431 /* 49370 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19432 /* 49373 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
19433 /* 49377 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19434 /* 49382 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19435 /* 49386 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19436 /* 49390 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19437 /* 49392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi_MM),
19438 /* 49395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19439 /* 49397 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19440 /* 49400 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19441 /* 49403 */ GIR_RootConstrainSelectedInstOperands,
19442 /* 49404 */ // GIR_Coverage, 2339,
19443 /* 49404 */ GIR_EraseRootFromParent_Done,
19444 /* 49405 */ // Label 1259: @49405
19445 /* 49405 */ GIM_Try, /*On fail goto*//*Label 1260*/ GIMT_Encode4(49465), // Rule ID 2340 //
19446 /* 49410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
19447 /* 49413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19448 /* 49417 */ // MIs[0] Operand 1
19449 /* 49417 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
19450 /* 49422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19451 /* 49426 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19452 /* 49430 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) => (XORi_MM:{ *:[i32] } (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), 1:{ *:[i32] })
19453 /* 49430 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19454 /* 49433 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
19455 /* 49437 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19456 /* 49442 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19457 /* 49446 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19458 /* 49450 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19459 /* 49452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi_MM),
19460 /* 49455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19461 /* 49457 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19462 /* 49460 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19463 /* 49463 */ GIR_RootConstrainSelectedInstOperands,
19464 /* 49464 */ // GIR_Coverage, 2340,
19465 /* 49464 */ GIR_EraseRootFromParent_Done,
19466 /* 49465 */ // Label 1260: @49465
19467 /* 49465 */ GIM_Try, /*On fail goto*//*Label 1261*/ GIMT_Encode4(49501), // Rule ID 2341 //
19468 /* 49470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
19469 /* 49473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19470 /* 49477 */ // MIs[0] Operand 1
19471 /* 49477 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
19472 /* 49482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19473 /* 49486 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19474 /* 49490 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) => (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs)
19475 /* 49490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
19476 /* 49493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19477 /* 49495 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
19478 /* 49497 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
19479 /* 49499 */ GIR_RootConstrainSelectedInstOperands,
19480 /* 49500 */ // GIR_Coverage, 2341,
19481 /* 49500 */ GIR_EraseRootFromParent_Done,
19482 /* 49501 */ // Label 1261: @49501
19483 /* 49501 */ GIM_Try, /*On fail goto*//*Label 1262*/ GIMT_Encode4(49537), // Rule ID 2342 //
19484 /* 49506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
19485 /* 49509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19486 /* 49513 */ // MIs[0] Operand 1
19487 /* 49513 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
19488 /* 49518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19489 /* 49522 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19490 /* 49526 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) => (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs)
19491 /* 49526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
19492 /* 49529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19493 /* 49531 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
19494 /* 49533 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
19495 /* 49535 */ GIR_RootConstrainSelectedInstOperands,
19496 /* 49536 */ // GIR_Coverage, 2342,
19497 /* 49536 */ GIR_EraseRootFromParent_Done,
19498 /* 49537 */ // Label 1262: @49537
19499 /* 49537 */ GIM_Try, /*On fail goto*//*Label 1263*/ GIMT_Encode4(49597), // Rule ID 2343 //
19500 /* 49542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
19501 /* 49545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19502 /* 49549 */ // MIs[0] Operand 1
19503 /* 49549 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
19504 /* 49554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19505 /* 49558 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19506 /* 49562 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) => (XORi_MM:{ *:[i32] } (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
19507 /* 49562 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19508 /* 49565 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
19509 /* 49569 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19510 /* 49574 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19511 /* 49578 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19512 /* 49582 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19513 /* 49584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi_MM),
19514 /* 49587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19515 /* 49589 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19516 /* 49592 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19517 /* 49595 */ GIR_RootConstrainSelectedInstOperands,
19518 /* 49596 */ // GIR_Coverage, 2343,
19519 /* 49596 */ GIR_EraseRootFromParent_Done,
19520 /* 49597 */ // Label 1263: @49597
19521 /* 49597 */ GIM_Try, /*On fail goto*//*Label 1264*/ GIMT_Encode4(49657), // Rule ID 2344 //
19522 /* 49602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
19523 /* 49605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19524 /* 49609 */ // MIs[0] Operand 1
19525 /* 49609 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
19526 /* 49614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19527 /* 49618 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19528 /* 49622 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) => (XORi_MM:{ *:[i32] } (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
19529 /* 49622 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19530 /* 49625 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
19531 /* 49629 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19532 /* 49634 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
19533 /* 49638 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
19534 /* 49642 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19535 /* 49644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi_MM),
19536 /* 49647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
19537 /* 49649 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19538 /* 49652 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
19539 /* 49655 */ GIR_RootConstrainSelectedInstOperands,
19540 /* 49656 */ // GIR_Coverage, 2344,
19541 /* 49656 */ GIR_EraseRootFromParent_Done,
19542 /* 49657 */ // Label 1264: @49657
19543 /* 49657 */ GIM_Reject,
19544 /* 49658 */ // Label 1246: @49658
19545 /* 49658 */ GIM_Reject,
19546 /* 49659 */ // Label 1200: @49659
19547 /* 49659 */ GIM_Reject,
19548 /* 49660 */ // Label 42: @49660
19549 /* 49660 */ GIM_Try, /*On fail goto*//*Label 1265*/ GIMT_Encode4(50659),
19550 /* 49665 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
19551 /* 49668 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1268*/ GIMT_Encode4(50163),
19552 /* 49679 */ /*GILLT_s32*//*Label 1266*/ GIMT_Encode4(49687),
19553 /* 49683 */ /*GILLT_s64*//*Label 1267*/ GIMT_Encode4(49925),
19554 /* 49687 */ // Label 1266: @49687
19555 /* 49687 */ GIM_Try, /*On fail goto*//*Label 1269*/ GIMT_Encode4(49924),
19556 /* 49692 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
19557 /* 49695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32CCRegClassID),
19558 /* 49699 */ GIM_Try, /*On fail goto*//*Label 1270*/ GIMT_Encode4(49731), // Rule ID 387 //
19559 /* 49704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19560 /* 49707 */ // MIs[0] Operand 1
19561 /* 49707 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UNO),
19562 /* 49712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19563 /* 49716 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19564 /* 49720 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETUO:{ *:[Other] }) => (CMP_UN_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19565 /* 49720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UN_S),
19566 /* 49723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19567 /* 49725 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19568 /* 49727 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19569 /* 49729 */ GIR_RootConstrainSelectedInstOperands,
19570 /* 49730 */ // GIR_Coverage, 387,
19571 /* 49730 */ GIR_EraseRootFromParent_Done,
19572 /* 49731 */ // Label 1270: @49731
19573 /* 49731 */ GIM_Try, /*On fail goto*//*Label 1271*/ GIMT_Encode4(49763), // Rule ID 388 //
19574 /* 49736 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19575 /* 49739 */ // MIs[0] Operand 1
19576 /* 49739 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OEQ),
19577 /* 49744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19578 /* 49748 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19579 /* 49752 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOEQ:{ *:[Other] }) => (CMP_EQ_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19580 /* 49752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_S),
19581 /* 49755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19582 /* 49757 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19583 /* 49759 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19584 /* 49761 */ GIR_RootConstrainSelectedInstOperands,
19585 /* 49762 */ // GIR_Coverage, 388,
19586 /* 49762 */ GIR_EraseRootFromParent_Done,
19587 /* 49763 */ // Label 1271: @49763
19588 /* 49763 */ GIM_Try, /*On fail goto*//*Label 1272*/ GIMT_Encode4(49795), // Rule ID 389 //
19589 /* 49768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19590 /* 49771 */ // MIs[0] Operand 1
19591 /* 49771 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UEQ),
19592 /* 49776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19593 /* 49780 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19594 /* 49784 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETUEQ:{ *:[Other] }) => (CMP_UEQ_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19595 /* 49784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UEQ_S),
19596 /* 49787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19597 /* 49789 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19598 /* 49791 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19599 /* 49793 */ GIR_RootConstrainSelectedInstOperands,
19600 /* 49794 */ // GIR_Coverage, 389,
19601 /* 49794 */ GIR_EraseRootFromParent_Done,
19602 /* 49795 */ // Label 1272: @49795
19603 /* 49795 */ GIM_Try, /*On fail goto*//*Label 1273*/ GIMT_Encode4(49827), // Rule ID 390 //
19604 /* 49800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19605 /* 49803 */ // MIs[0] Operand 1
19606 /* 49803 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLT),
19607 /* 49808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19608 /* 49812 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19609 /* 49816 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOLT:{ *:[Other] }) => (CMP_LT_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19610 /* 49816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_S),
19611 /* 49819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19612 /* 49821 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19613 /* 49823 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19614 /* 49825 */ GIR_RootConstrainSelectedInstOperands,
19615 /* 49826 */ // GIR_Coverage, 390,
19616 /* 49826 */ GIR_EraseRootFromParent_Done,
19617 /* 49827 */ // Label 1273: @49827
19618 /* 49827 */ GIM_Try, /*On fail goto*//*Label 1274*/ GIMT_Encode4(49859), // Rule ID 391 //
19619 /* 49832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19620 /* 49835 */ // MIs[0] Operand 1
19621 /* 49835 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULT),
19622 /* 49840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19623 /* 49844 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19624 /* 49848 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETULT:{ *:[Other] }) => (CMP_ULT_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19625 /* 49848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULT_S),
19626 /* 49851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19627 /* 49853 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19628 /* 49855 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19629 /* 49857 */ GIR_RootConstrainSelectedInstOperands,
19630 /* 49858 */ // GIR_Coverage, 391,
19631 /* 49858 */ GIR_EraseRootFromParent_Done,
19632 /* 49859 */ // Label 1274: @49859
19633 /* 49859 */ GIM_Try, /*On fail goto*//*Label 1275*/ GIMT_Encode4(49891), // Rule ID 392 //
19634 /* 49864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19635 /* 49867 */ // MIs[0] Operand 1
19636 /* 49867 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLE),
19637 /* 49872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19638 /* 49876 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19639 /* 49880 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOLE:{ *:[Other] }) => (CMP_LE_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19640 /* 49880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_S),
19641 /* 49883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19642 /* 49885 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19643 /* 49887 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19644 /* 49889 */ GIR_RootConstrainSelectedInstOperands,
19645 /* 49890 */ // GIR_Coverage, 392,
19646 /* 49890 */ GIR_EraseRootFromParent_Done,
19647 /* 49891 */ // Label 1275: @49891
19648 /* 49891 */ GIM_Try, /*On fail goto*//*Label 1276*/ GIMT_Encode4(49923), // Rule ID 393 //
19649 /* 49896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19650 /* 49899 */ // MIs[0] Operand 1
19651 /* 49899 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULE),
19652 /* 49904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19653 /* 49908 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19654 /* 49912 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETULE:{ *:[Other] }) => (CMP_ULE_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19655 /* 49912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULE_S),
19656 /* 49915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19657 /* 49917 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19658 /* 49919 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19659 /* 49921 */ GIR_RootConstrainSelectedInstOperands,
19660 /* 49922 */ // GIR_Coverage, 393,
19661 /* 49922 */ GIR_EraseRootFromParent_Done,
19662 /* 49923 */ // Label 1276: @49923
19663 /* 49923 */ GIM_Reject,
19664 /* 49924 */ // Label 1269: @49924
19665 /* 49924 */ GIM_Reject,
19666 /* 49925 */ // Label 1267: @49925
19667 /* 49925 */ GIM_Try, /*On fail goto*//*Label 1277*/ GIMT_Encode4(50162),
19668 /* 49930 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
19669 /* 49933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64CCRegClassID),
19670 /* 49937 */ GIM_Try, /*On fail goto*//*Label 1278*/ GIMT_Encode4(49969), // Rule ID 394 //
19671 /* 49942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19672 /* 49945 */ // MIs[0] Operand 1
19673 /* 49945 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UNO),
19674 /* 49950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19675 /* 49954 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19676 /* 49958 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETUO:{ *:[Other] }) => (CMP_UN_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19677 /* 49958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UN_D),
19678 /* 49961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19679 /* 49963 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19680 /* 49965 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19681 /* 49967 */ GIR_RootConstrainSelectedInstOperands,
19682 /* 49968 */ // GIR_Coverage, 394,
19683 /* 49968 */ GIR_EraseRootFromParent_Done,
19684 /* 49969 */ // Label 1278: @49969
19685 /* 49969 */ GIM_Try, /*On fail goto*//*Label 1279*/ GIMT_Encode4(50001), // Rule ID 395 //
19686 /* 49974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19687 /* 49977 */ // MIs[0] Operand 1
19688 /* 49977 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OEQ),
19689 /* 49982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19690 /* 49986 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19691 /* 49990 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOEQ:{ *:[Other] }) => (CMP_EQ_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19692 /* 49990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_D),
19693 /* 49993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19694 /* 49995 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19695 /* 49997 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19696 /* 49999 */ GIR_RootConstrainSelectedInstOperands,
19697 /* 50000 */ // GIR_Coverage, 395,
19698 /* 50000 */ GIR_EraseRootFromParent_Done,
19699 /* 50001 */ // Label 1279: @50001
19700 /* 50001 */ GIM_Try, /*On fail goto*//*Label 1280*/ GIMT_Encode4(50033), // Rule ID 396 //
19701 /* 50006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19702 /* 50009 */ // MIs[0] Operand 1
19703 /* 50009 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UEQ),
19704 /* 50014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19705 /* 50018 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19706 /* 50022 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETUEQ:{ *:[Other] }) => (CMP_UEQ_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19707 /* 50022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UEQ_D),
19708 /* 50025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19709 /* 50027 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19710 /* 50029 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19711 /* 50031 */ GIR_RootConstrainSelectedInstOperands,
19712 /* 50032 */ // GIR_Coverage, 396,
19713 /* 50032 */ GIR_EraseRootFromParent_Done,
19714 /* 50033 */ // Label 1280: @50033
19715 /* 50033 */ GIM_Try, /*On fail goto*//*Label 1281*/ GIMT_Encode4(50065), // Rule ID 397 //
19716 /* 50038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19717 /* 50041 */ // MIs[0] Operand 1
19718 /* 50041 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLT),
19719 /* 50046 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19720 /* 50050 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19721 /* 50054 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOLT:{ *:[Other] }) => (CMP_LT_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19722 /* 50054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_D),
19723 /* 50057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19724 /* 50059 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19725 /* 50061 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19726 /* 50063 */ GIR_RootConstrainSelectedInstOperands,
19727 /* 50064 */ // GIR_Coverage, 397,
19728 /* 50064 */ GIR_EraseRootFromParent_Done,
19729 /* 50065 */ // Label 1281: @50065
19730 /* 50065 */ GIM_Try, /*On fail goto*//*Label 1282*/ GIMT_Encode4(50097), // Rule ID 398 //
19731 /* 50070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19732 /* 50073 */ // MIs[0] Operand 1
19733 /* 50073 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULT),
19734 /* 50078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19735 /* 50082 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19736 /* 50086 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETULT:{ *:[Other] }) => (CMP_ULT_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19737 /* 50086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULT_D),
19738 /* 50089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19739 /* 50091 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19740 /* 50093 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19741 /* 50095 */ GIR_RootConstrainSelectedInstOperands,
19742 /* 50096 */ // GIR_Coverage, 398,
19743 /* 50096 */ GIR_EraseRootFromParent_Done,
19744 /* 50097 */ // Label 1282: @50097
19745 /* 50097 */ GIM_Try, /*On fail goto*//*Label 1283*/ GIMT_Encode4(50129), // Rule ID 399 //
19746 /* 50102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19747 /* 50105 */ // MIs[0] Operand 1
19748 /* 50105 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLE),
19749 /* 50110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19750 /* 50114 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19751 /* 50118 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOLE:{ *:[Other] }) => (CMP_LE_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19752 /* 50118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_D),
19753 /* 50121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19754 /* 50123 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19755 /* 50125 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19756 /* 50127 */ GIR_RootConstrainSelectedInstOperands,
19757 /* 50128 */ // GIR_Coverage, 399,
19758 /* 50128 */ GIR_EraseRootFromParent_Done,
19759 /* 50129 */ // Label 1283: @50129
19760 /* 50129 */ GIM_Try, /*On fail goto*//*Label 1284*/ GIMT_Encode4(50161), // Rule ID 400 //
19761 /* 50134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
19762 /* 50137 */ // MIs[0] Operand 1
19763 /* 50137 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULE),
19764 /* 50142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19765 /* 50146 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19766 /* 50150 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETULE:{ *:[Other] }) => (CMP_ULE_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19767 /* 50150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULE_D),
19768 /* 50153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19769 /* 50155 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19770 /* 50157 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19771 /* 50159 */ GIR_RootConstrainSelectedInstOperands,
19772 /* 50160 */ // GIR_Coverage, 400,
19773 /* 50160 */ GIR_EraseRootFromParent_Done,
19774 /* 50161 */ // Label 1284: @50161
19775 /* 50161 */ GIM_Reject,
19776 /* 50162 */ // Label 1277: @50162
19777 /* 50162 */ GIM_Reject,
19778 /* 50163 */ // Label 1268: @50163
19779 /* 50163 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1287*/ GIMT_Encode4(50658),
19780 /* 50174 */ /*GILLT_s32*//*Label 1285*/ GIMT_Encode4(50182),
19781 /* 50178 */ /*GILLT_s64*//*Label 1286*/ GIMT_Encode4(50420),
19782 /* 50182 */ // Label 1285: @50182
19783 /* 50182 */ GIM_Try, /*On fail goto*//*Label 1288*/ GIMT_Encode4(50419),
19784 /* 50187 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
19785 /* 50190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32CCRegClassID),
19786 /* 50194 */ GIM_Try, /*On fail goto*//*Label 1289*/ GIMT_Encode4(50226), // Rule ID 1268 //
19787 /* 50199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19788 /* 50202 */ // MIs[0] Operand 1
19789 /* 50202 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UNO),
19790 /* 50207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19791 /* 50211 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19792 /* 50215 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETUO:{ *:[Other] }) => (CMP_UN_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19793 /* 50215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UN_S_MMR6),
19794 /* 50218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19795 /* 50220 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19796 /* 50222 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19797 /* 50224 */ GIR_RootConstrainSelectedInstOperands,
19798 /* 50225 */ // GIR_Coverage, 1268,
19799 /* 50225 */ GIR_EraseRootFromParent_Done,
19800 /* 50226 */ // Label 1289: @50226
19801 /* 50226 */ GIM_Try, /*On fail goto*//*Label 1290*/ GIMT_Encode4(50258), // Rule ID 1269 //
19802 /* 50231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19803 /* 50234 */ // MIs[0] Operand 1
19804 /* 50234 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OEQ),
19805 /* 50239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19806 /* 50243 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19807 /* 50247 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOEQ:{ *:[Other] }) => (CMP_EQ_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19808 /* 50247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_S_MMR6),
19809 /* 50250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19810 /* 50252 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19811 /* 50254 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19812 /* 50256 */ GIR_RootConstrainSelectedInstOperands,
19813 /* 50257 */ // GIR_Coverage, 1269,
19814 /* 50257 */ GIR_EraseRootFromParent_Done,
19815 /* 50258 */ // Label 1290: @50258
19816 /* 50258 */ GIM_Try, /*On fail goto*//*Label 1291*/ GIMT_Encode4(50290), // Rule ID 1270 //
19817 /* 50263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19818 /* 50266 */ // MIs[0] Operand 1
19819 /* 50266 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UEQ),
19820 /* 50271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19821 /* 50275 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19822 /* 50279 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETUEQ:{ *:[Other] }) => (CMP_UEQ_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19823 /* 50279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UEQ_S_MMR6),
19824 /* 50282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19825 /* 50284 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19826 /* 50286 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19827 /* 50288 */ GIR_RootConstrainSelectedInstOperands,
19828 /* 50289 */ // GIR_Coverage, 1270,
19829 /* 50289 */ GIR_EraseRootFromParent_Done,
19830 /* 50290 */ // Label 1291: @50290
19831 /* 50290 */ GIM_Try, /*On fail goto*//*Label 1292*/ GIMT_Encode4(50322), // Rule ID 1271 //
19832 /* 50295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19833 /* 50298 */ // MIs[0] Operand 1
19834 /* 50298 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLT),
19835 /* 50303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19836 /* 50307 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19837 /* 50311 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOLT:{ *:[Other] }) => (CMP_LT_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19838 /* 50311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_S_MMR6),
19839 /* 50314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19840 /* 50316 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19841 /* 50318 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19842 /* 50320 */ GIR_RootConstrainSelectedInstOperands,
19843 /* 50321 */ // GIR_Coverage, 1271,
19844 /* 50321 */ GIR_EraseRootFromParent_Done,
19845 /* 50322 */ // Label 1292: @50322
19846 /* 50322 */ GIM_Try, /*On fail goto*//*Label 1293*/ GIMT_Encode4(50354), // Rule ID 1272 //
19847 /* 50327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19848 /* 50330 */ // MIs[0] Operand 1
19849 /* 50330 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULT),
19850 /* 50335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19851 /* 50339 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19852 /* 50343 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETULT:{ *:[Other] }) => (CMP_ULT_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19853 /* 50343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULT_S_MMR6),
19854 /* 50346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19855 /* 50348 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19856 /* 50350 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19857 /* 50352 */ GIR_RootConstrainSelectedInstOperands,
19858 /* 50353 */ // GIR_Coverage, 1272,
19859 /* 50353 */ GIR_EraseRootFromParent_Done,
19860 /* 50354 */ // Label 1293: @50354
19861 /* 50354 */ GIM_Try, /*On fail goto*//*Label 1294*/ GIMT_Encode4(50386), // Rule ID 1273 //
19862 /* 50359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19863 /* 50362 */ // MIs[0] Operand 1
19864 /* 50362 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLE),
19865 /* 50367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19866 /* 50371 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19867 /* 50375 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOLE:{ *:[Other] }) => (CMP_LE_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19868 /* 50375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_S_MMR6),
19869 /* 50378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19870 /* 50380 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19871 /* 50382 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19872 /* 50384 */ GIR_RootConstrainSelectedInstOperands,
19873 /* 50385 */ // GIR_Coverage, 1273,
19874 /* 50385 */ GIR_EraseRootFromParent_Done,
19875 /* 50386 */ // Label 1294: @50386
19876 /* 50386 */ GIM_Try, /*On fail goto*//*Label 1295*/ GIMT_Encode4(50418), // Rule ID 1274 //
19877 /* 50391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19878 /* 50394 */ // MIs[0] Operand 1
19879 /* 50394 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULE),
19880 /* 50399 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19881 /* 50403 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19882 /* 50407 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETULE:{ *:[Other] }) => (CMP_ULE_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
19883 /* 50407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULE_S_MMR6),
19884 /* 50410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19885 /* 50412 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19886 /* 50414 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19887 /* 50416 */ GIR_RootConstrainSelectedInstOperands,
19888 /* 50417 */ // GIR_Coverage, 1274,
19889 /* 50417 */ GIR_EraseRootFromParent_Done,
19890 /* 50418 */ // Label 1295: @50418
19891 /* 50418 */ GIM_Reject,
19892 /* 50419 */ // Label 1288: @50419
19893 /* 50419 */ GIM_Reject,
19894 /* 50420 */ // Label 1286: @50420
19895 /* 50420 */ GIM_Try, /*On fail goto*//*Label 1296*/ GIMT_Encode4(50657),
19896 /* 50425 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
19897 /* 50428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64CCRegClassID),
19898 /* 50432 */ GIM_Try, /*On fail goto*//*Label 1297*/ GIMT_Encode4(50464), // Rule ID 1275 //
19899 /* 50437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19900 /* 50440 */ // MIs[0] Operand 1
19901 /* 50440 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UNO),
19902 /* 50445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19903 /* 50449 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19904 /* 50453 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETUO:{ *:[Other] }) => (CMP_UN_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19905 /* 50453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UN_D_MMR6),
19906 /* 50456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19907 /* 50458 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19908 /* 50460 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19909 /* 50462 */ GIR_RootConstrainSelectedInstOperands,
19910 /* 50463 */ // GIR_Coverage, 1275,
19911 /* 50463 */ GIR_EraseRootFromParent_Done,
19912 /* 50464 */ // Label 1297: @50464
19913 /* 50464 */ GIM_Try, /*On fail goto*//*Label 1298*/ GIMT_Encode4(50496), // Rule ID 1276 //
19914 /* 50469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19915 /* 50472 */ // MIs[0] Operand 1
19916 /* 50472 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OEQ),
19917 /* 50477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19918 /* 50481 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19919 /* 50485 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOEQ:{ *:[Other] }) => (CMP_EQ_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19920 /* 50485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_D_MMR6),
19921 /* 50488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19922 /* 50490 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19923 /* 50492 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19924 /* 50494 */ GIR_RootConstrainSelectedInstOperands,
19925 /* 50495 */ // GIR_Coverage, 1276,
19926 /* 50495 */ GIR_EraseRootFromParent_Done,
19927 /* 50496 */ // Label 1298: @50496
19928 /* 50496 */ GIM_Try, /*On fail goto*//*Label 1299*/ GIMT_Encode4(50528), // Rule ID 1277 //
19929 /* 50501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19930 /* 50504 */ // MIs[0] Operand 1
19931 /* 50504 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UEQ),
19932 /* 50509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19933 /* 50513 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19934 /* 50517 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETUEQ:{ *:[Other] }) => (CMP_UEQ_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19935 /* 50517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UEQ_D_MMR6),
19936 /* 50520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19937 /* 50522 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19938 /* 50524 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19939 /* 50526 */ GIR_RootConstrainSelectedInstOperands,
19940 /* 50527 */ // GIR_Coverage, 1277,
19941 /* 50527 */ GIR_EraseRootFromParent_Done,
19942 /* 50528 */ // Label 1299: @50528
19943 /* 50528 */ GIM_Try, /*On fail goto*//*Label 1300*/ GIMT_Encode4(50560), // Rule ID 1278 //
19944 /* 50533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19945 /* 50536 */ // MIs[0] Operand 1
19946 /* 50536 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLT),
19947 /* 50541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19948 /* 50545 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19949 /* 50549 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOLT:{ *:[Other] }) => (CMP_LT_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19950 /* 50549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_D_MMR6),
19951 /* 50552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19952 /* 50554 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19953 /* 50556 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19954 /* 50558 */ GIR_RootConstrainSelectedInstOperands,
19955 /* 50559 */ // GIR_Coverage, 1278,
19956 /* 50559 */ GIR_EraseRootFromParent_Done,
19957 /* 50560 */ // Label 1300: @50560
19958 /* 50560 */ GIM_Try, /*On fail goto*//*Label 1301*/ GIMT_Encode4(50592), // Rule ID 1279 //
19959 /* 50565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19960 /* 50568 */ // MIs[0] Operand 1
19961 /* 50568 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULT),
19962 /* 50573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19963 /* 50577 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19964 /* 50581 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETULT:{ *:[Other] }) => (CMP_ULT_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19965 /* 50581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULT_D_MMR6),
19966 /* 50584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19967 /* 50586 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19968 /* 50588 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19969 /* 50590 */ GIR_RootConstrainSelectedInstOperands,
19970 /* 50591 */ // GIR_Coverage, 1279,
19971 /* 50591 */ GIR_EraseRootFromParent_Done,
19972 /* 50592 */ // Label 1301: @50592
19973 /* 50592 */ GIM_Try, /*On fail goto*//*Label 1302*/ GIMT_Encode4(50624), // Rule ID 1280 //
19974 /* 50597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19975 /* 50600 */ // MIs[0] Operand 1
19976 /* 50600 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLE),
19977 /* 50605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19978 /* 50609 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19979 /* 50613 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOLE:{ *:[Other] }) => (CMP_LE_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19980 /* 50613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_D_MMR6),
19981 /* 50616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19982 /* 50618 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19983 /* 50620 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19984 /* 50622 */ GIR_RootConstrainSelectedInstOperands,
19985 /* 50623 */ // GIR_Coverage, 1280,
19986 /* 50623 */ GIR_EraseRootFromParent_Done,
19987 /* 50624 */ // Label 1302: @50624
19988 /* 50624 */ GIM_Try, /*On fail goto*//*Label 1303*/ GIMT_Encode4(50656), // Rule ID 1281 //
19989 /* 50629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
19990 /* 50632 */ // MIs[0] Operand 1
19991 /* 50632 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULE),
19992 /* 50637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19993 /* 50641 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
19994 /* 50645 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETULE:{ *:[Other] }) => (CMP_ULE_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
19995 /* 50645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULE_D_MMR6),
19996 /* 50648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19997 /* 50650 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
19998 /* 50652 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19999 /* 50654 */ GIR_RootConstrainSelectedInstOperands,
20000 /* 50655 */ // GIR_Coverage, 1281,
20001 /* 50655 */ GIR_EraseRootFromParent_Done,
20002 /* 50656 */ // Label 1303: @50656
20003 /* 50656 */ GIM_Reject,
20004 /* 50657 */ // Label 1296: @50657
20005 /* 50657 */ GIM_Reject,
20006 /* 50658 */ // Label 1287: @50658
20007 /* 50658 */ GIM_Reject,
20008 /* 50659 */ // Label 1265: @50659
20009 /* 50659 */ GIM_Reject,
20010 /* 50660 */ // Label 43: @50660
20011 /* 50660 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 1310*/ GIMT_Encode4(62789),
20012 /* 50671 */ /*GILLT_s32*//*Label 1304*/ GIMT_Encode4(50703),
20013 /* 50675 */ /*GILLT_s64*//*Label 1305*/ GIMT_Encode4(57380), GIMT_Encode4(0),
20014 /* 50683 */ /*GILLT_v2s64*//*Label 1306*/ GIMT_Encode4(62499), GIMT_Encode4(0),
20015 /* 50691 */ /*GILLT_v4s32*//*Label 1307*/ GIMT_Encode4(62573),
20016 /* 50695 */ /*GILLT_v8s16*//*Label 1308*/ GIMT_Encode4(62647),
20017 /* 50699 */ /*GILLT_v16s8*//*Label 1309*/ GIMT_Encode4(62694),
20018 /* 50703 */ // Label 1304: @50703
20019 /* 50703 */ GIM_Try, /*On fail goto*//*Label 1311*/ GIMT_Encode4(50779), // Rule ID 1746 //
20020 /* 50708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20021 /* 50711 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20022 /* 50714 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20023 /* 50717 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20024 /* 50720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20025 /* 50724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20026 /* 50728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20027 /* 50732 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20028 /* 50736 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20029 /* 50740 */ // MIs[1] Operand 1
20030 /* 50740 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20031 /* 50745 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20032 /* 50750 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20033 /* 50754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20034 /* 50758 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20035 /* 50762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20036 /* 50764 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$F)
20037 /* 50764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20038 /* 50767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20039 /* 50769 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20040 /* 50771 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20041 /* 50775 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20042 /* 50777 */ GIR_RootConstrainSelectedInstOperands,
20043 /* 50778 */ // GIR_Coverage, 1746,
20044 /* 50778 */ GIR_EraseRootFromParent_Done,
20045 /* 50779 */ // Label 1311: @50779
20046 /* 50779 */ GIM_Try, /*On fail goto*//*Label 1312*/ GIMT_Encode4(50855), // Rule ID 1750 //
20047 /* 50784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20048 /* 50787 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20049 /* 50790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20050 /* 50793 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20051 /* 50796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20052 /* 50800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20053 /* 50804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20054 /* 50808 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20055 /* 50812 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20056 /* 50816 */ // MIs[1] Operand 1
20057 /* 50816 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20058 /* 50821 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20059 /* 50826 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20060 /* 50830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20061 /* 50834 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20062 /* 50838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20063 /* 50840 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$F)
20064 /* 50840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I),
20065 /* 50843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20066 /* 50845 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20067 /* 50847 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20068 /* 50851 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20069 /* 50853 */ GIR_RootConstrainSelectedInstOperands,
20070 /* 50854 */ // GIR_Coverage, 1750,
20071 /* 50854 */ GIR_EraseRootFromParent_Done,
20072 /* 50855 */ // Label 1312: @50855
20073 /* 50855 */ GIM_Try, /*On fail goto*//*Label 1313*/ GIMT_Encode4(50931), // Rule ID 1778 //
20074 /* 50860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20075 /* 50863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20076 /* 50866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20077 /* 50869 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20078 /* 50872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20079 /* 50876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20080 /* 50880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20081 /* 50884 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20082 /* 50888 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20083 /* 50892 */ // MIs[1] Operand 1
20084 /* 50892 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20085 /* 50897 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20086 /* 50902 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20087 /* 50906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20088 /* 50910 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20089 /* 50914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20090 /* 50916 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETEQ:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I64_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR64:{ *:[i64] }:$lhs, GPR32:{ *:[i32] }:$F)
20091 /* 50916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_I),
20092 /* 50919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20093 /* 50921 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20094 /* 50923 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20095 /* 50927 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20096 /* 50929 */ GIR_RootConstrainSelectedInstOperands,
20097 /* 50930 */ // GIR_Coverage, 1778,
20098 /* 50930 */ GIR_EraseRootFromParent_Done,
20099 /* 50931 */ // Label 1313: @50931
20100 /* 50931 */ GIM_Try, /*On fail goto*//*Label 1314*/ GIMT_Encode4(51007), // Rule ID 1789 //
20101 /* 50936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20102 /* 50939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20103 /* 50942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20104 /* 50945 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20105 /* 50948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20106 /* 50952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20107 /* 50956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20108 /* 50960 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20109 /* 50964 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20110 /* 50968 */ // MIs[1] Operand 1
20111 /* 50968 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20112 /* 50973 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20113 /* 50978 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20114 /* 50982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20115 /* 50986 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20116 /* 50990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20117 /* 50992 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETNE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I64_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR64:{ *:[i64] }:$lhs, GPR32:{ *:[i32] }:$F)
20118 /* 50992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I),
20119 /* 50995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20120 /* 50997 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20121 /* 50999 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20122 /* 51003 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20123 /* 51005 */ GIR_RootConstrainSelectedInstOperands,
20124 /* 51006 */ // GIR_Coverage, 1789,
20125 /* 51006 */ GIR_EraseRootFromParent_Done,
20126 /* 51007 */ // Label 1314: @51007
20127 /* 51007 */ GIM_Try, /*On fail goto*//*Label 1315*/ GIMT_Encode4(51083), // Rule ID 1802 //
20128 /* 51012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20129 /* 51015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20130 /* 51018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20131 /* 51021 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20132 /* 51024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20133 /* 51028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20134 /* 51032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20135 /* 51036 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20136 /* 51040 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20137 /* 51044 */ // MIs[1] Operand 1
20138 /* 51044 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20139 /* 51049 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20140 /* 51054 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20141 /* 51058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20142 /* 51062 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20143 /* 51066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20144 /* 51068 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR32:{ *:[i32] }:$lhs, FGR32:{ *:[f32] }:$F)
20145 /* 51068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
20146 /* 51071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20147 /* 51073 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20148 /* 51075 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20149 /* 51079 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20150 /* 51081 */ GIR_RootConstrainSelectedInstOperands,
20151 /* 51082 */ // GIR_Coverage, 1802,
20152 /* 51082 */ GIR_EraseRootFromParent_Done,
20153 /* 51083 */ // Label 1315: @51083
20154 /* 51083 */ GIM_Try, /*On fail goto*//*Label 1316*/ GIMT_Encode4(51159), // Rule ID 1805 //
20155 /* 51088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20156 /* 51091 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20157 /* 51094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20158 /* 51097 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20159 /* 51100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20160 /* 51104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20161 /* 51108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20162 /* 51112 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20163 /* 51116 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20164 /* 51120 */ // MIs[1] Operand 1
20165 /* 51120 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20166 /* 51125 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20167 /* 51130 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20168 /* 51134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20169 /* 51138 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20170 /* 51142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20171 /* 51144 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR32:{ *:[i32] }:$lhs, FGR32:{ *:[f32] }:$F)
20172 /* 51144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S),
20173 /* 51147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20174 /* 51149 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20175 /* 51151 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20176 /* 51155 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20177 /* 51157 */ GIR_RootConstrainSelectedInstOperands,
20178 /* 51158 */ // GIR_Coverage, 1805,
20179 /* 51158 */ GIR_EraseRootFromParent_Done,
20180 /* 51159 */ // Label 1316: @51159
20181 /* 51159 */ GIM_Try, /*On fail goto*//*Label 1317*/ GIMT_Encode4(51235), // Rule ID 1815 //
20182 /* 51164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20183 /* 51167 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20184 /* 51170 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20185 /* 51173 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20186 /* 51176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20187 /* 51180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20188 /* 51184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20189 /* 51188 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20190 /* 51192 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20191 /* 51196 */ // MIs[1] Operand 1
20192 /* 51196 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20193 /* 51201 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20194 /* 51206 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20195 /* 51210 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20196 /* 51214 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20197 /* 51218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20198 /* 51220 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETEQ:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I64_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR64:{ *:[i64] }:$lhs, FGR32:{ *:[f32] }:$F)
20199 /* 51220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_S),
20200 /* 51223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20201 /* 51225 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20202 /* 51227 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20203 /* 51231 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20204 /* 51233 */ GIR_RootConstrainSelectedInstOperands,
20205 /* 51234 */ // GIR_Coverage, 1815,
20206 /* 51234 */ GIR_EraseRootFromParent_Done,
20207 /* 51235 */ // Label 1317: @51235
20208 /* 51235 */ GIM_Try, /*On fail goto*//*Label 1318*/ GIMT_Encode4(51311), // Rule ID 1818 //
20209 /* 51240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20210 /* 51243 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20211 /* 51246 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20212 /* 51249 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20213 /* 51252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20214 /* 51256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20215 /* 51260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20216 /* 51264 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20217 /* 51268 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20218 /* 51272 */ // MIs[1] Operand 1
20219 /* 51272 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20220 /* 51277 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20221 /* 51282 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20222 /* 51286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20223 /* 51290 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20224 /* 51294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20225 /* 51296 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETNE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I64_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR64:{ *:[i64] }:$lhs, FGR32:{ *:[f32] }:$F)
20226 /* 51296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_S),
20227 /* 51299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20228 /* 51301 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20229 /* 51303 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20230 /* 51307 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20231 /* 51309 */ GIR_RootConstrainSelectedInstOperands,
20232 /* 51310 */ // GIR_Coverage, 1818,
20233 /* 51310 */ GIR_EraseRootFromParent_Done,
20234 /* 51311 */ // Label 1318: @51311
20235 /* 51311 */ GIM_Try, /*On fail goto*//*Label 1319*/ GIMT_Encode4(51387), // Rule ID 2007 //
20236 /* 51316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
20237 /* 51319 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20238 /* 51322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20239 /* 51325 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20240 /* 51328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20241 /* 51332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20242 /* 51336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20243 /* 51340 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20244 /* 51344 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20245 /* 51348 */ // MIs[1] Operand 1
20246 /* 51348 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20247 /* 51353 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20248 /* 51358 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20249 /* 51362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20250 /* 51366 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20251 /* 51370 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20252 /* 51372 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelBeqZ:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$a)
20253 /* 51372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelBeqZ),
20254 /* 51375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20255 /* 51377 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20256 /* 51379 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20257 /* 51381 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20258 /* 51385 */ GIR_RootConstrainSelectedInstOperands,
20259 /* 51386 */ // GIR_Coverage, 2007,
20260 /* 51386 */ GIR_EraseRootFromParent_Done,
20261 /* 51387 */ // Label 1319: @51387
20262 /* 51387 */ GIM_Try, /*On fail goto*//*Label 1320*/ GIMT_Encode4(51463), // Rule ID 2010 //
20263 /* 51392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
20264 /* 51395 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20265 /* 51398 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20266 /* 51401 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20267 /* 51404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20268 /* 51408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20269 /* 51412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20270 /* 51416 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20271 /* 51420 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20272 /* 51424 */ // MIs[1] Operand 1
20273 /* 51424 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20274 /* 51429 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20275 /* 51434 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20276 /* 51438 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20277 /* 51442 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20278 /* 51446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20279 /* 51448 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, 0:{ *:[i32] }, SETNE:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelBneZ:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$a)
20280 /* 51448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelBneZ),
20281 /* 51451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20282 /* 51453 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20283 /* 51455 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20284 /* 51457 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20285 /* 51461 */ GIR_RootConstrainSelectedInstOperands,
20286 /* 51462 */ // GIR_Coverage, 2010,
20287 /* 51462 */ GIR_EraseRootFromParent_Done,
20288 /* 51463 */ // Label 1320: @51463
20289 /* 51463 */ GIM_Try, /*On fail goto*//*Label 1321*/ GIMT_Encode4(51539), // Rule ID 2356 //
20290 /* 51468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
20291 /* 51471 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20292 /* 51474 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20293 /* 51477 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20294 /* 51480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20295 /* 51484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20296 /* 51488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20297 /* 51492 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20298 /* 51496 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20299 /* 51500 */ // MIs[1] Operand 1
20300 /* 51500 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20301 /* 51505 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20302 /* 51510 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20303 /* 51514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20304 /* 51518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20305 /* 51522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20306 /* 51524 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$F)
20307 /* 51524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20308 /* 51527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20309 /* 51529 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20310 /* 51531 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20311 /* 51535 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20312 /* 51537 */ GIR_RootConstrainSelectedInstOperands,
20313 /* 51538 */ // GIR_Coverage, 2356,
20314 /* 51538 */ GIR_EraseRootFromParent_Done,
20315 /* 51539 */ // Label 1321: @51539
20316 /* 51539 */ GIM_Try, /*On fail goto*//*Label 1322*/ GIMT_Encode4(51615), // Rule ID 2360 //
20317 /* 51544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6),
20318 /* 51547 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20319 /* 51550 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20320 /* 51553 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20321 /* 51556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20322 /* 51560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20323 /* 51564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20324 /* 51568 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20325 /* 51572 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20326 /* 51576 */ // MIs[1] Operand 1
20327 /* 51576 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20328 /* 51581 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20329 /* 51586 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20330 /* 51590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20331 /* 51594 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20332 /* 51598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20333 /* 51600 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$F)
20334 /* 51600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
20335 /* 51603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20336 /* 51605 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20337 /* 51607 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20338 /* 51611 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20339 /* 51613 */ GIR_RootConstrainSelectedInstOperands,
20340 /* 51614 */ // GIR_Coverage, 2360,
20341 /* 51614 */ GIR_EraseRootFromParent_Done,
20342 /* 51615 */ // Label 1322: @51615
20343 /* 51615 */ GIM_Try, /*On fail goto*//*Label 1323*/ GIMT_Encode4(51691), // Rule ID 2370 //
20344 /* 51620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
20345 /* 51623 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20346 /* 51626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20347 /* 51629 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20348 /* 51632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20349 /* 51636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20350 /* 51640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20351 /* 51644 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20352 /* 51648 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20353 /* 51652 */ // MIs[1] Operand 1
20354 /* 51652 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20355 /* 51657 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20356 /* 51662 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20357 /* 51666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20358 /* 51670 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20359 /* 51674 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20360 /* 51676 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$F)
20361 /* 51676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20362 /* 51679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20363 /* 51681 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20364 /* 51683 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20365 /* 51687 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20366 /* 51689 */ GIR_RootConstrainSelectedInstOperands,
20367 /* 51690 */ // GIR_Coverage, 2370,
20368 /* 51690 */ GIR_EraseRootFromParent_Done,
20369 /* 51691 */ // Label 1323: @51691
20370 /* 51691 */ GIM_Try, /*On fail goto*//*Label 1324*/ GIMT_Encode4(51767), // Rule ID 2374 //
20371 /* 51696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
20372 /* 51699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20373 /* 51702 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20374 /* 51705 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20375 /* 51708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20376 /* 51712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20377 /* 51716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20378 /* 51720 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20379 /* 51724 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20380 /* 51728 */ // MIs[1] Operand 1
20381 /* 51728 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20382 /* 51733 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20383 /* 51738 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20384 /* 51742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20385 /* 51746 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20386 /* 51750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20387 /* 51752 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$F)
20388 /* 51752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
20389 /* 51755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20390 /* 51757 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20391 /* 51759 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20392 /* 51763 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20393 /* 51765 */ GIR_RootConstrainSelectedInstOperands,
20394 /* 51766 */ // GIR_Coverage, 2374,
20395 /* 51766 */ GIR_EraseRootFromParent_Done,
20396 /* 51767 */ // Label 1324: @51767
20397 /* 51767 */ GIM_Try, /*On fail goto*//*Label 1325*/ GIMT_Encode4(51843), // Rule ID 2416 //
20398 /* 51772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
20399 /* 51775 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20400 /* 51778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20401 /* 51781 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20402 /* 51784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20403 /* 51788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20404 /* 51792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20405 /* 51796 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20406 /* 51800 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20407 /* 51804 */ // MIs[1] Operand 1
20408 /* 51804 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20409 /* 51809 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20410 /* 51814 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20411 /* 51818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20412 /* 51822 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20413 /* 51826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20414 /* 51828 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR32:{ *:[i32] }:$lhs, FGR32:{ *:[f32] }:$F)
20415 /* 51828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
20416 /* 51831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20417 /* 51833 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20418 /* 51835 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20419 /* 51839 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20420 /* 51841 */ GIR_RootConstrainSelectedInstOperands,
20421 /* 51842 */ // GIR_Coverage, 2416,
20422 /* 51842 */ GIR_EraseRootFromParent_Done,
20423 /* 51843 */ // Label 1325: @51843
20424 /* 51843 */ GIM_Try, /*On fail goto*//*Label 1326*/ GIMT_Encode4(51919), // Rule ID 2419 //
20425 /* 51848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
20426 /* 51851 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20427 /* 51854 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20428 /* 51857 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20429 /* 51860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20430 /* 51864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20431 /* 51868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20432 /* 51872 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20433 /* 51876 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20434 /* 51880 */ // MIs[1] Operand 1
20435 /* 51880 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20436 /* 51885 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20437 /* 51890 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20438 /* 51894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20439 /* 51898 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20440 /* 51902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20441 /* 51904 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR32:{ *:[i32] }:$lhs, FGR32:{ *:[f32] }:$F)
20442 /* 51904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S_MM),
20443 /* 51907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20444 /* 51909 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20445 /* 51911 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20446 /* 51915 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20447 /* 51917 */ GIR_RootConstrainSelectedInstOperands,
20448 /* 51918 */ // GIR_Coverage, 2419,
20449 /* 51918 */ GIR_EraseRootFromParent_Done,
20450 /* 51919 */ // Label 1326: @51919
20451 /* 51919 */ GIM_Try, /*On fail goto*//*Label 1327*/ GIMT_Encode4(52017), // Rule ID 1737 //
20452 /* 51924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20453 /* 51927 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20454 /* 51930 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20455 /* 51933 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20456 /* 51936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20457 /* 51940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20458 /* 51944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20459 /* 51948 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20460 /* 51952 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20461 /* 51956 */ // MIs[1] Operand 1
20462 /* 51956 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
20463 /* 51961 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20464 /* 51966 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20465 /* 51971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20466 /* 51975 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20467 /* 51979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20468 /* 51981 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
20469 /* 51981 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20470 /* 51984 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
20471 /* 51988 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20472 /* 51993 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20473 /* 51997 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20474 /* 52001 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20475 /* 52003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20476 /* 52006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20477 /* 52008 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20478 /* 52010 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20479 /* 52013 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20480 /* 52015 */ GIR_RootConstrainSelectedInstOperands,
20481 /* 52016 */ // GIR_Coverage, 1737,
20482 /* 52016 */ GIR_EraseRootFromParent_Done,
20483 /* 52017 */ // Label 1327: @52017
20484 /* 52017 */ GIM_Try, /*On fail goto*//*Label 1328*/ GIMT_Encode4(52115), // Rule ID 1738 //
20485 /* 52022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20486 /* 52025 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20487 /* 52028 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20488 /* 52031 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20489 /* 52034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20490 /* 52038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20491 /* 52042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20492 /* 52046 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20493 /* 52050 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20494 /* 52054 */ // MIs[1] Operand 1
20495 /* 52054 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
20496 /* 52059 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20497 /* 52064 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20498 /* 52069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20499 /* 52073 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20500 /* 52077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20501 /* 52079 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
20502 /* 52079 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20503 /* 52082 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
20504 /* 52086 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20505 /* 52091 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20506 /* 52095 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20507 /* 52099 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20508 /* 52101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20509 /* 52104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20510 /* 52106 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20511 /* 52108 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20512 /* 52111 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20513 /* 52113 */ GIR_RootConstrainSelectedInstOperands,
20514 /* 52114 */ // GIR_Coverage, 1738,
20515 /* 52114 */ GIR_EraseRootFromParent_Done,
20516 /* 52115 */ // Label 1328: @52115
20517 /* 52115 */ GIM_Try, /*On fail goto*//*Label 1329*/ GIMT_Encode4(52213), // Rule ID 1741 //
20518 /* 52120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20519 /* 52123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20520 /* 52126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20521 /* 52129 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20522 /* 52132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20523 /* 52136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20524 /* 52140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20525 /* 52144 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20526 /* 52148 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20527 /* 52152 */ // MIs[1] Operand 1
20528 /* 52152 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
20529 /* 52157 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20530 /* 52162 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20531 /* 52167 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20532 /* 52171 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20533 /* 52175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20534 /* 52177 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), GPR32:{ *:[i32] }:$F)
20535 /* 52177 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20536 /* 52180 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
20537 /* 52184 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20538 /* 52189 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20539 /* 52193 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20540 /* 52197 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20541 /* 52199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20542 /* 52202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20543 /* 52204 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20544 /* 52206 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20545 /* 52209 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20546 /* 52211 */ GIR_RootConstrainSelectedInstOperands,
20547 /* 52212 */ // GIR_Coverage, 1741,
20548 /* 52212 */ GIR_EraseRootFromParent_Done,
20549 /* 52213 */ // Label 1329: @52213
20550 /* 52213 */ GIM_Try, /*On fail goto*//*Label 1330*/ GIMT_Encode4(52311), // Rule ID 1742 //
20551 /* 52218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20552 /* 52221 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20553 /* 52224 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20554 /* 52227 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20555 /* 52230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20556 /* 52234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20557 /* 52238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20558 /* 52242 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20559 /* 52246 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20560 /* 52250 */ // MIs[1] Operand 1
20561 /* 52250 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
20562 /* 52255 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20563 /* 52260 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20564 /* 52265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20565 /* 52269 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20566 /* 52273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20567 /* 52275 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), GPR32:{ *:[i32] }:$F)
20568 /* 52275 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20569 /* 52278 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
20570 /* 52282 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20571 /* 52287 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20572 /* 52291 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20573 /* 52295 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20574 /* 52297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20575 /* 52300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20576 /* 52302 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20577 /* 52304 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20578 /* 52307 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20579 /* 52309 */ GIR_RootConstrainSelectedInstOperands,
20580 /* 52310 */ // GIR_Coverage, 1742,
20581 /* 52310 */ GIR_EraseRootFromParent_Done,
20582 /* 52311 */ // Label 1330: @52311
20583 /* 52311 */ GIM_Try, /*On fail goto*//*Label 1331*/ GIMT_Encode4(52409), // Rule ID 1745 //
20584 /* 52316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20585 /* 52319 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20586 /* 52322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20587 /* 52325 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20588 /* 52328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20589 /* 52332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20590 /* 52336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20591 /* 52340 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20592 /* 52344 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20593 /* 52348 */ // MIs[1] Operand 1
20594 /* 52348 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20595 /* 52353 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20596 /* 52358 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20597 /* 52363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20598 /* 52367 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20599 /* 52371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20600 /* 52373 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
20601 /* 52373 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20602 /* 52376 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
20603 /* 52380 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20604 /* 52385 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20605 /* 52389 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20606 /* 52393 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20607 /* 52395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20608 /* 52398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20609 /* 52400 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20610 /* 52402 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20611 /* 52405 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20612 /* 52407 */ GIR_RootConstrainSelectedInstOperands,
20613 /* 52408 */ // GIR_Coverage, 1745,
20614 /* 52408 */ GIR_EraseRootFromParent_Done,
20615 /* 52409 */ // Label 1331: @52409
20616 /* 52409 */ GIM_Try, /*On fail goto*//*Label 1332*/ GIMT_Encode4(52507), // Rule ID 1748 //
20617 /* 52414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20618 /* 52417 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20619 /* 52420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20620 /* 52423 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20621 /* 52426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20622 /* 52430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20623 /* 52434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20624 /* 52438 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20625 /* 52442 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20626 /* 52446 */ // MIs[1] Operand 1
20627 /* 52446 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20628 /* 52451 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20629 /* 52456 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20630 /* 52461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20631 /* 52465 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20632 /* 52469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20633 /* 52471 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
20634 /* 52471 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20635 /* 52474 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
20636 /* 52478 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20637 /* 52483 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20638 /* 52487 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20639 /* 52491 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20640 /* 52493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I),
20641 /* 52496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20642 /* 52498 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20643 /* 52500 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20644 /* 52503 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20645 /* 52505 */ GIR_RootConstrainSelectedInstOperands,
20646 /* 52506 */ // GIR_Coverage, 1748,
20647 /* 52506 */ GIR_EraseRootFromParent_Done,
20648 /* 52507 */ // Label 1332: @52507
20649 /* 52507 */ GIM_Try, /*On fail goto*//*Label 1333*/ GIMT_Encode4(52605), // Rule ID 1759 //
20650 /* 52512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20651 /* 52515 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20652 /* 52518 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20653 /* 52521 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20654 /* 52524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20655 /* 52528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20656 /* 52532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20657 /* 52536 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20658 /* 52540 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20659 /* 52544 */ // MIs[1] Operand 1
20660 /* 52544 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
20661 /* 52549 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20662 /* 52554 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20663 /* 52559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20664 /* 52563 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20665 /* 52567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20666 /* 52569 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), GPR32:{ *:[i32] }:$F)
20667 /* 52569 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20668 /* 52572 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
20669 /* 52576 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20670 /* 52581 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20671 /* 52585 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20672 /* 52589 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20673 /* 52591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20674 /* 52594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20675 /* 52596 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20676 /* 52598 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20677 /* 52601 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20678 /* 52603 */ GIR_RootConstrainSelectedInstOperands,
20679 /* 52604 */ // GIR_Coverage, 1759,
20680 /* 52604 */ GIR_EraseRootFromParent_Done,
20681 /* 52605 */ // Label 1333: @52605
20682 /* 52605 */ GIM_Try, /*On fail goto*//*Label 1334*/ GIMT_Encode4(52703), // Rule ID 1760 //
20683 /* 52610 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20684 /* 52613 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20685 /* 52616 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20686 /* 52619 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20687 /* 52622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20688 /* 52626 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20689 /* 52630 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20690 /* 52634 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20691 /* 52638 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20692 /* 52642 */ // MIs[1] Operand 1
20693 /* 52642 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
20694 /* 52647 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20695 /* 52652 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20696 /* 52657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20697 /* 52661 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20698 /* 52665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20699 /* 52667 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), GPR32:{ *:[i32] }:$F)
20700 /* 52667 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20701 /* 52670 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
20702 /* 52674 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20703 /* 52679 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20704 /* 52683 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20705 /* 52687 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20706 /* 52689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20707 /* 52692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20708 /* 52694 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20709 /* 52696 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20710 /* 52699 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20711 /* 52701 */ GIR_RootConstrainSelectedInstOperands,
20712 /* 52702 */ // GIR_Coverage, 1760,
20713 /* 52702 */ GIR_EraseRootFromParent_Done,
20714 /* 52703 */ // Label 1334: @52703
20715 /* 52703 */ GIM_Try, /*On fail goto*//*Label 1335*/ GIMT_Encode4(52801), // Rule ID 1763 //
20716 /* 52708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20717 /* 52711 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20718 /* 52714 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20719 /* 52717 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20720 /* 52720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20721 /* 52724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20722 /* 52728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20723 /* 52732 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20724 /* 52736 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20725 /* 52740 */ // MIs[1] Operand 1
20726 /* 52740 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
20727 /* 52745 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20728 /* 52750 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20729 /* 52755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20730 /* 52759 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20731 /* 52763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20732 /* 52765 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), GPR32:{ *:[i32] }:$F)
20733 /* 52765 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20734 /* 52768 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
20735 /* 52772 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20736 /* 52777 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20737 /* 52781 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20738 /* 52785 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20739 /* 52787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20740 /* 52790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20741 /* 52792 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20742 /* 52794 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20743 /* 52797 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20744 /* 52799 */ GIR_RootConstrainSelectedInstOperands,
20745 /* 52800 */ // GIR_Coverage, 1763,
20746 /* 52800 */ GIR_EraseRootFromParent_Done,
20747 /* 52801 */ // Label 1335: @52801
20748 /* 52801 */ GIM_Try, /*On fail goto*//*Label 1336*/ GIMT_Encode4(52899), // Rule ID 1764 //
20749 /* 52806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20750 /* 52809 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20751 /* 52812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20752 /* 52815 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20753 /* 52818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20754 /* 52822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20755 /* 52826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20756 /* 52830 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20757 /* 52834 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20758 /* 52838 */ // MIs[1] Operand 1
20759 /* 52838 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
20760 /* 52843 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20761 /* 52848 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20762 /* 52853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20763 /* 52857 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20764 /* 52861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20765 /* 52863 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), GPR32:{ *:[i32] }:$F)
20766 /* 52863 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20767 /* 52866 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
20768 /* 52870 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20769 /* 52875 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20770 /* 52879 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20771 /* 52883 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20772 /* 52885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
20773 /* 52888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20774 /* 52890 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20775 /* 52892 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20776 /* 52895 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20777 /* 52897 */ GIR_RootConstrainSelectedInstOperands,
20778 /* 52898 */ // GIR_Coverage, 1764,
20779 /* 52898 */ GIR_EraseRootFromParent_Done,
20780 /* 52899 */ // Label 1336: @52899
20781 /* 52899 */ GIM_Try, /*On fail goto*//*Label 1337*/ GIMT_Encode4(52997), // Rule ID 1777 //
20782 /* 52904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20783 /* 52907 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20784 /* 52910 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20785 /* 52913 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20786 /* 52916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20787 /* 52920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20788 /* 52924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20789 /* 52928 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20790 /* 52932 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20791 /* 52936 */ // MIs[1] Operand 1
20792 /* 52936 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20793 /* 52941 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20794 /* 52946 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20795 /* 52951 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20796 /* 52955 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20797 /* 52959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20798 /* 52961 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I64_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), GPR32:{ *:[i32] }:$F)
20799 /* 52961 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
20800 /* 52964 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
20801 /* 52968 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20802 /* 52973 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20803 /* 52977 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20804 /* 52981 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20805 /* 52983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_I),
20806 /* 52986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20807 /* 52988 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20808 /* 52990 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20809 /* 52993 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20810 /* 52995 */ GIR_RootConstrainSelectedInstOperands,
20811 /* 52996 */ // GIR_Coverage, 1777,
20812 /* 52996 */ GIR_EraseRootFromParent_Done,
20813 /* 52997 */ // Label 1337: @52997
20814 /* 52997 */ GIM_Try, /*On fail goto*//*Label 1338*/ GIMT_Encode4(53095), // Rule ID 1787 //
20815 /* 53002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
20816 /* 53005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20817 /* 53008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20818 /* 53011 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20819 /* 53014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20820 /* 53018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20821 /* 53022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20822 /* 53026 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20823 /* 53030 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20824 /* 53034 */ // MIs[1] Operand 1
20825 /* 53034 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20826 /* 53039 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20827 /* 53044 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20828 /* 53049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20829 /* 53053 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20830 /* 53057 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20831 /* 53059 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I64_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), GPR32:{ *:[i32] }:$F)
20832 /* 53059 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
20833 /* 53062 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
20834 /* 53066 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20835 /* 53071 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20836 /* 53075 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20837 /* 53079 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20838 /* 53081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I),
20839 /* 53084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20840 /* 53086 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20841 /* 53088 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20842 /* 53091 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20843 /* 53093 */ GIR_RootConstrainSelectedInstOperands,
20844 /* 53094 */ // GIR_Coverage, 1787,
20845 /* 53094 */ GIR_EraseRootFromParent_Done,
20846 /* 53095 */ // Label 1338: @53095
20847 /* 53095 */ GIM_Try, /*On fail goto*//*Label 1339*/ GIMT_Encode4(53193), // Rule ID 1793 //
20848 /* 53100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20849 /* 53103 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20850 /* 53106 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20851 /* 53109 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20852 /* 53112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20853 /* 53116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20854 /* 53120 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20855 /* 53124 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20856 /* 53128 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20857 /* 53132 */ // MIs[1] Operand 1
20858 /* 53132 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
20859 /* 53137 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20860 /* 53142 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20861 /* 53147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20862 /* 53151 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20863 /* 53155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20864 /* 53157 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR32:{ *:[f32] }:$F)
20865 /* 53157 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20866 /* 53160 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
20867 /* 53164 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20868 /* 53169 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20869 /* 53173 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20870 /* 53177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20871 /* 53179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
20872 /* 53182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20873 /* 53184 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20874 /* 53186 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20875 /* 53189 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20876 /* 53191 */ GIR_RootConstrainSelectedInstOperands,
20877 /* 53192 */ // GIR_Coverage, 1793,
20878 /* 53192 */ GIR_EraseRootFromParent_Done,
20879 /* 53193 */ // Label 1339: @53193
20880 /* 53193 */ GIM_Try, /*On fail goto*//*Label 1340*/ GIMT_Encode4(53291), // Rule ID 1794 //
20881 /* 53198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20882 /* 53201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20883 /* 53204 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20884 /* 53207 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20885 /* 53210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20886 /* 53214 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20887 /* 53218 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20888 /* 53222 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20889 /* 53226 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20890 /* 53230 */ // MIs[1] Operand 1
20891 /* 53230 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
20892 /* 53235 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20893 /* 53240 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20894 /* 53245 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20895 /* 53249 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20896 /* 53253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20897 /* 53255 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR32:{ *:[f32] }:$F)
20898 /* 53255 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20899 /* 53258 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
20900 /* 53262 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20901 /* 53267 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20902 /* 53271 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20903 /* 53275 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20904 /* 53277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
20905 /* 53280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20906 /* 53282 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20907 /* 53284 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20908 /* 53287 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20909 /* 53289 */ GIR_RootConstrainSelectedInstOperands,
20910 /* 53290 */ // GIR_Coverage, 1794,
20911 /* 53290 */ GIR_EraseRootFromParent_Done,
20912 /* 53291 */ // Label 1340: @53291
20913 /* 53291 */ GIM_Try, /*On fail goto*//*Label 1341*/ GIMT_Encode4(53389), // Rule ID 1797 //
20914 /* 53296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20915 /* 53299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20916 /* 53302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20917 /* 53305 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20918 /* 53308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20919 /* 53312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20920 /* 53316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20921 /* 53320 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20922 /* 53324 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20923 /* 53328 */ // MIs[1] Operand 1
20924 /* 53328 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
20925 /* 53333 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20926 /* 53338 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20927 /* 53343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20928 /* 53347 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20929 /* 53351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20930 /* 53353 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), FGR32:{ *:[f32] }:$F)
20931 /* 53353 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20932 /* 53356 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
20933 /* 53360 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20934 /* 53365 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20935 /* 53369 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20936 /* 53373 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20937 /* 53375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
20938 /* 53378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20939 /* 53380 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20940 /* 53382 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20941 /* 53385 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20942 /* 53387 */ GIR_RootConstrainSelectedInstOperands,
20943 /* 53388 */ // GIR_Coverage, 1797,
20944 /* 53388 */ GIR_EraseRootFromParent_Done,
20945 /* 53389 */ // Label 1341: @53389
20946 /* 53389 */ GIM_Try, /*On fail goto*//*Label 1342*/ GIMT_Encode4(53487), // Rule ID 1798 //
20947 /* 53394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20948 /* 53397 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20949 /* 53400 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20950 /* 53403 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20951 /* 53406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20952 /* 53410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20953 /* 53414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20954 /* 53418 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20955 /* 53422 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20956 /* 53426 */ // MIs[1] Operand 1
20957 /* 53426 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
20958 /* 53431 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20959 /* 53436 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20960 /* 53441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20961 /* 53445 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20962 /* 53449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20963 /* 53451 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), FGR32:{ *:[f32] }:$F)
20964 /* 53451 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20965 /* 53454 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
20966 /* 53458 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20967 /* 53463 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20968 /* 53467 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20969 /* 53471 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20970 /* 53473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
20971 /* 53476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20972 /* 53478 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20973 /* 53480 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20974 /* 53483 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20975 /* 53485 */ GIR_RootConstrainSelectedInstOperands,
20976 /* 53486 */ // GIR_Coverage, 1798,
20977 /* 53486 */ GIR_EraseRootFromParent_Done,
20978 /* 53487 */ // Label 1342: @53487
20979 /* 53487 */ GIM_Try, /*On fail goto*//*Label 1343*/ GIMT_Encode4(53585), // Rule ID 1801 //
20980 /* 53492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
20981 /* 53495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20982 /* 53498 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20983 /* 53501 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20984 /* 53504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20985 /* 53508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20986 /* 53512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20987 /* 53516 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20988 /* 53520 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20989 /* 53524 */ // MIs[1] Operand 1
20990 /* 53524 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20991 /* 53529 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20992 /* 53534 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20993 /* 53539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20994 /* 53543 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20995 /* 53547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20996 /* 53549 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR32:{ *:[f32] }:$F)
20997 /* 53549 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20998 /* 53552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
20999 /* 53556 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21000 /* 53561 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21001 /* 53565 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21002 /* 53569 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21003 /* 53571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
21004 /* 53574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21005 /* 53576 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21006 /* 53578 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21007 /* 53581 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21008 /* 53583 */ GIR_RootConstrainSelectedInstOperands,
21009 /* 53584 */ // GIR_Coverage, 1801,
21010 /* 53584 */ GIR_EraseRootFromParent_Done,
21011 /* 53585 */ // Label 1343: @53585
21012 /* 53585 */ GIM_Try, /*On fail goto*//*Label 1344*/ GIMT_Encode4(53683), // Rule ID 1803 //
21013 /* 53590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
21014 /* 53593 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21015 /* 53596 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21016 /* 53599 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21017 /* 53602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21018 /* 53606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21019 /* 53610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21020 /* 53614 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21021 /* 53618 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21022 /* 53622 */ // MIs[1] Operand 1
21023 /* 53622 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21024 /* 53627 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21025 /* 53632 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21026 /* 53637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21027 /* 53641 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21028 /* 53645 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21029 /* 53647 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR32:{ *:[f32] }:$F)
21030 /* 53647 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21031 /* 53650 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
21032 /* 53654 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21033 /* 53659 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21034 /* 53663 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21035 /* 53667 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21036 /* 53669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S),
21037 /* 53672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21038 /* 53674 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21039 /* 53676 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21040 /* 53679 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21041 /* 53681 */ GIR_RootConstrainSelectedInstOperands,
21042 /* 53682 */ // GIR_Coverage, 1803,
21043 /* 53682 */ GIR_EraseRootFromParent_Done,
21044 /* 53683 */ // Label 1344: @53683
21045 /* 53683 */ GIM_Try, /*On fail goto*//*Label 1345*/ GIMT_Encode4(53781), // Rule ID 1806 //
21046 /* 53688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
21047 /* 53691 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21048 /* 53694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21049 /* 53697 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21050 /* 53700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21051 /* 53704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21052 /* 53708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21053 /* 53712 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21054 /* 53716 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21055 /* 53720 */ // MIs[1] Operand 1
21056 /* 53720 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21057 /* 53725 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21058 /* 53730 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21059 /* 53735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21060 /* 53739 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21061 /* 53743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21062 /* 53745 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), FGR32:{ *:[f32] }:$F)
21063 /* 53745 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21064 /* 53748 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
21065 /* 53752 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21066 /* 53757 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21067 /* 53761 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21068 /* 53765 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21069 /* 53767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
21070 /* 53770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21071 /* 53772 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21072 /* 53774 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21073 /* 53777 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21074 /* 53779 */ GIR_RootConstrainSelectedInstOperands,
21075 /* 53780 */ // GIR_Coverage, 1806,
21076 /* 53780 */ GIR_EraseRootFromParent_Done,
21077 /* 53781 */ // Label 1345: @53781
21078 /* 53781 */ GIM_Try, /*On fail goto*//*Label 1346*/ GIMT_Encode4(53879), // Rule ID 1807 //
21079 /* 53786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
21080 /* 53789 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21081 /* 53792 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21082 /* 53795 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21083 /* 53798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21084 /* 53802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21085 /* 53806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21086 /* 53810 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21087 /* 53814 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21088 /* 53818 */ // MIs[1] Operand 1
21089 /* 53818 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21090 /* 53823 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21091 /* 53828 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21092 /* 53833 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21093 /* 53837 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21094 /* 53841 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21095 /* 53843 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), FGR32:{ *:[f32] }:$F)
21096 /* 53843 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21097 /* 53846 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
21098 /* 53850 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21099 /* 53855 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21100 /* 53859 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21101 /* 53863 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21102 /* 53865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
21103 /* 53868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21104 /* 53870 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21105 /* 53872 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21106 /* 53875 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21107 /* 53877 */ GIR_RootConstrainSelectedInstOperands,
21108 /* 53878 */ // GIR_Coverage, 1807,
21109 /* 53878 */ GIR_EraseRootFromParent_Done,
21110 /* 53879 */ // Label 1346: @53879
21111 /* 53879 */ GIM_Try, /*On fail goto*//*Label 1347*/ GIMT_Encode4(53977), // Rule ID 1810 //
21112 /* 53884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
21113 /* 53887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21114 /* 53890 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21115 /* 53893 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21116 /* 53896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21117 /* 53900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21118 /* 53904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21119 /* 53908 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21120 /* 53912 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21121 /* 53916 */ // MIs[1] Operand 1
21122 /* 53916 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21123 /* 53921 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21124 /* 53926 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21125 /* 53931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21126 /* 53935 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21127 /* 53939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21128 /* 53941 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), FGR32:{ *:[f32] }:$F)
21129 /* 53941 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21130 /* 53944 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
21131 /* 53948 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21132 /* 53953 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21133 /* 53957 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21134 /* 53961 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21135 /* 53963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
21136 /* 53966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21137 /* 53968 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21138 /* 53970 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21139 /* 53973 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21140 /* 53975 */ GIR_RootConstrainSelectedInstOperands,
21141 /* 53976 */ // GIR_Coverage, 1810,
21142 /* 53976 */ GIR_EraseRootFromParent_Done,
21143 /* 53977 */ // Label 1347: @53977
21144 /* 53977 */ GIM_Try, /*On fail goto*//*Label 1348*/ GIMT_Encode4(54075), // Rule ID 1811 //
21145 /* 53982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
21146 /* 53985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21147 /* 53988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21148 /* 53991 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21149 /* 53994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21150 /* 53998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21151 /* 54002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21152 /* 54006 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21153 /* 54010 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21154 /* 54014 */ // MIs[1] Operand 1
21155 /* 54014 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21156 /* 54019 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21157 /* 54024 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21158 /* 54029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21159 /* 54033 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21160 /* 54037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21161 /* 54039 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), FGR32:{ *:[f32] }:$F)
21162 /* 54039 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21163 /* 54042 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
21164 /* 54046 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21165 /* 54051 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21166 /* 54055 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21167 /* 54059 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21168 /* 54061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
21169 /* 54064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21170 /* 54066 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21171 /* 54068 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21172 /* 54071 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21173 /* 54073 */ GIR_RootConstrainSelectedInstOperands,
21174 /* 54074 */ // GIR_Coverage, 1811,
21175 /* 54074 */ GIR_EraseRootFromParent_Done,
21176 /* 54075 */ // Label 1348: @54075
21177 /* 54075 */ GIM_Try, /*On fail goto*//*Label 1349*/ GIMT_Encode4(54173), // Rule ID 1814 //
21178 /* 54080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
21179 /* 54083 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21180 /* 54086 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21181 /* 54089 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21182 /* 54092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21183 /* 54096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21184 /* 54100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21185 /* 54104 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21186 /* 54108 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21187 /* 54112 */ // MIs[1] Operand 1
21188 /* 54112 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21189 /* 54117 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21190 /* 54122 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21191 /* 54127 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21192 /* 54131 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21193 /* 54135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21194 /* 54137 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I64_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), FGR32:{ *:[f32] }:$F)
21195 /* 54137 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
21196 /* 54140 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
21197 /* 54144 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21198 /* 54149 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21199 /* 54153 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21200 /* 54157 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21201 /* 54159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_S),
21202 /* 54162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21203 /* 54164 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21204 /* 54166 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21205 /* 54169 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21206 /* 54171 */ GIR_RootConstrainSelectedInstOperands,
21207 /* 54172 */ // GIR_Coverage, 1814,
21208 /* 54172 */ GIR_EraseRootFromParent_Done,
21209 /* 54173 */ // Label 1349: @54173
21210 /* 54173 */ GIM_Try, /*On fail goto*//*Label 1350*/ GIMT_Encode4(54271), // Rule ID 1816 //
21211 /* 54178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
21212 /* 54181 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21213 /* 54184 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21214 /* 54187 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21215 /* 54190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21216 /* 54194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21217 /* 54198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21218 /* 54202 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21219 /* 54206 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21220 /* 54210 */ // MIs[1] Operand 1
21221 /* 54210 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21222 /* 54215 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21223 /* 54220 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21224 /* 54225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21225 /* 54229 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21226 /* 54233 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21227 /* 54235 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I64_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), FGR32:{ *:[f32] }:$F)
21228 /* 54235 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
21229 /* 54238 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
21230 /* 54242 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21231 /* 54247 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21232 /* 54251 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21233 /* 54255 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21234 /* 54257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_S),
21235 /* 54260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21236 /* 54262 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21237 /* 54264 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21238 /* 54267 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21239 /* 54269 */ GIR_RootConstrainSelectedInstOperands,
21240 /* 54270 */ // GIR_Coverage, 1816,
21241 /* 54270 */ GIR_EraseRootFromParent_Done,
21242 /* 54271 */ // Label 1350: @54271
21243 /* 54271 */ GIM_Try, /*On fail goto*//*Label 1351*/ GIMT_Encode4(54352), // Rule ID 1999 //
21244 /* 54276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
21245 /* 54279 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21246 /* 54282 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21247 /* 54285 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21248 /* 54288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21249 /* 54292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21250 /* 54296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21251 /* 54300 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21252 /* 54304 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21253 /* 54308 */ // MIs[1] Operand 1
21254 /* 54308 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21255 /* 54313 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21256 /* 54318 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21257 /* 54323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21258 /* 54327 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21259 /* 54331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21260 /* 54333 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b, SETGE:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelTBteqZSlt:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b)
21261 /* 54333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZSlt),
21262 /* 54336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
21263 /* 54338 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
21264 /* 54340 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
21265 /* 54342 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
21266 /* 54346 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
21267 /* 54350 */ GIR_RootConstrainSelectedInstOperands,
21268 /* 54351 */ // GIR_Coverage, 1999,
21269 /* 54351 */ GIR_EraseRootFromParent_Done,
21270 /* 54352 */ // Label 1351: @54352
21271 /* 54352 */ GIM_Try, /*On fail goto*//*Label 1352*/ GIMT_Encode4(54433), // Rule ID 2000 //
21272 /* 54357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
21273 /* 54360 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21274 /* 54363 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21275 /* 54366 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21276 /* 54369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21277 /* 54373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21278 /* 54377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21279 /* 54381 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21280 /* 54385 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21281 /* 54389 */ // MIs[1] Operand 1
21282 /* 54389 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
21283 /* 54394 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21284 /* 54399 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21285 /* 54404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21286 /* 54408 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21287 /* 54412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21288 /* 54414 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b, SETGT:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelTBtneZSlt:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$b, CPU16Regs:{ *:[i32] }:$a)
21289 /* 54414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBtneZSlt),
21290 /* 54417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
21291 /* 54419 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
21292 /* 54421 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
21293 /* 54423 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
21294 /* 54427 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
21295 /* 54431 */ GIR_RootConstrainSelectedInstOperands,
21296 /* 54432 */ // GIR_Coverage, 2000,
21297 /* 54432 */ GIR_EraseRootFromParent_Done,
21298 /* 54433 */ // Label 1352: @54433
21299 /* 54433 */ GIM_Try, /*On fail goto*//*Label 1353*/ GIMT_Encode4(54514), // Rule ID 2001 //
21300 /* 54438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
21301 /* 54441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21302 /* 54444 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21303 /* 54447 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21304 /* 54450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21305 /* 54454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21306 /* 54458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21307 /* 54462 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21308 /* 54466 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21309 /* 54470 */ // MIs[1] Operand 1
21310 /* 54470 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21311 /* 54475 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21312 /* 54480 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21313 /* 54485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21314 /* 54489 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21315 /* 54493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21316 /* 54495 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b, SETUGE:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelTBteqZSltu:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b)
21317 /* 54495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZSltu),
21318 /* 54498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
21319 /* 54500 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
21320 /* 54502 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
21321 /* 54504 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
21322 /* 54508 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
21323 /* 54512 */ GIR_RootConstrainSelectedInstOperands,
21324 /* 54513 */ // GIR_Coverage, 2001,
21325 /* 54513 */ GIR_EraseRootFromParent_Done,
21326 /* 54514 */ // Label 1353: @54514
21327 /* 54514 */ GIM_Try, /*On fail goto*//*Label 1354*/ GIMT_Encode4(54595), // Rule ID 2002 //
21328 /* 54519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
21329 /* 54522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21330 /* 54525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21331 /* 54528 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21332 /* 54531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21333 /* 54535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21334 /* 54539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21335 /* 54543 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21336 /* 54547 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21337 /* 54551 */ // MIs[1] Operand 1
21338 /* 54551 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
21339 /* 54556 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21340 /* 54561 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21341 /* 54566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21342 /* 54570 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21343 /* 54574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21344 /* 54576 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b, SETUGT:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelTBtneZSltu:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$b, CPU16Regs:{ *:[i32] }:$a)
21345 /* 54576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBtneZSltu),
21346 /* 54579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
21347 /* 54581 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
21348 /* 54583 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
21349 /* 54585 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
21350 /* 54589 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
21351 /* 54593 */ GIR_RootConstrainSelectedInstOperands,
21352 /* 54594 */ // GIR_Coverage, 2002,
21353 /* 54594 */ GIR_EraseRootFromParent_Done,
21354 /* 54595 */ // Label 1354: @54595
21355 /* 54595 */ GIM_Try, /*On fail goto*//*Label 1355*/ GIMT_Encode4(54676), // Rule ID 2004 //
21356 /* 54600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
21357 /* 54603 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21358 /* 54606 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21359 /* 54609 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21360 /* 54612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21361 /* 54616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21362 /* 54620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21363 /* 54624 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21364 /* 54628 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21365 /* 54632 */ // MIs[1] Operand 1
21366 /* 54632 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21367 /* 54637 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21368 /* 54642 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21369 /* 54647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21370 /* 54651 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21371 /* 54655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21372 /* 54657 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b, SETLE:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelTBteqZSlt:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$b, CPU16Regs:{ *:[i32] }:$a)
21373 /* 54657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZSlt),
21374 /* 54660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
21375 /* 54662 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
21376 /* 54664 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
21377 /* 54666 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
21378 /* 54670 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
21379 /* 54674 */ GIR_RootConstrainSelectedInstOperands,
21380 /* 54675 */ // GIR_Coverage, 2004,
21381 /* 54675 */ GIR_EraseRootFromParent_Done,
21382 /* 54676 */ // Label 1355: @54676
21383 /* 54676 */ GIM_Try, /*On fail goto*//*Label 1356*/ GIMT_Encode4(54757), // Rule ID 2005 //
21384 /* 54681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
21385 /* 54684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21386 /* 54687 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21387 /* 54690 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21388 /* 54693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21389 /* 54697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21390 /* 54701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21391 /* 54705 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21392 /* 54709 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21393 /* 54713 */ // MIs[1] Operand 1
21394 /* 54713 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21395 /* 54718 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21396 /* 54723 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21397 /* 54728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21398 /* 54732 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21399 /* 54736 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21400 /* 54738 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b, SETULE:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelTBteqZSltu:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$b, CPU16Regs:{ *:[i32] }:$a)
21401 /* 54738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZSltu),
21402 /* 54741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
21403 /* 54743 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
21404 /* 54745 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
21405 /* 54747 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
21406 /* 54751 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
21407 /* 54755 */ GIR_RootConstrainSelectedInstOperands,
21408 /* 54756 */ // GIR_Coverage, 2005,
21409 /* 54756 */ GIR_EraseRootFromParent_Done,
21410 /* 54757 */ // Label 1356: @54757
21411 /* 54757 */ GIM_Try, /*On fail goto*//*Label 1357*/ GIMT_Encode4(54838), // Rule ID 2006 //
21412 /* 54762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
21413 /* 54765 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21414 /* 54768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21415 /* 54771 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21416 /* 54774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21417 /* 54778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21418 /* 54782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21419 /* 54786 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21420 /* 54790 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21421 /* 54794 */ // MIs[1] Operand 1
21422 /* 54794 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21423 /* 54799 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21424 /* 54804 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21425 /* 54809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21426 /* 54813 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21427 /* 54817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21428 /* 54819 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b, SETEQ:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelTBteqZCmp:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$b, CPU16Regs:{ *:[i32] }:$a)
21429 /* 54819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZCmp),
21430 /* 54822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
21431 /* 54824 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
21432 /* 54826 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
21433 /* 54828 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
21434 /* 54832 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
21435 /* 54836 */ GIR_RootConstrainSelectedInstOperands,
21436 /* 54837 */ // GIR_Coverage, 2006,
21437 /* 54837 */ GIR_EraseRootFromParent_Done,
21438 /* 54838 */ // Label 1357: @54838
21439 /* 54838 */ GIM_Try, /*On fail goto*//*Label 1358*/ GIMT_Encode4(54919), // Rule ID 2009 //
21440 /* 54843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
21441 /* 54846 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21442 /* 54849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21443 /* 54852 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21444 /* 54855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21445 /* 54859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21446 /* 54863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21447 /* 54867 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21448 /* 54871 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21449 /* 54875 */ // MIs[1] Operand 1
21450 /* 54875 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21451 /* 54880 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21452 /* 54885 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21453 /* 54890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21454 /* 54894 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
21455 /* 54898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21456 /* 54900 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$b, SETNE:{ *:[Other] }), CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelTBtneZCmp:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$b, CPU16Regs:{ *:[i32] }:$a)
21457 /* 54900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBtneZCmp),
21458 /* 54903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
21459 /* 54905 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
21460 /* 54907 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
21461 /* 54909 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
21462 /* 54913 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
21463 /* 54917 */ GIR_RootConstrainSelectedInstOperands,
21464 /* 54918 */ // GIR_Coverage, 2009,
21465 /* 54918 */ GIR_EraseRootFromParent_Done,
21466 /* 54919 */ // Label 1358: @54919
21467 /* 54919 */ GIM_Try, /*On fail goto*//*Label 1359*/ GIMT_Encode4(55017), // Rule ID 2347 //
21468 /* 54924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21469 /* 54927 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21470 /* 54930 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21471 /* 54933 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21472 /* 54936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21473 /* 54940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21474 /* 54944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21475 /* 54948 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21476 /* 54952 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21477 /* 54956 */ // MIs[1] Operand 1
21478 /* 54956 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21479 /* 54961 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21480 /* 54966 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21481 /* 54971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21482 /* 54975 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21483 /* 54979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21484 /* 54981 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
21485 /* 54981 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21486 /* 54984 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
21487 /* 54988 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21488 /* 54993 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21489 /* 54997 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21490 /* 55001 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21491 /* 55003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21492 /* 55006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21493 /* 55008 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21494 /* 55010 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21495 /* 55013 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21496 /* 55015 */ GIR_RootConstrainSelectedInstOperands,
21497 /* 55016 */ // GIR_Coverage, 2347,
21498 /* 55016 */ GIR_EraseRootFromParent_Done,
21499 /* 55017 */ // Label 1359: @55017
21500 /* 55017 */ GIM_Try, /*On fail goto*//*Label 1360*/ GIMT_Encode4(55115), // Rule ID 2348 //
21501 /* 55022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21502 /* 55025 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21503 /* 55028 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21504 /* 55031 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21505 /* 55034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21506 /* 55038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21507 /* 55042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21508 /* 55046 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21509 /* 55050 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21510 /* 55054 */ // MIs[1] Operand 1
21511 /* 55054 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21512 /* 55059 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21513 /* 55064 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21514 /* 55069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21515 /* 55073 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21516 /* 55077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21517 /* 55079 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
21518 /* 55079 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21519 /* 55082 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
21520 /* 55086 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21521 /* 55091 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21522 /* 55095 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21523 /* 55099 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21524 /* 55101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21525 /* 55104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21526 /* 55106 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21527 /* 55108 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21528 /* 55111 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21529 /* 55113 */ GIR_RootConstrainSelectedInstOperands,
21530 /* 55114 */ // GIR_Coverage, 2348,
21531 /* 55114 */ GIR_EraseRootFromParent_Done,
21532 /* 55115 */ // Label 1360: @55115
21533 /* 55115 */ GIM_Try, /*On fail goto*//*Label 1361*/ GIMT_Encode4(55213), // Rule ID 2351 //
21534 /* 55120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21535 /* 55123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21536 /* 55126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21537 /* 55129 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21538 /* 55132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21539 /* 55136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21540 /* 55140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21541 /* 55144 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21542 /* 55148 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21543 /* 55152 */ // MIs[1] Operand 1
21544 /* 55152 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21545 /* 55157 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21546 /* 55162 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21547 /* 55167 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21548 /* 55171 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21549 /* 55175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21550 /* 55177 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), GPR32:{ *:[i32] }:$F)
21551 /* 55177 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21552 /* 55180 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
21553 /* 55184 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21554 /* 55189 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21555 /* 55193 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21556 /* 55197 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21557 /* 55199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21558 /* 55202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21559 /* 55204 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21560 /* 55206 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21561 /* 55209 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21562 /* 55211 */ GIR_RootConstrainSelectedInstOperands,
21563 /* 55212 */ // GIR_Coverage, 2351,
21564 /* 55212 */ GIR_EraseRootFromParent_Done,
21565 /* 55213 */ // Label 1361: @55213
21566 /* 55213 */ GIM_Try, /*On fail goto*//*Label 1362*/ GIMT_Encode4(55311), // Rule ID 2352 //
21567 /* 55218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21568 /* 55221 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21569 /* 55224 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21570 /* 55227 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21571 /* 55230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21572 /* 55234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21573 /* 55238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21574 /* 55242 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21575 /* 55246 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21576 /* 55250 */ // MIs[1] Operand 1
21577 /* 55250 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21578 /* 55255 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21579 /* 55260 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21580 /* 55265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21581 /* 55269 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21582 /* 55273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21583 /* 55275 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), GPR32:{ *:[i32] }:$F)
21584 /* 55275 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21585 /* 55278 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
21586 /* 55282 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21587 /* 55287 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21588 /* 55291 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21589 /* 55295 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21590 /* 55297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21591 /* 55300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21592 /* 55302 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21593 /* 55304 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21594 /* 55307 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21595 /* 55309 */ GIR_RootConstrainSelectedInstOperands,
21596 /* 55310 */ // GIR_Coverage, 2352,
21597 /* 55310 */ GIR_EraseRootFromParent_Done,
21598 /* 55311 */ // Label 1362: @55311
21599 /* 55311 */ GIM_Try, /*On fail goto*//*Label 1363*/ GIMT_Encode4(55409), // Rule ID 2355 //
21600 /* 55316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21601 /* 55319 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21602 /* 55322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21603 /* 55325 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21604 /* 55328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21605 /* 55332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21606 /* 55336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21607 /* 55340 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21608 /* 55344 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21609 /* 55348 */ // MIs[1] Operand 1
21610 /* 55348 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21611 /* 55353 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21612 /* 55358 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21613 /* 55363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21614 /* 55367 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21615 /* 55371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21616 /* 55373 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
21617 /* 55373 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21618 /* 55376 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
21619 /* 55380 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21620 /* 55385 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21621 /* 55389 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21622 /* 55393 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21623 /* 55395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21624 /* 55398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21625 /* 55400 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21626 /* 55402 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21627 /* 55405 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21628 /* 55407 */ GIR_RootConstrainSelectedInstOperands,
21629 /* 55408 */ // GIR_Coverage, 2355,
21630 /* 55408 */ GIR_EraseRootFromParent_Done,
21631 /* 55409 */ // Label 1363: @55409
21632 /* 55409 */ GIM_Try, /*On fail goto*//*Label 1364*/ GIMT_Encode4(55507), // Rule ID 2358 //
21633 /* 55414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6),
21634 /* 55417 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21635 /* 55420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21636 /* 55423 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21637 /* 55426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21638 /* 55430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21639 /* 55434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21640 /* 55438 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21641 /* 55442 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21642 /* 55446 */ // MIs[1] Operand 1
21643 /* 55446 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21644 /* 55451 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21645 /* 55456 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21646 /* 55461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21647 /* 55465 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21648 /* 55469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21649 /* 55471 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
21650 /* 55471 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21651 /* 55474 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
21652 /* 55478 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21653 /* 55483 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21654 /* 55487 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21655 /* 55491 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21656 /* 55493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
21657 /* 55496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21658 /* 55498 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21659 /* 55500 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21660 /* 55503 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21661 /* 55505 */ GIR_RootConstrainSelectedInstOperands,
21662 /* 55506 */ // GIR_Coverage, 2358,
21663 /* 55506 */ GIR_EraseRootFromParent_Done,
21664 /* 55507 */ // Label 1364: @55507
21665 /* 55507 */ GIM_Try, /*On fail goto*//*Label 1365*/ GIMT_Encode4(55605), // Rule ID 2361 //
21666 /* 55512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21667 /* 55515 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21668 /* 55518 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21669 /* 55521 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21670 /* 55524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21671 /* 55528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21672 /* 55532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21673 /* 55536 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21674 /* 55540 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21675 /* 55544 */ // MIs[1] Operand 1
21676 /* 55544 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21677 /* 55549 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21678 /* 55554 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21679 /* 55559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21680 /* 55563 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21681 /* 55567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21682 /* 55569 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
21683 /* 55569 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21684 /* 55572 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
21685 /* 55576 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21686 /* 55581 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21687 /* 55585 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21688 /* 55589 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21689 /* 55591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21690 /* 55594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21691 /* 55596 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21692 /* 55598 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21693 /* 55601 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21694 /* 55603 */ GIR_RootConstrainSelectedInstOperands,
21695 /* 55604 */ // GIR_Coverage, 2361,
21696 /* 55604 */ GIR_EraseRootFromParent_Done,
21697 /* 55605 */ // Label 1365: @55605
21698 /* 55605 */ GIM_Try, /*On fail goto*//*Label 1366*/ GIMT_Encode4(55703), // Rule ID 2362 //
21699 /* 55610 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21700 /* 55613 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21701 /* 55616 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21702 /* 55619 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21703 /* 55622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21704 /* 55626 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21705 /* 55630 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21706 /* 55634 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21707 /* 55638 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21708 /* 55642 */ // MIs[1] Operand 1
21709 /* 55642 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21710 /* 55647 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21711 /* 55652 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21712 /* 55657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21713 /* 55661 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21714 /* 55665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21715 /* 55667 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
21716 /* 55667 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21717 /* 55670 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
21718 /* 55674 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21719 /* 55679 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21720 /* 55683 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21721 /* 55687 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21722 /* 55689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21723 /* 55692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21724 /* 55694 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21725 /* 55696 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21726 /* 55699 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21727 /* 55701 */ GIR_RootConstrainSelectedInstOperands,
21728 /* 55702 */ // GIR_Coverage, 2362,
21729 /* 55702 */ GIR_EraseRootFromParent_Done,
21730 /* 55703 */ // Label 1366: @55703
21731 /* 55703 */ GIM_Try, /*On fail goto*//*Label 1367*/ GIMT_Encode4(55801), // Rule ID 2365 //
21732 /* 55708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21733 /* 55711 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21734 /* 55714 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21735 /* 55717 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21736 /* 55720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21737 /* 55724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21738 /* 55728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21739 /* 55732 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21740 /* 55736 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21741 /* 55740 */ // MIs[1] Operand 1
21742 /* 55740 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21743 /* 55745 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21744 /* 55750 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21745 /* 55755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21746 /* 55759 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21747 /* 55763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21748 /* 55765 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), GPR32:{ *:[i32] }:$F)
21749 /* 55765 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21750 /* 55768 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
21751 /* 55772 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21752 /* 55777 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21753 /* 55781 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21754 /* 55785 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21755 /* 55787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21756 /* 55790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21757 /* 55792 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21758 /* 55794 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21759 /* 55797 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21760 /* 55799 */ GIR_RootConstrainSelectedInstOperands,
21761 /* 55800 */ // GIR_Coverage, 2365,
21762 /* 55800 */ GIR_EraseRootFromParent_Done,
21763 /* 55801 */ // Label 1367: @55801
21764 /* 55801 */ GIM_Try, /*On fail goto*//*Label 1368*/ GIMT_Encode4(55899), // Rule ID 2366 //
21765 /* 55806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21766 /* 55809 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21767 /* 55812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21768 /* 55815 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21769 /* 55818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21770 /* 55822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21771 /* 55826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21772 /* 55830 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21773 /* 55834 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21774 /* 55838 */ // MIs[1] Operand 1
21775 /* 55838 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21776 /* 55843 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21777 /* 55848 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21778 /* 55853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21779 /* 55857 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21780 /* 55861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21781 /* 55863 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), GPR32:{ *:[i32] }:$F)
21782 /* 55863 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21783 /* 55866 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
21784 /* 55870 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21785 /* 55875 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21786 /* 55879 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21787 /* 55883 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21788 /* 55885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21789 /* 55888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21790 /* 55890 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21791 /* 55892 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21792 /* 55895 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21793 /* 55897 */ GIR_RootConstrainSelectedInstOperands,
21794 /* 55898 */ // GIR_Coverage, 2366,
21795 /* 55898 */ GIR_EraseRootFromParent_Done,
21796 /* 55899 */ // Label 1368: @55899
21797 /* 55899 */ GIM_Try, /*On fail goto*//*Label 1369*/ GIMT_Encode4(55997), // Rule ID 2369 //
21798 /* 55904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21799 /* 55907 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21800 /* 55910 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21801 /* 55913 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21802 /* 55916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21803 /* 55920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21804 /* 55924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21805 /* 55928 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21806 /* 55932 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21807 /* 55936 */ // MIs[1] Operand 1
21808 /* 55936 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21809 /* 55941 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21810 /* 55946 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21811 /* 55951 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21812 /* 55955 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21813 /* 55959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21814 /* 55961 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVZ_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
21815 /* 55961 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21816 /* 55964 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
21817 /* 55968 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21818 /* 55973 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21819 /* 55977 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21820 /* 55981 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21821 /* 55983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
21822 /* 55986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21823 /* 55988 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21824 /* 55990 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21825 /* 55993 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21826 /* 55995 */ GIR_RootConstrainSelectedInstOperands,
21827 /* 55996 */ // GIR_Coverage, 2369,
21828 /* 55996 */ GIR_EraseRootFromParent_Done,
21829 /* 55997 */ // Label 1369: @55997
21830 /* 55997 */ GIM_Try, /*On fail goto*//*Label 1370*/ GIMT_Encode4(56095), // Rule ID 2372 //
21831 /* 56002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21832 /* 56005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21833 /* 56008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21834 /* 56011 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21835 /* 56014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21836 /* 56018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21837 /* 56022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21838 /* 56026 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21839 /* 56030 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21840 /* 56034 */ // MIs[1] Operand 1
21841 /* 56034 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21842 /* 56039 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21843 /* 56044 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21844 /* 56049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21845 /* 56053 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21846 /* 56057 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21847 /* 56059 */ // (select:{ *:[i32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR32:{ *:[i32] }:$F)
21848 /* 56059 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21849 /* 56062 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
21850 /* 56066 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21851 /* 56071 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21852 /* 56075 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21853 /* 56079 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21854 /* 56081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
21855 /* 56084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21856 /* 56086 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21857 /* 56088 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21858 /* 56091 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21859 /* 56093 */ GIR_RootConstrainSelectedInstOperands,
21860 /* 56094 */ // GIR_Coverage, 2372,
21861 /* 56094 */ GIR_EraseRootFromParent_Done,
21862 /* 56095 */ // Label 1370: @56095
21863 /* 56095 */ GIM_Try, /*On fail goto*//*Label 1371*/ GIMT_Encode4(56193), // Rule ID 2407 //
21864 /* 56100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21865 /* 56103 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21866 /* 56106 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21867 /* 56109 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21868 /* 56112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21869 /* 56116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21870 /* 56120 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21871 /* 56124 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21872 /* 56128 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21873 /* 56132 */ // MIs[1] Operand 1
21874 /* 56132 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21875 /* 56137 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21876 /* 56142 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21877 /* 56147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21878 /* 56151 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21879 /* 56155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21880 /* 56157 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR32:{ *:[f32] }:$F)
21881 /* 56157 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21882 /* 56160 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
21883 /* 56164 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21884 /* 56169 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21885 /* 56173 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21886 /* 56177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21887 /* 56179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
21888 /* 56182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21889 /* 56184 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21890 /* 56186 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21891 /* 56189 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21892 /* 56191 */ GIR_RootConstrainSelectedInstOperands,
21893 /* 56192 */ // GIR_Coverage, 2407,
21894 /* 56192 */ GIR_EraseRootFromParent_Done,
21895 /* 56193 */ // Label 1371: @56193
21896 /* 56193 */ GIM_Try, /*On fail goto*//*Label 1372*/ GIMT_Encode4(56291), // Rule ID 2408 //
21897 /* 56198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21898 /* 56201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21899 /* 56204 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21900 /* 56207 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21901 /* 56210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21902 /* 56214 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21903 /* 56218 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21904 /* 56222 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21905 /* 56226 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21906 /* 56230 */ // MIs[1] Operand 1
21907 /* 56230 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21908 /* 56235 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21909 /* 56240 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21910 /* 56245 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21911 /* 56249 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21912 /* 56253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21913 /* 56255 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR32:{ *:[f32] }:$F)
21914 /* 56255 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21915 /* 56258 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
21916 /* 56262 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21917 /* 56267 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21918 /* 56271 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21919 /* 56275 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21920 /* 56277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
21921 /* 56280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21922 /* 56282 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21923 /* 56284 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21924 /* 56287 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21925 /* 56289 */ GIR_RootConstrainSelectedInstOperands,
21926 /* 56290 */ // GIR_Coverage, 2408,
21927 /* 56290 */ GIR_EraseRootFromParent_Done,
21928 /* 56291 */ // Label 1372: @56291
21929 /* 56291 */ GIM_Try, /*On fail goto*//*Label 1373*/ GIMT_Encode4(56389), // Rule ID 2411 //
21930 /* 56296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21931 /* 56299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21932 /* 56302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21933 /* 56305 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21934 /* 56308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21935 /* 56312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21936 /* 56316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21937 /* 56320 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21938 /* 56324 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21939 /* 56328 */ // MIs[1] Operand 1
21940 /* 56328 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21941 /* 56333 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21942 /* 56338 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21943 /* 56343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21944 /* 56347 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21945 /* 56351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21946 /* 56353 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), FGR32:{ *:[f32] }:$F)
21947 /* 56353 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21948 /* 56356 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
21949 /* 56360 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21950 /* 56365 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21951 /* 56369 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21952 /* 56373 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21953 /* 56375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
21954 /* 56378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21955 /* 56380 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21956 /* 56382 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21957 /* 56385 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21958 /* 56387 */ GIR_RootConstrainSelectedInstOperands,
21959 /* 56388 */ // GIR_Coverage, 2411,
21960 /* 56388 */ GIR_EraseRootFromParent_Done,
21961 /* 56389 */ // Label 1373: @56389
21962 /* 56389 */ GIM_Try, /*On fail goto*//*Label 1374*/ GIMT_Encode4(56487), // Rule ID 2412 //
21963 /* 56394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21964 /* 56397 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21965 /* 56400 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21966 /* 56403 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
21967 /* 56406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21968 /* 56410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21969 /* 56414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21970 /* 56418 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21971 /* 56422 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21972 /* 56426 */ // MIs[1] Operand 1
21973 /* 56426 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21974 /* 56431 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21975 /* 56436 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21976 /* 56441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21977 /* 56445 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
21978 /* 56449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21979 /* 56451 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), FGR32:{ *:[f32] }:$F)
21980 /* 56451 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21981 /* 56454 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
21982 /* 56458 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21983 /* 56463 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21984 /* 56467 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21985 /* 56471 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21986 /* 56473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
21987 /* 56476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21988 /* 56478 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21989 /* 56480 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21990 /* 56483 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21991 /* 56485 */ GIR_RootConstrainSelectedInstOperands,
21992 /* 56486 */ // GIR_Coverage, 2412,
21993 /* 56486 */ GIR_EraseRootFromParent_Done,
21994 /* 56487 */ // Label 1374: @56487
21995 /* 56487 */ GIM_Try, /*On fail goto*//*Label 1375*/ GIMT_Encode4(56585), // Rule ID 2415 //
21996 /* 56492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
21997 /* 56495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
21998 /* 56498 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
21999 /* 56501 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22000 /* 56504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22001 /* 56508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22002 /* 56512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22003 /* 56516 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22004 /* 56520 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22005 /* 56524 */ // MIs[1] Operand 1
22006 /* 56524 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22007 /* 56529 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22008 /* 56534 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22009 /* 56539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22010 /* 56543 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22011 /* 56547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22012 /* 56549 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVZ_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR32:{ *:[f32] }:$F)
22013 /* 56549 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22014 /* 56552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
22015 /* 56556 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22016 /* 56561 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22017 /* 56565 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22018 /* 56569 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22019 /* 56571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
22020 /* 56574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22021 /* 56576 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22022 /* 56578 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22023 /* 56581 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22024 /* 56583 */ GIR_RootConstrainSelectedInstOperands,
22025 /* 56584 */ // GIR_Coverage, 2415,
22026 /* 56584 */ GIR_EraseRootFromParent_Done,
22027 /* 56585 */ // Label 1375: @56585
22028 /* 56585 */ GIM_Try, /*On fail goto*//*Label 1376*/ GIMT_Encode4(56683), // Rule ID 2417 //
22029 /* 56590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
22030 /* 56593 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22031 /* 56596 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22032 /* 56599 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22033 /* 56602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22034 /* 56606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22035 /* 56610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22036 /* 56614 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22037 /* 56618 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22038 /* 56622 */ // MIs[1] Operand 1
22039 /* 56622 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
22040 /* 56627 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22041 /* 56632 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22042 /* 56637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22043 /* 56641 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22044 /* 56645 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22045 /* 56647 */ // (select:{ *:[f32] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR32:{ *:[f32] }:$F)
22046 /* 56647 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22047 /* 56650 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
22048 /* 56654 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22049 /* 56659 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22050 /* 56663 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22051 /* 56667 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22052 /* 56669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S_MM),
22053 /* 56672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22054 /* 56674 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22055 /* 56676 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22056 /* 56679 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22057 /* 56681 */ GIR_RootConstrainSelectedInstOperands,
22058 /* 56682 */ // GIR_Coverage, 2417,
22059 /* 56682 */ GIR_EraseRootFromParent_Done,
22060 /* 56683 */ // Label 1376: @56683
22061 /* 56683 */ GIM_Try, /*On fail goto*//*Label 1377*/ GIMT_Encode4(56723), // Rule ID 370 //
22062 /* 56688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotMips4_32),
22063 /* 56691 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22064 /* 56694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22065 /* 56697 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22066 /* 56700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22067 /* 56704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22068 /* 56708 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22069 /* 56712 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22070 /* 56716 */ // (select:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$cond, GPR32Opnd:{ *:[i32] }:$T, GPR32Opnd:{ *:[i32] }:$F) => (PseudoSELECT_I:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$cond, GPR32Opnd:{ *:[i32] }:$T, GPR32Opnd:{ *:[i32] }:$F)
22071 /* 56716 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_I),
22072 /* 56721 */ GIR_RootConstrainSelectedInstOperands,
22073 /* 56722 */ // GIR_Coverage, 370,
22074 /* 56722 */ GIR_Done,
22075 /* 56723 */ // Label 1377: @56723
22076 /* 56723 */ GIM_Try, /*On fail goto*//*Label 1378*/ GIMT_Encode4(56763), // Rule ID 372 //
22077 /* 56728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotMips4_32),
22078 /* 56731 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22079 /* 56734 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22080 /* 56737 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22081 /* 56740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22082 /* 56744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22083 /* 56748 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22084 /* 56752 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22085 /* 56756 */ // (select:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$cond, FGR32Opnd:{ *:[f32] }:$T, FGR32Opnd:{ *:[f32] }:$F) => (PseudoSELECT_S:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$cond, FGR32Opnd:{ *:[f32] }:$T, FGR32Opnd:{ *:[f32] }:$F)
22086 /* 56756 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_S),
22087 /* 56761 */ GIR_RootConstrainSelectedInstOperands,
22088 /* 56762 */ // GIR_Coverage, 372,
22089 /* 56762 */ GIR_Done,
22090 /* 56763 */ // Label 1378: @56763
22091 /* 56763 */ GIM_Try, /*On fail goto*//*Label 1379*/ GIMT_Encode4(56809), // Rule ID 409 //
22092 /* 56768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
22093 /* 56771 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22094 /* 56774 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22095 /* 56777 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22096 /* 56780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22097 /* 56784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32CCRegClassID),
22098 /* 56788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22099 /* 56792 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22100 /* 56796 */ // (select:{ *:[f32] } FGR32CCOpnd:{ *:[i32] }:$fd_in, FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs) => (SEL_S:{ *:[f32] } FGR32CCOpnd:{ *:[i32] }:$fd_in, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
22101 /* 56796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEL_S),
22102 /* 56799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22103 /* 56801 */ GIR_RootToRootCopy, /*OpIdx*/1, // fd_in
22104 /* 56803 */ GIR_RootToRootCopy, /*OpIdx*/3, // fs
22105 /* 56805 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
22106 /* 56807 */ GIR_RootConstrainSelectedInstOperands,
22107 /* 56808 */ // GIR_Coverage, 409,
22108 /* 56808 */ GIR_EraseRootFromParent_Done,
22109 /* 56809 */ // Label 1379: @56809
22110 /* 56809 */ GIM_Try, /*On fail goto*//*Label 1380*/ GIMT_Encode4(56855), // Rule ID 1288 //
22111 /* 56814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
22112 /* 56817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22113 /* 56820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22114 /* 56823 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22115 /* 56826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22116 /* 56830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32CCRegClassID),
22117 /* 56834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22118 /* 56838 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22119 /* 56842 */ // (select:{ *:[f32] } FGR32CCOpnd:{ *:[i32] }:$fd_in, FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs) => (SEL_S_MMR6:{ *:[f32] } FGR32CCOpnd:{ *:[i32] }:$fd_in, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
22120 /* 56842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEL_S_MMR6),
22121 /* 56845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22122 /* 56847 */ GIR_RootToRootCopy, /*OpIdx*/1, // fd_in
22123 /* 56849 */ GIR_RootToRootCopy, /*OpIdx*/3, // fs
22124 /* 56851 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
22125 /* 56853 */ GIR_RootConstrainSelectedInstOperands,
22126 /* 56854 */ // GIR_Coverage, 1288,
22127 /* 56854 */ GIR_EraseRootFromParent_Done,
22128 /* 56855 */ // Label 1380: @56855
22129 /* 56855 */ GIM_Try, /*On fail goto*//*Label 1381*/ GIMT_Encode4(56901), // Rule ID 1749 //
22130 /* 56860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
22131 /* 56863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22132 /* 56866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22133 /* 56869 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22134 /* 56872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22135 /* 56876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22136 /* 56880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22137 /* 56884 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22138 /* 56888 */ // (select:{ *:[i32] } GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$F)
22139 /* 56888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I),
22140 /* 56891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22141 /* 56893 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22142 /* 56895 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22143 /* 56897 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22144 /* 56899 */ GIR_RootConstrainSelectedInstOperands,
22145 /* 56900 */ // GIR_Coverage, 1749,
22146 /* 56900 */ GIR_EraseRootFromParent_Done,
22147 /* 56901 */ // Label 1381: @56901
22148 /* 56901 */ GIM_Try, /*On fail goto*//*Label 1382*/ GIMT_Encode4(56947), // Rule ID 1788 //
22149 /* 56906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22150 /* 56909 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
22151 /* 56912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22152 /* 56915 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22153 /* 56918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22154 /* 56922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22155 /* 56926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22156 /* 56930 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22157 /* 56934 */ // (select:{ *:[i32] } GPR64:{ *:[i64] }:$cond, GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I64_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR64:{ *:[i64] }:$cond, GPR32:{ *:[i32] }:$F)
22158 /* 56934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I),
22159 /* 56937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22160 /* 56939 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22161 /* 56941 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22162 /* 56943 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22163 /* 56945 */ GIR_RootConstrainSelectedInstOperands,
22164 /* 56946 */ // GIR_Coverage, 1788,
22165 /* 56946 */ GIR_EraseRootFromParent_Done,
22166 /* 56947 */ // Label 1382: @56947
22167 /* 56947 */ GIM_Try, /*On fail goto*//*Label 1383*/ GIMT_Encode4(56993), // Rule ID 1804 //
22168 /* 56952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
22169 /* 56955 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22170 /* 56958 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22171 /* 56961 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22172 /* 56964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22173 /* 56968 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22174 /* 56972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22175 /* 56976 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22176 /* 56980 */ // (select:{ *:[f32] } GPR32:{ *:[i32] }:$cond, FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR32:{ *:[i32] }:$cond, FGR32:{ *:[f32] }:$F)
22177 /* 56980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S),
22178 /* 56983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22179 /* 56985 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22180 /* 56987 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22181 /* 56989 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22182 /* 56991 */ GIR_RootConstrainSelectedInstOperands,
22183 /* 56992 */ // GIR_Coverage, 1804,
22184 /* 56992 */ GIR_EraseRootFromParent_Done,
22185 /* 56993 */ // Label 1383: @56993
22186 /* 56993 */ GIM_Try, /*On fail goto*//*Label 1384*/ GIMT_Encode4(57039), // Rule ID 1817 //
22187 /* 56998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22188 /* 57001 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
22189 /* 57004 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22190 /* 57007 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22191 /* 57010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22192 /* 57014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22193 /* 57018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22194 /* 57022 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22195 /* 57026 */ // (select:{ *:[f32] } GPR64:{ *:[i64] }:$cond, FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I64_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR64:{ *:[i64] }:$cond, FGR32:{ *:[f32] }:$F)
22196 /* 57026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_S),
22197 /* 57029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22198 /* 57031 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22199 /* 57033 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22200 /* 57035 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22201 /* 57037 */ GIR_RootConstrainSelectedInstOperands,
22202 /* 57038 */ // GIR_Coverage, 1817,
22203 /* 57038 */ GIR_EraseRootFromParent_Done,
22204 /* 57039 */ // Label 1384: @57039
22205 /* 57039 */ GIM_Try, /*On fail goto*//*Label 1385*/ GIMT_Encode4(57085), // Rule ID 2011 //
22206 /* 57044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
22207 /* 57047 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22208 /* 57050 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22209 /* 57053 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22210 /* 57056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
22211 /* 57060 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
22212 /* 57064 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
22213 /* 57068 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
22214 /* 57072 */ // (select:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelBneZ:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$a)
22215 /* 57072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelBneZ),
22216 /* 57075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
22217 /* 57077 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
22218 /* 57079 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
22219 /* 57081 */ GIR_RootToRootCopy, /*OpIdx*/1, // a
22220 /* 57083 */ GIR_RootConstrainSelectedInstOperands,
22221 /* 57084 */ // GIR_Coverage, 2011,
22222 /* 57084 */ GIR_EraseRootFromParent_Done,
22223 /* 57085 */ // Label 1385: @57085
22224 /* 57085 */ GIM_Try, /*On fail goto*//*Label 1386*/ GIMT_Encode4(57131), // Rule ID 2359 //
22225 /* 57090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6),
22226 /* 57093 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22227 /* 57096 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22228 /* 57099 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22229 /* 57102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22230 /* 57106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22231 /* 57110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22232 /* 57114 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22233 /* 57118 */ // (select:{ *:[i32] } GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$F)
22234 /* 57118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
22235 /* 57121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22236 /* 57123 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22237 /* 57125 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22238 /* 57127 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22239 /* 57129 */ GIR_RootConstrainSelectedInstOperands,
22240 /* 57130 */ // GIR_Coverage, 2359,
22241 /* 57130 */ GIR_EraseRootFromParent_Done,
22242 /* 57131 */ // Label 1386: @57131
22243 /* 57131 */ GIM_Try, /*On fail goto*//*Label 1387*/ GIMT_Encode4(57177), // Rule ID 2373 //
22244 /* 57136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
22245 /* 57139 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22246 /* 57142 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22247 /* 57145 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22248 /* 57148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22249 /* 57152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22250 /* 57156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22251 /* 57160 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22252 /* 57164 */ // (select:{ *:[i32] } GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$F)
22253 /* 57164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
22254 /* 57167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22255 /* 57169 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22256 /* 57171 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22257 /* 57173 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22258 /* 57175 */ GIR_RootConstrainSelectedInstOperands,
22259 /* 57176 */ // GIR_Coverage, 2373,
22260 /* 57176 */ GIR_EraseRootFromParent_Done,
22261 /* 57177 */ // Label 1387: @57177
22262 /* 57177 */ GIM_Try, /*On fail goto*//*Label 1388*/ GIMT_Encode4(57223), // Rule ID 2418 //
22263 /* 57182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
22264 /* 57185 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22265 /* 57188 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22266 /* 57191 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22267 /* 57194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22268 /* 57198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22269 /* 57202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22270 /* 57206 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22271 /* 57210 */ // (select:{ *:[f32] } GPR32:{ *:[i32] }:$cond, FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I_S_MM:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR32:{ *:[i32] }:$cond, FGR32:{ *:[f32] }:$F)
22272 /* 57210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S_MM),
22273 /* 57213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22274 /* 57215 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22275 /* 57217 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22276 /* 57219 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22277 /* 57221 */ GIR_RootConstrainSelectedInstOperands,
22278 /* 57222 */ // GIR_Coverage, 2418,
22279 /* 57222 */ GIR_EraseRootFromParent_Done,
22280 /* 57223 */ // Label 1388: @57223
22281 /* 57223 */ GIM_Try, /*On fail goto*//*Label 1389*/ GIMT_Encode4(57301), // Rule ID 1878 //
22282 /* 57228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
22283 /* 57231 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22284 /* 57234 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22285 /* 57237 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22286 /* 57240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22287 /* 57244 */ // (select:{ *:[i32] } i32:{ *:[i32] }:$cond, i32:{ *:[i32] }:$t, i32:{ *:[i32] }:$f) => (OR:{ *:[i32] } (SELNEZ:{ *:[i32] } i32:{ *:[i32] }:$t, i32:{ *:[i32] }:$cond), (SELEQZ:{ *:[i32] } i32:{ *:[i32] }:$f, i32:{ *:[i32] }:$cond))
22288 /* 57244 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
22289 /* 57247 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SELEQZ),
22290 /* 57251 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22291 /* 57256 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // f
22292 /* 57260 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // cond
22293 /* 57264 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
22294 /* 57266 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22295 /* 57269 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SELNEZ),
22296 /* 57273 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22297 /* 57278 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // t
22298 /* 57282 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // cond
22299 /* 57286 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22300 /* 57288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::OR),
22301 /* 57291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22302 /* 57293 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22303 /* 57296 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
22304 /* 57299 */ GIR_RootConstrainSelectedInstOperands,
22305 /* 57300 */ // GIR_Coverage, 1878,
22306 /* 57300 */ GIR_EraseRootFromParent_Done,
22307 /* 57301 */ // Label 1389: @57301
22308 /* 57301 */ GIM_Try, /*On fail goto*//*Label 1390*/ GIMT_Encode4(57379), // Rule ID 2435 //
22309 /* 57306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
22310 /* 57309 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22311 /* 57312 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22312 /* 57315 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
22313 /* 57318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22314 /* 57322 */ // (select:{ *:[i32] } i32:{ *:[i32] }:$cond, i32:{ *:[i32] }:$t, i32:{ *:[i32] }:$f) => (OR_MM:{ *:[i32] } (SELNEZ_MMR6:{ *:[i32] } i32:{ *:[i32] }:$t, i32:{ *:[i32] }:$cond), (SELEQZ_MMR6:{ *:[i32] } i32:{ *:[i32] }:$f, i32:{ *:[i32] }:$cond))
22315 /* 57322 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
22316 /* 57325 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SELEQZ_MMR6),
22317 /* 57329 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22318 /* 57334 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // f
22319 /* 57338 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // cond
22320 /* 57342 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
22321 /* 57344 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22322 /* 57347 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SELNEZ_MMR6),
22323 /* 57351 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22324 /* 57356 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // t
22325 /* 57360 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // cond
22326 /* 57364 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22327 /* 57366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::OR_MM),
22328 /* 57369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22329 /* 57371 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22330 /* 57374 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
22331 /* 57377 */ GIR_RootConstrainSelectedInstOperands,
22332 /* 57378 */ // GIR_Coverage, 2435,
22333 /* 57378 */ GIR_EraseRootFromParent_Done,
22334 /* 57379 */ // Label 1390: @57379
22335 /* 57379 */ GIM_Reject,
22336 /* 57380 */ // Label 1305: @57380
22337 /* 57380 */ GIM_Try, /*On fail goto*//*Label 1391*/ GIMT_Encode4(57456), // Rule ID 1776 //
22338 /* 57385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22339 /* 57388 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22340 /* 57391 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22341 /* 57394 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22342 /* 57397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22343 /* 57401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22344 /* 57405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22345 /* 57409 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22346 /* 57413 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22347 /* 57417 */ // MIs[1] Operand 1
22348 /* 57417 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22349 /* 57422 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22350 /* 57427 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22351 /* 57431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22352 /* 57435 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22353 /* 57439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22354 /* 57441 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, GPR32:{ *:[i32] }:$lhs, GPR64:{ *:[i64] }:$F)
22355 /* 57441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22356 /* 57444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22357 /* 57446 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22358 /* 57448 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22359 /* 57452 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22360 /* 57454 */ GIR_RootConstrainSelectedInstOperands,
22361 /* 57455 */ // GIR_Coverage, 1776,
22362 /* 57455 */ GIR_EraseRootFromParent_Done,
22363 /* 57456 */ // Label 1391: @57456
22364 /* 57456 */ GIM_Try, /*On fail goto*//*Label 1392*/ GIMT_Encode4(57532), // Rule ID 1780 //
22365 /* 57461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22366 /* 57464 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22367 /* 57467 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22368 /* 57470 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22369 /* 57473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22370 /* 57477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22371 /* 57481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22372 /* 57485 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22373 /* 57489 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22374 /* 57493 */ // MIs[1] Operand 1
22375 /* 57493 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22376 /* 57498 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22377 /* 57503 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22378 /* 57507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22379 /* 57511 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22380 /* 57515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22381 /* 57517 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETEQ:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I64_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$F)
22382 /* 57517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_I64),
22383 /* 57520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22384 /* 57522 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22385 /* 57524 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22386 /* 57528 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22387 /* 57530 */ GIR_RootConstrainSelectedInstOperands,
22388 /* 57531 */ // GIR_Coverage, 1780,
22389 /* 57531 */ GIR_EraseRootFromParent_Done,
22390 /* 57532 */ // Label 1392: @57532
22391 /* 57532 */ GIM_Try, /*On fail goto*//*Label 1393*/ GIMT_Encode4(57608), // Rule ID 1786 //
22392 /* 57537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22393 /* 57540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22394 /* 57543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22395 /* 57546 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22396 /* 57549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22397 /* 57553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22398 /* 57557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22399 /* 57561 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22400 /* 57565 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22401 /* 57569 */ // MIs[1] Operand 1
22402 /* 57569 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
22403 /* 57574 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22404 /* 57579 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22405 /* 57583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22406 /* 57587 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22407 /* 57591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22408 /* 57593 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVN_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, GPR32:{ *:[i32] }:$lhs, GPR64:{ *:[i64] }:$F)
22409 /* 57593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I64),
22410 /* 57596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22411 /* 57598 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22412 /* 57600 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22413 /* 57604 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22414 /* 57606 */ GIR_RootConstrainSelectedInstOperands,
22415 /* 57607 */ // GIR_Coverage, 1786,
22416 /* 57607 */ GIR_EraseRootFromParent_Done,
22417 /* 57608 */ // Label 1393: @57608
22418 /* 57608 */ GIM_Try, /*On fail goto*//*Label 1394*/ GIMT_Encode4(57684), // Rule ID 1792 //
22419 /* 57613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22420 /* 57616 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22421 /* 57619 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22422 /* 57622 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22423 /* 57625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22424 /* 57629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22425 /* 57633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22426 /* 57637 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22427 /* 57641 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22428 /* 57645 */ // MIs[1] Operand 1
22429 /* 57645 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
22430 /* 57650 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22431 /* 57655 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22432 /* 57659 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22433 /* 57663 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22434 /* 57667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22435 /* 57669 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETNE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVN_I64_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$F)
22436 /* 57669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I64),
22437 /* 57672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22438 /* 57674 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22439 /* 57676 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22440 /* 57680 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22441 /* 57682 */ GIR_RootConstrainSelectedInstOperands,
22442 /* 57683 */ // GIR_Coverage, 1792,
22443 /* 57683 */ GIR_EraseRootFromParent_Done,
22444 /* 57684 */ // Label 1394: @57684
22445 /* 57684 */ GIM_Try, /*On fail goto*//*Label 1395*/ GIMT_Encode4(57760), // Rule ID 1828 //
22446 /* 57689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22447 /* 57692 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22448 /* 57695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22449 /* 57698 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22450 /* 57701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22451 /* 57705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22452 /* 57709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22453 /* 57713 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22454 /* 57717 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22455 /* 57721 */ // MIs[1] Operand 1
22456 /* 57721 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22457 /* 57726 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22458 /* 57731 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22459 /* 57735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22460 /* 57739 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22461 /* 57743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22462 /* 57745 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$lhs, AFGR64:{ *:[f64] }:$F)
22463 /* 57745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
22464 /* 57748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22465 /* 57750 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22466 /* 57752 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22467 /* 57756 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22468 /* 57758 */ GIR_RootConstrainSelectedInstOperands,
22469 /* 57759 */ // GIR_Coverage, 1828,
22470 /* 57759 */ GIR_EraseRootFromParent_Done,
22471 /* 57760 */ // Label 1395: @57760
22472 /* 57760 */ GIM_Try, /*On fail goto*//*Label 1396*/ GIMT_Encode4(57836), // Rule ID 1831 //
22473 /* 57765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22474 /* 57768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22475 /* 57771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22476 /* 57774 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22477 /* 57777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22478 /* 57781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22479 /* 57785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22480 /* 57789 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22481 /* 57793 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22482 /* 57797 */ // MIs[1] Operand 1
22483 /* 57797 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
22484 /* 57802 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22485 /* 57807 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22486 /* 57811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22487 /* 57815 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22488 /* 57819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22489 /* 57821 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVN_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$lhs, AFGR64:{ *:[f64] }:$F)
22490 /* 57821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32),
22491 /* 57824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22492 /* 57826 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22493 /* 57828 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22494 /* 57832 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22495 /* 57834 */ GIR_RootConstrainSelectedInstOperands,
22496 /* 57835 */ // GIR_Coverage, 1831,
22497 /* 57835 */ GIR_EraseRootFromParent_Done,
22498 /* 57836 */ // Label 1396: @57836
22499 /* 57836 */ GIM_Try, /*On fail goto*//*Label 1397*/ GIMT_Encode4(57912), // Rule ID 1849 //
22500 /* 57841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22501 /* 57844 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22502 /* 57847 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22503 /* 57850 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22504 /* 57853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22505 /* 57857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22506 /* 57861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22507 /* 57865 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22508 /* 57869 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22509 /* 57873 */ // MIs[1] Operand 1
22510 /* 57873 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22511 /* 57878 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22512 /* 57883 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22513 /* 57887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22514 /* 57891 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22515 /* 57895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22516 /* 57897 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$lhs, FGR64:{ *:[f64] }:$F)
22517 /* 57897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
22518 /* 57900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22519 /* 57902 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22520 /* 57904 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22521 /* 57908 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22522 /* 57910 */ GIR_RootConstrainSelectedInstOperands,
22523 /* 57911 */ // GIR_Coverage, 1849,
22524 /* 57911 */ GIR_EraseRootFromParent_Done,
22525 /* 57912 */ // Label 1397: @57912
22526 /* 57912 */ GIM_Try, /*On fail goto*//*Label 1398*/ GIMT_Encode4(57988), // Rule ID 1851 //
22527 /* 57917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22528 /* 57920 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22529 /* 57923 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22530 /* 57926 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22531 /* 57929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22532 /* 57933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22533 /* 57937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22534 /* 57941 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22535 /* 57945 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22536 /* 57949 */ // MIs[1] Operand 1
22537 /* 57949 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22538 /* 57954 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22539 /* 57959 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22540 /* 57963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22541 /* 57967 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22542 /* 57971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22543 /* 57973 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETEQ:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I64_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, GPR64:{ *:[i64] }:$lhs, FGR64:{ *:[f64] }:$F)
22544 /* 57973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_D64),
22545 /* 57976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22546 /* 57978 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22547 /* 57980 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22548 /* 57984 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22549 /* 57986 */ GIR_RootConstrainSelectedInstOperands,
22550 /* 57987 */ // GIR_Coverage, 1851,
22551 /* 57987 */ GIR_EraseRootFromParent_Done,
22552 /* 57988 */ // Label 1398: @57988
22553 /* 57988 */ GIM_Try, /*On fail goto*//*Label 1399*/ GIMT_Encode4(58064), // Rule ID 1854 //
22554 /* 57993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22555 /* 57996 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22556 /* 57999 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22557 /* 58002 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22558 /* 58005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22559 /* 58009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22560 /* 58013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22561 /* 58017 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22562 /* 58021 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22563 /* 58025 */ // MIs[1] Operand 1
22564 /* 58025 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
22565 /* 58030 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22566 /* 58035 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22567 /* 58039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22568 /* 58043 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22569 /* 58047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22570 /* 58049 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVN_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$lhs, FGR64:{ *:[f64] }:$F)
22571 /* 58049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D64),
22572 /* 58052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22573 /* 58054 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22574 /* 58056 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22575 /* 58060 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22576 /* 58062 */ GIR_RootConstrainSelectedInstOperands,
22577 /* 58063 */ // GIR_Coverage, 1854,
22578 /* 58063 */ GIR_EraseRootFromParent_Done,
22579 /* 58064 */ // Label 1399: @58064
22580 /* 58064 */ GIM_Try, /*On fail goto*//*Label 1400*/ GIMT_Encode4(58140), // Rule ID 1857 //
22581 /* 58069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22582 /* 58072 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22583 /* 58075 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22584 /* 58078 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22585 /* 58081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22586 /* 58085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22587 /* 58089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22588 /* 58093 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22589 /* 58097 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22590 /* 58101 */ // MIs[1] Operand 1
22591 /* 58101 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
22592 /* 58106 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22593 /* 58111 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22594 /* 58115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22595 /* 58119 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22596 /* 58123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22597 /* 58125 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETNE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVN_I64_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, GPR64:{ *:[i64] }:$lhs, FGR64:{ *:[f64] }:$F)
22598 /* 58125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_D64),
22599 /* 58128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22600 /* 58130 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22601 /* 58132 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22602 /* 58136 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22603 /* 58138 */ GIR_RootConstrainSelectedInstOperands,
22604 /* 58139 */ // GIR_Coverage, 1857,
22605 /* 58139 */ GIR_EraseRootFromParent_Done,
22606 /* 58140 */ // Label 1400: @58140
22607 /* 58140 */ GIM_Try, /*On fail goto*//*Label 1401*/ GIMT_Encode4(58216), // Rule ID 2429 //
22608 /* 58145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
22609 /* 58148 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22610 /* 58151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22611 /* 58154 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22612 /* 58157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22613 /* 58161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22614 /* 58165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22615 /* 58169 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22616 /* 58173 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22617 /* 58177 */ // MIs[1] Operand 1
22618 /* 58177 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22619 /* 58182 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22620 /* 58187 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22621 /* 58191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22622 /* 58195 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22623 /* 58199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22624 /* 58201 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$lhs, AFGR64:{ *:[f64] }:$F)
22625 /* 58201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
22626 /* 58204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22627 /* 58206 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22628 /* 58208 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22629 /* 58212 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22630 /* 58214 */ GIR_RootConstrainSelectedInstOperands,
22631 /* 58215 */ // GIR_Coverage, 2429,
22632 /* 58215 */ GIR_EraseRootFromParent_Done,
22633 /* 58216 */ // Label 1401: @58216
22634 /* 58216 */ GIM_Try, /*On fail goto*//*Label 1402*/ GIMT_Encode4(58292), // Rule ID 2432 //
22635 /* 58221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
22636 /* 58224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22637 /* 58227 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22638 /* 58230 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22639 /* 58233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22640 /* 58237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22641 /* 58241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22642 /* 58245 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22643 /* 58249 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22644 /* 58253 */ // MIs[1] Operand 1
22645 /* 58253 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
22646 /* 58258 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22647 /* 58263 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
22648 /* 58267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22649 /* 58271 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22650 /* 58275 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22651 /* 58277 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVN_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$lhs, AFGR64:{ *:[f64] }:$F)
22652 /* 58277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32_MM),
22653 /* 58280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22654 /* 58282 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22655 /* 58284 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22656 /* 58288 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22657 /* 58290 */ GIR_RootConstrainSelectedInstOperands,
22658 /* 58291 */ // GIR_Coverage, 2432,
22659 /* 58291 */ GIR_EraseRootFromParent_Done,
22660 /* 58292 */ // Label 1402: @58292
22661 /* 58292 */ GIM_Try, /*On fail goto*//*Label 1403*/ GIMT_Encode4(58390), // Rule ID 1751 //
22662 /* 58297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22663 /* 58300 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22664 /* 58303 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22665 /* 58306 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22666 /* 58309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22667 /* 58313 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22668 /* 58317 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22669 /* 58321 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22670 /* 58325 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22671 /* 58329 */ // MIs[1] Operand 1
22672 /* 58329 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
22673 /* 58334 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22674 /* 58339 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22675 /* 58344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22676 /* 58348 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22677 /* 58352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22678 /* 58354 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR64:{ *:[i64] }:$F)
22679 /* 58354 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22680 /* 58357 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
22681 /* 58361 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22682 /* 58366 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22683 /* 58370 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22684 /* 58374 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22685 /* 58376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22686 /* 58379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22687 /* 58381 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22688 /* 58383 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22689 /* 58386 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22690 /* 58388 */ GIR_RootConstrainSelectedInstOperands,
22691 /* 58389 */ // GIR_Coverage, 1751,
22692 /* 58389 */ GIR_EraseRootFromParent_Done,
22693 /* 58390 */ // Label 1403: @58390
22694 /* 58390 */ GIM_Try, /*On fail goto*//*Label 1404*/ GIMT_Encode4(58488), // Rule ID 1752 //
22695 /* 58395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22696 /* 58398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22697 /* 58401 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22698 /* 58404 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22699 /* 58407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22700 /* 58411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22701 /* 58415 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22702 /* 58419 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22703 /* 58423 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22704 /* 58427 */ // MIs[1] Operand 1
22705 /* 58427 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
22706 /* 58432 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22707 /* 58437 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22708 /* 58442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22709 /* 58446 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22710 /* 58450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22711 /* 58452 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR64:{ *:[i64] }:$F)
22712 /* 58452 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22713 /* 58455 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
22714 /* 58459 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22715 /* 58464 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22716 /* 58468 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22717 /* 58472 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22718 /* 58474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22719 /* 58477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22720 /* 58479 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22721 /* 58481 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22722 /* 58484 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22723 /* 58486 */ GIR_RootConstrainSelectedInstOperands,
22724 /* 58487 */ // GIR_Coverage, 1752,
22725 /* 58487 */ GIR_EraseRootFromParent_Done,
22726 /* 58488 */ // Label 1404: @58488
22727 /* 58488 */ GIM_Try, /*On fail goto*//*Label 1405*/ GIMT_Encode4(58586), // Rule ID 1755 //
22728 /* 58493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22729 /* 58496 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22730 /* 58499 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22731 /* 58502 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22732 /* 58505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22733 /* 58509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22734 /* 58513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22735 /* 58517 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22736 /* 58521 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22737 /* 58525 */ // MIs[1] Operand 1
22738 /* 58525 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
22739 /* 58530 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22740 /* 58535 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22741 /* 58540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22742 /* 58544 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22743 /* 58548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22744 /* 58550 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), GPR64:{ *:[i64] }:$F)
22745 /* 58550 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22746 /* 58553 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
22747 /* 58557 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22748 /* 58562 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22749 /* 58566 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22750 /* 58570 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22751 /* 58572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22752 /* 58575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22753 /* 58577 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22754 /* 58579 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22755 /* 58582 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22756 /* 58584 */ GIR_RootConstrainSelectedInstOperands,
22757 /* 58585 */ // GIR_Coverage, 1755,
22758 /* 58585 */ GIR_EraseRootFromParent_Done,
22759 /* 58586 */ // Label 1405: @58586
22760 /* 58586 */ GIM_Try, /*On fail goto*//*Label 1406*/ GIMT_Encode4(58684), // Rule ID 1756 //
22761 /* 58591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22762 /* 58594 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22763 /* 58597 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22764 /* 58600 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22765 /* 58603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22766 /* 58607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22767 /* 58611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22768 /* 58615 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22769 /* 58619 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22770 /* 58623 */ // MIs[1] Operand 1
22771 /* 58623 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
22772 /* 58628 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22773 /* 58633 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22774 /* 58638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22775 /* 58642 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22776 /* 58646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22777 /* 58648 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), GPR64:{ *:[i64] }:$F)
22778 /* 58648 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22779 /* 58651 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
22780 /* 58655 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22781 /* 58660 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22782 /* 58664 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22783 /* 58668 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22784 /* 58670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22785 /* 58673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22786 /* 58675 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22787 /* 58677 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22788 /* 58680 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22789 /* 58682 */ GIR_RootConstrainSelectedInstOperands,
22790 /* 58683 */ // GIR_Coverage, 1756,
22791 /* 58683 */ GIR_EraseRootFromParent_Done,
22792 /* 58684 */ // Label 1406: @58684
22793 /* 58684 */ GIM_Try, /*On fail goto*//*Label 1407*/ GIMT_Encode4(58782), // Rule ID 1767 //
22794 /* 58689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22795 /* 58692 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22796 /* 58695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22797 /* 58698 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22798 /* 58701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22799 /* 58705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22800 /* 58709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22801 /* 58713 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22802 /* 58717 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22803 /* 58721 */ // MIs[1] Operand 1
22804 /* 58721 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
22805 /* 58726 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22806 /* 58731 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22807 /* 58736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22808 /* 58740 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22809 /* 58744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22810 /* 58746 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), GPR64:{ *:[i64] }:$F)
22811 /* 58746 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22812 /* 58749 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
22813 /* 58753 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22814 /* 58758 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22815 /* 58762 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22816 /* 58766 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22817 /* 58768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22818 /* 58771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22819 /* 58773 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22820 /* 58775 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22821 /* 58778 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22822 /* 58780 */ GIR_RootConstrainSelectedInstOperands,
22823 /* 58781 */ // GIR_Coverage, 1767,
22824 /* 58781 */ GIR_EraseRootFromParent_Done,
22825 /* 58782 */ // Label 1407: @58782
22826 /* 58782 */ GIM_Try, /*On fail goto*//*Label 1408*/ GIMT_Encode4(58880), // Rule ID 1768 //
22827 /* 58787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22828 /* 58790 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22829 /* 58793 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22830 /* 58796 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22831 /* 58799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22832 /* 58803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22833 /* 58807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22834 /* 58811 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22835 /* 58815 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22836 /* 58819 */ // MIs[1] Operand 1
22837 /* 58819 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
22838 /* 58824 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22839 /* 58829 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22840 /* 58834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22841 /* 58838 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22842 /* 58842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22843 /* 58844 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), GPR64:{ *:[i64] }:$F)
22844 /* 58844 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22845 /* 58847 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
22846 /* 58851 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22847 /* 58856 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22848 /* 58860 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22849 /* 58864 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22850 /* 58866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22851 /* 58869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22852 /* 58871 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22853 /* 58873 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22854 /* 58876 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22855 /* 58878 */ GIR_RootConstrainSelectedInstOperands,
22856 /* 58879 */ // GIR_Coverage, 1768,
22857 /* 58879 */ GIR_EraseRootFromParent_Done,
22858 /* 58880 */ // Label 1408: @58880
22859 /* 58880 */ GIM_Try, /*On fail goto*//*Label 1409*/ GIMT_Encode4(58978), // Rule ID 1771 //
22860 /* 58885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22861 /* 58888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22862 /* 58891 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22863 /* 58894 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22864 /* 58897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22865 /* 58901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22866 /* 58905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22867 /* 58909 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22868 /* 58913 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22869 /* 58917 */ // MIs[1] Operand 1
22870 /* 58917 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
22871 /* 58922 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22872 /* 58927 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22873 /* 58932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22874 /* 58936 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22875 /* 58940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22876 /* 58942 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), GPR64:{ *:[i64] }:$F)
22877 /* 58942 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22878 /* 58945 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
22879 /* 58949 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22880 /* 58954 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22881 /* 58958 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22882 /* 58962 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22883 /* 58964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22884 /* 58967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22885 /* 58969 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22886 /* 58971 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22887 /* 58974 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22888 /* 58976 */ GIR_RootConstrainSelectedInstOperands,
22889 /* 58977 */ // GIR_Coverage, 1771,
22890 /* 58977 */ GIR_EraseRootFromParent_Done,
22891 /* 58978 */ // Label 1409: @58978
22892 /* 58978 */ GIM_Try, /*On fail goto*//*Label 1410*/ GIMT_Encode4(59076), // Rule ID 1772 //
22893 /* 58983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22894 /* 58986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22895 /* 58989 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22896 /* 58992 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22897 /* 58995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22898 /* 58999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22899 /* 59003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22900 /* 59007 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22901 /* 59011 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22902 /* 59015 */ // MIs[1] Operand 1
22903 /* 59015 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
22904 /* 59020 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22905 /* 59025 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22906 /* 59030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22907 /* 59034 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22908 /* 59038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22909 /* 59040 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), GPR64:{ *:[i64] }:$F)
22910 /* 59040 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22911 /* 59043 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
22912 /* 59047 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22913 /* 59052 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22914 /* 59056 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22915 /* 59060 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22916 /* 59062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22917 /* 59065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22918 /* 59067 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22919 /* 59069 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22920 /* 59072 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22921 /* 59074 */ GIR_RootConstrainSelectedInstOperands,
22922 /* 59075 */ // GIR_Coverage, 1772,
22923 /* 59075 */ GIR_EraseRootFromParent_Done,
22924 /* 59076 */ // Label 1410: @59076
22925 /* 59076 */ GIM_Try, /*On fail goto*//*Label 1411*/ GIMT_Encode4(59174), // Rule ID 1775 //
22926 /* 59081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22927 /* 59084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22928 /* 59087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22929 /* 59090 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22930 /* 59093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22931 /* 59097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22932 /* 59101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22933 /* 59105 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22934 /* 59109 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22935 /* 59113 */ // MIs[1] Operand 1
22936 /* 59113 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22937 /* 59118 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22938 /* 59123 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22939 /* 59128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22940 /* 59132 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22941 /* 59136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22942 /* 59138 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR64:{ *:[i64] }:$F)
22943 /* 59138 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22944 /* 59141 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
22945 /* 59145 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22946 /* 59150 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22947 /* 59154 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22948 /* 59158 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22949 /* 59160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
22950 /* 59163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22951 /* 59165 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22952 /* 59167 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22953 /* 59170 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22954 /* 59172 */ GIR_RootConstrainSelectedInstOperands,
22955 /* 59173 */ // GIR_Coverage, 1775,
22956 /* 59173 */ GIR_EraseRootFromParent_Done,
22957 /* 59174 */ // Label 1411: @59174
22958 /* 59174 */ GIM_Try, /*On fail goto*//*Label 1412*/ GIMT_Encode4(59272), // Rule ID 1779 //
22959 /* 59179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22960 /* 59182 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22961 /* 59185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22962 /* 59188 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22963 /* 59191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22964 /* 59195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22965 /* 59199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22966 /* 59203 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22967 /* 59207 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
22968 /* 59211 */ // MIs[1] Operand 1
22969 /* 59211 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22970 /* 59216 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22971 /* 59221 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22972 /* 59226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22973 /* 59230 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22974 /* 59234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22975 /* 59236 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVZ_I64_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), GPR64:{ *:[i64] }:$F)
22976 /* 59236 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
22977 /* 59239 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
22978 /* 59243 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22979 /* 59248 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22980 /* 59252 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22981 /* 59256 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22982 /* 59258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_I64),
22983 /* 59261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22984 /* 59263 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22985 /* 59265 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22986 /* 59268 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22987 /* 59270 */ GIR_RootConstrainSelectedInstOperands,
22988 /* 59271 */ // GIR_Coverage, 1779,
22989 /* 59271 */ GIR_EraseRootFromParent_Done,
22990 /* 59272 */ // Label 1412: @59272
22991 /* 59272 */ GIM_Try, /*On fail goto*//*Label 1413*/ GIMT_Encode4(59370), // Rule ID 1784 //
22992 /* 59277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
22993 /* 59280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22994 /* 59283 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22995 /* 59286 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22996 /* 59289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22997 /* 59293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22998 /* 59297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22999 /* 59301 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23000 /* 59305 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23001 /* 59309 */ // MIs[1] Operand 1
23002 /* 59309 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
23003 /* 59314 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23004 /* 59319 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23005 /* 59324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23006 /* 59328 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23007 /* 59332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23008 /* 59334 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVN_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), GPR64:{ *:[i64] }:$F)
23009 /* 59334 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23010 /* 59337 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
23011 /* 59341 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23012 /* 59346 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23013 /* 59350 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23014 /* 59354 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23015 /* 59356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I64),
23016 /* 59359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
23017 /* 59361 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23018 /* 59363 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23019 /* 59366 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23020 /* 59368 */ GIR_RootConstrainSelectedInstOperands,
23021 /* 59369 */ // GIR_Coverage, 1784,
23022 /* 59369 */ GIR_EraseRootFromParent_Done,
23023 /* 59370 */ // Label 1413: @59370
23024 /* 59370 */ GIM_Try, /*On fail goto*//*Label 1414*/ GIMT_Encode4(59468), // Rule ID 1790 //
23025 /* 59375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23026 /* 59378 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23027 /* 59381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23028 /* 59384 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23029 /* 59387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23030 /* 59391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23031 /* 59395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23032 /* 59399 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23033 /* 59403 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
23034 /* 59407 */ // MIs[1] Operand 1
23035 /* 59407 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
23036 /* 59412 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23037 /* 59417 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23038 /* 59422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23039 /* 59426 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23040 /* 59430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23041 /* 59432 */ // (select:{ *:[i64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }), GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVN_I64_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), GPR64:{ *:[i64] }:$F)
23042 /* 59432 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
23043 /* 59435 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
23044 /* 59439 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23045 /* 59444 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23046 /* 59448 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23047 /* 59452 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23048 /* 59454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I64),
23049 /* 59457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
23050 /* 59459 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23051 /* 59461 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23052 /* 59464 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23053 /* 59466 */ GIR_RootConstrainSelectedInstOperands,
23054 /* 59467 */ // GIR_Coverage, 1790,
23055 /* 59467 */ GIR_EraseRootFromParent_Done,
23056 /* 59468 */ // Label 1414: @59468
23057 /* 59468 */ GIM_Try, /*On fail goto*//*Label 1415*/ GIMT_Encode4(59566), // Rule ID 1819 //
23058 /* 59473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23059 /* 59476 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23060 /* 59479 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23061 /* 59482 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23062 /* 59485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23063 /* 59489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23064 /* 59493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23065 /* 59497 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23066 /* 59501 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23067 /* 59505 */ // MIs[1] Operand 1
23068 /* 59505 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
23069 /* 59510 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23070 /* 59515 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23071 /* 59520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23072 /* 59524 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23073 /* 59528 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23074 /* 59530 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), AFGR64:{ *:[f64] }:$F)
23075 /* 59530 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23076 /* 59533 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
23077 /* 59537 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23078 /* 59542 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23079 /* 59546 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23080 /* 59550 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23081 /* 59552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
23082 /* 59555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23083 /* 59557 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23084 /* 59559 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23085 /* 59562 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23086 /* 59564 */ GIR_RootConstrainSelectedInstOperands,
23087 /* 59565 */ // GIR_Coverage, 1819,
23088 /* 59565 */ GIR_EraseRootFromParent_Done,
23089 /* 59566 */ // Label 1415: @59566
23090 /* 59566 */ GIM_Try, /*On fail goto*//*Label 1416*/ GIMT_Encode4(59664), // Rule ID 1820 //
23091 /* 59571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23092 /* 59574 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23093 /* 59577 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23094 /* 59580 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23095 /* 59583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23096 /* 59587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23097 /* 59591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23098 /* 59595 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23099 /* 59599 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23100 /* 59603 */ // MIs[1] Operand 1
23101 /* 59603 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
23102 /* 59608 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23103 /* 59613 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23104 /* 59618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23105 /* 59622 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23106 /* 59626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23107 /* 59628 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), AFGR64:{ *:[f64] }:$F)
23108 /* 59628 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23109 /* 59631 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
23110 /* 59635 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23111 /* 59640 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23112 /* 59644 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23113 /* 59648 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23114 /* 59650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
23115 /* 59653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23116 /* 59655 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23117 /* 59657 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23118 /* 59660 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23119 /* 59662 */ GIR_RootConstrainSelectedInstOperands,
23120 /* 59663 */ // GIR_Coverage, 1820,
23121 /* 59663 */ GIR_EraseRootFromParent_Done,
23122 /* 59664 */ // Label 1416: @59664
23123 /* 59664 */ GIM_Try, /*On fail goto*//*Label 1417*/ GIMT_Encode4(59762), // Rule ID 1823 //
23124 /* 59669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23125 /* 59672 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23126 /* 59675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23127 /* 59678 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23128 /* 59681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23129 /* 59685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23130 /* 59689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23131 /* 59693 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23132 /* 59697 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23133 /* 59701 */ // MIs[1] Operand 1
23134 /* 59701 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
23135 /* 59706 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23136 /* 59711 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23137 /* 59716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23138 /* 59720 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23139 /* 59724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23140 /* 59726 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), AFGR64:{ *:[f64] }:$F)
23141 /* 59726 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23142 /* 59729 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
23143 /* 59733 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23144 /* 59738 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23145 /* 59742 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23146 /* 59746 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23147 /* 59748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
23148 /* 59751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23149 /* 59753 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23150 /* 59755 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23151 /* 59758 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23152 /* 59760 */ GIR_RootConstrainSelectedInstOperands,
23153 /* 59761 */ // GIR_Coverage, 1823,
23154 /* 59761 */ GIR_EraseRootFromParent_Done,
23155 /* 59762 */ // Label 1417: @59762
23156 /* 59762 */ GIM_Try, /*On fail goto*//*Label 1418*/ GIMT_Encode4(59860), // Rule ID 1824 //
23157 /* 59767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23158 /* 59770 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23159 /* 59773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23160 /* 59776 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23161 /* 59779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23162 /* 59783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23163 /* 59787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23164 /* 59791 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23165 /* 59795 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23166 /* 59799 */ // MIs[1] Operand 1
23167 /* 59799 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
23168 /* 59804 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23169 /* 59809 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23170 /* 59814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23171 /* 59818 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23172 /* 59822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23173 /* 59824 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), AFGR64:{ *:[f64] }:$F)
23174 /* 59824 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23175 /* 59827 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
23176 /* 59831 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23177 /* 59836 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23178 /* 59840 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23179 /* 59844 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23180 /* 59846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
23181 /* 59849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23182 /* 59851 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23183 /* 59853 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23184 /* 59856 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23185 /* 59858 */ GIR_RootConstrainSelectedInstOperands,
23186 /* 59859 */ // GIR_Coverage, 1824,
23187 /* 59859 */ GIR_EraseRootFromParent_Done,
23188 /* 59860 */ // Label 1418: @59860
23189 /* 59860 */ GIM_Try, /*On fail goto*//*Label 1419*/ GIMT_Encode4(59958), // Rule ID 1827 //
23190 /* 59865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23191 /* 59868 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23192 /* 59871 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23193 /* 59874 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23194 /* 59877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23195 /* 59881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23196 /* 59885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23197 /* 59889 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23198 /* 59893 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23199 /* 59897 */ // MIs[1] Operand 1
23200 /* 59897 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
23201 /* 59902 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23202 /* 59907 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23203 /* 59912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23204 /* 59916 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23205 /* 59920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23206 /* 59922 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), AFGR64:{ *:[f64] }:$F)
23207 /* 59922 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23208 /* 59925 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
23209 /* 59929 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23210 /* 59934 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23211 /* 59938 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23212 /* 59942 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23213 /* 59944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
23214 /* 59947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23215 /* 59949 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23216 /* 59951 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23217 /* 59954 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23218 /* 59956 */ GIR_RootConstrainSelectedInstOperands,
23219 /* 59957 */ // GIR_Coverage, 1827,
23220 /* 59957 */ GIR_EraseRootFromParent_Done,
23221 /* 59958 */ // Label 1419: @59958
23222 /* 59958 */ GIM_Try, /*On fail goto*//*Label 1420*/ GIMT_Encode4(60056), // Rule ID 1829 //
23223 /* 59963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23224 /* 59966 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23225 /* 59969 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23226 /* 59972 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23227 /* 59975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23228 /* 59979 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23229 /* 59983 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23230 /* 59987 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23231 /* 59991 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23232 /* 59995 */ // MIs[1] Operand 1
23233 /* 59995 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
23234 /* 60000 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23235 /* 60005 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23236 /* 60010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23237 /* 60014 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23238 /* 60018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23239 /* 60020 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVN_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), AFGR64:{ *:[f64] }:$F)
23240 /* 60020 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23241 /* 60023 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
23242 /* 60027 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23243 /* 60032 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23244 /* 60036 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23245 /* 60040 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23246 /* 60042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32),
23247 /* 60045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23248 /* 60047 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23249 /* 60049 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23250 /* 60052 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23251 /* 60054 */ GIR_RootConstrainSelectedInstOperands,
23252 /* 60055 */ // GIR_Coverage, 1829,
23253 /* 60055 */ GIR_EraseRootFromParent_Done,
23254 /* 60056 */ // Label 1420: @60056
23255 /* 60056 */ GIM_Try, /*On fail goto*//*Label 1421*/ GIMT_Encode4(60154), // Rule ID 1832 //
23256 /* 60061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23257 /* 60064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23258 /* 60067 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23259 /* 60070 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23260 /* 60073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23261 /* 60077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23262 /* 60081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23263 /* 60085 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23264 /* 60089 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23265 /* 60093 */ // MIs[1] Operand 1
23266 /* 60093 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
23267 /* 60098 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23268 /* 60103 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23269 /* 60108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23270 /* 60112 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23271 /* 60116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23272 /* 60118 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR64:{ *:[f64] }:$F)
23273 /* 60118 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23274 /* 60121 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
23275 /* 60125 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23276 /* 60130 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23277 /* 60134 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23278 /* 60138 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23279 /* 60140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23280 /* 60143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23281 /* 60145 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23282 /* 60147 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23283 /* 60150 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23284 /* 60152 */ GIR_RootConstrainSelectedInstOperands,
23285 /* 60153 */ // GIR_Coverage, 1832,
23286 /* 60153 */ GIR_EraseRootFromParent_Done,
23287 /* 60154 */ // Label 1421: @60154
23288 /* 60154 */ GIM_Try, /*On fail goto*//*Label 1422*/ GIMT_Encode4(60252), // Rule ID 1833 //
23289 /* 60159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23290 /* 60162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23291 /* 60165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23292 /* 60168 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23293 /* 60171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23294 /* 60175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23295 /* 60179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23296 /* 60183 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23297 /* 60187 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23298 /* 60191 */ // MIs[1] Operand 1
23299 /* 60191 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
23300 /* 60196 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23301 /* 60201 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23302 /* 60206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23303 /* 60210 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23304 /* 60214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23305 /* 60216 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR64:{ *:[f64] }:$F)
23306 /* 60216 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23307 /* 60219 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
23308 /* 60223 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23309 /* 60228 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23310 /* 60232 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23311 /* 60236 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23312 /* 60238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23313 /* 60241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23314 /* 60243 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23315 /* 60245 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23316 /* 60248 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23317 /* 60250 */ GIR_RootConstrainSelectedInstOperands,
23318 /* 60251 */ // GIR_Coverage, 1833,
23319 /* 60251 */ GIR_EraseRootFromParent_Done,
23320 /* 60252 */ // Label 1422: @60252
23321 /* 60252 */ GIM_Try, /*On fail goto*//*Label 1423*/ GIMT_Encode4(60350), // Rule ID 1836 //
23322 /* 60257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23323 /* 60260 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23324 /* 60263 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23325 /* 60266 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23326 /* 60269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23327 /* 60273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23328 /* 60277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23329 /* 60281 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23330 /* 60285 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23331 /* 60289 */ // MIs[1] Operand 1
23332 /* 60289 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
23333 /* 60294 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23334 /* 60299 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23335 /* 60304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23336 /* 60308 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23337 /* 60312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23338 /* 60314 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), FGR64:{ *:[f64] }:$F)
23339 /* 60314 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23340 /* 60317 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
23341 /* 60321 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23342 /* 60326 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23343 /* 60330 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23344 /* 60334 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23345 /* 60336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23346 /* 60339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23347 /* 60341 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23348 /* 60343 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23349 /* 60346 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23350 /* 60348 */ GIR_RootConstrainSelectedInstOperands,
23351 /* 60349 */ // GIR_Coverage, 1836,
23352 /* 60349 */ GIR_EraseRootFromParent_Done,
23353 /* 60350 */ // Label 1423: @60350
23354 /* 60350 */ GIM_Try, /*On fail goto*//*Label 1424*/ GIMT_Encode4(60448), // Rule ID 1837 //
23355 /* 60355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23356 /* 60358 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23357 /* 60361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23358 /* 60364 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23359 /* 60367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23360 /* 60371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23361 /* 60375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23362 /* 60379 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23363 /* 60383 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23364 /* 60387 */ // MIs[1] Operand 1
23365 /* 60387 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
23366 /* 60392 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23367 /* 60397 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23368 /* 60402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23369 /* 60406 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23370 /* 60410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23371 /* 60412 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), FGR64:{ *:[f64] }:$F)
23372 /* 60412 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23373 /* 60415 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
23374 /* 60419 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23375 /* 60424 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23376 /* 60428 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23377 /* 60432 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23378 /* 60434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23379 /* 60437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23380 /* 60439 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23381 /* 60441 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23382 /* 60444 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23383 /* 60446 */ GIR_RootConstrainSelectedInstOperands,
23384 /* 60447 */ // GIR_Coverage, 1837,
23385 /* 60447 */ GIR_EraseRootFromParent_Done,
23386 /* 60448 */ // Label 1424: @60448
23387 /* 60448 */ GIM_Try, /*On fail goto*//*Label 1425*/ GIMT_Encode4(60546), // Rule ID 1840 //
23388 /* 60453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23389 /* 60456 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23390 /* 60459 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23391 /* 60462 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23392 /* 60465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23393 /* 60469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23394 /* 60473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23395 /* 60477 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23396 /* 60481 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
23397 /* 60485 */ // MIs[1] Operand 1
23398 /* 60485 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
23399 /* 60490 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23400 /* 60495 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23401 /* 60500 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23402 /* 60504 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23403 /* 60508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23404 /* 60510 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), FGR64:{ *:[f64] }:$F)
23405 /* 60510 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23406 /* 60513 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
23407 /* 60517 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23408 /* 60522 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23409 /* 60526 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23410 /* 60530 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23411 /* 60532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23412 /* 60535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23413 /* 60537 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23414 /* 60539 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23415 /* 60542 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23416 /* 60544 */ GIR_RootConstrainSelectedInstOperands,
23417 /* 60545 */ // GIR_Coverage, 1840,
23418 /* 60545 */ GIR_EraseRootFromParent_Done,
23419 /* 60546 */ // Label 1425: @60546
23420 /* 60546 */ GIM_Try, /*On fail goto*//*Label 1426*/ GIMT_Encode4(60644), // Rule ID 1841 //
23421 /* 60551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23422 /* 60554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23423 /* 60557 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23424 /* 60560 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23425 /* 60563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23426 /* 60567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23427 /* 60571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23428 /* 60575 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23429 /* 60579 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
23430 /* 60583 */ // MIs[1] Operand 1
23431 /* 60583 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
23432 /* 60588 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23433 /* 60593 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23434 /* 60598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23435 /* 60602 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23436 /* 60606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23437 /* 60608 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), FGR64:{ *:[f64] }:$F)
23438 /* 60608 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23439 /* 60611 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
23440 /* 60615 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23441 /* 60620 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23442 /* 60624 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23443 /* 60628 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23444 /* 60630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23445 /* 60633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23446 /* 60635 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23447 /* 60637 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23448 /* 60640 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23449 /* 60642 */ GIR_RootConstrainSelectedInstOperands,
23450 /* 60643 */ // GIR_Coverage, 1841,
23451 /* 60643 */ GIR_EraseRootFromParent_Done,
23452 /* 60644 */ // Label 1426: @60644
23453 /* 60644 */ GIM_Try, /*On fail goto*//*Label 1427*/ GIMT_Encode4(60742), // Rule ID 1844 //
23454 /* 60649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23455 /* 60652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23456 /* 60655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23457 /* 60658 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23458 /* 60661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23459 /* 60665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23460 /* 60669 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23461 /* 60673 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23462 /* 60677 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
23463 /* 60681 */ // MIs[1] Operand 1
23464 /* 60681 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
23465 /* 60686 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23466 /* 60691 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23467 /* 60696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23468 /* 60700 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23469 /* 60704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23470 /* 60706 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), FGR64:{ *:[f64] }:$F)
23471 /* 60706 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23472 /* 60709 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
23473 /* 60713 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23474 /* 60718 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23475 /* 60722 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23476 /* 60726 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23477 /* 60728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23478 /* 60731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23479 /* 60733 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23480 /* 60735 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23481 /* 60738 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23482 /* 60740 */ GIR_RootConstrainSelectedInstOperands,
23483 /* 60741 */ // GIR_Coverage, 1844,
23484 /* 60741 */ GIR_EraseRootFromParent_Done,
23485 /* 60742 */ // Label 1427: @60742
23486 /* 60742 */ GIM_Try, /*On fail goto*//*Label 1428*/ GIMT_Encode4(60840), // Rule ID 1845 //
23487 /* 60747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23488 /* 60750 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23489 /* 60753 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23490 /* 60756 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23491 /* 60759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23492 /* 60763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23493 /* 60767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23494 /* 60771 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23495 /* 60775 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
23496 /* 60779 */ // MIs[1] Operand 1
23497 /* 60779 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
23498 /* 60784 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23499 /* 60789 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23500 /* 60794 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23501 /* 60798 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23502 /* 60802 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23503 /* 60804 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), FGR64:{ *:[f64] }:$F)
23504 /* 60804 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23505 /* 60807 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
23506 /* 60811 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23507 /* 60816 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23508 /* 60820 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23509 /* 60824 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23510 /* 60826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23511 /* 60829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23512 /* 60831 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23513 /* 60833 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23514 /* 60836 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23515 /* 60838 */ GIR_RootConstrainSelectedInstOperands,
23516 /* 60839 */ // GIR_Coverage, 1845,
23517 /* 60839 */ GIR_EraseRootFromParent_Done,
23518 /* 60840 */ // Label 1428: @60840
23519 /* 60840 */ GIM_Try, /*On fail goto*//*Label 1429*/ GIMT_Encode4(60938), // Rule ID 1848 //
23520 /* 60845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23521 /* 60848 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23522 /* 60851 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23523 /* 60854 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23524 /* 60857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23525 /* 60861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23526 /* 60865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23527 /* 60869 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23528 /* 60873 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23529 /* 60877 */ // MIs[1] Operand 1
23530 /* 60877 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
23531 /* 60882 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23532 /* 60887 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23533 /* 60892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23534 /* 60896 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23535 /* 60900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23536 /* 60902 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR64:{ *:[f64] }:$F)
23537 /* 60902 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23538 /* 60905 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
23539 /* 60909 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23540 /* 60914 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23541 /* 60918 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23542 /* 60922 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23543 /* 60924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
23544 /* 60927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23545 /* 60929 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23546 /* 60931 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23547 /* 60934 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23548 /* 60936 */ GIR_RootConstrainSelectedInstOperands,
23549 /* 60937 */ // GIR_Coverage, 1848,
23550 /* 60937 */ GIR_EraseRootFromParent_Done,
23551 /* 60938 */ // Label 1429: @60938
23552 /* 60938 */ GIM_Try, /*On fail goto*//*Label 1430*/ GIMT_Encode4(61036), // Rule ID 1850 //
23553 /* 60943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23554 /* 60946 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23555 /* 60949 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23556 /* 60952 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23557 /* 60955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23558 /* 60959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23559 /* 60963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23560 /* 60967 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23561 /* 60971 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
23562 /* 60975 */ // MIs[1] Operand 1
23563 /* 60975 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
23564 /* 60980 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23565 /* 60985 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23566 /* 60990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23567 /* 60994 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23568 /* 60998 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23569 /* 61000 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVZ_I64_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), FGR64:{ *:[f64] }:$F)
23570 /* 61000 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
23571 /* 61003 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
23572 /* 61007 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23573 /* 61012 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23574 /* 61016 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23575 /* 61020 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23576 /* 61022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_D64),
23577 /* 61025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23578 /* 61027 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23579 /* 61029 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23580 /* 61032 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23581 /* 61034 */ GIR_RootConstrainSelectedInstOperands,
23582 /* 61035 */ // GIR_Coverage, 1850,
23583 /* 61035 */ GIR_EraseRootFromParent_Done,
23584 /* 61036 */ // Label 1430: @61036
23585 /* 61036 */ GIM_Try, /*On fail goto*//*Label 1431*/ GIMT_Encode4(61134), // Rule ID 1852 //
23586 /* 61041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23587 /* 61044 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23588 /* 61047 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23589 /* 61050 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23590 /* 61053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23591 /* 61057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23592 /* 61061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23593 /* 61065 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23594 /* 61069 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23595 /* 61073 */ // MIs[1] Operand 1
23596 /* 61073 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
23597 /* 61078 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23598 /* 61083 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23599 /* 61088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23600 /* 61092 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23601 /* 61096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23602 /* 61098 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVN_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), FGR64:{ *:[f64] }:$F)
23603 /* 61098 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23604 /* 61101 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
23605 /* 61105 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23606 /* 61110 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23607 /* 61114 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23608 /* 61118 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23609 /* 61120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D64),
23610 /* 61123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23611 /* 61125 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23612 /* 61127 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23613 /* 61130 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23614 /* 61132 */ GIR_RootConstrainSelectedInstOperands,
23615 /* 61133 */ // GIR_Coverage, 1852,
23616 /* 61133 */ GIR_EraseRootFromParent_Done,
23617 /* 61134 */ // Label 1431: @61134
23618 /* 61134 */ GIM_Try, /*On fail goto*//*Label 1432*/ GIMT_Encode4(61232), // Rule ID 1855 //
23619 /* 61139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23620 /* 61142 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23621 /* 61145 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23622 /* 61148 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23623 /* 61151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23624 /* 61155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23625 /* 61159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23626 /* 61163 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23627 /* 61167 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
23628 /* 61171 */ // MIs[1] Operand 1
23629 /* 61171 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
23630 /* 61176 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23631 /* 61181 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23632 /* 61186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23633 /* 61190 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23634 /* 61194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23635 /* 61196 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }), FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVN_I64_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), FGR64:{ *:[f64] }:$F)
23636 /* 61196 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
23637 /* 61199 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
23638 /* 61203 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23639 /* 61208 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23640 /* 61212 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23641 /* 61216 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23642 /* 61218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_D64),
23643 /* 61221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23644 /* 61223 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23645 /* 61225 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23646 /* 61228 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23647 /* 61230 */ GIR_RootConstrainSelectedInstOperands,
23648 /* 61231 */ // GIR_Coverage, 1855,
23649 /* 61231 */ GIR_EraseRootFromParent_Done,
23650 /* 61232 */ // Label 1432: @61232
23651 /* 61232 */ GIM_Try, /*On fail goto*//*Label 1433*/ GIMT_Encode4(61330), // Rule ID 2420 //
23652 /* 61237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
23653 /* 61240 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23654 /* 61243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23655 /* 61246 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23656 /* 61249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23657 /* 61253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23658 /* 61257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23659 /* 61261 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23660 /* 61265 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23661 /* 61269 */ // MIs[1] Operand 1
23662 /* 61269 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
23663 /* 61274 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23664 /* 61279 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23665 /* 61284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23666 /* 61288 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23667 /* 61292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23668 /* 61294 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), AFGR64:{ *:[f64] }:$F)
23669 /* 61294 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23670 /* 61297 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
23671 /* 61301 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23672 /* 61306 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23673 /* 61310 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23674 /* 61314 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23675 /* 61316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
23676 /* 61319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23677 /* 61321 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23678 /* 61323 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23679 /* 61326 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23680 /* 61328 */ GIR_RootConstrainSelectedInstOperands,
23681 /* 61329 */ // GIR_Coverage, 2420,
23682 /* 61329 */ GIR_EraseRootFromParent_Done,
23683 /* 61330 */ // Label 1433: @61330
23684 /* 61330 */ GIM_Try, /*On fail goto*//*Label 1434*/ GIMT_Encode4(61428), // Rule ID 2421 //
23685 /* 61335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
23686 /* 61338 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23687 /* 61341 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23688 /* 61344 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23689 /* 61347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23690 /* 61351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23691 /* 61355 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23692 /* 61359 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23693 /* 61363 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23694 /* 61367 */ // MIs[1] Operand 1
23695 /* 61367 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
23696 /* 61372 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23697 /* 61377 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23698 /* 61382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23699 /* 61386 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23700 /* 61390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23701 /* 61392 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), AFGR64:{ *:[f64] }:$F)
23702 /* 61392 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23703 /* 61395 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
23704 /* 61399 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23705 /* 61404 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23706 /* 61408 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23707 /* 61412 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23708 /* 61414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
23709 /* 61417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23710 /* 61419 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23711 /* 61421 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23712 /* 61424 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23713 /* 61426 */ GIR_RootConstrainSelectedInstOperands,
23714 /* 61427 */ // GIR_Coverage, 2421,
23715 /* 61427 */ GIR_EraseRootFromParent_Done,
23716 /* 61428 */ // Label 1434: @61428
23717 /* 61428 */ GIM_Try, /*On fail goto*//*Label 1435*/ GIMT_Encode4(61526), // Rule ID 2424 //
23718 /* 61433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
23719 /* 61436 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23720 /* 61439 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23721 /* 61442 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23722 /* 61445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23723 /* 61449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23724 /* 61453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23725 /* 61457 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23726 /* 61461 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23727 /* 61465 */ // MIs[1] Operand 1
23728 /* 61465 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
23729 /* 61470 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23730 /* 61475 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23731 /* 61480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23732 /* 61484 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23733 /* 61488 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23734 /* 61490 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), AFGR64:{ *:[f64] }:$F)
23735 /* 61490 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23736 /* 61493 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
23737 /* 61497 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23738 /* 61502 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23739 /* 61506 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23740 /* 61510 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23741 /* 61512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
23742 /* 61515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23743 /* 61517 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23744 /* 61519 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23745 /* 61522 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23746 /* 61524 */ GIR_RootConstrainSelectedInstOperands,
23747 /* 61525 */ // GIR_Coverage, 2424,
23748 /* 61525 */ GIR_EraseRootFromParent_Done,
23749 /* 61526 */ // Label 1435: @61526
23750 /* 61526 */ GIM_Try, /*On fail goto*//*Label 1436*/ GIMT_Encode4(61624), // Rule ID 2425 //
23751 /* 61531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
23752 /* 61534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23753 /* 61537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23754 /* 61540 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23755 /* 61543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23756 /* 61547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23757 /* 61551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23758 /* 61555 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23759 /* 61559 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23760 /* 61563 */ // MIs[1] Operand 1
23761 /* 61563 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
23762 /* 61568 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23763 /* 61573 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23764 /* 61578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23765 /* 61582 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23766 /* 61586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23767 /* 61588 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), AFGR64:{ *:[f64] }:$F)
23768 /* 61588 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23769 /* 61591 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
23770 /* 61595 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23771 /* 61600 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23772 /* 61604 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23773 /* 61608 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23774 /* 61610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
23775 /* 61613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23776 /* 61615 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23777 /* 61617 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23778 /* 61620 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23779 /* 61622 */ GIR_RootConstrainSelectedInstOperands,
23780 /* 61623 */ // GIR_Coverage, 2425,
23781 /* 61623 */ GIR_EraseRootFromParent_Done,
23782 /* 61624 */ // Label 1436: @61624
23783 /* 61624 */ GIM_Try, /*On fail goto*//*Label 1437*/ GIMT_Encode4(61722), // Rule ID 2428 //
23784 /* 61629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
23785 /* 61632 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23786 /* 61635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23787 /* 61638 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23788 /* 61641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23789 /* 61645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23790 /* 61649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23791 /* 61653 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23792 /* 61657 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23793 /* 61661 */ // MIs[1] Operand 1
23794 /* 61661 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
23795 /* 61666 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23796 /* 61671 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23797 /* 61676 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23798 /* 61680 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23799 /* 61684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23800 /* 61686 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVZ_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), AFGR64:{ *:[f64] }:$F)
23801 /* 61686 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23802 /* 61689 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
23803 /* 61693 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23804 /* 61698 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23805 /* 61702 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23806 /* 61706 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23807 /* 61708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
23808 /* 61711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23809 /* 61713 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23810 /* 61715 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23811 /* 61718 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23812 /* 61720 */ GIR_RootConstrainSelectedInstOperands,
23813 /* 61721 */ // GIR_Coverage, 2428,
23814 /* 61721 */ GIR_EraseRootFromParent_Done,
23815 /* 61722 */ // Label 1437: @61722
23816 /* 61722 */ GIM_Try, /*On fail goto*//*Label 1438*/ GIMT_Encode4(61820), // Rule ID 2430 //
23817 /* 61727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
23818 /* 61730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23819 /* 61733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23820 /* 61736 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23821 /* 61739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23822 /* 61743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23823 /* 61747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
23824 /* 61751 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23825 /* 61755 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
23826 /* 61759 */ // MIs[1] Operand 1
23827 /* 61759 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
23828 /* 61764 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23829 /* 61769 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23830 /* 61774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23831 /* 61778 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23832 /* 61782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23833 /* 61784 */ // (select:{ *:[f64] } (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVN_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), AFGR64:{ *:[f64] }:$F)
23834 /* 61784 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
23835 /* 61787 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
23836 /* 61791 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23837 /* 61796 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
23838 /* 61800 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
23839 /* 61804 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
23840 /* 61806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32_MM),
23841 /* 61809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23842 /* 61811 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23843 /* 61813 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
23844 /* 61816 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23845 /* 61818 */ GIR_RootConstrainSelectedInstOperands,
23846 /* 61819 */ // GIR_Coverage, 2430,
23847 /* 61819 */ GIR_EraseRootFromParent_Done,
23848 /* 61820 */ // Label 1438: @61820
23849 /* 61820 */ GIM_Try, /*On fail goto*//*Label 1439*/ GIMT_Encode4(61860), // Rule ID 371 //
23850 /* 61825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotMips4_32),
23851 /* 61828 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23852 /* 61831 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23853 /* 61834 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23854 /* 61837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23855 /* 61841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23856 /* 61845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23857 /* 61849 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23858 /* 61853 */ // (select:{ *:[i64] } GPR32Opnd:{ *:[i32] }:$cond, GPR64Opnd:{ *:[i64] }:$T, GPR64Opnd:{ *:[i64] }:$F) => (PseudoSELECT_I64:{ *:[i64] } GPR32Opnd:{ *:[i32] }:$cond, GPR64Opnd:{ *:[i64] }:$T, GPR64Opnd:{ *:[i64] }:$F)
23859 /* 61853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_I64),
23860 /* 61858 */ GIR_RootConstrainSelectedInstOperands,
23861 /* 61859 */ // GIR_Coverage, 371,
23862 /* 61859 */ GIR_Done,
23863 /* 61860 */ // Label 1439: @61860
23864 /* 61860 */ GIM_Try, /*On fail goto*//*Label 1440*/ GIMT_Encode4(61900), // Rule ID 373 //
23865 /* 61865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotFP64bit_NotMips4_32),
23866 /* 61868 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23867 /* 61871 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23868 /* 61874 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23869 /* 61877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23870 /* 61881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23871 /* 61885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23872 /* 61889 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23873 /* 61893 */ // (select:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$cond, AFGR64Opnd:{ *:[f64] }:$T, AFGR64Opnd:{ *:[f64] }:$F) => (PseudoSELECT_D32:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$cond, AFGR64Opnd:{ *:[f64] }:$T, AFGR64Opnd:{ *:[f64] }:$F)
23874 /* 61893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_D32),
23875 /* 61898 */ GIR_RootConstrainSelectedInstOperands,
23876 /* 61899 */ // GIR_Coverage, 373,
23877 /* 61899 */ GIR_Done,
23878 /* 61900 */ // Label 1440: @61900
23879 /* 61900 */ GIM_Try, /*On fail goto*//*Label 1441*/ GIMT_Encode4(61940), // Rule ID 374 //
23880 /* 61905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_NotMips4_32),
23881 /* 61908 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23882 /* 61911 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23883 /* 61914 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23884 /* 61917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23885 /* 61921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23886 /* 61925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23887 /* 61929 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23888 /* 61933 */ // (select:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$cond, FGR64Opnd:{ *:[f64] }:$T, FGR64Opnd:{ *:[f64] }:$F) => (PseudoSELECT_D64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$cond, FGR64Opnd:{ *:[f64] }:$T, FGR64Opnd:{ *:[f64] }:$F)
23889 /* 61933 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_D64),
23890 /* 61938 */ GIR_RootConstrainSelectedInstOperands,
23891 /* 61939 */ // GIR_Coverage, 374,
23892 /* 61939 */ GIR_Done,
23893 /* 61940 */ // Label 1441: @61940
23894 /* 61940 */ GIM_Try, /*On fail goto*//*Label 1442*/ GIMT_Encode4(61986), // Rule ID 408 //
23895 /* 61945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
23896 /* 61948 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23897 /* 61951 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23898 /* 61954 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23899 /* 61957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23900 /* 61961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64CCRegClassID),
23901 /* 61965 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23902 /* 61969 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23903 /* 61973 */ // (select:{ *:[f64] } FGR64CCOpnd:{ *:[i32] }:$fd_in, FGR64Opnd:{ *:[f64] }:$ft, FGR64Opnd:{ *:[f64] }:$fs) => (SEL_D:{ *:[f64] } FGR64CCOpnd:{ *:[i32] }:$fd_in, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
23904 /* 61973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEL_D),
23905 /* 61976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23906 /* 61978 */ GIR_RootToRootCopy, /*OpIdx*/1, // fd_in
23907 /* 61980 */ GIR_RootToRootCopy, /*OpIdx*/3, // fs
23908 /* 61982 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
23909 /* 61984 */ GIR_RootConstrainSelectedInstOperands,
23910 /* 61985 */ // GIR_Coverage, 408,
23911 /* 61985 */ GIR_EraseRootFromParent_Done,
23912 /* 61986 */ // Label 1442: @61986
23913 /* 61986 */ GIM_Try, /*On fail goto*//*Label 1443*/ GIMT_Encode4(62032), // Rule ID 1289 //
23914 /* 61991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
23915 /* 61994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23916 /* 61997 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23917 /* 62000 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23918 /* 62003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23919 /* 62007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64CCRegClassID),
23920 /* 62011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23921 /* 62015 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23922 /* 62019 */ // (select:{ *:[f64] } FGR64CCOpnd:{ *:[i32] }:$fd_in, FGR64Opnd:{ *:[f64] }:$ft, FGR64Opnd:{ *:[f64] }:$fs) => (SEL_D_MMR6:{ *:[f64] } FGR64CCOpnd:{ *:[i32] }:$fd_in, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
23923 /* 62019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEL_D_MMR6),
23924 /* 62022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23925 /* 62024 */ GIR_RootToRootCopy, /*OpIdx*/1, // fd_in
23926 /* 62026 */ GIR_RootToRootCopy, /*OpIdx*/3, // fs
23927 /* 62028 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
23928 /* 62030 */ GIR_RootConstrainSelectedInstOperands,
23929 /* 62031 */ // GIR_Coverage, 1289,
23930 /* 62031 */ GIR_EraseRootFromParent_Done,
23931 /* 62032 */ // Label 1443: @62032
23932 /* 62032 */ GIM_Try, /*On fail goto*//*Label 1444*/ GIMT_Encode4(62078), // Rule ID 1785 //
23933 /* 62037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23934 /* 62040 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23935 /* 62043 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23936 /* 62046 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23937 /* 62049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23938 /* 62053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23939 /* 62057 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23940 /* 62061 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23941 /* 62065 */ // (select:{ *:[i64] } GPR32:{ *:[i32] }:$cond, GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVN_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, GPR32:{ *:[i32] }:$cond, GPR64:{ *:[i64] }:$F)
23942 /* 62065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I64),
23943 /* 62068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
23944 /* 62070 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23945 /* 62072 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
23946 /* 62074 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23947 /* 62076 */ GIR_RootConstrainSelectedInstOperands,
23948 /* 62077 */ // GIR_Coverage, 1785,
23949 /* 62077 */ GIR_EraseRootFromParent_Done,
23950 /* 62078 */ // Label 1444: @62078
23951 /* 62078 */ GIM_Try, /*On fail goto*//*Label 1445*/ GIMT_Encode4(62124), // Rule ID 1791 //
23952 /* 62083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23953 /* 62086 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
23954 /* 62089 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23955 /* 62092 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23956 /* 62095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23957 /* 62099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23958 /* 62103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23959 /* 62107 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
23960 /* 62111 */ // (select:{ *:[i64] } GPR64:{ *:[i64] }:$cond, GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVN_I64_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$cond, GPR64:{ *:[i64] }:$F)
23961 /* 62111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I64),
23962 /* 62114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
23963 /* 62116 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23964 /* 62118 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
23965 /* 62120 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23966 /* 62122 */ GIR_RootConstrainSelectedInstOperands,
23967 /* 62123 */ // GIR_Coverage, 1791,
23968 /* 62123 */ GIR_EraseRootFromParent_Done,
23969 /* 62124 */ // Label 1445: @62124
23970 /* 62124 */ GIM_Try, /*On fail goto*//*Label 1446*/ GIMT_Encode4(62170), // Rule ID 1830 //
23971 /* 62129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23972 /* 62132 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23973 /* 62135 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23974 /* 62138 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23975 /* 62141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23976 /* 62145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23977 /* 62149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23978 /* 62153 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23979 /* 62157 */ // (select:{ *:[f64] } GPR32:{ *:[i32] }:$cond, AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVN_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$cond, AFGR64:{ *:[f64] }:$F)
23980 /* 62157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32),
23981 /* 62160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23982 /* 62162 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
23983 /* 62164 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
23984 /* 62166 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
23985 /* 62168 */ GIR_RootConstrainSelectedInstOperands,
23986 /* 62169 */ // GIR_Coverage, 1830,
23987 /* 62169 */ GIR_EraseRootFromParent_Done,
23988 /* 62170 */ // Label 1446: @62170
23989 /* 62170 */ GIM_Try, /*On fail goto*//*Label 1447*/ GIMT_Encode4(62216), // Rule ID 1853 //
23990 /* 62175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
23991 /* 62178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23992 /* 62181 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23993 /* 62184 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
23994 /* 62187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23995 /* 62191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23996 /* 62195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23997 /* 62199 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23998 /* 62203 */ // (select:{ *:[f64] } GPR32:{ *:[i32] }:$cond, FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVN_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$cond, FGR64:{ *:[f64] }:$F)
23999 /* 62203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D64),
24000 /* 62206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24001 /* 62208 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
24002 /* 62210 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
24003 /* 62212 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
24004 /* 62214 */ GIR_RootConstrainSelectedInstOperands,
24005 /* 62215 */ // GIR_Coverage, 1853,
24006 /* 62215 */ GIR_EraseRootFromParent_Done,
24007 /* 62216 */ // Label 1447: @62216
24008 /* 62216 */ GIM_Try, /*On fail goto*//*Label 1448*/ GIMT_Encode4(62262), // Rule ID 1856 //
24009 /* 62221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
24010 /* 62224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24011 /* 62227 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24012 /* 62230 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
24013 /* 62233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24014 /* 62237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24015 /* 62241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24016 /* 62245 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24017 /* 62249 */ // (select:{ *:[f64] } GPR64:{ *:[i64] }:$cond, FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVN_I64_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, GPR64:{ *:[i64] }:$cond, FGR64:{ *:[f64] }:$F)
24018 /* 62249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_D64),
24019 /* 62252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24020 /* 62254 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
24021 /* 62256 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
24022 /* 62258 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
24023 /* 62260 */ GIR_RootConstrainSelectedInstOperands,
24024 /* 62261 */ // GIR_Coverage, 1856,
24025 /* 62261 */ GIR_EraseRootFromParent_Done,
24026 /* 62262 */ // Label 1448: @62262
24027 /* 62262 */ GIM_Try, /*On fail goto*//*Label 1449*/ GIMT_Encode4(62308), // Rule ID 2431 //
24028 /* 62267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit_NotMips32r6),
24029 /* 62270 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24030 /* 62273 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24031 /* 62276 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
24032 /* 62279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24033 /* 62283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24034 /* 62287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24035 /* 62291 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24036 /* 62295 */ // (select:{ *:[f64] } GPR32:{ *:[i32] }:$cond, AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVN_I_D32_MM:{ *:[f64] } AFGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$cond, AFGR64:{ *:[f64] }:$F)
24037 /* 62295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32_MM),
24038 /* 62298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24039 /* 62300 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
24040 /* 62302 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
24041 /* 62304 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
24042 /* 62306 */ GIR_RootConstrainSelectedInstOperands,
24043 /* 62307 */ // GIR_Coverage, 2431,
24044 /* 62307 */ GIR_EraseRootFromParent_Done,
24045 /* 62308 */ // Label 1449: @62308
24046 /* 62308 */ GIM_Try, /*On fail goto*//*Label 1450*/ GIMT_Encode4(62386), // Rule ID 1909 //
24047 /* 62313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc),
24048 /* 62316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24049 /* 62319 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24050 /* 62322 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
24051 /* 62325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24052 /* 62329 */ // (select:{ *:[i64] } i64:{ *:[i64] }:$cond, i64:{ *:[i64] }:$t, i64:{ *:[i64] }:$f) => (OR64:{ *:[i64] } (SELNEZ64:{ *:[i64] } i64:{ *:[i64] }:$t, i64:{ *:[i64] }:$cond), (SELEQZ64:{ *:[i64] } i64:{ *:[i64] }:$f, i64:{ *:[i64] }:$cond))
24053 /* 62329 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
24054 /* 62332 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SELEQZ64),
24055 /* 62336 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24056 /* 62341 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // f
24057 /* 62345 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // cond
24058 /* 62349 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
24059 /* 62351 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
24060 /* 62354 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SELNEZ64),
24061 /* 62358 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24062 /* 62363 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // t
24063 /* 62367 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // cond
24064 /* 62371 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
24065 /* 62373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::OR64),
24066 /* 62376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
24067 /* 62378 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24068 /* 62381 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
24069 /* 62384 */ GIR_RootConstrainSelectedInstOperands,
24070 /* 62385 */ // GIR_Coverage, 1909,
24071 /* 62385 */ GIR_EraseRootFromParent_Done,
24072 /* 62386 */ // Label 1450: @62386
24073 /* 62386 */ GIM_Try, /*On fail goto*//*Label 1451*/ GIMT_Encode4(62498), // Rule ID 1920 //
24074 /* 62391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc),
24075 /* 62394 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24076 /* 62397 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24077 /* 62400 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
24078 /* 62403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24079 /* 62407 */ // (select:{ *:[i64] } i32:{ *:[i32] }:$cond, i64:{ *:[i64] }:$t, i64:{ *:[i64] }:$f) => (OR64:{ *:[i64] } (SELNEZ64:{ *:[i64] } i64:{ *:[i64] }:$t, (SLL64_32:{ *:[i64] } i32:{ *:[i32] }:$cond)), (SELEQZ64:{ *:[i64] } i64:{ *:[i64] }:$f, (SLL64_32:{ *:[i64] } i32:{ *:[i32] }:$cond)))
24080 /* 62407 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s64,
24081 /* 62410 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(Mips::SLL64_32),
24082 /* 62414 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24083 /* 62419 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // cond
24084 /* 62423 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
24085 /* 62425 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s64,
24086 /* 62428 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SELEQZ64),
24087 /* 62432 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24088 /* 62437 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/3, // f
24089 /* 62441 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
24090 /* 62444 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
24091 /* 62446 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
24092 /* 62449 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SLL64_32),
24093 /* 62453 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24094 /* 62458 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // cond
24095 /* 62462 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
24096 /* 62464 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
24097 /* 62467 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SELNEZ64),
24098 /* 62471 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24099 /* 62476 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // t
24100 /* 62480 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
24101 /* 62483 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
24102 /* 62485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::OR64),
24103 /* 62488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
24104 /* 62490 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24105 /* 62493 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/2,
24106 /* 62496 */ GIR_RootConstrainSelectedInstOperands,
24107 /* 62497 */ // GIR_Coverage, 1920,
24108 /* 62497 */ GIR_EraseRootFromParent_Done,
24109 /* 62498 */ // Label 1451: @62498
24110 /* 62498 */ GIM_Reject,
24111 /* 62499 */ // Label 1306: @62499
24112 /* 62499 */ GIM_Try, /*On fail goto*//*Label 1452*/ GIMT_Encode4(62572),
24113 /* 62504 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24114 /* 62507 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
24115 /* 62510 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
24116 /* 62513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24117 /* 62517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24118 /* 62521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24119 /* 62525 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24120 /* 62529 */ GIM_Try, /*On fail goto*//*Label 1453*/ GIMT_Encode4(62550), // Rule ID 658 //
24121 /* 62534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24122 /* 62537 */ // (vselect:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$wt, MSA128DOpnd:{ *:[v2i64] }:$ws) => (BSEL_D_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
24123 /* 62537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_D_PSEUDO),
24124 /* 62540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24125 /* 62542 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24126 /* 62544 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
24127 /* 62546 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
24128 /* 62548 */ GIR_RootConstrainSelectedInstOperands,
24129 /* 62549 */ // GIR_Coverage, 658,
24130 /* 62549 */ GIR_EraseRootFromParent_Done,
24131 /* 62550 */ // Label 1453: @62550
24132 /* 62550 */ GIM_Try, /*On fail goto*//*Label 1454*/ GIMT_Encode4(62571), // Rule ID 660 //
24133 /* 62555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24134 /* 62558 */ // (vselect:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2f64] }:$wt, MSA128DOpnd:{ *:[v2f64] }:$ws) => (BSEL_FD_PSEUDO:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
24135 /* 62558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_FD_PSEUDO),
24136 /* 62561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24137 /* 62563 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24138 /* 62565 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
24139 /* 62567 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
24140 /* 62569 */ GIR_RootConstrainSelectedInstOperands,
24141 /* 62570 */ // GIR_Coverage, 660,
24142 /* 62570 */ GIR_EraseRootFromParent_Done,
24143 /* 62571 */ // Label 1454: @62571
24144 /* 62571 */ GIM_Reject,
24145 /* 62572 */ // Label 1452: @62572
24146 /* 62572 */ GIM_Reject,
24147 /* 62573 */ // Label 1307: @62573
24148 /* 62573 */ GIM_Try, /*On fail goto*//*Label 1455*/ GIMT_Encode4(62646),
24149 /* 62578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24150 /* 62581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
24151 /* 62584 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
24152 /* 62587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24153 /* 62591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24154 /* 62595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24155 /* 62599 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24156 /* 62603 */ GIM_Try, /*On fail goto*//*Label 1456*/ GIMT_Encode4(62624), // Rule ID 657 //
24157 /* 62608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24158 /* 62611 */ // (vselect:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$wt, MSA128WOpnd:{ *:[v4i32] }:$ws) => (BSEL_W_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
24159 /* 62611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_W_PSEUDO),
24160 /* 62614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24161 /* 62616 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24162 /* 62618 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
24163 /* 62620 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
24164 /* 62622 */ GIR_RootConstrainSelectedInstOperands,
24165 /* 62623 */ // GIR_Coverage, 657,
24166 /* 62623 */ GIR_EraseRootFromParent_Done,
24167 /* 62624 */ // Label 1456: @62624
24168 /* 62624 */ GIM_Try, /*On fail goto*//*Label 1457*/ GIMT_Encode4(62645), // Rule ID 659 //
24169 /* 62629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24170 /* 62632 */ // (vselect:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4f32] }:$wt, MSA128WOpnd:{ *:[v4f32] }:$ws) => (BSEL_FW_PSEUDO:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
24171 /* 62632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_FW_PSEUDO),
24172 /* 62635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24173 /* 62637 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24174 /* 62639 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
24175 /* 62641 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
24176 /* 62643 */ GIR_RootConstrainSelectedInstOperands,
24177 /* 62644 */ // GIR_Coverage, 659,
24178 /* 62644 */ GIR_EraseRootFromParent_Done,
24179 /* 62645 */ // Label 1457: @62645
24180 /* 62645 */ GIM_Reject,
24181 /* 62646 */ // Label 1455: @62646
24182 /* 62646 */ GIM_Reject,
24183 /* 62647 */ // Label 1308: @62647
24184 /* 62647 */ GIM_Try, /*On fail goto*//*Label 1458*/ GIMT_Encode4(62693), // Rule ID 656 //
24185 /* 62652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24186 /* 62655 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
24187 /* 62658 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
24188 /* 62661 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
24189 /* 62664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24190 /* 62668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24191 /* 62672 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24192 /* 62676 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24193 /* 62680 */ // (vselect:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$wt, MSA128HOpnd:{ *:[v8i16] }:$ws) => (BSEL_H_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
24194 /* 62680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_H_PSEUDO),
24195 /* 62683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24196 /* 62685 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24197 /* 62687 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
24198 /* 62689 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
24199 /* 62691 */ GIR_RootConstrainSelectedInstOperands,
24200 /* 62692 */ // GIR_Coverage, 656,
24201 /* 62692 */ GIR_EraseRootFromParent_Done,
24202 /* 62693 */ // Label 1458: @62693
24203 /* 62693 */ GIM_Reject,
24204 /* 62694 */ // Label 1309: @62694
24205 /* 62694 */ GIM_Try, /*On fail goto*//*Label 1459*/ GIMT_Encode4(62788),
24206 /* 62699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
24207 /* 62702 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
24208 /* 62705 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
24209 /* 62708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24210 /* 62712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24211 /* 62716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24212 /* 62720 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24213 /* 62724 */ GIM_Try, /*On fail goto*//*Label 1460*/ GIMT_Encode4(62745), // Rule ID 643 //
24214 /* 62729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24215 /* 62732 */ // (vselect:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wt, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wd_in) => (BMNZ_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
24216 /* 62732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BMNZ_V),
24217 /* 62735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24218 /* 62737 */ GIR_RootToRootCopy, /*OpIdx*/3, // wd_in
24219 /* 62739 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
24220 /* 62741 */ GIR_RootToRootCopy, /*OpIdx*/1, // wt
24221 /* 62743 */ GIR_RootConstrainSelectedInstOperands,
24222 /* 62744 */ // GIR_Coverage, 643,
24223 /* 62744 */ GIR_EraseRootFromParent_Done,
24224 /* 62745 */ // Label 1460: @62745
24225 /* 62745 */ GIM_Try, /*On fail goto*//*Label 1461*/ GIMT_Encode4(62766), // Rule ID 645 //
24226 /* 62750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24227 /* 62753 */ // (vselect:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wt, MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws) => (BMZ_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
24228 /* 62753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BMZ_V),
24229 /* 62756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24230 /* 62758 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
24231 /* 62760 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
24232 /* 62762 */ GIR_RootToRootCopy, /*OpIdx*/1, // wt
24233 /* 62764 */ GIR_RootConstrainSelectedInstOperands,
24234 /* 62765 */ // GIR_Coverage, 645,
24235 /* 62765 */ GIR_EraseRootFromParent_Done,
24236 /* 62766 */ // Label 1461: @62766
24237 /* 62766 */ GIM_Try, /*On fail goto*//*Label 1462*/ GIMT_Encode4(62787), // Rule ID 655 //
24238 /* 62771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24239 /* 62774 */ // (vselect:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$wt, MSA128BOpnd:{ *:[v16i8] }:$ws) => (BSEL_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
24240 /* 62774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_V),
24241 /* 62777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24242 /* 62779 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24243 /* 62781 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
24244 /* 62783 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
24245 /* 62785 */ GIR_RootConstrainSelectedInstOperands,
24246 /* 62786 */ // GIR_Coverage, 655,
24247 /* 62786 */ GIR_EraseRootFromParent_Done,
24248 /* 62787 */ // Label 1462: @62787
24249 /* 62787 */ GIM_Reject,
24250 /* 62788 */ // Label 1459: @62788
24251 /* 62788 */ GIM_Reject,
24252 /* 62789 */ // Label 1310: @62789
24253 /* 62789 */ GIM_Reject,
24254 /* 62790 */ // Label 44: @62790
24255 /* 62790 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1465*/ GIMT_Encode4(62898),
24256 /* 62801 */ /*GILLT_s32*//*Label 1463*/ GIMT_Encode4(62809),
24257 /* 62805 */ /*GILLT_s64*//*Label 1464*/ GIMT_Encode4(62864),
24258 /* 62809 */ // Label 1463: @62809
24259 /* 62809 */ GIM_Try, /*On fail goto*//*Label 1466*/ GIMT_Encode4(62863),
24260 /* 62814 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24261 /* 62817 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24262 /* 62820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24263 /* 62824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24264 /* 62828 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24265 /* 62832 */ GIM_Try, /*On fail goto*//*Label 1467*/ GIMT_Encode4(62847), // Rule ID 406 //
24266 /* 62837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
24267 /* 62840 */ // (mulhu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUHU:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
24268 /* 62840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUHU),
24269 /* 62845 */ GIR_RootConstrainSelectedInstOperands,
24270 /* 62846 */ // GIR_Coverage, 406,
24271 /* 62846 */ GIR_Done,
24272 /* 62847 */ // Label 1467: @62847
24273 /* 62847 */ GIM_Try, /*On fail goto*//*Label 1468*/ GIMT_Encode4(62862), // Rule ID 1256 //
24274 /* 62852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
24275 /* 62855 */ // (mulhu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUHU_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
24276 /* 62855 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUHU_MMR6),
24277 /* 62860 */ GIR_RootConstrainSelectedInstOperands,
24278 /* 62861 */ // GIR_Coverage, 1256,
24279 /* 62861 */ GIR_Done,
24280 /* 62862 */ // Label 1468: @62862
24281 /* 62862 */ GIM_Reject,
24282 /* 62863 */ // Label 1466: @62863
24283 /* 62863 */ GIM_Reject,
24284 /* 62864 */ // Label 1464: @62864
24285 /* 62864 */ GIM_Try, /*On fail goto*//*Label 1469*/ GIMT_Encode4(62897), // Rule ID 421 //
24286 /* 62869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
24287 /* 62872 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24288 /* 62875 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24289 /* 62878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24290 /* 62882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24291 /* 62886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24292 /* 62890 */ // (mulhu:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMUHU:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
24293 /* 62890 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMUHU),
24294 /* 62895 */ GIR_RootConstrainSelectedInstOperands,
24295 /* 62896 */ // GIR_Coverage, 421,
24296 /* 62896 */ GIR_Done,
24297 /* 62897 */ // Label 1469: @62897
24298 /* 62897 */ GIM_Reject,
24299 /* 62898 */ // Label 1465: @62898
24300 /* 62898 */ GIM_Reject,
24301 /* 62899 */ // Label 45: @62899
24302 /* 62899 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1472*/ GIMT_Encode4(63007),
24303 /* 62910 */ /*GILLT_s32*//*Label 1470*/ GIMT_Encode4(62918),
24304 /* 62914 */ /*GILLT_s64*//*Label 1471*/ GIMT_Encode4(62973),
24305 /* 62918 */ // Label 1470: @62918
24306 /* 62918 */ GIM_Try, /*On fail goto*//*Label 1473*/ GIMT_Encode4(62972),
24307 /* 62923 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24308 /* 62926 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24309 /* 62929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24310 /* 62933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24311 /* 62937 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24312 /* 62941 */ GIM_Try, /*On fail goto*//*Label 1474*/ GIMT_Encode4(62956), // Rule ID 405 //
24313 /* 62946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
24314 /* 62949 */ // (mulhs:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUH:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
24315 /* 62949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUH),
24316 /* 62954 */ GIR_RootConstrainSelectedInstOperands,
24317 /* 62955 */ // GIR_Coverage, 405,
24318 /* 62955 */ GIR_Done,
24319 /* 62956 */ // Label 1474: @62956
24320 /* 62956 */ GIM_Try, /*On fail goto*//*Label 1475*/ GIMT_Encode4(62971), // Rule ID 1255 //
24321 /* 62961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
24322 /* 62964 */ // (mulhs:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUH_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
24323 /* 62964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUH_MMR6),
24324 /* 62969 */ GIR_RootConstrainSelectedInstOperands,
24325 /* 62970 */ // GIR_Coverage, 1255,
24326 /* 62970 */ GIR_Done,
24327 /* 62971 */ // Label 1475: @62971
24328 /* 62971 */ GIM_Reject,
24329 /* 62972 */ // Label 1473: @62972
24330 /* 62972 */ GIM_Reject,
24331 /* 62973 */ // Label 1471: @62973
24332 /* 62973 */ GIM_Try, /*On fail goto*//*Label 1476*/ GIMT_Encode4(63006), // Rule ID 420 //
24333 /* 62978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
24334 /* 62981 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24335 /* 62984 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24336 /* 62987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24337 /* 62991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24338 /* 62995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24339 /* 62999 */ // (mulhs:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMUH:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
24340 /* 62999 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMUH),
24341 /* 63004 */ GIR_RootConstrainSelectedInstOperands,
24342 /* 63005 */ // GIR_Coverage, 420,
24343 /* 63005 */ GIR_Done,
24344 /* 63006 */ // Label 1476: @63006
24345 /* 63006 */ GIM_Reject,
24346 /* 63007 */ // Label 1472: @63007
24347 /* 63007 */ GIM_Reject,
24348 /* 63008 */ // Label 46: @63008
24349 /* 63008 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(7), /*)*//*default:*//*Label 1481*/ GIMT_Encode4(64302),
24350 /* 63019 */ /*GILLT_s32*//*Label 1477*/ GIMT_Encode4(63043),
24351 /* 63023 */ /*GILLT_s64*//*Label 1478*/ GIMT_Encode4(63369), GIMT_Encode4(0),
24352 /* 63031 */ /*GILLT_v2s64*//*Label 1479*/ GIMT_Encode4(63994), GIMT_Encode4(0),
24353 /* 63039 */ /*GILLT_v4s32*//*Label 1480*/ GIMT_Encode4(64148),
24354 /* 63043 */ // Label 1477: @63043
24355 /* 63043 */ GIM_Try, /*On fail goto*//*Label 1482*/ GIMT_Encode4(63368),
24356 /* 63048 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24357 /* 63051 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24358 /* 63054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24359 /* 63058 */ GIM_Try, /*On fail goto*//*Label 1483*/ GIMT_Encode4(63115), // Rule ID 181 //
24360 /* 63063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24361 /* 63066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24362 /* 63070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24363 /* 63074 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24364 /* 63078 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24365 /* 63082 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24366 /* 63087 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24367 /* 63092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24368 /* 63096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24369 /* 63098 */ // (fadd:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr) => (MADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24370 /* 63098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
24371 /* 63101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24372 /* 63103 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24373 /* 63105 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24374 /* 63109 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24375 /* 63113 */ GIR_RootConstrainSelectedInstOperands,
24376 /* 63114 */ // GIR_Coverage, 181,
24377 /* 63114 */ GIR_EraseRootFromParent_Done,
24378 /* 63115 */ // Label 1483: @63115
24379 /* 63115 */ GIM_Try, /*On fail goto*//*Label 1484*/ GIMT_Encode4(63172), // Rule ID 180 //
24380 /* 63120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24381 /* 63123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24382 /* 63127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24383 /* 63131 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24384 /* 63135 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24385 /* 63139 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24386 /* 63144 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24387 /* 63149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24388 /* 63153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24389 /* 63155 */ // (fadd:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr) => (MADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24390 /* 63155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
24391 /* 63158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24392 /* 63160 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24393 /* 63162 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24394 /* 63166 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24395 /* 63170 */ GIR_RootConstrainSelectedInstOperands,
24396 /* 63171 */ // GIR_Coverage, 180,
24397 /* 63171 */ GIR_EraseRootFromParent_Done,
24398 /* 63172 */ // Label 1484: @63172
24399 /* 63172 */ GIM_Try, /*On fail goto*//*Label 1485*/ GIMT_Encode4(63229), // Rule ID 2490 //
24400 /* 63177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24401 /* 63180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24402 /* 63184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24403 /* 63188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24404 /* 63192 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24405 /* 63196 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24406 /* 63200 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24407 /* 63205 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24408 /* 63210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24409 /* 63212 */ // (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)) => (MADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24410 /* 63212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
24411 /* 63215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24412 /* 63217 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
24413 /* 63219 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24414 /* 63223 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24415 /* 63227 */ GIR_RootConstrainSelectedInstOperands,
24416 /* 63228 */ // GIR_Coverage, 2490,
24417 /* 63228 */ GIR_EraseRootFromParent_Done,
24418 /* 63229 */ // Label 1485: @63229
24419 /* 63229 */ GIM_Try, /*On fail goto*//*Label 1486*/ GIMT_Encode4(63286), // Rule ID 2489 //
24420 /* 63234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24421 /* 63237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24422 /* 63241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24423 /* 63245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24424 /* 63249 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24425 /* 63253 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24426 /* 63257 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24427 /* 63262 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24428 /* 63267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24429 /* 63269 */ // (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)) => (MADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24430 /* 63269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
24431 /* 63272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24432 /* 63274 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
24433 /* 63276 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24434 /* 63280 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24435 /* 63284 */ GIR_RootConstrainSelectedInstOperands,
24436 /* 63285 */ // GIR_Coverage, 2489,
24437 /* 63285 */ GIR_EraseRootFromParent_Done,
24438 /* 63286 */ // Label 1486: @63286
24439 /* 63286 */ GIM_Try, /*On fail goto*//*Label 1487*/ GIMT_Encode4(63313), // Rule ID 155 //
24440 /* 63291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
24441 /* 63294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24442 /* 63298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24443 /* 63302 */ // (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24444 /* 63302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_S),
24445 /* 63307 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
24446 /* 63311 */ GIR_RootConstrainSelectedInstOperands,
24447 /* 63312 */ // GIR_Coverage, 155,
24448 /* 63312 */ GIR_Done,
24449 /* 63313 */ // Label 1487: @63313
24450 /* 63313 */ GIM_Try, /*On fail goto*//*Label 1488*/ GIMT_Encode4(63340), // Rule ID 1205 //
24451 /* 63318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
24452 /* 63321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24453 /* 63325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24454 /* 63329 */ // (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24455 /* 63329 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_S_MM),
24456 /* 63334 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
24457 /* 63338 */ GIR_RootConstrainSelectedInstOperands,
24458 /* 63339 */ // GIR_Coverage, 1205,
24459 /* 63339 */ GIR_Done,
24460 /* 63340 */ // Label 1488: @63340
24461 /* 63340 */ GIM_Try, /*On fail goto*//*Label 1489*/ GIMT_Encode4(63367), // Rule ID 1263 //
24462 /* 63345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
24463 /* 63348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24464 /* 63352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24465 /* 63356 */ // (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FADD_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs)
24466 /* 63356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FADD_S_MMR6),
24467 /* 63359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24468 /* 63361 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
24469 /* 63363 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
24470 /* 63365 */ GIR_RootConstrainSelectedInstOperands,
24471 /* 63366 */ // GIR_Coverage, 1263,
24472 /* 63366 */ GIR_EraseRootFromParent_Done,
24473 /* 63367 */ // Label 1489: @63367
24474 /* 63367 */ GIM_Reject,
24475 /* 63368 */ // Label 1482: @63368
24476 /* 63368 */ GIM_Reject,
24477 /* 63369 */ // Label 1478: @63369
24478 /* 63369 */ GIM_Try, /*On fail goto*//*Label 1490*/ GIMT_Encode4(63993),
24479 /* 63374 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24480 /* 63377 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24481 /* 63380 */ GIM_Try, /*On fail goto*//*Label 1491*/ GIMT_Encode4(63441), // Rule ID 189 //
24482 /* 63385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
24483 /* 63388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24484 /* 63392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24485 /* 63396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24486 /* 63400 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24487 /* 63404 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24488 /* 63408 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24489 /* 63413 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24490 /* 63418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24491 /* 63422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24492 /* 63424 */ // (fadd:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr) => (MADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
24493 /* 63424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
24494 /* 63427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24495 /* 63429 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24496 /* 63431 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24497 /* 63435 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24498 /* 63439 */ GIR_RootConstrainSelectedInstOperands,
24499 /* 63440 */ // GIR_Coverage, 189,
24500 /* 63440 */ GIR_EraseRootFromParent_Done,
24501 /* 63441 */ // Label 1491: @63441
24502 /* 63441 */ GIM_Try, /*On fail goto*//*Label 1492*/ GIMT_Encode4(63502), // Rule ID 197 //
24503 /* 63446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24504 /* 63449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24505 /* 63453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24506 /* 63457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24507 /* 63461 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24508 /* 63465 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24509 /* 63469 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24510 /* 63474 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24511 /* 63479 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24512 /* 63483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24513 /* 63485 */ // (fadd:{ *:[f64] } (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr) => (MADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
24514 /* 63485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
24515 /* 63488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24516 /* 63490 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24517 /* 63492 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24518 /* 63496 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24519 /* 63500 */ GIR_RootConstrainSelectedInstOperands,
24520 /* 63501 */ // GIR_Coverage, 197,
24521 /* 63501 */ GIR_EraseRootFromParent_Done,
24522 /* 63502 */ // Label 1492: @63502
24523 /* 63502 */ GIM_Try, /*On fail goto*//*Label 1493*/ GIMT_Encode4(63563), // Rule ID 188 //
24524 /* 63507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
24525 /* 63510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24526 /* 63514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24527 /* 63518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24528 /* 63522 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24529 /* 63526 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24530 /* 63530 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24531 /* 63535 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24532 /* 63540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24533 /* 63544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24534 /* 63546 */ // (fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr) => (MADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
24535 /* 63546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
24536 /* 63549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24537 /* 63551 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24538 /* 63553 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24539 /* 63557 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24540 /* 63561 */ GIR_RootConstrainSelectedInstOperands,
24541 /* 63562 */ // GIR_Coverage, 188,
24542 /* 63562 */ GIR_EraseRootFromParent_Done,
24543 /* 63563 */ // Label 1493: @63563
24544 /* 63563 */ GIM_Try, /*On fail goto*//*Label 1494*/ GIMT_Encode4(63624), // Rule ID 196 //
24545 /* 63568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24546 /* 63571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24547 /* 63575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24548 /* 63579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24549 /* 63583 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24550 /* 63587 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24551 /* 63591 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24552 /* 63596 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24553 /* 63601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24554 /* 63605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24555 /* 63607 */ // (fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr) => (MADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
24556 /* 63607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
24557 /* 63610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24558 /* 63612 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24559 /* 63614 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24560 /* 63618 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24561 /* 63622 */ GIR_RootConstrainSelectedInstOperands,
24562 /* 63623 */ // GIR_Coverage, 196,
24563 /* 63623 */ GIR_EraseRootFromParent_Done,
24564 /* 63624 */ // Label 1494: @63624
24565 /* 63624 */ GIM_Try, /*On fail goto*//*Label 1495*/ GIMT_Encode4(63685), // Rule ID 2494 //
24566 /* 63629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
24567 /* 63632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24568 /* 63636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24569 /* 63640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24570 /* 63644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24571 /* 63648 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24572 /* 63652 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24573 /* 63656 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24574 /* 63661 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24575 /* 63666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24576 /* 63668 */ // (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)) => (MADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
24577 /* 63668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
24578 /* 63671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24579 /* 63673 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
24580 /* 63675 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24581 /* 63679 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24582 /* 63683 */ GIR_RootConstrainSelectedInstOperands,
24583 /* 63684 */ // GIR_Coverage, 2494,
24584 /* 63684 */ GIR_EraseRootFromParent_Done,
24585 /* 63685 */ // Label 1495: @63685
24586 /* 63685 */ GIM_Try, /*On fail goto*//*Label 1496*/ GIMT_Encode4(63746), // Rule ID 2498 //
24587 /* 63690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24588 /* 63693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24589 /* 63697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24590 /* 63701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24591 /* 63705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24592 /* 63709 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24593 /* 63713 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24594 /* 63717 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24595 /* 63722 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24596 /* 63727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24597 /* 63729 */ // (fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)) => (MADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
24598 /* 63729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
24599 /* 63732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24600 /* 63734 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
24601 /* 63736 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24602 /* 63740 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24603 /* 63744 */ GIR_RootConstrainSelectedInstOperands,
24604 /* 63745 */ // GIR_Coverage, 2498,
24605 /* 63745 */ GIR_EraseRootFromParent_Done,
24606 /* 63746 */ // Label 1496: @63746
24607 /* 63746 */ GIM_Try, /*On fail goto*//*Label 1497*/ GIMT_Encode4(63807), // Rule ID 2493 //
24608 /* 63751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
24609 /* 63754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24610 /* 63758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24611 /* 63762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24612 /* 63766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24613 /* 63770 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24614 /* 63774 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24615 /* 63778 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24616 /* 63783 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24617 /* 63788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24618 /* 63790 */ // (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)) => (MADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
24619 /* 63790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
24620 /* 63793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24621 /* 63795 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
24622 /* 63797 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24623 /* 63801 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24624 /* 63805 */ GIR_RootConstrainSelectedInstOperands,
24625 /* 63806 */ // GIR_Coverage, 2493,
24626 /* 63806 */ GIR_EraseRootFromParent_Done,
24627 /* 63807 */ // Label 1497: @63807
24628 /* 63807 */ GIM_Try, /*On fail goto*//*Label 1498*/ GIMT_Encode4(63868), // Rule ID 2497 //
24629 /* 63812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24630 /* 63815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24631 /* 63819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24632 /* 63823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24633 /* 63827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24634 /* 63831 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24635 /* 63835 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24636 /* 63839 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24637 /* 63844 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24638 /* 63849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24639 /* 63851 */ // (fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)) => (MADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
24640 /* 63851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
24641 /* 63854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24642 /* 63856 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
24643 /* 63858 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24644 /* 63862 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24645 /* 63866 */ GIR_RootConstrainSelectedInstOperands,
24646 /* 63867 */ // GIR_Coverage, 2497,
24647 /* 63867 */ GIR_EraseRootFromParent_Done,
24648 /* 63868 */ // Label 1498: @63868
24649 /* 63868 */ GIM_Try, /*On fail goto*//*Label 1499*/ GIMT_Encode4(63899), // Rule ID 157 //
24650 /* 63873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
24651 /* 63876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24652 /* 63880 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24653 /* 63884 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24654 /* 63888 */ // (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
24655 /* 63888 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D32),
24656 /* 63893 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
24657 /* 63897 */ GIR_RootConstrainSelectedInstOperands,
24658 /* 63898 */ // GIR_Coverage, 157,
24659 /* 63898 */ GIR_Done,
24660 /* 63899 */ // Label 1499: @63899
24661 /* 63899 */ GIM_Try, /*On fail goto*//*Label 1500*/ GIMT_Encode4(63930), // Rule ID 159 //
24662 /* 63904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
24663 /* 63907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24664 /* 63911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24665 /* 63915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24666 /* 63919 */ // (fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
24667 /* 63919 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D64),
24668 /* 63924 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
24669 /* 63928 */ GIR_RootConstrainSelectedInstOperands,
24670 /* 63929 */ // GIR_Coverage, 159,
24671 /* 63929 */ GIR_Done,
24672 /* 63930 */ // Label 1500: @63930
24673 /* 63930 */ GIM_Try, /*On fail goto*//*Label 1501*/ GIMT_Encode4(63961), // Rule ID 1209 //
24674 /* 63935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit),
24675 /* 63938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24676 /* 63942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24677 /* 63946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24678 /* 63950 */ // (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
24679 /* 63950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D32_MM),
24680 /* 63955 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
24681 /* 63959 */ GIR_RootConstrainSelectedInstOperands,
24682 /* 63960 */ // GIR_Coverage, 1209,
24683 /* 63960 */ GIR_Done,
24684 /* 63961 */ // Label 1501: @63961
24685 /* 63961 */ GIM_Try, /*On fail goto*//*Label 1502*/ GIMT_Encode4(63992), // Rule ID 1210 //
24686 /* 63966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat),
24687 /* 63969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24688 /* 63973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24689 /* 63977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24690 /* 63981 */ // (fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FADD_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
24691 /* 63981 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D64_MM),
24692 /* 63986 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
24693 /* 63990 */ GIR_RootConstrainSelectedInstOperands,
24694 /* 63991 */ // GIR_Coverage, 1210,
24695 /* 63991 */ GIR_Done,
24696 /* 63992 */ // Label 1502: @63992
24697 /* 63992 */ GIM_Reject,
24698 /* 63993 */ // Label 1490: @63993
24699 /* 63993 */ GIM_Reject,
24700 /* 63994 */ // Label 1479: @63994
24701 /* 63994 */ GIM_Try, /*On fail goto*//*Label 1503*/ GIMT_Encode4(64147),
24702 /* 63999 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24703 /* 64002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
24704 /* 64005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24705 /* 64009 */ GIM_Try, /*On fail goto*//*Label 1504*/ GIMT_Encode4(64066), // Rule ID 2633 //
24706 /* 64014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_AllowFPOpFusion_HasMSA_HasStdEnc),
24707 /* 64017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24708 /* 64021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24709 /* 64025 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
24710 /* 64029 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
24711 /* 64033 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24712 /* 64038 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24713 /* 64043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24714 /* 64047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24715 /* 64049 */ // (fadd:{ *:[v2f64] } (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt), MSA128DOpnd:{ *:[v2f64] }:$wd) => (FMADD_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
24716 /* 64049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMADD_D),
24717 /* 64052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24718 /* 64054 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd
24719 /* 64056 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
24720 /* 64060 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
24721 /* 64064 */ GIR_RootConstrainSelectedInstOperands,
24722 /* 64065 */ // GIR_Coverage, 2633,
24723 /* 64065 */ GIR_EraseRootFromParent_Done,
24724 /* 64066 */ // Label 1504: @64066
24725 /* 64066 */ GIM_Try, /*On fail goto*//*Label 1505*/ GIMT_Encode4(64123), // Rule ID 2120 //
24726 /* 64071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_AllowFPOpFusion_HasMSA_HasStdEnc),
24727 /* 64074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24728 /* 64078 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24729 /* 64082 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24730 /* 64086 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
24731 /* 64090 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
24732 /* 64094 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24733 /* 64099 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24734 /* 64104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24735 /* 64106 */ // (fadd:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)) => (FMADD_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
24736 /* 64106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMADD_D),
24737 /* 64109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24738 /* 64111 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd
24739 /* 64113 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
24740 /* 64117 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
24741 /* 64121 */ GIR_RootConstrainSelectedInstOperands,
24742 /* 64122 */ // GIR_Coverage, 2120,
24743 /* 64122 */ GIR_EraseRootFromParent_Done,
24744 /* 64123 */ // Label 1505: @64123
24745 /* 64123 */ GIM_Try, /*On fail goto*//*Label 1506*/ GIMT_Encode4(64146), // Rule ID 746 //
24746 /* 64128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24747 /* 64131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24748 /* 64135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24749 /* 64139 */ // (fadd:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FADD_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
24750 /* 64139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D),
24751 /* 64144 */ GIR_RootConstrainSelectedInstOperands,
24752 /* 64145 */ // GIR_Coverage, 746,
24753 /* 64145 */ GIR_Done,
24754 /* 64146 */ // Label 1506: @64146
24755 /* 64146 */ GIM_Reject,
24756 /* 64147 */ // Label 1503: @64147
24757 /* 64147 */ GIM_Reject,
24758 /* 64148 */ // Label 1480: @64148
24759 /* 64148 */ GIM_Try, /*On fail goto*//*Label 1507*/ GIMT_Encode4(64301),
24760 /* 64153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24761 /* 64156 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
24762 /* 64159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24763 /* 64163 */ GIM_Try, /*On fail goto*//*Label 1508*/ GIMT_Encode4(64220), // Rule ID 2632 //
24764 /* 64168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_AllowFPOpFusion_HasMSA_HasStdEnc),
24765 /* 64171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24766 /* 64175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24767 /* 64179 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
24768 /* 64183 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
24769 /* 64187 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24770 /* 64192 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24771 /* 64197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24772 /* 64201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24773 /* 64203 */ // (fadd:{ *:[v4f32] } (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt), MSA128WOpnd:{ *:[v4f32] }:$wd) => (FMADD_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
24774 /* 64203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMADD_W),
24775 /* 64206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24776 /* 64208 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd
24777 /* 64210 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
24778 /* 64214 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
24779 /* 64218 */ GIR_RootConstrainSelectedInstOperands,
24780 /* 64219 */ // GIR_Coverage, 2632,
24781 /* 64219 */ GIR_EraseRootFromParent_Done,
24782 /* 64220 */ // Label 1508: @64220
24783 /* 64220 */ GIM_Try, /*On fail goto*//*Label 1509*/ GIMT_Encode4(64277), // Rule ID 2119 //
24784 /* 64225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_AllowFPOpFusion_HasMSA_HasStdEnc),
24785 /* 64228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24786 /* 64232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24787 /* 64236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24788 /* 64240 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
24789 /* 64244 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
24790 /* 64248 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24791 /* 64253 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24792 /* 64258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24793 /* 64260 */ // (fadd:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)) => (FMADD_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
24794 /* 64260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMADD_W),
24795 /* 64263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24796 /* 64265 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd
24797 /* 64267 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
24798 /* 64271 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
24799 /* 64275 */ GIR_RootConstrainSelectedInstOperands,
24800 /* 64276 */ // GIR_Coverage, 2119,
24801 /* 64276 */ GIR_EraseRootFromParent_Done,
24802 /* 64277 */ // Label 1509: @64277
24803 /* 64277 */ GIM_Try, /*On fail goto*//*Label 1510*/ GIMT_Encode4(64300), // Rule ID 745 //
24804 /* 64282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
24805 /* 64285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24806 /* 64289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24807 /* 64293 */ // (fadd:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FADD_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
24808 /* 64293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_W),
24809 /* 64298 */ GIR_RootConstrainSelectedInstOperands,
24810 /* 64299 */ // GIR_Coverage, 745,
24811 /* 64299 */ GIR_Done,
24812 /* 64300 */ // Label 1510: @64300
24813 /* 64300 */ GIM_Reject,
24814 /* 64301 */ // Label 1507: @64301
24815 /* 64301 */ GIM_Reject,
24816 /* 64302 */ // Label 1481: @64302
24817 /* 64302 */ GIM_Reject,
24818 /* 64303 */ // Label 47: @64303
24819 /* 64303 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(7), /*)*//*default:*//*Label 1515*/ GIMT_Encode4(65117),
24820 /* 64314 */ /*GILLT_s32*//*Label 1511*/ GIMT_Encode4(64338),
24821 /* 64318 */ /*GILLT_s64*//*Label 1512*/ GIMT_Encode4(64550), GIMT_Encode4(0),
24822 /* 64326 */ /*GILLT_v2s64*//*Label 1513*/ GIMT_Encode4(64931), GIMT_Encode4(0),
24823 /* 64334 */ /*GILLT_v4s32*//*Label 1514*/ GIMT_Encode4(65024),
24824 /* 64338 */ // Label 1511: @64338
24825 /* 64338 */ GIM_Try, /*On fail goto*//*Label 1516*/ GIMT_Encode4(64549),
24826 /* 64343 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24827 /* 64346 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24828 /* 64349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24829 /* 64353 */ GIM_Try, /*On fail goto*//*Label 1517*/ GIMT_Encode4(64410), // Rule ID 185 //
24830 /* 64358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24831 /* 64361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24832 /* 64365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24833 /* 64369 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24834 /* 64373 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24835 /* 64377 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24836 /* 64382 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24837 /* 64387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24838 /* 64391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24839 /* 64393 */ // (fsub:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr) => (MSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24840 /* 64393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_S),
24841 /* 64396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24842 /* 64398 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24843 /* 64400 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24844 /* 64404 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24845 /* 64408 */ GIR_RootConstrainSelectedInstOperands,
24846 /* 64409 */ // GIR_Coverage, 185,
24847 /* 64409 */ GIR_EraseRootFromParent_Done,
24848 /* 64410 */ // Label 1517: @64410
24849 /* 64410 */ GIM_Try, /*On fail goto*//*Label 1518*/ GIMT_Encode4(64467), // Rule ID 184 //
24850 /* 64415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24851 /* 64418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24852 /* 64422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24853 /* 64426 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24854 /* 64430 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24855 /* 64434 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24856 /* 64439 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24857 /* 64444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24858 /* 64448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24859 /* 64450 */ // (fsub:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr) => (MSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24860 /* 64450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_S),
24861 /* 64453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24862 /* 64455 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24863 /* 64457 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24864 /* 64461 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24865 /* 64465 */ GIR_RootConstrainSelectedInstOperands,
24866 /* 64466 */ // GIR_Coverage, 184,
24867 /* 64466 */ GIR_EraseRootFromParent_Done,
24868 /* 64467 */ // Label 1518: @64467
24869 /* 64467 */ GIM_Try, /*On fail goto*//*Label 1519*/ GIMT_Encode4(64494), // Rule ID 173 //
24870 /* 64472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
24871 /* 64475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24872 /* 64479 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24873 /* 64483 */ // (fsub:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24874 /* 64483 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_S),
24875 /* 64488 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
24876 /* 64492 */ GIR_RootConstrainSelectedInstOperands,
24877 /* 64493 */ // GIR_Coverage, 173,
24878 /* 64493 */ GIR_Done,
24879 /* 64494 */ // Label 1519: @64494
24880 /* 64494 */ GIM_Try, /*On fail goto*//*Label 1520*/ GIMT_Encode4(64521), // Rule ID 1208 //
24881 /* 64499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
24882 /* 64502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24883 /* 64506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24884 /* 64510 */ // (fsub:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FSUB_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
24885 /* 64510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_S_MM),
24886 /* 64515 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
24887 /* 64519 */ GIR_RootConstrainSelectedInstOperands,
24888 /* 64520 */ // GIR_Coverage, 1208,
24889 /* 64520 */ GIR_Done,
24890 /* 64521 */ // Label 1520: @64521
24891 /* 64521 */ GIM_Try, /*On fail goto*//*Label 1521*/ GIMT_Encode4(64548), // Rule ID 1264 //
24892 /* 64526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
24893 /* 64529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24894 /* 64533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24895 /* 64537 */ // (fsub:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FSUB_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs)
24896 /* 64537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUB_S_MMR6),
24897 /* 64540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24898 /* 64542 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
24899 /* 64544 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
24900 /* 64546 */ GIR_RootConstrainSelectedInstOperands,
24901 /* 64547 */ // GIR_Coverage, 1264,
24902 /* 64547 */ GIR_EraseRootFromParent_Done,
24903 /* 64548 */ // Label 1521: @64548
24904 /* 64548 */ GIM_Reject,
24905 /* 64549 */ // Label 1516: @64549
24906 /* 64549 */ GIM_Reject,
24907 /* 64550 */ // Label 1512: @64550
24908 /* 64550 */ GIM_Try, /*On fail goto*//*Label 1522*/ GIMT_Encode4(64930),
24909 /* 64555 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24910 /* 64558 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24911 /* 64561 */ GIM_Try, /*On fail goto*//*Label 1523*/ GIMT_Encode4(64622), // Rule ID 193 //
24912 /* 64566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
24913 /* 64569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24914 /* 64573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24915 /* 64577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24916 /* 64581 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24917 /* 64585 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24918 /* 64589 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24919 /* 64594 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24920 /* 64599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24921 /* 64603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24922 /* 64605 */ // (fsub:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr) => (MSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
24923 /* 64605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D32),
24924 /* 64608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24925 /* 64610 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24926 /* 64612 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24927 /* 64616 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24928 /* 64620 */ GIR_RootConstrainSelectedInstOperands,
24929 /* 64621 */ // GIR_Coverage, 193,
24930 /* 64621 */ GIR_EraseRootFromParent_Done,
24931 /* 64622 */ // Label 1523: @64622
24932 /* 64622 */ GIM_Try, /*On fail goto*//*Label 1524*/ GIMT_Encode4(64683), // Rule ID 201 //
24933 /* 64627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24934 /* 64630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24935 /* 64634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24936 /* 64638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
24937 /* 64642 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24938 /* 64646 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24939 /* 64650 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24940 /* 64655 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24941 /* 64660 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24942 /* 64664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24943 /* 64666 */ // (fsub:{ *:[f64] } (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr) => (MSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
24944 /* 64666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D64),
24945 /* 64669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24946 /* 64671 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24947 /* 64673 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24948 /* 64677 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24949 /* 64681 */ GIR_RootConstrainSelectedInstOperands,
24950 /* 64682 */ // GIR_Coverage, 201,
24951 /* 64682 */ GIR_EraseRootFromParent_Done,
24952 /* 64683 */ // Label 1524: @64683
24953 /* 64683 */ GIM_Try, /*On fail goto*//*Label 1525*/ GIMT_Encode4(64744), // Rule ID 192 //
24954 /* 64688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
24955 /* 64691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24956 /* 64695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24957 /* 64699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24958 /* 64703 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24959 /* 64707 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24960 /* 64711 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24961 /* 64716 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24962 /* 64721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24963 /* 64725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24964 /* 64727 */ // (fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr) => (MSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
24965 /* 64727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D32),
24966 /* 64730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24967 /* 64732 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24968 /* 64734 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24969 /* 64738 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24970 /* 64742 */ GIR_RootConstrainSelectedInstOperands,
24971 /* 64743 */ // GIR_Coverage, 192,
24972 /* 64743 */ GIR_EraseRootFromParent_Done,
24973 /* 64744 */ // Label 1525: @64744
24974 /* 64744 */ GIM_Try, /*On fail goto*//*Label 1526*/ GIMT_Encode4(64805), // Rule ID 200 //
24975 /* 64749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
24976 /* 64752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24977 /* 64756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24978 /* 64760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
24979 /* 64764 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
24980 /* 64768 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
24981 /* 64772 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24982 /* 64777 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24983 /* 64782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24984 /* 64786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24985 /* 64788 */ // (fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr) => (MSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
24986 /* 64788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D64),
24987 /* 64791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24988 /* 64793 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
24989 /* 64795 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
24990 /* 64799 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
24991 /* 64803 */ GIR_RootConstrainSelectedInstOperands,
24992 /* 64804 */ // GIR_Coverage, 200,
24993 /* 64804 */ GIR_EraseRootFromParent_Done,
24994 /* 64805 */ // Label 1526: @64805
24995 /* 64805 */ GIM_Try, /*On fail goto*//*Label 1527*/ GIMT_Encode4(64836), // Rule ID 175 //
24996 /* 64810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
24997 /* 64813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24998 /* 64817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24999 /* 64821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25000 /* 64825 */ // (fsub:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25001 /* 64825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D32),
25002 /* 64830 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25003 /* 64834 */ GIR_RootConstrainSelectedInstOperands,
25004 /* 64835 */ // GIR_Coverage, 175,
25005 /* 64835 */ GIR_Done,
25006 /* 64836 */ // Label 1527: @64836
25007 /* 64836 */ GIM_Try, /*On fail goto*//*Label 1528*/ GIMT_Encode4(64867), // Rule ID 177 //
25008 /* 64841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
25009 /* 64844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25010 /* 64848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25011 /* 64852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25012 /* 64856 */ // (fsub:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25013 /* 64856 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D64),
25014 /* 64861 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25015 /* 64865 */ GIR_RootConstrainSelectedInstOperands,
25016 /* 64866 */ // GIR_Coverage, 177,
25017 /* 64866 */ GIR_Done,
25018 /* 64867 */ // Label 1528: @64867
25019 /* 64867 */ GIM_Try, /*On fail goto*//*Label 1529*/ GIMT_Encode4(64898), // Rule ID 1215 //
25020 /* 64872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit),
25021 /* 64875 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25022 /* 64879 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25023 /* 64883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25024 /* 64887 */ // (fsub:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25025 /* 64887 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D32_MM),
25026 /* 64892 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25027 /* 64896 */ GIR_RootConstrainSelectedInstOperands,
25028 /* 64897 */ // GIR_Coverage, 1215,
25029 /* 64897 */ GIR_Done,
25030 /* 64898 */ // Label 1529: @64898
25031 /* 64898 */ GIM_Try, /*On fail goto*//*Label 1530*/ GIMT_Encode4(64929), // Rule ID 1216 //
25032 /* 64903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat),
25033 /* 64906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25034 /* 64910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25035 /* 64914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25036 /* 64918 */ // (fsub:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25037 /* 64918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D64_MM),
25038 /* 64923 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25039 /* 64927 */ GIR_RootConstrainSelectedInstOperands,
25040 /* 64928 */ // GIR_Coverage, 1216,
25041 /* 64928 */ GIR_Done,
25042 /* 64929 */ // Label 1530: @64929
25043 /* 64929 */ GIM_Reject,
25044 /* 64930 */ // Label 1522: @64930
25045 /* 64930 */ GIM_Reject,
25046 /* 64931 */ // Label 1513: @64931
25047 /* 64931 */ GIM_Try, /*On fail goto*//*Label 1531*/ GIMT_Encode4(65023),
25048 /* 64936 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25049 /* 64939 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
25050 /* 64942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25051 /* 64946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25052 /* 64950 */ GIM_Try, /*On fail goto*//*Label 1532*/ GIMT_Encode4(65003), // Rule ID 2118 //
25053 /* 64955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_AllowFPOpFusion_HasMSA_HasStdEnc),
25054 /* 64958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25055 /* 64962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25056 /* 64966 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
25057 /* 64970 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
25058 /* 64974 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25059 /* 64979 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25060 /* 64984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25061 /* 64986 */ // (fsub:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)) => (FMSUB_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
25062 /* 64986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMSUB_D),
25063 /* 64989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
25064 /* 64991 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd
25065 /* 64993 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
25066 /* 64997 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
25067 /* 65001 */ GIR_RootConstrainSelectedInstOperands,
25068 /* 65002 */ // GIR_Coverage, 2118,
25069 /* 65002 */ GIR_EraseRootFromParent_Done,
25070 /* 65003 */ // Label 1532: @65003
25071 /* 65003 */ GIM_Try, /*On fail goto*//*Label 1533*/ GIMT_Encode4(65022), // Rule ID 834 //
25072 /* 65008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25073 /* 65011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25074 /* 65015 */ // (fsub:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSUB_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
25075 /* 65015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D),
25076 /* 65020 */ GIR_RootConstrainSelectedInstOperands,
25077 /* 65021 */ // GIR_Coverage, 834,
25078 /* 65021 */ GIR_Done,
25079 /* 65022 */ // Label 1533: @65022
25080 /* 65022 */ GIM_Reject,
25081 /* 65023 */ // Label 1531: @65023
25082 /* 65023 */ GIM_Reject,
25083 /* 65024 */ // Label 1514: @65024
25084 /* 65024 */ GIM_Try, /*On fail goto*//*Label 1534*/ GIMT_Encode4(65116),
25085 /* 65029 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25086 /* 65032 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
25087 /* 65035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25088 /* 65039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25089 /* 65043 */ GIM_Try, /*On fail goto*//*Label 1535*/ GIMT_Encode4(65096), // Rule ID 2117 //
25090 /* 65048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_AllowFPOpFusion_HasMSA_HasStdEnc),
25091 /* 65051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25092 /* 65055 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25093 /* 65059 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
25094 /* 65063 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
25095 /* 65067 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25096 /* 65072 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25097 /* 65077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25098 /* 65079 */ // (fsub:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)) => (FMSUB_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
25099 /* 65079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMSUB_W),
25100 /* 65082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
25101 /* 65084 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd
25102 /* 65086 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
25103 /* 65090 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
25104 /* 65094 */ GIR_RootConstrainSelectedInstOperands,
25105 /* 65095 */ // GIR_Coverage, 2117,
25106 /* 65095 */ GIR_EraseRootFromParent_Done,
25107 /* 65096 */ // Label 1535: @65096
25108 /* 65096 */ GIM_Try, /*On fail goto*//*Label 1536*/ GIMT_Encode4(65115), // Rule ID 833 //
25109 /* 65101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25110 /* 65104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25111 /* 65108 */ // (fsub:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSUB_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
25112 /* 65108 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_W),
25113 /* 65113 */ GIR_RootConstrainSelectedInstOperands,
25114 /* 65114 */ // GIR_Coverage, 833,
25115 /* 65114 */ GIR_Done,
25116 /* 65115 */ // Label 1536: @65115
25117 /* 65115 */ GIM_Reject,
25118 /* 65116 */ // Label 1534: @65116
25119 /* 65116 */ GIM_Reject,
25120 /* 65117 */ // Label 1515: @65117
25121 /* 65117 */ GIM_Reject,
25122 /* 65118 */ // Label 48: @65118
25123 /* 65118 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(7), /*)*//*default:*//*Label 1541*/ GIMT_Encode4(65628),
25124 /* 65129 */ /*GILLT_s32*//*Label 1537*/ GIMT_Encode4(65153),
25125 /* 65133 */ /*GILLT_s64*//*Label 1538*/ GIMT_Encode4(65235), GIMT_Encode4(0),
25126 /* 65141 */ /*GILLT_v2s64*//*Label 1539*/ GIMT_Encode4(65372), GIMT_Encode4(0),
25127 /* 65149 */ /*GILLT_v4s32*//*Label 1540*/ GIMT_Encode4(65500),
25128 /* 65153 */ // Label 1537: @65153
25129 /* 65153 */ GIM_Try, /*On fail goto*//*Label 1542*/ GIMT_Encode4(65234),
25130 /* 65158 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25131 /* 65161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
25132 /* 65164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25133 /* 65168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25134 /* 65172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25135 /* 65176 */ GIM_Try, /*On fail goto*//*Label 1543*/ GIMT_Encode4(65195), // Rule ID 167 //
25136 /* 65181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
25137 /* 65184 */ // (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FMUL_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25138 /* 65184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_S),
25139 /* 65189 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25140 /* 65193 */ GIR_RootConstrainSelectedInstOperands,
25141 /* 65194 */ // GIR_Coverage, 167,
25142 /* 65194 */ GIR_Done,
25143 /* 65195 */ // Label 1543: @65195
25144 /* 65195 */ GIM_Try, /*On fail goto*//*Label 1544*/ GIMT_Encode4(65214), // Rule ID 1207 //
25145 /* 65200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
25146 /* 65203 */ // (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FMUL_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25147 /* 65203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_S_MM),
25148 /* 65208 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25149 /* 65212 */ GIR_RootConstrainSelectedInstOperands,
25150 /* 65213 */ // GIR_Coverage, 1207,
25151 /* 65213 */ GIR_Done,
25152 /* 65214 */ // Label 1544: @65214
25153 /* 65214 */ GIM_Try, /*On fail goto*//*Label 1545*/ GIMT_Encode4(65233), // Rule ID 1265 //
25154 /* 65219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
25155 /* 65222 */ // (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FMUL_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs)
25156 /* 65222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMUL_S_MMR6),
25157 /* 65225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25158 /* 65227 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
25159 /* 65229 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
25160 /* 65231 */ GIR_RootConstrainSelectedInstOperands,
25161 /* 65232 */ // GIR_Coverage, 1265,
25162 /* 65232 */ GIR_EraseRootFromParent_Done,
25163 /* 65233 */ // Label 1545: @65233
25164 /* 65233 */ GIM_Reject,
25165 /* 65234 */ // Label 1542: @65234
25166 /* 65234 */ GIM_Reject,
25167 /* 65235 */ // Label 1538: @65235
25168 /* 65235 */ GIM_Try, /*On fail goto*//*Label 1546*/ GIMT_Encode4(65371),
25169 /* 65240 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25170 /* 65243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
25171 /* 65246 */ GIM_Try, /*On fail goto*//*Label 1547*/ GIMT_Encode4(65277), // Rule ID 169 //
25172 /* 65251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
25173 /* 65254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25174 /* 65258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25175 /* 65262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25176 /* 65266 */ // (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25177 /* 65266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D32),
25178 /* 65271 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25179 /* 65275 */ GIR_RootConstrainSelectedInstOperands,
25180 /* 65276 */ // GIR_Coverage, 169,
25181 /* 65276 */ GIR_Done,
25182 /* 65277 */ // Label 1547: @65277
25183 /* 65277 */ GIM_Try, /*On fail goto*//*Label 1548*/ GIMT_Encode4(65308), // Rule ID 171 //
25184 /* 65282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
25185 /* 65285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25186 /* 65289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25187 /* 65293 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25188 /* 65297 */ // (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25189 /* 65297 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D64),
25190 /* 65302 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25191 /* 65306 */ GIR_RootConstrainSelectedInstOperands,
25192 /* 65307 */ // GIR_Coverage, 171,
25193 /* 65307 */ GIR_Done,
25194 /* 65308 */ // Label 1548: @65308
25195 /* 65308 */ GIM_Try, /*On fail goto*//*Label 1549*/ GIMT_Encode4(65339), // Rule ID 1213 //
25196 /* 65313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit),
25197 /* 65316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25198 /* 65320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25199 /* 65324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25200 /* 65328 */ // (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25201 /* 65328 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D32_MM),
25202 /* 65333 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25203 /* 65337 */ GIR_RootConstrainSelectedInstOperands,
25204 /* 65338 */ // GIR_Coverage, 1213,
25205 /* 65338 */ GIR_Done,
25206 /* 65339 */ // Label 1549: @65339
25207 /* 65339 */ GIM_Try, /*On fail goto*//*Label 1550*/ GIMT_Encode4(65370), // Rule ID 1214 //
25208 /* 65344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat),
25209 /* 65347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25210 /* 65351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25211 /* 65355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25212 /* 65359 */ // (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25213 /* 65359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D64_MM),
25214 /* 65364 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25215 /* 65368 */ GIR_RootConstrainSelectedInstOperands,
25216 /* 65369 */ // GIR_Coverage, 1214,
25217 /* 65369 */ GIR_Done,
25218 /* 65370 */ // Label 1550: @65370
25219 /* 65370 */ GIM_Reject,
25220 /* 65371 */ // Label 1546: @65371
25221 /* 65371 */ GIM_Reject,
25222 /* 65372 */ // Label 1539: @65372
25223 /* 65372 */ GIM_Try, /*On fail goto*//*Label 1551*/ GIMT_Encode4(65499),
25224 /* 65377 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25225 /* 65380 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
25226 /* 65383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25227 /* 65387 */ GIM_Try, /*On fail goto*//*Label 1552*/ GIMT_Encode4(65431), // Rule ID 2560 //
25228 /* 65392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25229 /* 65395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25230 /* 65399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FEXP2),
25231 /* 65403 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
25232 /* 65407 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25233 /* 65412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25234 /* 65416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25235 /* 65418 */ // (fmul:{ *:[v2f64] } (fexp2:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wt), MSA128DOpnd:{ *:[v2f64] }:$ws) => (FEXP2_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
25236 /* 65418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXP2_D),
25237 /* 65421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
25238 /* 65423 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
25239 /* 65425 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
25240 /* 65429 */ GIR_RootConstrainSelectedInstOperands,
25241 /* 65430 */ // GIR_Coverage, 2560,
25242 /* 65430 */ GIR_EraseRootFromParent_Done,
25243 /* 65431 */ // Label 1552: @65431
25244 /* 65431 */ GIM_Try, /*On fail goto*//*Label 1553*/ GIMT_Encode4(65475), // Rule ID 776 //
25245 /* 65436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25246 /* 65439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25247 /* 65443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25248 /* 65447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FEXP2),
25249 /* 65451 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
25250 /* 65455 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25251 /* 65460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25252 /* 65462 */ // (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, (fexp2:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wt)) => (FEXP2_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
25253 /* 65462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXP2_D),
25254 /* 65465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
25255 /* 65467 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
25256 /* 65469 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
25257 /* 65473 */ GIR_RootConstrainSelectedInstOperands,
25258 /* 65474 */ // GIR_Coverage, 776,
25259 /* 65474 */ GIR_EraseRootFromParent_Done,
25260 /* 65475 */ // Label 1553: @65475
25261 /* 65475 */ GIM_Try, /*On fail goto*//*Label 1554*/ GIMT_Encode4(65498), // Rule ID 812 //
25262 /* 65480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25263 /* 65483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25264 /* 65487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25265 /* 65491 */ // (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMUL_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
25266 /* 65491 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D),
25267 /* 65496 */ GIR_RootConstrainSelectedInstOperands,
25268 /* 65497 */ // GIR_Coverage, 812,
25269 /* 65497 */ GIR_Done,
25270 /* 65498 */ // Label 1554: @65498
25271 /* 65498 */ GIM_Reject,
25272 /* 65499 */ // Label 1551: @65499
25273 /* 65499 */ GIM_Reject,
25274 /* 65500 */ // Label 1540: @65500
25275 /* 65500 */ GIM_Try, /*On fail goto*//*Label 1555*/ GIMT_Encode4(65627),
25276 /* 65505 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25277 /* 65508 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
25278 /* 65511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25279 /* 65515 */ GIM_Try, /*On fail goto*//*Label 1556*/ GIMT_Encode4(65559), // Rule ID 2559 //
25280 /* 65520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25281 /* 65523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25282 /* 65527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FEXP2),
25283 /* 65531 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
25284 /* 65535 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25285 /* 65540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25286 /* 65544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25287 /* 65546 */ // (fmul:{ *:[v4f32] } (fexp2:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wt), MSA128WOpnd:{ *:[v4f32] }:$ws) => (FEXP2_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
25288 /* 65546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXP2_W),
25289 /* 65549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
25290 /* 65551 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
25291 /* 65553 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
25292 /* 65557 */ GIR_RootConstrainSelectedInstOperands,
25293 /* 65558 */ // GIR_Coverage, 2559,
25294 /* 65558 */ GIR_EraseRootFromParent_Done,
25295 /* 65559 */ // Label 1556: @65559
25296 /* 65559 */ GIM_Try, /*On fail goto*//*Label 1557*/ GIMT_Encode4(65603), // Rule ID 775 //
25297 /* 65564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25298 /* 65567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25299 /* 65571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25300 /* 65575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FEXP2),
25301 /* 65579 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
25302 /* 65583 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25303 /* 65588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25304 /* 65590 */ // (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, (fexp2:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wt)) => (FEXP2_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
25305 /* 65590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXP2_W),
25306 /* 65593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
25307 /* 65595 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
25308 /* 65597 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
25309 /* 65601 */ GIR_RootConstrainSelectedInstOperands,
25310 /* 65602 */ // GIR_Coverage, 775,
25311 /* 65602 */ GIR_EraseRootFromParent_Done,
25312 /* 65603 */ // Label 1557: @65603
25313 /* 65603 */ GIM_Try, /*On fail goto*//*Label 1558*/ GIMT_Encode4(65626), // Rule ID 811 //
25314 /* 65608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25315 /* 65611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25316 /* 65615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25317 /* 65619 */ // (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMUL_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
25318 /* 65619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_W),
25319 /* 65624 */ GIR_RootConstrainSelectedInstOperands,
25320 /* 65625 */ // GIR_Coverage, 811,
25321 /* 65625 */ GIR_Done,
25322 /* 65626 */ // Label 1558: @65626
25323 /* 65626 */ GIM_Reject,
25324 /* 65627 */ // Label 1555: @65627
25325 /* 65627 */ GIM_Reject,
25326 /* 65628 */ // Label 1541: @65628
25327 /* 65628 */ GIM_Reject,
25328 /* 65629 */ // Label 49: @65629
25329 /* 65629 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(7), /*)*//*default:*//*Label 1561*/ GIMT_Encode4(65734),
25330 /* 65640 */ /*GILLT_v2s64*//*Label 1559*/ GIMT_Encode4(65652), GIMT_Encode4(0),
25331 /* 65648 */ /*GILLT_v4s32*//*Label 1560*/ GIMT_Encode4(65693),
25332 /* 65652 */ // Label 1559: @65652
25333 /* 65652 */ GIM_Try, /*On fail goto*//*Label 1562*/ GIMT_Encode4(65692), // Rule ID 800 //
25334 /* 65657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25335 /* 65660 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25336 /* 65663 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
25337 /* 65666 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
25338 /* 65669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25339 /* 65673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25340 /* 65677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25341 /* 65681 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25342 /* 65685 */ // (fma:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd_in, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMADD_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd_in, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
25343 /* 65685 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMADD_D),
25344 /* 65690 */ GIR_RootConstrainSelectedInstOperands,
25345 /* 65691 */ // GIR_Coverage, 800,
25346 /* 65691 */ GIR_Done,
25347 /* 65692 */ // Label 1562: @65692
25348 /* 65692 */ GIM_Reject,
25349 /* 65693 */ // Label 1560: @65693
25350 /* 65693 */ GIM_Try, /*On fail goto*//*Label 1563*/ GIMT_Encode4(65733), // Rule ID 799 //
25351 /* 65698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25352 /* 65701 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25353 /* 65704 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
25354 /* 65707 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
25355 /* 65710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25356 /* 65714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25357 /* 65718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25358 /* 65722 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25359 /* 65726 */ // (fma:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd_in, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMADD_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd_in, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
25360 /* 65726 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMADD_W),
25361 /* 65731 */ GIR_RootConstrainSelectedInstOperands,
25362 /* 65732 */ // GIR_Coverage, 799,
25363 /* 65732 */ GIR_Done,
25364 /* 65733 */ // Label 1563: @65733
25365 /* 65733 */ GIM_Reject,
25366 /* 65734 */ // Label 1561: @65734
25367 /* 65734 */ GIM_Reject,
25368 /* 65735 */ // Label 50: @65735
25369 /* 65735 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(7), /*)*//*default:*//*Label 1568*/ GIMT_Encode4(66057),
25370 /* 65746 */ /*GILLT_s32*//*Label 1564*/ GIMT_Encode4(65770),
25371 /* 65750 */ /*GILLT_s64*//*Label 1565*/ GIMT_Encode4(65852), GIMT_Encode4(0),
25372 /* 65758 */ /*GILLT_v2s64*//*Label 1566*/ GIMT_Encode4(65989), GIMT_Encode4(0),
25373 /* 65766 */ /*GILLT_v4s32*//*Label 1567*/ GIMT_Encode4(66023),
25374 /* 65770 */ // Label 1564: @65770
25375 /* 65770 */ GIM_Try, /*On fail goto*//*Label 1569*/ GIMT_Encode4(65851),
25376 /* 65775 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25377 /* 65778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
25378 /* 65781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25379 /* 65785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25380 /* 65789 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25381 /* 65793 */ GIM_Try, /*On fail goto*//*Label 1570*/ GIMT_Encode4(65812), // Rule ID 161 //
25382 /* 65798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
25383 /* 65801 */ // (fdiv:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FDIV_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25384 /* 65801 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_S),
25385 /* 65806 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25386 /* 65810 */ GIR_RootConstrainSelectedInstOperands,
25387 /* 65811 */ // GIR_Coverage, 161,
25388 /* 65811 */ GIR_Done,
25389 /* 65812 */ // Label 1570: @65812
25390 /* 65812 */ GIM_Try, /*On fail goto*//*Label 1571*/ GIMT_Encode4(65831), // Rule ID 1206 //
25391 /* 65817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
25392 /* 65820 */ // (fdiv:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FDIV_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25393 /* 65820 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_S_MM),
25394 /* 65825 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25395 /* 65829 */ GIR_RootConstrainSelectedInstOperands,
25396 /* 65830 */ // GIR_Coverage, 1206,
25397 /* 65830 */ GIR_Done,
25398 /* 65831 */ // Label 1571: @65831
25399 /* 65831 */ GIM_Try, /*On fail goto*//*Label 1572*/ GIMT_Encode4(65850), // Rule ID 1266 //
25400 /* 65836 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
25401 /* 65839 */ // (fdiv:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FDIV_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs)
25402 /* 65839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FDIV_S_MMR6),
25403 /* 65842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25404 /* 65844 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
25405 /* 65846 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
25406 /* 65848 */ GIR_RootConstrainSelectedInstOperands,
25407 /* 65849 */ // GIR_Coverage, 1266,
25408 /* 65849 */ GIR_EraseRootFromParent_Done,
25409 /* 65850 */ // Label 1572: @65850
25410 /* 65850 */ GIM_Reject,
25411 /* 65851 */ // Label 1569: @65851
25412 /* 65851 */ GIM_Reject,
25413 /* 65852 */ // Label 1565: @65852
25414 /* 65852 */ GIM_Try, /*On fail goto*//*Label 1573*/ GIMT_Encode4(65988),
25415 /* 65857 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25416 /* 65860 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
25417 /* 65863 */ GIM_Try, /*On fail goto*//*Label 1574*/ GIMT_Encode4(65894), // Rule ID 163 //
25418 /* 65868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
25419 /* 65871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25420 /* 65875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25421 /* 65879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25422 /* 65883 */ // (fdiv:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25423 /* 65883 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D32),
25424 /* 65888 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25425 /* 65892 */ GIR_RootConstrainSelectedInstOperands,
25426 /* 65893 */ // GIR_Coverage, 163,
25427 /* 65893 */ GIR_Done,
25428 /* 65894 */ // Label 1574: @65894
25429 /* 65894 */ GIM_Try, /*On fail goto*//*Label 1575*/ GIMT_Encode4(65925), // Rule ID 165 //
25430 /* 65899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
25431 /* 65902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25432 /* 65906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25433 /* 65910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25434 /* 65914 */ // (fdiv:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25435 /* 65914 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D64),
25436 /* 65919 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25437 /* 65923 */ GIR_RootConstrainSelectedInstOperands,
25438 /* 65924 */ // GIR_Coverage, 165,
25439 /* 65924 */ GIR_Done,
25440 /* 65925 */ // Label 1575: @65925
25441 /* 65925 */ GIM_Try, /*On fail goto*//*Label 1576*/ GIMT_Encode4(65956), // Rule ID 1211 //
25442 /* 65930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit),
25443 /* 65933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25444 /* 65937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25445 /* 65941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25446 /* 65945 */ // (fdiv:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25447 /* 65945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D32_MM),
25448 /* 65950 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25449 /* 65954 */ GIR_RootConstrainSelectedInstOperands,
25450 /* 65955 */ // GIR_Coverage, 1211,
25451 /* 65955 */ GIR_Done,
25452 /* 65956 */ // Label 1576: @65956
25453 /* 65956 */ GIM_Try, /*On fail goto*//*Label 1577*/ GIMT_Encode4(65987), // Rule ID 1212 //
25454 /* 65961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat),
25455 /* 65964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25456 /* 65968 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25457 /* 65972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25458 /* 65976 */ // (fdiv:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25459 /* 65976 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D64_MM),
25460 /* 65981 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25461 /* 65985 */ GIR_RootConstrainSelectedInstOperands,
25462 /* 65986 */ // GIR_Coverage, 1212,
25463 /* 65986 */ GIR_Done,
25464 /* 65987 */ // Label 1577: @65987
25465 /* 65987 */ GIM_Reject,
25466 /* 65988 */ // Label 1573: @65988
25467 /* 65988 */ GIM_Reject,
25468 /* 65989 */ // Label 1566: @65989
25469 /* 65989 */ GIM_Try, /*On fail goto*//*Label 1578*/ GIMT_Encode4(66022), // Rule ID 772 //
25470 /* 65994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25471 /* 65997 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25472 /* 66000 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
25473 /* 66003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25474 /* 66007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25475 /* 66011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25476 /* 66015 */ // (fdiv:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FDIV_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
25477 /* 66015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D),
25478 /* 66020 */ GIR_RootConstrainSelectedInstOperands,
25479 /* 66021 */ // GIR_Coverage, 772,
25480 /* 66021 */ GIR_Done,
25481 /* 66022 */ // Label 1578: @66022
25482 /* 66022 */ GIM_Reject,
25483 /* 66023 */ // Label 1567: @66023
25484 /* 66023 */ GIM_Try, /*On fail goto*//*Label 1579*/ GIMT_Encode4(66056), // Rule ID 771 //
25485 /* 66028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25486 /* 66031 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25487 /* 66034 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
25488 /* 66037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25489 /* 66041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25490 /* 66045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25491 /* 66049 */ // (fdiv:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FDIV_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
25492 /* 66049 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_W),
25493 /* 66054 */ GIR_RootConstrainSelectedInstOperands,
25494 /* 66055 */ // GIR_Coverage, 771,
25495 /* 66055 */ GIR_Done,
25496 /* 66056 */ // Label 1579: @66056
25497 /* 66056 */ GIM_Reject,
25498 /* 66057 */ // Label 1568: @66057
25499 /* 66057 */ GIM_Reject,
25500 /* 66058 */ // Label 51: @66058
25501 /* 66058 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(7), /*)*//*default:*//*Label 1582*/ GIMT_Encode4(66135),
25502 /* 66069 */ /*GILLT_v2s64*//*Label 1580*/ GIMT_Encode4(66081), GIMT_Encode4(0),
25503 /* 66077 */ /*GILLT_v4s32*//*Label 1581*/ GIMT_Encode4(66108),
25504 /* 66081 */ // Label 1580: @66081
25505 /* 66081 */ GIM_Try, /*On fail goto*//*Label 1583*/ GIMT_Encode4(66107), // Rule ID 778 //
25506 /* 66086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25507 /* 66089 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25508 /* 66092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25509 /* 66096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25510 /* 66100 */ // (fexp2:{ *:[v2f64] } MSA128D:{ *:[v2f64] }:$ws) => (FEXP2_D_1_PSEUDO:{ *:[v2f64] } MSA128D:{ *:[v2f64] }:$ws)
25511 /* 66100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FEXP2_D_1_PSEUDO),
25512 /* 66105 */ GIR_RootConstrainSelectedInstOperands,
25513 /* 66106 */ // GIR_Coverage, 778,
25514 /* 66106 */ GIR_Done,
25515 /* 66107 */ // Label 1583: @66107
25516 /* 66107 */ GIM_Reject,
25517 /* 66108 */ // Label 1581: @66108
25518 /* 66108 */ GIM_Try, /*On fail goto*//*Label 1584*/ GIMT_Encode4(66134), // Rule ID 777 //
25519 /* 66113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25520 /* 66116 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25521 /* 66119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25522 /* 66123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25523 /* 66127 */ // (fexp2:{ *:[v4f32] } MSA128W:{ *:[v4f32] }:$ws) => (FEXP2_W_1_PSEUDO:{ *:[v4f32] } MSA128W:{ *:[v4f32] }:$ws)
25524 /* 66127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FEXP2_W_1_PSEUDO),
25525 /* 66132 */ GIR_RootConstrainSelectedInstOperands,
25526 /* 66133 */ // GIR_Coverage, 777,
25527 /* 66133 */ GIR_Done,
25528 /* 66134 */ // Label 1584: @66134
25529 /* 66134 */ GIM_Reject,
25530 /* 66135 */ // Label 1582: @66135
25531 /* 66135 */ GIM_Reject,
25532 /* 66136 */ // Label 52: @66136
25533 /* 66136 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(7), /*)*//*default:*//*Label 1587*/ GIMT_Encode4(66213),
25534 /* 66147 */ /*GILLT_v2s64*//*Label 1585*/ GIMT_Encode4(66159), GIMT_Encode4(0),
25535 /* 66155 */ /*GILLT_v4s32*//*Label 1586*/ GIMT_Encode4(66186),
25536 /* 66159 */ // Label 1585: @66159
25537 /* 66159 */ GIM_Try, /*On fail goto*//*Label 1588*/ GIMT_Encode4(66185), // Rule ID 798 //
25538 /* 66164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25539 /* 66167 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25540 /* 66170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25541 /* 66174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25542 /* 66178 */ // (flog2:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FLOG2_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
25543 /* 66178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FLOG2_D),
25544 /* 66183 */ GIR_RootConstrainSelectedInstOperands,
25545 /* 66184 */ // GIR_Coverage, 798,
25546 /* 66184 */ GIR_Done,
25547 /* 66185 */ // Label 1588: @66185
25548 /* 66185 */ GIM_Reject,
25549 /* 66186 */ // Label 1586: @66186
25550 /* 66186 */ GIM_Try, /*On fail goto*//*Label 1589*/ GIMT_Encode4(66212), // Rule ID 797 //
25551 /* 66191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
25552 /* 66194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25553 /* 66197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25554 /* 66201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25555 /* 66205 */ // (flog2:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FLOG2_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
25556 /* 66205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FLOG2_W),
25557 /* 66210 */ GIR_RootConstrainSelectedInstOperands,
25558 /* 66211 */ // GIR_Coverage, 797,
25559 /* 66211 */ GIR_Done,
25560 /* 66212 */ // Label 1589: @66212
25561 /* 66212 */ GIM_Reject,
25562 /* 66213 */ // Label 1587: @66213
25563 /* 66213 */ GIM_Reject,
25564 /* 66214 */ // Label 53: @66214
25565 /* 66214 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1592*/ GIMT_Encode4(71118),
25566 /* 66225 */ /*GILLT_s32*//*Label 1590*/ GIMT_Encode4(66233),
25567 /* 66229 */ /*GILLT_s64*//*Label 1591*/ GIMT_Encode4(68128),
25568 /* 66233 */ // Label 1590: @66233
25569 /* 66233 */ GIM_Try, /*On fail goto*//*Label 1593*/ GIMT_Encode4(68127),
25570 /* 66238 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25571 /* 66241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25572 /* 66245 */ GIM_Try, /*On fail goto*//*Label 1594*/ GIMT_Encode4(66321), // Rule ID 1547 //
25573 /* 66250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25574 /* 66253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25575 /* 66257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
25576 /* 66261 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25577 /* 66265 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25578 /* 66269 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25579 /* 66273 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25580 /* 66277 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25581 /* 66281 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25582 /* 66285 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25583 /* 66290 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25584 /* 66295 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25585 /* 66300 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25586 /* 66302 */ // (fneg:{ *:[f32] } (fadd:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25587 /* 66302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S),
25588 /* 66305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25589 /* 66307 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25590 /* 66311 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25591 /* 66315 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25592 /* 66319 */ GIR_RootConstrainSelectedInstOperands,
25593 /* 66320 */ // GIR_Coverage, 1547,
25594 /* 66320 */ GIR_EraseRootFromParent_Done,
25595 /* 66321 */ // Label 1594: @66321
25596 /* 66321 */ GIM_Try, /*On fail goto*//*Label 1595*/ GIMT_Encode4(66397), // Rule ID 2378 //
25597 /* 66326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25598 /* 66329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25599 /* 66333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
25600 /* 66337 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25601 /* 66341 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25602 /* 66345 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25603 /* 66349 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25604 /* 66353 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25605 /* 66357 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25606 /* 66361 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25607 /* 66366 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25608 /* 66371 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25609 /* 66376 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25610 /* 66378 */ // (fneg:{ *:[f32] } (fadd:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25611 /* 66378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S_MM),
25612 /* 66381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25613 /* 66383 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25614 /* 66387 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25615 /* 66391 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25616 /* 66395 */ GIR_RootConstrainSelectedInstOperands,
25617 /* 66396 */ // GIR_Coverage, 2378,
25618 /* 66396 */ GIR_EraseRootFromParent_Done,
25619 /* 66397 */ // Label 1595: @66397
25620 /* 66397 */ GIM_Try, /*On fail goto*//*Label 1596*/ GIMT_Encode4(66473), // Rule ID 1546 //
25621 /* 66402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25622 /* 66405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25623 /* 66409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
25624 /* 66413 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25625 /* 66417 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25626 /* 66421 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25627 /* 66425 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25628 /* 66429 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25629 /* 66433 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25630 /* 66437 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25631 /* 66442 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25632 /* 66447 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25633 /* 66452 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25634 /* 66454 */ // (fneg:{ *:[f32] } (fadd:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25635 /* 66454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S),
25636 /* 66457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25637 /* 66459 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25638 /* 66463 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25639 /* 66467 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25640 /* 66471 */ GIR_RootConstrainSelectedInstOperands,
25641 /* 66472 */ // GIR_Coverage, 1546,
25642 /* 66472 */ GIR_EraseRootFromParent_Done,
25643 /* 66473 */ // Label 1596: @66473
25644 /* 66473 */ GIM_Try, /*On fail goto*//*Label 1597*/ GIMT_Encode4(66549), // Rule ID 2377 //
25645 /* 66478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25646 /* 66481 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25647 /* 66485 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
25648 /* 66489 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25649 /* 66493 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25650 /* 66497 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25651 /* 66501 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25652 /* 66505 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25653 /* 66509 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25654 /* 66513 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25655 /* 66518 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25656 /* 66523 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25657 /* 66528 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25658 /* 66530 */ // (fneg:{ *:[f32] } (fadd:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25659 /* 66530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S_MM),
25660 /* 66533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25661 /* 66535 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25662 /* 66539 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25663 /* 66543 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25664 /* 66547 */ GIR_RootConstrainSelectedInstOperands,
25665 /* 66548 */ // GIR_Coverage, 2377,
25666 /* 66548 */ GIR_EraseRootFromParent_Done,
25667 /* 66549 */ // Label 1597: @66549
25668 /* 66549 */ GIM_Try, /*On fail goto*//*Label 1598*/ GIMT_Encode4(66625), // Rule ID 2598 //
25669 /* 66554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25670 /* 66557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25671 /* 66561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
25672 /* 66565 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25673 /* 66569 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25674 /* 66573 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25675 /* 66578 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25676 /* 66582 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25677 /* 66586 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25678 /* 66590 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25679 /* 66594 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25680 /* 66599 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25681 /* 66604 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25682 /* 66606 */ // (fneg:{ *:[f32] } (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft))) => (NMADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25683 /* 66606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S),
25684 /* 66609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25685 /* 66611 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
25686 /* 66615 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25687 /* 66619 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25688 /* 66623 */ GIR_RootConstrainSelectedInstOperands,
25689 /* 66624 */ // GIR_Coverage, 2598,
25690 /* 66624 */ GIR_EraseRootFromParent_Done,
25691 /* 66625 */ // Label 1598: @66625
25692 /* 66625 */ GIM_Try, /*On fail goto*//*Label 1599*/ GIMT_Encode4(66701), // Rule ID 2693 //
25693 /* 66630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25694 /* 66633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25695 /* 66637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
25696 /* 66641 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25697 /* 66645 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25698 /* 66649 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25699 /* 66654 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25700 /* 66658 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25701 /* 66662 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25702 /* 66666 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25703 /* 66670 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25704 /* 66675 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25705 /* 66680 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25706 /* 66682 */ // (fneg:{ *:[f32] } (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft))) => (NMADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25707 /* 66682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S_MM),
25708 /* 66685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25709 /* 66687 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
25710 /* 66691 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25711 /* 66695 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25712 /* 66699 */ GIR_RootConstrainSelectedInstOperands,
25713 /* 66700 */ // GIR_Coverage, 2693,
25714 /* 66700 */ GIR_EraseRootFromParent_Done,
25715 /* 66701 */ // Label 1599: @66701
25716 /* 66701 */ GIM_Try, /*On fail goto*//*Label 1600*/ GIMT_Encode4(66777), // Rule ID 2597 //
25717 /* 66706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25718 /* 66709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25719 /* 66713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
25720 /* 66717 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25721 /* 66721 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25722 /* 66725 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25723 /* 66730 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25724 /* 66734 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25725 /* 66738 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25726 /* 66742 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25727 /* 66746 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25728 /* 66751 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25729 /* 66756 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25730 /* 66758 */ // (fneg:{ *:[f32] } (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft))) => (NMADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25731 /* 66758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S),
25732 /* 66761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25733 /* 66763 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
25734 /* 66767 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25735 /* 66771 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25736 /* 66775 */ GIR_RootConstrainSelectedInstOperands,
25737 /* 66776 */ // GIR_Coverage, 2597,
25738 /* 66776 */ GIR_EraseRootFromParent_Done,
25739 /* 66777 */ // Label 1600: @66777
25740 /* 66777 */ GIM_Try, /*On fail goto*//*Label 1601*/ GIMT_Encode4(66853), // Rule ID 2692 //
25741 /* 66782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25742 /* 66785 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25743 /* 66789 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
25744 /* 66793 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25745 /* 66797 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25746 /* 66801 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25747 /* 66806 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25748 /* 66810 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25749 /* 66814 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25750 /* 66818 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25751 /* 66822 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25752 /* 66827 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25753 /* 66832 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25754 /* 66834 */ // (fneg:{ *:[f32] } (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft))) => (NMADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25755 /* 66834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S_MM),
25756 /* 66837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25757 /* 66839 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
25758 /* 66843 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25759 /* 66847 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25760 /* 66851 */ GIR_RootConstrainSelectedInstOperands,
25761 /* 66852 */ // GIR_Coverage, 2692,
25762 /* 66852 */ GIR_EraseRootFromParent_Done,
25763 /* 66853 */ // Label 1601: @66853
25764 /* 66853 */ GIM_Try, /*On fail goto*//*Label 1602*/ GIMT_Encode4(66929), // Rule ID 1551 //
25765 /* 66858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25766 /* 66861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25767 /* 66865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
25768 /* 66869 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25769 /* 66873 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25770 /* 66877 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25771 /* 66881 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25772 /* 66885 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25773 /* 66889 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25774 /* 66893 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25775 /* 66898 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25776 /* 66903 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25777 /* 66908 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25778 /* 66910 */ // (fneg:{ *:[f32] } (fsub:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25779 /* 66910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_S),
25780 /* 66913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25781 /* 66915 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25782 /* 66919 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25783 /* 66923 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25784 /* 66927 */ GIR_RootConstrainSelectedInstOperands,
25785 /* 66928 */ // GIR_Coverage, 1551,
25786 /* 66928 */ GIR_EraseRootFromParent_Done,
25787 /* 66929 */ // Label 1602: @66929
25788 /* 66929 */ GIM_Try, /*On fail goto*//*Label 1603*/ GIMT_Encode4(67005), // Rule ID 2382 //
25789 /* 66934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25790 /* 66937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25791 /* 66941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
25792 /* 66945 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25793 /* 66949 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25794 /* 66953 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25795 /* 66957 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25796 /* 66961 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25797 /* 66965 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25798 /* 66969 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25799 /* 66974 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25800 /* 66979 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25801 /* 66984 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25802 /* 66986 */ // (fneg:{ *:[f32] } (fsub:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMSUB_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25803 /* 66986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_S_MM),
25804 /* 66989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25805 /* 66991 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25806 /* 66995 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25807 /* 66999 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25808 /* 67003 */ GIR_RootConstrainSelectedInstOperands,
25809 /* 67004 */ // GIR_Coverage, 2382,
25810 /* 67004 */ GIR_EraseRootFromParent_Done,
25811 /* 67005 */ // Label 1603: @67005
25812 /* 67005 */ GIM_Try, /*On fail goto*//*Label 1604*/ GIMT_Encode4(67081), // Rule ID 1550 //
25813 /* 67010 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25814 /* 67013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25815 /* 67017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
25816 /* 67021 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25817 /* 67025 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25818 /* 67029 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25819 /* 67033 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25820 /* 67037 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25821 /* 67041 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25822 /* 67045 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25823 /* 67050 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25824 /* 67055 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25825 /* 67060 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25826 /* 67062 */ // (fneg:{ *:[f32] } (fsub:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25827 /* 67062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_S),
25828 /* 67065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25829 /* 67067 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25830 /* 67071 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25831 /* 67075 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25832 /* 67079 */ GIR_RootConstrainSelectedInstOperands,
25833 /* 67080 */ // GIR_Coverage, 1550,
25834 /* 67080 */ GIR_EraseRootFromParent_Done,
25835 /* 67081 */ // Label 1604: @67081
25836 /* 67081 */ GIM_Try, /*On fail goto*//*Label 1605*/ GIMT_Encode4(67157), // Rule ID 2381 //
25837 /* 67086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25838 /* 67089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25839 /* 67093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
25840 /* 67097 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25841 /* 67101 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25842 /* 67105 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25843 /* 67109 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25844 /* 67113 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25845 /* 67117 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25846 /* 67121 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25847 /* 67126 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25848 /* 67131 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25849 /* 67136 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25850 /* 67138 */ // (fneg:{ *:[f32] } (fsub:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMSUB_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25851 /* 67138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_S_MM),
25852 /* 67141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25853 /* 67143 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25854 /* 67147 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25855 /* 67151 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25856 /* 67155 */ GIR_RootConstrainSelectedInstOperands,
25857 /* 67156 */ // GIR_Coverage, 2381,
25858 /* 67156 */ GIR_EraseRootFromParent_Done,
25859 /* 67157 */ // Label 1605: @67157
25860 /* 67157 */ GIM_Try, /*On fail goto*//*Label 1606*/ GIMT_Encode4(67233), // Rule ID 1545 //
25861 /* 67162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25862 /* 67165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25863 /* 67169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
25864 /* 67173 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25865 /* 67177 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25866 /* 67181 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25867 /* 67185 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25868 /* 67189 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25869 /* 67193 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25870 /* 67197 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25871 /* 67202 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25872 /* 67207 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25873 /* 67212 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25874 /* 67214 */ // (fneg:{ *:[f32] } (strict_fadd:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25875 /* 67214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S),
25876 /* 67217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25877 /* 67219 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25878 /* 67223 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25879 /* 67227 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25880 /* 67231 */ GIR_RootConstrainSelectedInstOperands,
25881 /* 67232 */ // GIR_Coverage, 1545,
25882 /* 67232 */ GIR_EraseRootFromParent_Done,
25883 /* 67233 */ // Label 1606: @67233
25884 /* 67233 */ GIM_Try, /*On fail goto*//*Label 1607*/ GIMT_Encode4(67309), // Rule ID 2376 //
25885 /* 67238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25886 /* 67241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25887 /* 67245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
25888 /* 67249 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25889 /* 67253 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25890 /* 67257 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25891 /* 67261 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25892 /* 67265 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25893 /* 67269 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25894 /* 67273 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25895 /* 67278 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25896 /* 67283 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25897 /* 67288 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25898 /* 67290 */ // (fneg:{ *:[f32] } (strict_fadd:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25899 /* 67290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S_MM),
25900 /* 67293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25901 /* 67295 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25902 /* 67299 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25903 /* 67303 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25904 /* 67307 */ GIR_RootConstrainSelectedInstOperands,
25905 /* 67308 */ // GIR_Coverage, 2376,
25906 /* 67308 */ GIR_EraseRootFromParent_Done,
25907 /* 67309 */ // Label 1607: @67309
25908 /* 67309 */ GIM_Try, /*On fail goto*//*Label 1608*/ GIMT_Encode4(67385), // Rule ID 1544 //
25909 /* 67314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25910 /* 67317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25911 /* 67321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
25912 /* 67325 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25913 /* 67329 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25914 /* 67333 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25915 /* 67337 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25916 /* 67341 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25917 /* 67345 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25918 /* 67349 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25919 /* 67354 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25920 /* 67359 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25921 /* 67364 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25922 /* 67366 */ // (fneg:{ *:[f32] } (strict_fadd:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25923 /* 67366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S),
25924 /* 67369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25925 /* 67371 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25926 /* 67375 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25927 /* 67379 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25928 /* 67383 */ GIR_RootConstrainSelectedInstOperands,
25929 /* 67384 */ // GIR_Coverage, 1544,
25930 /* 67384 */ GIR_EraseRootFromParent_Done,
25931 /* 67385 */ // Label 1608: @67385
25932 /* 67385 */ GIM_Try, /*On fail goto*//*Label 1609*/ GIMT_Encode4(67461), // Rule ID 2375 //
25933 /* 67390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25934 /* 67393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25935 /* 67397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
25936 /* 67401 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25937 /* 67405 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25938 /* 67409 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25939 /* 67413 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25940 /* 67417 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25941 /* 67421 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25942 /* 67425 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25943 /* 67430 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25944 /* 67435 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25945 /* 67440 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25946 /* 67442 */ // (fneg:{ *:[f32] } (strict_fadd:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25947 /* 67442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S_MM),
25948 /* 67445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25949 /* 67447 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
25950 /* 67451 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25951 /* 67455 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25952 /* 67459 */ GIR_RootConstrainSelectedInstOperands,
25953 /* 67460 */ // GIR_Coverage, 2375,
25954 /* 67460 */ GIR_EraseRootFromParent_Done,
25955 /* 67461 */ // Label 1609: @67461
25956 /* 67461 */ GIM_Try, /*On fail goto*//*Label 1610*/ GIMT_Encode4(67537), // Rule ID 2596 //
25957 /* 67466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
25958 /* 67469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25959 /* 67473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
25960 /* 67477 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25961 /* 67481 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25962 /* 67485 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25963 /* 67490 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25964 /* 67494 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25965 /* 67498 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25966 /* 67502 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25967 /* 67506 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25968 /* 67511 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25969 /* 67516 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25970 /* 67518 */ // (fneg:{ *:[f32] } (strict_fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft))) => (NMADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25971 /* 67518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S),
25972 /* 67521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25973 /* 67523 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
25974 /* 67527 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25975 /* 67531 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
25976 /* 67535 */ GIR_RootConstrainSelectedInstOperands,
25977 /* 67536 */ // GIR_Coverage, 2596,
25978 /* 67536 */ GIR_EraseRootFromParent_Done,
25979 /* 67537 */ // Label 1610: @67537
25980 /* 67537 */ GIM_Try, /*On fail goto*//*Label 1611*/ GIMT_Encode4(67613), // Rule ID 2691 //
25981 /* 67542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
25982 /* 67545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25983 /* 67549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
25984 /* 67553 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25985 /* 67557 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25986 /* 67561 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25987 /* 67566 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25988 /* 67570 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
25989 /* 67574 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
25990 /* 67578 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
25991 /* 67582 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25992 /* 67587 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25993 /* 67592 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25994 /* 67594 */ // (fneg:{ *:[f32] } (strict_fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft))) => (NMADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25995 /* 67594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S_MM),
25996 /* 67597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25997 /* 67599 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
25998 /* 67603 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
25999 /* 67607 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26000 /* 67611 */ GIR_RootConstrainSelectedInstOperands,
26001 /* 67612 */ // GIR_Coverage, 2691,
26002 /* 67612 */ GIR_EraseRootFromParent_Done,
26003 /* 67613 */ // Label 1611: @67613
26004 /* 67613 */ GIM_Try, /*On fail goto*//*Label 1612*/ GIMT_Encode4(67689), // Rule ID 2595 //
26005 /* 67618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26006 /* 67621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26007 /* 67625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26008 /* 67629 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26009 /* 67633 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26010 /* 67637 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26011 /* 67642 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26012 /* 67646 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26013 /* 67650 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
26014 /* 67654 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
26015 /* 67658 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26016 /* 67663 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26017 /* 67668 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26018 /* 67670 */ // (fneg:{ *:[f32] } (strict_fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft))) => (NMADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
26019 /* 67670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S),
26020 /* 67673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26021 /* 67675 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26022 /* 67679 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26023 /* 67683 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26024 /* 67687 */ GIR_RootConstrainSelectedInstOperands,
26025 /* 67688 */ // GIR_Coverage, 2595,
26026 /* 67688 */ GIR_EraseRootFromParent_Done,
26027 /* 67689 */ // Label 1612: @67689
26028 /* 67689 */ GIM_Try, /*On fail goto*//*Label 1613*/ GIMT_Encode4(67765), // Rule ID 2690 //
26029 /* 67694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
26030 /* 67697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26031 /* 67701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26032 /* 67705 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26033 /* 67709 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26034 /* 67713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26035 /* 67718 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26036 /* 67722 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26037 /* 67726 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
26038 /* 67730 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
26039 /* 67734 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26040 /* 67739 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26041 /* 67744 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26042 /* 67746 */ // (fneg:{ *:[f32] } (strict_fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft))) => (NMADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
26043 /* 67746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_S_MM),
26044 /* 67749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26045 /* 67751 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26046 /* 67755 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26047 /* 67759 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26048 /* 67763 */ GIR_RootConstrainSelectedInstOperands,
26049 /* 67764 */ // GIR_Coverage, 2690,
26050 /* 67764 */ GIR_EraseRootFromParent_Done,
26051 /* 67765 */ // Label 1613: @67765
26052 /* 67765 */ GIM_Try, /*On fail goto*//*Label 1614*/ GIMT_Encode4(67841), // Rule ID 1549 //
26053 /* 67770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26054 /* 67773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26055 /* 67777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
26056 /* 67781 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26057 /* 67785 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26058 /* 67789 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26059 /* 67793 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26060 /* 67797 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
26061 /* 67801 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
26062 /* 67805 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26063 /* 67810 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26064 /* 67815 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26065 /* 67820 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26066 /* 67822 */ // (fneg:{ *:[f32] } (strict_fsub:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
26067 /* 67822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_S),
26068 /* 67825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26069 /* 67827 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26070 /* 67831 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26071 /* 67835 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26072 /* 67839 */ GIR_RootConstrainSelectedInstOperands,
26073 /* 67840 */ // GIR_Coverage, 1549,
26074 /* 67840 */ GIR_EraseRootFromParent_Done,
26075 /* 67841 */ // Label 1614: @67841
26076 /* 67841 */ GIM_Try, /*On fail goto*//*Label 1615*/ GIMT_Encode4(67917), // Rule ID 2380 //
26077 /* 67846 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
26078 /* 67849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26079 /* 67853 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
26080 /* 67857 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26081 /* 67861 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26082 /* 67865 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26083 /* 67869 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26084 /* 67873 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
26085 /* 67877 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
26086 /* 67881 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26087 /* 67886 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26088 /* 67891 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26089 /* 67896 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26090 /* 67898 */ // (fneg:{ *:[f32] } (strict_fsub:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMSUB_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
26091 /* 67898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_S_MM),
26092 /* 67901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26093 /* 67903 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26094 /* 67907 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26095 /* 67911 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26096 /* 67915 */ GIR_RootConstrainSelectedInstOperands,
26097 /* 67916 */ // GIR_Coverage, 2380,
26098 /* 67916 */ GIR_EraseRootFromParent_Done,
26099 /* 67917 */ // Label 1615: @67917
26100 /* 67917 */ GIM_Try, /*On fail goto*//*Label 1616*/ GIMT_Encode4(67993), // Rule ID 1548 //
26101 /* 67922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26102 /* 67925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26103 /* 67929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
26104 /* 67933 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26105 /* 67937 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26106 /* 67941 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26107 /* 67945 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26108 /* 67949 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
26109 /* 67953 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
26110 /* 67957 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26111 /* 67962 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26112 /* 67967 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26113 /* 67972 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26114 /* 67974 */ // (fneg:{ *:[f32] } (strict_fsub:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
26115 /* 67974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_S),
26116 /* 67977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26117 /* 67979 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26118 /* 67983 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26119 /* 67987 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26120 /* 67991 */ GIR_RootConstrainSelectedInstOperands,
26121 /* 67992 */ // GIR_Coverage, 1548,
26122 /* 67992 */ GIR_EraseRootFromParent_Done,
26123 /* 67993 */ // Label 1616: @67993
26124 /* 67993 */ GIM_Try, /*On fail goto*//*Label 1617*/ GIMT_Encode4(68069), // Rule ID 2379 //
26125 /* 67998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6),
26126 /* 68001 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26127 /* 68005 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
26128 /* 68009 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26129 /* 68013 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26130 /* 68017 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26131 /* 68021 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26132 /* 68025 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
26133 /* 68029 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
26134 /* 68033 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26135 /* 68038 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26136 /* 68043 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26137 /* 68048 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26138 /* 68050 */ // (fneg:{ *:[f32] } (strict_fsub:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr)) => (NMSUB_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
26139 /* 68050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_S_MM),
26140 /* 68053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26141 /* 68055 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26142 /* 68059 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26143 /* 68063 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26144 /* 68067 */ GIR_RootConstrainSelectedInstOperands,
26145 /* 68068 */ // GIR_Coverage, 2379,
26146 /* 68068 */ GIR_EraseRootFromParent_Done,
26147 /* 68069 */ // Label 1617: @68069
26148 /* 68069 */ GIM_Try, /*On fail goto*//*Label 1618*/ GIMT_Encode4(68088), // Rule ID 129 //
26149 /* 68074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat),
26150 /* 68077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26151 /* 68081 */ // (fneg:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FNEG_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
26152 /* 68081 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_S),
26153 /* 68086 */ GIR_RootConstrainSelectedInstOperands,
26154 /* 68087 */ // GIR_Coverage, 129,
26155 /* 68087 */ GIR_Done,
26156 /* 68088 */ // Label 1618: @68088
26157 /* 68088 */ GIM_Try, /*On fail goto*//*Label 1619*/ GIMT_Encode4(68107), // Rule ID 1228 //
26158 /* 68093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
26159 /* 68096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26160 /* 68100 */ // (fneg:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FNEG_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
26161 /* 68100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_S_MM),
26162 /* 68105 */ GIR_RootConstrainSelectedInstOperands,
26163 /* 68106 */ // GIR_Coverage, 1228,
26164 /* 68106 */ GIR_Done,
26165 /* 68107 */ // Label 1619: @68107
26166 /* 68107 */ GIM_Try, /*On fail goto*//*Label 1620*/ GIMT_Encode4(68126), // Rule ID 1267 //
26167 /* 68112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
26168 /* 68115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
26169 /* 68119 */ // (fneg:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FNEG_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
26170 /* 68119 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_S_MMR6),
26171 /* 68124 */ GIR_RootConstrainSelectedInstOperands,
26172 /* 68125 */ // GIR_Coverage, 1267,
26173 /* 68125 */ GIR_Done,
26174 /* 68126 */ // Label 1620: @68126
26175 /* 68126 */ GIM_Reject,
26176 /* 68127 */ // Label 1593: @68127
26177 /* 68127 */ GIM_Reject,
26178 /* 68128 */ // Label 1591: @68128
26179 /* 68128 */ GIM_Try, /*On fail goto*//*Label 1621*/ GIMT_Encode4(71117),
26180 /* 68133 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
26181 /* 68136 */ GIM_Try, /*On fail goto*//*Label 1622*/ GIMT_Encode4(68216), // Rule ID 1555 //
26182 /* 68141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26183 /* 68144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26184 /* 68148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26185 /* 68152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26186 /* 68156 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26187 /* 68160 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26188 /* 68164 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26189 /* 68168 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26190 /* 68172 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26191 /* 68176 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26192 /* 68180 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26193 /* 68185 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26194 /* 68190 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26195 /* 68195 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26196 /* 68197 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26197 /* 68197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32),
26198 /* 68200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26199 /* 68202 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26200 /* 68206 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26201 /* 68210 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26202 /* 68214 */ GIR_RootConstrainSelectedInstOperands,
26203 /* 68215 */ // GIR_Coverage, 1555,
26204 /* 68215 */ GIR_EraseRootFromParent_Done,
26205 /* 68216 */ // Label 1622: @68216
26206 /* 68216 */ GIM_Try, /*On fail goto*//*Label 1623*/ GIMT_Encode4(68296), // Rule ID 1563 //
26207 /* 68221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26208 /* 68224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26209 /* 68228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26210 /* 68232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26211 /* 68236 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26212 /* 68240 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26213 /* 68244 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26214 /* 68248 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26215 /* 68252 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26216 /* 68256 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26217 /* 68260 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26218 /* 68265 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26219 /* 68270 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26220 /* 68275 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26221 /* 68277 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26222 /* 68277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D64),
26223 /* 68280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26224 /* 68282 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26225 /* 68286 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26226 /* 68290 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26227 /* 68294 */ GIR_RootConstrainSelectedInstOperands,
26228 /* 68295 */ // GIR_Coverage, 1563,
26229 /* 68295 */ GIR_EraseRootFromParent_Done,
26230 /* 68296 */ // Label 1623: @68296
26231 /* 68296 */ GIM_Try, /*On fail goto*//*Label 1624*/ GIMT_Encode4(68376), // Rule ID 2386 //
26232 /* 68301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26233 /* 68304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26234 /* 68308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26235 /* 68312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26236 /* 68316 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26237 /* 68320 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26238 /* 68324 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26239 /* 68328 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26240 /* 68332 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26241 /* 68336 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26242 /* 68340 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26243 /* 68345 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26244 /* 68350 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26245 /* 68355 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26246 /* 68357 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26247 /* 68357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32_MM),
26248 /* 68360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26249 /* 68362 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26250 /* 68366 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26251 /* 68370 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26252 /* 68374 */ GIR_RootConstrainSelectedInstOperands,
26253 /* 68375 */ // GIR_Coverage, 2386,
26254 /* 68375 */ GIR_EraseRootFromParent_Done,
26255 /* 68376 */ // Label 1624: @68376
26256 /* 68376 */ GIM_Try, /*On fail goto*//*Label 1625*/ GIMT_Encode4(68456), // Rule ID 1554 //
26257 /* 68381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26258 /* 68384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26259 /* 68388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26260 /* 68392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26261 /* 68396 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26262 /* 68400 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26263 /* 68404 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26264 /* 68408 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26265 /* 68412 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26266 /* 68416 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26267 /* 68420 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26268 /* 68425 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26269 /* 68430 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26270 /* 68435 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26271 /* 68437 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26272 /* 68437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32),
26273 /* 68440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26274 /* 68442 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26275 /* 68446 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26276 /* 68450 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26277 /* 68454 */ GIR_RootConstrainSelectedInstOperands,
26278 /* 68455 */ // GIR_Coverage, 1554,
26279 /* 68455 */ GIR_EraseRootFromParent_Done,
26280 /* 68456 */ // Label 1625: @68456
26281 /* 68456 */ GIM_Try, /*On fail goto*//*Label 1626*/ GIMT_Encode4(68536), // Rule ID 1562 //
26282 /* 68461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26283 /* 68464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26284 /* 68468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26285 /* 68472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26286 /* 68476 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26287 /* 68480 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26288 /* 68484 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26289 /* 68488 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26290 /* 68492 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26291 /* 68496 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26292 /* 68500 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26293 /* 68505 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26294 /* 68510 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26295 /* 68515 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26296 /* 68517 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26297 /* 68517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D64),
26298 /* 68520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26299 /* 68522 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26300 /* 68526 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26301 /* 68530 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26302 /* 68534 */ GIR_RootConstrainSelectedInstOperands,
26303 /* 68535 */ // GIR_Coverage, 1562,
26304 /* 68535 */ GIR_EraseRootFromParent_Done,
26305 /* 68536 */ // Label 1626: @68536
26306 /* 68536 */ GIM_Try, /*On fail goto*//*Label 1627*/ GIMT_Encode4(68616), // Rule ID 2385 //
26307 /* 68541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26308 /* 68544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26309 /* 68548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26310 /* 68552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26311 /* 68556 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26312 /* 68560 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26313 /* 68564 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26314 /* 68568 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26315 /* 68572 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26316 /* 68576 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26317 /* 68580 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26318 /* 68585 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26319 /* 68590 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26320 /* 68595 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26321 /* 68597 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26322 /* 68597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32_MM),
26323 /* 68600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26324 /* 68602 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26325 /* 68606 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26326 /* 68610 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26327 /* 68614 */ GIR_RootConstrainSelectedInstOperands,
26328 /* 68615 */ // GIR_Coverage, 2385,
26329 /* 68615 */ GIR_EraseRootFromParent_Done,
26330 /* 68616 */ // Label 1627: @68616
26331 /* 68616 */ GIM_Try, /*On fail goto*//*Label 1628*/ GIMT_Encode4(68696), // Rule ID 2602 //
26332 /* 68621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26333 /* 68624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26334 /* 68628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26335 /* 68632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26336 /* 68636 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26337 /* 68640 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26338 /* 68644 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26339 /* 68649 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26340 /* 68653 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26341 /* 68657 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26342 /* 68661 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26343 /* 68665 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26344 /* 68670 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26345 /* 68675 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26346 /* 68677 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26347 /* 68677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32),
26348 /* 68680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26349 /* 68682 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26350 /* 68686 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26351 /* 68690 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26352 /* 68694 */ GIR_RootConstrainSelectedInstOperands,
26353 /* 68695 */ // GIR_Coverage, 2602,
26354 /* 68695 */ GIR_EraseRootFromParent_Done,
26355 /* 68696 */ // Label 1628: @68696
26356 /* 68696 */ GIM_Try, /*On fail goto*//*Label 1629*/ GIMT_Encode4(68776), // Rule ID 2606 //
26357 /* 68701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26358 /* 68704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26359 /* 68708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26360 /* 68712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26361 /* 68716 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26362 /* 68720 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26363 /* 68724 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26364 /* 68729 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26365 /* 68733 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26366 /* 68737 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26367 /* 68741 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26368 /* 68745 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26369 /* 68750 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26370 /* 68755 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26371 /* 68757 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26372 /* 68757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D64),
26373 /* 68760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26374 /* 68762 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26375 /* 68766 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26376 /* 68770 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26377 /* 68774 */ GIR_RootConstrainSelectedInstOperands,
26378 /* 68775 */ // GIR_Coverage, 2606,
26379 /* 68775 */ GIR_EraseRootFromParent_Done,
26380 /* 68776 */ // Label 1629: @68776
26381 /* 68776 */ GIM_Try, /*On fail goto*//*Label 1630*/ GIMT_Encode4(68856), // Rule ID 2697 //
26382 /* 68781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26383 /* 68784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26384 /* 68788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26385 /* 68792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26386 /* 68796 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26387 /* 68800 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26388 /* 68804 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26389 /* 68809 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26390 /* 68813 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26391 /* 68817 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26392 /* 68821 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26393 /* 68825 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26394 /* 68830 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26395 /* 68835 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26396 /* 68837 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26397 /* 68837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32_MM),
26398 /* 68840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26399 /* 68842 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26400 /* 68846 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26401 /* 68850 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26402 /* 68854 */ GIR_RootConstrainSelectedInstOperands,
26403 /* 68855 */ // GIR_Coverage, 2697,
26404 /* 68855 */ GIR_EraseRootFromParent_Done,
26405 /* 68856 */ // Label 1630: @68856
26406 /* 68856 */ GIM_Try, /*On fail goto*//*Label 1631*/ GIMT_Encode4(68936), // Rule ID 2601 //
26407 /* 68861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26408 /* 68864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26409 /* 68868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26410 /* 68872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26411 /* 68876 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26412 /* 68880 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26413 /* 68884 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26414 /* 68889 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26415 /* 68893 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26416 /* 68897 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26417 /* 68901 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26418 /* 68905 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26419 /* 68910 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26420 /* 68915 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26421 /* 68917 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26422 /* 68917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32),
26423 /* 68920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26424 /* 68922 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26425 /* 68926 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26426 /* 68930 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26427 /* 68934 */ GIR_RootConstrainSelectedInstOperands,
26428 /* 68935 */ // GIR_Coverage, 2601,
26429 /* 68935 */ GIR_EraseRootFromParent_Done,
26430 /* 68936 */ // Label 1631: @68936
26431 /* 68936 */ GIM_Try, /*On fail goto*//*Label 1632*/ GIMT_Encode4(69016), // Rule ID 2605 //
26432 /* 68941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26433 /* 68944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26434 /* 68948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26435 /* 68952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26436 /* 68956 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26437 /* 68960 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26438 /* 68964 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26439 /* 68969 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26440 /* 68973 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26441 /* 68977 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26442 /* 68981 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26443 /* 68985 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26444 /* 68990 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26445 /* 68995 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26446 /* 68997 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26447 /* 68997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D64),
26448 /* 69000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26449 /* 69002 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26450 /* 69006 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26451 /* 69010 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26452 /* 69014 */ GIR_RootConstrainSelectedInstOperands,
26453 /* 69015 */ // GIR_Coverage, 2605,
26454 /* 69015 */ GIR_EraseRootFromParent_Done,
26455 /* 69016 */ // Label 1632: @69016
26456 /* 69016 */ GIM_Try, /*On fail goto*//*Label 1633*/ GIMT_Encode4(69096), // Rule ID 2696 //
26457 /* 69021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26458 /* 69024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26459 /* 69028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26460 /* 69032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FADD),
26461 /* 69036 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26462 /* 69040 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26463 /* 69044 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26464 /* 69049 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26465 /* 69053 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26466 /* 69057 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26467 /* 69061 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26468 /* 69065 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26469 /* 69070 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26470 /* 69075 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26471 /* 69077 */ // (fneg:{ *:[f64] } (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26472 /* 69077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32_MM),
26473 /* 69080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26474 /* 69082 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26475 /* 69086 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26476 /* 69090 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26477 /* 69094 */ GIR_RootConstrainSelectedInstOperands,
26478 /* 69095 */ // GIR_Coverage, 2696,
26479 /* 69095 */ GIR_EraseRootFromParent_Done,
26480 /* 69096 */ // Label 1633: @69096
26481 /* 69096 */ GIM_Try, /*On fail goto*//*Label 1634*/ GIMT_Encode4(69176), // Rule ID 1559 //
26482 /* 69101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26483 /* 69104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26484 /* 69108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26485 /* 69112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
26486 /* 69116 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26487 /* 69120 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26488 /* 69124 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26489 /* 69128 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26490 /* 69132 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26491 /* 69136 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26492 /* 69140 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26493 /* 69145 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26494 /* 69150 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26495 /* 69155 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26496 /* 69157 */ // (fneg:{ *:[f64] } (fsub:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26497 /* 69157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D32),
26498 /* 69160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26499 /* 69162 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26500 /* 69166 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26501 /* 69170 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26502 /* 69174 */ GIR_RootConstrainSelectedInstOperands,
26503 /* 69175 */ // GIR_Coverage, 1559,
26504 /* 69175 */ GIR_EraseRootFromParent_Done,
26505 /* 69176 */ // Label 1634: @69176
26506 /* 69176 */ GIM_Try, /*On fail goto*//*Label 1635*/ GIMT_Encode4(69256), // Rule ID 1567 //
26507 /* 69181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26508 /* 69184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26509 /* 69188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26510 /* 69192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
26511 /* 69196 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26512 /* 69200 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26513 /* 69204 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26514 /* 69208 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26515 /* 69212 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26516 /* 69216 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26517 /* 69220 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26518 /* 69225 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26519 /* 69230 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26520 /* 69235 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26521 /* 69237 */ // (fneg:{ *:[f64] } (fsub:{ *:[f64] } (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26522 /* 69237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D64),
26523 /* 69240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26524 /* 69242 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26525 /* 69246 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26526 /* 69250 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26527 /* 69254 */ GIR_RootConstrainSelectedInstOperands,
26528 /* 69255 */ // GIR_Coverage, 1567,
26529 /* 69255 */ GIR_EraseRootFromParent_Done,
26530 /* 69256 */ // Label 1635: @69256
26531 /* 69256 */ GIM_Try, /*On fail goto*//*Label 1636*/ GIMT_Encode4(69336), // Rule ID 2390 //
26532 /* 69261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26533 /* 69264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26534 /* 69268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26535 /* 69272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
26536 /* 69276 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26537 /* 69280 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26538 /* 69284 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26539 /* 69288 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26540 /* 69292 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26541 /* 69296 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26542 /* 69300 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26543 /* 69305 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26544 /* 69310 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26545 /* 69315 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26546 /* 69317 */ // (fneg:{ *:[f64] } (fsub:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26547 /* 69317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D32_MM),
26548 /* 69320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26549 /* 69322 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26550 /* 69326 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26551 /* 69330 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26552 /* 69334 */ GIR_RootConstrainSelectedInstOperands,
26553 /* 69335 */ // GIR_Coverage, 2390,
26554 /* 69335 */ GIR_EraseRootFromParent_Done,
26555 /* 69336 */ // Label 1636: @69336
26556 /* 69336 */ GIM_Try, /*On fail goto*//*Label 1637*/ GIMT_Encode4(69416), // Rule ID 1558 //
26557 /* 69341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26558 /* 69344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26559 /* 69348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26560 /* 69352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
26561 /* 69356 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26562 /* 69360 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26563 /* 69364 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26564 /* 69368 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26565 /* 69372 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26566 /* 69376 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26567 /* 69380 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26568 /* 69385 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26569 /* 69390 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26570 /* 69395 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26571 /* 69397 */ // (fneg:{ *:[f64] } (fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26572 /* 69397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D32),
26573 /* 69400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26574 /* 69402 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26575 /* 69406 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26576 /* 69410 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26577 /* 69414 */ GIR_RootConstrainSelectedInstOperands,
26578 /* 69415 */ // GIR_Coverage, 1558,
26579 /* 69415 */ GIR_EraseRootFromParent_Done,
26580 /* 69416 */ // Label 1637: @69416
26581 /* 69416 */ GIM_Try, /*On fail goto*//*Label 1638*/ GIMT_Encode4(69496), // Rule ID 1566 //
26582 /* 69421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26583 /* 69424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26584 /* 69428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26585 /* 69432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
26586 /* 69436 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26587 /* 69440 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26588 /* 69444 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26589 /* 69448 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26590 /* 69452 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26591 /* 69456 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26592 /* 69460 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26593 /* 69465 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26594 /* 69470 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26595 /* 69475 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26596 /* 69477 */ // (fneg:{ *:[f64] } (fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26597 /* 69477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D64),
26598 /* 69480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26599 /* 69482 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26600 /* 69486 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26601 /* 69490 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26602 /* 69494 */ GIR_RootConstrainSelectedInstOperands,
26603 /* 69495 */ // GIR_Coverage, 1566,
26604 /* 69495 */ GIR_EraseRootFromParent_Done,
26605 /* 69496 */ // Label 1638: @69496
26606 /* 69496 */ GIM_Try, /*On fail goto*//*Label 1639*/ GIMT_Encode4(69576), // Rule ID 2389 //
26607 /* 69501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26608 /* 69504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26609 /* 69508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26610 /* 69512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSUB),
26611 /* 69516 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26612 /* 69520 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26613 /* 69524 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26614 /* 69528 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26615 /* 69532 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26616 /* 69536 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26617 /* 69540 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26618 /* 69545 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26619 /* 69550 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26620 /* 69555 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26621 /* 69557 */ // (fneg:{ *:[f64] } (fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26622 /* 69557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D32_MM),
26623 /* 69560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26624 /* 69562 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26625 /* 69566 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26626 /* 69570 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26627 /* 69574 */ GIR_RootConstrainSelectedInstOperands,
26628 /* 69575 */ // GIR_Coverage, 2389,
26629 /* 69575 */ GIR_EraseRootFromParent_Done,
26630 /* 69576 */ // Label 1639: @69576
26631 /* 69576 */ GIM_Try, /*On fail goto*//*Label 1640*/ GIMT_Encode4(69656), // Rule ID 1553 //
26632 /* 69581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26633 /* 69584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26634 /* 69588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26635 /* 69592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26636 /* 69596 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26637 /* 69600 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26638 /* 69604 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26639 /* 69608 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26640 /* 69612 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26641 /* 69616 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26642 /* 69620 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26643 /* 69625 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26644 /* 69630 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26645 /* 69635 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26646 /* 69637 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26647 /* 69637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32),
26648 /* 69640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26649 /* 69642 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26650 /* 69646 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26651 /* 69650 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26652 /* 69654 */ GIR_RootConstrainSelectedInstOperands,
26653 /* 69655 */ // GIR_Coverage, 1553,
26654 /* 69655 */ GIR_EraseRootFromParent_Done,
26655 /* 69656 */ // Label 1640: @69656
26656 /* 69656 */ GIM_Try, /*On fail goto*//*Label 1641*/ GIMT_Encode4(69736), // Rule ID 1561 //
26657 /* 69661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26658 /* 69664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26659 /* 69668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26660 /* 69672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26661 /* 69676 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26662 /* 69680 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26663 /* 69684 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26664 /* 69688 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26665 /* 69692 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26666 /* 69696 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26667 /* 69700 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26668 /* 69705 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26669 /* 69710 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26670 /* 69715 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26671 /* 69717 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26672 /* 69717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D64),
26673 /* 69720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26674 /* 69722 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26675 /* 69726 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26676 /* 69730 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26677 /* 69734 */ GIR_RootConstrainSelectedInstOperands,
26678 /* 69735 */ // GIR_Coverage, 1561,
26679 /* 69735 */ GIR_EraseRootFromParent_Done,
26680 /* 69736 */ // Label 1641: @69736
26681 /* 69736 */ GIM_Try, /*On fail goto*//*Label 1642*/ GIMT_Encode4(69816), // Rule ID 2384 //
26682 /* 69741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26683 /* 69744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26684 /* 69748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26685 /* 69752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26686 /* 69756 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26687 /* 69760 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26688 /* 69764 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26689 /* 69768 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26690 /* 69772 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26691 /* 69776 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26692 /* 69780 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26693 /* 69785 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26694 /* 69790 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26695 /* 69795 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26696 /* 69797 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26697 /* 69797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32_MM),
26698 /* 69800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26699 /* 69802 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26700 /* 69806 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26701 /* 69810 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26702 /* 69814 */ GIR_RootConstrainSelectedInstOperands,
26703 /* 69815 */ // GIR_Coverage, 2384,
26704 /* 69815 */ GIR_EraseRootFromParent_Done,
26705 /* 69816 */ // Label 1642: @69816
26706 /* 69816 */ GIM_Try, /*On fail goto*//*Label 1643*/ GIMT_Encode4(69896), // Rule ID 1552 //
26707 /* 69821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26708 /* 69824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26709 /* 69828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26710 /* 69832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26711 /* 69836 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26712 /* 69840 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26713 /* 69844 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26714 /* 69848 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26715 /* 69852 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26716 /* 69856 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26717 /* 69860 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26718 /* 69865 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26719 /* 69870 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26720 /* 69875 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26721 /* 69877 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26722 /* 69877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32),
26723 /* 69880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26724 /* 69882 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26725 /* 69886 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26726 /* 69890 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26727 /* 69894 */ GIR_RootConstrainSelectedInstOperands,
26728 /* 69895 */ // GIR_Coverage, 1552,
26729 /* 69895 */ GIR_EraseRootFromParent_Done,
26730 /* 69896 */ // Label 1643: @69896
26731 /* 69896 */ GIM_Try, /*On fail goto*//*Label 1644*/ GIMT_Encode4(69976), // Rule ID 1560 //
26732 /* 69901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26733 /* 69904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26734 /* 69908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26735 /* 69912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26736 /* 69916 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26737 /* 69920 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26738 /* 69924 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26739 /* 69928 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26740 /* 69932 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26741 /* 69936 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26742 /* 69940 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26743 /* 69945 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26744 /* 69950 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26745 /* 69955 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26746 /* 69957 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26747 /* 69957 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D64),
26748 /* 69960 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26749 /* 69962 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26750 /* 69966 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26751 /* 69970 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26752 /* 69974 */ GIR_RootConstrainSelectedInstOperands,
26753 /* 69975 */ // GIR_Coverage, 1560,
26754 /* 69975 */ GIR_EraseRootFromParent_Done,
26755 /* 69976 */ // Label 1644: @69976
26756 /* 69976 */ GIM_Try, /*On fail goto*//*Label 1645*/ GIMT_Encode4(70056), // Rule ID 2383 //
26757 /* 69981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26758 /* 69984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26759 /* 69988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26760 /* 69992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26761 /* 69996 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26762 /* 70000 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26763 /* 70004 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26764 /* 70008 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26765 /* 70012 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26766 /* 70016 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26767 /* 70020 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26768 /* 70025 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26769 /* 70030 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26770 /* 70035 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26771 /* 70037 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26772 /* 70037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32_MM),
26773 /* 70040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26774 /* 70042 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26775 /* 70046 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26776 /* 70050 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26777 /* 70054 */ GIR_RootConstrainSelectedInstOperands,
26778 /* 70055 */ // GIR_Coverage, 2383,
26779 /* 70055 */ GIR_EraseRootFromParent_Done,
26780 /* 70056 */ // Label 1645: @70056
26781 /* 70056 */ GIM_Try, /*On fail goto*//*Label 1646*/ GIMT_Encode4(70136), // Rule ID 2600 //
26782 /* 70061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26783 /* 70064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26784 /* 70068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26785 /* 70072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26786 /* 70076 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26787 /* 70080 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26788 /* 70084 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26789 /* 70089 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26790 /* 70093 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26791 /* 70097 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26792 /* 70101 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26793 /* 70105 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26794 /* 70110 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26795 /* 70115 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26796 /* 70117 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26797 /* 70117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32),
26798 /* 70120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26799 /* 70122 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26800 /* 70126 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26801 /* 70130 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26802 /* 70134 */ GIR_RootConstrainSelectedInstOperands,
26803 /* 70135 */ // GIR_Coverage, 2600,
26804 /* 70135 */ GIR_EraseRootFromParent_Done,
26805 /* 70136 */ // Label 1646: @70136
26806 /* 70136 */ GIM_Try, /*On fail goto*//*Label 1647*/ GIMT_Encode4(70216), // Rule ID 2604 //
26807 /* 70141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26808 /* 70144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26809 /* 70148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26810 /* 70152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26811 /* 70156 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26812 /* 70160 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26813 /* 70164 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26814 /* 70169 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26815 /* 70173 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26816 /* 70177 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26817 /* 70181 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26818 /* 70185 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26819 /* 70190 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26820 /* 70195 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26821 /* 70197 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26822 /* 70197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D64),
26823 /* 70200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26824 /* 70202 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26825 /* 70206 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26826 /* 70210 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26827 /* 70214 */ GIR_RootConstrainSelectedInstOperands,
26828 /* 70215 */ // GIR_Coverage, 2604,
26829 /* 70215 */ GIR_EraseRootFromParent_Done,
26830 /* 70216 */ // Label 1647: @70216
26831 /* 70216 */ GIM_Try, /*On fail goto*//*Label 1648*/ GIMT_Encode4(70296), // Rule ID 2695 //
26832 /* 70221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26833 /* 70224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26834 /* 70228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26835 /* 70232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26836 /* 70236 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26837 /* 70240 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26838 /* 70244 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26839 /* 70249 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26840 /* 70253 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26841 /* 70257 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26842 /* 70261 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26843 /* 70265 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26844 /* 70270 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26845 /* 70275 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26846 /* 70277 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26847 /* 70277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32_MM),
26848 /* 70280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26849 /* 70282 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26850 /* 70286 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26851 /* 70290 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26852 /* 70294 */ GIR_RootConstrainSelectedInstOperands,
26853 /* 70295 */ // GIR_Coverage, 2695,
26854 /* 70295 */ GIR_EraseRootFromParent_Done,
26855 /* 70296 */ // Label 1648: @70296
26856 /* 70296 */ GIM_Try, /*On fail goto*//*Label 1649*/ GIMT_Encode4(70376), // Rule ID 2599 //
26857 /* 70301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26858 /* 70304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26859 /* 70308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26860 /* 70312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26861 /* 70316 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26862 /* 70320 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26863 /* 70324 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26864 /* 70329 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26865 /* 70333 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26866 /* 70337 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26867 /* 70341 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26868 /* 70345 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26869 /* 70350 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26870 /* 70355 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26871 /* 70357 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26872 /* 70357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32),
26873 /* 70360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26874 /* 70362 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26875 /* 70366 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26876 /* 70370 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26877 /* 70374 */ GIR_RootConstrainSelectedInstOperands,
26878 /* 70375 */ // GIR_Coverage, 2599,
26879 /* 70375 */ GIR_EraseRootFromParent_Done,
26880 /* 70376 */ // Label 1649: @70376
26881 /* 70376 */ GIM_Try, /*On fail goto*//*Label 1650*/ GIMT_Encode4(70456), // Rule ID 2603 //
26882 /* 70381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26883 /* 70384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26884 /* 70388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26885 /* 70392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26886 /* 70396 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26887 /* 70400 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26888 /* 70404 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26889 /* 70409 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26890 /* 70413 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26891 /* 70417 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26892 /* 70421 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26893 /* 70425 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26894 /* 70430 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26895 /* 70435 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26896 /* 70437 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26897 /* 70437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D64),
26898 /* 70440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26899 /* 70442 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26900 /* 70446 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26901 /* 70450 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26902 /* 70454 */ GIR_RootConstrainSelectedInstOperands,
26903 /* 70455 */ // GIR_Coverage, 2603,
26904 /* 70455 */ GIR_EraseRootFromParent_Done,
26905 /* 70456 */ // Label 1650: @70456
26906 /* 70456 */ GIM_Try, /*On fail goto*//*Label 1651*/ GIMT_Encode4(70536), // Rule ID 2694 //
26907 /* 70461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26908 /* 70464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26909 /* 70468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26910 /* 70472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FADD),
26911 /* 70476 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26912 /* 70480 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26913 /* 70484 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26914 /* 70489 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26915 /* 70493 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
26916 /* 70497 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26917 /* 70501 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26918 /* 70505 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26919 /* 70510 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26920 /* 70515 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26921 /* 70517 */ // (fneg:{ *:[f64] } (strict_fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft))) => (NMADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26922 /* 70517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMADD_D32_MM),
26923 /* 70520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26924 /* 70522 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fr
26925 /* 70526 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26926 /* 70530 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26927 /* 70534 */ GIR_RootConstrainSelectedInstOperands,
26928 /* 70535 */ // GIR_Coverage, 2694,
26929 /* 70535 */ GIR_EraseRootFromParent_Done,
26930 /* 70536 */ // Label 1651: @70536
26931 /* 70536 */ GIM_Try, /*On fail goto*//*Label 1652*/ GIMT_Encode4(70616), // Rule ID 1557 //
26932 /* 70541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
26933 /* 70544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26934 /* 70548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26935 /* 70552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
26936 /* 70556 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26937 /* 70560 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26938 /* 70564 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26939 /* 70568 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26940 /* 70572 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26941 /* 70576 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26942 /* 70580 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26943 /* 70585 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26944 /* 70590 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26945 /* 70595 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26946 /* 70597 */ // (fneg:{ *:[f64] } (strict_fsub:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26947 /* 70597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D32),
26948 /* 70600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26949 /* 70602 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26950 /* 70606 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26951 /* 70610 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26952 /* 70614 */ GIR_RootConstrainSelectedInstOperands,
26953 /* 70615 */ // GIR_Coverage, 1557,
26954 /* 70615 */ GIR_EraseRootFromParent_Done,
26955 /* 70616 */ // Label 1652: @70616
26956 /* 70616 */ GIM_Try, /*On fail goto*//*Label 1653*/ GIMT_Encode4(70696), // Rule ID 1565 //
26957 /* 70621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
26958 /* 70624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26959 /* 70628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26960 /* 70632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
26961 /* 70636 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26962 /* 70640 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26963 /* 70644 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26964 /* 70648 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26965 /* 70652 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26966 /* 70656 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26967 /* 70660 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26968 /* 70665 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26969 /* 70670 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26970 /* 70675 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26971 /* 70677 */ // (fneg:{ *:[f64] } (strict_fsub:{ *:[f64] } (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
26972 /* 70677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D64),
26973 /* 70680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26974 /* 70682 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
26975 /* 70686 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
26976 /* 70690 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
26977 /* 70694 */ GIR_RootConstrainSelectedInstOperands,
26978 /* 70695 */ // GIR_Coverage, 1565,
26979 /* 70695 */ GIR_EraseRootFromParent_Done,
26980 /* 70696 */ // Label 1653: @70696
26981 /* 70696 */ GIM_Try, /*On fail goto*//*Label 1654*/ GIMT_Encode4(70776), // Rule ID 2388 //
26982 /* 70701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
26983 /* 70704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26984 /* 70708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
26985 /* 70712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
26986 /* 70716 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26987 /* 70720 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26988 /* 70724 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26989 /* 70728 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FMUL),
26990 /* 70732 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
26991 /* 70736 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
26992 /* 70740 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26993 /* 70745 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26994 /* 70750 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26995 /* 70755 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26996 /* 70757 */ // (fneg:{ *:[f64] } (strict_fsub:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
26997 /* 70757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D32_MM),
26998 /* 70760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
26999 /* 70762 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
27000 /* 70766 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
27001 /* 70770 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
27002 /* 70774 */ GIR_RootConstrainSelectedInstOperands,
27003 /* 70775 */ // GIR_Coverage, 2388,
27004 /* 70775 */ GIR_EraseRootFromParent_Done,
27005 /* 70776 */ // Label 1654: @70776
27006 /* 70776 */ GIM_Try, /*On fail goto*//*Label 1655*/ GIMT_Encode4(70856), // Rule ID 1556 //
27007 /* 70781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
27008 /* 70784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27009 /* 70788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
27010 /* 70792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
27011 /* 70796 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27012 /* 70800 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27013 /* 70804 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27014 /* 70808 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
27015 /* 70812 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
27016 /* 70816 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
27017 /* 70820 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27018 /* 70825 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27019 /* 70830 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27020 /* 70835 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27021 /* 70837 */ // (fneg:{ *:[f64] } (strict_fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
27022 /* 70837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D32),
27023 /* 70840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
27024 /* 70842 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
27025 /* 70846 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
27026 /* 70850 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
27027 /* 70854 */ GIR_RootConstrainSelectedInstOperands,
27028 /* 70855 */ // GIR_Coverage, 1556,
27029 /* 70855 */ GIR_EraseRootFromParent_Done,
27030 /* 70856 */ // Label 1655: @70856
27031 /* 70856 */ GIM_Try, /*On fail goto*//*Label 1656*/ GIMT_Encode4(70936), // Rule ID 1564 //
27032 /* 70861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6),
27033 /* 70864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27034 /* 70868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
27035 /* 70872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
27036 /* 70876 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27037 /* 70880 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27038 /* 70884 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27039 /* 70888 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
27040 /* 70892 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
27041 /* 70896 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
27042 /* 70900 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27043 /* 70905 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27044 /* 70910 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27045 /* 70915 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27046 /* 70917 */ // (fneg:{ *:[f64] } (strict_fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
27047 /* 70917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D64),
27048 /* 70920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
27049 /* 70922 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
27050 /* 70926 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
27051 /* 70930 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
27052 /* 70934 */ GIR_RootConstrainSelectedInstOperands,
27053 /* 70935 */ // GIR_Coverage, 1564,
27054 /* 70935 */ GIR_EraseRootFromParent_Done,
27055 /* 70936 */ // Label 1656: @70936
27056 /* 70936 */ GIM_Try, /*On fail goto*//*Label 1657*/ GIMT_Encode4(71016), // Rule ID 2387 //
27057 /* 70941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6),
27058 /* 70944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27059 /* 70948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
27060 /* 70952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FSUB),
27061 /* 70956 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27062 /* 70960 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27063 /* 70964 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27064 /* 70968 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
27065 /* 70972 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
27066 /* 70976 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
27067 /* 70980 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27068 /* 70985 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27069 /* 70990 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27070 /* 70995 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27071 /* 70997 */ // (fneg:{ *:[f64] } (strict_fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr)) => (NMSUB_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
27072 /* 70997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NMSUB_D32_MM),
27073 /* 71000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
27074 /* 71002 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // fr
27075 /* 71006 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // fs
27076 /* 71010 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // ft
27077 /* 71014 */ GIR_RootConstrainSelectedInstOperands,
27078 /* 71015 */ // GIR_Coverage, 2387,
27079 /* 71015 */ GIR_EraseRootFromParent_Done,
27080 /* 71016 */ // Label 1657: @71016
27081 /* 71016 */ GIM_Try, /*On fail goto*//*Label 1658*/ GIMT_Encode4(71043), // Rule ID 130 //
27082 /* 71021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
27083 /* 71024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27084 /* 71028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27085 /* 71032 */ // (fneg:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FNEG_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
27086 /* 71032 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_D32),
27087 /* 71037 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27088 /* 71041 */ GIR_RootConstrainSelectedInstOperands,
27089 /* 71042 */ // GIR_Coverage, 130,
27090 /* 71042 */ GIR_Done,
27091 /* 71043 */ // Label 1658: @71043
27092 /* 71043 */ GIM_Try, /*On fail goto*//*Label 1659*/ GIMT_Encode4(71070), // Rule ID 131 //
27093 /* 71048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
27094 /* 71051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27095 /* 71055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27096 /* 71059 */ // (fneg:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FNEG_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
27097 /* 71059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_D64),
27098 /* 71064 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27099 /* 71068 */ GIR_RootConstrainSelectedInstOperands,
27100 /* 71069 */ // GIR_Coverage, 131,
27101 /* 71069 */ GIR_Done,
27102 /* 71070 */ // Label 1659: @71070
27103 /* 71070 */ GIM_Try, /*On fail goto*//*Label 1660*/ GIMT_Encode4(71093), // Rule ID 1229 //
27104 /* 71075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit),
27105 /* 71078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27106 /* 71082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27107 /* 71086 */ // (fneg:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FNEG_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
27108 /* 71086 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_D32_MM),
27109 /* 71091 */ GIR_RootConstrainSelectedInstOperands,
27110 /* 71092 */ // GIR_Coverage, 1229,
27111 /* 71092 */ GIR_Done,
27112 /* 71093 */ // Label 1660: @71093
27113 /* 71093 */ GIM_Try, /*On fail goto*//*Label 1661*/ GIMT_Encode4(71116), // Rule ID 1230 //
27114 /* 71098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat),
27115 /* 71101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27116 /* 71105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27117 /* 71109 */ // (fneg:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FNEG_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
27118 /* 71109 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_D64_MM),
27119 /* 71114 */ GIR_RootConstrainSelectedInstOperands,
27120 /* 71115 */ // GIR_Coverage, 1230,
27121 /* 71115 */ GIR_Done,
27122 /* 71116 */ // Label 1661: @71116
27123 /* 71116 */ GIM_Reject,
27124 /* 71117 */ // Label 1621: @71117
27125 /* 71117 */ GIM_Reject,
27126 /* 71118 */ // Label 1592: @71118
27127 /* 71118 */ GIM_Reject,
27128 /* 71119 */ // Label 54: @71119
27129 /* 71119 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1664*/ GIMT_Encode4(71312),
27130 /* 71130 */ /*GILLT_s32*//*Label 1662*/ GIMT_Encode4(71138),
27131 /* 71134 */ /*GILLT_s64*//*Label 1663*/ GIMT_Encode4(71165),
27132 /* 71138 */ // Label 1662: @71138
27133 /* 71138 */ GIM_Try, /*On fail goto*//*Label 1665*/ GIMT_Encode4(71164), // Rule ID 1131 //
27134 /* 71143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
27135 /* 71146 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
27136 /* 71149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27137 /* 71153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128F16RegClassID),
27138 /* 71157 */ // (fpextend:{ *:[f32] } MSA128F16:{ *:[f16] }:$ws) => (MSA_FP_EXTEND_W_PSEUDO:{ *:[f32] } MSA128F16:{ *:[f16] }:$ws)
27139 /* 71157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MSA_FP_EXTEND_W_PSEUDO),
27140 /* 71162 */ GIR_RootConstrainSelectedInstOperands,
27141 /* 71163 */ // GIR_Coverage, 1131,
27142 /* 71163 */ GIR_Done,
27143 /* 71164 */ // Label 1665: @71164
27144 /* 71164 */ GIM_Reject,
27145 /* 71165 */ // Label 1663: @71165
27146 /* 71165 */ GIM_Try, /*On fail goto*//*Label 1666*/ GIMT_Encode4(71191), // Rule ID 1133 //
27147 /* 71170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
27148 /* 71173 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
27149 /* 71176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27150 /* 71180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128F16RegClassID),
27151 /* 71184 */ // (fpextend:{ *:[f64] } MSA128F16:{ *:[f16] }:$ws) => (MSA_FP_EXTEND_D_PSEUDO:{ *:[f64] } MSA128F16:{ *:[f16] }:$ws)
27152 /* 71184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MSA_FP_EXTEND_D_PSEUDO),
27153 /* 71189 */ GIR_RootConstrainSelectedInstOperands,
27154 /* 71190 */ // GIR_Coverage, 1133,
27155 /* 71190 */ GIR_Done,
27156 /* 71191 */ // Label 1666: @71191
27157 /* 71191 */ GIM_Try, /*On fail goto*//*Label 1667*/ GIMT_Encode4(71221), // Rule ID 1528 //
27158 /* 71196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotFP64bit_NotInMicroMips),
27159 /* 71199 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27160 /* 71202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27161 /* 71206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27162 /* 71210 */ // (fpextend:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src) => (CVT_D32_S:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src)
27163 /* 71210 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_D32_S),
27164 /* 71215 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27165 /* 71219 */ GIR_RootConstrainSelectedInstOperands,
27166 /* 71220 */ // GIR_Coverage, 1528,
27167 /* 71220 */ GIR_Done,
27168 /* 71221 */ // Label 1667: @71221
27169 /* 71221 */ GIM_Try, /*On fail goto*//*Label 1668*/ GIMT_Encode4(71251), // Rule ID 1543 //
27170 /* 71226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_NotInMicroMips),
27171 /* 71229 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27172 /* 71232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27173 /* 71236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27174 /* 71240 */ // (fpextend:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src) => (CVT_D64_S:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src)
27175 /* 71240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_D64_S),
27176 /* 71245 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27177 /* 71249 */ GIR_RootConstrainSelectedInstOperands,
27178 /* 71250 */ // GIR_Coverage, 1543,
27179 /* 71250 */ GIR_Done,
27180 /* 71251 */ // Label 1668: @71251
27181 /* 71251 */ GIM_Try, /*On fail goto*//*Label 1669*/ GIMT_Encode4(71281), // Rule ID 2401 //
27182 /* 71256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit),
27183 /* 71259 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27184 /* 71262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27185 /* 71266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27186 /* 71270 */ // (fpextend:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src) => (CVT_D64_S_MM:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src)
27187 /* 71270 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_D64_S_MM),
27188 /* 71275 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27189 /* 71279 */ GIR_RootConstrainSelectedInstOperands,
27190 /* 71280 */ // GIR_Coverage, 2401,
27191 /* 71280 */ GIR_Done,
27192 /* 71281 */ // Label 1669: @71281
27193 /* 71281 */ GIM_Try, /*On fail goto*//*Label 1670*/ GIMT_Encode4(71311), // Rule ID 2403 //
27194 /* 71286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit),
27195 /* 71289 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27196 /* 71292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27197 /* 71296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27198 /* 71300 */ // (fpextend:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src) => (CVT_D32_S_MM:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src)
27199 /* 71300 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_D32_S_MM),
27200 /* 71305 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27201 /* 71309 */ GIR_RootConstrainSelectedInstOperands,
27202 /* 71310 */ // GIR_Coverage, 2403,
27203 /* 71310 */ GIR_Done,
27204 /* 71311 */ // Label 1670: @71311
27205 /* 71311 */ GIM_Reject,
27206 /* 71312 */ // Label 1664: @71312
27207 /* 71312 */ GIM_Reject,
27208 /* 71313 */ // Label 55: @71313
27209 /* 71313 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1673*/ GIMT_Encode4(71491),
27210 /* 71324 */ /*GILLT_s16*//*Label 1671*/ GIMT_Encode4(71332),
27211 /* 71328 */ /*GILLT_s32*//*Label 1672*/ GIMT_Encode4(71385),
27212 /* 71332 */ // Label 1671: @71332
27213 /* 71332 */ GIM_Try, /*On fail goto*//*Label 1674*/ GIMT_Encode4(71358), // Rule ID 1132 //
27214 /* 71337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
27215 /* 71340 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27216 /* 71343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128F16RegClassID),
27217 /* 71347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27218 /* 71351 */ // (fpround:{ *:[f16] } FGR32Opnd:{ *:[f32] }:$fs) => (MSA_FP_ROUND_W_PSEUDO:{ *:[f16] } FGR32Opnd:{ *:[f32] }:$fs)
27219 /* 71351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MSA_FP_ROUND_W_PSEUDO),
27220 /* 71356 */ GIR_RootConstrainSelectedInstOperands,
27221 /* 71357 */ // GIR_Coverage, 1132,
27222 /* 71357 */ GIR_Done,
27223 /* 71358 */ // Label 1674: @71358
27224 /* 71358 */ GIM_Try, /*On fail goto*//*Label 1675*/ GIMT_Encode4(71384), // Rule ID 1134 //
27225 /* 71363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
27226 /* 71366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27227 /* 71369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128F16RegClassID),
27228 /* 71373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27229 /* 71377 */ // (fpround:{ *:[f16] } FGR64Opnd:{ *:[f64] }:$fs) => (MSA_FP_ROUND_D_PSEUDO:{ *:[f16] } FGR64Opnd:{ *:[f64] }:$fs)
27230 /* 71377 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MSA_FP_ROUND_D_PSEUDO),
27231 /* 71382 */ GIR_RootConstrainSelectedInstOperands,
27232 /* 71383 */ // GIR_Coverage, 1134,
27233 /* 71383 */ GIR_Done,
27234 /* 71384 */ // Label 1675: @71384
27235 /* 71384 */ GIM_Reject,
27236 /* 71385 */ // Label 1672: @71385
27237 /* 71385 */ GIM_Try, /*On fail goto*//*Label 1676*/ GIMT_Encode4(71490),
27238 /* 71390 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27239 /* 71393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27240 /* 71397 */ GIM_Try, /*On fail goto*//*Label 1677*/ GIMT_Encode4(71420), // Rule ID 1526 //
27241 /* 71402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotFP64bit_NotInMicroMips),
27242 /* 71405 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27243 /* 71409 */ // (fpround:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src) => (CVT_S_D32:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src)
27244 /* 71409 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_S_D32),
27245 /* 71414 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27246 /* 71418 */ GIR_RootConstrainSelectedInstOperands,
27247 /* 71419 */ // GIR_Coverage, 1526,
27248 /* 71419 */ GIR_Done,
27249 /* 71420 */ // Label 1677: @71420
27250 /* 71420 */ GIM_Try, /*On fail goto*//*Label 1678*/ GIMT_Encode4(71443), // Rule ID 1541 //
27251 /* 71425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_NotInMicroMips),
27252 /* 71428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27253 /* 71432 */ // (fpround:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src) => (CVT_S_D64:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src)
27254 /* 71432 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_S_D64),
27255 /* 71437 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27256 /* 71441 */ GIR_RootConstrainSelectedInstOperands,
27257 /* 71442 */ // GIR_Coverage, 1541,
27258 /* 71442 */ GIR_Done,
27259 /* 71443 */ // Label 1678: @71443
27260 /* 71443 */ GIM_Try, /*On fail goto*//*Label 1679*/ GIMT_Encode4(71466), // Rule ID 2400 //
27261 /* 71448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit),
27262 /* 71451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27263 /* 71455 */ // (fpround:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src) => (CVT_S_D64_MM:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src)
27264 /* 71455 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_S_D64_MM),
27265 /* 71460 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27266 /* 71464 */ GIR_RootConstrainSelectedInstOperands,
27267 /* 71465 */ // GIR_Coverage, 2400,
27268 /* 71465 */ GIR_Done,
27269 /* 71466 */ // Label 1679: @71466
27270 /* 71466 */ GIM_Try, /*On fail goto*//*Label 1680*/ GIMT_Encode4(71489), // Rule ID 2402 //
27271 /* 71471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotFP64bit),
27272 /* 71474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27273 /* 71478 */ // (fpround:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src) => (CVT_S_D32_MM:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src)
27274 /* 71478 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_S_D32_MM),
27275 /* 71483 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27276 /* 71487 */ GIR_RootConstrainSelectedInstOperands,
27277 /* 71488 */ // GIR_Coverage, 2402,
27278 /* 71488 */ GIR_Done,
27279 /* 71489 */ // Label 1680: @71489
27280 /* 71489 */ GIM_Reject,
27281 /* 71490 */ // Label 1676: @71490
27282 /* 71490 */ GIM_Reject,
27283 /* 71491 */ // Label 1673: @71491
27284 /* 71491 */ GIM_Reject,
27285 /* 71492 */ // Label 56: @71492
27286 /* 71492 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(7), /*)*//*default:*//*Label 1683*/ GIMT_Encode4(71569),
27287 /* 71503 */ /*GILLT_v2s64*//*Label 1681*/ GIMT_Encode4(71515), GIMT_Encode4(0),
27288 /* 71511 */ /*GILLT_v4s32*//*Label 1682*/ GIMT_Encode4(71542),
27289 /* 71515 */ // Label 1681: @71515
27290 /* 71515 */ GIM_Try, /*On fail goto*//*Label 1684*/ GIMT_Encode4(71541), // Rule ID 852 //
27291 /* 71520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27292 /* 71523 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27293 /* 71526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27294 /* 71530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27295 /* 71534 */ // (fp_to_sint:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FTRUNC_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
27296 /* 71534 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FTRUNC_S_D),
27297 /* 71539 */ GIR_RootConstrainSelectedInstOperands,
27298 /* 71540 */ // GIR_Coverage, 852,
27299 /* 71540 */ GIR_Done,
27300 /* 71541 */ // Label 1684: @71541
27301 /* 71541 */ GIM_Reject,
27302 /* 71542 */ // Label 1682: @71542
27303 /* 71542 */ GIM_Try, /*On fail goto*//*Label 1685*/ GIMT_Encode4(71568), // Rule ID 851 //
27304 /* 71547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27305 /* 71550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27306 /* 71553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27307 /* 71557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27308 /* 71561 */ // (fp_to_sint:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FTRUNC_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
27309 /* 71561 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FTRUNC_S_W),
27310 /* 71566 */ GIR_RootConstrainSelectedInstOperands,
27311 /* 71567 */ // GIR_Coverage, 851,
27312 /* 71567 */ GIR_Done,
27313 /* 71568 */ // Label 1685: @71568
27314 /* 71568 */ GIM_Reject,
27315 /* 71569 */ // Label 1683: @71569
27316 /* 71569 */ GIM_Reject,
27317 /* 71570 */ // Label 57: @71570
27318 /* 71570 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(7), /*)*//*default:*//*Label 1688*/ GIMT_Encode4(71647),
27319 /* 71581 */ /*GILLT_v2s64*//*Label 1686*/ GIMT_Encode4(71593), GIMT_Encode4(0),
27320 /* 71589 */ /*GILLT_v4s32*//*Label 1687*/ GIMT_Encode4(71620),
27321 /* 71593 */ // Label 1686: @71593
27322 /* 71593 */ GIM_Try, /*On fail goto*//*Label 1689*/ GIMT_Encode4(71619), // Rule ID 854 //
27323 /* 71598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27324 /* 71601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27325 /* 71604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27326 /* 71608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27327 /* 71612 */ // (fp_to_uint:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FTRUNC_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
27328 /* 71612 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FTRUNC_U_D),
27329 /* 71617 */ GIR_RootConstrainSelectedInstOperands,
27330 /* 71618 */ // GIR_Coverage, 854,
27331 /* 71618 */ GIR_Done,
27332 /* 71619 */ // Label 1689: @71619
27333 /* 71619 */ GIM_Reject,
27334 /* 71620 */ // Label 1687: @71620
27335 /* 71620 */ GIM_Try, /*On fail goto*//*Label 1690*/ GIMT_Encode4(71646), // Rule ID 853 //
27336 /* 71625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27337 /* 71628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27338 /* 71631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27339 /* 71635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27340 /* 71639 */ // (fp_to_uint:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FTRUNC_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
27341 /* 71639 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FTRUNC_U_W),
27342 /* 71644 */ GIR_RootConstrainSelectedInstOperands,
27343 /* 71645 */ // GIR_Coverage, 853,
27344 /* 71645 */ GIR_Done,
27345 /* 71646 */ // Label 1690: @71646
27346 /* 71646 */ GIM_Reject,
27347 /* 71647 */ // Label 1688: @71647
27348 /* 71647 */ GIM_Reject,
27349 /* 71648 */ // Label 58: @71648
27350 /* 71648 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(7), /*)*//*default:*//*Label 1695*/ GIMT_Encode4(71900),
27351 /* 71659 */ /*GILLT_s32*//*Label 1691*/ GIMT_Encode4(71683),
27352 /* 71663 */ /*GILLT_s64*//*Label 1692*/ GIMT_Encode4(71767), GIMT_Encode4(0),
27353 /* 71671 */ /*GILLT_v2s64*//*Label 1693*/ GIMT_Encode4(71846), GIMT_Encode4(0),
27354 /* 71679 */ /*GILLT_v4s32*//*Label 1694*/ GIMT_Encode4(71873),
27355 /* 71683 */ // Label 1691: @71683
27356 /* 71683 */ GIM_Try, /*On fail goto*//*Label 1696*/ GIMT_Encode4(71706), // Rule ID 1519 //
27357 /* 71688 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27358 /* 71691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27359 /* 71695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
27360 /* 71699 */ // (sint_to_fp:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$src) => (PseudoCVT_S_W:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$src)
27361 /* 71699 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_S_W),
27362 /* 71704 */ GIR_RootConstrainSelectedInstOperands,
27363 /* 71705 */ // GIR_Coverage, 1519,
27364 /* 71705 */ GIR_Done,
27365 /* 71706 */ // Label 1696: @71706
27366 /* 71706 */ GIM_Try, /*On fail goto*//*Label 1697*/ GIMT_Encode4(71766), // Rule ID 1534 //
27367 /* 71711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsFP64bit),
27368 /* 71714 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27369 /* 71717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27370 /* 71721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
27371 /* 71725 */ // (sint_to_fp:{ *:[f32] } GPR64Opnd:{ *:[i64] }:$src) => (EXTRACT_SUBREG:{ *:[f32] } (PseudoCVT_S_L:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$src), sub_lo:{ *:[i32] })
27372 /* 71725 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
27373 /* 71728 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_S_L),
27374 /* 71732 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27375 /* 71737 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
27376 /* 71741 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
27377 /* 71743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27378 /* 71746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
27379 /* 71748 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(Mips::sub_lo),
27380 /* 71755 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::FGR32RegClassID),
27381 /* 71760 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::FGR64RegClassID),
27382 /* 71765 */ // GIR_Coverage, 1534,
27383 /* 71765 */ GIR_EraseRootFromParent_Done,
27384 /* 71766 */ // Label 1697: @71766
27385 /* 71766 */ GIM_Reject,
27386 /* 71767 */ // Label 1692: @71767
27387 /* 71767 */ GIM_Try, /*On fail goto*//*Label 1698*/ GIMT_Encode4(71793), // Rule ID 1523 //
27388 /* 71772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotFP64bit),
27389 /* 71775 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27390 /* 71778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27391 /* 71782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
27392 /* 71786 */ // (sint_to_fp:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$src) => (PseudoCVT_D32_W:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$src)
27393 /* 71786 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_D32_W),
27394 /* 71791 */ GIR_RootConstrainSelectedInstOperands,
27395 /* 71792 */ // GIR_Coverage, 1523,
27396 /* 71792 */ GIR_Done,
27397 /* 71793 */ // Label 1698: @71793
27398 /* 71793 */ GIM_Try, /*On fail goto*//*Label 1699*/ GIMT_Encode4(71819), // Rule ID 1532 //
27399 /* 71798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsFP64bit),
27400 /* 71801 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27401 /* 71804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27402 /* 71808 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
27403 /* 71812 */ // (sint_to_fp:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$src) => (PseudoCVT_D64_W:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$src)
27404 /* 71812 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_D64_W),
27405 /* 71817 */ GIR_RootConstrainSelectedInstOperands,
27406 /* 71818 */ // GIR_Coverage, 1532,
27407 /* 71818 */ GIR_Done,
27408 /* 71819 */ // Label 1699: @71819
27409 /* 71819 */ GIM_Try, /*On fail goto*//*Label 1700*/ GIMT_Encode4(71845), // Rule ID 1536 //
27410 /* 71824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsFP64bit),
27411 /* 71827 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27412 /* 71830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27413 /* 71834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
27414 /* 71838 */ // (sint_to_fp:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$src) => (PseudoCVT_D64_L:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$src)
27415 /* 71838 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_D64_L),
27416 /* 71843 */ GIR_RootConstrainSelectedInstOperands,
27417 /* 71844 */ // GIR_Coverage, 1536,
27418 /* 71844 */ GIR_Done,
27419 /* 71845 */ // Label 1700: @71845
27420 /* 71845 */ GIM_Reject,
27421 /* 71846 */ // Label 1693: @71846
27422 /* 71846 */ GIM_Try, /*On fail goto*//*Label 1701*/ GIMT_Encode4(71872), // Rule ID 784 //
27423 /* 71851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27424 /* 71854 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27425 /* 71857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27426 /* 71861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27427 /* 71865 */ // (sint_to_fp:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$ws) => (FFINT_S_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
27428 /* 71865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FFINT_S_D),
27429 /* 71870 */ GIR_RootConstrainSelectedInstOperands,
27430 /* 71871 */ // GIR_Coverage, 784,
27431 /* 71871 */ GIR_Done,
27432 /* 71872 */ // Label 1701: @71872
27433 /* 71872 */ GIM_Reject,
27434 /* 71873 */ // Label 1694: @71873
27435 /* 71873 */ GIM_Try, /*On fail goto*//*Label 1702*/ GIMT_Encode4(71899), // Rule ID 783 //
27436 /* 71878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27437 /* 71881 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27438 /* 71884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27439 /* 71888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27440 /* 71892 */ // (sint_to_fp:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$ws) => (FFINT_S_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
27441 /* 71892 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FFINT_S_W),
27442 /* 71897 */ GIR_RootConstrainSelectedInstOperands,
27443 /* 71898 */ // GIR_Coverage, 783,
27444 /* 71898 */ GIR_Done,
27445 /* 71899 */ // Label 1702: @71899
27446 /* 71899 */ GIM_Reject,
27447 /* 71900 */ // Label 1695: @71900
27448 /* 71900 */ GIM_Reject,
27449 /* 71901 */ // Label 59: @71901
27450 /* 71901 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(7), /*)*//*default:*//*Label 1705*/ GIMT_Encode4(71978),
27451 /* 71912 */ /*GILLT_v2s64*//*Label 1703*/ GIMT_Encode4(71924), GIMT_Encode4(0),
27452 /* 71920 */ /*GILLT_v4s32*//*Label 1704*/ GIMT_Encode4(71951),
27453 /* 71924 */ // Label 1703: @71924
27454 /* 71924 */ GIM_Try, /*On fail goto*//*Label 1706*/ GIMT_Encode4(71950), // Rule ID 786 //
27455 /* 71929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27456 /* 71932 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27457 /* 71935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27458 /* 71939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27459 /* 71943 */ // (uint_to_fp:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$ws) => (FFINT_U_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
27460 /* 71943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FFINT_U_D),
27461 /* 71948 */ GIR_RootConstrainSelectedInstOperands,
27462 /* 71949 */ // GIR_Coverage, 786,
27463 /* 71949 */ GIR_Done,
27464 /* 71950 */ // Label 1706: @71950
27465 /* 71950 */ GIM_Reject,
27466 /* 71951 */ // Label 1704: @71951
27467 /* 71951 */ GIM_Try, /*On fail goto*//*Label 1707*/ GIMT_Encode4(71977), // Rule ID 785 //
27468 /* 71956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27469 /* 71959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27470 /* 71962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27471 /* 71966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27472 /* 71970 */ // (uint_to_fp:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$ws) => (FFINT_U_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
27473 /* 71970 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FFINT_U_W),
27474 /* 71975 */ GIR_RootConstrainSelectedInstOperands,
27475 /* 71976 */ // GIR_Coverage, 785,
27476 /* 71976 */ GIR_Done,
27477 /* 71977 */ // Label 1707: @71977
27478 /* 71977 */ GIM_Reject,
27479 /* 71978 */ // Label 1705: @71978
27480 /* 71978 */ GIM_Reject,
27481 /* 71979 */ // Label 60: @71979
27482 /* 71979 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(7), /*)*//*default:*//*Label 1712*/ GIMT_Encode4(72226),
27483 /* 71990 */ /*GILLT_s32*//*Label 1708*/ GIMT_Encode4(72014),
27484 /* 71994 */ /*GILLT_s64*//*Label 1709*/ GIMT_Encode4(72062), GIMT_Encode4(0),
27485 /* 72002 */ /*GILLT_v2s64*//*Label 1710*/ GIMT_Encode4(72172), GIMT_Encode4(0),
27486 /* 72010 */ /*GILLT_v4s32*//*Label 1711*/ GIMT_Encode4(72199),
27487 /* 72014 */ // Label 1708: @72014
27488 /* 72014 */ GIM_Try, /*On fail goto*//*Label 1713*/ GIMT_Encode4(72061),
27489 /* 72019 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27490 /* 72022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27491 /* 72026 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27492 /* 72030 */ GIM_Try, /*On fail goto*//*Label 1714*/ GIMT_Encode4(72045), // Rule ID 126 //
27493 /* 72035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips_UseAbs),
27494 /* 72038 */ // (fabs:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FABS_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
27495 /* 72038 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_S),
27496 /* 72043 */ GIR_RootConstrainSelectedInstOperands,
27497 /* 72044 */ // GIR_Coverage, 126,
27498 /* 72044 */ GIR_Done,
27499 /* 72045 */ // Label 1714: @72045
27500 /* 72045 */ GIM_Try, /*On fail goto*//*Label 1715*/ GIMT_Encode4(72060), // Rule ID 1227 //
27501 /* 72050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat_UseAbs),
27502 /* 72053 */ // (fabs:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FABS_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
27503 /* 72053 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_S_MM),
27504 /* 72058 */ GIR_RootConstrainSelectedInstOperands,
27505 /* 72059 */ // GIR_Coverage, 1227,
27506 /* 72059 */ GIR_Done,
27507 /* 72060 */ // Label 1715: @72060
27508 /* 72060 */ GIM_Reject,
27509 /* 72061 */ // Label 1713: @72061
27510 /* 72061 */ GIM_Reject,
27511 /* 72062 */ // Label 1709: @72062
27512 /* 72062 */ GIM_Try, /*On fail goto*//*Label 1716*/ GIMT_Encode4(72171),
27513 /* 72067 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27514 /* 72070 */ GIM_Try, /*On fail goto*//*Label 1717*/ GIMT_Encode4(72097), // Rule ID 127 //
27515 /* 72075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_UseAbs),
27516 /* 72078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27517 /* 72082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27518 /* 72086 */ // (fabs:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FABS_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
27519 /* 72086 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D32),
27520 /* 72091 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27521 /* 72095 */ GIR_RootConstrainSelectedInstOperands,
27522 /* 72096 */ // GIR_Coverage, 127,
27523 /* 72096 */ GIR_Done,
27524 /* 72097 */ // Label 1717: @72097
27525 /* 72097 */ GIM_Try, /*On fail goto*//*Label 1718*/ GIMT_Encode4(72124), // Rule ID 128 //
27526 /* 72102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_UseAbs),
27527 /* 72105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27528 /* 72109 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27529 /* 72113 */ // (fabs:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FABS_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
27530 /* 72113 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D64),
27531 /* 72118 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
27532 /* 72122 */ GIR_RootConstrainSelectedInstOperands,
27533 /* 72123 */ // GIR_Coverage, 128,
27534 /* 72123 */ GIR_Done,
27535 /* 72124 */ // Label 1718: @72124
27536 /* 72124 */ GIM_Try, /*On fail goto*//*Label 1719*/ GIMT_Encode4(72147), // Rule ID 1225 //
27537 /* 72129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit),
27538 /* 72132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27539 /* 72136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
27540 /* 72140 */ // (fabs:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FABS_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
27541 /* 72140 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D32_MM),
27542 /* 72145 */ GIR_RootConstrainSelectedInstOperands,
27543 /* 72146 */ // GIR_Coverage, 1225,
27544 /* 72146 */ GIR_Done,
27545 /* 72147 */ // Label 1719: @72147
27546 /* 72147 */ GIM_Try, /*On fail goto*//*Label 1720*/ GIMT_Encode4(72170), // Rule ID 1226 //
27547 /* 72152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat),
27548 /* 72155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27549 /* 72159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27550 /* 72163 */ // (fabs:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FABS_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
27551 /* 72163 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D64_MM),
27552 /* 72168 */ GIR_RootConstrainSelectedInstOperands,
27553 /* 72169 */ // GIR_Coverage, 1226,
27554 /* 72169 */ GIR_Done,
27555 /* 72170 */ // Label 1720: @72170
27556 /* 72170 */ GIM_Reject,
27557 /* 72171 */ // Label 1716: @72171
27558 /* 72171 */ GIM_Reject,
27559 /* 72172 */ // Label 1710: @72172
27560 /* 72172 */ GIM_Try, /*On fail goto*//*Label 1721*/ GIMT_Encode4(72198), // Rule ID 1118 //
27561 /* 72177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27562 /* 72180 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27563 /* 72183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27564 /* 72187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27565 /* 72191 */ // (fabs:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FABS_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
27566 /* 72191 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D),
27567 /* 72196 */ GIR_RootConstrainSelectedInstOperands,
27568 /* 72197 */ // GIR_Coverage, 1118,
27569 /* 72197 */ GIR_Done,
27570 /* 72198 */ // Label 1721: @72198
27571 /* 72198 */ GIM_Reject,
27572 /* 72199 */ // Label 1711: @72199
27573 /* 72199 */ GIM_Try, /*On fail goto*//*Label 1722*/ GIMT_Encode4(72225), // Rule ID 1117 //
27574 /* 72204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27575 /* 72207 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27576 /* 72210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27577 /* 72214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27578 /* 72218 */ // (fabs:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FABS_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
27579 /* 72218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_W),
27580 /* 72223 */ GIR_RootConstrainSelectedInstOperands,
27581 /* 72224 */ // GIR_Coverage, 1117,
27582 /* 72224 */ GIR_Done,
27583 /* 72225 */ // Label 1722: @72225
27584 /* 72225 */ GIM_Reject,
27585 /* 72226 */ // Label 1712: @72226
27586 /* 72226 */ GIM_Reject,
27587 /* 72227 */ // Label 61: @72227
27588 /* 72227 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1725*/ GIMT_Encode4(72300),
27589 /* 72238 */ /*GILLT_s32*//*Label 1723*/ GIMT_Encode4(72246),
27590 /* 72242 */ /*GILLT_s64*//*Label 1724*/ GIMT_Encode4(72273),
27591 /* 72246 */ // Label 1723: @72246
27592 /* 72246 */ GIM_Try, /*On fail goto*//*Label 1726*/ GIMT_Encode4(72272), // Rule ID 1889 //
27593 /* 72251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27594 /* 72254 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27595 /* 72257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27596 /* 72261 */ // (fcanonicalize:{ *:[f32] } f32:{ *:[f32] }:$src) => (MIN_S:{ *:[f32] } f32:{ *:[f32] }:$src, f32:{ *:[f32] }:$src)
27597 /* 72261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_S),
27598 /* 72264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
27599 /* 72266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
27600 /* 72268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
27601 /* 72270 */ GIR_RootConstrainSelectedInstOperands,
27602 /* 72271 */ // GIR_Coverage, 1889,
27603 /* 72271 */ GIR_EraseRootFromParent_Done,
27604 /* 72272 */ // Label 1726: @72272
27605 /* 72272 */ GIM_Reject,
27606 /* 72273 */ // Label 1724: @72273
27607 /* 72273 */ GIM_Try, /*On fail goto*//*Label 1727*/ GIMT_Encode4(72299), // Rule ID 1890 //
27608 /* 72278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27609 /* 72281 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27610 /* 72284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27611 /* 72288 */ // (fcanonicalize:{ *:[f64] } f64:{ *:[f64] }:$src) => (MIN_D:{ *:[f64] } f64:{ *:[f64] }:$src, f64:{ *:[f64] }:$src)
27612 /* 72288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_D),
27613 /* 72291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
27614 /* 72293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
27615 /* 72295 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
27616 /* 72297 */ GIR_RootConstrainSelectedInstOperands,
27617 /* 72298 */ // GIR_Coverage, 1890,
27618 /* 72298 */ GIR_EraseRootFromParent_Done,
27619 /* 72299 */ // Label 1727: @72299
27620 /* 72299 */ GIM_Reject,
27621 /* 72300 */ // Label 1725: @72300
27622 /* 72300 */ GIM_Reject,
27623 /* 72301 */ // Label 62: @72301
27624 /* 72301 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1730*/ GIMT_Encode4(72372),
27625 /* 72312 */ /*GILLT_s32*//*Label 1728*/ GIMT_Encode4(72320),
27626 /* 72316 */ /*GILLT_s64*//*Label 1729*/ GIMT_Encode4(72346),
27627 /* 72320 */ // Label 1728: @72320
27628 /* 72320 */ GIM_Try, /*On fail goto*//*Label 1731*/ GIMT_Encode4(72345), // Rule ID 1886 //
27629 /* 72325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27630 /* 72328 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27631 /* 72331 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
27632 /* 72334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27633 /* 72338 */ // (fminnum:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs) => (MIN_S:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27634 /* 72338 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S),
27635 /* 72343 */ GIR_RootConstrainSelectedInstOperands,
27636 /* 72344 */ // GIR_Coverage, 1886,
27637 /* 72344 */ GIR_Done,
27638 /* 72345 */ // Label 1731: @72345
27639 /* 72345 */ GIM_Reject,
27640 /* 72346 */ // Label 1729: @72346
27641 /* 72346 */ GIM_Try, /*On fail goto*//*Label 1732*/ GIMT_Encode4(72371), // Rule ID 1888 //
27642 /* 72351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27643 /* 72354 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27644 /* 72357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
27645 /* 72360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27646 /* 72364 */ // (fminnum:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs) => (MIN_D:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27647 /* 72364 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_D),
27648 /* 72369 */ GIR_RootConstrainSelectedInstOperands,
27649 /* 72370 */ // GIR_Coverage, 1888,
27650 /* 72370 */ GIR_Done,
27651 /* 72371 */ // Label 1732: @72371
27652 /* 72371 */ GIM_Reject,
27653 /* 72372 */ // Label 1730: @72372
27654 /* 72372 */ GIM_Reject,
27655 /* 72373 */ // Label 63: @72373
27656 /* 72373 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1735*/ GIMT_Encode4(72444),
27657 /* 72384 */ /*GILLT_s32*//*Label 1733*/ GIMT_Encode4(72392),
27658 /* 72388 */ /*GILLT_s64*//*Label 1734*/ GIMT_Encode4(72418),
27659 /* 72392 */ // Label 1733: @72392
27660 /* 72392 */ GIM_Try, /*On fail goto*//*Label 1736*/ GIMT_Encode4(72417), // Rule ID 1882 //
27661 /* 72397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27662 /* 72400 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27663 /* 72403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
27664 /* 72406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27665 /* 72410 */ // (fmaxnum:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs) => (MAX_S:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27666 /* 72410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S),
27667 /* 72415 */ GIR_RootConstrainSelectedInstOperands,
27668 /* 72416 */ // GIR_Coverage, 1882,
27669 /* 72416 */ GIR_Done,
27670 /* 72417 */ // Label 1736: @72417
27671 /* 72417 */ GIM_Reject,
27672 /* 72418 */ // Label 1734: @72418
27673 /* 72418 */ GIM_Try, /*On fail goto*//*Label 1737*/ GIMT_Encode4(72443), // Rule ID 1884 //
27674 /* 72423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27675 /* 72426 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27676 /* 72429 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
27677 /* 72432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27678 /* 72436 */ // (fmaxnum:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs) => (MAX_D:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27679 /* 72436 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_D),
27680 /* 72441 */ GIR_RootConstrainSelectedInstOperands,
27681 /* 72442 */ // GIR_Coverage, 1884,
27682 /* 72442 */ GIR_Done,
27683 /* 72443 */ // Label 1737: @72443
27684 /* 72443 */ GIM_Reject,
27685 /* 72444 */ // Label 1735: @72444
27686 /* 72444 */ GIM_Reject,
27687 /* 72445 */ // Label 64: @72445
27688 /* 72445 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1740*/ GIMT_Encode4(72516),
27689 /* 72456 */ /*GILLT_s32*//*Label 1738*/ GIMT_Encode4(72464),
27690 /* 72460 */ /*GILLT_s64*//*Label 1739*/ GIMT_Encode4(72490),
27691 /* 72464 */ // Label 1738: @72464
27692 /* 72464 */ GIM_Try, /*On fail goto*//*Label 1741*/ GIMT_Encode4(72489), // Rule ID 1885 //
27693 /* 72469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27694 /* 72472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27695 /* 72475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
27696 /* 72478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27697 /* 72482 */ // (fminnum_ieee:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs) => (MIN_S:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27698 /* 72482 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S),
27699 /* 72487 */ GIR_RootConstrainSelectedInstOperands,
27700 /* 72488 */ // GIR_Coverage, 1885,
27701 /* 72488 */ GIR_Done,
27702 /* 72489 */ // Label 1741: @72489
27703 /* 72489 */ GIM_Reject,
27704 /* 72490 */ // Label 1739: @72490
27705 /* 72490 */ GIM_Try, /*On fail goto*//*Label 1742*/ GIMT_Encode4(72515), // Rule ID 1887 //
27706 /* 72495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27707 /* 72498 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27708 /* 72501 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
27709 /* 72504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27710 /* 72508 */ // (fminnum_ieee:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs) => (MIN_D:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27711 /* 72508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_D),
27712 /* 72513 */ GIR_RootConstrainSelectedInstOperands,
27713 /* 72514 */ // GIR_Coverage, 1887,
27714 /* 72514 */ GIR_Done,
27715 /* 72515 */ // Label 1742: @72515
27716 /* 72515 */ GIM_Reject,
27717 /* 72516 */ // Label 1740: @72516
27718 /* 72516 */ GIM_Reject,
27719 /* 72517 */ // Label 65: @72517
27720 /* 72517 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1745*/ GIMT_Encode4(72588),
27721 /* 72528 */ /*GILLT_s32*//*Label 1743*/ GIMT_Encode4(72536),
27722 /* 72532 */ /*GILLT_s64*//*Label 1744*/ GIMT_Encode4(72562),
27723 /* 72536 */ // Label 1743: @72536
27724 /* 72536 */ GIM_Try, /*On fail goto*//*Label 1746*/ GIMT_Encode4(72561), // Rule ID 1881 //
27725 /* 72541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27726 /* 72544 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
27727 /* 72547 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
27728 /* 72550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
27729 /* 72554 */ // (fmaxnum_ieee:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs) => (MAX_S:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27730 /* 72554 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S),
27731 /* 72559 */ GIR_RootConstrainSelectedInstOperands,
27732 /* 72560 */ // GIR_Coverage, 1881,
27733 /* 72560 */ GIR_Done,
27734 /* 72561 */ // Label 1746: @72561
27735 /* 72561 */ GIM_Reject,
27736 /* 72562 */ // Label 1744: @72562
27737 /* 72562 */ GIM_Try, /*On fail goto*//*Label 1747*/ GIMT_Encode4(72587), // Rule ID 1883 //
27738 /* 72567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
27739 /* 72570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
27740 /* 72573 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
27741 /* 72576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
27742 /* 72580 */ // (fmaxnum_ieee:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs) => (MAX_D:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27743 /* 72580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_D),
27744 /* 72585 */ GIR_RootConstrainSelectedInstOperands,
27745 /* 72586 */ // GIR_Coverage, 1883,
27746 /* 72586 */ GIR_Done,
27747 /* 72587 */ // Label 1747: @72587
27748 /* 72587 */ GIM_Reject,
27749 /* 72588 */ // Label 1745: @72588
27750 /* 72588 */ GIM_Reject,
27751 /* 72589 */ // Label 66: @72589
27752 /* 72589 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(9), /*)*//*default:*//*Label 1752*/ GIMT_Encode4(72756),
27753 /* 72600 */ /*GILLT_v2s64*//*Label 1748*/ GIMT_Encode4(72620), GIMT_Encode4(0),
27754 /* 72608 */ /*GILLT_v4s32*//*Label 1749*/ GIMT_Encode4(72654),
27755 /* 72612 */ /*GILLT_v8s16*//*Label 1750*/ GIMT_Encode4(72688),
27756 /* 72616 */ /*GILLT_v16s8*//*Label 1751*/ GIMT_Encode4(72722),
27757 /* 72620 */ // Label 1748: @72620
27758 /* 72620 */ GIM_Try, /*On fail goto*//*Label 1753*/ GIMT_Encode4(72653), // Rule ID 946 //
27759 /* 72625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27760 /* 72628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27761 /* 72631 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
27762 /* 72634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27763 /* 72638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27764 /* 72642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27765 /* 72646 */ // (smin:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MIN_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
27766 /* 72646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S_D),
27767 /* 72651 */ GIR_RootConstrainSelectedInstOperands,
27768 /* 72652 */ // GIR_Coverage, 946,
27769 /* 72652 */ GIR_Done,
27770 /* 72653 */ // Label 1753: @72653
27771 /* 72653 */ GIM_Reject,
27772 /* 72654 */ // Label 1749: @72654
27773 /* 72654 */ GIM_Try, /*On fail goto*//*Label 1754*/ GIMT_Encode4(72687), // Rule ID 945 //
27774 /* 72659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27775 /* 72662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27776 /* 72665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
27777 /* 72668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27778 /* 72672 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27779 /* 72676 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27780 /* 72680 */ // (smin:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MIN_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
27781 /* 72680 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S_W),
27782 /* 72685 */ GIR_RootConstrainSelectedInstOperands,
27783 /* 72686 */ // GIR_Coverage, 945,
27784 /* 72686 */ GIR_Done,
27785 /* 72687 */ // Label 1754: @72687
27786 /* 72687 */ GIM_Reject,
27787 /* 72688 */ // Label 1750: @72688
27788 /* 72688 */ GIM_Try, /*On fail goto*//*Label 1755*/ GIMT_Encode4(72721), // Rule ID 944 //
27789 /* 72693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27790 /* 72696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
27791 /* 72699 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
27792 /* 72702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27793 /* 72706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27794 /* 72710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27795 /* 72714 */ // (smin:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MIN_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
27796 /* 72714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S_H),
27797 /* 72719 */ GIR_RootConstrainSelectedInstOperands,
27798 /* 72720 */ // GIR_Coverage, 944,
27799 /* 72720 */ GIR_Done,
27800 /* 72721 */ // Label 1755: @72721
27801 /* 72721 */ GIM_Reject,
27802 /* 72722 */ // Label 1751: @72722
27803 /* 72722 */ GIM_Try, /*On fail goto*//*Label 1756*/ GIMT_Encode4(72755), // Rule ID 943 //
27804 /* 72727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27805 /* 72730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
27806 /* 72733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
27807 /* 72736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27808 /* 72740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27809 /* 72744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27810 /* 72748 */ // (smin:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MIN_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
27811 /* 72748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S_B),
27812 /* 72753 */ GIR_RootConstrainSelectedInstOperands,
27813 /* 72754 */ // GIR_Coverage, 943,
27814 /* 72754 */ GIR_Done,
27815 /* 72755 */ // Label 1756: @72755
27816 /* 72755 */ GIM_Reject,
27817 /* 72756 */ // Label 1752: @72756
27818 /* 72756 */ GIM_Reject,
27819 /* 72757 */ // Label 67: @72757
27820 /* 72757 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(9), /*)*//*default:*//*Label 1761*/ GIMT_Encode4(72924),
27821 /* 72768 */ /*GILLT_v2s64*//*Label 1757*/ GIMT_Encode4(72788), GIMT_Encode4(0),
27822 /* 72776 */ /*GILLT_v4s32*//*Label 1758*/ GIMT_Encode4(72822),
27823 /* 72780 */ /*GILLT_v8s16*//*Label 1759*/ GIMT_Encode4(72856),
27824 /* 72784 */ /*GILLT_v16s8*//*Label 1760*/ GIMT_Encode4(72890),
27825 /* 72788 */ // Label 1757: @72788
27826 /* 72788 */ GIM_Try, /*On fail goto*//*Label 1762*/ GIMT_Encode4(72821), // Rule ID 926 //
27827 /* 72793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27828 /* 72796 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27829 /* 72799 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
27830 /* 72802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27831 /* 72806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27832 /* 72810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27833 /* 72814 */ // (smax:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MAX_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
27834 /* 72814 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S_D),
27835 /* 72819 */ GIR_RootConstrainSelectedInstOperands,
27836 /* 72820 */ // GIR_Coverage, 926,
27837 /* 72820 */ GIR_Done,
27838 /* 72821 */ // Label 1762: @72821
27839 /* 72821 */ GIM_Reject,
27840 /* 72822 */ // Label 1758: @72822
27841 /* 72822 */ GIM_Try, /*On fail goto*//*Label 1763*/ GIMT_Encode4(72855), // Rule ID 925 //
27842 /* 72827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27843 /* 72830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27844 /* 72833 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
27845 /* 72836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27846 /* 72840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27847 /* 72844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27848 /* 72848 */ // (smax:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MAX_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
27849 /* 72848 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S_W),
27850 /* 72853 */ GIR_RootConstrainSelectedInstOperands,
27851 /* 72854 */ // GIR_Coverage, 925,
27852 /* 72854 */ GIR_Done,
27853 /* 72855 */ // Label 1763: @72855
27854 /* 72855 */ GIM_Reject,
27855 /* 72856 */ // Label 1759: @72856
27856 /* 72856 */ GIM_Try, /*On fail goto*//*Label 1764*/ GIMT_Encode4(72889), // Rule ID 924 //
27857 /* 72861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27858 /* 72864 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
27859 /* 72867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
27860 /* 72870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27861 /* 72874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27862 /* 72878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27863 /* 72882 */ // (smax:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MAX_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
27864 /* 72882 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S_H),
27865 /* 72887 */ GIR_RootConstrainSelectedInstOperands,
27866 /* 72888 */ // GIR_Coverage, 924,
27867 /* 72888 */ GIR_Done,
27868 /* 72889 */ // Label 1764: @72889
27869 /* 72889 */ GIM_Reject,
27870 /* 72890 */ // Label 1760: @72890
27871 /* 72890 */ GIM_Try, /*On fail goto*//*Label 1765*/ GIMT_Encode4(72923), // Rule ID 923 //
27872 /* 72895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27873 /* 72898 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
27874 /* 72901 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
27875 /* 72904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27876 /* 72908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27877 /* 72912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27878 /* 72916 */ // (smax:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MAX_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
27879 /* 72916 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S_B),
27880 /* 72921 */ GIR_RootConstrainSelectedInstOperands,
27881 /* 72922 */ // GIR_Coverage, 923,
27882 /* 72922 */ GIR_Done,
27883 /* 72923 */ // Label 1765: @72923
27884 /* 72923 */ GIM_Reject,
27885 /* 72924 */ // Label 1761: @72924
27886 /* 72924 */ GIM_Reject,
27887 /* 72925 */ // Label 68: @72925
27888 /* 72925 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(9), /*)*//*default:*//*Label 1770*/ GIMT_Encode4(73092),
27889 /* 72936 */ /*GILLT_v2s64*//*Label 1766*/ GIMT_Encode4(72956), GIMT_Encode4(0),
27890 /* 72944 */ /*GILLT_v4s32*//*Label 1767*/ GIMT_Encode4(72990),
27891 /* 72948 */ /*GILLT_v8s16*//*Label 1768*/ GIMT_Encode4(73024),
27892 /* 72952 */ /*GILLT_v16s8*//*Label 1769*/ GIMT_Encode4(73058),
27893 /* 72956 */ // Label 1766: @72956
27894 /* 72956 */ GIM_Try, /*On fail goto*//*Label 1771*/ GIMT_Encode4(72989), // Rule ID 950 //
27895 /* 72961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27896 /* 72964 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27897 /* 72967 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
27898 /* 72970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27899 /* 72974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27900 /* 72978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27901 /* 72982 */ // (umin:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MIN_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
27902 /* 72982 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_U_D),
27903 /* 72987 */ GIR_RootConstrainSelectedInstOperands,
27904 /* 72988 */ // GIR_Coverage, 950,
27905 /* 72988 */ GIR_Done,
27906 /* 72989 */ // Label 1771: @72989
27907 /* 72989 */ GIM_Reject,
27908 /* 72990 */ // Label 1767: @72990
27909 /* 72990 */ GIM_Try, /*On fail goto*//*Label 1772*/ GIMT_Encode4(73023), // Rule ID 949 //
27910 /* 72995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27911 /* 72998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27912 /* 73001 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
27913 /* 73004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27914 /* 73008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27915 /* 73012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27916 /* 73016 */ // (umin:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MIN_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
27917 /* 73016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_U_W),
27918 /* 73021 */ GIR_RootConstrainSelectedInstOperands,
27919 /* 73022 */ // GIR_Coverage, 949,
27920 /* 73022 */ GIR_Done,
27921 /* 73023 */ // Label 1772: @73023
27922 /* 73023 */ GIM_Reject,
27923 /* 73024 */ // Label 1768: @73024
27924 /* 73024 */ GIM_Try, /*On fail goto*//*Label 1773*/ GIMT_Encode4(73057), // Rule ID 948 //
27925 /* 73029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27926 /* 73032 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
27927 /* 73035 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
27928 /* 73038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27929 /* 73042 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27930 /* 73046 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27931 /* 73050 */ // (umin:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MIN_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
27932 /* 73050 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_U_H),
27933 /* 73055 */ GIR_RootConstrainSelectedInstOperands,
27934 /* 73056 */ // GIR_Coverage, 948,
27935 /* 73056 */ GIR_Done,
27936 /* 73057 */ // Label 1773: @73057
27937 /* 73057 */ GIM_Reject,
27938 /* 73058 */ // Label 1769: @73058
27939 /* 73058 */ GIM_Try, /*On fail goto*//*Label 1774*/ GIMT_Encode4(73091), // Rule ID 947 //
27940 /* 73063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27941 /* 73066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
27942 /* 73069 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
27943 /* 73072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27944 /* 73076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27945 /* 73080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
27946 /* 73084 */ // (umin:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MIN_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
27947 /* 73084 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_U_B),
27948 /* 73089 */ GIR_RootConstrainSelectedInstOperands,
27949 /* 73090 */ // GIR_Coverage, 947,
27950 /* 73090 */ GIR_Done,
27951 /* 73091 */ // Label 1774: @73091
27952 /* 73091 */ GIM_Reject,
27953 /* 73092 */ // Label 1770: @73092
27954 /* 73092 */ GIM_Reject,
27955 /* 73093 */ // Label 69: @73093
27956 /* 73093 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(9), /*)*//*default:*//*Label 1779*/ GIMT_Encode4(73260),
27957 /* 73104 */ /*GILLT_v2s64*//*Label 1775*/ GIMT_Encode4(73124), GIMT_Encode4(0),
27958 /* 73112 */ /*GILLT_v4s32*//*Label 1776*/ GIMT_Encode4(73158),
27959 /* 73116 */ /*GILLT_v8s16*//*Label 1777*/ GIMT_Encode4(73192),
27960 /* 73120 */ /*GILLT_v16s8*//*Label 1778*/ GIMT_Encode4(73226),
27961 /* 73124 */ // Label 1775: @73124
27962 /* 73124 */ GIM_Try, /*On fail goto*//*Label 1780*/ GIMT_Encode4(73157), // Rule ID 930 //
27963 /* 73129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27964 /* 73132 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
27965 /* 73135 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
27966 /* 73138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27967 /* 73142 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27968 /* 73146 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
27969 /* 73150 */ // (umax:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MAX_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
27970 /* 73150 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_U_D),
27971 /* 73155 */ GIR_RootConstrainSelectedInstOperands,
27972 /* 73156 */ // GIR_Coverage, 930,
27973 /* 73156 */ GIR_Done,
27974 /* 73157 */ // Label 1780: @73157
27975 /* 73157 */ GIM_Reject,
27976 /* 73158 */ // Label 1776: @73158
27977 /* 73158 */ GIM_Try, /*On fail goto*//*Label 1781*/ GIMT_Encode4(73191), // Rule ID 929 //
27978 /* 73163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27979 /* 73166 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
27980 /* 73169 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
27981 /* 73172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27982 /* 73176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27983 /* 73180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
27984 /* 73184 */ // (umax:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MAX_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
27985 /* 73184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_U_W),
27986 /* 73189 */ GIR_RootConstrainSelectedInstOperands,
27987 /* 73190 */ // GIR_Coverage, 929,
27988 /* 73190 */ GIR_Done,
27989 /* 73191 */ // Label 1781: @73191
27990 /* 73191 */ GIM_Reject,
27991 /* 73192 */ // Label 1777: @73192
27992 /* 73192 */ GIM_Try, /*On fail goto*//*Label 1782*/ GIMT_Encode4(73225), // Rule ID 928 //
27993 /* 73197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
27994 /* 73200 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
27995 /* 73203 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
27996 /* 73206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27997 /* 73210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27998 /* 73214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
27999 /* 73218 */ // (umax:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MAX_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
28000 /* 73218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_U_H),
28001 /* 73223 */ GIR_RootConstrainSelectedInstOperands,
28002 /* 73224 */ // GIR_Coverage, 928,
28003 /* 73224 */ GIR_Done,
28004 /* 73225 */ // Label 1782: @73225
28005 /* 73225 */ GIM_Reject,
28006 /* 73226 */ // Label 1778: @73226
28007 /* 73226 */ GIM_Try, /*On fail goto*//*Label 1783*/ GIMT_Encode4(73259), // Rule ID 927 //
28008 /* 73231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28009 /* 73234 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
28010 /* 73237 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
28011 /* 73240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28012 /* 73244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28013 /* 73248 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28014 /* 73252 */ // (umax:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MAX_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
28015 /* 73252 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_U_B),
28016 /* 73257 */ GIR_RootConstrainSelectedInstOperands,
28017 /* 73258 */ // GIR_Coverage, 927,
28018 /* 73258 */ GIR_Done,
28019 /* 73259 */ // Label 1783: @73259
28020 /* 73259 */ GIM_Reject,
28021 /* 73260 */ // Label 1779: @73260
28022 /* 73260 */ GIM_Reject,
28023 /* 73261 */ // Label 70: @73261
28024 /* 73261 */ GIM_Try, /*On fail goto*//*Label 1784*/ GIMT_Encode4(73384),
28025 /* 73266 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/0,
28026 /* 73269 */ GIM_Try, /*On fail goto*//*Label 1785*/ GIMT_Encode4(73290), // Rule ID 91 //
28027 /* 73274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips_RelocNotPIC),
28028 /* 73277 */ // (br (bb:{ *:[Other] }):$target) => (J (bb:{ *:[Other] }):$target)
28029 /* 73277 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::J),
28030 /* 73282 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
28031 /* 73288 */ GIR_RootConstrainSelectedInstOperands,
28032 /* 73289 */ // GIR_Coverage, 91,
28033 /* 73289 */ GIR_Done,
28034 /* 73290 */ // Label 1785: @73290
28035 /* 73290 */ GIM_Try, /*On fail goto*//*Label 1786*/ GIMT_Encode4(73311), // Rule ID 98 //
28036 /* 73295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
28037 /* 73298 */ // (br (bb:{ *:[Other] }):$offset) => (B (bb:{ *:[Other] }):$offset)
28038 /* 73298 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::B),
28039 /* 73303 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
28040 /* 73309 */ GIR_RootConstrainSelectedInstOperands,
28041 /* 73310 */ // GIR_Coverage, 98,
28042 /* 73310 */ GIR_Done,
28043 /* 73311 */ // Label 1786: @73311
28044 /* 73311 */ GIM_Try, /*On fail goto*//*Label 1787*/ GIMT_Encode4(73332), // Rule ID 1179 //
28045 /* 73316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6_RelocNotPIC),
28046 /* 73319 */ // (br (bb:{ *:[Other] }):$target) => (J_MM (bb:{ *:[Other] }):$target)
28047 /* 73319 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::J_MM),
28048 /* 73324 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
28049 /* 73330 */ GIR_RootConstrainSelectedInstOperands,
28050 /* 73331 */ // GIR_Coverage, 1179,
28051 /* 73331 */ GIR_Done,
28052 /* 73332 */ // Label 1787: @73332
28053 /* 73332 */ GIM_Try, /*On fail goto*//*Label 1788*/ GIMT_Encode4(73353), // Rule ID 1188 //
28054 /* 73337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6_RelocPIC),
28055 /* 73340 */ // (br (bb:{ *:[Other] }):$offset) => (B_MM (bb:{ *:[Other] }):$offset)
28056 /* 73340 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::B_MM),
28057 /* 73345 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
28058 /* 73351 */ GIR_RootConstrainSelectedInstOperands,
28059 /* 73352 */ // GIR_Coverage, 1188,
28060 /* 73352 */ GIR_Done,
28061 /* 73353 */ // Label 1788: @73353
28062 /* 73353 */ GIM_Try, /*On fail goto*//*Label 1789*/ GIMT_Encode4(73368), // Rule ID 1246 //
28063 /* 73358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
28064 /* 73361 */ // (br (bb:{ *:[Other] }):$offset) => (BC_MMR6 (bb:{ *:[Other] }):$offset)
28065 /* 73361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BC_MMR6),
28066 /* 73366 */ GIR_RootConstrainSelectedInstOperands,
28067 /* 73367 */ // GIR_Coverage, 1246,
28068 /* 73367 */ GIR_Done,
28069 /* 73368 */ // Label 1789: @73368
28070 /* 73368 */ GIM_Try, /*On fail goto*//*Label 1790*/ GIMT_Encode4(73383), // Rule ID 1994 //
28071 /* 73373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
28072 /* 73376 */ // (br (bb:{ *:[Other] }):$imm16) => (Bimm16 (bb:{ *:[Other] }):$imm16)
28073 /* 73376 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::Bimm16),
28074 /* 73381 */ GIR_RootConstrainSelectedInstOperands,
28075 /* 73382 */ // GIR_Coverage, 1994,
28076 /* 73382 */ GIR_Done,
28077 /* 73383 */ // Label 1790: @73383
28078 /* 73383 */ GIM_Reject,
28079 /* 73384 */ // Label 1784: @73384
28080 /* 73384 */ GIM_Reject,
28081 /* 73385 */ // Label 71: @73385
28082 /* 73385 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(9), /*)*//*default:*//*Label 1795*/ GIMT_Encode4(73948),
28083 /* 73396 */ /*GILLT_v2s64*//*Label 1791*/ GIMT_Encode4(73416), GIMT_Encode4(0),
28084 /* 73404 */ /*GILLT_v4s32*//*Label 1792*/ GIMT_Encode4(73589),
28085 /* 73408 */ /*GILLT_v8s16*//*Label 1793*/ GIMT_Encode4(73762),
28086 /* 73412 */ /*GILLT_v16s8*//*Label 1794*/ GIMT_Encode4(73855),
28087 /* 73416 */ // Label 1791: @73416
28088 /* 73416 */ GIM_Try, /*On fail goto*//*Label 1796*/ GIMT_Encode4(73588),
28089 /* 73421 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
28090 /* 73424 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
28091 /* 73427 */ GIM_Try, /*On fail goto*//*Label 1797*/ GIMT_Encode4(73467), // Rule ID 896 //
28092 /* 73432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28093 /* 73435 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
28094 /* 73438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28095 /* 73442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28096 /* 73446 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28097 /* 73450 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28098 /* 73454 */ // (vector_insert:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, GPR64Opnd:{ *:[i64] }:$fs, GPR32Opnd:{ *:[i32] }:$n) => (INSERT_D_VIDX_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, GPR32Opnd:{ *:[i32] }:$n, GPR64Opnd:{ *:[i64] }:$fs)
28099 /* 73454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_D_VIDX_PSEUDO),
28100 /* 73457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28101 /* 73459 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28102 /* 73461 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28103 /* 73463 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28104 /* 73465 */ GIR_RootConstrainSelectedInstOperands,
28105 /* 73466 */ // GIR_Coverage, 896,
28106 /* 73466 */ GIR_EraseRootFromParent_Done,
28107 /* 73467 */ // Label 1797: @73467
28108 /* 73467 */ GIM_Try, /*On fail goto*//*Label 1798*/ GIMT_Encode4(73507), // Rule ID 898 //
28109 /* 73472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28110 /* 73475 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
28111 /* 73478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28112 /* 73482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28113 /* 73486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28114 /* 73490 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28115 /* 73494 */ // (vector_insert:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd_in, FGR64Opnd:{ *:[f64] }:$fs, GPR32Opnd:{ *:[i32] }:$n) => (INSERT_FD_VIDX_PSEUDO:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd_in, GPR32Opnd:{ *:[i32] }:$n, FGR64Opnd:{ *:[f64] }:$fs)
28116 /* 73494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_FD_VIDX_PSEUDO),
28117 /* 73497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28118 /* 73499 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28119 /* 73501 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28120 /* 73503 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28121 /* 73505 */ GIR_RootConstrainSelectedInstOperands,
28122 /* 73506 */ // GIR_Coverage, 898,
28123 /* 73506 */ GIR_EraseRootFromParent_Done,
28124 /* 73507 */ // Label 1798: @73507
28125 /* 73507 */ GIM_Try, /*On fail goto*//*Label 1799*/ GIMT_Encode4(73547), // Rule ID 902 //
28126 /* 73512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28127 /* 73515 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
28128 /* 73518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28129 /* 73522 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28130 /* 73526 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28131 /* 73530 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28132 /* 73534 */ // (vector_insert:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, GPR64Opnd:{ *:[i64] }:$fs, GPR64Opnd:{ *:[i64] }:$n) => (INSERT_D_VIDX64_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, GPR64Opnd:{ *:[i64] }:$n, GPR64Opnd:{ *:[i64] }:$fs)
28133 /* 73534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_D_VIDX64_PSEUDO),
28134 /* 73537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28135 /* 73539 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28136 /* 73541 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28137 /* 73543 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28138 /* 73545 */ GIR_RootConstrainSelectedInstOperands,
28139 /* 73546 */ // GIR_Coverage, 902,
28140 /* 73546 */ GIR_EraseRootFromParent_Done,
28141 /* 73547 */ // Label 1799: @73547
28142 /* 73547 */ GIM_Try, /*On fail goto*//*Label 1800*/ GIMT_Encode4(73587), // Rule ID 904 //
28143 /* 73552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28144 /* 73555 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
28145 /* 73558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28146 /* 73562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28147 /* 73566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28148 /* 73570 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28149 /* 73574 */ // (vector_insert:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd_in, FGR64Opnd:{ *:[f64] }:$fs, GPR64Opnd:{ *:[i64] }:$n) => (INSERT_FD_VIDX64_PSEUDO:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd_in, GPR64Opnd:{ *:[i64] }:$n, FGR64Opnd:{ *:[f64] }:$fs)
28150 /* 73574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_FD_VIDX64_PSEUDO),
28151 /* 73577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28152 /* 73579 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28153 /* 73581 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28154 /* 73583 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28155 /* 73585 */ GIR_RootConstrainSelectedInstOperands,
28156 /* 73586 */ // GIR_Coverage, 904,
28157 /* 73586 */ GIR_EraseRootFromParent_Done,
28158 /* 73587 */ // Label 1800: @73587
28159 /* 73587 */ GIM_Reject,
28160 /* 73588 */ // Label 1796: @73588
28161 /* 73588 */ GIM_Reject,
28162 /* 73589 */ // Label 1792: @73589
28163 /* 73589 */ GIM_Try, /*On fail goto*//*Label 1801*/ GIMT_Encode4(73761),
28164 /* 73594 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
28165 /* 73597 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
28166 /* 73600 */ GIM_Try, /*On fail goto*//*Label 1802*/ GIMT_Encode4(73640), // Rule ID 895 //
28167 /* 73605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28168 /* 73608 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
28169 /* 73611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28170 /* 73615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28171 /* 73619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28172 /* 73623 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28173 /* 73627 */ // (vector_insert:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, GPR32Opnd:{ *:[i32] }:$fs, GPR32Opnd:{ *:[i32] }:$n) => (INSERT_W_VIDX_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, GPR32Opnd:{ *:[i32] }:$n, GPR32Opnd:{ *:[i32] }:$fs)
28174 /* 73627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_W_VIDX_PSEUDO),
28175 /* 73630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28176 /* 73632 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28177 /* 73634 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28178 /* 73636 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28179 /* 73638 */ GIR_RootConstrainSelectedInstOperands,
28180 /* 73639 */ // GIR_Coverage, 895,
28181 /* 73639 */ GIR_EraseRootFromParent_Done,
28182 /* 73640 */ // Label 1802: @73640
28183 /* 73640 */ GIM_Try, /*On fail goto*//*Label 1803*/ GIMT_Encode4(73680), // Rule ID 897 //
28184 /* 73645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28185 /* 73648 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
28186 /* 73651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28187 /* 73655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28188 /* 73659 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28189 /* 73663 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28190 /* 73667 */ // (vector_insert:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd_in, FGR32Opnd:{ *:[f32] }:$fs, GPR32Opnd:{ *:[i32] }:$n) => (INSERT_FW_VIDX_PSEUDO:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd_in, GPR32Opnd:{ *:[i32] }:$n, FGR32Opnd:{ *:[f32] }:$fs)
28191 /* 73667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_FW_VIDX_PSEUDO),
28192 /* 73670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28193 /* 73672 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28194 /* 73674 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28195 /* 73676 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28196 /* 73678 */ GIR_RootConstrainSelectedInstOperands,
28197 /* 73679 */ // GIR_Coverage, 897,
28198 /* 73679 */ GIR_EraseRootFromParent_Done,
28199 /* 73680 */ // Label 1803: @73680
28200 /* 73680 */ GIM_Try, /*On fail goto*//*Label 1804*/ GIMT_Encode4(73720), // Rule ID 901 //
28201 /* 73685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28202 /* 73688 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
28203 /* 73691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28204 /* 73695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28205 /* 73699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28206 /* 73703 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28207 /* 73707 */ // (vector_insert:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, GPR32Opnd:{ *:[i32] }:$fs, GPR64Opnd:{ *:[i64] }:$n) => (INSERT_W_VIDX64_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, GPR64Opnd:{ *:[i64] }:$n, GPR32Opnd:{ *:[i32] }:$fs)
28208 /* 73707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_W_VIDX64_PSEUDO),
28209 /* 73710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28210 /* 73712 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28211 /* 73714 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28212 /* 73716 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28213 /* 73718 */ GIR_RootConstrainSelectedInstOperands,
28214 /* 73719 */ // GIR_Coverage, 901,
28215 /* 73719 */ GIR_EraseRootFromParent_Done,
28216 /* 73720 */ // Label 1804: @73720
28217 /* 73720 */ GIM_Try, /*On fail goto*//*Label 1805*/ GIMT_Encode4(73760), // Rule ID 903 //
28218 /* 73725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28219 /* 73728 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
28220 /* 73731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28221 /* 73735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28222 /* 73739 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28223 /* 73743 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28224 /* 73747 */ // (vector_insert:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd_in, FGR32Opnd:{ *:[f32] }:$fs, GPR64Opnd:{ *:[i64] }:$n) => (INSERT_FW_VIDX64_PSEUDO:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd_in, GPR64Opnd:{ *:[i64] }:$n, FGR32Opnd:{ *:[f32] }:$fs)
28225 /* 73747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_FW_VIDX64_PSEUDO),
28226 /* 73750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28227 /* 73752 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28228 /* 73754 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28229 /* 73756 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28230 /* 73758 */ GIR_RootConstrainSelectedInstOperands,
28231 /* 73759 */ // GIR_Coverage, 903,
28232 /* 73759 */ GIR_EraseRootFromParent_Done,
28233 /* 73760 */ // Label 1805: @73760
28234 /* 73760 */ GIM_Reject,
28235 /* 73761 */ // Label 1801: @73761
28236 /* 73761 */ GIM_Reject,
28237 /* 73762 */ // Label 1793: @73762
28238 /* 73762 */ GIM_Try, /*On fail goto*//*Label 1806*/ GIMT_Encode4(73854),
28239 /* 73767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
28240 /* 73770 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
28241 /* 73773 */ GIM_Try, /*On fail goto*//*Label 1807*/ GIMT_Encode4(73813), // Rule ID 894 //
28242 /* 73778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28243 /* 73781 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
28244 /* 73784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
28245 /* 73788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
28246 /* 73792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28247 /* 73796 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28248 /* 73800 */ // (vector_insert:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, GPR32Opnd:{ *:[i32] }:$fs, GPR32Opnd:{ *:[i32] }:$n) => (INSERT_H_VIDX_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, GPR32Opnd:{ *:[i32] }:$n, GPR32Opnd:{ *:[i32] }:$fs)
28249 /* 73800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_H_VIDX_PSEUDO),
28250 /* 73803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28251 /* 73805 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28252 /* 73807 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28253 /* 73809 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28254 /* 73811 */ GIR_RootConstrainSelectedInstOperands,
28255 /* 73812 */ // GIR_Coverage, 894,
28256 /* 73812 */ GIR_EraseRootFromParent_Done,
28257 /* 73813 */ // Label 1807: @73813
28258 /* 73813 */ GIM_Try, /*On fail goto*//*Label 1808*/ GIMT_Encode4(73853), // Rule ID 900 //
28259 /* 73818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28260 /* 73821 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
28261 /* 73824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
28262 /* 73828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
28263 /* 73832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28264 /* 73836 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28265 /* 73840 */ // (vector_insert:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, GPR32Opnd:{ *:[i32] }:$fs, GPR64Opnd:{ *:[i64] }:$n) => (INSERT_H_VIDX64_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, GPR64Opnd:{ *:[i64] }:$n, GPR32Opnd:{ *:[i32] }:$fs)
28266 /* 73840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_H_VIDX64_PSEUDO),
28267 /* 73843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28268 /* 73845 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28269 /* 73847 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28270 /* 73849 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28271 /* 73851 */ GIR_RootConstrainSelectedInstOperands,
28272 /* 73852 */ // GIR_Coverage, 900,
28273 /* 73852 */ GIR_EraseRootFromParent_Done,
28274 /* 73853 */ // Label 1808: @73853
28275 /* 73853 */ GIM_Reject,
28276 /* 73854 */ // Label 1806: @73854
28277 /* 73854 */ GIM_Reject,
28278 /* 73855 */ // Label 1794: @73855
28279 /* 73855 */ GIM_Try, /*On fail goto*//*Label 1809*/ GIMT_Encode4(73947),
28280 /* 73860 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
28281 /* 73863 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
28282 /* 73866 */ GIM_Try, /*On fail goto*//*Label 1810*/ GIMT_Encode4(73906), // Rule ID 893 //
28283 /* 73871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28284 /* 73874 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
28285 /* 73877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28286 /* 73881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28287 /* 73885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28288 /* 73889 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28289 /* 73893 */ // (vector_insert:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, GPR32Opnd:{ *:[i32] }:$fs, GPR32Opnd:{ *:[i32] }:$n) => (INSERT_B_VIDX_PSEUDO:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, GPR32Opnd:{ *:[i32] }:$n, GPR32Opnd:{ *:[i32] }:$fs)
28290 /* 73893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_B_VIDX_PSEUDO),
28291 /* 73896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28292 /* 73898 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28293 /* 73900 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28294 /* 73902 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28295 /* 73904 */ GIR_RootConstrainSelectedInstOperands,
28296 /* 73905 */ // GIR_Coverage, 893,
28297 /* 73905 */ GIR_EraseRootFromParent_Done,
28298 /* 73906 */ // Label 1810: @73906
28299 /* 73906 */ GIM_Try, /*On fail goto*//*Label 1811*/ GIMT_Encode4(73946), // Rule ID 899 //
28300 /* 73911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28301 /* 73914 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
28302 /* 73917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28303 /* 73921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28304 /* 73925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28305 /* 73929 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28306 /* 73933 */ // (vector_insert:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, GPR32Opnd:{ *:[i32] }:$fs, GPR64Opnd:{ *:[i64] }:$n) => (INSERT_B_VIDX64_PSEUDO:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, GPR64Opnd:{ *:[i64] }:$n, GPR32Opnd:{ *:[i32] }:$fs)
28307 /* 73933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_B_VIDX64_PSEUDO),
28308 /* 73936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
28309 /* 73938 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
28310 /* 73940 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
28311 /* 73942 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
28312 /* 73944 */ GIR_RootConstrainSelectedInstOperands,
28313 /* 73945 */ // GIR_Coverage, 899,
28314 /* 73945 */ GIR_EraseRootFromParent_Done,
28315 /* 73946 */ // Label 1811: @73946
28316 /* 73946 */ GIM_Reject,
28317 /* 73947 */ // Label 1809: @73947
28318 /* 73947 */ GIM_Reject,
28319 /* 73948 */ // Label 1795: @73948
28320 /* 73948 */ GIM_Reject,
28321 /* 73949 */ // Label 72: @73949
28322 /* 73949 */ GIM_Try, /*On fail goto*//*Label 1812*/ GIMT_Encode4(74000), // Rule ID 2121 //
28323 /* 73954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
28324 /* 73957 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
28325 /* 73960 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
28326 /* 73963 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
28327 /* 73966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28328 /* 73970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28329 /* 73974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
28330 /* 73978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28331 /* 73982 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
28332 /* 73986 */ // MIs[1] Operand 1
28333 /* 73986 */ // No operand predicates
28334 /* 73986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28335 /* 73988 */ // (extractelt:{ *:[i32] } MSA128W:{ *:[v4i32] }:$ws, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$idx) => (COPY_S_W:{ *:[i32] } MSA128W:{ *:[v4i32] }:$ws, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$idx)
28336 /* 73988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::COPY_S_W),
28337 /* 73991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28338 /* 73993 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
28339 /* 73995 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // idx
28340 /* 73998 */ GIR_RootConstrainSelectedInstOperands,
28341 /* 73999 */ // GIR_Coverage, 2121,
28342 /* 73999 */ GIR_EraseRootFromParent_Done,
28343 /* 74000 */ // Label 1812: @74000
28344 /* 74000 */ GIM_Reject,
28345 /* 74001 */ // Label 73: @74001
28346 /* 74001 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 1819*/ GIMT_Encode4(74505),
28347 /* 74012 */ /*GILLT_s32*//*Label 1813*/ GIMT_Encode4(74044),
28348 /* 74016 */ /*GILLT_s64*//*Label 1814*/ GIMT_Encode4(74253), GIMT_Encode4(0),
28349 /* 74024 */ /*GILLT_v2s64*//*Label 1815*/ GIMT_Encode4(74397), GIMT_Encode4(0),
28350 /* 74032 */ /*GILLT_v4s32*//*Label 1816*/ GIMT_Encode4(74424),
28351 /* 74036 */ /*GILLT_v8s16*//*Label 1817*/ GIMT_Encode4(74451),
28352 /* 74040 */ /*GILLT_v16s8*//*Label 1818*/ GIMT_Encode4(74478),
28353 /* 74044 */ // Label 1813: @74044
28354 /* 74044 */ GIM_Try, /*On fail goto*//*Label 1820*/ GIMT_Encode4(74252),
28355 /* 74049 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
28356 /* 74052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28357 /* 74056 */ GIM_Try, /*On fail goto*//*Label 1821*/ GIMT_Encode4(74102), // Rule ID 109 //
28358 /* 74061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
28359 /* 74064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28360 /* 74068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28361 /* 74072 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
28362 /* 74076 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
28363 /* 74080 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28364 /* 74085 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
28365 /* 74089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28366 /* 74091 */ // (ctlz:{ *:[i32] } (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] })) => (CLO:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
28367 /* 74091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CLO),
28368 /* 74094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28369 /* 74096 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
28370 /* 74100 */ GIR_RootConstrainSelectedInstOperands,
28371 /* 74101 */ // GIR_Coverage, 109,
28372 /* 74101 */ GIR_EraseRootFromParent_Done,
28373 /* 74102 */ // Label 1821: @74102
28374 /* 74102 */ GIM_Try, /*On fail goto*//*Label 1822*/ GIMT_Encode4(74148), // Rule ID 385 //
28375 /* 74107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc),
28376 /* 74110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28377 /* 74114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28378 /* 74118 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
28379 /* 74122 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
28380 /* 74126 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28381 /* 74131 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
28382 /* 74135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28383 /* 74137 */ // (ctlz:{ *:[i32] } (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] })) => (CLO_R6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
28384 /* 74137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CLO_R6),
28385 /* 74140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28386 /* 74142 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
28387 /* 74146 */ GIR_RootConstrainSelectedInstOperands,
28388 /* 74147 */ // GIR_Coverage, 385,
28389 /* 74147 */ GIR_EraseRootFromParent_Done,
28390 /* 74148 */ // Label 1822: @74148
28391 /* 74148 */ GIM_Try, /*On fail goto*//*Label 1823*/ GIMT_Encode4(74194), // Rule ID 1175 //
28392 /* 74153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
28393 /* 74156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28394 /* 74160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28395 /* 74164 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
28396 /* 74168 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
28397 /* 74172 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28398 /* 74177 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
28399 /* 74181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28400 /* 74183 */ // (ctlz:{ *:[i32] } (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] })) => (CLO_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
28401 /* 74183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CLO_MM),
28402 /* 74186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28403 /* 74188 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
28404 /* 74192 */ GIR_RootConstrainSelectedInstOperands,
28405 /* 74193 */ // GIR_Coverage, 1175,
28406 /* 74193 */ GIR_EraseRootFromParent_Done,
28407 /* 74194 */ // Label 1823: @74194
28408 /* 74194 */ GIM_Try, /*On fail goto*//*Label 1824*/ GIMT_Encode4(74213), // Rule ID 108 //
28409 /* 74199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
28410 /* 74202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28411 /* 74206 */ // (ctlz:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs) => (CLZ:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
28412 /* 74206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CLZ),
28413 /* 74211 */ GIR_RootConstrainSelectedInstOperands,
28414 /* 74212 */ // GIR_Coverage, 108,
28415 /* 74212 */ GIR_Done,
28416 /* 74213 */ // Label 1824: @74213
28417 /* 74213 */ GIM_Try, /*On fail goto*//*Label 1825*/ GIMT_Encode4(74232), // Rule ID 386 //
28418 /* 74218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc),
28419 /* 74221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28420 /* 74225 */ // (ctlz:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs) => (CLZ_R6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
28421 /* 74225 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CLZ_R6),
28422 /* 74230 */ GIR_RootConstrainSelectedInstOperands,
28423 /* 74231 */ // GIR_Coverage, 386,
28424 /* 74231 */ GIR_Done,
28425 /* 74232 */ // Label 1825: @74232
28426 /* 74232 */ GIM_Try, /*On fail goto*//*Label 1826*/ GIMT_Encode4(74251), // Rule ID 1174 //
28427 /* 74237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
28428 /* 74240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28429 /* 74244 */ // (ctlz:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs) => (CLZ_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
28430 /* 74244 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CLZ_MM),
28431 /* 74249 */ GIR_RootConstrainSelectedInstOperands,
28432 /* 74250 */ // GIR_Coverage, 1174,
28433 /* 74250 */ GIR_Done,
28434 /* 74251 */ // Label 1826: @74251
28435 /* 74251 */ GIM_Reject,
28436 /* 74252 */ // Label 1820: @74252
28437 /* 74252 */ GIM_Reject,
28438 /* 74253 */ // Label 1814: @74253
28439 /* 74253 */ GIM_Try, /*On fail goto*//*Label 1827*/ GIMT_Encode4(74396),
28440 /* 74258 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
28441 /* 74261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28442 /* 74265 */ GIM_Try, /*On fail goto*//*Label 1828*/ GIMT_Encode4(74311), // Rule ID 339 //
28443 /* 74270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips64r6),
28444 /* 74273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28445 /* 74277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28446 /* 74281 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28447 /* 74285 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28448 /* 74289 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28449 /* 74294 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
28450 /* 74298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28451 /* 74300 */ // (ctlz:{ *:[i64] } (xor:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, -1:{ *:[i64] })) => (DCLO:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
28452 /* 74300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DCLO),
28453 /* 74303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28454 /* 74305 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
28455 /* 74309 */ GIR_RootConstrainSelectedInstOperands,
28456 /* 74310 */ // GIR_Coverage, 339,
28457 /* 74310 */ GIR_EraseRootFromParent_Done,
28458 /* 74311 */ // Label 1828: @74311
28459 /* 74311 */ GIM_Try, /*On fail goto*//*Label 1829*/ GIMT_Encode4(74357), // Rule ID 414 //
28460 /* 74316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
28461 /* 74319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28462 /* 74323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28463 /* 74327 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28464 /* 74331 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28465 /* 74335 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28466 /* 74340 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
28467 /* 74344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28468 /* 74346 */ // (ctlz:{ *:[i64] } (xor:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, -1:{ *:[i64] })) => (DCLO_R6:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
28469 /* 74346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DCLO_R6),
28470 /* 74349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28471 /* 74351 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
28472 /* 74355 */ GIR_RootConstrainSelectedInstOperands,
28473 /* 74356 */ // GIR_Coverage, 414,
28474 /* 74356 */ GIR_EraseRootFromParent_Done,
28475 /* 74357 */ // Label 1829: @74357
28476 /* 74357 */ GIM_Try, /*On fail goto*//*Label 1830*/ GIMT_Encode4(74376), // Rule ID 338 //
28477 /* 74362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips64r6),
28478 /* 74365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28479 /* 74369 */ // (ctlz:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs) => (DCLZ:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
28480 /* 74369 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DCLZ),
28481 /* 74374 */ GIR_RootConstrainSelectedInstOperands,
28482 /* 74375 */ // GIR_Coverage, 338,
28483 /* 74375 */ GIR_Done,
28484 /* 74376 */ // Label 1830: @74376
28485 /* 74376 */ GIM_Try, /*On fail goto*//*Label 1831*/ GIMT_Encode4(74395), // Rule ID 415 //
28486 /* 74381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
28487 /* 74384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28488 /* 74388 */ // (ctlz:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs) => (DCLZ_R6:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
28489 /* 74388 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DCLZ_R6),
28490 /* 74393 */ GIR_RootConstrainSelectedInstOperands,
28491 /* 74394 */ // GIR_Coverage, 415,
28492 /* 74394 */ GIR_Done,
28493 /* 74395 */ // Label 1831: @74395
28494 /* 74395 */ GIM_Reject,
28495 /* 74396 */ // Label 1827: @74396
28496 /* 74396 */ GIM_Reject,
28497 /* 74397 */ // Label 1815: @74397
28498 /* 74397 */ GIM_Try, /*On fail goto*//*Label 1832*/ GIMT_Encode4(74423), // Rule ID 990 //
28499 /* 74402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28500 /* 74405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
28501 /* 74408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28502 /* 74412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28503 /* 74416 */ // (ctlz:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws) => (NLZC_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
28504 /* 74416 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::NLZC_D),
28505 /* 74421 */ GIR_RootConstrainSelectedInstOperands,
28506 /* 74422 */ // GIR_Coverage, 990,
28507 /* 74422 */ GIR_Done,
28508 /* 74423 */ // Label 1832: @74423
28509 /* 74423 */ GIM_Reject,
28510 /* 74424 */ // Label 1816: @74424
28511 /* 74424 */ GIM_Try, /*On fail goto*//*Label 1833*/ GIMT_Encode4(74450), // Rule ID 989 //
28512 /* 74429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28513 /* 74432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
28514 /* 74435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28515 /* 74439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28516 /* 74443 */ // (ctlz:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws) => (NLZC_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
28517 /* 74443 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::NLZC_W),
28518 /* 74448 */ GIR_RootConstrainSelectedInstOperands,
28519 /* 74449 */ // GIR_Coverage, 989,
28520 /* 74449 */ GIR_Done,
28521 /* 74450 */ // Label 1833: @74450
28522 /* 74450 */ GIM_Reject,
28523 /* 74451 */ // Label 1817: @74451
28524 /* 74451 */ GIM_Try, /*On fail goto*//*Label 1834*/ GIMT_Encode4(74477), // Rule ID 988 //
28525 /* 74456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28526 /* 74459 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
28527 /* 74462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
28528 /* 74466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
28529 /* 74470 */ // (ctlz:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws) => (NLZC_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws)
28530 /* 74470 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::NLZC_H),
28531 /* 74475 */ GIR_RootConstrainSelectedInstOperands,
28532 /* 74476 */ // GIR_Coverage, 988,
28533 /* 74476 */ GIR_Done,
28534 /* 74477 */ // Label 1834: @74477
28535 /* 74477 */ GIM_Reject,
28536 /* 74478 */ // Label 1818: @74478
28537 /* 74478 */ GIM_Try, /*On fail goto*//*Label 1835*/ GIMT_Encode4(74504), // Rule ID 987 //
28538 /* 74483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28539 /* 74486 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
28540 /* 74489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28541 /* 74493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28542 /* 74497 */ // (ctlz:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws) => (NLZC_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws)
28543 /* 74497 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::NLZC_B),
28544 /* 74502 */ GIR_RootConstrainSelectedInstOperands,
28545 /* 74503 */ // GIR_Coverage, 987,
28546 /* 74503 */ GIR_Done,
28547 /* 74504 */ // Label 1835: @74504
28548 /* 74504 */ GIM_Reject,
28549 /* 74505 */ // Label 1819: @74505
28550 /* 74505 */ GIM_Reject,
28551 /* 74506 */ // Label 74: @74506
28552 /* 74506 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(9), /*)*//*default:*//*Label 1842*/ GIMT_Encode4(74711),
28553 /* 74517 */ /*GILLT_s32*//*Label 1836*/ GIMT_Encode4(74549),
28554 /* 74521 */ /*GILLT_s64*//*Label 1837*/ GIMT_Encode4(74576), GIMT_Encode4(0),
28555 /* 74529 */ /*GILLT_v2s64*//*Label 1838*/ GIMT_Encode4(74603), GIMT_Encode4(0),
28556 /* 74537 */ /*GILLT_v4s32*//*Label 1839*/ GIMT_Encode4(74630),
28557 /* 74541 */ /*GILLT_v8s16*//*Label 1840*/ GIMT_Encode4(74657),
28558 /* 74545 */ /*GILLT_v16s8*//*Label 1841*/ GIMT_Encode4(74684),
28559 /* 74549 */ // Label 1836: @74549
28560 /* 74549 */ GIM_Try, /*On fail goto*//*Label 1843*/ GIMT_Encode4(74575), // Rule ID 353 //
28561 /* 74554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
28562 /* 74557 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
28563 /* 74560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28564 /* 74564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28565 /* 74568 */ // (ctpop:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs) => (POP:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
28566 /* 74568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::POP),
28567 /* 74573 */ GIR_RootConstrainSelectedInstOperands,
28568 /* 74574 */ // GIR_Coverage, 353,
28569 /* 74574 */ GIR_Done,
28570 /* 74575 */ // Label 1843: @74575
28571 /* 74575 */ GIM_Reject,
28572 /* 74576 */ // Label 1837: @74576
28573 /* 74576 */ GIM_Try, /*On fail goto*//*Label 1844*/ GIMT_Encode4(74602), // Rule ID 354 //
28574 /* 74581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
28575 /* 74584 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
28576 /* 74587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28577 /* 74591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28578 /* 74595 */ // (ctpop:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs) => (DPOP:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
28579 /* 74595 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DPOP),
28580 /* 74600 */ GIR_RootConstrainSelectedInstOperands,
28581 /* 74601 */ // GIR_Coverage, 354,
28582 /* 74601 */ GIR_Done,
28583 /* 74602 */ // Label 1844: @74602
28584 /* 74602 */ GIM_Reject,
28585 /* 74603 */ // Label 1838: @74603
28586 /* 74603 */ GIM_Try, /*On fail goto*//*Label 1845*/ GIMT_Encode4(74629), // Rule ID 1012 //
28587 /* 74608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28588 /* 74611 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
28589 /* 74614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28590 /* 74618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28591 /* 74622 */ // (ctpop:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws) => (PCNT_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
28592 /* 74622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PCNT_D),
28593 /* 74627 */ GIR_RootConstrainSelectedInstOperands,
28594 /* 74628 */ // GIR_Coverage, 1012,
28595 /* 74628 */ GIR_Done,
28596 /* 74629 */ // Label 1845: @74629
28597 /* 74629 */ GIM_Reject,
28598 /* 74630 */ // Label 1839: @74630
28599 /* 74630 */ GIM_Try, /*On fail goto*//*Label 1846*/ GIMT_Encode4(74656), // Rule ID 1011 //
28600 /* 74635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28601 /* 74638 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
28602 /* 74641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28603 /* 74645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28604 /* 74649 */ // (ctpop:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws) => (PCNT_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
28605 /* 74649 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PCNT_W),
28606 /* 74654 */ GIR_RootConstrainSelectedInstOperands,
28607 /* 74655 */ // GIR_Coverage, 1011,
28608 /* 74655 */ GIR_Done,
28609 /* 74656 */ // Label 1846: @74656
28610 /* 74656 */ GIM_Reject,
28611 /* 74657 */ // Label 1840: @74657
28612 /* 74657 */ GIM_Try, /*On fail goto*//*Label 1847*/ GIMT_Encode4(74683), // Rule ID 1010 //
28613 /* 74662 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28614 /* 74665 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
28615 /* 74668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
28616 /* 74672 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
28617 /* 74676 */ // (ctpop:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws) => (PCNT_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws)
28618 /* 74676 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PCNT_H),
28619 /* 74681 */ GIR_RootConstrainSelectedInstOperands,
28620 /* 74682 */ // GIR_Coverage, 1010,
28621 /* 74682 */ GIR_Done,
28622 /* 74683 */ // Label 1847: @74683
28623 /* 74683 */ GIM_Reject,
28624 /* 74684 */ // Label 1841: @74684
28625 /* 74684 */ GIM_Try, /*On fail goto*//*Label 1848*/ GIMT_Encode4(74710), // Rule ID 1009 //
28626 /* 74689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28627 /* 74692 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
28628 /* 74695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28629 /* 74699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
28630 /* 74703 */ // (ctpop:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws) => (PCNT_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws)
28631 /* 74703 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PCNT_B),
28632 /* 74708 */ GIR_RootConstrainSelectedInstOperands,
28633 /* 74709 */ // GIR_Coverage, 1009,
28634 /* 74709 */ GIR_Done,
28635 /* 74710 */ // Label 1848: @74710
28636 /* 74710 */ GIM_Reject,
28637 /* 74711 */ // Label 1842: @74711
28638 /* 74711 */ GIM_Reject,
28639 /* 74712 */ // Label 75: @74712
28640 /* 74712 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1851*/ GIMT_Encode4(74875),
28641 /* 74723 */ /*GILLT_s32*//*Label 1849*/ GIMT_Encode4(74731),
28642 /* 74727 */ /*GILLT_s64*//*Label 1850*/ GIMT_Encode4(74827),
28643 /* 74731 */ // Label 1849: @74731
28644 /* 74731 */ GIM_Try, /*On fail goto*//*Label 1852*/ GIMT_Encode4(74826),
28645 /* 74736 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
28646 /* 74739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28647 /* 74743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
28648 /* 74747 */ GIM_Try, /*On fail goto*//*Label 1853*/ GIMT_Encode4(74786), // Rule ID 1502 //
28649 /* 74752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips),
28650 /* 74755 */ // (bswap:{ *:[i32] } GPR32:{ *:[i32] }:$rt) => (ROTR:{ *:[i32] } (WSBH:{ *:[i32] } GPR32:{ *:[i32] }:$rt), 16:{ *:[i32] })
28651 /* 74755 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
28652 /* 74758 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::WSBH),
28653 /* 74762 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28654 /* 74767 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // rt
28655 /* 74771 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
28656 /* 74773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ROTR),
28657 /* 74776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28658 /* 74778 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
28659 /* 74781 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/16,
28660 /* 74784 */ GIR_RootConstrainSelectedInstOperands,
28661 /* 74785 */ // GIR_Coverage, 1502,
28662 /* 74785 */ GIR_EraseRootFromParent_Done,
28663 /* 74786 */ // Label 1853: @74786
28664 /* 74786 */ GIM_Try, /*On fail goto*//*Label 1854*/ GIMT_Encode4(74825), // Rule ID 2318 //
28665 /* 74791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
28666 /* 74794 */ // (bswap:{ *:[i32] } GPR32:{ *:[i32] }:$rt) => (ROTR_MM:{ *:[i32] } (WSBH_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rt), 16:{ *:[i32] })
28667 /* 74794 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
28668 /* 74797 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::WSBH_MM),
28669 /* 74801 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28670 /* 74806 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // rt
28671 /* 74810 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
28672 /* 74812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ROTR_MM),
28673 /* 74815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28674 /* 74817 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
28675 /* 74820 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/16,
28676 /* 74823 */ GIR_RootConstrainSelectedInstOperands,
28677 /* 74824 */ // GIR_Coverage, 2318,
28678 /* 74824 */ GIR_EraseRootFromParent_Done,
28679 /* 74825 */ // Label 1854: @74825
28680 /* 74825 */ GIM_Reject,
28681 /* 74826 */ // Label 1852: @74826
28682 /* 74826 */ GIM_Reject,
28683 /* 74827 */ // Label 1850: @74827
28684 /* 74827 */ GIM_Try, /*On fail goto*//*Label 1855*/ GIMT_Encode4(74874), // Rule ID 1692 //
28685 /* 74832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r2_HasStdEnc),
28686 /* 74835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
28687 /* 74838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28688 /* 74842 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
28689 /* 74846 */ // (bswap:{ *:[i64] } GPR64:{ *:[i64] }:$rt) => (DSHD:{ *:[i64] } (DSBH:{ *:[i64] } GPR64:{ *:[i64] }:$rt))
28690 /* 74846 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
28691 /* 74849 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::DSBH),
28692 /* 74853 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28693 /* 74858 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // rt
28694 /* 74862 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
28695 /* 74864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSHD),
28696 /* 74867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
28697 /* 74869 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
28698 /* 74872 */ GIR_RootConstrainSelectedInstOperands,
28699 /* 74873 */ // GIR_Coverage, 1692,
28700 /* 74873 */ GIR_EraseRootFromParent_Done,
28701 /* 74874 */ // Label 1855: @74874
28702 /* 74874 */ GIM_Reject,
28703 /* 74875 */ // Label 1851: @74875
28704 /* 74875 */ GIM_Reject,
28705 /* 74876 */ // Label 76: @74876
28706 /* 74876 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(7), /*)*//*default:*//*Label 1860*/ GIMT_Encode4(75139),
28707 /* 74887 */ /*GILLT_s32*//*Label 1856*/ GIMT_Encode4(74911),
28708 /* 74891 */ /*GILLT_s64*//*Label 1857*/ GIMT_Encode4(74967), GIMT_Encode4(0),
28709 /* 74899 */ /*GILLT_v2s64*//*Label 1858*/ GIMT_Encode4(75085), GIMT_Encode4(0),
28710 /* 74907 */ /*GILLT_v4s32*//*Label 1859*/ GIMT_Encode4(75112),
28711 /* 74911 */ // Label 1856: @74911
28712 /* 74911 */ GIM_Try, /*On fail goto*//*Label 1861*/ GIMT_Encode4(74966),
28713 /* 74916 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
28714 /* 74919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28715 /* 74923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28716 /* 74927 */ GIM_Try, /*On fail goto*//*Label 1862*/ GIMT_Encode4(74946), // Rule ID 133 //
28717 /* 74932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
28718 /* 74935 */ // (fsqrt:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FSQRT_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
28719 /* 74935 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_S),
28720 /* 74940 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
28721 /* 74944 */ GIR_RootConstrainSelectedInstOperands,
28722 /* 74945 */ // GIR_Coverage, 133,
28723 /* 74945 */ GIR_Done,
28724 /* 74946 */ // Label 1862: @74946
28725 /* 74946 */ GIM_Try, /*On fail goto*//*Label 1863*/ GIMT_Encode4(74965), // Rule ID 1237 //
28726 /* 74951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
28727 /* 74954 */ // (fsqrt:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FSQRT_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
28728 /* 74954 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_S_MM),
28729 /* 74959 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
28730 /* 74963 */ GIR_RootConstrainSelectedInstOperands,
28731 /* 74964 */ // GIR_Coverage, 1237,
28732 /* 74964 */ GIR_Done,
28733 /* 74965 */ // Label 1863: @74965
28734 /* 74965 */ GIM_Reject,
28735 /* 74966 */ // Label 1861: @74966
28736 /* 74966 */ GIM_Reject,
28737 /* 74967 */ // Label 1857: @74967
28738 /* 74967 */ GIM_Try, /*On fail goto*//*Label 1864*/ GIMT_Encode4(75084),
28739 /* 74972 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
28740 /* 74975 */ GIM_Try, /*On fail goto*//*Label 1865*/ GIMT_Encode4(75002), // Rule ID 135 //
28741 /* 74980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
28742 /* 74983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28743 /* 74987 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28744 /* 74991 */ // (fsqrt:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
28745 /* 74991 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D32),
28746 /* 74996 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
28747 /* 75000 */ GIR_RootConstrainSelectedInstOperands,
28748 /* 75001 */ // GIR_Coverage, 135,
28749 /* 75001 */ GIR_Done,
28750 /* 75002 */ // Label 1865: @75002
28751 /* 75002 */ GIM_Try, /*On fail goto*//*Label 1866*/ GIMT_Encode4(75029), // Rule ID 137 //
28752 /* 75007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
28753 /* 75010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28754 /* 75014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28755 /* 75018 */ // (fsqrt:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
28756 /* 75018 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D64),
28757 /* 75023 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
28758 /* 75027 */ GIR_RootConstrainSelectedInstOperands,
28759 /* 75028 */ // GIR_Coverage, 137,
28760 /* 75028 */ GIR_Done,
28761 /* 75029 */ // Label 1866: @75029
28762 /* 75029 */ GIM_Try, /*On fail goto*//*Label 1867*/ GIMT_Encode4(75056), // Rule ID 1223 //
28763 /* 75034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit),
28764 /* 75037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28765 /* 75041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28766 /* 75045 */ // (fsqrt:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
28767 /* 75045 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D32_MM),
28768 /* 75050 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
28769 /* 75054 */ GIR_RootConstrainSelectedInstOperands,
28770 /* 75055 */ // GIR_Coverage, 1223,
28771 /* 75055 */ GIR_Done,
28772 /* 75056 */ // Label 1867: @75056
28773 /* 75056 */ GIM_Try, /*On fail goto*//*Label 1868*/ GIMT_Encode4(75083), // Rule ID 1224 //
28774 /* 75061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat),
28775 /* 75064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28776 /* 75068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28777 /* 75072 */ // (fsqrt:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
28778 /* 75072 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D64_MM),
28779 /* 75077 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
28780 /* 75081 */ GIR_RootConstrainSelectedInstOperands,
28781 /* 75082 */ // GIR_Coverage, 1224,
28782 /* 75082 */ GIR_Done,
28783 /* 75083 */ // Label 1868: @75083
28784 /* 75083 */ GIM_Reject,
28785 /* 75084 */ // Label 1864: @75084
28786 /* 75084 */ GIM_Reject,
28787 /* 75085 */ // Label 1858: @75085
28788 /* 75085 */ GIM_Try, /*On fail goto*//*Label 1869*/ GIMT_Encode4(75111), // Rule ID 832 //
28789 /* 75090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28790 /* 75093 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
28791 /* 75096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28792 /* 75100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28793 /* 75104 */ // (fsqrt:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FSQRT_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
28794 /* 75104 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D),
28795 /* 75109 */ GIR_RootConstrainSelectedInstOperands,
28796 /* 75110 */ // GIR_Coverage, 832,
28797 /* 75110 */ GIR_Done,
28798 /* 75111 */ // Label 1869: @75111
28799 /* 75111 */ GIM_Reject,
28800 /* 75112 */ // Label 1859: @75112
28801 /* 75112 */ GIM_Try, /*On fail goto*//*Label 1870*/ GIMT_Encode4(75138), // Rule ID 831 //
28802 /* 75117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28803 /* 75120 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
28804 /* 75123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28805 /* 75127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28806 /* 75131 */ // (fsqrt:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FSQRT_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
28807 /* 75131 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_W),
28808 /* 75136 */ GIR_RootConstrainSelectedInstOperands,
28809 /* 75137 */ // GIR_Coverage, 831,
28810 /* 75137 */ GIR_Done,
28811 /* 75138 */ // Label 1870: @75138
28812 /* 75138 */ GIM_Reject,
28813 /* 75139 */ // Label 1860: @75139
28814 /* 75139 */ GIM_Reject,
28815 /* 75140 */ // Label 77: @75140
28816 /* 75140 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(7), /*)*//*default:*//*Label 1873*/ GIMT_Encode4(75217),
28817 /* 75151 */ /*GILLT_v2s64*//*Label 1871*/ GIMT_Encode4(75163), GIMT_Encode4(0),
28818 /* 75159 */ /*GILLT_v4s32*//*Label 1872*/ GIMT_Encode4(75190),
28819 /* 75163 */ // Label 1871: @75163
28820 /* 75163 */ GIM_Try, /*On fail goto*//*Label 1874*/ GIMT_Encode4(75189), // Rule ID 814 //
28821 /* 75168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28822 /* 75171 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
28823 /* 75174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28824 /* 75178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
28825 /* 75182 */ // (frint:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FRINT_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
28826 /* 75182 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FRINT_D),
28827 /* 75187 */ GIR_RootConstrainSelectedInstOperands,
28828 /* 75188 */ // GIR_Coverage, 814,
28829 /* 75188 */ GIR_Done,
28830 /* 75189 */ // Label 1874: @75189
28831 /* 75189 */ GIM_Reject,
28832 /* 75190 */ // Label 1872: @75190
28833 /* 75190 */ GIM_Try, /*On fail goto*//*Label 1875*/ GIMT_Encode4(75216), // Rule ID 813 //
28834 /* 75195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
28835 /* 75198 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
28836 /* 75201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28837 /* 75205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
28838 /* 75209 */ // (frint:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FRINT_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
28839 /* 75209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FRINT_W),
28840 /* 75214 */ GIR_RootConstrainSelectedInstOperands,
28841 /* 75215 */ // GIR_Coverage, 813,
28842 /* 75215 */ GIR_Done,
28843 /* 75216 */ // Label 1875: @75216
28844 /* 75216 */ GIM_Reject,
28845 /* 75217 */ // Label 1873: @75217
28846 /* 75217 */ GIM_Reject,
28847 /* 75218 */ // Label 78: @75218
28848 /* 75218 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1878*/ GIMT_Encode4(76072),
28849 /* 75229 */ /*GILLT_s32*//*Label 1876*/ GIMT_Encode4(75237),
28850 /* 75233 */ /*GILLT_s64*//*Label 1877*/ GIMT_Encode4(75509),
28851 /* 75237 */ // Label 1876: @75237
28852 /* 75237 */ GIM_Try, /*On fail goto*//*Label 1879*/ GIMT_Encode4(75508),
28853 /* 75242 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
28854 /* 75245 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
28855 /* 75248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28856 /* 75252 */ GIM_Try, /*On fail goto*//*Label 1880*/ GIMT_Encode4(75309), // Rule ID 179 //
28857 /* 75257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
28858 /* 75260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28859 /* 75264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
28860 /* 75268 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
28861 /* 75272 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
28862 /* 75276 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28863 /* 75281 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28864 /* 75286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28865 /* 75290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28866 /* 75292 */ // (strict_fadd:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr) => (MADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
28867 /* 75292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
28868 /* 75295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
28869 /* 75297 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
28870 /* 75299 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
28871 /* 75303 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
28872 /* 75307 */ GIR_RootConstrainSelectedInstOperands,
28873 /* 75308 */ // GIR_Coverage, 179,
28874 /* 75308 */ GIR_EraseRootFromParent_Done,
28875 /* 75309 */ // Label 1880: @75309
28876 /* 75309 */ GIM_Try, /*On fail goto*//*Label 1881*/ GIMT_Encode4(75366), // Rule ID 178 //
28877 /* 75314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
28878 /* 75317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28879 /* 75321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
28880 /* 75325 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
28881 /* 75329 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
28882 /* 75333 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28883 /* 75338 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28884 /* 75343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28885 /* 75347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28886 /* 75349 */ // (strict_fadd:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr) => (MADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
28887 /* 75349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
28888 /* 75352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
28889 /* 75354 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
28890 /* 75356 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
28891 /* 75360 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
28892 /* 75364 */ GIR_RootConstrainSelectedInstOperands,
28893 /* 75365 */ // GIR_Coverage, 178,
28894 /* 75365 */ GIR_EraseRootFromParent_Done,
28895 /* 75366 */ // Label 1881: @75366
28896 /* 75366 */ GIM_Try, /*On fail goto*//*Label 1882*/ GIMT_Encode4(75423), // Rule ID 2488 //
28897 /* 75371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
28898 /* 75374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28899 /* 75378 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
28900 /* 75382 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
28901 /* 75386 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
28902 /* 75390 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
28903 /* 75394 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28904 /* 75399 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28905 /* 75404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28906 /* 75406 */ // (strict_fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)) => (MADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
28907 /* 75406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
28908 /* 75409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
28909 /* 75411 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
28910 /* 75413 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
28911 /* 75417 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
28912 /* 75421 */ GIR_RootConstrainSelectedInstOperands,
28913 /* 75422 */ // GIR_Coverage, 2488,
28914 /* 75422 */ GIR_EraseRootFromParent_Done,
28915 /* 75423 */ // Label 1882: @75423
28916 /* 75423 */ GIM_Try, /*On fail goto*//*Label 1883*/ GIMT_Encode4(75480), // Rule ID 2487 //
28917 /* 75428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
28918 /* 75431 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28919 /* 75435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
28920 /* 75439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
28921 /* 75443 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
28922 /* 75447 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
28923 /* 75451 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28924 /* 75456 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28925 /* 75461 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28926 /* 75463 */ // (strict_fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)) => (MADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
28927 /* 75463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
28928 /* 75466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
28929 /* 75468 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
28930 /* 75470 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
28931 /* 75474 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
28932 /* 75478 */ GIR_RootConstrainSelectedInstOperands,
28933 /* 75479 */ // GIR_Coverage, 2487,
28934 /* 75479 */ GIR_EraseRootFromParent_Done,
28935 /* 75480 */ // Label 1883: @75480
28936 /* 75480 */ GIM_Try, /*On fail goto*//*Label 1884*/ GIMT_Encode4(75507), // Rule ID 154 //
28937 /* 75485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
28938 /* 75488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28939 /* 75492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
28940 /* 75496 */ // (strict_fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
28941 /* 75496 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_S),
28942 /* 75501 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
28943 /* 75505 */ GIR_RootConstrainSelectedInstOperands,
28944 /* 75506 */ // GIR_Coverage, 154,
28945 /* 75506 */ GIR_Done,
28946 /* 75507 */ // Label 1884: @75507
28947 /* 75507 */ GIM_Reject,
28948 /* 75508 */ // Label 1879: @75508
28949 /* 75508 */ GIM_Reject,
28950 /* 75509 */ // Label 1877: @75509
28951 /* 75509 */ GIM_Try, /*On fail goto*//*Label 1885*/ GIMT_Encode4(76071),
28952 /* 75514 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
28953 /* 75517 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
28954 /* 75520 */ GIM_Try, /*On fail goto*//*Label 1886*/ GIMT_Encode4(75581), // Rule ID 187 //
28955 /* 75525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
28956 /* 75528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28957 /* 75532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28958 /* 75536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
28959 /* 75540 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28960 /* 75544 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28961 /* 75548 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28962 /* 75553 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28963 /* 75558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28964 /* 75562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28965 /* 75564 */ // (strict_fadd:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr) => (MADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
28966 /* 75564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
28967 /* 75567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
28968 /* 75569 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
28969 /* 75571 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
28970 /* 75575 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
28971 /* 75579 */ GIR_RootConstrainSelectedInstOperands,
28972 /* 75580 */ // GIR_Coverage, 187,
28973 /* 75580 */ GIR_EraseRootFromParent_Done,
28974 /* 75581 */ // Label 1886: @75581
28975 /* 75581 */ GIM_Try, /*On fail goto*//*Label 1887*/ GIMT_Encode4(75642), // Rule ID 195 //
28976 /* 75586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
28977 /* 75589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28978 /* 75593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
28979 /* 75597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
28980 /* 75601 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28981 /* 75605 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28982 /* 75609 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28983 /* 75614 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28984 /* 75619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
28985 /* 75623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28986 /* 75625 */ // (strict_fadd:{ *:[f64] } (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr) => (MADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
28987 /* 75625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
28988 /* 75628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
28989 /* 75630 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
28990 /* 75632 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
28991 /* 75636 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
28992 /* 75640 */ GIR_RootConstrainSelectedInstOperands,
28993 /* 75641 */ // GIR_Coverage, 195,
28994 /* 75641 */ GIR_EraseRootFromParent_Done,
28995 /* 75642 */ // Label 1887: @75642
28996 /* 75642 */ GIM_Try, /*On fail goto*//*Label 1888*/ GIMT_Encode4(75703), // Rule ID 186 //
28997 /* 75647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
28998 /* 75650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
28999 /* 75654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
29000 /* 75658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
29001 /* 75662 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29002 /* 75666 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29003 /* 75670 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29004 /* 75675 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29005 /* 75680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29006 /* 75684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29007 /* 75686 */ // (strict_fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr) => (MADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29008 /* 75686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
29009 /* 75689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29010 /* 75691 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
29011 /* 75693 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29012 /* 75697 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29013 /* 75701 */ GIR_RootConstrainSelectedInstOperands,
29014 /* 75702 */ // GIR_Coverage, 186,
29015 /* 75702 */ GIR_EraseRootFromParent_Done,
29016 /* 75703 */ // Label 1888: @75703
29017 /* 75703 */ GIM_Try, /*On fail goto*//*Label 1889*/ GIMT_Encode4(75764), // Rule ID 194 //
29018 /* 75708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
29019 /* 75711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29020 /* 75715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
29021 /* 75719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
29022 /* 75723 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29023 /* 75727 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29024 /* 75731 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29025 /* 75736 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29026 /* 75741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29027 /* 75745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29028 /* 75747 */ // (strict_fadd:{ *:[f64] } (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr) => (MADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29029 /* 75747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
29030 /* 75750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29031 /* 75752 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
29032 /* 75754 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29033 /* 75758 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29034 /* 75762 */ GIR_RootConstrainSelectedInstOperands,
29035 /* 75763 */ // GIR_Coverage, 194,
29036 /* 75763 */ GIR_EraseRootFromParent_Done,
29037 /* 75764 */ // Label 1889: @75764
29038 /* 75764 */ GIM_Try, /*On fail goto*//*Label 1890*/ GIMT_Encode4(75825), // Rule ID 2492 //
29039 /* 75769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
29040 /* 75772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29041 /* 75776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29042 /* 75780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
29043 /* 75784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
29044 /* 75788 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29045 /* 75792 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29046 /* 75796 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29047 /* 75801 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29048 /* 75806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29049 /* 75808 */ // (strict_fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)) => (MADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29050 /* 75808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
29051 /* 75811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29052 /* 75813 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
29053 /* 75815 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29054 /* 75819 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29055 /* 75823 */ GIR_RootConstrainSelectedInstOperands,
29056 /* 75824 */ // GIR_Coverage, 2492,
29057 /* 75824 */ GIR_EraseRootFromParent_Done,
29058 /* 75825 */ // Label 1890: @75825
29059 /* 75825 */ GIM_Try, /*On fail goto*//*Label 1891*/ GIMT_Encode4(75886), // Rule ID 2496 //
29060 /* 75830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
29061 /* 75833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29062 /* 75837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29063 /* 75841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
29064 /* 75845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
29065 /* 75849 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29066 /* 75853 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29067 /* 75857 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29068 /* 75862 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29069 /* 75867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29070 /* 75869 */ // (strict_fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)) => (MADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29071 /* 75869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
29072 /* 75872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29073 /* 75874 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
29074 /* 75876 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29075 /* 75880 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29076 /* 75884 */ GIR_RootConstrainSelectedInstOperands,
29077 /* 75885 */ // GIR_Coverage, 2496,
29078 /* 75885 */ GIR_EraseRootFromParent_Done,
29079 /* 75886 */ // Label 1891: @75886
29080 /* 75886 */ GIM_Try, /*On fail goto*//*Label 1892*/ GIMT_Encode4(75947), // Rule ID 2491 //
29081 /* 75891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
29082 /* 75894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29083 /* 75898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29084 /* 75902 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
29085 /* 75906 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
29086 /* 75910 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29087 /* 75914 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29088 /* 75918 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29089 /* 75923 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29090 /* 75928 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29091 /* 75930 */ // (strict_fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)) => (MADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29092 /* 75930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
29093 /* 75933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29094 /* 75935 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
29095 /* 75937 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29096 /* 75941 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29097 /* 75945 */ GIR_RootConstrainSelectedInstOperands,
29098 /* 75946 */ // GIR_Coverage, 2491,
29099 /* 75946 */ GIR_EraseRootFromParent_Done,
29100 /* 75947 */ // Label 1892: @75947
29101 /* 75947 */ GIM_Try, /*On fail goto*//*Label 1893*/ GIMT_Encode4(76008), // Rule ID 2495 //
29102 /* 75952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
29103 /* 75955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29104 /* 75959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29105 /* 75963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
29106 /* 75967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
29107 /* 75971 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29108 /* 75975 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29109 /* 75979 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29110 /* 75984 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29111 /* 75989 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29112 /* 75991 */ // (strict_fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)) => (MADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29113 /* 75991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
29114 /* 75994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29115 /* 75996 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
29116 /* 75998 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29117 /* 76002 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29118 /* 76006 */ GIR_RootConstrainSelectedInstOperands,
29119 /* 76007 */ // GIR_Coverage, 2495,
29120 /* 76007 */ GIR_EraseRootFromParent_Done,
29121 /* 76008 */ // Label 1893: @76008
29122 /* 76008 */ GIM_Try, /*On fail goto*//*Label 1894*/ GIMT_Encode4(76039), // Rule ID 156 //
29123 /* 76013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
29124 /* 76016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29125 /* 76020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29126 /* 76024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29127 /* 76028 */ // (strict_fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29128 /* 76028 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D32),
29129 /* 76033 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29130 /* 76037 */ GIR_RootConstrainSelectedInstOperands,
29131 /* 76038 */ // GIR_Coverage, 156,
29132 /* 76038 */ GIR_Done,
29133 /* 76039 */ // Label 1894: @76039
29134 /* 76039 */ GIM_Try, /*On fail goto*//*Label 1895*/ GIMT_Encode4(76070), // Rule ID 158 //
29135 /* 76044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
29136 /* 76047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29137 /* 76051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29138 /* 76055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29139 /* 76059 */ // (strict_fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29140 /* 76059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D64),
29141 /* 76064 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29142 /* 76068 */ GIR_RootConstrainSelectedInstOperands,
29143 /* 76069 */ // GIR_Coverage, 158,
29144 /* 76069 */ GIR_Done,
29145 /* 76070 */ // Label 1895: @76070
29146 /* 76070 */ GIM_Reject,
29147 /* 76071 */ // Label 1885: @76071
29148 /* 76071 */ GIM_Reject,
29149 /* 76072 */ // Label 1878: @76072
29150 /* 76072 */ GIM_Reject,
29151 /* 76073 */ // Label 79: @76073
29152 /* 76073 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1898*/ GIMT_Encode4(76569),
29153 /* 76084 */ /*GILLT_s32*//*Label 1896*/ GIMT_Encode4(76092),
29154 /* 76088 */ /*GILLT_s64*//*Label 1897*/ GIMT_Encode4(76250),
29155 /* 76092 */ // Label 1896: @76092
29156 /* 76092 */ GIM_Try, /*On fail goto*//*Label 1899*/ GIMT_Encode4(76249),
29157 /* 76097 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
29158 /* 76100 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
29159 /* 76103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29160 /* 76107 */ GIM_Try, /*On fail goto*//*Label 1900*/ GIMT_Encode4(76164), // Rule ID 183 //
29161 /* 76112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
29162 /* 76115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
29163 /* 76119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
29164 /* 76123 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
29165 /* 76127 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
29166 /* 76131 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29167 /* 76136 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29168 /* 76141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29169 /* 76145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29170 /* 76147 */ // (strict_fsub:{ *:[f32] } (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr) => (MSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
29171 /* 76147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_S),
29172 /* 76150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29173 /* 76152 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
29174 /* 76154 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29175 /* 76158 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29176 /* 76162 */ GIR_RootConstrainSelectedInstOperands,
29177 /* 76163 */ // GIR_Coverage, 183,
29178 /* 76163 */ GIR_EraseRootFromParent_Done,
29179 /* 76164 */ // Label 1900: @76164
29180 /* 76164 */ GIM_Try, /*On fail goto*//*Label 1901*/ GIMT_Encode4(76221), // Rule ID 182 //
29181 /* 76169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
29182 /* 76172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
29183 /* 76176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
29184 /* 76180 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
29185 /* 76184 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
29186 /* 76188 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29187 /* 76193 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29188 /* 76198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29189 /* 76202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29190 /* 76204 */ // (strict_fsub:{ *:[f32] } (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft), FGR32Opnd:{ *:[f32] }:$fr) => (MSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fr, FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
29191 /* 76204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_S),
29192 /* 76207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29193 /* 76209 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
29194 /* 76211 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29195 /* 76215 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29196 /* 76219 */ GIR_RootConstrainSelectedInstOperands,
29197 /* 76220 */ // GIR_Coverage, 182,
29198 /* 76220 */ GIR_EraseRootFromParent_Done,
29199 /* 76221 */ // Label 1901: @76221
29200 /* 76221 */ GIM_Try, /*On fail goto*//*Label 1902*/ GIMT_Encode4(76248), // Rule ID 172 //
29201 /* 76226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
29202 /* 76229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29203 /* 76233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29204 /* 76237 */ // (strict_fsub:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
29205 /* 76237 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_S),
29206 /* 76242 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29207 /* 76246 */ GIR_RootConstrainSelectedInstOperands,
29208 /* 76247 */ // GIR_Coverage, 172,
29209 /* 76247 */ GIR_Done,
29210 /* 76248 */ // Label 1902: @76248
29211 /* 76248 */ GIM_Reject,
29212 /* 76249 */ // Label 1899: @76249
29213 /* 76249 */ GIM_Reject,
29214 /* 76250 */ // Label 1897: @76250
29215 /* 76250 */ GIM_Try, /*On fail goto*//*Label 1903*/ GIMT_Encode4(76568),
29216 /* 76255 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
29217 /* 76258 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
29218 /* 76261 */ GIM_Try, /*On fail goto*//*Label 1904*/ GIMT_Encode4(76322), // Rule ID 191 //
29219 /* 76266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
29220 /* 76269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29221 /* 76273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
29222 /* 76277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
29223 /* 76281 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29224 /* 76285 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29225 /* 76289 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29226 /* 76294 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29227 /* 76299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29228 /* 76303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29229 /* 76305 */ // (strict_fsub:{ *:[f64] } (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr) => (MSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29230 /* 76305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D32),
29231 /* 76308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29232 /* 76310 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
29233 /* 76312 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29234 /* 76316 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29235 /* 76320 */ GIR_RootConstrainSelectedInstOperands,
29236 /* 76321 */ // GIR_Coverage, 191,
29237 /* 76321 */ GIR_EraseRootFromParent_Done,
29238 /* 76322 */ // Label 1904: @76322
29239 /* 76322 */ GIM_Try, /*On fail goto*//*Label 1905*/ GIMT_Encode4(76383), // Rule ID 199 //
29240 /* 76327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
29241 /* 76330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29242 /* 76334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
29243 /* 76338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
29244 /* 76342 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29245 /* 76346 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29246 /* 76350 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29247 /* 76355 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29248 /* 76360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29249 /* 76364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29250 /* 76366 */ // (strict_fsub:{ *:[f64] } (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr) => (MSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29251 /* 76366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D64),
29252 /* 76369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29253 /* 76371 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
29254 /* 76373 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29255 /* 76377 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29256 /* 76381 */ GIR_RootConstrainSelectedInstOperands,
29257 /* 76382 */ // GIR_Coverage, 199,
29258 /* 76382 */ GIR_EraseRootFromParent_Done,
29259 /* 76383 */ // Label 1905: @76383
29260 /* 76383 */ GIM_Try, /*On fail goto*//*Label 1906*/ GIMT_Encode4(76444), // Rule ID 190 //
29261 /* 76388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6),
29262 /* 76391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29263 /* 76395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
29264 /* 76399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
29265 /* 76403 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29266 /* 76407 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29267 /* 76411 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29268 /* 76416 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29269 /* 76421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29270 /* 76425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29271 /* 76427 */ // (strict_fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft), AFGR64Opnd:{ *:[f64] }:$fr) => (MSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fr, AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29272 /* 76427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D32),
29273 /* 76430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29274 /* 76432 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
29275 /* 76434 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29276 /* 76438 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29277 /* 76442 */ GIR_RootConstrainSelectedInstOperands,
29278 /* 76443 */ // GIR_Coverage, 190,
29279 /* 76443 */ GIR_EraseRootFromParent_Done,
29280 /* 76444 */ // Label 1906: @76444
29281 /* 76444 */ GIM_Try, /*On fail goto*//*Label 1907*/ GIMT_Encode4(76505), // Rule ID 198 //
29282 /* 76449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6),
29283 /* 76452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29284 /* 76456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
29285 /* 76460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
29286 /* 76464 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29287 /* 76468 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29288 /* 76472 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29289 /* 76477 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29290 /* 76482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29291 /* 76486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29292 /* 76488 */ // (strict_fsub:{ *:[f64] } (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft), FGR64Opnd:{ *:[f64] }:$fr) => (MSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fr, FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29293 /* 76488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D64),
29294 /* 76491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
29295 /* 76493 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
29296 /* 76495 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
29297 /* 76499 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
29298 /* 76503 */ GIR_RootConstrainSelectedInstOperands,
29299 /* 76504 */ // GIR_Coverage, 198,
29300 /* 76504 */ GIR_EraseRootFromParent_Done,
29301 /* 76505 */ // Label 1907: @76505
29302 /* 76505 */ GIM_Try, /*On fail goto*//*Label 1908*/ GIMT_Encode4(76536), // Rule ID 174 //
29303 /* 76510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
29304 /* 76513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29305 /* 76517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29306 /* 76521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29307 /* 76525 */ // (strict_fsub:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29308 /* 76525 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D32),
29309 /* 76530 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29310 /* 76534 */ GIR_RootConstrainSelectedInstOperands,
29311 /* 76535 */ // GIR_Coverage, 174,
29312 /* 76535 */ GIR_Done,
29313 /* 76536 */ // Label 1908: @76536
29314 /* 76536 */ GIM_Try, /*On fail goto*//*Label 1909*/ GIMT_Encode4(76567), // Rule ID 176 //
29315 /* 76541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
29316 /* 76544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29317 /* 76548 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29318 /* 76552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29319 /* 76556 */ // (strict_fsub:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29320 /* 76556 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D64),
29321 /* 76561 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29322 /* 76565 */ GIR_RootConstrainSelectedInstOperands,
29323 /* 76566 */ // GIR_Coverage, 176,
29324 /* 76566 */ GIR_Done,
29325 /* 76567 */ // Label 1909: @76567
29326 /* 76567 */ GIM_Reject,
29327 /* 76568 */ // Label 1903: @76568
29328 /* 76568 */ GIM_Reject,
29329 /* 76569 */ // Label 1898: @76569
29330 /* 76569 */ GIM_Reject,
29331 /* 76570 */ // Label 80: @76570
29332 /* 76570 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1912*/ GIMT_Encode4(76702),
29333 /* 76581 */ /*GILLT_s32*//*Label 1910*/ GIMT_Encode4(76589),
29334 /* 76585 */ /*GILLT_s64*//*Label 1911*/ GIMT_Encode4(76627),
29335 /* 76589 */ // Label 1910: @76589
29336 /* 76589 */ GIM_Try, /*On fail goto*//*Label 1913*/ GIMT_Encode4(76626), // Rule ID 166 //
29337 /* 76594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
29338 /* 76597 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
29339 /* 76600 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
29340 /* 76603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29341 /* 76607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29342 /* 76611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29343 /* 76615 */ // (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FMUL_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
29344 /* 76615 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_S),
29345 /* 76620 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29346 /* 76624 */ GIR_RootConstrainSelectedInstOperands,
29347 /* 76625 */ // GIR_Coverage, 166,
29348 /* 76625 */ GIR_Done,
29349 /* 76626 */ // Label 1913: @76626
29350 /* 76626 */ GIM_Reject,
29351 /* 76627 */ // Label 1911: @76627
29352 /* 76627 */ GIM_Try, /*On fail goto*//*Label 1914*/ GIMT_Encode4(76701),
29353 /* 76632 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
29354 /* 76635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
29355 /* 76638 */ GIM_Try, /*On fail goto*//*Label 1915*/ GIMT_Encode4(76669), // Rule ID 168 //
29356 /* 76643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
29357 /* 76646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29358 /* 76650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29359 /* 76654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29360 /* 76658 */ // (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29361 /* 76658 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D32),
29362 /* 76663 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29363 /* 76667 */ GIR_RootConstrainSelectedInstOperands,
29364 /* 76668 */ // GIR_Coverage, 168,
29365 /* 76668 */ GIR_Done,
29366 /* 76669 */ // Label 1915: @76669
29367 /* 76669 */ GIM_Try, /*On fail goto*//*Label 1916*/ GIMT_Encode4(76700), // Rule ID 170 //
29368 /* 76674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
29369 /* 76677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29370 /* 76681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29371 /* 76685 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29372 /* 76689 */ // (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29373 /* 76689 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D64),
29374 /* 76694 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29375 /* 76698 */ GIR_RootConstrainSelectedInstOperands,
29376 /* 76699 */ // GIR_Coverage, 170,
29377 /* 76699 */ GIR_Done,
29378 /* 76700 */ // Label 1916: @76700
29379 /* 76700 */ GIM_Reject,
29380 /* 76701 */ // Label 1914: @76701
29381 /* 76701 */ GIM_Reject,
29382 /* 76702 */ // Label 1912: @76702
29383 /* 76702 */ GIM_Reject,
29384 /* 76703 */ // Label 81: @76703
29385 /* 76703 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1919*/ GIMT_Encode4(76835),
29386 /* 76714 */ /*GILLT_s32*//*Label 1917*/ GIMT_Encode4(76722),
29387 /* 76718 */ /*GILLT_s64*//*Label 1918*/ GIMT_Encode4(76760),
29388 /* 76722 */ // Label 1917: @76722
29389 /* 76722 */ GIM_Try, /*On fail goto*//*Label 1920*/ GIMT_Encode4(76759), // Rule ID 160 //
29390 /* 76727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
29391 /* 76730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
29392 /* 76733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
29393 /* 76736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29394 /* 76740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29395 /* 76744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29396 /* 76748 */ // (strict_fdiv:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FDIV_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
29397 /* 76748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_S),
29398 /* 76753 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29399 /* 76757 */ GIR_RootConstrainSelectedInstOperands,
29400 /* 76758 */ // GIR_Coverage, 160,
29401 /* 76758 */ GIR_Done,
29402 /* 76759 */ // Label 1920: @76759
29403 /* 76759 */ GIM_Reject,
29404 /* 76760 */ // Label 1918: @76760
29405 /* 76760 */ GIM_Try, /*On fail goto*//*Label 1921*/ GIMT_Encode4(76834),
29406 /* 76765 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
29407 /* 76768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
29408 /* 76771 */ GIM_Try, /*On fail goto*//*Label 1922*/ GIMT_Encode4(76802), // Rule ID 162 //
29409 /* 76776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
29410 /* 76779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29411 /* 76783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29412 /* 76787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29413 /* 76791 */ // (strict_fdiv:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
29414 /* 76791 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D32),
29415 /* 76796 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29416 /* 76800 */ GIR_RootConstrainSelectedInstOperands,
29417 /* 76801 */ // GIR_Coverage, 162,
29418 /* 76801 */ GIR_Done,
29419 /* 76802 */ // Label 1922: @76802
29420 /* 76802 */ GIM_Try, /*On fail goto*//*Label 1923*/ GIMT_Encode4(76833), // Rule ID 164 //
29421 /* 76807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
29422 /* 76810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29423 /* 76814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29424 /* 76818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29425 /* 76822 */ // (strict_fdiv:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
29426 /* 76822 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D64),
29427 /* 76827 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29428 /* 76831 */ GIR_RootConstrainSelectedInstOperands,
29429 /* 76832 */ // GIR_Coverage, 164,
29430 /* 76832 */ GIR_Done,
29431 /* 76833 */ // Label 1923: @76833
29432 /* 76833 */ GIM_Reject,
29433 /* 76834 */ // Label 1921: @76834
29434 /* 76834 */ GIM_Reject,
29435 /* 76835 */ // Label 1919: @76835
29436 /* 76835 */ GIM_Reject,
29437 /* 76836 */ // Label 82: @76836
29438 /* 76836 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 1926*/ GIMT_Encode4(76950),
29439 /* 76847 */ /*GILLT_s32*//*Label 1924*/ GIMT_Encode4(76855),
29440 /* 76851 */ /*GILLT_s64*//*Label 1925*/ GIMT_Encode4(76886),
29441 /* 76855 */ // Label 1924: @76855
29442 /* 76855 */ GIM_Try, /*On fail goto*//*Label 1927*/ GIMT_Encode4(76885), // Rule ID 132 //
29443 /* 76860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
29444 /* 76863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
29445 /* 76866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29446 /* 76870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
29447 /* 76874 */ // (strict_fsqrt:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FSQRT_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
29448 /* 76874 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_S),
29449 /* 76879 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29450 /* 76883 */ GIR_RootConstrainSelectedInstOperands,
29451 /* 76884 */ // GIR_Coverage, 132,
29452 /* 76884 */ GIR_Done,
29453 /* 76885 */ // Label 1927: @76885
29454 /* 76885 */ GIM_Reject,
29455 /* 76886 */ // Label 1925: @76886
29456 /* 76886 */ GIM_Try, /*On fail goto*//*Label 1928*/ GIMT_Encode4(76949),
29457 /* 76891 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
29458 /* 76894 */ GIM_Try, /*On fail goto*//*Label 1929*/ GIMT_Encode4(76921), // Rule ID 134 //
29459 /* 76899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips),
29460 /* 76902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29461 /* 76906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
29462 /* 76910 */ // (strict_fsqrt:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
29463 /* 76910 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D32),
29464 /* 76915 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29465 /* 76919 */ GIR_RootConstrainSelectedInstOperands,
29466 /* 76920 */ // GIR_Coverage, 134,
29467 /* 76920 */ GIR_Done,
29468 /* 76921 */ // Label 1929: @76921
29469 /* 76921 */ GIM_Try, /*On fail goto*//*Label 1930*/ GIMT_Encode4(76948), // Rule ID 136 //
29470 /* 76926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips),
29471 /* 76929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29472 /* 76933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
29473 /* 76937 */ // (strict_fsqrt:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
29474 /* 76937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D64),
29475 /* 76942 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
29476 /* 76946 */ GIR_RootConstrainSelectedInstOperands,
29477 /* 76947 */ // GIR_Coverage, 136,
29478 /* 76947 */ GIR_Done,
29479 /* 76948 */ // Label 1930: @76948
29480 /* 76948 */ GIM_Reject,
29481 /* 76949 */ // Label 1928: @76949
29482 /* 76949 */ GIM_Reject,
29483 /* 76950 */ // Label 1926: @76950
29484 /* 76950 */ GIM_Reject,
29485 /* 76951 */ // Label 83: @76951
29486 /* 76951 */ GIM_Try, /*On fail goto*//*Label 1931*/ GIMT_Encode4(76966), // Rule ID 90 //
29487 /* 76956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
29488 /* 76959 */ // (trap) => (TRAP)
29489 /* 76959 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::TRAP),
29490 /* 76964 */ GIR_RootConstrainSelectedInstOperands,
29491 /* 76965 */ // GIR_Coverage, 90,
29492 /* 76965 */ GIR_Done,
29493 /* 76966 */ // Label 1931: @76966
29494 /* 76966 */ GIM_Try, /*On fail goto*//*Label 1932*/ GIMT_Encode4(76981), // Rule ID 1190 //
29495 /* 76971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
29496 /* 76974 */ // (trap) => (TRAP_MM)
29497 /* 76974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::TRAP_MM),
29498 /* 76979 */ GIR_RootConstrainSelectedInstOperands,
29499 /* 76980 */ // GIR_Coverage, 1190,
29500 /* 76980 */ GIR_Done,
29501 /* 76981 */ // Label 1932: @76981
29502 /* 76981 */ GIM_Try, /*On fail goto*//*Label 1933*/ GIMT_Encode4(76996), // Rule ID 2037 //
29503 /* 76986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
29504 /* 76989 */ // (trap) => (Break16)
29505 /* 76989 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::Break16),
29506 /* 76994 */ GIR_RootConstrainSelectedInstOperands,
29507 /* 76995 */ // GIR_Coverage, 2037,
29508 /* 76995 */ GIR_Done,
29509 /* 76996 */ // Label 1933: @76996
29510 /* 76996 */ GIM_Reject,
29511 /* 76997 */ // Label 84: @76997
29512 /* 76997 */ GIM_Reject,
29513 /* 76998 */ }; // Size: 76998 bytes
29514 return MatchTable0;
29515}
29516#undef GIMT_Encode2
29517#undef GIMT_Encode4
29518#undef GIMT_Encode8
29519
29520#endif // ifdef GET_GLOBALISEL_IMPL
29521
29522#ifdef GET_GLOBALISEL_PREDICATES_DECL
29523PredicateBitset AvailableModuleFeatures;
29524mutable PredicateBitset AvailableFunctionFeatures;
29525PredicateBitset getAvailableFeatures() const {
29526 return AvailableModuleFeatures | AvailableFunctionFeatures;
29527}
29528PredicateBitset
29529computeAvailableModuleFeatures(const MipsSubtarget *Subtarget) const;
29530PredicateBitset
29531computeAvailableFunctionFeatures(const MipsSubtarget *Subtarget,
29532 const MachineFunction *MF) const;
29533void setupGeneratedPerFunctionState(MachineFunction &MF) override;
29534#endif // ifdef GET_GLOBALISEL_PREDICATES_DECL
29535#ifdef GET_GLOBALISEL_PREDICATES_INIT
29536AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
29537AvailableFunctionFeatures()
29538#endif // ifdef GET_GLOBALISEL_PREDICATES_INIT
29539