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
10
11const unsigned MAX_SUBTARGET_PREDICATES = 44;
12using PredicateBitset = llvm::Bitset<MAX_SUBTARGET_PREDICATES>;
13
14#endif // GET_GLOBALISEL_PREDICATE_BITSET
15
16#ifdef GET_GLOBALISEL_TEMPORARIES_DECL
17
18 mutable MatcherState State;
19 typedef ComplexRendererFns(MipsInstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
20 typedef void(MipsInstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
21 const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
22 static MipsInstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
23 static MipsInstructionSelector::CustomRendererFn CustomRenderers[];
24 bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const override;
25 bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) const override;
26 bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) const override;
27 const uint8_t *getMatchTable() const override;
28 bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) const override;
29 bool testMOPredicate_MO(unsigned PredicateID, const MachineOperand &MO, const MatcherState &State) const override;
30 bool testSimplePredicate(unsigned PredicateID) const override;
31 bool runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) const override;
32
33#endif // GET_GLOBALISEL_TEMPORARIES_DECL
34
35#ifdef GET_GLOBALISEL_TEMPORARIES_INIT
36
37, State(0),
38ExecInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers)
39
40#endif // GET_GLOBALISEL_TEMPORARIES_INIT
41
42#ifdef GET_GLOBALISEL_IMPL
43
44// LLT Objects.
45enum {
46 GILLT_s32,
47 GILLT_s64,
48 GILLT_v4s8,
49 GILLT_v16s8,
50 GILLT_v2s16,
51 GILLT_v8s16,
52 GILLT_v4s32,
53 GILLT_v2s64,
54};
55const static size_t NumTypeObjects = 8;
56const static LLT TypeObjects[] = {
57 LLT::scalar(32),
58 LLT::scalar(64),
59 LLT::vector(ElementCount::getFixed(4), LLT::scalar(8)),
60 LLT::vector(ElementCount::getFixed(16), LLT::scalar(8)),
61 LLT::vector(ElementCount::getFixed(2), LLT::scalar(16)),
62 LLT::vector(ElementCount::getFixed(8), LLT::scalar(16)),
63 LLT::vector(ElementCount::getFixed(4), LLT::scalar(32)),
64 LLT::vector(ElementCount::getFixed(2), LLT::scalar(64)),
65};
66
67// Bits for subtarget features that participate in instruction matching.
68enum SubtargetFeatureBits : uint8_t {
69 Feature_IsPTR64bitBit = 23,
70 Feature_UseCompactBranchesBit = 41,
71 Feature_HasMips2Bit = 7,
72 Feature_HasMips3Bit = 18,
73 Feature_HasMips4_32Bit = 26,
74 Feature_NotMips4_32Bit = 27,
75 Feature_HasMips4_32r2Bit = 19,
76 Feature_HasMips32Bit = 3,
77 Feature_HasMips32r2Bit = 6,
78 Feature_HasMips32r6Bit = 28,
79 Feature_NotMips32r6Bit = 4,
80 Feature_IsGP64bitBit = 21,
81 Feature_HasMips64Bit = 24,
82 Feature_HasMips64r2Bit = 22,
83 Feature_HasMips64r6Bit = 29,
84 Feature_NotMips64r6Bit = 5,
85 Feature_InMips16ModeBit = 30,
86 Feature_NotInMips16ModeBit = 0,
87 Feature_HasCnMipsBit = 25,
88 Feature_NotCnMipsBit = 8,
89 Feature_IsSym32Bit = 38,
90 Feature_IsSym64Bit = 39,
91 Feature_IsN64Bit = 40,
92 Feature_RelocNotPICBit = 10,
93 Feature_RelocPICBit = 36,
94 Feature_HasStdEncBit = 1,
95 Feature_NotDSPBit = 12,
96 Feature_InMicroMipsBit = 34,
97 Feature_NotInMicroMipsBit = 2,
98 Feature_IsLEBit = 42,
99 Feature_IsBEBit = 43,
100 Feature_HasEVABit = 35,
101 Feature_HasMSABit = 33,
102 Feature_HasMadd4Bit = 20,
103 Feature_UseIndirectJumpsHazardBit = 13,
104 Feature_NoIndirectJumpGuardsBit = 11,
105 Feature_IsR5900Bit = 37,
106 Feature_NotR5900Bit = 9,
107 Feature_IsFP64bitBit = 17,
108 Feature_NotFP64bitBit = 16,
109 Feature_IsNotSingleFloatBit = 15,
110 Feature_IsNotSoftFloatBit = 14,
111 Feature_HasDSPBit = 31,
112 Feature_HasDSPR2Bit = 32,
113};
114
115PredicateBitset MipsInstructionSelector::
116computeAvailableModuleFeatures(const MipsSubtarget *Subtarget) const {
117 PredicateBitset Features{};
118 if (Subtarget->isABI_N64())
119 Features.set(Feature_IsPTR64bitBit);
120 if (Subtarget->useCompactBranches())
121 Features.set(Feature_UseCompactBranchesBit);
122 if (Subtarget->hasMips2())
123 Features.set(Feature_HasMips2Bit);
124 if (Subtarget->hasMips3())
125 Features.set(Feature_HasMips3Bit);
126 if (Subtarget->hasMips4_32())
127 Features.set(Feature_HasMips4_32Bit);
128 if (!Subtarget->hasMips4_32())
129 Features.set(Feature_NotMips4_32Bit);
130 if (Subtarget->hasMips4_32r2())
131 Features.set(Feature_HasMips4_32r2Bit);
132 if (Subtarget->hasMips32())
133 Features.set(Feature_HasMips32Bit);
134 if (Subtarget->hasMips32r2())
135 Features.set(Feature_HasMips32r2Bit);
136 if (Subtarget->hasMips32r6())
137 Features.set(Feature_HasMips32r6Bit);
138 if (!Subtarget->hasMips32r6())
139 Features.set(Feature_NotMips32r6Bit);
140 if (Subtarget->isGP64bit())
141 Features.set(Feature_IsGP64bitBit);
142 if (Subtarget->hasMips64())
143 Features.set(Feature_HasMips64Bit);
144 if (Subtarget->hasMips64r2())
145 Features.set(Feature_HasMips64r2Bit);
146 if (Subtarget->hasMips64r6())
147 Features.set(Feature_HasMips64r6Bit);
148 if (!Subtarget->hasMips64r6())
149 Features.set(Feature_NotMips64r6Bit);
150 if (Subtarget->inMips16Mode())
151 Features.set(Feature_InMips16ModeBit);
152 if (!Subtarget->inMips16Mode())
153 Features.set(Feature_NotInMips16ModeBit);
154 if (Subtarget->hasCnMips())
155 Features.set(Feature_HasCnMipsBit);
156 if (!Subtarget->hasCnMips())
157 Features.set(Feature_NotCnMipsBit);
158 if (Subtarget->hasSym32())
159 Features.set(Feature_IsSym32Bit);
160 if (!Subtarget->hasSym32())
161 Features.set(Feature_IsSym64Bit);
162 if (Subtarget->isABI_N64())
163 Features.set(Feature_IsN64Bit);
164 if (!TM.isPositionIndependent())
165 Features.set(Feature_RelocNotPICBit);
166 if (TM.isPositionIndependent())
167 Features.set(Feature_RelocPICBit);
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_IsR5900Bit);
192 if (!Subtarget->isR5900())
193 Features.set(Feature_NotR5900Bit);
194 if (Subtarget->isFP64bit())
195 Features.set(Feature_IsFP64bitBit);
196 if (!Subtarget->isFP64bit())
197 Features.set(Feature_NotFP64bitBit);
198 if (!Subtarget->isSingleFloat())
199 Features.set(Feature_IsNotSingleFloatBit);
200 if (!Subtarget->useSoftFloat())
201 Features.set(Feature_IsNotSoftFloatBit);
202 if (Subtarget->hasDSP())
203 Features.set(Feature_HasDSPBit);
204 if (Subtarget->hasDSPR2())
205 Features.set(Feature_HasDSPR2Bit);
206 return Features;
207}
208
209void MipsInstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
210 AvailableFunctionFeatures = computeAvailableFunctionFeatures((const MipsSubtarget *)&MF.getSubtarget(), &MF);
211}
212PredicateBitset MipsInstructionSelector::
213computeAvailableFunctionFeatures(const MipsSubtarget *Subtarget, const MachineFunction *MF) const {
214 PredicateBitset Features{};
215 return Features;
216}
217
218// Feature bitsets.
219enum {
220 GIFBS_Invalid,
221 GIFBS_HasCnMips,
222 GIFBS_HasDSP,
223 GIFBS_HasDSPR2,
224 GIFBS_HasMSA,
225 GIFBS_InMicroMips,
226 GIFBS_InMips16Mode,
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_IsNotSoftFloat,
242 GIFBS_InMicroMips_NotMips32r6,
243 GIFBS_IsFP64bit_IsNotSingleFloat,
244 GIFBS_IsGP64bit_NotInMips16Mode,
245 GIFBS_IsNotSingleFloat_NotFP64bit,
246 GIFBS_HasMSA_HasMips64_HasStdEnc,
247 GIFBS_HasMips3_HasStdEnc_IsGP64bit,
248 GIFBS_HasMips3_HasStdEnc_NotInMicroMips,
249 GIFBS_HasMips32r2_HasStdEnc_IsGP64bit,
250 GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips,
251 GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips,
252 GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat,
253 GIFBS_HasMips64r2_HasStdEnc_NotInMicroMips,
254 GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips,
255 GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
256 GIFBS_HasStdEnc_NotInMicroMips_RelocNotPIC,
257 GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat,
258 GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit,
259 GIFBS_InMicroMips_NotMips32r6_RelocNotPIC,
260 GIFBS_InMicroMips_NotMips32r6_RelocPIC,
261 GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
262 GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips,
263 GIFBS_HasMips3_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat,
264 GIFBS_HasMips32_HasStdEnc_NotMips32r6_NotMips64r6,
265 GIFBS_HasMips32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat,
266 GIFBS_HasMips32r2_HasStdEnc_IsNotSingleFloat_NotFP64bit,
267 GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
268 GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches,
269 GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6,
270 GIFBS_HasMips64r2_HasStdEnc_IsGP64bit_NotInMicroMips,
271 GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches,
272 GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips,
273 GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotMips4_32,
274 GIFBS_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips,
275 GIFBS_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotMips4_32,
276 GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat,
277 GIFBS_InMicroMips_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit,
278 GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6,
279 GIFBS_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMips16Mode,
280 GIFBS_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMips16Mode,
281 GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6,
282 GIFBS_HasMips32r6_HasStdEnc_NoIndirectJumpGuards_NotInMicroMips_NotInMips16Mode,
283 GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_NotInMips16Mode_UseIndirectJumpsHazard,
284 GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6,
285 GIFBS_HasMips64_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips64r6,
286 GIFBS_HasMips64r6_HasStdEnc_NoIndirectJumpGuards_NotInMicroMips_NotInMips16Mode,
287 GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_NotInMips16Mode_UseIndirectJumpsHazard,
288 GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips,
289 GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips,
290 GIFBS_HasMips2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips,
291 GIFBS_HasMips2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips,
292 GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
293 GIFBS_HasStdEnc_NoIndirectJumpGuards_NotInMicroMips_NotInMips16Mode_NotMips32r6_NotMips64r6,
294 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6,
295 GIFBS_HasMips3_HasStdEnc_NoIndirectJumpGuards_NotInMicroMips_NotInMips16Mode_NotMips32r6_NotMips64r6,
296 GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips_NotInMips16Mode_NotMips32r6_NotMips64r6_UseIndirectJumpsHazard,
297 GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6,
298 GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
299 GIFBS_HasMips32r2_HasStdEnc_IsPTR64bit_NotInMicroMips_NotInMips16Mode_NotMips32r6_NotMips64r6_UseIndirectJumpsHazard,
300 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6,
301 GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
302};
303constexpr static PredicateBitset FeatureBitsets[] {
304 {}, // GIFBS_Invalid
305 {Feature_HasCnMipsBit, },
306 {Feature_HasDSPBit, },
307 {Feature_HasDSPR2Bit, },
308 {Feature_HasMSABit, },
309 {Feature_InMicroMipsBit, },
310 {Feature_InMips16ModeBit, },
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_IsNotSoftFloatBit, },
326 {Feature_InMicroMipsBit, Feature_NotMips32r6Bit, },
327 {Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, },
328 {Feature_IsGP64bitBit, Feature_NotInMips16ModeBit, },
329 {Feature_IsNotSingleFloatBit, Feature_NotFP64bitBit, },
330 {Feature_HasMSABit, Feature_HasMips64Bit, Feature_HasStdEncBit, },
331 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, },
332 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
333 {Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, },
334 {Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
335 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
336 {Feature_HasMips32r6Bit, Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, },
337 {Feature_HasMips64r2Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
338 {Feature_HasMips64r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
339 {Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
340 {Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_RelocNotPICBit, },
341 {Feature_InMicroMipsBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, },
342 {Feature_InMicroMipsBit, Feature_IsNotSingleFloatBit, Feature_NotFP64bitBit, },
343 {Feature_InMicroMipsBit, Feature_NotMips32r6Bit, Feature_RelocNotPICBit, },
344 {Feature_InMicroMipsBit, Feature_NotMips32r6Bit, Feature_RelocPICBit, },
345 {Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
346 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, },
347 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, },
348 {Feature_HasMips32Bit, Feature_HasStdEncBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
349 {Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, },
350 {Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_IsNotSingleFloatBit, Feature_NotFP64bitBit, },
351 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
352 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_UseCompactBranchesBit, },
353 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
354 {Feature_HasMips64r2Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, },
355 {Feature_HasMips64r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_UseCompactBranchesBit, },
356 {Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, Feature_NotInMicroMipsBit, },
357 {Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, Feature_NotMips4_32Bit, },
358 {Feature_HasStdEncBit, Feature_IsNotSingleFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
359 {Feature_HasStdEncBit, Feature_IsNotSingleFloatBit, Feature_NotFP64bitBit, Feature_NotMips4_32Bit, },
360 {Feature_InMicroMipsBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, },
361 {Feature_InMicroMipsBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, },
362 {Feature_InMicroMipsBit, Feature_IsNotSingleFloatBit, Feature_NotFP64bitBit, Feature_NotMips32r6Bit, },
363 {Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotInMips16ModeBit, },
364 {Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMips16ModeBit, },
365 {Feature_HasMips32Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
366 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_NoIndirectJumpGuardsBit, Feature_NotInMicroMipsBit, Feature_NotInMips16ModeBit, },
367 {Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotInMips16ModeBit, Feature_UseIndirectJumpsHazardBit, },
368 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
369 {Feature_HasMips64Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips64r6Bit, },
370 {Feature_HasMips64r6Bit, Feature_HasStdEncBit, Feature_NoIndirectJumpGuardsBit, Feature_NotInMicroMipsBit, Feature_NotInMips16ModeBit, },
371 {Feature_HasMips64r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotInMips16ModeBit, Feature_UseIndirectJumpsHazardBit, },
372 {Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
373 {Feature_HasStdEncBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
374 {Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
375 {Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
376 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
377 {Feature_HasStdEncBit, Feature_NoIndirectJumpGuardsBit, Feature_NotInMicroMipsBit, Feature_NotInMips16ModeBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
378 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
379 {Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_NoIndirectJumpGuardsBit, Feature_NotInMicroMipsBit, Feature_NotInMips16ModeBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
380 {Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotInMips16ModeBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, Feature_UseIndirectJumpsHazardBit, },
381 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
382 {Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_IsNotSingleFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
383 {Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_IsPTR64bitBit, Feature_NotInMicroMipsBit, Feature_NotInMips16ModeBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, Feature_UseIndirectJumpsHazardBit, },
384 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
385 {Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsNotSingleFloatBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
386};
387
388// ComplexPattern predicates.
389enum {
390 GICP_Invalid,
391};
392// See constructor for table contents
393
394MipsInstructionSelector::ComplexMatcherMemFn
395MipsInstructionSelector::ComplexPredicateFns[] = {
396 nullptr, // GICP_Invalid
397};
398
399// PatFrag predicates.
400enum {
401 GICXXPred_MI_Predicate_fadd_contract = GICXXPred_Invalid + 1,
402 GICXXPred_MI_Predicate_ffloor_nnan,
403 GICXXPred_MI_Predicate_fmul_contract,
404 GICXXPred_MI_Predicate_fsub_contract,
405 GICXXPred_MI_Predicate_or_disjoint,
406};
407bool MipsInstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
408 const MachineFunction &MF = *MI.getParent()->getParent();
409 const MachineRegisterInfo &MRI = MF.getRegInfo();
410 const auto &Operands = State.RecordedOperands;
411 (void)Operands;
412 (void)MRI;
413 switch (PredicateID) {
414 case GICXXPred_MI_Predicate_fadd_contract: {
415
416 return MI.getFlag(MachineInstr::FmContract);
417
418 }
419 case GICXXPred_MI_Predicate_ffloor_nnan: {
420
421 return MI.getFlag(MachineInstr::FmNoNans);
422
423 }
424 case GICXXPred_MI_Predicate_fmul_contract: {
425
426 return MI.getFlag(MachineInstr::FmContract);
427
428 }
429 case GICXXPred_MI_Predicate_fsub_contract: {
430
431 return MI.getFlag(MachineInstr::FmContract);
432
433 }
434 case GICXXPred_MI_Predicate_or_disjoint: {
435
436 return MI.getFlag(MachineInstr::Disjoint);
437
438 }
439 }
440 llvm_unreachable("Unknown predicate");
441 return false;
442}
443// PatFrag predicates.
444bool MipsInstructionSelector::testMOPredicate_MO(unsigned PredicateID, const MachineOperand & MO, const MatcherState &State) const {
445 const auto &Operands = State.RecordedOperands;
446 Register Reg = MO.getReg();
447 (void)Operands;
448 (void)Reg;
449 llvm_unreachable("Unknown predicate");
450 return false;
451}
452// PatFrag predicates.
453enum {
454 GICXXPred_I64_Predicate_FPNoSaturation = GICXXPred_Invalid + 1,
455 GICXXPred_I64_Predicate_Float8E4M3FN,
456 GICXXPred_I64_Predicate_Float8E5M2,
457 GICXXPred_I64_Predicate_NearestTiesToEven,
458 GICXXPred_I64_Predicate_immLi16,
459 GICXXPred_I64_Predicate_immSExt6,
460 GICXXPred_I64_Predicate_immSExt10,
461 GICXXPred_I64_Predicate_immSExtAddiur2,
462 GICXXPred_I64_Predicate_immSExtAddius5,
463 GICXXPred_I64_Predicate_immZExt1,
464 GICXXPred_I64_Predicate_immZExt1Ptr,
465 GICXXPred_I64_Predicate_immZExt2,
466 GICXXPred_I64_Predicate_immZExt2Lsa,
467 GICXXPred_I64_Predicate_immZExt2Ptr,
468 GICXXPred_I64_Predicate_immZExt2Shift,
469 GICXXPred_I64_Predicate_immZExt3,
470 GICXXPred_I64_Predicate_immZExt3Ptr,
471 GICXXPred_I64_Predicate_immZExt4,
472 GICXXPred_I64_Predicate_immZExt4Ptr,
473 GICXXPred_I64_Predicate_immZExt5,
474 GICXXPred_I64_Predicate_immZExt5_64,
475 GICXXPred_I64_Predicate_immZExt6,
476 GICXXPred_I64_Predicate_immZExt8,
477 GICXXPred_I64_Predicate_immZExt10,
478 GICXXPred_I64_Predicate_immZExtAndi16,
479 GICXXPred_I64_Predicate_immi32Cst7,
480 GICXXPred_I64_Predicate_immi32Cst15,
481 GICXXPred_I64_Predicate_immi32Cst31,
482 GICXXPred_I64_Predicate_timmSExt6,
483 GICXXPred_I64_Predicate_timmZExt1,
484 GICXXPred_I64_Predicate_timmZExt1Ptr,
485 GICXXPred_I64_Predicate_timmZExt2,
486 GICXXPred_I64_Predicate_timmZExt2Ptr,
487 GICXXPred_I64_Predicate_timmZExt3,
488 GICXXPred_I64_Predicate_timmZExt3Ptr,
489 GICXXPred_I64_Predicate_timmZExt4,
490 GICXXPred_I64_Predicate_timmZExt4Ptr,
491 GICXXPred_I64_Predicate_timmZExt5,
492 GICXXPred_I64_Predicate_timmZExt6,
493 GICXXPred_I64_Predicate_timmZExt8,
494 GICXXPred_I64_Predicate_timmZExt10,
495};
496bool MipsInstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
497 switch (PredicateID) {
498 case GICXXPred_I64_Predicate_FPNoSaturation: {
499 return Imm == 0;
500 }
501 case GICXXPred_I64_Predicate_Float8E4M3FN: {
502 return Imm == APFloatBase::S_Float8E4M3FN;
503 }
504 case GICXXPred_I64_Predicate_Float8E5M2: {
505 return Imm == APFloatBase::S_Float8E5M2;
506 }
507 case GICXXPred_I64_Predicate_NearestTiesToEven: {
508 return Imm == static_cast<int>(RoundingMode::NearestTiesToEven);
509 }
510 case GICXXPred_I64_Predicate_immLi16: {
511 return Imm >= -1 && Imm <= 126;
512 }
513 case GICXXPred_I64_Predicate_immSExt6: {
514 return isInt<6>(Imm);
515 }
516 case GICXXPred_I64_Predicate_immSExt10: {
517 return isInt<10>(Imm);
518 }
519 case GICXXPred_I64_Predicate_immSExtAddiur2: {
520 return Imm == 1 || Imm == -1 ||
521 ((Imm % 4 == 0) &&
522 Imm < 28 && Imm > 0);
523 }
524 case GICXXPred_I64_Predicate_immSExtAddius5: {
525 return Imm >= -8 && Imm <= 7;
526 }
527 case GICXXPred_I64_Predicate_immZExt1: {
528 return isUInt<1>(Imm);
529 }
530 case GICXXPred_I64_Predicate_immZExt1Ptr: {
531 return isUInt<1>(Imm);
532 }
533 case GICXXPred_I64_Predicate_immZExt2: {
534 return isUInt<2>(Imm);
535 }
536 case GICXXPred_I64_Predicate_immZExt2Lsa: {
537 return isUInt<2>(Imm - 1);
538 }
539 case GICXXPred_I64_Predicate_immZExt2Ptr: {
540 return isUInt<2>(Imm);
541 }
542 case GICXXPred_I64_Predicate_immZExt2Shift: {
543 return Imm >= 1 && Imm <= 8;
544 }
545 case GICXXPred_I64_Predicate_immZExt3: {
546 return isUInt<3>(Imm);
547 }
548 case GICXXPred_I64_Predicate_immZExt3Ptr: {
549 return isUInt<3>(Imm);
550 }
551 case GICXXPred_I64_Predicate_immZExt4: {
552 return isUInt<4>(Imm);
553 }
554 case GICXXPred_I64_Predicate_immZExt4Ptr: {
555 return isUInt<4>(Imm);
556 }
557 case GICXXPred_I64_Predicate_immZExt5: {
558 return Imm == (Imm & 0x1f);
559 }
560 case GICXXPred_I64_Predicate_immZExt5_64: {
561 return Imm == (Imm & 0x1f);
562 }
563 case GICXXPred_I64_Predicate_immZExt6: {
564 return Imm == (Imm & 0x3f);
565 }
566 case GICXXPred_I64_Predicate_immZExt8: {
567 return isUInt<8>(Imm);
568 }
569 case GICXXPred_I64_Predicate_immZExt10: {
570 return isUInt<10>(Imm);
571 }
572 case GICXXPred_I64_Predicate_immZExtAndi16: {
573 return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
574 Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
575 Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
576 }
577 case GICXXPred_I64_Predicate_immi32Cst7: {
578 return isUInt<32>(Imm) && Imm == 7;
579 }
580 case GICXXPred_I64_Predicate_immi32Cst15: {
581 return isUInt<32>(Imm) && Imm == 15;
582 }
583 case GICXXPred_I64_Predicate_immi32Cst31: {
584 return isUInt<32>(Imm) && Imm == 31;
585 }
586 case GICXXPred_I64_Predicate_timmSExt6: {
587 return isInt<6>(Imm);
588 }
589 case GICXXPred_I64_Predicate_timmZExt1: {
590 return isUInt<1>(Imm);
591 }
592 case GICXXPred_I64_Predicate_timmZExt1Ptr: {
593 return isUInt<1>(Imm);
594 }
595 case GICXXPred_I64_Predicate_timmZExt2: {
596 return isUInt<2>(Imm);
597 }
598 case GICXXPred_I64_Predicate_timmZExt2Ptr: {
599 return isUInt<2>(Imm);
600 }
601 case GICXXPred_I64_Predicate_timmZExt3: {
602 return isUInt<3>(Imm);
603 }
604 case GICXXPred_I64_Predicate_timmZExt3Ptr: {
605 return isUInt<3>(Imm);
606 }
607 case GICXXPred_I64_Predicate_timmZExt4: {
608 return isUInt<4>(Imm);
609 }
610 case GICXXPred_I64_Predicate_timmZExt4Ptr: {
611 return isUInt<4>(Imm);
612 }
613 case GICXXPred_I64_Predicate_timmZExt5: {
614 return Imm == (Imm & 0x1f);
615 }
616 case GICXXPred_I64_Predicate_timmZExt6: {
617 return Imm == (Imm & 0x3f);
618 }
619 case GICXXPred_I64_Predicate_timmZExt8: {
620 return isUInt<8>(Imm);
621 }
622 case GICXXPred_I64_Predicate_timmZExt10: {
623 return isUInt<10>(Imm);
624 }
625 }
626 llvm_unreachable("Unknown predicate");
627 return false;
628}
629// PatFrag predicates.
630bool MipsInstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
631 llvm_unreachable("Unknown predicate");
632 return false;
633}
634// PatFrag predicates.
635enum {
636 GICXXPred_APInt_Predicate_imm32SExt16 = GICXXPred_Invalid + 1,
637 GICXXPred_APInt_Predicate_imm32ZExt16,
638};
639bool MipsInstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
640 switch (PredicateID) {
641 case GICXXPred_APInt_Predicate_imm32SExt16: {
642 return isInt<16>(Imm.getSExtValue());
643 }
644 case GICXXPred_APInt_Predicate_imm32ZExt16: {
645
646 return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();
647
648 }
649 }
650 llvm_unreachable("Unknown predicate");
651 return false;
652}
653bool MipsInstructionSelector::testSimplePredicate(unsigned) const {
654 llvm_unreachable("MipsInstructionSelector does not support simple predicates!");
655 return false;
656}
657// Custom renderers.
658enum {
659 GICR_Invalid,
660 GICR_renderFrameIndex,
661};
662MipsInstructionSelector::CustomRendererFn
663MipsInstructionSelector::CustomRenderers[] = {
664 nullptr, // GICR_Invalid
665 &MipsInstructionSelector::renderFrameIndex,
666};
667
668bool MipsInstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
669 const PredicateBitset AvailableFeatures = getAvailableFeatures();
670 MachineIRBuilder B(I);
671 State.MIs.clear();
672 State.MIs.push_back(&I);
673
674 if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
675 return true;
676 }
677
678 return false;
679}
680
681bool MipsInstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
682 llvm_unreachable("MipsInstructionSelector does not support custom C++ actions!");
683}
684#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
685#define GIMT_Encode2(Val) uint8_t(Val), uint8_t((Val) >> 8)
686#define GIMT_Encode4(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24)
687#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)
688#else
689#define GIMT_Encode2(Val) uint8_t((Val) >> 8), uint8_t(Val)
690#define GIMT_Encode4(Val) uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
691#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)
692#endif
693const uint8_t *MipsInstructionSelector::getMatchTable() const {
694 constexpr static uint8_t MatchTable0[] = {
695 /* 0 */ GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2(55), GIMT_Encode2(312), /*)*//*default:*//*Label 85*/ GIMT_Encode4(68417),
696 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(1038),
697 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(2319),
698 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(2993),
699 /* 22 */ /*TargetOpcode::G_SDIV*//*Label 3*/ GIMT_Encode4(3432),
700 /* 26 */ /*TargetOpcode::G_UDIV*//*Label 4*/ GIMT_Encode4(3694),
701 /* 30 */ /*TargetOpcode::G_SREM*//*Label 5*/ GIMT_Encode4(3956),
702 /* 34 */ /*TargetOpcode::G_UREM*//*Label 6*/ GIMT_Encode4(4218), GIMT_Encode4(0), GIMT_Encode4(0),
703 /* 46 */ /*TargetOpcode::G_AND*//*Label 7*/ GIMT_Encode4(4480),
704 /* 50 */ /*TargetOpcode::G_OR*//*Label 8*/ GIMT_Encode4(5014),
705 /* 54 */ /*TargetOpcode::G_XOR*//*Label 9*/ GIMT_Encode4(5399), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
706 /* 118 */ /*TargetOpcode::G_MERGE_VALUES*//*Label 10*/ GIMT_Encode4(6236),
707 /* 122 */ /*TargetOpcode::G_BUILD_VECTOR*//*Label 11*/ GIMT_Encode4(6335), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
708 /* 142 */ /*TargetOpcode::G_BITCAST*//*Label 12*/ GIMT_Encode4(6670), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
709 /* 186 */ /*TargetOpcode::G_LOAD*//*Label 13*/ GIMT_Encode4(10754),
710 /* 190 */ /*TargetOpcode::G_SEXTLOAD*//*Label 14*/ GIMT_Encode4(10818),
711 /* 194 */ /*TargetOpcode::G_ZEXTLOAD*//*Label 15*/ GIMT_Encode4(10885), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
712 /* 230 */ /*TargetOpcode::G_ATOMIC_CMPXCHG*//*Label 16*/ GIMT_Encode4(10952),
713 /* 234 */ /*TargetOpcode::G_ATOMICRMW_XCHG*//*Label 17*/ GIMT_Encode4(11140),
714 /* 238 */ /*TargetOpcode::G_ATOMICRMW_ADD*//*Label 18*/ GIMT_Encode4(11306),
715 /* 242 */ /*TargetOpcode::G_ATOMICRMW_SUB*//*Label 19*/ GIMT_Encode4(11472),
716 /* 246 */ /*TargetOpcode::G_ATOMICRMW_AND*//*Label 20*/ GIMT_Encode4(11638),
717 /* 250 */ /*TargetOpcode::G_ATOMICRMW_NAND*//*Label 21*/ GIMT_Encode4(11804),
718 /* 254 */ /*TargetOpcode::G_ATOMICRMW_OR*//*Label 22*/ GIMT_Encode4(11970),
719 /* 258 */ /*TargetOpcode::G_ATOMICRMW_XOR*//*Label 23*/ GIMT_Encode4(12136),
720 /* 262 */ /*TargetOpcode::G_ATOMICRMW_MAX*//*Label 24*/ GIMT_Encode4(12302),
721 /* 266 */ /*TargetOpcode::G_ATOMICRMW_MIN*//*Label 25*/ GIMT_Encode4(12468),
722 /* 270 */ /*TargetOpcode::G_ATOMICRMW_UMAX*//*Label 26*/ GIMT_Encode4(12634),
723 /* 274 */ /*TargetOpcode::G_ATOMICRMW_UMIN*//*Label 27*/ GIMT_Encode4(12800), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 334 */ /*TargetOpcode::G_BRCOND*//*Label 28*/ GIMT_Encode4(12966),
725 /* 338 */ /*TargetOpcode::G_BRINDIRECT*//*Label 29*/ GIMT_Encode4(19130), GIMT_Encode4(0),
726 /* 346 */ /*TargetOpcode::G_INTRINSIC*//*Label 30*/ GIMT_Encode4(19365),
727 /* 350 */ /*TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS*//*Label 31*/ GIMT_Encode4(33307), GIMT_Encode4(0), GIMT_Encode4(0),
728 /* 362 */ /*TargetOpcode::G_ANYEXT*//*Label 32*/ GIMT_Encode4(38267),
729 /* 366 */ /*TargetOpcode::G_TRUNC*//*Label 33*/ GIMT_Encode4(38332), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
730 /* 382 */ /*TargetOpcode::G_CONSTANT*//*Label 34*/ GIMT_Encode4(38395), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
731 /* 398 */ /*TargetOpcode::G_SEXT*//*Label 35*/ GIMT_Encode4(38454),
732 /* 402 */ /*TargetOpcode::G_SEXT_INREG*//*Label 36*/ GIMT_Encode4(39911),
733 /* 406 */ /*TargetOpcode::G_ZEXT*//*Label 37*/ GIMT_Encode4(40230),
734 /* 410 */ /*TargetOpcode::G_SHL*//*Label 38*/ GIMT_Encode4(40427),
735 /* 414 */ /*TargetOpcode::G_LSHR*//*Label 39*/ GIMT_Encode4(42202),
736 /* 418 */ /*TargetOpcode::G_ASHR*//*Label 40*/ GIMT_Encode4(43977), GIMT_Encode4(0), GIMT_Encode4(0),
737 /* 430 */ /*TargetOpcode::G_ROTR*//*Label 41*/ GIMT_Encode4(45711), GIMT_Encode4(0),
738 /* 438 */ /*TargetOpcode::G_ICMP*//*Label 42*/ GIMT_Encode4(45994),
739 /* 442 */ /*TargetOpcode::G_FCMP*//*Label 43*/ GIMT_Encode4(48488), GIMT_Encode4(0), GIMT_Encode4(0),
740 /* 454 */ /*TargetOpcode::G_SELECT*//*Label 44*/ GIMT_Encode4(49413), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 498 */ /*TargetOpcode::G_UMULH*//*Label 45*/ GIMT_Encode4(59147),
742 /* 502 */ /*TargetOpcode::G_SMULH*//*Label 46*/ GIMT_Encode4(59253), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
743 /* 562 */ /*TargetOpcode::G_FADD*//*Label 47*/ GIMT_Encode4(59359),
744 /* 566 */ /*TargetOpcode::G_FSUB*//*Label 48*/ GIMT_Encode4(60671),
745 /* 570 */ /*TargetOpcode::G_FMUL*//*Label 49*/ GIMT_Encode4(61501),
746 /* 574 */ /*TargetOpcode::G_FMA*//*Label 50*/ GIMT_Encode4(62011), GIMT_Encode4(0),
747 /* 582 */ /*TargetOpcode::G_FDIV*//*Label 51*/ GIMT_Encode4(62111), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
748 /* 606 */ /*TargetOpcode::G_FEXP2*//*Label 52*/ GIMT_Encode4(62433), GIMT_Encode4(0), GIMT_Encode4(0),
749 /* 618 */ /*TargetOpcode::G_FLOG2*//*Label 53*/ GIMT_Encode4(62505), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
750 /* 634 */ /*TargetOpcode::G_FNEG*//*Label 54*/ GIMT_Encode4(62577),
751 /* 638 */ /*TargetOpcode::G_FPEXT*//*Label 55*/ GIMT_Encode4(62755),
752 /* 642 */ /*TargetOpcode::G_FPTRUNC*//*Label 56*/ GIMT_Encode4(62870),
753 /* 646 */ /*TargetOpcode::G_FPTOSI*//*Label 57*/ GIMT_Encode4(62977),
754 /* 650 */ /*TargetOpcode::G_FPTOUI*//*Label 58*/ GIMT_Encode4(63049),
755 /* 654 */ /*TargetOpcode::G_SITOFP*//*Label 59*/ GIMT_Encode4(63121),
756 /* 658 */ /*TargetOpcode::G_UITOFP*//*Label 60*/ GIMT_Encode4(63403), GIMT_Encode4(0), GIMT_Encode4(0),
757 /* 670 */ /*TargetOpcode::G_FABS*//*Label 61*/ GIMT_Encode4(63475), GIMT_Encode4(0), GIMT_Encode4(0),
758 /* 682 */ /*TargetOpcode::G_FCANONICALIZE*//*Label 62*/ GIMT_Encode4(63715),
759 /* 686 */ /*TargetOpcode::G_FMINNUM*//*Label 63*/ GIMT_Encode4(63787),
760 /* 690 */ /*TargetOpcode::G_FMAXNUM*//*Label 64*/ GIMT_Encode4(63857),
761 /* 694 */ /*TargetOpcode::G_FMINNUM_IEEE*//*Label 65*/ GIMT_Encode4(63927),
762 /* 698 */ /*TargetOpcode::G_FMAXNUM_IEEE*//*Label 66*/ GIMT_Encode4(63997), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
763 /* 758 */ /*TargetOpcode::G_SMIN*//*Label 67*/ GIMT_Encode4(64067),
764 /* 762 */ /*TargetOpcode::G_SMAX*//*Label 68*/ GIMT_Encode4(64231),
765 /* 766 */ /*TargetOpcode::G_UMIN*//*Label 69*/ GIMT_Encode4(64395),
766 /* 770 */ /*TargetOpcode::G_UMAX*//*Label 70*/ GIMT_Encode4(64559), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
767 /* 786 */ /*TargetOpcode::G_BR*//*Label 71*/ GIMT_Encode4(64723), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
768 /* 806 */ /*TargetOpcode::G_INSERT_VECTOR_ELT*//*Label 72*/ GIMT_Encode4(64841),
769 /* 810 */ /*TargetOpcode::G_EXTRACT_VECTOR_ELT*//*Label 73*/ GIMT_Encode4(65433), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
770 /* 838 */ /*TargetOpcode::G_CTLZ*//*Label 74*/ GIMT_Encode4(65484), GIMT_Encode4(0), GIMT_Encode4(0),
771 /* 850 */ /*TargetOpcode::G_CTPOP*//*Label 75*/ GIMT_Encode4(65975),
772 /* 854 */ /*TargetOpcode::G_BSWAP*//*Label 76*/ GIMT_Encode4(66175), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
773 /* 922 */ /*TargetOpcode::G_FSQRT*//*Label 77*/ GIMT_Encode4(66336), GIMT_Encode4(0),
774 /* 930 */ /*TargetOpcode::G_FRINT*//*Label 78*/ GIMT_Encode4(66600), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
775 /* 962 */ /*TargetOpcode::G_STRICT_FADD*//*Label 79*/ GIMT_Encode4(66672),
776 /* 966 */ /*TargetOpcode::G_STRICT_FSUB*//*Label 80*/ GIMT_Encode4(67512),
777 /* 970 */ /*TargetOpcode::G_STRICT_FMUL*//*Label 81*/ GIMT_Encode4(68002),
778 /* 974 */ /*TargetOpcode::G_STRICT_FDIV*//*Label 82*/ GIMT_Encode4(68132), GIMT_Encode4(0), GIMT_Encode4(0),
779 /* 986 */ /*TargetOpcode::G_STRICT_FSQRT*//*Label 83*/ GIMT_Encode4(68262), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
780 /* 1034 */ /*TargetOpcode::G_TRAP*//*Label 84*/ GIMT_Encode4(68374),
781 /* 1038 */ // Label 0: @1038
782 /* 1038 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 94*/ GIMT_Encode4(2318),
783 /* 1049 */ /*GILLT_s32*//*Label 86*/ GIMT_Encode4(1081),
784 /* 1053 */ /*GILLT_s64*//*Label 87*/ GIMT_Encode4(1479),
785 /* 1057 */ /*GILLT_v4s8*//*Label 88*/ GIMT_Encode4(1644),
786 /* 1061 */ /*GILLT_v16s8*//*Label 89*/ GIMT_Encode4(1675),
787 /* 1065 */ /*GILLT_v2s16*//*Label 90*/ GIMT_Encode4(1828),
788 /* 1069 */ /*GILLT_v8s16*//*Label 91*/ GIMT_Encode4(1859),
789 /* 1073 */ /*GILLT_v4s32*//*Label 92*/ GIMT_Encode4(2012),
790 /* 1077 */ /*GILLT_v2s64*//*Label 93*/ GIMT_Encode4(2165),
791 /* 1081 */ // Label 86: @1081
792 /* 1081 */ GIM_Try, /*On fail goto*//*Label 95*/ GIMT_Encode4(1478),
793 /* 1086 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
794 /* 1089 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
795 /* 1092 */ GIM_Try, /*On fail goto*//*Label 96*/ GIMT_Encode4(1265),
796 /* 1097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
797 /* 1101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 97*/ GIMT_Encode4(1163), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2544 //
798 /* 1108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
799 /* 1112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
800 /* 1116 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
801 /* 1120 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
802 /* 1124 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
803 /* 1129 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
804 /* 1133 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
805 /* 1137 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
806 /* 1141 */ // MIs[2] Operand 1
807 /* 1141 */ // No operand predicates
808 /* 1141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
809 /* 1145 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
810 /* 1147 */ // (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)
811 /* 1147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LSA),
812 /* 1150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
813 /* 1152 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
814 /* 1156 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
815 /* 1158 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // sa
816 /* 1161 */ GIR_RootConstrainSelectedInstOperands,
817 /* 1162 */ // GIR_Coverage, 2544,
818 /* 1162 */ GIR_EraseRootFromParent_Done,
819 /* 1163 */ // Label 97: @1163
820 /* 1163 */ GIM_Try, /*On fail goto*//*Label 98*/ GIMT_Encode4(1264),
821 /* 1168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
822 /* 1172 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 99*/ GIMT_Encode4(1230), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 862 //
823 /* 1179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
824 /* 1183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
825 /* 1187 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
826 /* 1191 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
827 /* 1195 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
828 /* 1200 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
829 /* 1204 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
830 /* 1208 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
831 /* 1212 */ // MIs[2] Operand 1
832 /* 1212 */ // No operand predicates
833 /* 1212 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
834 /* 1214 */ // (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)
835 /* 1214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LSA),
836 /* 1217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
837 /* 1219 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
838 /* 1223 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
839 /* 1225 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // sa
840 /* 1228 */ GIR_RootConstrainSelectedInstOperands,
841 /* 1229 */ // GIR_Coverage, 862,
842 /* 1229 */ GIR_EraseRootFromParent_Done,
843 /* 1230 */ // Label 99: @1230
844 /* 1230 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 100*/ GIMT_Encode4(1263), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 40 //
845 /* 1237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
846 /* 1241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
847 /* 1245 */ GIM_CheckAPIntImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_APInt_Predicate_imm32SExt16),
848 /* 1249 */ // MIs[1] Operand 1
849 /* 1249 */ // No operand predicates
850 /* 1249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
851 /* 1251 */ // (add:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_imm32SExt16>>:$imm16) => (ADDiu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$imm16)
852 /* 1251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDiu),
853 /* 1254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
854 /* 1256 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
855 /* 1258 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm16
856 /* 1261 */ GIR_RootConstrainSelectedInstOperands,
857 /* 1262 */ // GIR_Coverage, 40,
858 /* 1262 */ GIR_EraseRootFromParent_Done,
859 /* 1263 */ // Label 100: @1263
860 /* 1263 */ GIM_Reject,
861 /* 1264 */ // Label 98: @1264
862 /* 1264 */ GIM_Reject,
863 /* 1265 */ // Label 96: @1265
864 /* 1265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 101*/ GIMT_Encode4(1306), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2302 //
865 /* 1272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
866 /* 1276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
867 /* 1280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
868 /* 1284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
869 /* 1288 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immSExtAddiur2),
870 /* 1292 */ // MIs[1] Operand 1
871 /* 1292 */ // No operand predicates
872 /* 1292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
873 /* 1294 */ // (add:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immSExtAddiur2>>:$imm) => (ADDIUR2_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immSExtAddiur2>>:$imm)
874 /* 1294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDIUR2_MM),
875 /* 1297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
876 /* 1299 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
877 /* 1301 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
878 /* 1304 */ GIR_RootConstrainSelectedInstOperands,
879 /* 1305 */ // GIR_Coverage, 2302,
880 /* 1305 */ GIR_EraseRootFromParent_Done,
881 /* 1306 */ // Label 101: @1306
882 /* 1306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 102*/ GIMT_Encode4(1347), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2303 //
883 /* 1313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
884 /* 1317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
885 /* 1321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
886 /* 1325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
887 /* 1329 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immSExtAddius5),
888 /* 1333 */ // MIs[1] Operand 1
889 /* 1333 */ // No operand predicates
890 /* 1333 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
891 /* 1335 */ // (add:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immSExtAddius5>>:$imm) => (ADDIUS5_MM:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immSExtAddius5>>:$imm)
892 /* 1335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDIUS5_MM),
893 /* 1338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
894 /* 1340 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
895 /* 1342 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
896 /* 1345 */ GIR_RootConstrainSelectedInstOperands,
897 /* 1346 */ // GIR_Coverage, 2303,
898 /* 1346 */ GIR_EraseRootFromParent_Done,
899 /* 1347 */ // Label 102: @1347
900 /* 1347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 103*/ GIMT_Encode4(1373), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1230 //
901 /* 1354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
902 /* 1358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
903 /* 1362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
904 /* 1366 */ // (add:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (ADDU16_MMR6:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
905 /* 1366 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDU16_MMR6),
906 /* 1371 */ GIR_RootConstrainSelectedInstOperands,
907 /* 1372 */ // GIR_Coverage, 1230,
908 /* 1372 */ GIR_Done,
909 /* 1373 */ // Label 103: @1373
910 /* 1373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 104*/ GIMT_Encode4(1399), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 46 //
911 /* 1380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
912 /* 1384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
913 /* 1388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
914 /* 1392 */ // (add:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
915 /* 1392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDu),
916 /* 1397 */ GIR_RootConstrainSelectedInstOperands,
917 /* 1398 */ // GIR_Coverage, 46,
918 /* 1398 */ GIR_Done,
919 /* 1399 */ // Label 104: @1399
920 /* 1399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 105*/ GIMT_Encode4(1425), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1082 //
921 /* 1406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
922 /* 1410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
923 /* 1414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
924 /* 1418 */ // (add:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (ADDU16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
925 /* 1418 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDU16_MM),
926 /* 1423 */ GIR_RootConstrainSelectedInstOperands,
927 /* 1424 */ // GIR_Coverage, 1082,
928 /* 1424 */ GIR_Done,
929 /* 1425 */ // Label 105: @1425
930 /* 1425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 106*/ GIMT_Encode4(1451), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1094 //
931 /* 1432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
932 /* 1436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
933 /* 1440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
934 /* 1444 */ // (add:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDu_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
935 /* 1444 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDu_MM),
936 /* 1449 */ GIR_RootConstrainSelectedInstOperands,
937 /* 1450 */ // GIR_Coverage, 1094,
938 /* 1450 */ GIR_Done,
939 /* 1451 */ // Label 106: @1451
940 /* 1451 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 107*/ GIMT_Encode4(1477), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1957 //
941 /* 1458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
942 /* 1462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
943 /* 1466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
944 /* 1470 */ // (add:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (AdduRxRyRz16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
945 /* 1470 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AdduRxRyRz16),
946 /* 1475 */ GIR_RootConstrainSelectedInstOperands,
947 /* 1476 */ // GIR_Coverage, 1957,
948 /* 1476 */ GIR_Done,
949 /* 1477 */ // Label 107: @1477
950 /* 1477 */ GIM_Reject,
951 /* 1478 */ // Label 95: @1478
952 /* 1478 */ GIM_Reject,
953 /* 1479 */ // Label 87: @1479
954 /* 1479 */ GIM_Try, /*On fail goto*//*Label 108*/ GIMT_Encode4(1643),
955 /* 1484 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
956 /* 1487 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
957 /* 1490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
958 /* 1494 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 109*/ GIMT_Encode4(1556), GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc), // Rule ID 2545 //
959 /* 1501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
960 /* 1505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
961 /* 1509 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
962 /* 1513 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
963 /* 1517 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
964 /* 1522 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
965 /* 1526 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
966 /* 1530 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
967 /* 1534 */ // MIs[2] Operand 1
968 /* 1534 */ // No operand predicates
969 /* 1534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
970 /* 1538 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
971 /* 1540 */ // (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)
972 /* 1540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DLSA),
973 /* 1543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
974 /* 1545 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
975 /* 1549 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
976 /* 1551 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // sa
977 /* 1554 */ GIR_RootConstrainSelectedInstOperands,
978 /* 1555 */ // GIR_Coverage, 2545,
979 /* 1555 */ GIR_EraseRootFromParent_Done,
980 /* 1556 */ // Label 109: @1556
981 /* 1556 */ GIM_Try, /*On fail goto*//*Label 110*/ GIMT_Encode4(1642),
982 /* 1561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
983 /* 1565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 111*/ GIMT_Encode4(1623), GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc), // Rule ID 863 //
984 /* 1572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
985 /* 1576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
986 /* 1580 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
987 /* 1584 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
988 /* 1588 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
989 /* 1593 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
990 /* 1597 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
991 /* 1601 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
992 /* 1605 */ // MIs[2] Operand 1
993 /* 1605 */ // No operand predicates
994 /* 1605 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
995 /* 1607 */ // (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)
996 /* 1607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DLSA),
997 /* 1610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
998 /* 1612 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
999 /* 1616 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
1000 /* 1618 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // sa
1001 /* 1621 */ GIR_RootConstrainSelectedInstOperands,
1002 /* 1622 */ // GIR_Coverage, 863,
1003 /* 1622 */ GIR_EraseRootFromParent_Done,
1004 /* 1623 */ // Label 111: @1623
1005 /* 1623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 112*/ GIMT_Encode4(1641), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips), // Rule ID 230 //
1006 /* 1630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1007 /* 1634 */ // (add:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DADDu:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1008 /* 1634 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DADDu),
1009 /* 1639 */ GIR_RootConstrainSelectedInstOperands,
1010 /* 1640 */ // GIR_Coverage, 230,
1011 /* 1640 */ GIR_Done,
1012 /* 1641 */ // Label 112: @1641
1013 /* 1641 */ GIM_Reject,
1014 /* 1642 */ // Label 110: @1642
1015 /* 1642 */ GIM_Reject,
1016 /* 1643 */ // Label 108: @1643
1017 /* 1643 */ GIM_Reject,
1018 /* 1644 */ // Label 88: @1644
1019 /* 1644 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 113*/ GIMT_Encode4(1674), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2062 //
1020 /* 1651 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
1021 /* 1654 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
1022 /* 1657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1023 /* 1661 */ // (add:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b) => (ADDU_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b)
1024 /* 1661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDU_QB),
1025 /* 1666 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1026 /* 1672 */ GIR_RootConstrainSelectedInstOperands,
1027 /* 1673 */ // GIR_Coverage, 2062,
1028 /* 1673 */ GIR_Done,
1029 /* 1674 */ // Label 113: @1674
1030 /* 1674 */ GIM_Reject,
1031 /* 1675 */ // Label 89: @1675
1032 /* 1675 */ GIM_Try, /*On fail goto*//*Label 114*/ GIMT_Encode4(1827),
1033 /* 1680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1034 /* 1683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1035 /* 1686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1036 /* 1690 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 115*/ GIMT_Encode4(1746), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2546 //
1037 /* 1697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1038 /* 1701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1039 /* 1705 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
1040 /* 1709 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
1041 /* 1713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1042 /* 1718 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1043 /* 1723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1044 /* 1727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1045 /* 1729 */ // (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)
1046 /* 1729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_B),
1047 /* 1732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1048 /* 1734 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
1049 /* 1736 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1050 /* 1740 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1051 /* 1744 */ GIR_RootConstrainSelectedInstOperands,
1052 /* 1745 */ // GIR_Coverage, 2546,
1053 /* 1745 */ GIR_EraseRootFromParent_Done,
1054 /* 1746 */ // Label 115: @1746
1055 /* 1746 */ GIM_Try, /*On fail goto*//*Label 116*/ GIMT_Encode4(1826),
1056 /* 1751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1057 /* 1755 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 117*/ GIMT_Encode4(1807), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 868 //
1058 /* 1762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1059 /* 1766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1060 /* 1770 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
1061 /* 1774 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
1062 /* 1778 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1063 /* 1783 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1064 /* 1788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1065 /* 1790 */ // (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)
1066 /* 1790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_B),
1067 /* 1793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1068 /* 1795 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1069 /* 1797 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1070 /* 1801 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1071 /* 1805 */ GIR_RootConstrainSelectedInstOperands,
1072 /* 1806 */ // GIR_Coverage, 868,
1073 /* 1806 */ GIR_EraseRootFromParent_Done,
1074 /* 1807 */ // Label 117: @1807
1075 /* 1807 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 118*/ GIMT_Encode4(1825), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 535 //
1076 /* 1814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1077 /* 1818 */ // (add:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADDV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1078 /* 1818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDV_B),
1079 /* 1823 */ GIR_RootConstrainSelectedInstOperands,
1080 /* 1824 */ // GIR_Coverage, 535,
1081 /* 1824 */ GIR_Done,
1082 /* 1825 */ // Label 118: @1825
1083 /* 1825 */ GIM_Reject,
1084 /* 1826 */ // Label 116: @1826
1085 /* 1826 */ GIM_Reject,
1086 /* 1827 */ // Label 114: @1827
1087 /* 1827 */ GIM_Reject,
1088 /* 1828 */ // Label 90: @1828
1089 /* 1828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 119*/ GIMT_Encode4(1858), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2056 //
1090 /* 1835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
1091 /* 1838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
1092 /* 1841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1093 /* 1845 */ // (add:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (ADDQ_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
1094 /* 1845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDQ_PH),
1095 /* 1850 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1096 /* 1856 */ GIR_RootConstrainSelectedInstOperands,
1097 /* 1857 */ // GIR_Coverage, 2056,
1098 /* 1857 */ GIR_Done,
1099 /* 1858 */ // Label 119: @1858
1100 /* 1858 */ GIM_Reject,
1101 /* 1859 */ // Label 91: @1859
1102 /* 1859 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(2011),
1103 /* 1864 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1104 /* 1867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1105 /* 1870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1106 /* 1874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 121*/ GIMT_Encode4(1930), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2547 //
1107 /* 1881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1108 /* 1885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1109 /* 1889 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
1110 /* 1893 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
1111 /* 1897 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1112 /* 1902 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1113 /* 1907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1114 /* 1911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1115 /* 1913 */ // (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)
1116 /* 1913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_H),
1117 /* 1916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1118 /* 1918 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
1119 /* 1920 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1120 /* 1924 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1121 /* 1928 */ GIR_RootConstrainSelectedInstOperands,
1122 /* 1929 */ // GIR_Coverage, 2547,
1123 /* 1929 */ GIR_EraseRootFromParent_Done,
1124 /* 1930 */ // Label 121: @1930
1125 /* 1930 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(2010),
1126 /* 1935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1127 /* 1939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 123*/ GIMT_Encode4(1991), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 869 //
1128 /* 1946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1129 /* 1950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1130 /* 1954 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
1131 /* 1958 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
1132 /* 1962 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1133 /* 1967 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1134 /* 1972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1135 /* 1974 */ // (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)
1136 /* 1974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_H),
1137 /* 1977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1138 /* 1979 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1139 /* 1981 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1140 /* 1985 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1141 /* 1989 */ GIR_RootConstrainSelectedInstOperands,
1142 /* 1990 */ // GIR_Coverage, 869,
1143 /* 1990 */ GIR_EraseRootFromParent_Done,
1144 /* 1991 */ // Label 123: @1991
1145 /* 1991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 124*/ GIMT_Encode4(2009), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 536 //
1146 /* 1998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1147 /* 2002 */ // (add:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADDV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1148 /* 2002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDV_H),
1149 /* 2007 */ GIR_RootConstrainSelectedInstOperands,
1150 /* 2008 */ // GIR_Coverage, 536,
1151 /* 2008 */ GIR_Done,
1152 /* 2009 */ // Label 124: @2009
1153 /* 2009 */ GIM_Reject,
1154 /* 2010 */ // Label 122: @2010
1155 /* 2010 */ GIM_Reject,
1156 /* 2011 */ // Label 120: @2011
1157 /* 2011 */ GIM_Reject,
1158 /* 2012 */ // Label 92: @2012
1159 /* 2012 */ GIM_Try, /*On fail goto*//*Label 125*/ GIMT_Encode4(2164),
1160 /* 2017 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1161 /* 2020 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1162 /* 2023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1163 /* 2027 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 126*/ GIMT_Encode4(2083), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2548 //
1164 /* 2034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1165 /* 2038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1166 /* 2042 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
1167 /* 2046 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
1168 /* 2050 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1169 /* 2055 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1170 /* 2060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1171 /* 2064 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1172 /* 2066 */ // (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)
1173 /* 2066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_W),
1174 /* 2069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1175 /* 2071 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
1176 /* 2073 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1177 /* 2077 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1178 /* 2081 */ GIR_RootConstrainSelectedInstOperands,
1179 /* 2082 */ // GIR_Coverage, 2548,
1180 /* 2082 */ GIR_EraseRootFromParent_Done,
1181 /* 2083 */ // Label 126: @2083
1182 /* 2083 */ GIM_Try, /*On fail goto*//*Label 127*/ GIMT_Encode4(2163),
1183 /* 2088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1184 /* 2092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 128*/ GIMT_Encode4(2144), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 870 //
1185 /* 2099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1186 /* 2103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1187 /* 2107 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
1188 /* 2111 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
1189 /* 2115 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1190 /* 2120 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1191 /* 2125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1192 /* 2127 */ // (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)
1193 /* 2127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_W),
1194 /* 2130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1195 /* 2132 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1196 /* 2134 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1197 /* 2138 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1198 /* 2142 */ GIR_RootConstrainSelectedInstOperands,
1199 /* 2143 */ // GIR_Coverage, 870,
1200 /* 2143 */ GIR_EraseRootFromParent_Done,
1201 /* 2144 */ // Label 128: @2144
1202 /* 2144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 129*/ GIMT_Encode4(2162), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 537 //
1203 /* 2151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1204 /* 2155 */ // (add:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADDV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1205 /* 2155 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDV_W),
1206 /* 2160 */ GIR_RootConstrainSelectedInstOperands,
1207 /* 2161 */ // GIR_Coverage, 537,
1208 /* 2161 */ GIR_Done,
1209 /* 2162 */ // Label 129: @2162
1210 /* 2162 */ GIM_Reject,
1211 /* 2163 */ // Label 127: @2163
1212 /* 2163 */ GIM_Reject,
1213 /* 2164 */ // Label 125: @2164
1214 /* 2164 */ GIM_Reject,
1215 /* 2165 */ // Label 93: @2165
1216 /* 2165 */ GIM_Try, /*On fail goto*//*Label 130*/ GIMT_Encode4(2317),
1217 /* 2170 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1218 /* 2173 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1219 /* 2176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1220 /* 2180 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 131*/ GIMT_Encode4(2236), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2549 //
1221 /* 2187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1222 /* 2191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1223 /* 2195 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
1224 /* 2199 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
1225 /* 2203 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1226 /* 2208 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1227 /* 2213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1228 /* 2217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1229 /* 2219 */ // (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)
1230 /* 2219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_D),
1231 /* 2222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1232 /* 2224 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
1233 /* 2226 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1234 /* 2230 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1235 /* 2234 */ GIR_RootConstrainSelectedInstOperands,
1236 /* 2235 */ // GIR_Coverage, 2549,
1237 /* 2235 */ GIR_EraseRootFromParent_Done,
1238 /* 2236 */ // Label 131: @2236
1239 /* 2236 */ GIM_Try, /*On fail goto*//*Label 132*/ GIMT_Encode4(2316),
1240 /* 2241 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1241 /* 2245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 133*/ GIMT_Encode4(2297), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 871 //
1242 /* 2252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1243 /* 2256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1244 /* 2260 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
1245 /* 2264 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
1246 /* 2268 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1247 /* 2273 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1248 /* 2278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1249 /* 2280 */ // (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)
1250 /* 2280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDV_D),
1251 /* 2283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1252 /* 2285 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1253 /* 2287 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1254 /* 2291 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1255 /* 2295 */ GIR_RootConstrainSelectedInstOperands,
1256 /* 2296 */ // GIR_Coverage, 871,
1257 /* 2296 */ GIR_EraseRootFromParent_Done,
1258 /* 2297 */ // Label 133: @2297
1259 /* 2297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 134*/ GIMT_Encode4(2315), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 538 //
1260 /* 2304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1261 /* 2308 */ // (add:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADDV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1262 /* 2308 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ADDV_D),
1263 /* 2313 */ GIR_RootConstrainSelectedInstOperands,
1264 /* 2314 */ // GIR_Coverage, 538,
1265 /* 2314 */ GIR_Done,
1266 /* 2315 */ // Label 134: @2315
1267 /* 2315 */ GIM_Reject,
1268 /* 2316 */ // Label 132: @2316
1269 /* 2316 */ GIM_Reject,
1270 /* 2317 */ // Label 130: @2317
1271 /* 2317 */ GIM_Reject,
1272 /* 2318 */ // Label 94: @2318
1273 /* 2318 */ GIM_Reject,
1274 /* 2319 */ // Label 1: @2319
1275 /* 2319 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 143*/ GIMT_Encode4(2992),
1276 /* 2330 */ /*GILLT_s32*//*Label 135*/ GIMT_Encode4(2362),
1277 /* 2334 */ /*GILLT_s64*//*Label 136*/ GIMT_Encode4(2533),
1278 /* 2338 */ /*GILLT_v4s8*//*Label 137*/ GIMT_Encode4(2566),
1279 /* 2342 */ /*GILLT_v16s8*//*Label 138*/ GIMT_Encode4(2597),
1280 /* 2346 */ /*GILLT_v2s16*//*Label 139*/ GIMT_Encode4(2688),
1281 /* 2350 */ /*GILLT_v8s16*//*Label 140*/ GIMT_Encode4(2719),
1282 /* 2354 */ /*GILLT_v4s32*//*Label 141*/ GIMT_Encode4(2810),
1283 /* 2358 */ /*GILLT_v2s64*//*Label 142*/ GIMT_Encode4(2901),
1284 /* 2362 */ // Label 135: @2362
1285 /* 2362 */ GIM_Try, /*On fail goto*//*Label 144*/ GIMT_Encode4(2532),
1286 /* 2367 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1287 /* 2370 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1288 /* 2373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 145*/ GIMT_Encode4(2401), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1956 //
1289 /* 2380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1290 /* 2384 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
1291 /* 2388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1292 /* 2392 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, CPU16Regs:{ *:[i32] }:$r) => (NegRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r)
1293 /* 2392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NegRxRy16),
1294 /* 2395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
1295 /* 2397 */ GIR_RootToRootCopy, /*OpIdx*/2, // r
1296 /* 2399 */ GIR_RootConstrainSelectedInstOperands,
1297 /* 2400 */ // GIR_Coverage, 1956,
1298 /* 2400 */ GIR_EraseRootFromParent_Done,
1299 /* 2401 */ // Label 145: @2401
1300 /* 2401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 146*/ GIMT_Encode4(2427), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1232 //
1301 /* 2408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1302 /* 2412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1303 /* 2416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1304 /* 2420 */ // (sub:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (SUBU16_MMR6:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
1305 /* 2420 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBU16_MMR6),
1306 /* 2425 */ GIR_RootConstrainSelectedInstOperands,
1307 /* 2426 */ // GIR_Coverage, 1232,
1308 /* 2426 */ GIR_Done,
1309 /* 2427 */ // Label 146: @2427
1310 /* 2427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 147*/ GIMT_Encode4(2453), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 47 //
1311 /* 2434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1312 /* 2438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1313 /* 2442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1314 /* 2446 */ // (sub:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1315 /* 2446 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBu),
1316 /* 2451 */ GIR_RootConstrainSelectedInstOperands,
1317 /* 2452 */ // GIR_Coverage, 47,
1318 /* 2452 */ GIR_Done,
1319 /* 2453 */ // Label 147: @2453
1320 /* 2453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 148*/ GIMT_Encode4(2479), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1086 //
1321 /* 2460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1322 /* 2464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1323 /* 2468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
1324 /* 2472 */ // (sub:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (SUBU16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
1325 /* 2472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBU16_MM),
1326 /* 2477 */ GIR_RootConstrainSelectedInstOperands,
1327 /* 2478 */ // GIR_Coverage, 1086,
1328 /* 2478 */ GIR_Done,
1329 /* 2479 */ // Label 148: @2479
1330 /* 2479 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 149*/ GIMT_Encode4(2505), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1095 //
1331 /* 2486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1332 /* 2490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1333 /* 2494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1334 /* 2498 */ // (sub:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBu_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1335 /* 2498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBu_MM),
1336 /* 2503 */ GIR_RootConstrainSelectedInstOperands,
1337 /* 2504 */ // GIR_Coverage, 1095,
1338 /* 2504 */ GIR_Done,
1339 /* 2505 */ // Label 149: @2505
1340 /* 2505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 150*/ GIMT_Encode4(2531), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1961 //
1341 /* 2512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1342 /* 2516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1343 /* 2520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1344 /* 2524 */ // (sub:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (SubuRxRyRz16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
1345 /* 2524 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SubuRxRyRz16),
1346 /* 2529 */ GIR_RootConstrainSelectedInstOperands,
1347 /* 2530 */ // GIR_Coverage, 1961,
1348 /* 2530 */ GIR_Done,
1349 /* 2531 */ // Label 150: @2531
1350 /* 2531 */ GIM_Reject,
1351 /* 2532 */ // Label 144: @2532
1352 /* 2532 */ GIM_Reject,
1353 /* 2533 */ // Label 136: @2533
1354 /* 2533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 151*/ GIMT_Encode4(2565), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips), // Rule ID 231 //
1355 /* 2540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1356 /* 2543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1357 /* 2546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1358 /* 2550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1359 /* 2554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1360 /* 2558 */ // (sub:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DSUBu:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1361 /* 2558 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DSUBu),
1362 /* 2563 */ GIR_RootConstrainSelectedInstOperands,
1363 /* 2564 */ // GIR_Coverage, 231,
1364 /* 2564 */ GIR_Done,
1365 /* 2565 */ // Label 151: @2565
1366 /* 2565 */ GIM_Reject,
1367 /* 2566 */ // Label 137: @2566
1368 /* 2566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 152*/ GIMT_Encode4(2596), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2064 //
1369 /* 2573 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
1370 /* 2576 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
1371 /* 2579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1372 /* 2583 */ // (sub:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b) => (SUBU_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b)
1373 /* 2583 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBU_QB),
1374 /* 2588 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1375 /* 2594 */ GIR_RootConstrainSelectedInstOperands,
1376 /* 2595 */ // GIR_Coverage, 2064,
1377 /* 2595 */ GIR_Done,
1378 /* 2596 */ // Label 152: @2596
1379 /* 2596 */ GIM_Reject,
1380 /* 2597 */ // Label 138: @2597
1381 /* 2597 */ GIM_Try, /*On fail goto*//*Label 153*/ GIMT_Encode4(2687),
1382 /* 2602 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1383 /* 2605 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1384 /* 2608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1385 /* 2612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1386 /* 2616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 154*/ GIMT_Encode4(2668), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 924 //
1387 /* 2623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1388 /* 2627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1389 /* 2631 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
1390 /* 2635 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
1391 /* 2639 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1392 /* 2644 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1393 /* 2649 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1394 /* 2651 */ // (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)
1395 /* 2651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBV_B),
1396 /* 2654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1397 /* 2656 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1398 /* 2658 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1399 /* 2662 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1400 /* 2666 */ GIR_RootConstrainSelectedInstOperands,
1401 /* 2667 */ // GIR_Coverage, 924,
1402 /* 2667 */ GIR_EraseRootFromParent_Done,
1403 /* 2668 */ // Label 154: @2668
1404 /* 2668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 155*/ GIMT_Encode4(2686), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1053 //
1405 /* 2675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1406 /* 2679 */ // (sub:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1407 /* 2679 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBV_B),
1408 /* 2684 */ GIR_RootConstrainSelectedInstOperands,
1409 /* 2685 */ // GIR_Coverage, 1053,
1410 /* 2685 */ GIR_Done,
1411 /* 2686 */ // Label 155: @2686
1412 /* 2686 */ GIM_Reject,
1413 /* 2687 */ // Label 153: @2687
1414 /* 2687 */ GIM_Reject,
1415 /* 2688 */ // Label 139: @2688
1416 /* 2688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 156*/ GIMT_Encode4(2718), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2058 //
1417 /* 2695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
1418 /* 2698 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
1419 /* 2701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1420 /* 2705 */ // (sub:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (SUBQ_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
1421 /* 2705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBQ_PH),
1422 /* 2710 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1423 /* 2716 */ GIR_RootConstrainSelectedInstOperands,
1424 /* 2717 */ // GIR_Coverage, 2058,
1425 /* 2717 */ GIR_Done,
1426 /* 2718 */ // Label 156: @2718
1427 /* 2718 */ GIM_Reject,
1428 /* 2719 */ // Label 140: @2719
1429 /* 2719 */ GIM_Try, /*On fail goto*//*Label 157*/ GIMT_Encode4(2809),
1430 /* 2724 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1431 /* 2727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1432 /* 2730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1433 /* 2734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1434 /* 2738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 158*/ GIMT_Encode4(2790), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 925 //
1435 /* 2745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1436 /* 2749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1437 /* 2753 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
1438 /* 2757 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
1439 /* 2761 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1440 /* 2766 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1441 /* 2771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1442 /* 2773 */ // (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)
1443 /* 2773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBV_H),
1444 /* 2776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1445 /* 2778 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1446 /* 2780 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1447 /* 2784 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1448 /* 2788 */ GIR_RootConstrainSelectedInstOperands,
1449 /* 2789 */ // GIR_Coverage, 925,
1450 /* 2789 */ GIR_EraseRootFromParent_Done,
1451 /* 2790 */ // Label 158: @2790
1452 /* 2790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 159*/ GIMT_Encode4(2808), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1054 //
1453 /* 2797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1454 /* 2801 */ // (sub:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1455 /* 2801 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBV_H),
1456 /* 2806 */ GIR_RootConstrainSelectedInstOperands,
1457 /* 2807 */ // GIR_Coverage, 1054,
1458 /* 2807 */ GIR_Done,
1459 /* 2808 */ // Label 159: @2808
1460 /* 2808 */ GIM_Reject,
1461 /* 2809 */ // Label 157: @2809
1462 /* 2809 */ GIM_Reject,
1463 /* 2810 */ // Label 141: @2810
1464 /* 2810 */ GIM_Try, /*On fail goto*//*Label 160*/ GIMT_Encode4(2900),
1465 /* 2815 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1466 /* 2818 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1467 /* 2821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1468 /* 2825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1469 /* 2829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 161*/ GIMT_Encode4(2881), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 926 //
1470 /* 2836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1471 /* 2840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1472 /* 2844 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
1473 /* 2848 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
1474 /* 2852 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1475 /* 2857 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1476 /* 2862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1477 /* 2864 */ // (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)
1478 /* 2864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBV_W),
1479 /* 2867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1480 /* 2869 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1481 /* 2871 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1482 /* 2875 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1483 /* 2879 */ GIR_RootConstrainSelectedInstOperands,
1484 /* 2880 */ // GIR_Coverage, 926,
1485 /* 2880 */ GIR_EraseRootFromParent_Done,
1486 /* 2881 */ // Label 161: @2881
1487 /* 2881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 162*/ GIMT_Encode4(2899), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1055 //
1488 /* 2888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1489 /* 2892 */ // (sub:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1490 /* 2892 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBV_W),
1491 /* 2897 */ GIR_RootConstrainSelectedInstOperands,
1492 /* 2898 */ // GIR_Coverage, 1055,
1493 /* 2898 */ GIR_Done,
1494 /* 2899 */ // Label 162: @2899
1495 /* 2899 */ GIM_Reject,
1496 /* 2900 */ // Label 160: @2900
1497 /* 2900 */ GIM_Reject,
1498 /* 2901 */ // Label 142: @2901
1499 /* 2901 */ GIM_Try, /*On fail goto*//*Label 163*/ GIMT_Encode4(2991),
1500 /* 2906 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1501 /* 2909 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1502 /* 2912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1503 /* 2916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1504 /* 2920 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 164*/ GIMT_Encode4(2972), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 927 //
1505 /* 2927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1506 /* 2931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
1507 /* 2935 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
1508 /* 2939 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
1509 /* 2943 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1510 /* 2948 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1511 /* 2953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1512 /* 2955 */ // (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)
1513 /* 2955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBV_D),
1514 /* 2958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
1515 /* 2960 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
1516 /* 2962 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
1517 /* 2966 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
1518 /* 2970 */ GIR_RootConstrainSelectedInstOperands,
1519 /* 2971 */ // GIR_Coverage, 927,
1520 /* 2971 */ GIR_EraseRootFromParent_Done,
1521 /* 2972 */ // Label 164: @2972
1522 /* 2972 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 165*/ GIMT_Encode4(2990), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1056 //
1523 /* 2979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1524 /* 2983 */ // (sub:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1525 /* 2983 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SUBV_D),
1526 /* 2988 */ GIR_RootConstrainSelectedInstOperands,
1527 /* 2989 */ // GIR_Coverage, 1056,
1528 /* 2989 */ GIR_Done,
1529 /* 2990 */ // Label 165: @2990
1530 /* 2990 */ GIM_Reject,
1531 /* 2991 */ // Label 163: @2991
1532 /* 2991 */ GIM_Reject,
1533 /* 2992 */ // Label 143: @2992
1534 /* 2992 */ GIM_Reject,
1535 /* 2993 */ // Label 2: @2993
1536 /* 2993 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 173*/ GIMT_Encode4(3431),
1537 /* 3004 */ /*GILLT_s32*//*Label 166*/ GIMT_Encode4(3036),
1538 /* 3008 */ /*GILLT_s64*//*Label 167*/ GIMT_Encode4(3185), GIMT_Encode4(0),
1539 /* 3016 */ /*GILLT_v16s8*//*Label 168*/ GIMT_Encode4(3268),
1540 /* 3020 */ /*GILLT_v2s16*//*Label 169*/ GIMT_Encode4(3301),
1541 /* 3024 */ /*GILLT_v8s16*//*Label 170*/ GIMT_Encode4(3332),
1542 /* 3028 */ /*GILLT_v4s32*//*Label 171*/ GIMT_Encode4(3365),
1543 /* 3032 */ /*GILLT_v2s64*//*Label 172*/ GIMT_Encode4(3398),
1544 /* 3036 */ // Label 166: @3036
1545 /* 3036 */ GIM_Try, /*On fail goto*//*Label 174*/ GIMT_Encode4(3184),
1546 /* 3041 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1547 /* 3044 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1548 /* 3047 */ GIM_Try, /*On fail goto*//*Label 175*/ GIMT_Encode4(3145),
1549 /* 3052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1550 /* 3056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1551 /* 3060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1552 /* 3064 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 176*/ GIMT_Encode4(3090), GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 48 //
1553 /* 3071 */ // (mul:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUL:{ *:[i32] }:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1554 /* 3071 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL),
1555 /* 3076 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1556 /* 3082 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1557 /* 3088 */ GIR_RootConstrainSelectedInstOperands,
1558 /* 3089 */ // GIR_Coverage, 48,
1559 /* 3089 */ GIR_Done,
1560 /* 3090 */ // Label 176: @3090
1561 /* 3090 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 177*/ GIMT_Encode4(3104), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 360 //
1562 /* 3097 */ // (mul:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUL_R6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1563 /* 3097 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL_R6),
1564 /* 3102 */ GIR_RootConstrainSelectedInstOperands,
1565 /* 3103 */ // GIR_Coverage, 360,
1566 /* 3103 */ GIR_Done,
1567 /* 3104 */ // Label 177: @3104
1568 /* 3104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 178*/ GIMT_Encode4(3130), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1096 //
1569 /* 3111 */ // (mul:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUL_MM:{ *:[i32] }:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1570 /* 3111 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL_MM),
1571 /* 3116 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1572 /* 3122 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1573 /* 3128 */ GIR_RootConstrainSelectedInstOperands,
1574 /* 3129 */ // GIR_Coverage, 1096,
1575 /* 3129 */ GIR_Done,
1576 /* 3130 */ // Label 178: @3130
1577 /* 3130 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 179*/ GIMT_Encode4(3144), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1201 //
1578 /* 3137 */ // (mul:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUL_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1579 /* 3137 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL_MMR6),
1580 /* 3142 */ GIR_RootConstrainSelectedInstOperands,
1581 /* 3143 */ // GIR_Coverage, 1201,
1582 /* 3143 */ GIR_Done,
1583 /* 3144 */ // Label 179: @3144
1584 /* 3144 */ GIM_Reject,
1585 /* 3145 */ // Label 175: @3145
1586 /* 3145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 180*/ GIMT_Encode4(3183), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1959 //
1587 /* 3152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1588 /* 3156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1589 /* 3160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
1590 /* 3164 */ // (mul:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (MultRxRyRz16:{ *:[i32] }:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
1591 /* 3164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MultRxRyRz16),
1592 /* 3169 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1593 /* 3175 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1594 /* 3181 */ GIR_RootConstrainSelectedInstOperands,
1595 /* 3182 */ // GIR_Coverage, 1959,
1596 /* 3182 */ GIR_Done,
1597 /* 3183 */ // Label 180: @3183
1598 /* 3183 */ GIM_Reject,
1599 /* 3184 */ // Label 174: @3184
1600 /* 3184 */ GIM_Reject,
1601 /* 3185 */ // Label 167: @3185
1602 /* 3185 */ GIM_Try, /*On fail goto*//*Label 181*/ GIMT_Encode4(3267),
1603 /* 3190 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1604 /* 3193 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1605 /* 3196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1606 /* 3200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1607 /* 3204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1608 /* 3208 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 182*/ GIMT_Encode4(3252), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 302 //
1609 /* 3215 */ // (mul:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMUL:{ *:[i64] }:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1610 /* 3215 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMUL),
1611 /* 3220 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1612 /* 3226 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1613 /* 3232 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::P0), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1614 /* 3238 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::P1), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1615 /* 3244 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::P2), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1616 /* 3250 */ GIR_RootConstrainSelectedInstOperands,
1617 /* 3251 */ // GIR_Coverage, 302,
1618 /* 3251 */ GIR_Done,
1619 /* 3252 */ // Label 182: @3252
1620 /* 3252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 183*/ GIMT_Encode4(3266), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 375 //
1621 /* 3259 */ // (mul:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMUL_R6:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1622 /* 3259 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMUL_R6),
1623 /* 3264 */ GIR_RootConstrainSelectedInstOperands,
1624 /* 3265 */ // GIR_Coverage, 375,
1625 /* 3265 */ GIR_Done,
1626 /* 3266 */ // Label 183: @3266
1627 /* 3266 */ GIM_Reject,
1628 /* 3267 */ // Label 181: @3267
1629 /* 3267 */ GIM_Reject,
1630 /* 3268 */ // Label 168: @3268
1631 /* 3268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 184*/ GIMT_Encode4(3300), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 932 //
1632 /* 3275 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1633 /* 3278 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1634 /* 3281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1635 /* 3285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1636 /* 3289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1637 /* 3293 */ // (mul:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MULV_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1638 /* 3293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MULV_B),
1639 /* 3298 */ GIR_RootConstrainSelectedInstOperands,
1640 /* 3299 */ // GIR_Coverage, 932,
1641 /* 3299 */ GIR_Done,
1642 /* 3300 */ // Label 184: @3300
1643 /* 3300 */ GIM_Reject,
1644 /* 3301 */ // Label 169: @3301
1645 /* 3301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 185*/ GIMT_Encode4(3331), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 2060 //
1646 /* 3308 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
1647 /* 3311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
1648 /* 3314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
1649 /* 3318 */ // (mul:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (MUL_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
1650 /* 3318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUL_PH),
1651 /* 3323 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::DSPOutFlag21), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1652 /* 3329 */ GIR_RootConstrainSelectedInstOperands,
1653 /* 3330 */ // GIR_Coverage, 2060,
1654 /* 3330 */ GIR_Done,
1655 /* 3331 */ // Label 185: @3331
1656 /* 3331 */ GIM_Reject,
1657 /* 3332 */ // Label 170: @3332
1658 /* 3332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 186*/ GIMT_Encode4(3364), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 933 //
1659 /* 3339 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1660 /* 3342 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1661 /* 3345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1662 /* 3349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1663 /* 3353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1664 /* 3357 */ // (mul:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MULV_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1665 /* 3357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MULV_H),
1666 /* 3362 */ GIR_RootConstrainSelectedInstOperands,
1667 /* 3363 */ // GIR_Coverage, 933,
1668 /* 3363 */ GIR_Done,
1669 /* 3364 */ // Label 186: @3364
1670 /* 3364 */ GIM_Reject,
1671 /* 3365 */ // Label 171: @3365
1672 /* 3365 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 187*/ GIMT_Encode4(3397), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 934 //
1673 /* 3372 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1674 /* 3375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1675 /* 3378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1676 /* 3382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1677 /* 3386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1678 /* 3390 */ // (mul:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MULV_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1679 /* 3390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MULV_W),
1680 /* 3395 */ GIR_RootConstrainSelectedInstOperands,
1681 /* 3396 */ // GIR_Coverage, 934,
1682 /* 3396 */ GIR_Done,
1683 /* 3397 */ // Label 187: @3397
1684 /* 3397 */ GIM_Reject,
1685 /* 3398 */ // Label 172: @3398
1686 /* 3398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 188*/ GIMT_Encode4(3430), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 935 //
1687 /* 3405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1688 /* 3408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1689 /* 3411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1690 /* 3415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1691 /* 3419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1692 /* 3423 */ // (mul:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MULV_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1693 /* 3423 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MULV_D),
1694 /* 3428 */ GIR_RootConstrainSelectedInstOperands,
1695 /* 3429 */ // GIR_Coverage, 935,
1696 /* 3429 */ GIR_Done,
1697 /* 3430 */ // Label 188: @3430
1698 /* 3430 */ GIM_Reject,
1699 /* 3431 */ // Label 173: @3431
1700 /* 3431 */ GIM_Reject,
1701 /* 3432 */ // Label 3: @3432
1702 /* 3432 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 195*/ GIMT_Encode4(3693),
1703 /* 3443 */ /*GILLT_s32*//*Label 189*/ GIMT_Encode4(3475),
1704 /* 3447 */ /*GILLT_s64*//*Label 190*/ GIMT_Encode4(3528), GIMT_Encode4(0),
1705 /* 3455 */ /*GILLT_v16s8*//*Label 191*/ GIMT_Encode4(3561), GIMT_Encode4(0),
1706 /* 3463 */ /*GILLT_v8s16*//*Label 192*/ GIMT_Encode4(3594),
1707 /* 3467 */ /*GILLT_v4s32*//*Label 193*/ GIMT_Encode4(3627),
1708 /* 3471 */ /*GILLT_v2s64*//*Label 194*/ GIMT_Encode4(3660),
1709 /* 3475 */ // Label 189: @3475
1710 /* 3475 */ GIM_Try, /*On fail goto*//*Label 196*/ GIMT_Encode4(3527),
1711 /* 3480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1712 /* 3483 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1713 /* 3486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1714 /* 3490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1715 /* 3494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1716 /* 3498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 197*/ GIMT_Encode4(3512), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 354 //
1717 /* 3505 */ // (sdiv:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (DIV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1718 /* 3505 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV),
1719 /* 3510 */ GIR_RootConstrainSelectedInstOperands,
1720 /* 3511 */ // GIR_Coverage, 354,
1721 /* 3511 */ GIR_Done,
1722 /* 3512 */ // Label 197: @3512
1723 /* 3512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 198*/ GIMT_Encode4(3526), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1194 //
1724 /* 3519 */ // (sdiv:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (DIV_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1725 /* 3519 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_MMR6),
1726 /* 3524 */ GIR_RootConstrainSelectedInstOperands,
1727 /* 3525 */ // GIR_Coverage, 1194,
1728 /* 3525 */ GIR_Done,
1729 /* 3526 */ // Label 198: @3526
1730 /* 3526 */ GIM_Reject,
1731 /* 3527 */ // Label 196: @3527
1732 /* 3527 */ GIM_Reject,
1733 /* 3528 */ // Label 190: @3528
1734 /* 3528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 199*/ GIMT_Encode4(3560), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 369 //
1735 /* 3535 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1736 /* 3538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1737 /* 3541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1738 /* 3545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1739 /* 3549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1740 /* 3553 */ // (sdiv:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DDIV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1741 /* 3553 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DDIV),
1742 /* 3558 */ GIR_RootConstrainSelectedInstOperands,
1743 /* 3559 */ // GIR_Coverage, 369,
1744 /* 3559 */ GIR_Done,
1745 /* 3560 */ // Label 199: @3560
1746 /* 3560 */ GIM_Reject,
1747 /* 3561 */ // Label 191: @3561
1748 /* 3561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 200*/ GIMT_Encode4(3593), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 672 //
1749 /* 3568 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1750 /* 3571 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1751 /* 3574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1752 /* 3578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1753 /* 3582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1754 /* 3586 */ // (sdiv:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DIV_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1755 /* 3586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_S_B),
1756 /* 3591 */ GIR_RootConstrainSelectedInstOperands,
1757 /* 3592 */ // GIR_Coverage, 672,
1758 /* 3592 */ GIR_Done,
1759 /* 3593 */ // Label 200: @3593
1760 /* 3593 */ GIM_Reject,
1761 /* 3594 */ // Label 192: @3594
1762 /* 3594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 201*/ GIMT_Encode4(3626), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 673 //
1763 /* 3601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1764 /* 3604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1765 /* 3607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1766 /* 3611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1767 /* 3615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1768 /* 3619 */ // (sdiv:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DIV_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1769 /* 3619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_S_H),
1770 /* 3624 */ GIR_RootConstrainSelectedInstOperands,
1771 /* 3625 */ // GIR_Coverage, 673,
1772 /* 3625 */ GIR_Done,
1773 /* 3626 */ // Label 201: @3626
1774 /* 3626 */ GIM_Reject,
1775 /* 3627 */ // Label 193: @3627
1776 /* 3627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 202*/ GIMT_Encode4(3659), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 674 //
1777 /* 3634 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1778 /* 3637 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1779 /* 3640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1780 /* 3644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1781 /* 3648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1782 /* 3652 */ // (sdiv:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DIV_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1783 /* 3652 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_S_W),
1784 /* 3657 */ GIR_RootConstrainSelectedInstOperands,
1785 /* 3658 */ // GIR_Coverage, 674,
1786 /* 3658 */ GIR_Done,
1787 /* 3659 */ // Label 202: @3659
1788 /* 3659 */ GIM_Reject,
1789 /* 3660 */ // Label 194: @3660
1790 /* 3660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 203*/ GIMT_Encode4(3692), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 675 //
1791 /* 3667 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1792 /* 3670 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1793 /* 3673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1794 /* 3677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1795 /* 3681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1796 /* 3685 */ // (sdiv:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (DIV_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1797 /* 3685 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_S_D),
1798 /* 3690 */ GIR_RootConstrainSelectedInstOperands,
1799 /* 3691 */ // GIR_Coverage, 675,
1800 /* 3691 */ GIR_Done,
1801 /* 3692 */ // Label 203: @3692
1802 /* 3692 */ GIM_Reject,
1803 /* 3693 */ // Label 195: @3693
1804 /* 3693 */ GIM_Reject,
1805 /* 3694 */ // Label 4: @3694
1806 /* 3694 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 210*/ GIMT_Encode4(3955),
1807 /* 3705 */ /*GILLT_s32*//*Label 204*/ GIMT_Encode4(3737),
1808 /* 3709 */ /*GILLT_s64*//*Label 205*/ GIMT_Encode4(3790), GIMT_Encode4(0),
1809 /* 3717 */ /*GILLT_v16s8*//*Label 206*/ GIMT_Encode4(3823), GIMT_Encode4(0),
1810 /* 3725 */ /*GILLT_v8s16*//*Label 207*/ GIMT_Encode4(3856),
1811 /* 3729 */ /*GILLT_v4s32*//*Label 208*/ GIMT_Encode4(3889),
1812 /* 3733 */ /*GILLT_v2s64*//*Label 209*/ GIMT_Encode4(3922),
1813 /* 3737 */ // Label 204: @3737
1814 /* 3737 */ GIM_Try, /*On fail goto*//*Label 211*/ GIMT_Encode4(3789),
1815 /* 3742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1816 /* 3745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1817 /* 3748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1818 /* 3752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1819 /* 3756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1820 /* 3760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 212*/ GIMT_Encode4(3774), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 355 //
1821 /* 3767 */ // (udiv:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (DIVU:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1822 /* 3767 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIVU),
1823 /* 3772 */ GIR_RootConstrainSelectedInstOperands,
1824 /* 3773 */ // GIR_Coverage, 355,
1825 /* 3773 */ GIR_Done,
1826 /* 3774 */ // Label 212: @3774
1827 /* 3774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 213*/ GIMT_Encode4(3788), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1195 //
1828 /* 3781 */ // (udiv:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (DIVU_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1829 /* 3781 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIVU_MMR6),
1830 /* 3786 */ GIR_RootConstrainSelectedInstOperands,
1831 /* 3787 */ // GIR_Coverage, 1195,
1832 /* 3787 */ GIR_Done,
1833 /* 3788 */ // Label 213: @3788
1834 /* 3788 */ GIM_Reject,
1835 /* 3789 */ // Label 211: @3789
1836 /* 3789 */ GIM_Reject,
1837 /* 3790 */ // Label 205: @3790
1838 /* 3790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 214*/ GIMT_Encode4(3822), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 370 //
1839 /* 3797 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1840 /* 3800 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1841 /* 3803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1842 /* 3807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1843 /* 3811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1844 /* 3815 */ // (udiv:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DDIVU:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1845 /* 3815 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DDIVU),
1846 /* 3820 */ GIR_RootConstrainSelectedInstOperands,
1847 /* 3821 */ // GIR_Coverage, 370,
1848 /* 3821 */ GIR_Done,
1849 /* 3822 */ // Label 214: @3822
1850 /* 3822 */ GIM_Reject,
1851 /* 3823 */ // Label 206: @3823
1852 /* 3823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 215*/ GIMT_Encode4(3855), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 676 //
1853 /* 3830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1854 /* 3833 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1855 /* 3836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1856 /* 3840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1857 /* 3844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1858 /* 3848 */ // (udiv:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DIV_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1859 /* 3848 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_U_B),
1860 /* 3853 */ GIR_RootConstrainSelectedInstOperands,
1861 /* 3854 */ // GIR_Coverage, 676,
1862 /* 3854 */ GIR_Done,
1863 /* 3855 */ // Label 215: @3855
1864 /* 3855 */ GIM_Reject,
1865 /* 3856 */ // Label 207: @3856
1866 /* 3856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 216*/ GIMT_Encode4(3888), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 677 //
1867 /* 3863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1868 /* 3866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1869 /* 3869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1870 /* 3873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1871 /* 3877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1872 /* 3881 */ // (udiv:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DIV_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1873 /* 3881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_U_H),
1874 /* 3886 */ GIR_RootConstrainSelectedInstOperands,
1875 /* 3887 */ // GIR_Coverage, 677,
1876 /* 3887 */ GIR_Done,
1877 /* 3888 */ // Label 216: @3888
1878 /* 3888 */ GIM_Reject,
1879 /* 3889 */ // Label 208: @3889
1880 /* 3889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 217*/ GIMT_Encode4(3921), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 678 //
1881 /* 3896 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1882 /* 3899 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1883 /* 3902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1884 /* 3906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1885 /* 3910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1886 /* 3914 */ // (udiv:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DIV_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1887 /* 3914 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_U_W),
1888 /* 3919 */ GIR_RootConstrainSelectedInstOperands,
1889 /* 3920 */ // GIR_Coverage, 678,
1890 /* 3920 */ GIR_Done,
1891 /* 3921 */ // Label 217: @3921
1892 /* 3921 */ GIM_Reject,
1893 /* 3922 */ // Label 209: @3922
1894 /* 3922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 218*/ GIMT_Encode4(3954), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 679 //
1895 /* 3929 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
1896 /* 3932 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
1897 /* 3935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1898 /* 3939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1899 /* 3943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
1900 /* 3947 */ // (udiv:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (DIV_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
1901 /* 3947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DIV_U_D),
1902 /* 3952 */ GIR_RootConstrainSelectedInstOperands,
1903 /* 3953 */ // GIR_Coverage, 679,
1904 /* 3953 */ GIR_Done,
1905 /* 3954 */ // Label 218: @3954
1906 /* 3954 */ GIM_Reject,
1907 /* 3955 */ // Label 210: @3955
1908 /* 3955 */ GIM_Reject,
1909 /* 3956 */ // Label 5: @3956
1910 /* 3956 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 225*/ GIMT_Encode4(4217),
1911 /* 3967 */ /*GILLT_s32*//*Label 219*/ GIMT_Encode4(3999),
1912 /* 3971 */ /*GILLT_s64*//*Label 220*/ GIMT_Encode4(4052), GIMT_Encode4(0),
1913 /* 3979 */ /*GILLT_v16s8*//*Label 221*/ GIMT_Encode4(4085), GIMT_Encode4(0),
1914 /* 3987 */ /*GILLT_v8s16*//*Label 222*/ GIMT_Encode4(4118),
1915 /* 3991 */ /*GILLT_v4s32*//*Label 223*/ GIMT_Encode4(4151),
1916 /* 3995 */ /*GILLT_v2s64*//*Label 224*/ GIMT_Encode4(4184),
1917 /* 3999 */ // Label 219: @3999
1918 /* 3999 */ GIM_Try, /*On fail goto*//*Label 226*/ GIMT_Encode4(4051),
1919 /* 4004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1920 /* 4007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1921 /* 4010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1922 /* 4014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1923 /* 4018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
1924 /* 4022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 227*/ GIMT_Encode4(4036), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 356 //
1925 /* 4029 */ // (srem:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MOD:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1926 /* 4029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD),
1927 /* 4034 */ GIR_RootConstrainSelectedInstOperands,
1928 /* 4035 */ // GIR_Coverage, 356,
1929 /* 4035 */ GIR_Done,
1930 /* 4036 */ // Label 227: @4036
1931 /* 4036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 228*/ GIMT_Encode4(4050), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1199 //
1932 /* 4043 */ // (srem:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MOD_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
1933 /* 4043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_MMR6),
1934 /* 4048 */ GIR_RootConstrainSelectedInstOperands,
1935 /* 4049 */ // GIR_Coverage, 1199,
1936 /* 4049 */ GIR_Done,
1937 /* 4050 */ // Label 228: @4050
1938 /* 4050 */ GIM_Reject,
1939 /* 4051 */ // Label 226: @4051
1940 /* 4051 */ GIM_Reject,
1941 /* 4052 */ // Label 220: @4052
1942 /* 4052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 229*/ GIMT_Encode4(4084), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 371 //
1943 /* 4059 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1944 /* 4062 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1945 /* 4065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1946 /* 4069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1947 /* 4073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
1948 /* 4077 */ // (srem:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMOD:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
1949 /* 4077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMOD),
1950 /* 4082 */ GIR_RootConstrainSelectedInstOperands,
1951 /* 4083 */ // GIR_Coverage, 371,
1952 /* 4083 */ GIR_Done,
1953 /* 4084 */ // Label 229: @4084
1954 /* 4084 */ GIM_Reject,
1955 /* 4085 */ // Label 221: @4085
1956 /* 4085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 230*/ GIMT_Encode4(4117), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 912 //
1957 /* 4092 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
1958 /* 4095 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
1959 /* 4098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1960 /* 4102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1961 /* 4106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
1962 /* 4110 */ // (srem:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MOD_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
1963 /* 4110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_S_B),
1964 /* 4115 */ GIR_RootConstrainSelectedInstOperands,
1965 /* 4116 */ // GIR_Coverage, 912,
1966 /* 4116 */ GIR_Done,
1967 /* 4117 */ // Label 230: @4117
1968 /* 4117 */ GIM_Reject,
1969 /* 4118 */ // Label 222: @4118
1970 /* 4118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 231*/ GIMT_Encode4(4150), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 913 //
1971 /* 4125 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
1972 /* 4128 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
1973 /* 4131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1974 /* 4135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1975 /* 4139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
1976 /* 4143 */ // (srem:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MOD_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
1977 /* 4143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_S_H),
1978 /* 4148 */ GIR_RootConstrainSelectedInstOperands,
1979 /* 4149 */ // GIR_Coverage, 913,
1980 /* 4149 */ GIR_Done,
1981 /* 4150 */ // Label 231: @4150
1982 /* 4150 */ GIM_Reject,
1983 /* 4151 */ // Label 223: @4151
1984 /* 4151 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 232*/ GIMT_Encode4(4183), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 914 //
1985 /* 4158 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
1986 /* 4161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
1987 /* 4164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1988 /* 4168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1989 /* 4172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
1990 /* 4176 */ // (srem:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MOD_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
1991 /* 4176 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_S_W),
1992 /* 4181 */ GIR_RootConstrainSelectedInstOperands,
1993 /* 4182 */ // GIR_Coverage, 914,
1994 /* 4182 */ GIR_Done,
1995 /* 4183 */ // Label 232: @4183
1996 /* 4183 */ GIM_Reject,
1997 /* 4184 */ // Label 224: @4184
1998 /* 4184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 233*/ GIMT_Encode4(4216), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 915 //
1999 /* 4191 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2000 /* 4194 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2001 /* 4197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2002 /* 4201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2003 /* 4205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2004 /* 4209 */ // (srem:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MOD_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2005 /* 4209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_S_D),
2006 /* 4214 */ GIR_RootConstrainSelectedInstOperands,
2007 /* 4215 */ // GIR_Coverage, 915,
2008 /* 4215 */ GIR_Done,
2009 /* 4216 */ // Label 233: @4216
2010 /* 4216 */ GIM_Reject,
2011 /* 4217 */ // Label 225: @4217
2012 /* 4217 */ GIM_Reject,
2013 /* 4218 */ // Label 6: @4218
2014 /* 4218 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 240*/ GIMT_Encode4(4479),
2015 /* 4229 */ /*GILLT_s32*//*Label 234*/ GIMT_Encode4(4261),
2016 /* 4233 */ /*GILLT_s64*//*Label 235*/ GIMT_Encode4(4314), GIMT_Encode4(0),
2017 /* 4241 */ /*GILLT_v16s8*//*Label 236*/ GIMT_Encode4(4347), GIMT_Encode4(0),
2018 /* 4249 */ /*GILLT_v8s16*//*Label 237*/ GIMT_Encode4(4380),
2019 /* 4253 */ /*GILLT_v4s32*//*Label 238*/ GIMT_Encode4(4413),
2020 /* 4257 */ /*GILLT_v2s64*//*Label 239*/ GIMT_Encode4(4446),
2021 /* 4261 */ // Label 234: @4261
2022 /* 4261 */ GIM_Try, /*On fail goto*//*Label 241*/ GIMT_Encode4(4313),
2023 /* 4266 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2024 /* 4269 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2025 /* 4272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2026 /* 4276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2027 /* 4280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2028 /* 4284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 242*/ GIMT_Encode4(4298), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 357 //
2029 /* 4291 */ // (urem:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MODU:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2030 /* 4291 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MODU),
2031 /* 4296 */ GIR_RootConstrainSelectedInstOperands,
2032 /* 4297 */ // GIR_Coverage, 357,
2033 /* 4297 */ GIR_Done,
2034 /* 4298 */ // Label 242: @4298
2035 /* 4298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 243*/ GIMT_Encode4(4312), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1200 //
2036 /* 4305 */ // (urem:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MODU_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2037 /* 4305 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MODU_MMR6),
2038 /* 4310 */ GIR_RootConstrainSelectedInstOperands,
2039 /* 4311 */ // GIR_Coverage, 1200,
2040 /* 4311 */ GIR_Done,
2041 /* 4312 */ // Label 243: @4312
2042 /* 4312 */ GIM_Reject,
2043 /* 4313 */ // Label 241: @4313
2044 /* 4313 */ GIM_Reject,
2045 /* 4314 */ // Label 235: @4314
2046 /* 4314 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 244*/ GIMT_Encode4(4346), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 372 //
2047 /* 4321 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2048 /* 4324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
2049 /* 4327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2050 /* 4331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2051 /* 4335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2052 /* 4339 */ // (urem:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMODU:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2053 /* 4339 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMODU),
2054 /* 4344 */ GIR_RootConstrainSelectedInstOperands,
2055 /* 4345 */ // GIR_Coverage, 372,
2056 /* 4345 */ GIR_Done,
2057 /* 4346 */ // Label 244: @4346
2058 /* 4346 */ GIM_Reject,
2059 /* 4347 */ // Label 236: @4347
2060 /* 4347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 245*/ GIMT_Encode4(4379), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 916 //
2061 /* 4354 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2062 /* 4357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2063 /* 4360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2064 /* 4364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2065 /* 4368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2066 /* 4372 */ // (urem:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MOD_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2067 /* 4372 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_U_B),
2068 /* 4377 */ GIR_RootConstrainSelectedInstOperands,
2069 /* 4378 */ // GIR_Coverage, 916,
2070 /* 4378 */ GIR_Done,
2071 /* 4379 */ // Label 245: @4379
2072 /* 4379 */ GIM_Reject,
2073 /* 4380 */ // Label 237: @4380
2074 /* 4380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 246*/ GIMT_Encode4(4412), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 917 //
2075 /* 4387 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2076 /* 4390 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2077 /* 4393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2078 /* 4397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2079 /* 4401 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2080 /* 4405 */ // (urem:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MOD_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2081 /* 4405 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_U_H),
2082 /* 4410 */ GIR_RootConstrainSelectedInstOperands,
2083 /* 4411 */ // GIR_Coverage, 917,
2084 /* 4411 */ GIR_Done,
2085 /* 4412 */ // Label 246: @4412
2086 /* 4412 */ GIM_Reject,
2087 /* 4413 */ // Label 238: @4413
2088 /* 4413 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 247*/ GIMT_Encode4(4445), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 918 //
2089 /* 4420 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2090 /* 4423 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2091 /* 4426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2092 /* 4430 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2093 /* 4434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2094 /* 4438 */ // (urem:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MOD_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2095 /* 4438 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_U_W),
2096 /* 4443 */ GIR_RootConstrainSelectedInstOperands,
2097 /* 4444 */ // GIR_Coverage, 918,
2098 /* 4444 */ GIR_Done,
2099 /* 4445 */ // Label 247: @4445
2100 /* 4445 */ GIM_Reject,
2101 /* 4446 */ // Label 239: @4446
2102 /* 4446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 248*/ GIMT_Encode4(4478), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 919 //
2103 /* 4453 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2104 /* 4456 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2105 /* 4459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2106 /* 4463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2107 /* 4467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2108 /* 4471 */ // (urem:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MOD_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2109 /* 4471 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MOD_U_D),
2110 /* 4476 */ GIR_RootConstrainSelectedInstOperands,
2111 /* 4477 */ // GIR_Coverage, 919,
2112 /* 4477 */ GIR_Done,
2113 /* 4478 */ // Label 248: @4478
2114 /* 4478 */ GIM_Reject,
2115 /* 4479 */ // Label 240: @4479
2116 /* 4479 */ GIM_Reject,
2117 /* 4480 */ // Label 7: @4480
2118 /* 4480 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 255*/ GIMT_Encode4(5013),
2119 /* 4491 */ /*GILLT_s32*//*Label 249*/ GIMT_Encode4(4523),
2120 /* 4495 */ /*GILLT_s64*//*Label 250*/ GIMT_Encode4(4781), GIMT_Encode4(0),
2121 /* 4503 */ /*GILLT_v16s8*//*Label 251*/ GIMT_Encode4(4881), GIMT_Encode4(0),
2122 /* 4511 */ /*GILLT_v8s16*//*Label 252*/ GIMT_Encode4(4914),
2123 /* 4515 */ /*GILLT_v4s32*//*Label 253*/ GIMT_Encode4(4947),
2124 /* 4519 */ /*GILLT_v2s64*//*Label 254*/ GIMT_Encode4(4980),
2125 /* 4523 */ // Label 249: @4523
2126 /* 4523 */ GIM_Try, /*On fail goto*//*Label 256*/ GIMT_Encode4(4780),
2127 /* 4528 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2128 /* 4531 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2129 /* 4534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 257*/ GIMT_Encode4(4575), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 41 //
2130 /* 4541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2131 /* 4545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2132 /* 4549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2133 /* 4553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2134 /* 4557 */ GIM_CheckAPIntImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
2135 /* 4561 */ // MIs[1] Operand 1
2136 /* 4561 */ // No operand predicates
2137 /* 4561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2138 /* 4563 */ // (and:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_imm32ZExt16>>:$imm16) => (ANDi:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$imm16)
2139 /* 4563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ANDi),
2140 /* 4566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2141 /* 4568 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2142 /* 4570 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm16
2143 /* 4573 */ GIR_RootConstrainSelectedInstOperands,
2144 /* 4574 */ // GIR_Coverage, 41,
2145 /* 4574 */ GIR_EraseRootFromParent_Done,
2146 /* 4575 */ // Label 257: @4575
2147 /* 4575 */ GIM_Try, /*On fail goto*//*Label 258*/ GIMT_Encode4(4655),
2148 /* 4580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2149 /* 4584 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2150 /* 4588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 259*/ GIMT_Encode4(4621), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2305 //
2151 /* 4595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2152 /* 4599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2153 /* 4603 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExtAndi16),
2154 /* 4607 */ // MIs[1] Operand 1
2155 /* 4607 */ // No operand predicates
2156 /* 4607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2157 /* 4609 */ // (and:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExtAndi16>>:$imm) => (ANDI16_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExtAndi16>>:$imm)
2158 /* 4609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ANDI16_MM),
2159 /* 4612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2160 /* 4614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2161 /* 4616 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
2162 /* 4619 */ GIR_RootConstrainSelectedInstOperands,
2163 /* 4620 */ // GIR_Coverage, 2305,
2164 /* 4620 */ GIR_EraseRootFromParent_Done,
2165 /* 4621 */ // Label 259: @4621
2166 /* 4621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 260*/ GIMT_Encode4(4654), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2469 //
2167 /* 4628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2168 /* 4632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2169 /* 4636 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExtAndi16),
2170 /* 4640 */ // MIs[1] Operand 1
2171 /* 4640 */ // No operand predicates
2172 /* 4640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2173 /* 4642 */ // (and:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExtAndi16>>:$imm) => (ANDI16_MMR6:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExtAndi16>>:$imm)
2174 /* 4642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ANDI16_MMR6),
2175 /* 4645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2176 /* 4647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2177 /* 4649 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
2178 /* 4652 */ GIR_RootConstrainSelectedInstOperands,
2179 /* 4653 */ // GIR_Coverage, 2469,
2180 /* 4653 */ GIR_EraseRootFromParent_Done,
2181 /* 4654 */ // Label 260: @4654
2182 /* 4654 */ GIM_Reject,
2183 /* 4655 */ // Label 258: @4655
2184 /* 4655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 261*/ GIMT_Encode4(4681), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 51 //
2185 /* 4662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2186 /* 4666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2187 /* 4670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2188 /* 4674 */ // (and:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (AND:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2189 /* 4674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND),
2190 /* 4679 */ GIR_RootConstrainSelectedInstOperands,
2191 /* 4680 */ // GIR_Coverage, 51,
2192 /* 4680 */ GIR_Done,
2193 /* 4681 */ // Label 261: @4681
2194 /* 4681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 262*/ GIMT_Encode4(4707), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1083 //
2195 /* 4688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2196 /* 4692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2197 /* 4696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2198 /* 4700 */ // (and:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (AND16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
2199 /* 4700 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND16_MM),
2200 /* 4705 */ GIR_RootConstrainSelectedInstOperands,
2201 /* 4706 */ // GIR_Coverage, 1083,
2202 /* 4706 */ GIR_Done,
2203 /* 4707 */ // Label 262: @4707
2204 /* 4707 */ GIM_Try, /*On fail goto*//*Label 263*/ GIMT_Encode4(4753),
2205 /* 4712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2206 /* 4716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2207 /* 4720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2208 /* 4724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 264*/ GIMT_Encode4(4738), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1099 //
2209 /* 4731 */ // (and:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (AND_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2210 /* 4731 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_MM),
2211 /* 4736 */ GIR_RootConstrainSelectedInstOperands,
2212 /* 4737 */ // GIR_Coverage, 1099,
2213 /* 4737 */ GIR_Done,
2214 /* 4738 */ // Label 264: @4738
2215 /* 4738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 265*/ GIMT_Encode4(4752), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1192 //
2216 /* 4745 */ // (and:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (AND_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2217 /* 4745 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_MMR6),
2218 /* 4750 */ GIR_RootConstrainSelectedInstOperands,
2219 /* 4751 */ // GIR_Coverage, 1192,
2220 /* 4751 */ GIR_Done,
2221 /* 4752 */ // Label 265: @4752
2222 /* 4752 */ GIM_Reject,
2223 /* 4753 */ // Label 263: @4753
2224 /* 4753 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 266*/ GIMT_Encode4(4779), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1958 //
2225 /* 4760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2226 /* 4764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2227 /* 4768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2228 /* 4772 */ // (and:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (AndRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
2229 /* 4772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AndRxRxRy16),
2230 /* 4777 */ GIR_RootConstrainSelectedInstOperands,
2231 /* 4778 */ // GIR_Coverage, 1958,
2232 /* 4778 */ GIR_Done,
2233 /* 4779 */ // Label 266: @4779
2234 /* 4779 */ GIM_Reject,
2235 /* 4780 */ // Label 256: @4780
2236 /* 4780 */ GIM_Reject,
2237 /* 4781 */ // Label 250: @4781
2238 /* 4781 */ GIM_Try, /*On fail goto*//*Label 267*/ GIMT_Encode4(4880),
2239 /* 4786 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2240 /* 4789 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
2241 /* 4792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2242 /* 4796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 268*/ GIMT_Encode4(4857), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 297 //
2243 /* 4803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2244 /* 4807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
2245 /* 4811 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
2246 /* 4815 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
2247 /* 4819 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2248 /* 4824 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2249 /* 4829 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
2250 /* 4840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2251 /* 4842 */ // (and:{ *:[i64] } (add:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt), 255:{ *:[i64] }) => (BADDu:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2252 /* 4842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BADDu),
2253 /* 4845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2254 /* 4847 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2255 /* 4851 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2256 /* 4855 */ GIR_RootConstrainSelectedInstOperands,
2257 /* 4856 */ // GIR_Coverage, 297,
2258 /* 4856 */ GIR_EraseRootFromParent_Done,
2259 /* 4857 */ // Label 268: @4857
2260 /* 4857 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 269*/ GIMT_Encode4(4879), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 234 //
2261 /* 4864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2262 /* 4868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2263 /* 4872 */ // (and:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (AND64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2264 /* 4872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND64),
2265 /* 4877 */ GIR_RootConstrainSelectedInstOperands,
2266 /* 4878 */ // GIR_Coverage, 234,
2267 /* 4878 */ GIR_Done,
2268 /* 4879 */ // Label 269: @4879
2269 /* 4879 */ GIM_Reject,
2270 /* 4880 */ // Label 267: @4880
2271 /* 4880 */ GIM_Reject,
2272 /* 4881 */ // Label 251: @4881
2273 /* 4881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 270*/ GIMT_Encode4(4913), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 543 //
2274 /* 4888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2275 /* 4891 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2276 /* 4894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2277 /* 4898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2278 /* 4902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2279 /* 4906 */ // (and:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AND_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2280 /* 4906 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_V),
2281 /* 4911 */ GIR_RootConstrainSelectedInstOperands,
2282 /* 4912 */ // GIR_Coverage, 543,
2283 /* 4912 */ GIR_Done,
2284 /* 4913 */ // Label 270: @4913
2285 /* 4913 */ GIM_Reject,
2286 /* 4914 */ // Label 252: @4914
2287 /* 4914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 271*/ GIMT_Encode4(4946), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 544 //
2288 /* 4921 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2289 /* 4924 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2290 /* 4927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2291 /* 4931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2292 /* 4935 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2293 /* 4939 */ // (and:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AND_V_H_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2294 /* 4939 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_V_H_PSEUDO),
2295 /* 4944 */ GIR_RootConstrainSelectedInstOperands,
2296 /* 4945 */ // GIR_Coverage, 544,
2297 /* 4945 */ GIR_Done,
2298 /* 4946 */ // Label 271: @4946
2299 /* 4946 */ GIM_Reject,
2300 /* 4947 */ // Label 253: @4947
2301 /* 4947 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 272*/ GIMT_Encode4(4979), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 545 //
2302 /* 4954 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2303 /* 4957 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2304 /* 4960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2305 /* 4964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2306 /* 4968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2307 /* 4972 */ // (and:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AND_V_W_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2308 /* 4972 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_V_W_PSEUDO),
2309 /* 4977 */ GIR_RootConstrainSelectedInstOperands,
2310 /* 4978 */ // GIR_Coverage, 545,
2311 /* 4978 */ GIR_Done,
2312 /* 4979 */ // Label 272: @4979
2313 /* 4979 */ GIM_Reject,
2314 /* 4980 */ // Label 254: @4980
2315 /* 4980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 273*/ GIMT_Encode4(5012), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 546 //
2316 /* 4987 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2317 /* 4990 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2318 /* 4993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2319 /* 4997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2320 /* 5001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2321 /* 5005 */ // (and:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AND_V_D_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2322 /* 5005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::AND_V_D_PSEUDO),
2323 /* 5010 */ GIR_RootConstrainSelectedInstOperands,
2324 /* 5011 */ // GIR_Coverage, 546,
2325 /* 5011 */ GIR_Done,
2326 /* 5012 */ // Label 273: @5012
2327 /* 5012 */ GIM_Reject,
2328 /* 5013 */ // Label 255: @5013
2329 /* 5013 */ GIM_Reject,
2330 /* 5014 */ // Label 8: @5014
2331 /* 5014 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 280*/ GIMT_Encode4(5398),
2332 /* 5025 */ /*GILLT_s32*//*Label 274*/ GIMT_Encode4(5057),
2333 /* 5029 */ /*GILLT_s64*//*Label 275*/ GIMT_Encode4(5233), GIMT_Encode4(0),
2334 /* 5037 */ /*GILLT_v16s8*//*Label 276*/ GIMT_Encode4(5266), GIMT_Encode4(0),
2335 /* 5045 */ /*GILLT_v8s16*//*Label 277*/ GIMT_Encode4(5299),
2336 /* 5049 */ /*GILLT_v4s32*//*Label 278*/ GIMT_Encode4(5332),
2337 /* 5053 */ /*GILLT_v2s64*//*Label 279*/ GIMT_Encode4(5365),
2338 /* 5057 */ // Label 274: @5057
2339 /* 5057 */ GIM_Try, /*On fail goto*//*Label 281*/ GIMT_Encode4(5232),
2340 /* 5062 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2341 /* 5065 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2342 /* 5068 */ GIM_Try, /*On fail goto*//*Label 282*/ GIMT_Encode4(5133),
2343 /* 5073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2344 /* 5077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2345 /* 5081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 283*/ GIMT_Encode4(5114), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 42 //
2346 /* 5088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2347 /* 5092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2348 /* 5096 */ GIM_CheckAPIntImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
2349 /* 5100 */ // MIs[1] Operand 1
2350 /* 5100 */ // No operand predicates
2351 /* 5100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2352 /* 5102 */ // (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_imm32ZExt16>>:$imm16) => (ORi:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$imm16)
2353 /* 5102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ORi),
2354 /* 5105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2355 /* 5107 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2356 /* 5109 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm16
2357 /* 5112 */ GIR_RootConstrainSelectedInstOperands,
2358 /* 5113 */ // GIR_Coverage, 42,
2359 /* 5113 */ GIR_EraseRootFromParent_Done,
2360 /* 5114 */ // Label 283: @5114
2361 /* 5114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 284*/ GIMT_Encode4(5132), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 52 //
2362 /* 5121 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2363 /* 5125 */ // (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (OR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2364 /* 5125 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR),
2365 /* 5130 */ GIR_RootConstrainSelectedInstOperands,
2366 /* 5131 */ // GIR_Coverage, 52,
2367 /* 5131 */ GIR_Done,
2368 /* 5132 */ // Label 284: @5132
2369 /* 5132 */ GIM_Reject,
2370 /* 5133 */ // Label 282: @5133
2371 /* 5133 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 285*/ GIMT_Encode4(5159), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1085 //
2372 /* 5140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2373 /* 5144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2374 /* 5148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2375 /* 5152 */ // (or:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (OR16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
2376 /* 5152 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR16_MM),
2377 /* 5157 */ GIR_RootConstrainSelectedInstOperands,
2378 /* 5158 */ // GIR_Coverage, 1085,
2379 /* 5158 */ GIR_Done,
2380 /* 5159 */ // Label 285: @5159
2381 /* 5159 */ GIM_Try, /*On fail goto*//*Label 286*/ GIMT_Encode4(5205),
2382 /* 5164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2383 /* 5168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2384 /* 5172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2385 /* 5176 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 287*/ GIMT_Encode4(5190), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1100 //
2386 /* 5183 */ // (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (OR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2387 /* 5183 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_MM),
2388 /* 5188 */ GIR_RootConstrainSelectedInstOperands,
2389 /* 5189 */ // GIR_Coverage, 1100,
2390 /* 5189 */ GIR_Done,
2391 /* 5190 */ // Label 287: @5190
2392 /* 5190 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 288*/ GIMT_Encode4(5204), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1205 //
2393 /* 5197 */ // (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (OR_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2394 /* 5197 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_MMR6),
2395 /* 5202 */ GIR_RootConstrainSelectedInstOperands,
2396 /* 5203 */ // GIR_Coverage, 1205,
2397 /* 5203 */ GIR_Done,
2398 /* 5204 */ // Label 288: @5204
2399 /* 5204 */ GIM_Reject,
2400 /* 5205 */ // Label 286: @5205
2401 /* 5205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 289*/ GIMT_Encode4(5231), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1960 //
2402 /* 5212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2403 /* 5216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2404 /* 5220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2405 /* 5224 */ // (or:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (OrRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
2406 /* 5224 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OrRxRxRy16),
2407 /* 5229 */ GIR_RootConstrainSelectedInstOperands,
2408 /* 5230 */ // GIR_Coverage, 1960,
2409 /* 5230 */ GIR_Done,
2410 /* 5231 */ // Label 289: @5231
2411 /* 5231 */ GIM_Reject,
2412 /* 5232 */ // Label 281: @5232
2413 /* 5232 */ GIM_Reject,
2414 /* 5233 */ // Label 275: @5233
2415 /* 5233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 290*/ GIMT_Encode4(5265), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 235 //
2416 /* 5240 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2417 /* 5243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
2418 /* 5246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2419 /* 5250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2420 /* 5254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2421 /* 5258 */ // (or:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (OR64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2422 /* 5258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR64),
2423 /* 5263 */ GIR_RootConstrainSelectedInstOperands,
2424 /* 5264 */ // GIR_Coverage, 235,
2425 /* 5264 */ GIR_Done,
2426 /* 5265 */ // Label 290: @5265
2427 /* 5265 */ GIM_Reject,
2428 /* 5266 */ // Label 276: @5266
2429 /* 5266 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 291*/ GIMT_Encode4(5298), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 949 //
2430 /* 5273 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2431 /* 5276 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2432 /* 5279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2433 /* 5283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2434 /* 5287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2435 /* 5291 */ // (or:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (OR_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2436 /* 5291 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_V),
2437 /* 5296 */ GIR_RootConstrainSelectedInstOperands,
2438 /* 5297 */ // GIR_Coverage, 949,
2439 /* 5297 */ GIR_Done,
2440 /* 5298 */ // Label 291: @5298
2441 /* 5298 */ GIM_Reject,
2442 /* 5299 */ // Label 277: @5299
2443 /* 5299 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 292*/ GIMT_Encode4(5331), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 950 //
2444 /* 5306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2445 /* 5309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2446 /* 5312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2447 /* 5316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2448 /* 5320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2449 /* 5324 */ // (or:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (OR_V_H_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2450 /* 5324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_V_H_PSEUDO),
2451 /* 5329 */ GIR_RootConstrainSelectedInstOperands,
2452 /* 5330 */ // GIR_Coverage, 950,
2453 /* 5330 */ GIR_Done,
2454 /* 5331 */ // Label 292: @5331
2455 /* 5331 */ GIM_Reject,
2456 /* 5332 */ // Label 278: @5332
2457 /* 5332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 293*/ GIMT_Encode4(5364), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 951 //
2458 /* 5339 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2459 /* 5342 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2460 /* 5345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2461 /* 5349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2462 /* 5353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2463 /* 5357 */ // (or:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (OR_V_W_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2464 /* 5357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_V_W_PSEUDO),
2465 /* 5362 */ GIR_RootConstrainSelectedInstOperands,
2466 /* 5363 */ // GIR_Coverage, 951,
2467 /* 5363 */ GIR_Done,
2468 /* 5364 */ // Label 293: @5364
2469 /* 5364 */ GIM_Reject,
2470 /* 5365 */ // Label 279: @5365
2471 /* 5365 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 294*/ GIMT_Encode4(5397), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 952 //
2472 /* 5372 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2473 /* 5375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2474 /* 5378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2475 /* 5382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2476 /* 5386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2477 /* 5390 */ // (or:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (OR_V_D_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2478 /* 5390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::OR_V_D_PSEUDO),
2479 /* 5395 */ GIR_RootConstrainSelectedInstOperands,
2480 /* 5396 */ // GIR_Coverage, 952,
2481 /* 5396 */ GIR_Done,
2482 /* 5397 */ // Label 294: @5397
2483 /* 5397 */ GIM_Reject,
2484 /* 5398 */ // Label 280: @5398
2485 /* 5398 */ GIM_Reject,
2486 /* 5399 */ // Label 9: @5399
2487 /* 5399 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 301*/ GIMT_Encode4(6235),
2488 /* 5410 */ /*GILLT_s32*//*Label 295*/ GIMT_Encode4(5442),
2489 /* 5414 */ /*GILLT_s64*//*Label 296*/ GIMT_Encode4(6010), GIMT_Encode4(0),
2490 /* 5422 */ /*GILLT_v16s8*//*Label 297*/ GIMT_Encode4(6103), GIMT_Encode4(0),
2491 /* 5430 */ /*GILLT_v8s16*//*Label 298*/ GIMT_Encode4(6136),
2492 /* 5434 */ /*GILLT_v4s32*//*Label 299*/ GIMT_Encode4(6169),
2493 /* 5438 */ /*GILLT_v2s64*//*Label 300*/ GIMT_Encode4(6202),
2494 /* 5442 */ // Label 295: @5442
2495 /* 5442 */ GIM_Try, /*On fail goto*//*Label 302*/ GIMT_Encode4(6009),
2496 /* 5447 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2497 /* 5450 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2498 /* 5453 */ GIM_Try, /*On fail goto*//*Label 303*/ GIMT_Encode4(5617),
2499 /* 5458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2500 /* 5462 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2501 /* 5466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 304*/ GIMT_Encode4(5516), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 54 //
2502 /* 5473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2503 /* 5477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
2504 /* 5481 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
2505 /* 5485 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
2506 /* 5489 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2507 /* 5494 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2508 /* 5499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2509 /* 5501 */ // (xor:{ *:[i32] } (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt), -1:{ *:[i32] }) => (NOR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2510 /* 5501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR),
2511 /* 5504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2512 /* 5506 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2513 /* 5510 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2514 /* 5514 */ GIR_RootConstrainSelectedInstOperands,
2515 /* 5515 */ // GIR_Coverage, 54,
2516 /* 5515 */ GIR_EraseRootFromParent_Done,
2517 /* 5516 */ // Label 304: @5516
2518 /* 5516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 305*/ GIMT_Encode4(5566), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1102 //
2519 /* 5523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2520 /* 5527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
2521 /* 5531 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
2522 /* 5535 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
2523 /* 5539 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2524 /* 5544 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2525 /* 5549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2526 /* 5551 */ // (xor:{ *:[i32] } (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt), -1:{ *:[i32] }) => (NOR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2527 /* 5551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR_MM),
2528 /* 5554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2529 /* 5556 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2530 /* 5560 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2531 /* 5564 */ GIR_RootConstrainSelectedInstOperands,
2532 /* 5565 */ // GIR_Coverage, 1102,
2533 /* 5565 */ GIR_EraseRootFromParent_Done,
2534 /* 5566 */ // Label 305: @5566
2535 /* 5566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 306*/ GIMT_Encode4(5616), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1204 //
2536 /* 5573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2537 /* 5577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
2538 /* 5581 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
2539 /* 5585 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
2540 /* 5589 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2541 /* 5594 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2542 /* 5599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2543 /* 5601 */ // (xor:{ *:[i32] } (or:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt), -1:{ *:[i32] }) => (NOR_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2544 /* 5601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR_MMR6),
2545 /* 5604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2546 /* 5606 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2547 /* 5610 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2548 /* 5614 */ GIR_RootConstrainSelectedInstOperands,
2549 /* 5615 */ // GIR_Coverage, 1204,
2550 /* 5615 */ GIR_EraseRootFromParent_Done,
2551 /* 5616 */ // Label 306: @5616
2552 /* 5616 */ GIM_Reject,
2553 /* 5617 */ // Label 303: @5617
2554 /* 5617 */ GIM_Try, /*On fail goto*//*Label 307*/ GIMT_Encode4(5667),
2555 /* 5622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2556 /* 5626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2557 /* 5630 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2558 /* 5634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 308*/ GIMT_Encode4(5650), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1231 //
2559 /* 5641 */ // (xor:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] }) => (NOT16_MMR6:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs)
2560 /* 5641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOT16_MMR6),
2561 /* 5644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2562 /* 5646 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2563 /* 5648 */ GIR_RootConstrainSelectedInstOperands,
2564 /* 5649 */ // GIR_Coverage, 1231,
2565 /* 5649 */ GIR_EraseRootFromParent_Done,
2566 /* 5650 */ // Label 308: @5650
2567 /* 5650 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 309*/ GIMT_Encode4(5666), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1084 //
2568 /* 5657 */ // (xor:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] }) => (NOT16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs)
2569 /* 5657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOT16_MM),
2570 /* 5660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2571 /* 5662 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2572 /* 5664 */ GIR_RootConstrainSelectedInstOperands,
2573 /* 5665 */ // GIR_Coverage, 1084,
2574 /* 5665 */ GIR_EraseRootFromParent_Done,
2575 /* 5666 */ // Label 309: @5666
2576 /* 5666 */ GIM_Reject,
2577 /* 5667 */ // Label 307: @5667
2578 /* 5667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 310*/ GIMT_Encode4(5701), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1419 //
2579 /* 5674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2580 /* 5678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2581 /* 5682 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2582 /* 5686 */ // (xor:{ *:[i32] } GPR32:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$in, ZERO:{ *:[i32] })
2583 /* 5686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR),
2584 /* 5689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2585 /* 5691 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2586 /* 5693 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
2587 /* 5699 */ GIR_RootConstrainSelectedInstOperands,
2588 /* 5700 */ // GIR_Coverage, 1419,
2589 /* 5700 */ GIR_EraseRootFromParent_Done,
2590 /* 5701 */ // Label 310: @5701
2591 /* 5701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 311*/ GIMT_Encode4(5729), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1955 //
2592 /* 5708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2593 /* 5712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2594 /* 5716 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2595 /* 5720 */ // (xor:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, -1:{ *:[i32] }) => (NotRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r)
2596 /* 5720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NotRxRy16),
2597 /* 5723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
2598 /* 5725 */ GIR_RootToRootCopy, /*OpIdx*/1, // r
2599 /* 5727 */ GIR_RootConstrainSelectedInstOperands,
2600 /* 5728 */ // GIR_Coverage, 1955,
2601 /* 5728 */ GIR_EraseRootFromParent_Done,
2602 /* 5729 */ // Label 311: @5729
2603 /* 5729 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 312*/ GIMT_Encode4(5757), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2300 //
2604 /* 5736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2605 /* 5740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2606 /* 5744 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2607 /* 5748 */ // (xor:{ *:[i32] } GPRMM16:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOT16_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$in)
2608 /* 5748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOT16_MM),
2609 /* 5751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2610 /* 5753 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2611 /* 5755 */ GIR_RootConstrainSelectedInstOperands,
2612 /* 5756 */ // GIR_Coverage, 2300,
2613 /* 5756 */ GIR_EraseRootFromParent_Done,
2614 /* 5757 */ // Label 312: @5757
2615 /* 5757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 313*/ GIMT_Encode4(5791), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2301 //
2616 /* 5764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2617 /* 5768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2618 /* 5772 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2619 /* 5776 */ // (xor:{ *:[i32] } GPR32:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$in, ZERO:{ *:[i32] })
2620 /* 5776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR_MM),
2621 /* 5779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2622 /* 5781 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2623 /* 5783 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
2624 /* 5789 */ GIR_RootConstrainSelectedInstOperands,
2625 /* 5790 */ // GIR_Coverage, 2301,
2626 /* 5790 */ GIR_EraseRootFromParent_Done,
2627 /* 5791 */ // Label 313: @5791
2628 /* 5791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 314*/ GIMT_Encode4(5819), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2472 //
2629 /* 5798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2630 /* 5802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2631 /* 5806 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2632 /* 5810 */ // (xor:{ *:[i32] } GPRMM16:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOT16_MMR6:{ *:[i32] } GPRMM16:{ *:[i32] }:$in)
2633 /* 5810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOT16_MMR6),
2634 /* 5813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2635 /* 5815 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2636 /* 5817 */ GIR_RootConstrainSelectedInstOperands,
2637 /* 5818 */ // GIR_Coverage, 2472,
2638 /* 5818 */ GIR_EraseRootFromParent_Done,
2639 /* 5819 */ // Label 314: @5819
2640 /* 5819 */ GIM_Try, /*On fail goto*//*Label 315*/ GIMT_Encode4(5910),
2641 /* 5824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2642 /* 5828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2643 /* 5832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 316*/ GIMT_Encode4(5858), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2473 //
2644 /* 5839 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2645 /* 5843 */ // (xor:{ *:[i32] } GPR32:{ *:[i32] }:$in, -1:{ *:[i32] }) => (NOR_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$in, ZERO:{ *:[i32] })
2646 /* 5843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR_MMR6),
2647 /* 5846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2648 /* 5848 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
2649 /* 5850 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
2650 /* 5856 */ GIR_RootConstrainSelectedInstOperands,
2651 /* 5857 */ // GIR_Coverage, 2473,
2652 /* 5857 */ GIR_EraseRootFromParent_Done,
2653 /* 5858 */ // Label 316: @5858
2654 /* 5858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 317*/ GIMT_Encode4(5891), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 43 //
2655 /* 5865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2656 /* 5869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2657 /* 5873 */ GIM_CheckAPIntImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
2658 /* 5877 */ // MIs[1] Operand 1
2659 /* 5877 */ // No operand predicates
2660 /* 5877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2661 /* 5879 */ // (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_imm32ZExt16>>:$imm16) => (XORi:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$imm16)
2662 /* 5879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
2663 /* 5882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
2664 /* 5884 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2665 /* 5886 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm16
2666 /* 5889 */ GIR_RootConstrainSelectedInstOperands,
2667 /* 5890 */ // GIR_Coverage, 43,
2668 /* 5890 */ GIR_EraseRootFromParent_Done,
2669 /* 5891 */ // Label 317: @5891
2670 /* 5891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 318*/ GIMT_Encode4(5909), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 53 //
2671 /* 5898 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2672 /* 5902 */ // (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (XOR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2673 /* 5902 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR),
2674 /* 5907 */ GIR_RootConstrainSelectedInstOperands,
2675 /* 5908 */ // GIR_Coverage, 53,
2676 /* 5908 */ GIR_Done,
2677 /* 5909 */ // Label 318: @5909
2678 /* 5909 */ GIM_Reject,
2679 /* 5910 */ // Label 315: @5910
2680 /* 5910 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 319*/ GIMT_Encode4(5936), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1087 //
2681 /* 5917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2682 /* 5921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2683 /* 5925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
2684 /* 5929 */ // (xor:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt) => (XOR16_MM:{ *:[i32] } GPRMM16Opnd:{ *:[i32] }:$rs, GPRMM16Opnd:{ *:[i32] }:$rt)
2685 /* 5929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR16_MM),
2686 /* 5934 */ GIR_RootConstrainSelectedInstOperands,
2687 /* 5935 */ // GIR_Coverage, 1087,
2688 /* 5935 */ GIR_Done,
2689 /* 5936 */ // Label 319: @5936
2690 /* 5936 */ GIM_Try, /*On fail goto*//*Label 320*/ GIMT_Encode4(5982),
2691 /* 5941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2692 /* 5945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2693 /* 5949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2694 /* 5953 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 321*/ GIMT_Encode4(5967), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1101 //
2695 /* 5960 */ // (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (XOR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2696 /* 5960 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
2697 /* 5965 */ GIR_RootConstrainSelectedInstOperands,
2698 /* 5966 */ // GIR_Coverage, 1101,
2699 /* 5966 */ GIR_Done,
2700 /* 5967 */ // Label 321: @5967
2701 /* 5967 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 322*/ GIMT_Encode4(5981), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1208 //
2702 /* 5974 */ // (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (XOR_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
2703 /* 5974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_MMR6),
2704 /* 5979 */ GIR_RootConstrainSelectedInstOperands,
2705 /* 5980 */ // GIR_Coverage, 1208,
2706 /* 5980 */ GIR_Done,
2707 /* 5981 */ // Label 322: @5981
2708 /* 5981 */ GIM_Reject,
2709 /* 5982 */ // Label 320: @5982
2710 /* 5982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 323*/ GIMT_Encode4(6008), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1962 //
2711 /* 5989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2712 /* 5993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2713 /* 5997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
2714 /* 6001 */ // (xor:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r) => (XorRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$l, CPU16Regs:{ *:[i32] }:$r)
2715 /* 6001 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
2716 /* 6006 */ GIR_RootConstrainSelectedInstOperands,
2717 /* 6007 */ // GIR_Coverage, 1962,
2718 /* 6007 */ GIR_Done,
2719 /* 6008 */ // Label 323: @6008
2720 /* 6008 */ GIM_Reject,
2721 /* 6009 */ // Label 302: @6009
2722 /* 6009 */ GIM_Reject,
2723 /* 6010 */ // Label 296: @6010
2724 /* 6010 */ GIM_Try, /*On fail goto*//*Label 324*/ GIMT_Encode4(6102),
2725 /* 6015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2726 /* 6018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
2727 /* 6021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2728 /* 6025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 325*/ GIMT_Encode4(6079), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 237 //
2729 /* 6032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2730 /* 6036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
2731 /* 6040 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
2732 /* 6044 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
2733 /* 6048 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2734 /* 6053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2735 /* 6058 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2736 /* 6062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2737 /* 6064 */ // (xor:{ *:[i64] } (or:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt), -1:{ *:[i64] }) => (NOR64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2738 /* 6064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NOR64),
2739 /* 6067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
2740 /* 6069 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
2741 /* 6073 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rt
2742 /* 6077 */ GIR_RootConstrainSelectedInstOperands,
2743 /* 6078 */ // GIR_Coverage, 237,
2744 /* 6078 */ GIR_EraseRootFromParent_Done,
2745 /* 6079 */ // Label 325: @6079
2746 /* 6079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 326*/ GIMT_Encode4(6101), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 236 //
2747 /* 6086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2748 /* 6090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2749 /* 6094 */ // (xor:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (XOR64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
2750 /* 6094 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR64),
2751 /* 6099 */ GIR_RootConstrainSelectedInstOperands,
2752 /* 6100 */ // GIR_Coverage, 236,
2753 /* 6100 */ GIR_Done,
2754 /* 6101 */ // Label 326: @6101
2755 /* 6101 */ GIM_Reject,
2756 /* 6102 */ // Label 324: @6102
2757 /* 6102 */ GIM_Reject,
2758 /* 6103 */ // Label 297: @6103
2759 /* 6103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 327*/ GIMT_Encode4(6135), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1065 //
2760 /* 6110 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2761 /* 6113 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2762 /* 6116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2763 /* 6120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2764 /* 6124 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2765 /* 6128 */ // (xor:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (XOR_V:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
2766 /* 6128 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_V),
2767 /* 6133 */ GIR_RootConstrainSelectedInstOperands,
2768 /* 6134 */ // GIR_Coverage, 1065,
2769 /* 6134 */ GIR_Done,
2770 /* 6135 */ // Label 327: @6135
2771 /* 6135 */ GIM_Reject,
2772 /* 6136 */ // Label 298: @6136
2773 /* 6136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 328*/ GIMT_Encode4(6168), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1066 //
2774 /* 6143 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2775 /* 6146 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2776 /* 6149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2777 /* 6153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2778 /* 6157 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2779 /* 6161 */ // (xor:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (XOR_V_H_PSEUDO:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
2780 /* 6161 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_V_H_PSEUDO),
2781 /* 6166 */ GIR_RootConstrainSelectedInstOperands,
2782 /* 6167 */ // GIR_Coverage, 1066,
2783 /* 6167 */ GIR_Done,
2784 /* 6168 */ // Label 328: @6168
2785 /* 6168 */ GIM_Reject,
2786 /* 6169 */ // Label 299: @6169
2787 /* 6169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 329*/ GIMT_Encode4(6201), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1067 //
2788 /* 6176 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2789 /* 6179 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2790 /* 6182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2791 /* 6186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2792 /* 6190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2793 /* 6194 */ // (xor:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (XOR_V_W_PSEUDO:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
2794 /* 6194 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_V_W_PSEUDO),
2795 /* 6199 */ GIR_RootConstrainSelectedInstOperands,
2796 /* 6200 */ // GIR_Coverage, 1067,
2797 /* 6200 */ GIR_Done,
2798 /* 6201 */ // Label 329: @6201
2799 /* 6201 */ GIM_Reject,
2800 /* 6202 */ // Label 300: @6202
2801 /* 6202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 330*/ GIMT_Encode4(6234), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1068 //
2802 /* 6209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2803 /* 6212 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2804 /* 6215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2805 /* 6219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2806 /* 6223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2807 /* 6227 */ // (xor:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (XOR_V_D_PSEUDO:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
2808 /* 6227 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::XOR_V_D_PSEUDO),
2809 /* 6232 */ GIR_RootConstrainSelectedInstOperands,
2810 /* 6233 */ // GIR_Coverage, 1068,
2811 /* 6233 */ GIR_Done,
2812 /* 6234 */ // Label 330: @6234
2813 /* 6234 */ GIM_Reject,
2814 /* 6235 */ // Label 301: @6235
2815 /* 6235 */ GIM_Reject,
2816 /* 6236 */ // Label 10: @6236
2817 /* 6236 */ GIM_Try, /*On fail goto*//*Label 331*/ GIMT_Encode4(6334),
2818 /* 6241 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
2819 /* 6244 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
2820 /* 6247 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2821 /* 6250 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
2822 /* 6253 */ GIM_Try, /*On fail goto*//*Label 332*/ GIMT_Encode4(6307),
2823 /* 6258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
2824 /* 6262 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 333*/ GIMT_Encode4(6284), GIMT_Encode2(GIFBS_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMips16Mode), // Rule ID 207 //
2825 /* 6269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2826 /* 6273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2827 /* 6277 */ // (MipsBuildPairF64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$lo, GPR32Opnd:{ *:[i32] }:$hi) => (BuildPairF64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$lo, GPR32Opnd:{ *:[i32] }:$hi)
2828 /* 6277 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BuildPairF64),
2829 /* 6282 */ GIR_RootConstrainSelectedInstOperands,
2830 /* 6283 */ // GIR_Coverage, 207,
2831 /* 6283 */ GIR_Done,
2832 /* 6284 */ // Label 333: @6284
2833 /* 6284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 334*/ GIMT_Encode4(6306), GIMT_Encode2(GIFBS_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMips16Mode), // Rule ID 208 //
2834 /* 6291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
2835 /* 6295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
2836 /* 6299 */ // (MipsBuildPairF64_FPR:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$lo, FGR32Opnd:{ *:[f32] }:$hi) => (BuildPairF64_FPR:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$lo, FGR32Opnd:{ *:[f32] }:$hi)
2837 /* 6299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BuildPairF64_FPR),
2838 /* 6304 */ GIR_RootConstrainSelectedInstOperands,
2839 /* 6305 */ // GIR_Coverage, 208,
2840 /* 6305 */ GIR_Done,
2841 /* 6306 */ // Label 334: @6306
2842 /* 6306 */ GIM_Reject,
2843 /* 6307 */ // Label 332: @6307
2844 /* 6307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 335*/ GIMT_Encode4(6333), GIMT_Encode2(GIFBS_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMips16Mode), // Rule ID 209 //
2845 /* 6314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
2846 /* 6318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2847 /* 6322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2848 /* 6326 */ // (MipsBuildPairF64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$lo, GPR32Opnd:{ *:[i32] }:$hi) => (BuildPairF64_64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$lo, GPR32Opnd:{ *:[i32] }:$hi)
2849 /* 6326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BuildPairF64_64),
2850 /* 6331 */ GIR_RootConstrainSelectedInstOperands,
2851 /* 6332 */ // GIR_Coverage, 209,
2852 /* 6332 */ GIR_Done,
2853 /* 6333 */ // Label 335: @6333
2854 /* 6333 */ GIM_Reject,
2855 /* 6334 */ // Label 331: @6334
2856 /* 6334 */ GIM_Reject,
2857 /* 6335 */ // Label 11: @6335
2858 /* 6335 */ GIM_Try, /*On fail goto*//*Label 336*/ GIMT_Encode4(6404),
2859 /* 6340 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
2860 /* 6343 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
2861 /* 6346 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
2862 /* 6349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
2863 /* 6353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 337*/ GIMT_Encode4(6378), GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc), // Rule ID 747 //
2864 /* 6360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
2865 /* 6364 */ // MIs[0] rs
2866 /* 6364 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2867 /* 6369 */ // (build_vector:{ *:[v2i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rs) => (FILL_D:{ *:[v2i64] } GPR64Opnd:{ *:[i64] }:$rs)
2868 /* 6369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_D),
2869 /* 6372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2870 /* 6374 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2871 /* 6376 */ GIR_RootConstrainSelectedInstOperands,
2872 /* 6377 */ // GIR_Coverage, 747,
2873 /* 6377 */ GIR_EraseRootFromParent_Done,
2874 /* 6378 */ // Label 337: @6378
2875 /* 6378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 338*/ GIMT_Encode4(6403), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 749 //
2876 /* 6385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
2877 /* 6389 */ // MIs[0] fs
2878 /* 6389 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2879 /* 6394 */ // (build_vector:{ *:[v2f64] } FGR64:{ *:[f64] }:$fs, FGR64:{ *:[f64] }:$fs) => (FILL_FD_PSEUDO:{ *:[v2f64] } FGR64:{ *:[f64] }:$fs)
2880 /* 6394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_FD_PSEUDO),
2881 /* 6397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2882 /* 6399 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
2883 /* 6401 */ GIR_RootConstrainSelectedInstOperands,
2884 /* 6402 */ // GIR_Coverage, 749,
2885 /* 6402 */ GIR_EraseRootFromParent_Done,
2886 /* 6403 */ // Label 338: @6403
2887 /* 6403 */ GIM_Reject,
2888 /* 6404 */ // Label 336: @6404
2889 /* 6404 */ GIM_Try, /*On fail goto*//*Label 339*/ GIMT_Encode4(6493),
2890 /* 6409 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
2891 /* 6412 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
2892 /* 6415 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2893 /* 6418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
2894 /* 6422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 340*/ GIMT_Encode4(6457), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 746 //
2895 /* 6429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2896 /* 6433 */ // MIs[0] rs
2897 /* 6433 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2898 /* 6438 */ // MIs[0] rs
2899 /* 6438 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/3, /*OtherMI*/0, /*OtherOpIdx*/1,
2900 /* 6443 */ // MIs[0] rs
2901 /* 6443 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/4, /*OtherMI*/0, /*OtherOpIdx*/1,
2902 /* 6448 */ // (build_vector:{ *:[v4i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rs) => (FILL_W:{ *:[v4i32] } GPR32Opnd:{ *:[i32] }:$rs)
2903 /* 6448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_W),
2904 /* 6451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2905 /* 6453 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2906 /* 6455 */ GIR_RootConstrainSelectedInstOperands,
2907 /* 6456 */ // GIR_Coverage, 746,
2908 /* 6456 */ GIR_EraseRootFromParent_Done,
2909 /* 6457 */ // Label 340: @6457
2910 /* 6457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 341*/ GIMT_Encode4(6492), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 748 //
2911 /* 6464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
2912 /* 6468 */ // MIs[0] fs
2913 /* 6468 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2914 /* 6473 */ // MIs[0] fs
2915 /* 6473 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/3, /*OtherMI*/0, /*OtherOpIdx*/1,
2916 /* 6478 */ // MIs[0] fs
2917 /* 6478 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/4, /*OtherMI*/0, /*OtherOpIdx*/1,
2918 /* 6483 */ // (build_vector:{ *:[v4f32] } FGR32:{ *:[f32] }:$fs, FGR32:{ *:[f32] }:$fs, FGR32:{ *:[f32] }:$fs, FGR32:{ *:[f32] }:$fs) => (FILL_FW_PSEUDO:{ *:[v4f32] } FGR32:{ *:[f32] }:$fs)
2919 /* 6483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_FW_PSEUDO),
2920 /* 6486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2921 /* 6488 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
2922 /* 6490 */ GIR_RootConstrainSelectedInstOperands,
2923 /* 6491 */ // GIR_Coverage, 748,
2924 /* 6491 */ GIR_EraseRootFromParent_Done,
2925 /* 6492 */ // Label 341: @6492
2926 /* 6492 */ GIM_Reject,
2927 /* 6493 */ // Label 339: @6493
2928 /* 6493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 342*/ GIMT_Encode4(6561), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 745 //
2929 /* 6500 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/9,
2930 /* 6503 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
2931 /* 6506 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2932 /* 6509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
2933 /* 6513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2934 /* 6517 */ // MIs[0] rs
2935 /* 6517 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2936 /* 6522 */ // MIs[0] rs
2937 /* 6522 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/3, /*OtherMI*/0, /*OtherOpIdx*/1,
2938 /* 6527 */ // MIs[0] rs
2939 /* 6527 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/4, /*OtherMI*/0, /*OtherOpIdx*/1,
2940 /* 6532 */ // MIs[0] rs
2941 /* 6532 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/5, /*OtherMI*/0, /*OtherOpIdx*/1,
2942 /* 6537 */ // MIs[0] rs
2943 /* 6537 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/6, /*OtherMI*/0, /*OtherOpIdx*/1,
2944 /* 6542 */ // MIs[0] rs
2945 /* 6542 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/7, /*OtherMI*/0, /*OtherOpIdx*/1,
2946 /* 6547 */ // MIs[0] rs
2947 /* 6547 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/8, /*OtherMI*/0, /*OtherOpIdx*/1,
2948 /* 6552 */ // (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)
2949 /* 6552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_H),
2950 /* 6555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2951 /* 6557 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2952 /* 6559 */ GIR_RootConstrainSelectedInstOperands,
2953 /* 6560 */ // GIR_Coverage, 745,
2954 /* 6560 */ GIR_EraseRootFromParent_Done,
2955 /* 6561 */ // Label 342: @6561
2956 /* 6561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 343*/ GIMT_Encode4(6669), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 744 //
2957 /* 6568 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/17,
2958 /* 6571 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
2959 /* 6574 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
2960 /* 6577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
2961 /* 6581 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
2962 /* 6585 */ // MIs[0] rs
2963 /* 6585 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
2964 /* 6590 */ // MIs[0] rs
2965 /* 6590 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/3, /*OtherMI*/0, /*OtherOpIdx*/1,
2966 /* 6595 */ // MIs[0] rs
2967 /* 6595 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/4, /*OtherMI*/0, /*OtherOpIdx*/1,
2968 /* 6600 */ // MIs[0] rs
2969 /* 6600 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/5, /*OtherMI*/0, /*OtherOpIdx*/1,
2970 /* 6605 */ // MIs[0] rs
2971 /* 6605 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/6, /*OtherMI*/0, /*OtherOpIdx*/1,
2972 /* 6610 */ // MIs[0] rs
2973 /* 6610 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/7, /*OtherMI*/0, /*OtherOpIdx*/1,
2974 /* 6615 */ // MIs[0] rs
2975 /* 6615 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/8, /*OtherMI*/0, /*OtherOpIdx*/1,
2976 /* 6620 */ // MIs[0] rs
2977 /* 6620 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/9, /*OtherMI*/0, /*OtherOpIdx*/1,
2978 /* 6625 */ // MIs[0] rs
2979 /* 6625 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/10, /*OtherMI*/0, /*OtherOpIdx*/1,
2980 /* 6630 */ // MIs[0] rs
2981 /* 6630 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/11, /*OtherMI*/0, /*OtherOpIdx*/1,
2982 /* 6635 */ // MIs[0] rs
2983 /* 6635 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/12, /*OtherMI*/0, /*OtherOpIdx*/1,
2984 /* 6640 */ // MIs[0] rs
2985 /* 6640 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/13, /*OtherMI*/0, /*OtherOpIdx*/1,
2986 /* 6645 */ // MIs[0] rs
2987 /* 6645 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/14, /*OtherMI*/0, /*OtherOpIdx*/1,
2988 /* 6650 */ // MIs[0] rs
2989 /* 6650 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/15, /*OtherMI*/0, /*OtherOpIdx*/1,
2990 /* 6655 */ // MIs[0] rs
2991 /* 6655 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/16, /*OtherMI*/0, /*OtherOpIdx*/1,
2992 /* 6660 */ // (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)
2993 /* 6660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FILL_B),
2994 /* 6663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
2995 /* 6665 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
2996 /* 6667 */ GIR_RootConstrainSelectedInstOperands,
2997 /* 6668 */ // GIR_Coverage, 744,
2998 /* 6668 */ GIR_EraseRootFromParent_Done,
2999 /* 6669 */ // Label 343: @6669
3000 /* 6669 */ GIM_Reject,
3001 /* 6670 */ // Label 12: @6670
3002 /* 6670 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 352*/ GIMT_Encode4(10753),
3003 /* 6681 */ /*GILLT_s32*//*Label 344*/ GIMT_Encode4(6713),
3004 /* 6685 */ /*GILLT_s64*//*Label 345*/ GIMT_Encode4(6982),
3005 /* 6689 */ /*GILLT_v4s8*//*Label 346*/ GIMT_Encode4(7036),
3006 /* 6693 */ /*GILLT_v16s8*//*Label 347*/ GIMT_Encode4(7094),
3007 /* 6697 */ /*GILLT_v2s16*//*Label 348*/ GIMT_Encode4(7739),
3008 /* 6701 */ /*GILLT_v8s16*//*Label 349*/ GIMT_Encode4(7797),
3009 /* 6705 */ /*GILLT_v4s32*//*Label 350*/ GIMT_Encode4(8751),
3010 /* 6709 */ /*GILLT_v2s64*//*Label 351*/ GIMT_Encode4(9719),
3011 /* 6713 */ // Label 344: @6713
3012 /* 6713 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(0), GIMT_Encode2(5), /*)*//*default:*//*Label 356*/ GIMT_Encode4(6981),
3013 /* 6724 */ /*GILLT_s32*//*Label 353*/ GIMT_Encode4(6744), GIMT_Encode4(0),
3014 /* 6732 */ /*GILLT_v4s8*//*Label 354*/ GIMT_Encode4(6875), GIMT_Encode4(0),
3015 /* 6740 */ /*GILLT_v2s16*//*Label 355*/ GIMT_Encode4(6928),
3016 /* 6744 */ // Label 353: @6744
3017 /* 6744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 357*/ GIMT_Encode4(6766), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 138 //
3018 /* 6751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3019 /* 6755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3020 /* 6759 */ // (bitconvert:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs) => (MFC1:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs)
3021 /* 6759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MFC1),
3022 /* 6764 */ GIR_RootConstrainSelectedInstOperands,
3023 /* 6765 */ // GIR_Coverage, 138,
3024 /* 6765 */ GIR_Done,
3025 /* 6766 */ // Label 357: @6766
3026 /* 6766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 358*/ GIMT_Encode4(6788), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 139 //
3027 /* 6773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3028 /* 6777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3029 /* 6781 */ // (bitconvert:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt) => (MTC1:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt)
3030 /* 6781 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MTC1),
3031 /* 6786 */ GIR_RootConstrainSelectedInstOperands,
3032 /* 6787 */ // GIR_Coverage, 139,
3033 /* 6787 */ GIR_Done,
3034 /* 6788 */ // Label 358: @6788
3035 /* 6788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 359*/ GIMT_Encode4(6810), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1182 //
3036 /* 6795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3037 /* 6799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3038 /* 6803 */ // (bitconvert:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs) => (MFC1_MM:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs)
3039 /* 6803 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MFC1_MM),
3040 /* 6808 */ GIR_RootConstrainSelectedInstOperands,
3041 /* 6809 */ // GIR_Coverage, 1182,
3042 /* 6809 */ GIR_Done,
3043 /* 6810 */ // Label 359: @6810
3044 /* 6810 */ GIM_Try, /*On fail goto*//*Label 360*/ GIMT_Encode4(6852),
3045 /* 6815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3046 /* 6819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3047 /* 6823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 361*/ GIMT_Encode4(6837), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1183 //
3048 /* 6830 */ // (bitconvert:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt) => (MTC1_MM:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt)
3049 /* 6830 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MTC1_MM),
3050 /* 6835 */ GIR_RootConstrainSelectedInstOperands,
3051 /* 6836 */ // GIR_Coverage, 1183,
3052 /* 6836 */ GIR_Done,
3053 /* 6837 */ // Label 361: @6837
3054 /* 6837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 362*/ GIMT_Encode4(6851), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1197 //
3055 /* 6844 */ // (bitconvert:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt) => (MTC1_MMR6:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$rt)
3056 /* 6844 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MTC1_MMR6),
3057 /* 6849 */ GIR_RootConstrainSelectedInstOperands,
3058 /* 6850 */ // GIR_Coverage, 1197,
3059 /* 6850 */ GIR_Done,
3060 /* 6851 */ // Label 362: @6851
3061 /* 6851 */ GIM_Reject,
3062 /* 6852 */ // Label 360: @6852
3063 /* 6852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 363*/ GIMT_Encode4(6874), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1198 //
3064 /* 6859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3065 /* 6863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3066 /* 6867 */ // (bitconvert:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs) => (MFC1_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs)
3067 /* 6867 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MFC1_MMR6),
3068 /* 6872 */ GIR_RootConstrainSelectedInstOperands,
3069 /* 6873 */ // GIR_Coverage, 1198,
3070 /* 6873 */ GIR_Done,
3071 /* 6874 */ // Label 363: @6874
3072 /* 6874 */ GIM_Reject,
3073 /* 6875 */ // Label 354: @6875
3074 /* 6875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 364*/ GIMT_Encode4(6901), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2044 //
3075 /* 6882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3076 /* 6886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3077 /* 6890 */ // (bitconvert:{ *:[i32] } DSPR:{ *:[v4i8] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } DSPR:{ *:[v4i8] }:$src, GPR32:{ *:[i32] })
3078 /* 6890 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3079 /* 6895 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR32RegClassID),
3080 /* 6900 */ // GIR_Coverage, 2044,
3081 /* 6900 */ GIR_Done,
3082 /* 6901 */ // Label 364: @6901
3083 /* 6901 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 365*/ GIMT_Encode4(6927), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2048 //
3084 /* 6908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3085 /* 6912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3086 /* 6916 */ // (bitconvert:{ *:[f32] } DSPR:{ *:[v4i8] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } DSPR:{ *:[v4i8] }:$src, FGR32:{ *:[i32] })
3087 /* 6916 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3088 /* 6921 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::FGR32RegClassID),
3089 /* 6926 */ // GIR_Coverage, 2048,
3090 /* 6926 */ GIR_Done,
3091 /* 6927 */ // Label 365: @6927
3092 /* 6927 */ GIM_Reject,
3093 /* 6928 */ // Label 355: @6928
3094 /* 6928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 366*/ GIMT_Encode4(6954), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2043 //
3095 /* 6935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3096 /* 6939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3097 /* 6943 */ // (bitconvert:{ *:[i32] } DSPR:{ *:[v2i16] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } DSPR:{ *:[v2i16] }:$src, GPR32:{ *:[i32] })
3098 /* 6943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3099 /* 6948 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR32RegClassID),
3100 /* 6953 */ // GIR_Coverage, 2043,
3101 /* 6953 */ GIR_Done,
3102 /* 6954 */ // Label 366: @6954
3103 /* 6954 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 367*/ GIMT_Encode4(6980), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2047 //
3104 /* 6961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3105 /* 6965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3106 /* 6969 */ // (bitconvert:{ *:[f32] } DSPR:{ *:[v2i16] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } DSPR:{ *:[v2i16] }:$src, FGR32:{ *:[i32] })
3107 /* 6969 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3108 /* 6974 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::FGR32RegClassID),
3109 /* 6979 */ // GIR_Coverage, 2047,
3110 /* 6979 */ GIR_Done,
3111 /* 6980 */ // Label 367: @6980
3112 /* 6980 */ GIM_Reject,
3113 /* 6981 */ // Label 356: @6981
3114 /* 6981 */ GIM_Reject,
3115 /* 6982 */ // Label 345: @6982
3116 /* 6982 */ GIM_Try, /*On fail goto*//*Label 368*/ GIMT_Encode4(7035),
3117 /* 6987 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
3118 /* 6990 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 369*/ GIMT_Encode4(7012), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 140 //
3119 /* 6997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
3120 /* 7001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
3121 /* 7005 */ // (bitconvert:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$rt) => (DMTC1:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$rt)
3122 /* 7005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMTC1),
3123 /* 7010 */ GIR_RootConstrainSelectedInstOperands,
3124 /* 7011 */ // GIR_Coverage, 140,
3125 /* 7011 */ GIR_Done,
3126 /* 7012 */ // Label 369: @7012
3127 /* 7012 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 370*/ GIMT_Encode4(7034), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 141 //
3128 /* 7019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
3129 /* 7023 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
3130 /* 7027 */ // (bitconvert:{ *:[i64] } FGR64Opnd:{ *:[f64] }:$fs) => (DMFC1:{ *:[i64] } FGR64Opnd:{ *:[f64] }:$fs)
3131 /* 7027 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMFC1),
3132 /* 7032 */ GIR_RootConstrainSelectedInstOperands,
3133 /* 7033 */ // GIR_Coverage, 141,
3134 /* 7033 */ GIR_Done,
3135 /* 7034 */ // Label 370: @7034
3136 /* 7034 */ GIM_Reject,
3137 /* 7035 */ // Label 368: @7035
3138 /* 7035 */ GIM_Reject,
3139 /* 7036 */ // Label 346: @7036
3140 /* 7036 */ GIM_Try, /*On fail goto*//*Label 371*/ GIMT_Encode4(7093),
3141 /* 7041 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3142 /* 7044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3143 /* 7048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 372*/ GIMT_Encode4(7070), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2046 //
3144 /* 7055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3145 /* 7059 */ // (bitconvert:{ *:[v4i8] } GPR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i8] } GPR32:{ *:[i32] }:$src, DSPR:{ *:[i32] })
3146 /* 7059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3147 /* 7064 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
3148 /* 7069 */ // GIR_Coverage, 2046,
3149 /* 7069 */ GIR_Done,
3150 /* 7070 */ // Label 372: @7070
3151 /* 7070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 373*/ GIMT_Encode4(7092), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2050 //
3152 /* 7077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3153 /* 7081 */ // (bitconvert:{ *:[v4i8] } FGR32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i8] } FGR32:{ *:[f32] }:$src, DSPR:{ *:[i32] })
3154 /* 7081 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3155 /* 7086 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
3156 /* 7091 */ // GIR_Coverage, 2050,
3157 /* 7091 */ GIR_Done,
3158 /* 7092 */ // Label 373: @7092
3159 /* 7092 */ GIM_Reject,
3160 /* 7093 */ // Label 371: @7093
3161 /* 7093 */ GIM_Reject,
3162 /* 7094 */ // Label 347: @7094
3163 /* 7094 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(5), GIMT_Encode2(8), /*)*//*default:*//*Label 377*/ GIMT_Encode4(7738),
3164 /* 7105 */ /*GILLT_v8s16*//*Label 374*/ GIMT_Encode4(7117),
3165 /* 7109 */ /*GILLT_v4s32*//*Label 375*/ GIMT_Encode4(7302),
3166 /* 7113 */ /*GILLT_v2s64*//*Label 376*/ GIMT_Encode4(7473),
3167 /* 7117 */ // Label 374: @7117
3168 /* 7117 */ GIM_Try, /*On fail goto*//*Label 378*/ GIMT_Encode4(7301),
3169 /* 7122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
3170 /* 7126 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 379*/ GIMT_Encode4(7144), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2134 //
3171 /* 7133 */ // (bitconvert:{ *:[v16i8] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v8i16:{ *:[v8i16] }:$src, MSA128B:{ *:[i32] })
3172 /* 7133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3173 /* 7138 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3174 /* 7143 */ // GIR_Coverage, 2134,
3175 /* 7143 */ GIR_Done,
3176 /* 7144 */ // Label 379: @7144
3177 /* 7144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 380*/ GIMT_Encode4(7162), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2137 //
3178 /* 7151 */ // (bitconvert:{ *:[v16i8] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v8f16:{ *:[v8f16] }:$src, MSA128B:{ *:[i32] })
3179 /* 7151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3180 /* 7156 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3181 /* 7161 */ // GIR_Coverage, 2137,
3182 /* 7161 */ GIR_Done,
3183 /* 7162 */ // Label 380: @7162
3184 /* 7162 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 381*/ GIMT_Encode4(7231), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2176 //
3185 /* 7169 */ // (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] })
3186 /* 7169 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3187 /* 7172 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3188 /* 7176 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3189 /* 7181 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3190 /* 7185 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3191 /* 7190 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3192 /* 7193 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3193 /* 7197 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3194 /* 7202 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3195 /* 7205 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3196 /* 7215 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3197 /* 7217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3198 /* 7220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3199 /* 7222 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3200 /* 7225 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3201 /* 7230 */ // GIR_Coverage, 2176,
3202 /* 7230 */ GIR_EraseRootFromParent_Done,
3203 /* 7231 */ // Label 381: @7231
3204 /* 7231 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 382*/ GIMT_Encode4(7300), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2181 //
3205 /* 7238 */ // (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] })
3206 /* 7238 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3207 /* 7241 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3208 /* 7245 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3209 /* 7250 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3210 /* 7254 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3211 /* 7259 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3212 /* 7262 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3213 /* 7266 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3214 /* 7271 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3215 /* 7274 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3216 /* 7284 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3217 /* 7286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3218 /* 7289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3219 /* 7291 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3220 /* 7294 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3221 /* 7299 */ // GIR_Coverage, 2181,
3222 /* 7299 */ GIR_EraseRootFromParent_Done,
3223 /* 7300 */ // Label 382: @7300
3224 /* 7300 */ GIM_Reject,
3225 /* 7301 */ // Label 378: @7301
3226 /* 7301 */ GIM_Reject,
3227 /* 7302 */ // Label 375: @7302
3228 /* 7302 */ GIM_Try, /*On fail goto*//*Label 383*/ GIMT_Encode4(7472),
3229 /* 7307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
3230 /* 7311 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 384*/ GIMT_Encode4(7329), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2135 //
3231 /* 7318 */ // (bitconvert:{ *:[v16i8] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v4i32:{ *:[v4i32] }:$src, MSA128B:{ *:[i32] })
3232 /* 7318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3233 /* 7323 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3234 /* 7328 */ // GIR_Coverage, 2135,
3235 /* 7328 */ GIR_Done,
3236 /* 7329 */ // Label 384: @7329
3237 /* 7329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 385*/ GIMT_Encode4(7347), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2138 //
3238 /* 7336 */ // (bitconvert:{ *:[v16i8] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v4f32:{ *:[v4f32] }:$src, MSA128B:{ *:[i32] })
3239 /* 7336 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3240 /* 7341 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3241 /* 7346 */ // GIR_Coverage, 2138,
3242 /* 7346 */ GIR_Done,
3243 /* 7347 */ // Label 385: @7347
3244 /* 7347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 386*/ GIMT_Encode4(7409), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2186 //
3245 /* 7354 */ // (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] })
3246 /* 7354 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3247 /* 7357 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3248 /* 7361 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3249 /* 7366 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3250 /* 7370 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3251 /* 7375 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3252 /* 7378 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3253 /* 7382 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3254 /* 7387 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3255 /* 7390 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3256 /* 7393 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3257 /* 7395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3258 /* 7398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3259 /* 7400 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3260 /* 7403 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3261 /* 7408 */ // GIR_Coverage, 2186,
3262 /* 7408 */ GIR_EraseRootFromParent_Done,
3263 /* 7409 */ // Label 386: @7409
3264 /* 7409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 387*/ GIMT_Encode4(7471), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2191 //
3265 /* 7416 */ // (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] })
3266 /* 7416 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3267 /* 7419 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3268 /* 7423 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3269 /* 7428 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3270 /* 7432 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3271 /* 7437 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3272 /* 7440 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3273 /* 7444 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3274 /* 7449 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3275 /* 7452 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3276 /* 7455 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3277 /* 7457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3278 /* 7460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3279 /* 7462 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3280 /* 7465 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3281 /* 7470 */ // GIR_Coverage, 2191,
3282 /* 7470 */ GIR_EraseRootFromParent_Done,
3283 /* 7471 */ // Label 387: @7471
3284 /* 7471 */ GIM_Reject,
3285 /* 7472 */ // Label 383: @7472
3286 /* 7472 */ GIM_Reject,
3287 /* 7473 */ // Label 376: @7473
3288 /* 7473 */ GIM_Try, /*On fail goto*//*Label 388*/ GIMT_Encode4(7737),
3289 /* 7478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
3290 /* 7482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 389*/ GIMT_Encode4(7500), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2136 //
3291 /* 7489 */ // (bitconvert:{ *:[v16i8] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v2i64:{ *:[v2i64] }:$src, MSA128B:{ *:[i32] })
3292 /* 7489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3293 /* 7494 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3294 /* 7499 */ // GIR_Coverage, 2136,
3295 /* 7499 */ GIR_Done,
3296 /* 7500 */ // Label 389: @7500
3297 /* 7500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 390*/ GIMT_Encode4(7518), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2139 //
3298 /* 7507 */ // (bitconvert:{ *:[v16i8] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i8] } v2f64:{ *:[v2f64] }:$src, MSA128B:{ *:[i32] })
3299 /* 7507 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3300 /* 7512 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3301 /* 7517 */ // GIR_Coverage, 2139,
3302 /* 7517 */ GIR_Done,
3303 /* 7518 */ // Label 390: @7518
3304 /* 7518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 391*/ GIMT_Encode4(7627), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2196 //
3305 /* 7525 */ // (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] })
3306 /* 7525 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s8,
3307 /* 7528 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3308 /* 7532 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3309 /* 7537 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
3310 /* 7541 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3311 /* 7546 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s8,
3312 /* 7549 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3313 /* 7553 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3314 /* 7558 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
3315 /* 7561 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/27,
3316 /* 7564 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
3317 /* 7566 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3318 /* 7569 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3319 /* 7573 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3320 /* 7578 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
3321 /* 7581 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3322 /* 7586 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3323 /* 7589 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3324 /* 7593 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3325 /* 7598 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3326 /* 7601 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3327 /* 7611 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3328 /* 7613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3329 /* 7616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3330 /* 7618 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3331 /* 7621 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3332 /* 7626 */ // GIR_Coverage, 2196,
3333 /* 7626 */ GIR_EraseRootFromParent_Done,
3334 /* 7627 */ // Label 391: @7627
3335 /* 7627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 392*/ GIMT_Encode4(7736), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2201 //
3336 /* 7634 */ // (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] })
3337 /* 7634 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s8,
3338 /* 7637 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3339 /* 7641 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3340 /* 7646 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
3341 /* 7650 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3342 /* 7655 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s8,
3343 /* 7658 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3344 /* 7662 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3345 /* 7667 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
3346 /* 7670 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/27,
3347 /* 7673 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
3348 /* 7675 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3349 /* 7678 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3350 /* 7682 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3351 /* 7687 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
3352 /* 7690 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3353 /* 7695 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3354 /* 7698 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3355 /* 7702 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3356 /* 7707 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3357 /* 7710 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3358 /* 7720 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3359 /* 7722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3360 /* 7725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3361 /* 7727 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3362 /* 7730 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3363 /* 7735 */ // GIR_Coverage, 2201,
3364 /* 7735 */ GIR_EraseRootFromParent_Done,
3365 /* 7736 */ // Label 392: @7736
3366 /* 7736 */ GIM_Reject,
3367 /* 7737 */ // Label 388: @7737
3368 /* 7737 */ GIM_Reject,
3369 /* 7738 */ // Label 377: @7738
3370 /* 7738 */ GIM_Reject,
3371 /* 7739 */ // Label 348: @7739
3372 /* 7739 */ GIM_Try, /*On fail goto*//*Label 393*/ GIMT_Encode4(7796),
3373 /* 7744 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3374 /* 7747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
3375 /* 7751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 394*/ GIMT_Encode4(7773), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2045 //
3376 /* 7758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
3377 /* 7762 */ // (bitconvert:{ *:[v2i16] } GPR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i16] } GPR32:{ *:[i32] }:$src, DSPR:{ *:[i32] })
3378 /* 7762 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3379 /* 7767 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
3380 /* 7772 */ // GIR_Coverage, 2045,
3381 /* 7772 */ GIR_Done,
3382 /* 7773 */ // Label 394: @7773
3383 /* 7773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 395*/ GIMT_Encode4(7795), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2049 //
3384 /* 7780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
3385 /* 7784 */ // (bitconvert:{ *:[v2i16] } FGR32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i16] } FGR32:{ *:[f32] }:$src, DSPR:{ *:[i32] })
3386 /* 7784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3387 /* 7789 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
3388 /* 7794 */ // GIR_Coverage, 2049,
3389 /* 7794 */ GIR_Done,
3390 /* 7795 */ // Label 395: @7795
3391 /* 7795 */ GIM_Reject,
3392 /* 7796 */ // Label 393: @7796
3393 /* 7796 */ GIM_Reject,
3394 /* 7797 */ // Label 349: @7797
3395 /* 7797 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(8), /*)*//*default:*//*Label 400*/ GIMT_Encode4(8750),
3396 /* 7808 */ /*GILLT_v16s8*//*Label 396*/ GIMT_Encode4(7828), GIMT_Encode4(0),
3397 /* 7816 */ /*GILLT_v8s16*//*Label 397*/ GIMT_Encode4(8013),
3398 /* 7820 */ /*GILLT_v4s32*//*Label 398*/ GIMT_Encode4(8060),
3399 /* 7824 */ /*GILLT_v2s64*//*Label 399*/ GIMT_Encode4(8419),
3400 /* 7828 */ // Label 396: @7828
3401 /* 7828 */ GIM_Try, /*On fail goto*//*Label 401*/ GIMT_Encode4(8012),
3402 /* 7833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
3403 /* 7837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 402*/ GIMT_Encode4(7855), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2140 //
3404 /* 7844 */ // (bitconvert:{ *:[v8i16] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v16i8:{ *:[v16i8] }:$src, MSA128H:{ *:[i32] })
3405 /* 7844 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3406 /* 7849 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3407 /* 7854 */ // GIR_Coverage, 2140,
3408 /* 7854 */ GIR_Done,
3409 /* 7855 */ // Label 402: @7855
3410 /* 7855 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 403*/ GIMT_Encode4(7873), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2155 //
3411 /* 7862 */ // (bitconvert:{ *:[v8f16] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } v16i8:{ *:[v16i8] }:$src, MSA128H:{ *:[i32] })
3412 /* 7862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3413 /* 7867 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3414 /* 7872 */ // GIR_Coverage, 2155,
3415 /* 7872 */ GIR_Done,
3416 /* 7873 */ // Label 403: @7873
3417 /* 7873 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 404*/ GIMT_Encode4(7942), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2170 //
3418 /* 7880 */ // (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] })
3419 /* 7880 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3420 /* 7883 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3421 /* 7887 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3422 /* 7892 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3423 /* 7896 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3424 /* 7901 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3425 /* 7904 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3426 /* 7908 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3427 /* 7913 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3428 /* 7916 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3429 /* 7926 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3430 /* 7928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3431 /* 7931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3432 /* 7933 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3433 /* 7936 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3434 /* 7941 */ // GIR_Coverage, 2170,
3435 /* 7941 */ GIR_EraseRootFromParent_Done,
3436 /* 7942 */ // Label 404: @7942
3437 /* 7942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 405*/ GIMT_Encode4(8011), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2171 //
3438 /* 7949 */ // (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] })
3439 /* 7949 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3440 /* 7952 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3441 /* 7956 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3442 /* 7961 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3443 /* 7965 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3444 /* 7970 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3445 /* 7973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3446 /* 7977 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3447 /* 7982 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3448 /* 7985 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3449 /* 7995 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3450 /* 7997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3451 /* 8000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3452 /* 8002 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3453 /* 8005 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3454 /* 8010 */ // GIR_Coverage, 2171,
3455 /* 8010 */ GIR_EraseRootFromParent_Done,
3456 /* 8011 */ // Label 405: @8011
3457 /* 8011 */ GIM_Reject,
3458 /* 8012 */ // Label 401: @8012
3459 /* 8012 */ GIM_Reject,
3460 /* 8013 */ // Label 397: @8013
3461 /* 8013 */ GIM_Try, /*On fail goto*//*Label 406*/ GIMT_Encode4(8059),
3462 /* 8018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
3463 /* 8022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 407*/ GIMT_Encode4(8040), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2128 //
3464 /* 8029 */ // (bitconvert:{ *:[v8i16] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v8f16:{ *:[v8f16] }:$src, MSA128H:{ *:[i32] })
3465 /* 8029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3466 /* 8034 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3467 /* 8039 */ // GIR_Coverage, 2128,
3468 /* 8039 */ GIR_Done,
3469 /* 8040 */ // Label 407: @8040
3470 /* 8040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 408*/ GIMT_Encode4(8058), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2131 //
3471 /* 8047 */ // (bitconvert:{ *:[v8f16] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } v8i16:{ *:[v8i16] }:$src, MSA128H:{ *:[i32] })
3472 /* 8047 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3473 /* 8052 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3474 /* 8057 */ // GIR_Coverage, 2131,
3475 /* 8057 */ GIR_Done,
3476 /* 8058 */ // Label 408: @8058
3477 /* 8058 */ GIM_Reject,
3478 /* 8059 */ // Label 406: @8059
3479 /* 8059 */ GIM_Reject,
3480 /* 8060 */ // Label 398: @8060
3481 /* 8060 */ GIM_Try, /*On fail goto*//*Label 409*/ GIMT_Encode4(8418),
3482 /* 8065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
3483 /* 8069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 410*/ GIMT_Encode4(8087), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2141 //
3484 /* 8076 */ // (bitconvert:{ *:[v8i16] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v4i32:{ *:[v4i32] }:$src, MSA128H:{ *:[i32] })
3485 /* 8076 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3486 /* 8081 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3487 /* 8086 */ // GIR_Coverage, 2141,
3488 /* 8086 */ GIR_Done,
3489 /* 8087 */ // Label 410: @8087
3490 /* 8087 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 411*/ GIMT_Encode4(8105), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2143 //
3491 /* 8094 */ // (bitconvert:{ *:[v8i16] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v4f32:{ *:[v4f32] }:$src, MSA128H:{ *:[i32] })
3492 /* 8094 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3493 /* 8099 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3494 /* 8104 */ // GIR_Coverage, 2143,
3495 /* 8104 */ GIR_Done,
3496 /* 8105 */ // Label 411: @8105
3497 /* 8105 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 412*/ GIMT_Encode4(8123), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2156 //
3498 /* 8112 */ // (bitconvert:{ *:[v8f16] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } v4i32:{ *:[v4i32] }:$src, MSA128H:{ *:[i32] })
3499 /* 8112 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3500 /* 8117 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3501 /* 8122 */ // GIR_Coverage, 2156,
3502 /* 8122 */ GIR_Done,
3503 /* 8123 */ // Label 412: @8123
3504 /* 8123 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 413*/ GIMT_Encode4(8141), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2158 //
3505 /* 8130 */ // (bitconvert:{ *:[v8f16] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } v4f32:{ *:[v4f32] }:$src, MSA128H:{ *:[i32] })
3506 /* 8130 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3507 /* 8135 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3508 /* 8140 */ // GIR_Coverage, 2158,
3509 /* 8140 */ GIR_Done,
3510 /* 8141 */ // Label 413: @8141
3511 /* 8141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 414*/ GIMT_Encode4(8210), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2187 //
3512 /* 8148 */ // (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] })
3513 /* 8148 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3514 /* 8151 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3515 /* 8155 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3516 /* 8160 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3517 /* 8164 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3518 /* 8169 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3519 /* 8172 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3520 /* 8176 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3521 /* 8181 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3522 /* 8184 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3523 /* 8194 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3524 /* 8196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3525 /* 8199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3526 /* 8201 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3527 /* 8204 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3528 /* 8209 */ // GIR_Coverage, 2187,
3529 /* 8209 */ GIR_EraseRootFromParent_Done,
3530 /* 8210 */ // Label 414: @8210
3531 /* 8210 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 415*/ GIMT_Encode4(8279), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2188 //
3532 /* 8217 */ // (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] })
3533 /* 8217 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3534 /* 8220 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3535 /* 8224 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3536 /* 8229 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3537 /* 8233 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3538 /* 8238 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3539 /* 8241 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3540 /* 8245 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3541 /* 8250 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3542 /* 8253 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3543 /* 8263 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3544 /* 8265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3545 /* 8268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3546 /* 8270 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3547 /* 8273 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3548 /* 8278 */ // GIR_Coverage, 2188,
3549 /* 8278 */ GIR_EraseRootFromParent_Done,
3550 /* 8279 */ // Label 415: @8279
3551 /* 8279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 416*/ GIMT_Encode4(8348), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2192 //
3552 /* 8286 */ // (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] })
3553 /* 8286 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3554 /* 8289 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3555 /* 8293 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3556 /* 8298 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3557 /* 8302 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3558 /* 8307 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3559 /* 8310 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3560 /* 8314 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3561 /* 8319 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3562 /* 8322 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3563 /* 8332 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3564 /* 8334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3565 /* 8337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3566 /* 8339 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3567 /* 8342 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3568 /* 8347 */ // GIR_Coverage, 2192,
3569 /* 8347 */ GIR_EraseRootFromParent_Done,
3570 /* 8348 */ // Label 416: @8348
3571 /* 8348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 417*/ GIMT_Encode4(8417), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2193 //
3572 /* 8355 */ // (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] })
3573 /* 8355 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3574 /* 8358 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3575 /* 8362 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3576 /* 8367 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3577 /* 8371 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3578 /* 8376 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3579 /* 8379 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3580 /* 8383 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3581 /* 8388 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3582 /* 8391 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3583 /* 8401 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3584 /* 8403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3585 /* 8406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3586 /* 8408 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3587 /* 8411 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3588 /* 8416 */ // GIR_Coverage, 2193,
3589 /* 8416 */ GIR_EraseRootFromParent_Done,
3590 /* 8417 */ // Label 417: @8417
3591 /* 8417 */ GIM_Reject,
3592 /* 8418 */ // Label 409: @8418
3593 /* 8418 */ GIM_Reject,
3594 /* 8419 */ // Label 399: @8419
3595 /* 8419 */ GIM_Try, /*On fail goto*//*Label 418*/ GIMT_Encode4(8749),
3596 /* 8424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
3597 /* 8428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 419*/ GIMT_Encode4(8446), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2142 //
3598 /* 8435 */ // (bitconvert:{ *:[v8i16] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v2i64:{ *:[v2i64] }:$src, MSA128H:{ *:[i32] })
3599 /* 8435 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3600 /* 8440 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3601 /* 8445 */ // GIR_Coverage, 2142,
3602 /* 8445 */ GIR_Done,
3603 /* 8446 */ // Label 419: @8446
3604 /* 8446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 420*/ GIMT_Encode4(8464), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2144 //
3605 /* 8453 */ // (bitconvert:{ *:[v8i16] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i16] } v2f64:{ *:[v2f64] }:$src, MSA128H:{ *:[i32] })
3606 /* 8453 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3607 /* 8458 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3608 /* 8463 */ // GIR_Coverage, 2144,
3609 /* 8463 */ GIR_Done,
3610 /* 8464 */ // Label 420: @8464
3611 /* 8464 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 421*/ GIMT_Encode4(8482), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2157 //
3612 /* 8471 */ // (bitconvert:{ *:[v8f16] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } v2i64:{ *:[v2i64] }:$src, MSA128H:{ *:[i32] })
3613 /* 8471 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3614 /* 8476 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3615 /* 8481 */ // GIR_Coverage, 2157,
3616 /* 8481 */ GIR_Done,
3617 /* 8482 */ // Label 421: @8482
3618 /* 8482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 422*/ GIMT_Encode4(8500), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2159 //
3619 /* 8489 */ // (bitconvert:{ *:[v8f16] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v8f16] } v2f64:{ *:[v2f64] }:$src, MSA128H:{ *:[i32] })
3620 /* 8489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3621 /* 8494 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3622 /* 8499 */ // GIR_Coverage, 2159,
3623 /* 8499 */ GIR_Done,
3624 /* 8500 */ // Label 422: @8500
3625 /* 8500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 423*/ GIMT_Encode4(8562), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2197 //
3626 /* 8507 */ // (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] })
3627 /* 8507 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3628 /* 8510 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3629 /* 8514 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3630 /* 8519 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3631 /* 8523 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3632 /* 8528 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3633 /* 8531 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3634 /* 8535 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3635 /* 8540 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3636 /* 8543 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3637 /* 8546 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3638 /* 8548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3639 /* 8551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3640 /* 8553 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3641 /* 8556 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3642 /* 8561 */ // GIR_Coverage, 2197,
3643 /* 8561 */ GIR_EraseRootFromParent_Done,
3644 /* 8562 */ // Label 423: @8562
3645 /* 8562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 424*/ GIMT_Encode4(8624), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2198 //
3646 /* 8569 */ // (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] })
3647 /* 8569 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3648 /* 8572 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3649 /* 8576 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3650 /* 8581 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3651 /* 8585 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3652 /* 8590 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3653 /* 8593 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3654 /* 8597 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3655 /* 8602 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3656 /* 8605 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3657 /* 8608 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3658 /* 8610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3659 /* 8613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3660 /* 8615 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3661 /* 8618 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3662 /* 8623 */ // GIR_Coverage, 2198,
3663 /* 8623 */ GIR_EraseRootFromParent_Done,
3664 /* 8624 */ // Label 424: @8624
3665 /* 8624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 425*/ GIMT_Encode4(8686), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2202 //
3666 /* 8631 */ // (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] })
3667 /* 8631 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3668 /* 8634 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3669 /* 8638 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3670 /* 8643 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3671 /* 8647 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3672 /* 8652 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3673 /* 8655 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3674 /* 8659 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3675 /* 8664 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3676 /* 8667 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3677 /* 8670 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3678 /* 8672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3679 /* 8675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3680 /* 8677 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3681 /* 8680 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3682 /* 8685 */ // GIR_Coverage, 2202,
3683 /* 8685 */ GIR_EraseRootFromParent_Done,
3684 /* 8686 */ // Label 425: @8686
3685 /* 8686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 426*/ GIMT_Encode4(8748), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2203 //
3686 /* 8693 */ // (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] })
3687 /* 8693 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3688 /* 8696 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3689 /* 8700 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3690 /* 8705 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3691 /* 8709 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3692 /* 8714 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3693 /* 8717 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3694 /* 8721 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3695 /* 8726 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3696 /* 8729 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3697 /* 8732 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3698 /* 8734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3699 /* 8737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3700 /* 8739 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3701 /* 8742 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3702 /* 8747 */ // GIR_Coverage, 2203,
3703 /* 8747 */ GIR_EraseRootFromParent_Done,
3704 /* 8748 */ // Label 426: @8748
3705 /* 8748 */ GIM_Reject,
3706 /* 8749 */ // Label 418: @8749
3707 /* 8749 */ GIM_Reject,
3708 /* 8750 */ // Label 400: @8750
3709 /* 8750 */ GIM_Reject,
3710 /* 8751 */ // Label 350: @8751
3711 /* 8751 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(8), /*)*//*default:*//*Label 431*/ GIMT_Encode4(9718),
3712 /* 8762 */ /*GILLT_v16s8*//*Label 427*/ GIMT_Encode4(8782), GIMT_Encode4(0),
3713 /* 8770 */ /*GILLT_v8s16*//*Label 428*/ GIMT_Encode4(8953),
3714 /* 8774 */ /*GILLT_v4s32*//*Label 429*/ GIMT_Encode4(9312),
3715 /* 8778 */ /*GILLT_v2s64*//*Label 430*/ GIMT_Encode4(9359),
3716 /* 8782 */ // Label 427: @8782
3717 /* 8782 */ GIM_Try, /*On fail goto*//*Label 432*/ GIMT_Encode4(8952),
3718 /* 8787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3719 /* 8791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 433*/ GIMT_Encode4(8809), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2145 //
3720 /* 8798 */ // (bitconvert:{ *:[v4i32] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v16i8:{ *:[v16i8] }:$src, MSA128W:{ *:[i32] })
3721 /* 8798 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3722 /* 8803 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3723 /* 8808 */ // GIR_Coverage, 2145,
3724 /* 8808 */ GIR_Done,
3725 /* 8809 */ // Label 433: @8809
3726 /* 8809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 434*/ GIMT_Encode4(8827), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2160 //
3727 /* 8816 */ // (bitconvert:{ *:[v4f32] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v16i8:{ *:[v16i8] }:$src, MSA128W:{ *:[i32] })
3728 /* 8816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3729 /* 8821 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3730 /* 8826 */ // GIR_Coverage, 2160,
3731 /* 8826 */ GIR_Done,
3732 /* 8827 */ // Label 434: @8827
3733 /* 8827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 435*/ GIMT_Encode4(8889), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2172 //
3734 /* 8834 */ // (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] })
3735 /* 8834 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3736 /* 8837 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3737 /* 8841 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3738 /* 8846 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3739 /* 8850 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3740 /* 8855 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3741 /* 8858 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3742 /* 8862 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3743 /* 8867 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3744 /* 8870 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3745 /* 8873 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3746 /* 8875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3747 /* 8878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3748 /* 8880 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3749 /* 8883 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3750 /* 8888 */ // GIR_Coverage, 2172,
3751 /* 8888 */ GIR_EraseRootFromParent_Done,
3752 /* 8889 */ // Label 435: @8889
3753 /* 8889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 436*/ GIMT_Encode4(8951), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2173 //
3754 /* 8896 */ // (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] })
3755 /* 8896 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s8,
3756 /* 8899 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3757 /* 8903 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3758 /* 8908 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3759 /* 8912 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
3760 /* 8917 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s8,
3761 /* 8920 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
3762 /* 8924 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3763 /* 8929 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3764 /* 8932 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
3765 /* 8935 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3766 /* 8937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3767 /* 8940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3768 /* 8942 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3769 /* 8945 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3770 /* 8950 */ // GIR_Coverage, 2173,
3771 /* 8950 */ GIR_EraseRootFromParent_Done,
3772 /* 8951 */ // Label 436: @8951
3773 /* 8951 */ GIM_Reject,
3774 /* 8952 */ // Label 432: @8952
3775 /* 8952 */ GIM_Reject,
3776 /* 8953 */ // Label 428: @8953
3777 /* 8953 */ GIM_Try, /*On fail goto*//*Label 437*/ GIMT_Encode4(9311),
3778 /* 8958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3779 /* 8962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 438*/ GIMT_Encode4(8980), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2146 //
3780 /* 8969 */ // (bitconvert:{ *:[v4i32] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v8i16:{ *:[v8i16] }:$src, MSA128W:{ *:[i32] })
3781 /* 8969 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3782 /* 8974 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3783 /* 8979 */ // GIR_Coverage, 2146,
3784 /* 8979 */ GIR_Done,
3785 /* 8980 */ // Label 438: @8980
3786 /* 8980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 439*/ GIMT_Encode4(8998), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2148 //
3787 /* 8987 */ // (bitconvert:{ *:[v4i32] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v8f16:{ *:[v8f16] }:$src, MSA128W:{ *:[i32] })
3788 /* 8987 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3789 /* 8992 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3790 /* 8997 */ // GIR_Coverage, 2148,
3791 /* 8997 */ GIR_Done,
3792 /* 8998 */ // Label 439: @8998
3793 /* 8998 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 440*/ GIMT_Encode4(9016), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2161 //
3794 /* 9005 */ // (bitconvert:{ *:[v4f32] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v8i16:{ *:[v8i16] }:$src, MSA128W:{ *:[i32] })
3795 /* 9005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3796 /* 9010 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3797 /* 9015 */ // GIR_Coverage, 2161,
3798 /* 9015 */ GIR_Done,
3799 /* 9016 */ // Label 440: @9016
3800 /* 9016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 441*/ GIMT_Encode4(9034), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2163 //
3801 /* 9023 */ // (bitconvert:{ *:[v4f32] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v8f16:{ *:[v8f16] }:$src, MSA128W:{ *:[i32] })
3802 /* 9023 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3803 /* 9028 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3804 /* 9033 */ // GIR_Coverage, 2163,
3805 /* 9033 */ GIR_Done,
3806 /* 9034 */ // Label 441: @9034
3807 /* 9034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 442*/ GIMT_Encode4(9103), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2177 //
3808 /* 9041 */ // (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] })
3809 /* 9041 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3810 /* 9044 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3811 /* 9048 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3812 /* 9053 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3813 /* 9057 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3814 /* 9062 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3815 /* 9065 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3816 /* 9069 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3817 /* 9074 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3818 /* 9077 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3819 /* 9087 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3820 /* 9089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3821 /* 9092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3822 /* 9094 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3823 /* 9097 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3824 /* 9102 */ // GIR_Coverage, 2177,
3825 /* 9102 */ GIR_EraseRootFromParent_Done,
3826 /* 9103 */ // Label 442: @9103
3827 /* 9103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 443*/ GIMT_Encode4(9172), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2178 //
3828 /* 9110 */ // (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] })
3829 /* 9110 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3830 /* 9113 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3831 /* 9117 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3832 /* 9122 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3833 /* 9126 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3834 /* 9131 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3835 /* 9134 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3836 /* 9138 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3837 /* 9143 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3838 /* 9146 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3839 /* 9156 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3840 /* 9158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3841 /* 9161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3842 /* 9163 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3843 /* 9166 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3844 /* 9171 */ // GIR_Coverage, 2178,
3845 /* 9171 */ GIR_EraseRootFromParent_Done,
3846 /* 9172 */ // Label 443: @9172
3847 /* 9172 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 444*/ GIMT_Encode4(9241), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2182 //
3848 /* 9179 */ // (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] })
3849 /* 9179 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3850 /* 9182 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3851 /* 9186 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3852 /* 9191 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3853 /* 9195 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3854 /* 9200 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3855 /* 9203 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3856 /* 9207 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3857 /* 9212 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3858 /* 9215 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3859 /* 9225 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3860 /* 9227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3861 /* 9230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3862 /* 9232 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3863 /* 9235 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3864 /* 9240 */ // GIR_Coverage, 2182,
3865 /* 9240 */ GIR_EraseRootFromParent_Done,
3866 /* 9241 */ // Label 444: @9241
3867 /* 9241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 445*/ GIMT_Encode4(9310), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2183 //
3868 /* 9248 */ // (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] })
3869 /* 9248 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
3870 /* 9251 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3871 /* 9255 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3872 /* 9260 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3873 /* 9264 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
3874 /* 9269 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
3875 /* 9272 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
3876 /* 9276 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3877 /* 9281 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3878 /* 9284 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3879 /* 9294 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3880 /* 9296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3881 /* 9299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3882 /* 9301 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3883 /* 9304 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3884 /* 9309 */ // GIR_Coverage, 2183,
3885 /* 9309 */ GIR_EraseRootFromParent_Done,
3886 /* 9310 */ // Label 445: @9310
3887 /* 9310 */ GIM_Reject,
3888 /* 9311 */ // Label 437: @9311
3889 /* 9311 */ GIM_Reject,
3890 /* 9312 */ // Label 429: @9312
3891 /* 9312 */ GIM_Try, /*On fail goto*//*Label 446*/ GIMT_Encode4(9358),
3892 /* 9317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3893 /* 9321 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 447*/ GIMT_Encode4(9339), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2129 //
3894 /* 9328 */ // (bitconvert:{ *:[v4i32] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v4f32:{ *:[v4f32] }:$src, MSA128W:{ *:[i32] })
3895 /* 9328 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3896 /* 9333 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3897 /* 9338 */ // GIR_Coverage, 2129,
3898 /* 9338 */ GIR_Done,
3899 /* 9339 */ // Label 447: @9339
3900 /* 9339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 448*/ GIMT_Encode4(9357), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2132 //
3901 /* 9346 */ // (bitconvert:{ *:[v4f32] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v4i32:{ *:[v4i32] }:$src, MSA128W:{ *:[i32] })
3902 /* 9346 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3903 /* 9351 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3904 /* 9356 */ // GIR_Coverage, 2132,
3905 /* 9356 */ GIR_Done,
3906 /* 9357 */ // Label 448: @9357
3907 /* 9357 */ GIM_Reject,
3908 /* 9358 */ // Label 446: @9358
3909 /* 9358 */ GIM_Reject,
3910 /* 9359 */ // Label 430: @9359
3911 /* 9359 */ GIM_Try, /*On fail goto*//*Label 449*/ GIMT_Encode4(9717),
3912 /* 9364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
3913 /* 9368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 450*/ GIMT_Encode4(9386), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2147 //
3914 /* 9375 */ // (bitconvert:{ *:[v4i32] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v2i64:{ *:[v2i64] }:$src, MSA128W:{ *:[i32] })
3915 /* 9375 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3916 /* 9380 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3917 /* 9385 */ // GIR_Coverage, 2147,
3918 /* 9385 */ GIR_Done,
3919 /* 9386 */ // Label 450: @9386
3920 /* 9386 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 451*/ GIMT_Encode4(9404), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2149 //
3921 /* 9393 */ // (bitconvert:{ *:[v4i32] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4i32] } v2f64:{ *:[v2f64] }:$src, MSA128W:{ *:[i32] })
3922 /* 9393 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3923 /* 9398 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3924 /* 9403 */ // GIR_Coverage, 2149,
3925 /* 9403 */ GIR_Done,
3926 /* 9404 */ // Label 451: @9404
3927 /* 9404 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 452*/ GIMT_Encode4(9422), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2162 //
3928 /* 9411 */ // (bitconvert:{ *:[v4f32] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v2i64:{ *:[v2i64] }:$src, MSA128W:{ *:[i32] })
3929 /* 9411 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3930 /* 9416 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3931 /* 9421 */ // GIR_Coverage, 2162,
3932 /* 9421 */ GIR_Done,
3933 /* 9422 */ // Label 452: @9422
3934 /* 9422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 453*/ GIMT_Encode4(9440), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2164 //
3935 /* 9429 */ // (bitconvert:{ *:[v4f32] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v4f32] } v2f64:{ *:[v2f64] }:$src, MSA128W:{ *:[i32] })
3936 /* 9429 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3937 /* 9434 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3938 /* 9439 */ // GIR_Coverage, 2164,
3939 /* 9439 */ GIR_Done,
3940 /* 9440 */ // Label 453: @9440
3941 /* 9440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 454*/ GIMT_Encode4(9509), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2199 //
3942 /* 9447 */ // (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] })
3943 /* 9447 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3944 /* 9450 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3945 /* 9454 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3946 /* 9459 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3947 /* 9463 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3948 /* 9468 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3949 /* 9471 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3950 /* 9475 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3951 /* 9480 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3952 /* 9483 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3953 /* 9493 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3954 /* 9495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3955 /* 9498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3956 /* 9500 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3957 /* 9503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3958 /* 9508 */ // GIR_Coverage, 2199,
3959 /* 9508 */ GIR_EraseRootFromParent_Done,
3960 /* 9509 */ // Label 454: @9509
3961 /* 9509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 455*/ GIMT_Encode4(9578), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2200 //
3962 /* 9516 */ // (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] })
3963 /* 9516 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3964 /* 9519 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3965 /* 9523 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3966 /* 9528 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3967 /* 9532 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3968 /* 9537 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3969 /* 9540 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3970 /* 9544 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3971 /* 9549 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3972 /* 9552 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3973 /* 9562 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3974 /* 9564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3975 /* 9567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3976 /* 9569 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3977 /* 9572 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3978 /* 9577 */ // GIR_Coverage, 2200,
3979 /* 9577 */ GIR_EraseRootFromParent_Done,
3980 /* 9578 */ // Label 455: @9578
3981 /* 9578 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 456*/ GIMT_Encode4(9647), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2204 //
3982 /* 9585 */ // (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] })
3983 /* 9585 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
3984 /* 9588 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3985 /* 9592 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3986 /* 9597 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
3987 /* 9601 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3988 /* 9606 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
3989 /* 9609 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
3990 /* 9613 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
3991 /* 9618 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
3992 /* 9621 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
3993 /* 9631 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
3994 /* 9633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
3995 /* 9636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3996 /* 9638 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
3997 /* 9641 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
3998 /* 9646 */ // GIR_Coverage, 2204,
3999 /* 9646 */ GIR_EraseRootFromParent_Done,
4000 /* 9647 */ // Label 456: @9647
4001 /* 9647 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 457*/ GIMT_Encode4(9716), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2205 //
4002 /* 9654 */ // (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] })
4003 /* 9654 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4004 /* 9657 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4005 /* 9661 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4006 /* 9666 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4007 /* 9670 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4008 /* 9675 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4009 /* 9678 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4010 /* 9682 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4011 /* 9687 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4012 /* 9690 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4013 /* 9700 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4014 /* 9702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4015 /* 9705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4016 /* 9707 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4017 /* 9710 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4018 /* 9715 */ // GIR_Coverage, 2205,
4019 /* 9715 */ GIR_EraseRootFromParent_Done,
4020 /* 9716 */ // Label 457: @9716
4021 /* 9716 */ GIM_Reject,
4022 /* 9717 */ // Label 449: @9717
4023 /* 9717 */ GIM_Reject,
4024 /* 9718 */ // Label 431: @9718
4025 /* 9718 */ GIM_Reject,
4026 /* 9719 */ // Label 351: @9719
4027 /* 9719 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(8), /*)*//*default:*//*Label 462*/ GIMT_Encode4(10752),
4028 /* 9730 */ /*GILLT_v16s8*//*Label 458*/ GIMT_Encode4(9750), GIMT_Encode4(0),
4029 /* 9738 */ /*GILLT_v8s16*//*Label 459*/ GIMT_Encode4(10015),
4030 /* 9742 */ /*GILLT_v4s32*//*Label 460*/ GIMT_Encode4(10346),
4031 /* 9746 */ /*GILLT_v2s64*//*Label 461*/ GIMT_Encode4(10705),
4032 /* 9750 */ // Label 458: @9750
4033 /* 9750 */ GIM_Try, /*On fail goto*//*Label 463*/ GIMT_Encode4(10014),
4034 /* 9755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
4035 /* 9759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 464*/ GIMT_Encode4(9777), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2150 //
4036 /* 9766 */ // (bitconvert:{ *:[v2i64] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v16i8:{ *:[v16i8] }:$src, MSA128D:{ *:[i32] })
4037 /* 9766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4038 /* 9771 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4039 /* 9776 */ // GIR_Coverage, 2150,
4040 /* 9776 */ GIR_Done,
4041 /* 9777 */ // Label 464: @9777
4042 /* 9777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 465*/ GIMT_Encode4(9795), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2165 //
4043 /* 9784 */ // (bitconvert:{ *:[v2f64] } v16i8:{ *:[v16i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v16i8:{ *:[v16i8] }:$src, MSA128D:{ *:[i32] })
4044 /* 9784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4045 /* 9789 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4046 /* 9794 */ // GIR_Coverage, 2165,
4047 /* 9794 */ GIR_Done,
4048 /* 9795 */ // Label 465: @9795
4049 /* 9795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 466*/ GIMT_Encode4(9904), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2174 //
4050 /* 9802 */ // (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] })
4051 /* 9802 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s8,
4052 /* 9805 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4053 /* 9809 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4054 /* 9814 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
4055 /* 9818 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4056 /* 9823 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s8,
4057 /* 9826 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4058 /* 9830 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4059 /* 9835 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
4060 /* 9838 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/27,
4061 /* 9841 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
4062 /* 9843 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4063 /* 9846 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4064 /* 9850 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4065 /* 9855 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
4066 /* 9858 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4067 /* 9863 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4068 /* 9866 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4069 /* 9870 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4070 /* 9875 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4071 /* 9878 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4072 /* 9888 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4073 /* 9890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4074 /* 9893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4075 /* 9895 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4076 /* 9898 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4077 /* 9903 */ // GIR_Coverage, 2174,
4078 /* 9903 */ GIR_EraseRootFromParent_Done,
4079 /* 9904 */ // Label 466: @9904
4080 /* 9904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 467*/ GIMT_Encode4(10013), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2175 //
4081 /* 9911 */ // (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] })
4082 /* 9911 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s8,
4083 /* 9914 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4084 /* 9918 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4085 /* 9923 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
4086 /* 9927 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(Mips::MSA128BRegClassID),
4087 /* 9932 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s8,
4088 /* 9935 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SHF_B),
4089 /* 9939 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4090 /* 9944 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
4091 /* 9947 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/27,
4092 /* 9950 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
4093 /* 9952 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4094 /* 9955 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4095 /* 9959 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4096 /* 9964 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
4097 /* 9967 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4098 /* 9972 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4099 /* 9975 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4100 /* 9979 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4101 /* 9984 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4102 /* 9987 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4103 /* 9997 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4104 /* 9999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4105 /* 10002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4106 /* 10004 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4107 /* 10007 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4108 /* 10012 */ // GIR_Coverage, 2175,
4109 /* 10012 */ GIR_EraseRootFromParent_Done,
4110 /* 10013 */ // Label 467: @10013
4111 /* 10013 */ GIM_Reject,
4112 /* 10014 */ // Label 463: @10014
4113 /* 10014 */ GIM_Reject,
4114 /* 10015 */ // Label 459: @10015
4115 /* 10015 */ GIM_Try, /*On fail goto*//*Label 468*/ GIMT_Encode4(10345),
4116 /* 10020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
4117 /* 10024 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 469*/ GIMT_Encode4(10042), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2151 //
4118 /* 10031 */ // (bitconvert:{ *:[v2i64] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v8i16:{ *:[v8i16] }:$src, MSA128D:{ *:[i32] })
4119 /* 10031 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4120 /* 10036 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4121 /* 10041 */ // GIR_Coverage, 2151,
4122 /* 10041 */ GIR_Done,
4123 /* 10042 */ // Label 469: @10042
4124 /* 10042 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 470*/ GIMT_Encode4(10060), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2153 //
4125 /* 10049 */ // (bitconvert:{ *:[v2i64] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v8f16:{ *:[v8f16] }:$src, MSA128D:{ *:[i32] })
4126 /* 10049 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4127 /* 10054 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4128 /* 10059 */ // GIR_Coverage, 2153,
4129 /* 10059 */ GIR_Done,
4130 /* 10060 */ // Label 470: @10060
4131 /* 10060 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 471*/ GIMT_Encode4(10078), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2166 //
4132 /* 10067 */ // (bitconvert:{ *:[v2f64] } v8i16:{ *:[v8i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v8i16:{ *:[v8i16] }:$src, MSA128D:{ *:[i32] })
4133 /* 10067 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4134 /* 10072 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4135 /* 10077 */ // GIR_Coverage, 2166,
4136 /* 10077 */ GIR_Done,
4137 /* 10078 */ // Label 471: @10078
4138 /* 10078 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 472*/ GIMT_Encode4(10096), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2168 //
4139 /* 10085 */ // (bitconvert:{ *:[v2f64] } v8f16:{ *:[v8f16] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v8f16:{ *:[v8f16] }:$src, MSA128D:{ *:[i32] })
4140 /* 10085 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4141 /* 10090 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4142 /* 10095 */ // GIR_Coverage, 2168,
4143 /* 10095 */ GIR_Done,
4144 /* 10096 */ // Label 472: @10096
4145 /* 10096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 473*/ GIMT_Encode4(10158), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2179 //
4146 /* 10103 */ // (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] })
4147 /* 10103 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4148 /* 10106 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4149 /* 10110 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4150 /* 10115 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4151 /* 10119 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4152 /* 10124 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4153 /* 10127 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4154 /* 10131 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4155 /* 10136 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4156 /* 10139 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4157 /* 10142 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4158 /* 10144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4159 /* 10147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4160 /* 10149 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4161 /* 10152 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4162 /* 10157 */ // GIR_Coverage, 2179,
4163 /* 10157 */ GIR_EraseRootFromParent_Done,
4164 /* 10158 */ // Label 473: @10158
4165 /* 10158 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 474*/ GIMT_Encode4(10220), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2180 //
4166 /* 10165 */ // (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] })
4167 /* 10165 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4168 /* 10168 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4169 /* 10172 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4170 /* 10177 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4171 /* 10181 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4172 /* 10186 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4173 /* 10189 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4174 /* 10193 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4175 /* 10198 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4176 /* 10201 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4177 /* 10204 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4178 /* 10206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4179 /* 10209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4180 /* 10211 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4181 /* 10214 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4182 /* 10219 */ // GIR_Coverage, 2180,
4183 /* 10219 */ GIR_EraseRootFromParent_Done,
4184 /* 10220 */ // Label 474: @10220
4185 /* 10220 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 475*/ GIMT_Encode4(10282), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2184 //
4186 /* 10227 */ // (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] })
4187 /* 10227 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4188 /* 10230 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4189 /* 10234 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4190 /* 10239 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4191 /* 10243 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4192 /* 10248 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4193 /* 10251 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4194 /* 10255 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4195 /* 10260 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4196 /* 10263 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4197 /* 10266 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4198 /* 10268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4199 /* 10271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4200 /* 10273 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4201 /* 10276 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4202 /* 10281 */ // GIR_Coverage, 2184,
4203 /* 10281 */ GIR_EraseRootFromParent_Done,
4204 /* 10282 */ // Label 475: @10282
4205 /* 10282 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 476*/ GIMT_Encode4(10344), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2185 //
4206 /* 10289 */ // (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] })
4207 /* 10289 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
4208 /* 10292 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4209 /* 10296 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4210 /* 10301 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4211 /* 10305 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128HRegClassID),
4212 /* 10310 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
4213 /* 10313 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_H),
4214 /* 10317 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4215 /* 10322 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4216 /* 10325 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/27,
4217 /* 10328 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4218 /* 10330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4219 /* 10333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4220 /* 10335 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4221 /* 10338 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4222 /* 10343 */ // GIR_Coverage, 2185,
4223 /* 10343 */ GIR_EraseRootFromParent_Done,
4224 /* 10344 */ // Label 476: @10344
4225 /* 10344 */ GIM_Reject,
4226 /* 10345 */ // Label 468: @10345
4227 /* 10345 */ GIM_Reject,
4228 /* 10346 */ // Label 460: @10346
4229 /* 10346 */ GIM_Try, /*On fail goto*//*Label 477*/ GIMT_Encode4(10704),
4230 /* 10351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
4231 /* 10355 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 478*/ GIMT_Encode4(10373), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2152 //
4232 /* 10362 */ // (bitconvert:{ *:[v2i64] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v4i32:{ *:[v4i32] }:$src, MSA128D:{ *:[i32] })
4233 /* 10362 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4234 /* 10367 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4235 /* 10372 */ // GIR_Coverage, 2152,
4236 /* 10372 */ GIR_Done,
4237 /* 10373 */ // Label 478: @10373
4238 /* 10373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 479*/ GIMT_Encode4(10391), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2154 //
4239 /* 10380 */ // (bitconvert:{ *:[v2i64] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v4f32:{ *:[v4f32] }:$src, MSA128D:{ *:[i32] })
4240 /* 10380 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4241 /* 10385 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4242 /* 10390 */ // GIR_Coverage, 2154,
4243 /* 10390 */ GIR_Done,
4244 /* 10391 */ // Label 479: @10391
4245 /* 10391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 480*/ GIMT_Encode4(10409), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2167 //
4246 /* 10398 */ // (bitconvert:{ *:[v2f64] } v4i32:{ *:[v4i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v4i32:{ *:[v4i32] }:$src, MSA128D:{ *:[i32] })
4247 /* 10398 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4248 /* 10403 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4249 /* 10408 */ // GIR_Coverage, 2167,
4250 /* 10408 */ GIR_Done,
4251 /* 10409 */ // Label 480: @10409
4252 /* 10409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 481*/ GIMT_Encode4(10427), GIMT_Encode2(GIFBS_HasMSA_IsLE), // Rule ID 2169 //
4253 /* 10416 */ // (bitconvert:{ *:[v2f64] } v4f32:{ *:[v4f32] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v4f32:{ *:[v4f32] }:$src, MSA128D:{ *:[i32] })
4254 /* 10416 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4255 /* 10421 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4256 /* 10426 */ // GIR_Coverage, 2169,
4257 /* 10426 */ GIR_Done,
4258 /* 10427 */ // Label 481: @10427
4259 /* 10427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 482*/ GIMT_Encode4(10496), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2189 //
4260 /* 10434 */ // (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] })
4261 /* 10434 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4262 /* 10437 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4263 /* 10441 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4264 /* 10446 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4265 /* 10450 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4266 /* 10455 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4267 /* 10458 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4268 /* 10462 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4269 /* 10467 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4270 /* 10470 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4271 /* 10480 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4272 /* 10482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4273 /* 10485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4274 /* 10487 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4275 /* 10490 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4276 /* 10495 */ // GIR_Coverage, 2189,
4277 /* 10495 */ GIR_EraseRootFromParent_Done,
4278 /* 10496 */ // Label 482: @10496
4279 /* 10496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 483*/ GIMT_Encode4(10565), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2190 //
4280 /* 10503 */ // (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] })
4281 /* 10503 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4282 /* 10506 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4283 /* 10510 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4284 /* 10515 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4285 /* 10519 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4286 /* 10524 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4287 /* 10527 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4288 /* 10531 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4289 /* 10536 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4290 /* 10539 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4291 /* 10549 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4292 /* 10551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4293 /* 10554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4294 /* 10556 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4295 /* 10559 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4296 /* 10564 */ // GIR_Coverage, 2190,
4297 /* 10564 */ GIR_EraseRootFromParent_Done,
4298 /* 10565 */ // Label 483: @10565
4299 /* 10565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 484*/ GIMT_Encode4(10634), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2194 //
4300 /* 10572 */ // (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] })
4301 /* 10572 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4302 /* 10575 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4303 /* 10579 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4304 /* 10584 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4305 /* 10588 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4306 /* 10593 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4307 /* 10596 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4308 /* 10600 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4309 /* 10605 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4310 /* 10608 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4311 /* 10618 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4312 /* 10620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4313 /* 10623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4314 /* 10625 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4315 /* 10628 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4316 /* 10633 */ // GIR_Coverage, 2194,
4317 /* 10633 */ GIR_EraseRootFromParent_Done,
4318 /* 10634 */ // Label 484: @10634
4319 /* 10634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 485*/ GIMT_Encode4(10703), GIMT_Encode2(GIFBS_HasMSA_IsBE), // Rule ID 2195 //
4320 /* 10641 */ // (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] })
4321 /* 10641 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v4s32,
4322 /* 10644 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4323 /* 10648 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4324 /* 10653 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
4325 /* 10657 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(Mips::MSA128WRegClassID),
4326 /* 10662 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s32,
4327 /* 10665 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SHF_W),
4328 /* 10669 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
4329 /* 10674 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
4330 /* 10677 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(177),
4331 /* 10687 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
4332 /* 10689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4333 /* 10692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4334 /* 10694 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
4335 /* 10697 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4336 /* 10702 */ // GIR_Coverage, 2195,
4337 /* 10702 */ GIR_EraseRootFromParent_Done,
4338 /* 10703 */ // Label 485: @10703
4339 /* 10703 */ GIM_Reject,
4340 /* 10704 */ // Label 477: @10704
4341 /* 10704 */ GIM_Reject,
4342 /* 10705 */ // Label 461: @10705
4343 /* 10705 */ GIM_Try, /*On fail goto*//*Label 486*/ GIMT_Encode4(10751),
4344 /* 10710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
4345 /* 10714 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 487*/ GIMT_Encode4(10732), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2130 //
4346 /* 10721 */ // (bitconvert:{ *:[v2i64] } v2f64:{ *:[v2f64] }:$src) => (COPY_TO_REGCLASS:{ *:[v2i64] } v2f64:{ *:[v2f64] }:$src, MSA128D:{ *:[i32] })
4347 /* 10721 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4348 /* 10726 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4349 /* 10731 */ // GIR_Coverage, 2130,
4350 /* 10731 */ GIR_Done,
4351 /* 10732 */ // Label 487: @10732
4352 /* 10732 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 488*/ GIMT_Encode4(10750), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2133 //
4353 /* 10739 */ // (bitconvert:{ *:[v2f64] } v2i64:{ *:[v2i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v2f64] } v2i64:{ *:[v2i64] }:$src, MSA128D:{ *:[i32] })
4354 /* 10739 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
4355 /* 10744 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::MSA128DRegClassID),
4356 /* 10749 */ // GIR_Coverage, 2133,
4357 /* 10749 */ GIR_Done,
4358 /* 10750 */ // Label 488: @10750
4359 /* 10750 */ GIM_Reject,
4360 /* 10751 */ // Label 486: @10751
4361 /* 10751 */ GIM_Reject,
4362 /* 10752 */ // Label 462: @10752
4363 /* 10752 */ GIM_Reject,
4364 /* 10753 */ // Label 352: @10753
4365 /* 10753 */ GIM_Reject,
4366 /* 10754 */ // Label 13: @10754
4367 /* 10754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 489*/ GIMT_Encode4(10817), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2119 //
4368 /* 10761 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
4369 /* 10764 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4370 /* 10767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
4371 /* 10771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4372 /* 10775 */ // MIs[0] Operand 1
4373 /* 10775 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
4374 /* 10779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4375 /* 10783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
4376 /* 10787 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
4377 /* 10791 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
4378 /* 10795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4379 /* 10797 */ // (ld:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$base, i32:{ *:[i32] }:$index))<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LWX:{ *:[i32] } i32:{ *:[i32] }:$base, i32:{ *:[i32] }:$index)
4380 /* 10797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LWX),
4381 /* 10800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
4382 /* 10802 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // base
4383 /* 10806 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // index
4384 /* 10810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4385 /* 10815 */ GIR_RootConstrainSelectedInstOperands,
4386 /* 10816 */ // GIR_Coverage, 2119,
4387 /* 10816 */ GIR_EraseRootFromParent_Done,
4388 /* 10817 */ // Label 489: @10817
4389 /* 10817 */ GIM_Reject,
4390 /* 10818 */ // Label 14: @10818
4391 /* 10818 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 490*/ GIMT_Encode4(10884), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2118 //
4392 /* 10825 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
4393 /* 10828 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4394 /* 10831 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4395 /* 10838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4396 /* 10842 */ // MIs[0] Operand 1
4397 /* 10842 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
4398 /* 10846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4399 /* 10850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
4400 /* 10854 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
4401 /* 10858 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
4402 /* 10862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4403 /* 10864 */ // (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)
4404 /* 10864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LHX),
4405 /* 10867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
4406 /* 10869 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // base
4407 /* 10873 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // index
4408 /* 10877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4409 /* 10882 */ GIR_RootConstrainSelectedInstOperands,
4410 /* 10883 */ // GIR_Coverage, 2118,
4411 /* 10883 */ GIR_EraseRootFromParent_Done,
4412 /* 10884 */ // Label 490: @10884
4413 /* 10884 */ GIM_Reject,
4414 /* 10885 */ // Label 15: @10885
4415 /* 10885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 491*/ GIMT_Encode4(10951), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2117 //
4416 /* 10892 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
4417 /* 10895 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4418 /* 10898 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4419 /* 10905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4420 /* 10909 */ // MIs[0] Operand 1
4421 /* 10909 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
4422 /* 10913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4423 /* 10917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
4424 /* 10921 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
4425 /* 10925 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
4426 /* 10929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4427 /* 10931 */ // (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)
4428 /* 10931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LBUX),
4429 /* 10934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
4430 /* 10936 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // base
4431 /* 10940 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // index
4432 /* 10944 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4433 /* 10949 */ GIR_RootConstrainSelectedInstOperands,
4434 /* 10950 */ // GIR_Coverage, 2117,
4435 /* 10950 */ GIR_EraseRootFromParent_Done,
4436 /* 10951 */ // Label 491: @10951
4437 /* 10951 */ GIM_Reject,
4438 /* 10952 */ // Label 16: @10952
4439 /* 10952 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 494*/ GIMT_Encode4(11139),
4440 /* 10963 */ /*GILLT_s32*//*Label 492*/ GIMT_Encode4(10971),
4441 /* 10967 */ /*GILLT_s64*//*Label 493*/ GIMT_Encode4(11095),
4442 /* 10971 */ // Label 492: @10971
4443 /* 10971 */ GIM_Try, /*On fail goto*//*Label 495*/ GIMT_Encode4(11094),
4444 /* 10976 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4445 /* 10979 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
4446 /* 10982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 496*/ GIMT_Encode4(11019), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 25 //
4447 /* 10989 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4448 /* 10996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4449 /* 11000 */ // MIs[0] ptr
4450 /* 11000 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4451 /* 11004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4452 /* 11008 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4453 /* 11012 */ // (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)
4454 /* 11012 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_CMP_SWAP_I8),
4455 /* 11017 */ GIR_RootConstrainSelectedInstOperands,
4456 /* 11018 */ // GIR_Coverage, 25,
4457 /* 11018 */ GIR_Done,
4458 /* 11019 */ // Label 496: @11019
4459 /* 11019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 497*/ GIMT_Encode4(11056), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 26 //
4460 /* 11026 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4461 /* 11033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4462 /* 11037 */ // MIs[0] ptr
4463 /* 11037 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4464 /* 11041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4465 /* 11045 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4466 /* 11049 */ // (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)
4467 /* 11049 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_CMP_SWAP_I16),
4468 /* 11054 */ GIR_RootConstrainSelectedInstOperands,
4469 /* 11055 */ // GIR_Coverage, 26,
4470 /* 11055 */ GIR_Done,
4471 /* 11056 */ // Label 497: @11056
4472 /* 11056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 498*/ GIMT_Encode4(11093), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 27 //
4473 /* 11063 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4474 /* 11070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4475 /* 11074 */ // MIs[0] ptr
4476 /* 11074 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4477 /* 11078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4478 /* 11082 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4479 /* 11086 */ // (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)
4480 /* 11086 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_CMP_SWAP_I32),
4481 /* 11091 */ GIR_RootConstrainSelectedInstOperands,
4482 /* 11092 */ // GIR_Coverage, 27,
4483 /* 11092 */ GIR_Done,
4484 /* 11093 */ // Label 498: @11093
4485 /* 11093 */ GIM_Reject,
4486 /* 11094 */ // Label 495: @11094
4487 /* 11094 */ GIM_Reject,
4488 /* 11095 */ // Label 493: @11095
4489 /* 11095 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 499*/ GIMT_Encode4(11138), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 219 //
4490 /* 11102 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4491 /* 11105 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
4492 /* 11108 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4493 /* 11115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4494 /* 11119 */ // MIs[0] ptr
4495 /* 11119 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4496 /* 11123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4497 /* 11127 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4498 /* 11131 */ // (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)
4499 /* 11131 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_CMP_SWAP_I64),
4500 /* 11136 */ GIR_RootConstrainSelectedInstOperands,
4501 /* 11137 */ // GIR_Coverage, 219,
4502 /* 11137 */ GIR_Done,
4503 /* 11138 */ // Label 499: @11138
4504 /* 11138 */ GIM_Reject,
4505 /* 11139 */ // Label 494: @11139
4506 /* 11139 */ GIM_Reject,
4507 /* 11140 */ // Label 17: @11140
4508 /* 11140 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 502*/ GIMT_Encode4(11305),
4509 /* 11151 */ /*GILLT_s32*//*Label 500*/ GIMT_Encode4(11159),
4510 /* 11155 */ /*GILLT_s64*//*Label 501*/ GIMT_Encode4(11268),
4511 /* 11159 */ // Label 500: @11159
4512 /* 11159 */ GIM_Try, /*On fail goto*//*Label 503*/ GIMT_Encode4(11267),
4513 /* 11164 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4514 /* 11167 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 504*/ GIMT_Encode4(11200), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 22 //
4515 /* 11174 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4516 /* 11181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4517 /* 11185 */ // MIs[0] ptr
4518 /* 11185 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4519 /* 11189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4520 /* 11193 */ // (atomic_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_swap_i8>> => (ATOMIC_SWAP_I8:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4521 /* 11193 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_SWAP_I8),
4522 /* 11198 */ GIR_RootConstrainSelectedInstOperands,
4523 /* 11199 */ // GIR_Coverage, 22,
4524 /* 11199 */ GIR_Done,
4525 /* 11200 */ // Label 504: @11200
4526 /* 11200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 505*/ GIMT_Encode4(11233), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 23 //
4527 /* 11207 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4528 /* 11214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4529 /* 11218 */ // MIs[0] ptr
4530 /* 11218 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4531 /* 11222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4532 /* 11226 */ // (atomic_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_swap_i16>> => (ATOMIC_SWAP_I16:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4533 /* 11226 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_SWAP_I16),
4534 /* 11231 */ GIR_RootConstrainSelectedInstOperands,
4535 /* 11232 */ // GIR_Coverage, 23,
4536 /* 11232 */ GIR_Done,
4537 /* 11233 */ // Label 505: @11233
4538 /* 11233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 506*/ GIMT_Encode4(11266), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 24 //
4539 /* 11240 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4540 /* 11247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4541 /* 11251 */ // MIs[0] ptr
4542 /* 11251 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4543 /* 11255 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4544 /* 11259 */ // (atomic_swap:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)<<P:Predicate_atomic_swap_i32>> => (ATOMIC_SWAP_I32:{ *:[i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$incr)
4545 /* 11259 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_SWAP_I32),
4546 /* 11264 */ GIR_RootConstrainSelectedInstOperands,
4547 /* 11265 */ // GIR_Coverage, 24,
4548 /* 11265 */ GIR_Done,
4549 /* 11266 */ // Label 506: @11266
4550 /* 11266 */ GIM_Reject,
4551 /* 11267 */ // Label 503: @11267
4552 /* 11267 */ GIM_Reject,
4553 /* 11268 */ // Label 501: @11268
4554 /* 11268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 507*/ GIMT_Encode4(11304), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 218 //
4555 /* 11275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4556 /* 11278 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4557 /* 11285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4558 /* 11289 */ // MIs[0] ptr
4559 /* 11289 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4560 /* 11293 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4561 /* 11297 */ // (atomic_swap:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)<<P:Predicate_atomic_swap_i64>> => (ATOMIC_SWAP_I64:{ *:[i64] } iPTR:{ *:[iPTR] }:$ptr, GPR64:{ *:[i64] }:$incr)
4562 /* 11297 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_SWAP_I64),
4563 /* 11302 */ GIR_RootConstrainSelectedInstOperands,
4564 /* 11303 */ // GIR_Coverage, 218,
4565 /* 11303 */ GIR_Done,
4566 /* 11304 */ // Label 507: @11304
4567 /* 11304 */ GIM_Reject,
4568 /* 11305 */ // Label 502: @11305
4569 /* 11305 */ GIM_Reject,
4570 /* 11306 */ // Label 18: @11306
4571 /* 11306 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 510*/ GIMT_Encode4(11471),
4572 /* 11317 */ /*GILLT_s32*//*Label 508*/ GIMT_Encode4(11325),
4573 /* 11321 */ /*GILLT_s64*//*Label 509*/ GIMT_Encode4(11434),
4574 /* 11325 */ // Label 508: @11325
4575 /* 11325 */ GIM_Try, /*On fail goto*//*Label 511*/ GIMT_Encode4(11433),
4576 /* 11330 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4577 /* 11333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 512*/ GIMT_Encode4(11366), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 4 //
4578 /* 11340 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4579 /* 11347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4580 /* 11351 */ // MIs[0] ptr
4581 /* 11351 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4582 /* 11355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4583 /* 11359 */ // (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)
4584 /* 11359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_ADD_I8),
4585 /* 11364 */ GIR_RootConstrainSelectedInstOperands,
4586 /* 11365 */ // GIR_Coverage, 4,
4587 /* 11365 */ GIR_Done,
4588 /* 11366 */ // Label 512: @11366
4589 /* 11366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 513*/ GIMT_Encode4(11399), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 5 //
4590 /* 11373 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4591 /* 11380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4592 /* 11384 */ // MIs[0] ptr
4593 /* 11384 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4594 /* 11388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4595 /* 11392 */ // (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)
4596 /* 11392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_ADD_I16),
4597 /* 11397 */ GIR_RootConstrainSelectedInstOperands,
4598 /* 11398 */ // GIR_Coverage, 5,
4599 /* 11398 */ GIR_Done,
4600 /* 11399 */ // Label 513: @11399
4601 /* 11399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 514*/ GIMT_Encode4(11432), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 6 //
4602 /* 11406 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4603 /* 11413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4604 /* 11417 */ // MIs[0] ptr
4605 /* 11417 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4606 /* 11421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4607 /* 11425 */ // (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)
4608 /* 11425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_ADD_I32),
4609 /* 11430 */ GIR_RootConstrainSelectedInstOperands,
4610 /* 11431 */ // GIR_Coverage, 6,
4611 /* 11431 */ GIR_Done,
4612 /* 11432 */ // Label 514: @11432
4613 /* 11432 */ GIM_Reject,
4614 /* 11433 */ // Label 511: @11433
4615 /* 11433 */ GIM_Reject,
4616 /* 11434 */ // Label 509: @11434
4617 /* 11434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 515*/ GIMT_Encode4(11470), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 212 //
4618 /* 11441 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4619 /* 11444 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4620 /* 11451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4621 /* 11455 */ // MIs[0] ptr
4622 /* 11455 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4623 /* 11459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4624 /* 11463 */ // (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)
4625 /* 11463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_ADD_I64),
4626 /* 11468 */ GIR_RootConstrainSelectedInstOperands,
4627 /* 11469 */ // GIR_Coverage, 212,
4628 /* 11469 */ GIR_Done,
4629 /* 11470 */ // Label 515: @11470
4630 /* 11470 */ GIM_Reject,
4631 /* 11471 */ // Label 510: @11471
4632 /* 11471 */ GIM_Reject,
4633 /* 11472 */ // Label 19: @11472
4634 /* 11472 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 518*/ GIMT_Encode4(11637),
4635 /* 11483 */ /*GILLT_s32*//*Label 516*/ GIMT_Encode4(11491),
4636 /* 11487 */ /*GILLT_s64*//*Label 517*/ GIMT_Encode4(11600),
4637 /* 11491 */ // Label 516: @11491
4638 /* 11491 */ GIM_Try, /*On fail goto*//*Label 519*/ GIMT_Encode4(11599),
4639 /* 11496 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4640 /* 11499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 520*/ GIMT_Encode4(11532), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 7 //
4641 /* 11506 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4642 /* 11513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4643 /* 11517 */ // MIs[0] ptr
4644 /* 11517 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4645 /* 11521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4646 /* 11525 */ // (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)
4647 /* 11525 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_SUB_I8),
4648 /* 11530 */ GIR_RootConstrainSelectedInstOperands,
4649 /* 11531 */ // GIR_Coverage, 7,
4650 /* 11531 */ GIR_Done,
4651 /* 11532 */ // Label 520: @11532
4652 /* 11532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 521*/ GIMT_Encode4(11565), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 8 //
4653 /* 11539 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4654 /* 11546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4655 /* 11550 */ // MIs[0] ptr
4656 /* 11550 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4657 /* 11554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4658 /* 11558 */ // (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)
4659 /* 11558 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_SUB_I16),
4660 /* 11563 */ GIR_RootConstrainSelectedInstOperands,
4661 /* 11564 */ // GIR_Coverage, 8,
4662 /* 11564 */ GIR_Done,
4663 /* 11565 */ // Label 521: @11565
4664 /* 11565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 522*/ GIMT_Encode4(11598), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 9 //
4665 /* 11572 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4666 /* 11579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4667 /* 11583 */ // MIs[0] ptr
4668 /* 11583 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4669 /* 11587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4670 /* 11591 */ // (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)
4671 /* 11591 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_SUB_I32),
4672 /* 11596 */ GIR_RootConstrainSelectedInstOperands,
4673 /* 11597 */ // GIR_Coverage, 9,
4674 /* 11597 */ GIR_Done,
4675 /* 11598 */ // Label 522: @11598
4676 /* 11598 */ GIM_Reject,
4677 /* 11599 */ // Label 519: @11599
4678 /* 11599 */ GIM_Reject,
4679 /* 11600 */ // Label 517: @11600
4680 /* 11600 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 523*/ GIMT_Encode4(11636), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 213 //
4681 /* 11607 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4682 /* 11610 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4683 /* 11617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4684 /* 11621 */ // MIs[0] ptr
4685 /* 11621 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4686 /* 11625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4687 /* 11629 */ // (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)
4688 /* 11629 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_SUB_I64),
4689 /* 11634 */ GIR_RootConstrainSelectedInstOperands,
4690 /* 11635 */ // GIR_Coverage, 213,
4691 /* 11635 */ GIR_Done,
4692 /* 11636 */ // Label 523: @11636
4693 /* 11636 */ GIM_Reject,
4694 /* 11637 */ // Label 518: @11637
4695 /* 11637 */ GIM_Reject,
4696 /* 11638 */ // Label 20: @11638
4697 /* 11638 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 526*/ GIMT_Encode4(11803),
4698 /* 11649 */ /*GILLT_s32*//*Label 524*/ GIMT_Encode4(11657),
4699 /* 11653 */ /*GILLT_s64*//*Label 525*/ GIMT_Encode4(11766),
4700 /* 11657 */ // Label 524: @11657
4701 /* 11657 */ GIM_Try, /*On fail goto*//*Label 527*/ GIMT_Encode4(11765),
4702 /* 11662 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4703 /* 11665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 528*/ GIMT_Encode4(11698), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 10 //
4704 /* 11672 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4705 /* 11679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4706 /* 11683 */ // MIs[0] ptr
4707 /* 11683 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4708 /* 11687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4709 /* 11691 */ // (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)
4710 /* 11691 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_AND_I8),
4711 /* 11696 */ GIR_RootConstrainSelectedInstOperands,
4712 /* 11697 */ // GIR_Coverage, 10,
4713 /* 11697 */ GIR_Done,
4714 /* 11698 */ // Label 528: @11698
4715 /* 11698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 529*/ GIMT_Encode4(11731), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 11 //
4716 /* 11705 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4717 /* 11712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4718 /* 11716 */ // MIs[0] ptr
4719 /* 11716 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4720 /* 11720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4721 /* 11724 */ // (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)
4722 /* 11724 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_AND_I16),
4723 /* 11729 */ GIR_RootConstrainSelectedInstOperands,
4724 /* 11730 */ // GIR_Coverage, 11,
4725 /* 11730 */ GIR_Done,
4726 /* 11731 */ // Label 529: @11731
4727 /* 11731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 530*/ GIMT_Encode4(11764), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 12 //
4728 /* 11738 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4729 /* 11745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4730 /* 11749 */ // MIs[0] ptr
4731 /* 11749 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4732 /* 11753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4733 /* 11757 */ // (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)
4734 /* 11757 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_AND_I32),
4735 /* 11762 */ GIR_RootConstrainSelectedInstOperands,
4736 /* 11763 */ // GIR_Coverage, 12,
4737 /* 11763 */ GIR_Done,
4738 /* 11764 */ // Label 530: @11764
4739 /* 11764 */ GIM_Reject,
4740 /* 11765 */ // Label 527: @11765
4741 /* 11765 */ GIM_Reject,
4742 /* 11766 */ // Label 525: @11766
4743 /* 11766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 531*/ GIMT_Encode4(11802), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 214 //
4744 /* 11773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4745 /* 11776 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4746 /* 11783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4747 /* 11787 */ // MIs[0] ptr
4748 /* 11787 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4749 /* 11791 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4750 /* 11795 */ // (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)
4751 /* 11795 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_AND_I64),
4752 /* 11800 */ GIR_RootConstrainSelectedInstOperands,
4753 /* 11801 */ // GIR_Coverage, 214,
4754 /* 11801 */ GIR_Done,
4755 /* 11802 */ // Label 531: @11802
4756 /* 11802 */ GIM_Reject,
4757 /* 11803 */ // Label 526: @11803
4758 /* 11803 */ GIM_Reject,
4759 /* 11804 */ // Label 21: @11804
4760 /* 11804 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 534*/ GIMT_Encode4(11969),
4761 /* 11815 */ /*GILLT_s32*//*Label 532*/ GIMT_Encode4(11823),
4762 /* 11819 */ /*GILLT_s64*//*Label 533*/ GIMT_Encode4(11932),
4763 /* 11823 */ // Label 532: @11823
4764 /* 11823 */ GIM_Try, /*On fail goto*//*Label 535*/ GIMT_Encode4(11931),
4765 /* 11828 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4766 /* 11831 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 536*/ GIMT_Encode4(11864), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 19 //
4767 /* 11838 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4768 /* 11845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4769 /* 11849 */ // MIs[0] ptr
4770 /* 11849 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4771 /* 11853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4772 /* 11857 */ // (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)
4773 /* 11857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_NAND_I8),
4774 /* 11862 */ GIR_RootConstrainSelectedInstOperands,
4775 /* 11863 */ // GIR_Coverage, 19,
4776 /* 11863 */ GIR_Done,
4777 /* 11864 */ // Label 536: @11864
4778 /* 11864 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 537*/ GIMT_Encode4(11897), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 20 //
4779 /* 11871 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4780 /* 11878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4781 /* 11882 */ // MIs[0] ptr
4782 /* 11882 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4783 /* 11886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4784 /* 11890 */ // (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)
4785 /* 11890 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_NAND_I16),
4786 /* 11895 */ GIR_RootConstrainSelectedInstOperands,
4787 /* 11896 */ // GIR_Coverage, 20,
4788 /* 11896 */ GIR_Done,
4789 /* 11897 */ // Label 537: @11897
4790 /* 11897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 538*/ GIMT_Encode4(11930), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 21 //
4791 /* 11904 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4792 /* 11911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4793 /* 11915 */ // MIs[0] ptr
4794 /* 11915 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4795 /* 11919 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4796 /* 11923 */ // (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)
4797 /* 11923 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_NAND_I32),
4798 /* 11928 */ GIR_RootConstrainSelectedInstOperands,
4799 /* 11929 */ // GIR_Coverage, 21,
4800 /* 11929 */ GIR_Done,
4801 /* 11930 */ // Label 538: @11930
4802 /* 11930 */ GIM_Reject,
4803 /* 11931 */ // Label 535: @11931
4804 /* 11931 */ GIM_Reject,
4805 /* 11932 */ // Label 533: @11932
4806 /* 11932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 539*/ GIMT_Encode4(11968), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 217 //
4807 /* 11939 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4808 /* 11942 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4809 /* 11949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4810 /* 11953 */ // MIs[0] ptr
4811 /* 11953 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4812 /* 11957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4813 /* 11961 */ // (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)
4814 /* 11961 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_NAND_I64),
4815 /* 11966 */ GIR_RootConstrainSelectedInstOperands,
4816 /* 11967 */ // GIR_Coverage, 217,
4817 /* 11967 */ GIR_Done,
4818 /* 11968 */ // Label 539: @11968
4819 /* 11968 */ GIM_Reject,
4820 /* 11969 */ // Label 534: @11969
4821 /* 11969 */ GIM_Reject,
4822 /* 11970 */ // Label 22: @11970
4823 /* 11970 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 542*/ GIMT_Encode4(12135),
4824 /* 11981 */ /*GILLT_s32*//*Label 540*/ GIMT_Encode4(11989),
4825 /* 11985 */ /*GILLT_s64*//*Label 541*/ GIMT_Encode4(12098),
4826 /* 11989 */ // Label 540: @11989
4827 /* 11989 */ GIM_Try, /*On fail goto*//*Label 543*/ GIMT_Encode4(12097),
4828 /* 11994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4829 /* 11997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 544*/ GIMT_Encode4(12030), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 13 //
4830 /* 12004 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4831 /* 12011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4832 /* 12015 */ // MIs[0] ptr
4833 /* 12015 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4834 /* 12019 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4835 /* 12023 */ // (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)
4836 /* 12023 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_OR_I8),
4837 /* 12028 */ GIR_RootConstrainSelectedInstOperands,
4838 /* 12029 */ // GIR_Coverage, 13,
4839 /* 12029 */ GIR_Done,
4840 /* 12030 */ // Label 544: @12030
4841 /* 12030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 545*/ GIMT_Encode4(12063), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 14 //
4842 /* 12037 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4843 /* 12044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4844 /* 12048 */ // MIs[0] ptr
4845 /* 12048 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4846 /* 12052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4847 /* 12056 */ // (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)
4848 /* 12056 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_OR_I16),
4849 /* 12061 */ GIR_RootConstrainSelectedInstOperands,
4850 /* 12062 */ // GIR_Coverage, 14,
4851 /* 12062 */ GIR_Done,
4852 /* 12063 */ // Label 545: @12063
4853 /* 12063 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 546*/ GIMT_Encode4(12096), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 15 //
4854 /* 12070 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4855 /* 12077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4856 /* 12081 */ // MIs[0] ptr
4857 /* 12081 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4858 /* 12085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4859 /* 12089 */ // (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)
4860 /* 12089 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_OR_I32),
4861 /* 12094 */ GIR_RootConstrainSelectedInstOperands,
4862 /* 12095 */ // GIR_Coverage, 15,
4863 /* 12095 */ GIR_Done,
4864 /* 12096 */ // Label 546: @12096
4865 /* 12096 */ GIM_Reject,
4866 /* 12097 */ // Label 543: @12097
4867 /* 12097 */ GIM_Reject,
4868 /* 12098 */ // Label 541: @12098
4869 /* 12098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 547*/ GIMT_Encode4(12134), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 215 //
4870 /* 12105 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4871 /* 12108 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4872 /* 12115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4873 /* 12119 */ // MIs[0] ptr
4874 /* 12119 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4875 /* 12123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4876 /* 12127 */ // (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)
4877 /* 12127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_OR_I64),
4878 /* 12132 */ GIR_RootConstrainSelectedInstOperands,
4879 /* 12133 */ // GIR_Coverage, 215,
4880 /* 12133 */ GIR_Done,
4881 /* 12134 */ // Label 547: @12134
4882 /* 12134 */ GIM_Reject,
4883 /* 12135 */ // Label 542: @12135
4884 /* 12135 */ GIM_Reject,
4885 /* 12136 */ // Label 23: @12136
4886 /* 12136 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 550*/ GIMT_Encode4(12301),
4887 /* 12147 */ /*GILLT_s32*//*Label 548*/ GIMT_Encode4(12155),
4888 /* 12151 */ /*GILLT_s64*//*Label 549*/ GIMT_Encode4(12264),
4889 /* 12155 */ // Label 548: @12155
4890 /* 12155 */ GIM_Try, /*On fail goto*//*Label 551*/ GIMT_Encode4(12263),
4891 /* 12160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4892 /* 12163 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 552*/ GIMT_Encode4(12196), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 16 //
4893 /* 12170 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4894 /* 12177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4895 /* 12181 */ // MIs[0] ptr
4896 /* 12181 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4897 /* 12185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4898 /* 12189 */ // (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)
4899 /* 12189 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_XOR_I8),
4900 /* 12194 */ GIR_RootConstrainSelectedInstOperands,
4901 /* 12195 */ // GIR_Coverage, 16,
4902 /* 12195 */ GIR_Done,
4903 /* 12196 */ // Label 552: @12196
4904 /* 12196 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 553*/ GIMT_Encode4(12229), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 17 //
4905 /* 12203 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4906 /* 12210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4907 /* 12214 */ // MIs[0] ptr
4908 /* 12214 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4909 /* 12218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4910 /* 12222 */ // (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)
4911 /* 12222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_XOR_I16),
4912 /* 12227 */ GIR_RootConstrainSelectedInstOperands,
4913 /* 12228 */ // GIR_Coverage, 17,
4914 /* 12228 */ GIR_Done,
4915 /* 12229 */ // Label 553: @12229
4916 /* 12229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 554*/ GIMT_Encode4(12262), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 18 //
4917 /* 12236 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4918 /* 12243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4919 /* 12247 */ // MIs[0] ptr
4920 /* 12247 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4921 /* 12251 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4922 /* 12255 */ // (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)
4923 /* 12255 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_XOR_I32),
4924 /* 12260 */ GIR_RootConstrainSelectedInstOperands,
4925 /* 12261 */ // GIR_Coverage, 18,
4926 /* 12261 */ GIR_Done,
4927 /* 12262 */ // Label 554: @12262
4928 /* 12262 */ GIM_Reject,
4929 /* 12263 */ // Label 551: @12263
4930 /* 12263 */ GIM_Reject,
4931 /* 12264 */ // Label 549: @12264
4932 /* 12264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 555*/ GIMT_Encode4(12300), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 216 //
4933 /* 12271 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4934 /* 12274 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4935 /* 12281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4936 /* 12285 */ // MIs[0] ptr
4937 /* 12285 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4938 /* 12289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4939 /* 12293 */ // (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)
4940 /* 12293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_XOR_I64),
4941 /* 12298 */ GIR_RootConstrainSelectedInstOperands,
4942 /* 12299 */ // GIR_Coverage, 216,
4943 /* 12299 */ GIR_Done,
4944 /* 12300 */ // Label 555: @12300
4945 /* 12300 */ GIM_Reject,
4946 /* 12301 */ // Label 550: @12301
4947 /* 12301 */ GIM_Reject,
4948 /* 12302 */ // Label 24: @12302
4949 /* 12302 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 558*/ GIMT_Encode4(12467),
4950 /* 12313 */ /*GILLT_s32*//*Label 556*/ GIMT_Encode4(12321),
4951 /* 12317 */ /*GILLT_s64*//*Label 557*/ GIMT_Encode4(12430),
4952 /* 12321 */ // Label 556: @12321
4953 /* 12321 */ GIM_Try, /*On fail goto*//*Label 559*/ GIMT_Encode4(12429),
4954 /* 12326 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4955 /* 12329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 560*/ GIMT_Encode4(12362), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 31 //
4956 /* 12336 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
4957 /* 12343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4958 /* 12347 */ // MIs[0] ptr
4959 /* 12347 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4960 /* 12351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4961 /* 12355 */ // (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)
4962 /* 12355 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MAX_I8),
4963 /* 12360 */ GIR_RootConstrainSelectedInstOperands,
4964 /* 12361 */ // GIR_Coverage, 31,
4965 /* 12361 */ GIR_Done,
4966 /* 12362 */ // Label 560: @12362
4967 /* 12362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 561*/ GIMT_Encode4(12395), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 32 //
4968 /* 12369 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
4969 /* 12376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4970 /* 12380 */ // MIs[0] ptr
4971 /* 12380 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4972 /* 12384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4973 /* 12388 */ // (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)
4974 /* 12388 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MAX_I16),
4975 /* 12393 */ GIR_RootConstrainSelectedInstOperands,
4976 /* 12394 */ // GIR_Coverage, 32,
4977 /* 12394 */ GIR_Done,
4978 /* 12395 */ // Label 561: @12395
4979 /* 12395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 562*/ GIMT_Encode4(12428), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 33 //
4980 /* 12402 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
4981 /* 12409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4982 /* 12413 */ // MIs[0] ptr
4983 /* 12413 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
4984 /* 12417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
4985 /* 12421 */ // (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)
4986 /* 12421 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MAX_I32),
4987 /* 12426 */ GIR_RootConstrainSelectedInstOperands,
4988 /* 12427 */ // GIR_Coverage, 33,
4989 /* 12427 */ GIR_Done,
4990 /* 12428 */ // Label 562: @12428
4991 /* 12428 */ GIM_Reject,
4992 /* 12429 */ // Label 559: @12429
4993 /* 12429 */ GIM_Reject,
4994 /* 12430 */ // Label 557: @12430
4995 /* 12430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 563*/ GIMT_Encode4(12466), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 221 //
4996 /* 12437 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4997 /* 12440 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
4998 /* 12447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
4999 /* 12451 */ // MIs[0] ptr
5000 /* 12451 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5001 /* 12455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5002 /* 12459 */ // (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)
5003 /* 12459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MAX_I64),
5004 /* 12464 */ GIR_RootConstrainSelectedInstOperands,
5005 /* 12465 */ // GIR_Coverage, 221,
5006 /* 12465 */ GIR_Done,
5007 /* 12466 */ // Label 563: @12466
5008 /* 12466 */ GIM_Reject,
5009 /* 12467 */ // Label 558: @12467
5010 /* 12467 */ GIM_Reject,
5011 /* 12468 */ // Label 25: @12468
5012 /* 12468 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 566*/ GIMT_Encode4(12633),
5013 /* 12479 */ /*GILLT_s32*//*Label 564*/ GIMT_Encode4(12487),
5014 /* 12483 */ /*GILLT_s64*//*Label 565*/ GIMT_Encode4(12596),
5015 /* 12487 */ // Label 564: @12487
5016 /* 12487 */ GIM_Try, /*On fail goto*//*Label 567*/ GIMT_Encode4(12595),
5017 /* 12492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5018 /* 12495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 568*/ GIMT_Encode4(12528), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 28 //
5019 /* 12502 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5020 /* 12509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5021 /* 12513 */ // MIs[0] ptr
5022 /* 12513 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5023 /* 12517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5024 /* 12521 */ // (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)
5025 /* 12521 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MIN_I8),
5026 /* 12526 */ GIR_RootConstrainSelectedInstOperands,
5027 /* 12527 */ // GIR_Coverage, 28,
5028 /* 12527 */ GIR_Done,
5029 /* 12528 */ // Label 568: @12528
5030 /* 12528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 569*/ GIMT_Encode4(12561), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 29 //
5031 /* 12535 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5032 /* 12542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5033 /* 12546 */ // MIs[0] ptr
5034 /* 12546 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5035 /* 12550 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5036 /* 12554 */ // (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)
5037 /* 12554 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MIN_I16),
5038 /* 12559 */ GIR_RootConstrainSelectedInstOperands,
5039 /* 12560 */ // GIR_Coverage, 29,
5040 /* 12560 */ GIR_Done,
5041 /* 12561 */ // Label 569: @12561
5042 /* 12561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 570*/ GIMT_Encode4(12594), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 30 //
5043 /* 12568 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5044 /* 12575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5045 /* 12579 */ // MIs[0] ptr
5046 /* 12579 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5047 /* 12583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5048 /* 12587 */ // (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)
5049 /* 12587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MIN_I32),
5050 /* 12592 */ GIR_RootConstrainSelectedInstOperands,
5051 /* 12593 */ // GIR_Coverage, 30,
5052 /* 12593 */ GIR_Done,
5053 /* 12594 */ // Label 570: @12594
5054 /* 12594 */ GIM_Reject,
5055 /* 12595 */ // Label 567: @12595
5056 /* 12595 */ GIM_Reject,
5057 /* 12596 */ // Label 565: @12596
5058 /* 12596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 571*/ GIMT_Encode4(12632), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 220 //
5059 /* 12603 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5060 /* 12606 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5061 /* 12613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5062 /* 12617 */ // MIs[0] ptr
5063 /* 12617 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5064 /* 12621 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5065 /* 12625 */ // (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)
5066 /* 12625 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_MIN_I64),
5067 /* 12630 */ GIR_RootConstrainSelectedInstOperands,
5068 /* 12631 */ // GIR_Coverage, 220,
5069 /* 12631 */ GIR_Done,
5070 /* 12632 */ // Label 571: @12632
5071 /* 12632 */ GIM_Reject,
5072 /* 12633 */ // Label 566: @12633
5073 /* 12633 */ GIM_Reject,
5074 /* 12634 */ // Label 26: @12634
5075 /* 12634 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 574*/ GIMT_Encode4(12799),
5076 /* 12645 */ /*GILLT_s32*//*Label 572*/ GIMT_Encode4(12653),
5077 /* 12649 */ /*GILLT_s64*//*Label 573*/ GIMT_Encode4(12762),
5078 /* 12653 */ // Label 572: @12653
5079 /* 12653 */ GIM_Try, /*On fail goto*//*Label 575*/ GIMT_Encode4(12761),
5080 /* 12658 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5081 /* 12661 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 576*/ GIMT_Encode4(12694), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 37 //
5082 /* 12668 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5083 /* 12675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5084 /* 12679 */ // MIs[0] ptr
5085 /* 12679 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5086 /* 12683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5087 /* 12687 */ // (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)
5088 /* 12687 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMAX_I8),
5089 /* 12692 */ GIR_RootConstrainSelectedInstOperands,
5090 /* 12693 */ // GIR_Coverage, 37,
5091 /* 12693 */ GIR_Done,
5092 /* 12694 */ // Label 576: @12694
5093 /* 12694 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 577*/ GIMT_Encode4(12727), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 38 //
5094 /* 12701 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5095 /* 12708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5096 /* 12712 */ // MIs[0] ptr
5097 /* 12712 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5098 /* 12716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5099 /* 12720 */ // (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)
5100 /* 12720 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMAX_I16),
5101 /* 12725 */ GIR_RootConstrainSelectedInstOperands,
5102 /* 12726 */ // GIR_Coverage, 38,
5103 /* 12726 */ GIR_Done,
5104 /* 12727 */ // Label 577: @12727
5105 /* 12727 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 578*/ GIMT_Encode4(12760), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 39 //
5106 /* 12734 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5107 /* 12741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5108 /* 12745 */ // MIs[0] ptr
5109 /* 12745 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5110 /* 12749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5111 /* 12753 */ // (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)
5112 /* 12753 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMAX_I32),
5113 /* 12758 */ GIR_RootConstrainSelectedInstOperands,
5114 /* 12759 */ // GIR_Coverage, 39,
5115 /* 12759 */ GIR_Done,
5116 /* 12760 */ // Label 578: @12760
5117 /* 12760 */ GIM_Reject,
5118 /* 12761 */ // Label 575: @12761
5119 /* 12761 */ GIM_Reject,
5120 /* 12762 */ // Label 573: @12762
5121 /* 12762 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 579*/ GIMT_Encode4(12798), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 223 //
5122 /* 12769 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5123 /* 12772 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5124 /* 12779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5125 /* 12783 */ // MIs[0] ptr
5126 /* 12783 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5127 /* 12787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5128 /* 12791 */ // (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)
5129 /* 12791 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMAX_I64),
5130 /* 12796 */ GIR_RootConstrainSelectedInstOperands,
5131 /* 12797 */ // GIR_Coverage, 223,
5132 /* 12797 */ GIR_Done,
5133 /* 12798 */ // Label 579: @12798
5134 /* 12798 */ GIM_Reject,
5135 /* 12799 */ // Label 574: @12799
5136 /* 12799 */ GIM_Reject,
5137 /* 12800 */ // Label 27: @12800
5138 /* 12800 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 582*/ GIMT_Encode4(12965),
5139 /* 12811 */ /*GILLT_s32*//*Label 580*/ GIMT_Encode4(12819),
5140 /* 12815 */ /*GILLT_s64*//*Label 581*/ GIMT_Encode4(12928),
5141 /* 12819 */ // Label 580: @12819
5142 /* 12819 */ GIM_Try, /*On fail goto*//*Label 583*/ GIMT_Encode4(12927),
5143 /* 12824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5144 /* 12827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 584*/ GIMT_Encode4(12860), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 34 //
5145 /* 12834 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
5146 /* 12841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5147 /* 12845 */ // MIs[0] ptr
5148 /* 12845 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5149 /* 12849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5150 /* 12853 */ // (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)
5151 /* 12853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMIN_I8),
5152 /* 12858 */ GIR_RootConstrainSelectedInstOperands,
5153 /* 12859 */ // GIR_Coverage, 34,
5154 /* 12859 */ GIR_Done,
5155 /* 12860 */ // Label 584: @12860
5156 /* 12860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 585*/ GIMT_Encode4(12893), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 35 //
5157 /* 12867 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
5158 /* 12874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5159 /* 12878 */ // MIs[0] ptr
5160 /* 12878 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5161 /* 12882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5162 /* 12886 */ // (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)
5163 /* 12886 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMIN_I16),
5164 /* 12891 */ GIR_RootConstrainSelectedInstOperands,
5165 /* 12892 */ // GIR_Coverage, 35,
5166 /* 12892 */ GIR_Done,
5167 /* 12893 */ // Label 585: @12893
5168 /* 12893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 586*/ GIMT_Encode4(12926), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 36 //
5169 /* 12900 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
5170 /* 12907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5171 /* 12911 */ // MIs[0] ptr
5172 /* 12911 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5173 /* 12915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5174 /* 12919 */ // (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)
5175 /* 12919 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMIN_I32),
5176 /* 12924 */ GIR_RootConstrainSelectedInstOperands,
5177 /* 12925 */ // GIR_Coverage, 36,
5178 /* 12925 */ GIR_Done,
5179 /* 12926 */ // Label 586: @12926
5180 /* 12926 */ GIM_Reject,
5181 /* 12927 */ // Label 583: @12927
5182 /* 12927 */ GIM_Reject,
5183 /* 12928 */ // Label 581: @12928
5184 /* 12928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 587*/ GIMT_Encode4(12964), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 222 //
5185 /* 12935 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5186 /* 12938 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
5187 /* 12945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5188 /* 12949 */ // MIs[0] ptr
5189 /* 12949 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
5190 /* 12953 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5191 /* 12957 */ // (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)
5192 /* 12957 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ATOMIC_LOAD_UMIN_I64),
5193 /* 12962 */ GIR_RootConstrainSelectedInstOperands,
5194 /* 12963 */ // GIR_Coverage, 222,
5195 /* 12963 */ GIR_Done,
5196 /* 12964 */ // Label 587: @12964
5197 /* 12964 */ GIM_Reject,
5198 /* 12965 */ // Label 582: @12965
5199 /* 12965 */ GIM_Reject,
5200 /* 12966 */ // Label 28: @12966
5201 /* 12966 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 590*/ GIMT_Encode4(19129),
5202 /* 12977 */ /*GILLT_s32*//*Label 588*/ GIMT_Encode4(12985),
5203 /* 12981 */ /*GILLT_s64*//*Label 589*/ GIMT_Encode4(19096),
5204 /* 12985 */ // Label 588: @12985
5205 /* 12985 */ GIM_Try, /*On fail goto*//*Label 591*/ GIMT_Encode4(18984),
5206 /* 12990 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
5207 /* 12993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 592*/ GIMT_Encode4(13097), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 2509 //
5208 /* 13000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5209 /* 13004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5210 /* 13008 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5211 /* 13012 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5212 /* 13016 */ // MIs[1] Operand 1
5213 /* 13016 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5214 /* 13021 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5215 /* 13025 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5216 /* 13029 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5217 /* 13033 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5218 /* 13037 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
5219 /* 13041 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5220 /* 13045 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5221 /* 13049 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5222 /* 13053 */ GIM_CheckConstantInt8, /*MI*/3, /*Op*/1, 1,
5223 /* 13057 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5224 /* 13061 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5225 /* 13065 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5226 /* 13069 */ // MIs[4] Operand 1
5227 /* 13069 */ // No operand predicates
5228 /* 13069 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5229 /* 13074 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5230 /* 13078 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5231 /* 13080 */ // (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)
5232 /* 13080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT0),
5233 /* 13083 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // rs
5234 /* 13087 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5235 /* 13090 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5236 /* 13092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5237 /* 13095 */ GIR_RootConstrainSelectedInstOperands,
5238 /* 13096 */ // GIR_Coverage, 2509,
5239 /* 13096 */ GIR_EraseRootFromParent_Done,
5240 /* 13097 */ // Label 592: @13097
5241 /* 13097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 593*/ GIMT_Encode4(13208), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 2510 //
5242 /* 13104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5243 /* 13108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5244 /* 13112 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5245 /* 13116 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5246 /* 13120 */ // MIs[1] Operand 1
5247 /* 13120 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5248 /* 13125 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5249 /* 13129 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5250 /* 13133 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5251 /* 13137 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5252 /* 13141 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
5253 /* 13145 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5254 /* 13149 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5255 /* 13153 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5256 /* 13157 */ GIM_CheckConstantInt, /*MI*/3, /*Op*/1, GIMT_Encode8(4294967296),
5257 /* 13168 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5258 /* 13172 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5259 /* 13176 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5260 /* 13180 */ // MIs[4] Operand 1
5261 /* 13180 */ // No operand predicates
5262 /* 13180 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5263 /* 13185 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5264 /* 13189 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5265 /* 13191 */ // (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)
5266 /* 13191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT032),
5267 /* 13194 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // rs
5268 /* 13198 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5269 /* 13201 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5270 /* 13203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5271 /* 13206 */ GIR_RootConstrainSelectedInstOperands,
5272 /* 13207 */ // GIR_Coverage, 2510,
5273 /* 13207 */ GIR_EraseRootFromParent_Done,
5274 /* 13208 */ // Label 593: @13208
5275 /* 13208 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 594*/ GIMT_Encode4(13312), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 2511 //
5276 /* 13215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5277 /* 13219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5278 /* 13223 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5279 /* 13227 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5280 /* 13231 */ // MIs[1] Operand 1
5281 /* 13231 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5282 /* 13236 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5283 /* 13240 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5284 /* 13244 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5285 /* 13248 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5286 /* 13252 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
5287 /* 13256 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5288 /* 13260 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5289 /* 13264 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5290 /* 13268 */ GIM_CheckConstantInt8, /*MI*/3, /*Op*/1, 1,
5291 /* 13272 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5292 /* 13276 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5293 /* 13280 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5294 /* 13284 */ // MIs[4] Operand 1
5295 /* 13284 */ // No operand predicates
5296 /* 13284 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5297 /* 13289 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5298 /* 13293 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5299 /* 13295 */ // (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)
5300 /* 13295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT1),
5301 /* 13298 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // rs
5302 /* 13302 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5303 /* 13305 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5304 /* 13307 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5305 /* 13310 */ GIR_RootConstrainSelectedInstOperands,
5306 /* 13311 */ // GIR_Coverage, 2511,
5307 /* 13311 */ GIR_EraseRootFromParent_Done,
5308 /* 13312 */ // Label 594: @13312
5309 /* 13312 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 595*/ GIMT_Encode4(13423), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 2512 //
5310 /* 13319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5311 /* 13323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5312 /* 13327 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5313 /* 13331 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5314 /* 13335 */ // MIs[1] Operand 1
5315 /* 13335 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5316 /* 13340 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5317 /* 13344 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5318 /* 13348 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5319 /* 13352 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5320 /* 13356 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
5321 /* 13360 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5322 /* 13364 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5323 /* 13368 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5324 /* 13372 */ GIM_CheckConstantInt, /*MI*/3, /*Op*/1, GIMT_Encode8(4294967296),
5325 /* 13383 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5326 /* 13387 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5327 /* 13391 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5328 /* 13395 */ // MIs[4] Operand 1
5329 /* 13395 */ // No operand predicates
5330 /* 13395 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5331 /* 13400 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5332 /* 13404 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5333 /* 13406 */ // (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)
5334 /* 13406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT132),
5335 /* 13409 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // rs
5336 /* 13413 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5337 /* 13416 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5338 /* 13418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5339 /* 13421 */ GIR_RootConstrainSelectedInstOperands,
5340 /* 13422 */ // GIR_Coverage, 2512,
5341 /* 13422 */ GIR_EraseRootFromParent_Done,
5342 /* 13423 */ // Label 595: @13423
5343 /* 13423 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 596*/ GIMT_Encode4(13527), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 298 //
5344 /* 13430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5345 /* 13434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5346 /* 13438 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5347 /* 13442 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5348 /* 13446 */ // MIs[1] Operand 1
5349 /* 13446 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5350 /* 13451 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5351 /* 13455 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5352 /* 13459 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5353 /* 13463 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5354 /* 13467 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5355 /* 13472 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/2, // MIs[3]
5356 /* 13476 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5357 /* 13480 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5358 /* 13484 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5359 /* 13488 */ GIM_CheckConstantInt8, /*MI*/3, /*Op*/1, 1,
5360 /* 13492 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5361 /* 13496 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5362 /* 13500 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5363 /* 13504 */ // MIs[4] Operand 1
5364 /* 13504 */ // No operand predicates
5365 /* 13504 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5366 /* 13508 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5367 /* 13510 */ // (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)
5368 /* 13510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT0),
5369 /* 13513 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // rs
5370 /* 13517 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5371 /* 13520 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5372 /* 13522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5373 /* 13525 */ GIR_RootConstrainSelectedInstOperands,
5374 /* 13526 */ // GIR_Coverage, 298,
5375 /* 13526 */ GIR_EraseRootFromParent_Done,
5376 /* 13527 */ // Label 596: @13527
5377 /* 13527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 597*/ GIMT_Encode4(13638), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 299 //
5378 /* 13534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5379 /* 13538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5380 /* 13542 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5381 /* 13546 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5382 /* 13550 */ // MIs[1] Operand 1
5383 /* 13550 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5384 /* 13555 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5385 /* 13559 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5386 /* 13563 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5387 /* 13567 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5388 /* 13571 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5389 /* 13576 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/2, // MIs[3]
5390 /* 13580 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5391 /* 13584 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5392 /* 13588 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5393 /* 13592 */ GIM_CheckConstantInt, /*MI*/3, /*Op*/1, GIMT_Encode8(4294967296),
5394 /* 13603 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5395 /* 13607 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5396 /* 13611 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5397 /* 13615 */ // MIs[4] Operand 1
5398 /* 13615 */ // No operand predicates
5399 /* 13615 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5400 /* 13619 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5401 /* 13621 */ // (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)
5402 /* 13621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT032),
5403 /* 13624 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // rs
5404 /* 13628 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5405 /* 13631 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5406 /* 13633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5407 /* 13636 */ GIR_RootConstrainSelectedInstOperands,
5408 /* 13637 */ // GIR_Coverage, 299,
5409 /* 13637 */ GIR_EraseRootFromParent_Done,
5410 /* 13638 */ // Label 597: @13638
5411 /* 13638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 598*/ GIMT_Encode4(13742), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 300 //
5412 /* 13645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5413 /* 13649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5414 /* 13653 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5415 /* 13657 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5416 /* 13661 */ // MIs[1] Operand 1
5417 /* 13661 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5418 /* 13666 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5419 /* 13670 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5420 /* 13674 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5421 /* 13678 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5422 /* 13682 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5423 /* 13687 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/2, // MIs[3]
5424 /* 13691 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5425 /* 13695 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5426 /* 13699 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5427 /* 13703 */ GIM_CheckConstantInt8, /*MI*/3, /*Op*/1, 1,
5428 /* 13707 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5429 /* 13711 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5430 /* 13715 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5431 /* 13719 */ // MIs[4] Operand 1
5432 /* 13719 */ // No operand predicates
5433 /* 13719 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5434 /* 13723 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5435 /* 13725 */ // (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)
5436 /* 13725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT1),
5437 /* 13728 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // rs
5438 /* 13732 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5439 /* 13735 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5440 /* 13737 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5441 /* 13740 */ GIR_RootConstrainSelectedInstOperands,
5442 /* 13741 */ // GIR_Coverage, 300,
5443 /* 13741 */ GIR_EraseRootFromParent_Done,
5444 /* 13742 */ // Label 598: @13742
5445 /* 13742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 599*/ GIMT_Encode4(13853), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 301 //
5446 /* 13749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5447 /* 13753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5448 /* 13757 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5449 /* 13761 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5450 /* 13765 */ // MIs[1] Operand 1
5451 /* 13765 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5452 /* 13770 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5453 /* 13774 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_AND),
5454 /* 13778 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
5455 /* 13782 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
5456 /* 13786 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5457 /* 13791 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/2, // MIs[3]
5458 /* 13795 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_SHL),
5459 /* 13799 */ GIM_CheckType, /*MI*/3, /*Op*/1, /*Type*/GILLT_s64,
5460 /* 13803 */ GIM_CheckType, /*MI*/3, /*Op*/2, /*Type*/GILLT_s64,
5461 /* 13807 */ GIM_CheckConstantInt, /*MI*/3, /*Op*/1, GIMT_Encode8(4294967296),
5462 /* 13818 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/3, /*OpIdx*/2, // MIs[4]
5463 /* 13822 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5464 /* 13826 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
5465 /* 13830 */ // MIs[4] Operand 1
5466 /* 13830 */ // No operand predicates
5467 /* 13830 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5468 /* 13834 */ GIM_CheckIsSafeToFold, /*NumInsns*/4,
5469 /* 13836 */ // (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)
5470 /* 13836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BBIT132),
5471 /* 13839 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // rs
5472 /* 13843 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/4, // p
5473 /* 13846 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5474 /* 13848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5475 /* 13851 */ GIR_RootConstrainSelectedInstOperands,
5476 /* 13852 */ // GIR_Coverage, 301,
5477 /* 13852 */ GIR_EraseRootFromParent_Done,
5478 /* 13853 */ // Label 599: @13853
5479 /* 13853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 600*/ GIMT_Encode4(13906), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 94 //
5480 /* 13860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5481 /* 13864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5482 /* 13868 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5483 /* 13872 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5484 /* 13876 */ // MIs[1] Operand 1
5485 /* 13876 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
5486 /* 13881 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5487 /* 13886 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5488 /* 13890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5489 /* 13892 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZ GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5490 /* 13892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ),
5491 /* 13895 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5492 /* 13899 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5493 /* 13901 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5494 /* 13904 */ GIR_RootConstrainSelectedInstOperands,
5495 /* 13905 */ // GIR_Coverage, 94,
5496 /* 13905 */ GIR_EraseRootFromParent_Done,
5497 /* 13906 */ // Label 600: @13906
5498 /* 13906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 601*/ GIMT_Encode4(13959), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 95 //
5499 /* 13913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5500 /* 13917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5501 /* 13921 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5502 /* 13925 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5503 /* 13929 */ // MIs[1] Operand 1
5504 /* 13929 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
5505 /* 13934 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5506 /* 13939 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5507 /* 13943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5508 /* 13945 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZ GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5509 /* 13945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZ),
5510 /* 13948 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5511 /* 13952 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5512 /* 13954 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5513 /* 13957 */ GIR_RootConstrainSelectedInstOperands,
5514 /* 13958 */ // GIR_Coverage, 95,
5515 /* 13958 */ GIR_EraseRootFromParent_Done,
5516 /* 13959 */ // Label 601: @13959
5517 /* 13959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 602*/ GIMT_Encode4(14012), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 96 //
5518 /* 13966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5519 /* 13970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5520 /* 13974 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5521 /* 13978 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5522 /* 13982 */ // MIs[1] Operand 1
5523 /* 13982 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
5524 /* 13987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5525 /* 13992 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5526 /* 13996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5527 /* 13998 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZ GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5528 /* 13998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ),
5529 /* 14001 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5530 /* 14005 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5531 /* 14007 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5532 /* 14010 */ GIR_RootConstrainSelectedInstOperands,
5533 /* 14011 */ // GIR_Coverage, 96,
5534 /* 14011 */ GIR_EraseRootFromParent_Done,
5535 /* 14012 */ // Label 602: @14012
5536 /* 14012 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 603*/ GIMT_Encode4(14065), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 97 //
5537 /* 14019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5538 /* 14023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5539 /* 14027 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5540 /* 14031 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5541 /* 14035 */ // MIs[1] Operand 1
5542 /* 14035 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5543 /* 14040 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5544 /* 14045 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5545 /* 14049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5546 /* 14051 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZ GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5547 /* 14051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZ),
5548 /* 14054 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5549 /* 14058 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5550 /* 14060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5551 /* 14063 */ GIR_RootConstrainSelectedInstOperands,
5552 /* 14064 */ // GIR_Coverage, 97,
5553 /* 14064 */ GIR_EraseRootFromParent_Done,
5554 /* 14065 */ // Label 603: @14065
5555 /* 14065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 604*/ GIMT_Encode4(14118), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 273 //
5556 /* 14072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5557 /* 14076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5558 /* 14080 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5559 /* 14084 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5560 /* 14088 */ // MIs[1] Operand 1
5561 /* 14088 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
5562 /* 14093 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5563 /* 14098 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5564 /* 14102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5565 /* 14104 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZ64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
5566 /* 14104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ64),
5567 /* 14107 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5568 /* 14111 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5569 /* 14113 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5570 /* 14116 */ GIR_RootConstrainSelectedInstOperands,
5571 /* 14117 */ // GIR_Coverage, 273,
5572 /* 14117 */ GIR_EraseRootFromParent_Done,
5573 /* 14118 */ // Label 604: @14118
5574 /* 14118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 605*/ GIMT_Encode4(14171), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 274 //
5575 /* 14125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5576 /* 14129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5577 /* 14133 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5578 /* 14137 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5579 /* 14141 */ // MIs[1] Operand 1
5580 /* 14141 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
5581 /* 14146 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5582 /* 14151 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5583 /* 14155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5584 /* 14157 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZ64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
5585 /* 14157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZ64),
5586 /* 14160 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5587 /* 14164 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5588 /* 14166 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5589 /* 14169 */ GIR_RootConstrainSelectedInstOperands,
5590 /* 14170 */ // GIR_Coverage, 274,
5591 /* 14170 */ GIR_EraseRootFromParent_Done,
5592 /* 14171 */ // Label 605: @14171
5593 /* 14171 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 606*/ GIMT_Encode4(14224), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 275 //
5594 /* 14178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5595 /* 14182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5596 /* 14186 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5597 /* 14190 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5598 /* 14194 */ // MIs[1] Operand 1
5599 /* 14194 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
5600 /* 14199 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5601 /* 14204 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5602 /* 14208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5603 /* 14210 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZ64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
5604 /* 14210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ64),
5605 /* 14213 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5606 /* 14217 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5607 /* 14219 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5608 /* 14222 */ GIR_RootConstrainSelectedInstOperands,
5609 /* 14223 */ // GIR_Coverage, 275,
5610 /* 14223 */ GIR_EraseRootFromParent_Done,
5611 /* 14224 */ // Label 606: @14224
5612 /* 14224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 607*/ GIMT_Encode4(14277), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 276 //
5613 /* 14231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5614 /* 14235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5615 /* 14239 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5616 /* 14243 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5617 /* 14247 */ // MIs[1] Operand 1
5618 /* 14247 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5619 /* 14252 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5620 /* 14257 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5621 /* 14261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5622 /* 14263 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZ64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
5623 /* 14263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZ64),
5624 /* 14266 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5625 /* 14270 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5626 /* 14272 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5627 /* 14275 */ GIR_RootConstrainSelectedInstOperands,
5628 /* 14276 */ // GIR_Coverage, 276,
5629 /* 14276 */ GIR_EraseRootFromParent_Done,
5630 /* 14277 */ // Label 607: @14277
5631 /* 14277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 608*/ GIMT_Encode4(14330), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1131 //
5632 /* 14284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5633 /* 14288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5634 /* 14292 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5635 /* 14296 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5636 /* 14300 */ // MIs[1] Operand 1
5637 /* 14300 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
5638 /* 14305 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5639 /* 14310 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5640 /* 14314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5641 /* 14316 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZ_MM GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5642 /* 14316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ_MM),
5643 /* 14319 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5644 /* 14323 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5645 /* 14325 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5646 /* 14328 */ GIR_RootConstrainSelectedInstOperands,
5647 /* 14329 */ // GIR_Coverage, 1131,
5648 /* 14329 */ GIR_EraseRootFromParent_Done,
5649 /* 14330 */ // Label 608: @14330
5650 /* 14330 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 609*/ GIMT_Encode4(14383), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1132 //
5651 /* 14337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5652 /* 14341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5653 /* 14345 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5654 /* 14349 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5655 /* 14353 */ // MIs[1] Operand 1
5656 /* 14353 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
5657 /* 14358 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5658 /* 14363 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5659 /* 14367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5660 /* 14369 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZ_MM GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5661 /* 14369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZ_MM),
5662 /* 14372 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5663 /* 14376 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5664 /* 14378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5665 /* 14381 */ GIR_RootConstrainSelectedInstOperands,
5666 /* 14382 */ // GIR_Coverage, 1132,
5667 /* 14382 */ GIR_EraseRootFromParent_Done,
5668 /* 14383 */ // Label 609: @14383
5669 /* 14383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 610*/ GIMT_Encode4(14436), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1133 //
5670 /* 14390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5671 /* 14394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5672 /* 14398 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5673 /* 14402 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5674 /* 14406 */ // MIs[1] Operand 1
5675 /* 14406 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
5676 /* 14411 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5677 /* 14416 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5678 /* 14420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5679 /* 14422 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZ_MM GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5680 /* 14422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ_MM),
5681 /* 14425 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5682 /* 14429 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5683 /* 14431 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5684 /* 14434 */ GIR_RootConstrainSelectedInstOperands,
5685 /* 14435 */ // GIR_Coverage, 1133,
5686 /* 14435 */ GIR_EraseRootFromParent_Done,
5687 /* 14436 */ // Label 610: @14436
5688 /* 14436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 611*/ GIMT_Encode4(14489), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1134 //
5689 /* 14443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5690 /* 14447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5691 /* 14451 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5692 /* 14455 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5693 /* 14459 */ // MIs[1] Operand 1
5694 /* 14459 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5695 /* 14464 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5696 /* 14469 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5697 /* 14473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5698 /* 14475 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZ_MM GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5699 /* 14475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZ_MM),
5700 /* 14478 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5701 /* 14482 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5702 /* 14484 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5703 /* 14487 */ GIR_RootConstrainSelectedInstOperands,
5704 /* 14488 */ // GIR_Coverage, 1134,
5705 /* 14488 */ GIR_EraseRootFromParent_Done,
5706 /* 14489 */ // Label 611: @14489
5707 /* 14489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 612*/ GIMT_Encode4(14548), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1424 //
5708 /* 14496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5709 /* 14500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5710 /* 14504 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5711 /* 14508 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5712 /* 14512 */ // MIs[1] Operand 1
5713 /* 14512 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5714 /* 14517 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5715 /* 14522 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5716 /* 14526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5717 /* 14528 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BNE GPR32:{ *:[i32] }:$lhs, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
5718 /* 14528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE),
5719 /* 14531 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5720 /* 14535 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
5721 /* 14541 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5722 /* 14543 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5723 /* 14546 */ GIR_RootConstrainSelectedInstOperands,
5724 /* 14547 */ // GIR_Coverage, 1424,
5725 /* 14547 */ GIR_EraseRootFromParent_Done,
5726 /* 14548 */ // Label 612: @14548
5727 /* 14548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 613*/ GIMT_Encode4(14607), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1425 //
5728 /* 14555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5729 /* 14559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5730 /* 14563 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5731 /* 14567 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5732 /* 14571 */ // MIs[1] Operand 1
5733 /* 14571 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5734 /* 14576 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5735 /* 14581 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5736 /* 14585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5737 /* 14587 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ GPR32:{ *:[i32] }:$lhs, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
5738 /* 14587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
5739 /* 14590 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5740 /* 14594 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
5741 /* 14600 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5742 /* 14602 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5743 /* 14605 */ GIR_RootConstrainSelectedInstOperands,
5744 /* 14606 */ // GIR_Coverage, 1425,
5745 /* 14606 */ GIR_EraseRootFromParent_Done,
5746 /* 14607 */ // Label 613: @14607
5747 /* 14607 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 614*/ GIMT_Encode4(14666), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1654 //
5748 /* 14614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5749 /* 14618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5750 /* 14622 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5751 /* 14626 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5752 /* 14630 */ // MIs[1] Operand 1
5753 /* 14630 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5754 /* 14635 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5755 /* 14640 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5756 /* 14644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5757 /* 14646 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BNE64 GPR64:{ *:[i64] }:$lhs, ZERO_64:{ *:[i64] }, (bb:{ *:[Other] }):$dst)
5758 /* 14646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE64),
5759 /* 14649 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5760 /* 14653 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
5761 /* 14659 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5762 /* 14661 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5763 /* 14664 */ GIR_RootConstrainSelectedInstOperands,
5764 /* 14665 */ // GIR_Coverage, 1654,
5765 /* 14665 */ GIR_EraseRootFromParent_Done,
5766 /* 14666 */ // Label 614: @14666
5767 /* 14666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 615*/ GIMT_Encode4(14725), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1655 //
5768 /* 14673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5769 /* 14677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5770 /* 14681 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5771 /* 14685 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5772 /* 14689 */ // MIs[1] Operand 1
5773 /* 14689 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5774 /* 14694 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
5775 /* 14699 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5776 /* 14703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5777 /* 14705 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ64 GPR64:{ *:[i64] }:$lhs, ZERO_64:{ *:[i64] }, (bb:{ *:[Other] }):$dst)
5778 /* 14705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ64),
5779 /* 14708 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5780 /* 14712 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
5781 /* 14718 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5782 /* 14720 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5783 /* 14723 */ GIR_RootConstrainSelectedInstOperands,
5784 /* 14724 */ // GIR_Coverage, 1655,
5785 /* 14724 */ GIR_EraseRootFromParent_Done,
5786 /* 14725 */ // Label 615: @14725
5787 /* 14725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 616*/ GIMT_Encode4(14775), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1986 //
5788 /* 14732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5789 /* 14736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5790 /* 14740 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5791 /* 14744 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5792 /* 14748 */ // MIs[1] Operand 1
5793 /* 14748 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5794 /* 14753 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
5795 /* 14758 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5796 /* 14762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5797 /* 14764 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$targ16) => (BeqzRxImm16 CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$targ16)
5798 /* 14764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BeqzRxImm16),
5799 /* 14767 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
5800 /* 14771 */ GIR_RootToRootCopy, /*OpIdx*/1, // targ16
5801 /* 14773 */ GIR_RootConstrainSelectedInstOperands,
5802 /* 14774 */ // GIR_Coverage, 1986,
5803 /* 14774 */ GIR_EraseRootFromParent_Done,
5804 /* 14775 */ // Label 616: @14775
5805 /* 14775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 617*/ GIMT_Encode4(14825), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1995 //
5806 /* 14782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5807 /* 14786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5808 /* 14790 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5809 /* 14794 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5810 /* 14798 */ // MIs[1] Operand 1
5811 /* 14798 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5812 /* 14803 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
5813 /* 14808 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5814 /* 14812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5815 /* 14814 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$targ16) => (BnezRxImm16 CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$targ16)
5816 /* 14814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BnezRxImm16),
5817 /* 14817 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
5818 /* 14821 */ GIR_RootToRootCopy, /*OpIdx*/1, // targ16
5819 /* 14823 */ GIR_RootConstrainSelectedInstOperands,
5820 /* 14824 */ // GIR_Coverage, 1995,
5821 /* 14824 */ GIR_EraseRootFromParent_Done,
5822 /* 14825 */ // Label 617: @14825
5823 /* 14825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 618*/ GIMT_Encode4(14884), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2328 //
5824 /* 14832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5825 /* 14836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5826 /* 14840 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5827 /* 14844 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5828 /* 14848 */ // MIs[1] Operand 1
5829 /* 14848 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5830 /* 14853 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5831 /* 14858 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5832 /* 14862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5833 /* 14864 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BNE_MM GPR32:{ *:[i32] }:$lhs, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
5834 /* 14864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE_MM),
5835 /* 14867 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5836 /* 14871 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
5837 /* 14877 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5838 /* 14879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5839 /* 14882 */ GIR_RootConstrainSelectedInstOperands,
5840 /* 14883 */ // GIR_Coverage, 2328,
5841 /* 14883 */ GIR_EraseRootFromParent_Done,
5842 /* 14884 */ // Label 618: @14884
5843 /* 14884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 619*/ GIMT_Encode4(14943), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2329 //
5844 /* 14891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5845 /* 14895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5846 /* 14899 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5847 /* 14903 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5848 /* 14907 */ // MIs[1] Operand 1
5849 /* 14907 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5850 /* 14912 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5851 /* 14917 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5852 /* 14921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5853 /* 14923 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQ_MM GPR32:{ *:[i32] }:$lhs, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
5854 /* 14923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
5855 /* 14926 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5856 /* 14930 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
5857 /* 14936 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5858 /* 14938 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5859 /* 14941 */ GIR_RootConstrainSelectedInstOperands,
5860 /* 14942 */ // GIR_Coverage, 2329,
5861 /* 14942 */ GIR_EraseRootFromParent_Done,
5862 /* 14943 */ // Label 619: @14943
5863 /* 14943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 620*/ GIMT_Encode4(14996), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2480 //
5864 /* 14950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5865 /* 14954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5866 /* 14958 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5867 /* 14962 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5868 /* 14966 */ // MIs[1] Operand 1
5869 /* 14966 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
5870 /* 14971 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5871 /* 14976 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5872 /* 14980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5873 /* 14982 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BNEZC_MMR6 GPR32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
5874 /* 14982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNEZC_MMR6),
5875 /* 14985 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5876 /* 14989 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5877 /* 14991 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5878 /* 14994 */ GIR_RootConstrainSelectedInstOperands,
5879 /* 14995 */ // GIR_Coverage, 2480,
5880 /* 14995 */ GIR_EraseRootFromParent_Done,
5881 /* 14996 */ // Label 620: @14996
5882 /* 14996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 621*/ GIMT_Encode4(15049), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2481 //
5883 /* 15003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5884 /* 15007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5885 /* 15011 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5886 /* 15015 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5887 /* 15019 */ // MIs[1] Operand 1
5888 /* 15019 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
5889 /* 15024 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
5890 /* 15029 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5891 /* 15033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5892 /* 15035 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BEQZC_MMR6 GPR32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
5893 /* 15035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
5894 /* 15038 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5895 /* 15042 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5896 /* 15044 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5897 /* 15047 */ GIR_RootConstrainSelectedInstOperands,
5898 /* 15048 */ // GIR_Coverage, 2481,
5899 /* 15048 */ GIR_EraseRootFromParent_Done,
5900 /* 15049 */ // Label 621: @15049
5901 /* 15049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 622*/ GIMT_Encode4(15097), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1435 //
5902 /* 15056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5903 /* 15060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5904 /* 15064 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5905 /* 15068 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5906 /* 15072 */ // MIs[1] Operand 1
5907 /* 15072 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5908 /* 15077 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
5909 /* 15081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5910 /* 15083 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, 1:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BLEZ i32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
5911 /* 15083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ),
5912 /* 15086 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5913 /* 15090 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5914 /* 15092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5915 /* 15095 */ GIR_RootConstrainSelectedInstOperands,
5916 /* 15096 */ // GIR_Coverage, 1435,
5917 /* 15096 */ GIR_EraseRootFromParent_Done,
5918 /* 15097 */ // Label 622: @15097
5919 /* 15097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 623*/ GIMT_Encode4(15145), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1436 //
5920 /* 15104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5921 /* 15108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5922 /* 15112 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5923 /* 15116 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5924 /* 15120 */ // MIs[1] Operand 1
5925 /* 15120 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
5926 /* 15125 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
5927 /* 15129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5928 /* 15131 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, -1:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BGEZ i32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
5929 /* 15131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ),
5930 /* 15134 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5931 /* 15138 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5932 /* 15140 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5933 /* 15143 */ GIR_RootConstrainSelectedInstOperands,
5934 /* 15144 */ // GIR_Coverage, 1436,
5935 /* 15144 */ GIR_EraseRootFromParent_Done,
5936 /* 15145 */ // Label 623: @15145
5937 /* 15145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 624*/ GIMT_Encode4(15193), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1665 //
5938 /* 15152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5939 /* 15156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5940 /* 15160 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5941 /* 15164 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5942 /* 15168 */ // MIs[1] Operand 1
5943 /* 15168 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5944 /* 15173 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
5945 /* 15177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5946 /* 15179 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$lhs, 1:{ *:[i64] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BLEZ64 i64:{ *:[i64] }:$lhs, (bb:{ *:[Other] }):$dst)
5947 /* 15179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ64),
5948 /* 15182 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5949 /* 15186 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5950 /* 15188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5951 /* 15191 */ GIR_RootConstrainSelectedInstOperands,
5952 /* 15192 */ // GIR_Coverage, 1665,
5953 /* 15192 */ GIR_EraseRootFromParent_Done,
5954 /* 15193 */ // Label 624: @15193
5955 /* 15193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 625*/ GIMT_Encode4(15241), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1666 //
5956 /* 15200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5957 /* 15204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5958 /* 15208 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
5959 /* 15212 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
5960 /* 15216 */ // MIs[1] Operand 1
5961 /* 15216 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
5962 /* 15221 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
5963 /* 15225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5964 /* 15227 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$lhs, -1:{ *:[i64] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BGEZ64 i64:{ *:[i64] }:$lhs, (bb:{ *:[Other] }):$dst)
5965 /* 15227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ64),
5966 /* 15230 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
5967 /* 15234 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
5968 /* 15236 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5969 /* 15239 */ GIR_RootConstrainSelectedInstOperands,
5970 /* 15240 */ // GIR_Coverage, 1666,
5971 /* 15240 */ GIR_EraseRootFromParent_Done,
5972 /* 15241 */ // Label 625: @15241
5973 /* 15241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 626*/ GIMT_Encode4(15289), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1896 //
5974 /* 15248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5975 /* 15252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5976 /* 15256 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5977 /* 15260 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5978 /* 15264 */ // MIs[1] Operand 1
5979 /* 15264 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5980 /* 15269 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
5981 /* 15273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5982 /* 15275 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
5983 /* 15275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZC),
5984 /* 15278 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
5985 /* 15282 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
5986 /* 15284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
5987 /* 15287 */ GIR_RootConstrainSelectedInstOperands,
5988 /* 15288 */ // GIR_Coverage, 1896,
5989 /* 15288 */ GIR_EraseRootFromParent_Done,
5990 /* 15289 */ // Label 626: @15289
5991 /* 15289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 627*/ GIMT_Encode4(15337), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1897 //
5992 /* 15296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
5993 /* 15300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
5994 /* 15304 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
5995 /* 15308 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
5996 /* 15312 */ // MIs[1] Operand 1
5997 /* 15312 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
5998 /* 15317 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
5999 /* 15321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6000 /* 15323 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 1:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6001 /* 15323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZC),
6002 /* 15326 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6003 /* 15330 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6004 /* 15332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6005 /* 15335 */ GIR_RootConstrainSelectedInstOperands,
6006 /* 15336 */ // GIR_Coverage, 1897,
6007 /* 15336 */ GIR_EraseRootFromParent_Done,
6008 /* 15337 */ // Label 627: @15337
6009 /* 15337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 628*/ GIMT_Encode4(15385), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1898 //
6010 /* 15344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6011 /* 15348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6012 /* 15352 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6013 /* 15356 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6014 /* 15360 */ // MIs[1] Operand 1
6015 /* 15360 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6016 /* 15365 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6017 /* 15369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6018 /* 15371 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6019 /* 15371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZC),
6020 /* 15374 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6021 /* 15378 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6022 /* 15380 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6023 /* 15383 */ GIR_RootConstrainSelectedInstOperands,
6024 /* 15384 */ // GIR_Coverage, 1898,
6025 /* 15384 */ GIR_EraseRootFromParent_Done,
6026 /* 15385 */ // Label 628: @15385
6027 /* 15385 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 629*/ GIMT_Encode4(15433), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1899 //
6028 /* 15392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6029 /* 15396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6030 /* 15400 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6031 /* 15404 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6032 /* 15408 */ // MIs[1] Operand 1
6033 /* 15408 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6034 /* 15413 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6035 /* 15417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6036 /* 15419 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 1:{ *:[i32] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6037 /* 15419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZC),
6038 /* 15422 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6039 /* 15426 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6040 /* 15428 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6041 /* 15431 */ GIR_RootConstrainSelectedInstOperands,
6042 /* 15432 */ // GIR_Coverage, 1899,
6043 /* 15432 */ GIR_EraseRootFromParent_Done,
6044 /* 15433 */ // Label 629: @15433
6045 /* 15433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 630*/ GIMT_Encode4(15481), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1900 //
6046 /* 15440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6047 /* 15444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6048 /* 15448 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6049 /* 15452 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6050 /* 15456 */ // MIs[1] Operand 1
6051 /* 15456 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6052 /* 15461 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6053 /* 15465 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6054 /* 15467 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6055 /* 15467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZC),
6056 /* 15470 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6057 /* 15474 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6058 /* 15476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6059 /* 15479 */ GIR_RootConstrainSelectedInstOperands,
6060 /* 15480 */ // GIR_Coverage, 1900,
6061 /* 15480 */ GIR_EraseRootFromParent_Done,
6062 /* 15481 */ // Label 630: @15481
6063 /* 15481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 631*/ GIMT_Encode4(15529), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1901 //
6064 /* 15488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6065 /* 15492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6066 /* 15496 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6067 /* 15500 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6068 /* 15504 */ // MIs[1] Operand 1
6069 /* 15504 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6070 /* 15509 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6071 /* 15513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6072 /* 15515 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, -1:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6073 /* 15515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZC),
6074 /* 15518 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6075 /* 15522 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6076 /* 15524 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6077 /* 15527 */ GIR_RootConstrainSelectedInstOperands,
6078 /* 15528 */ // GIR_Coverage, 1901,
6079 /* 15528 */ GIR_EraseRootFromParent_Done,
6080 /* 15529 */ // Label 631: @15529
6081 /* 15529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 632*/ GIMT_Encode4(15577), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1902 //
6082 /* 15536 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6083 /* 15540 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6084 /* 15544 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6085 /* 15548 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6086 /* 15552 */ // MIs[1] Operand 1
6087 /* 15552 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6088 /* 15557 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6089 /* 15561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6090 /* 15563 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, 0:{ *:[i32] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6091 /* 15563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZC),
6092 /* 15566 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6093 /* 15570 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6094 /* 15572 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6095 /* 15575 */ GIR_RootConstrainSelectedInstOperands,
6096 /* 15576 */ // GIR_Coverage, 1902,
6097 /* 15576 */ GIR_EraseRootFromParent_Done,
6098 /* 15577 */ // Label 632: @15577
6099 /* 15577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 633*/ GIMT_Encode4(15625), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1903 //
6100 /* 15584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6101 /* 15588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6102 /* 15592 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6103 /* 15596 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6104 /* 15600 */ // MIs[1] Operand 1
6105 /* 15600 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6106 /* 15605 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6107 /* 15609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6108 /* 15611 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$rs, -1:{ *:[i32] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZC GPR32Opnd:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6109 /* 15611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZC),
6110 /* 15614 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6111 /* 15618 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6112 /* 15620 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6113 /* 15623 */ GIR_RootConstrainSelectedInstOperands,
6114 /* 15624 */ // GIR_Coverage, 1903,
6115 /* 15624 */ GIR_EraseRootFromParent_Done,
6116 /* 15625 */ // Label 633: @15625
6117 /* 15625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 634*/ GIMT_Encode4(15673), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1939 //
6118 /* 15632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6119 /* 15636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6120 /* 15640 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6121 /* 15644 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6122 /* 15648 */ // MIs[1] Operand 1
6123 /* 15648 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6124 /* 15653 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6125 /* 15657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6126 /* 15659 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6127 /* 15659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZC64),
6128 /* 15662 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6129 /* 15666 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6130 /* 15668 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6131 /* 15671 */ GIR_RootConstrainSelectedInstOperands,
6132 /* 15672 */ // GIR_Coverage, 1939,
6133 /* 15672 */ GIR_EraseRootFromParent_Done,
6134 /* 15673 */ // Label 634: @15673
6135 /* 15673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 635*/ GIMT_Encode4(15721), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1940 //
6136 /* 15680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6137 /* 15684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6138 /* 15688 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6139 /* 15692 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6140 /* 15696 */ // MIs[1] Operand 1
6141 /* 15696 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6142 /* 15701 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6143 /* 15705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6144 /* 15707 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 1:{ *:[i64] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6145 /* 15707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZC64),
6146 /* 15710 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6147 /* 15714 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6148 /* 15716 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6149 /* 15719 */ GIR_RootConstrainSelectedInstOperands,
6150 /* 15720 */ // GIR_Coverage, 1940,
6151 /* 15720 */ GIR_EraseRootFromParent_Done,
6152 /* 15721 */ // Label 635: @15721
6153 /* 15721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 636*/ GIMT_Encode4(15769), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1941 //
6154 /* 15728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6155 /* 15732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6156 /* 15736 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6157 /* 15740 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6158 /* 15744 */ // MIs[1] Operand 1
6159 /* 15744 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6160 /* 15749 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6161 /* 15753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6162 /* 15755 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6163 /* 15755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZC64),
6164 /* 15758 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6165 /* 15762 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6166 /* 15764 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6167 /* 15767 */ GIR_RootConstrainSelectedInstOperands,
6168 /* 15768 */ // GIR_Coverage, 1941,
6169 /* 15768 */ GIR_EraseRootFromParent_Done,
6170 /* 15769 */ // Label 636: @15769
6171 /* 15769 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 637*/ GIMT_Encode4(15817), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1942 //
6172 /* 15776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6173 /* 15780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6174 /* 15784 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6175 /* 15788 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6176 /* 15792 */ // MIs[1] Operand 1
6177 /* 15792 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6178 /* 15797 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6179 /* 15801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6180 /* 15803 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 1:{ *:[i64] }, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6181 /* 15803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZC64),
6182 /* 15806 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6183 /* 15810 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6184 /* 15812 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6185 /* 15815 */ GIR_RootConstrainSelectedInstOperands,
6186 /* 15816 */ // GIR_Coverage, 1942,
6187 /* 15816 */ GIR_EraseRootFromParent_Done,
6188 /* 15817 */ // Label 637: @15817
6189 /* 15817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 638*/ GIMT_Encode4(15865), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1943 //
6190 /* 15824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6191 /* 15828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6192 /* 15832 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6193 /* 15836 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6194 /* 15840 */ // MIs[1] Operand 1
6195 /* 15840 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6196 /* 15845 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6197 /* 15849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6198 /* 15851 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGTZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6199 /* 15851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGTZC64),
6200 /* 15854 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6201 /* 15858 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6202 /* 15860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6203 /* 15863 */ GIR_RootConstrainSelectedInstOperands,
6204 /* 15864 */ // GIR_Coverage, 1943,
6205 /* 15864 */ GIR_EraseRootFromParent_Done,
6206 /* 15865 */ // Label 638: @15865
6207 /* 15865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 639*/ GIMT_Encode4(15913), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1944 //
6208 /* 15872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6209 /* 15876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6210 /* 15880 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6211 /* 15884 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6212 /* 15888 */ // MIs[1] Operand 1
6213 /* 15888 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6214 /* 15893 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6215 /* 15897 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6216 /* 15899 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, -1:{ *:[i64] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6217 /* 15899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZC64),
6218 /* 15902 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6219 /* 15906 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6220 /* 15908 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6221 /* 15911 */ GIR_RootConstrainSelectedInstOperands,
6222 /* 15912 */ // GIR_Coverage, 1944,
6223 /* 15912 */ GIR_EraseRootFromParent_Done,
6224 /* 15913 */ // Label 639: @15913
6225 /* 15913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 640*/ GIMT_Encode4(15961), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1945 //
6226 /* 15920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6227 /* 15924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6228 /* 15928 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6229 /* 15932 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6230 /* 15936 */ // MIs[1] Operand 1
6231 /* 15936 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6232 /* 15941 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
6233 /* 15945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6234 /* 15947 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, 0:{ *:[i64] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLEZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6235 /* 15947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZC64),
6236 /* 15950 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6237 /* 15954 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6238 /* 15956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6239 /* 15959 */ GIR_RootConstrainSelectedInstOperands,
6240 /* 15960 */ // GIR_Coverage, 1945,
6241 /* 15960 */ GIR_EraseRootFromParent_Done,
6242 /* 15961 */ // Label 640: @15961
6243 /* 15961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 641*/ GIMT_Encode4(16009), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1946 //
6244 /* 15968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6245 /* 15972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6246 /* 15976 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6247 /* 15980 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6248 /* 15984 */ // MIs[1] Operand 1
6249 /* 15984 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6250 /* 15989 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6251 /* 15993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6252 /* 15995 */ // (brcond (setcc:{ *:[i32] } i64:{ *:[i64] }:$rs, -1:{ *:[i64] }, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTZC64 GPR64Opnd:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6253 /* 15995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTZC64),
6254 /* 15998 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6255 /* 16002 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6256 /* 16004 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6257 /* 16007 */ GIR_RootConstrainSelectedInstOperands,
6258 /* 16008 */ // GIR_Coverage, 1946,
6259 /* 16008 */ GIR_EraseRootFromParent_Done,
6260 /* 16009 */ // Label 641: @16009
6261 /* 16009 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 642*/ GIMT_Encode4(16057), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2339 //
6262 /* 16016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6263 /* 16020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6264 /* 16024 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6265 /* 16028 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6266 /* 16032 */ // MIs[1] Operand 1
6267 /* 16032 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6268 /* 16037 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 1,
6269 /* 16041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6270 /* 16043 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, 1:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BLEZ_MM i32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
6271 /* 16043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLEZ_MM),
6272 /* 16046 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6273 /* 16050 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6274 /* 16052 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6275 /* 16055 */ GIR_RootConstrainSelectedInstOperands,
6276 /* 16056 */ // GIR_Coverage, 2339,
6277 /* 16056 */ GIR_EraseRootFromParent_Done,
6278 /* 16057 */ // Label 642: @16057
6279 /* 16057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 643*/ GIMT_Encode4(16105), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2340 //
6280 /* 16064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6281 /* 16068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6282 /* 16072 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6283 /* 16076 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6284 /* 16080 */ // MIs[1] Operand 1
6285 /* 16080 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6286 /* 16085 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 255,
6287 /* 16089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6288 /* 16091 */ // (brcond (setcc:{ *:[i32] } i32:{ *:[i32] }:$lhs, -1:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) => (BGEZ_MM i32:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
6289 /* 16091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEZ_MM),
6290 /* 16094 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6291 /* 16098 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6292 /* 16100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6293 /* 16103 */ GIR_RootConstrainSelectedInstOperands,
6294 /* 16104 */ // GIR_Coverage, 2340,
6295 /* 16104 */ GIR_EraseRootFromParent_Done,
6296 /* 16105 */ // Label 643: @16105
6297 /* 16105 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 644*/ GIMT_Encode4(16163), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 92 //
6298 /* 16112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6299 /* 16116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6300 /* 16120 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6301 /* 16124 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6302 /* 16128 */ // MIs[1] Operand 1
6303 /* 16128 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6304 /* 16133 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6305 /* 16138 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6306 /* 16143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6307 /* 16145 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BEQ GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6308 /* 16145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6309 /* 16148 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6310 /* 16152 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6311 /* 16156 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6312 /* 16158 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6313 /* 16161 */ GIR_RootConstrainSelectedInstOperands,
6314 /* 16162 */ // GIR_Coverage, 92,
6315 /* 16162 */ GIR_EraseRootFromParent_Done,
6316 /* 16163 */ // Label 644: @16163
6317 /* 16163 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 645*/ GIMT_Encode4(16221), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 93 //
6318 /* 16170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6319 /* 16174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6320 /* 16178 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6321 /* 16182 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6322 /* 16186 */ // MIs[1] Operand 1
6323 /* 16186 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6324 /* 16191 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6325 /* 16196 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6326 /* 16201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6327 /* 16203 */ // (brcond (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BNE GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6328 /* 16203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE),
6329 /* 16206 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6330 /* 16210 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6331 /* 16214 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6332 /* 16216 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6333 /* 16219 */ GIR_RootConstrainSelectedInstOperands,
6334 /* 16220 */ // GIR_Coverage, 93,
6335 /* 16220 */ GIR_EraseRootFromParent_Done,
6336 /* 16221 */ // Label 645: @16221
6337 /* 16221 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 646*/ GIMT_Encode4(16279), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 271 //
6338 /* 16228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6339 /* 16232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6340 /* 16236 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6341 /* 16240 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6342 /* 16244 */ // MIs[1] Operand 1
6343 /* 16244 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6344 /* 16249 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6345 /* 16254 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6346 /* 16259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6347 /* 16261 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BEQ64 GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
6348 /* 16261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ64),
6349 /* 16264 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6350 /* 16268 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6351 /* 16272 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6352 /* 16274 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6353 /* 16277 */ GIR_RootConstrainSelectedInstOperands,
6354 /* 16278 */ // GIR_Coverage, 271,
6355 /* 16278 */ GIR_EraseRootFromParent_Done,
6356 /* 16279 */ // Label 646: @16279
6357 /* 16279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 647*/ GIMT_Encode4(16337), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 272 //
6358 /* 16286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6359 /* 16290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6360 /* 16294 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6361 /* 16298 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6362 /* 16302 */ // MIs[1] Operand 1
6363 /* 16302 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6364 /* 16307 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6365 /* 16312 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6366 /* 16317 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6367 /* 16319 */ // (brcond (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BNE64 GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
6368 /* 16319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE64),
6369 /* 16322 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6370 /* 16326 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6371 /* 16330 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6372 /* 16332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6373 /* 16335 */ GIR_RootConstrainSelectedInstOperands,
6374 /* 16336 */ // GIR_Coverage, 272,
6375 /* 16336 */ GIR_EraseRootFromParent_Done,
6376 /* 16337 */ // Label 647: @16337
6377 /* 16337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 648*/ GIMT_Encode4(16395), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1129 //
6378 /* 16344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6379 /* 16348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6380 /* 16352 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6381 /* 16356 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6382 /* 16360 */ // MIs[1] Operand 1
6383 /* 16360 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6384 /* 16365 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6385 /* 16370 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6386 /* 16375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6387 /* 16377 */ // (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)
6388 /* 16377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
6389 /* 16380 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6390 /* 16384 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6391 /* 16388 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6392 /* 16390 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6393 /* 16393 */ GIR_RootConstrainSelectedInstOperands,
6394 /* 16394 */ // GIR_Coverage, 1129,
6395 /* 16394 */ GIR_EraseRootFromParent_Done,
6396 /* 16395 */ // Label 648: @16395
6397 /* 16395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 649*/ GIMT_Encode4(16453), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1130 //
6398 /* 16402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6399 /* 16406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6400 /* 16410 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6401 /* 16414 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6402 /* 16418 */ // MIs[1] Operand 1
6403 /* 16418 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
6404 /* 16423 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6405 /* 16428 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6406 /* 16433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6407 /* 16435 */ // (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)
6408 /* 16435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE_MM),
6409 /* 16438 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6410 /* 16442 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6411 /* 16446 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6412 /* 16448 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6413 /* 16451 */ GIR_RootConstrainSelectedInstOperands,
6414 /* 16452 */ // GIR_Coverage, 1130,
6415 /* 16452 */ GIR_EraseRootFromParent_Done,
6416 /* 16453 */ // Label 649: @16453
6417 /* 16453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 650*/ GIMT_Encode4(16534), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1426 //
6418 /* 16460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6419 /* 16464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6420 /* 16468 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6421 /* 16472 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6422 /* 16476 */ // MIs[1] Operand 1
6423 /* 16476 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6424 /* 16481 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6425 /* 16486 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6426 /* 16491 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6427 /* 16493 */ // (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)
6428 /* 16493 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6429 /* 16496 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
6430 /* 16500 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6431 /* 16505 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6432 /* 16509 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6433 /* 16513 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6434 /* 16515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6435 /* 16518 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6436 /* 16521 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6437 /* 16527 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6438 /* 16529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6439 /* 16532 */ GIR_RootConstrainSelectedInstOperands,
6440 /* 16533 */ // GIR_Coverage, 1426,
6441 /* 16533 */ GIR_EraseRootFromParent_Done,
6442 /* 16534 */ // Label 650: @16534
6443 /* 16534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 651*/ GIMT_Encode4(16615), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1427 //
6444 /* 16541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6445 /* 16545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6446 /* 16549 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6447 /* 16553 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6448 /* 16557 */ // MIs[1] Operand 1
6449 /* 16557 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
6450 /* 16562 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6451 /* 16567 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6452 /* 16572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6453 /* 16574 */ // (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)
6454 /* 16574 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6455 /* 16577 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
6456 /* 16581 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6457 /* 16586 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6458 /* 16590 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6459 /* 16594 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6460 /* 16596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6461 /* 16599 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6462 /* 16602 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6463 /* 16608 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6464 /* 16610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6465 /* 16613 */ GIR_RootConstrainSelectedInstOperands,
6466 /* 16614 */ // GIR_Coverage, 1427,
6467 /* 16614 */ GIR_EraseRootFromParent_Done,
6468 /* 16615 */ // Label 651: @16615
6469 /* 16615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 652*/ GIMT_Encode4(16696), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1432 //
6470 /* 16622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6471 /* 16626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6472 /* 16630 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6473 /* 16634 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6474 /* 16638 */ // MIs[1] Operand 1
6475 /* 16638 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6476 /* 16643 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6477 /* 16648 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6478 /* 16653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6479 /* 16655 */ // (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)
6480 /* 16655 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6481 /* 16658 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
6482 /* 16662 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6483 /* 16667 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6484 /* 16671 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6485 /* 16675 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6486 /* 16677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6487 /* 16680 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6488 /* 16683 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6489 /* 16689 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6490 /* 16691 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6491 /* 16694 */ GIR_RootConstrainSelectedInstOperands,
6492 /* 16695 */ // GIR_Coverage, 1432,
6493 /* 16695 */ GIR_EraseRootFromParent_Done,
6494 /* 16696 */ // Label 652: @16696
6495 /* 16696 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 653*/ GIMT_Encode4(16777), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1433 //
6496 /* 16703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6497 /* 16707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6498 /* 16711 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6499 /* 16715 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6500 /* 16719 */ // MIs[1] Operand 1
6501 /* 16719 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
6502 /* 16724 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6503 /* 16729 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6504 /* 16734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6505 /* 16736 */ // (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)
6506 /* 16736 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6507 /* 16739 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
6508 /* 16743 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6509 /* 16748 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6510 /* 16752 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6511 /* 16756 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6512 /* 16758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6513 /* 16761 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6514 /* 16764 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6515 /* 16770 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6516 /* 16772 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6517 /* 16775 */ GIR_RootConstrainSelectedInstOperands,
6518 /* 16776 */ // GIR_Coverage, 1433,
6519 /* 16776 */ GIR_EraseRootFromParent_Done,
6520 /* 16777 */ // Label 653: @16777
6521 /* 16777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 654*/ GIMT_Encode4(16858), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1656 //
6522 /* 16784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6523 /* 16788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6524 /* 16792 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6525 /* 16796 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6526 /* 16800 */ // MIs[1] Operand 1
6527 /* 16800 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6528 /* 16805 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6529 /* 16810 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6530 /* 16815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6531 /* 16817 */ // (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)
6532 /* 16817 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6533 /* 16820 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
6534 /* 16824 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6535 /* 16829 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6536 /* 16833 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6537 /* 16837 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6538 /* 16839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6539 /* 16842 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6540 /* 16845 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6541 /* 16851 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6542 /* 16853 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6543 /* 16856 */ GIR_RootConstrainSelectedInstOperands,
6544 /* 16857 */ // GIR_Coverage, 1656,
6545 /* 16857 */ GIR_EraseRootFromParent_Done,
6546 /* 16858 */ // Label 654: @16858
6547 /* 16858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 655*/ GIMT_Encode4(16939), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1657 //
6548 /* 16865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6549 /* 16869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6550 /* 16873 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6551 /* 16877 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6552 /* 16881 */ // MIs[1] Operand 1
6553 /* 16881 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
6554 /* 16886 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6555 /* 16891 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6556 /* 16896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6557 /* 16898 */ // (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)
6558 /* 16898 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6559 /* 16901 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
6560 /* 16905 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6561 /* 16910 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6562 /* 16914 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6563 /* 16918 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6564 /* 16920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6565 /* 16923 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6566 /* 16926 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6567 /* 16932 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6568 /* 16934 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6569 /* 16937 */ GIR_RootConstrainSelectedInstOperands,
6570 /* 16938 */ // GIR_Coverage, 1657,
6571 /* 16938 */ GIR_EraseRootFromParent_Done,
6572 /* 16939 */ // Label 655: @16939
6573 /* 16939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 656*/ GIMT_Encode4(17020), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1662 //
6574 /* 16946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6575 /* 16950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6576 /* 16954 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6577 /* 16958 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6578 /* 16962 */ // MIs[1] Operand 1
6579 /* 16962 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6580 /* 16967 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6581 /* 16972 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6582 /* 16977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6583 /* 16979 */ // (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)
6584 /* 16979 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6585 /* 16982 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
6586 /* 16986 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6587 /* 16991 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6588 /* 16995 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6589 /* 16999 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6590 /* 17001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6591 /* 17004 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6592 /* 17007 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6593 /* 17013 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6594 /* 17015 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6595 /* 17018 */ GIR_RootConstrainSelectedInstOperands,
6596 /* 17019 */ // GIR_Coverage, 1662,
6597 /* 17019 */ GIR_EraseRootFromParent_Done,
6598 /* 17020 */ // Label 656: @17020
6599 /* 17020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 657*/ GIMT_Encode4(17101), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1663 //
6600 /* 17027 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6601 /* 17031 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6602 /* 17035 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6603 /* 17039 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6604 /* 17043 */ // MIs[1] Operand 1
6605 /* 17043 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
6606 /* 17048 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6607 /* 17053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6608 /* 17058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6609 /* 17060 */ // (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)
6610 /* 17060 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6611 /* 17063 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
6612 /* 17067 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6613 /* 17072 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
6614 /* 17076 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
6615 /* 17080 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6616 /* 17082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ),
6617 /* 17085 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6618 /* 17088 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
6619 /* 17094 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
6620 /* 17096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6621 /* 17099 */ GIR_RootConstrainSelectedInstOperands,
6622 /* 17100 */ // GIR_Coverage, 1663,
6623 /* 17100 */ GIR_EraseRootFromParent_Done,
6624 /* 17101 */ // Label 657: @17101
6625 /* 17101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 658*/ GIMT_Encode4(17159), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1904 //
6626 /* 17108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6627 /* 17112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6628 /* 17116 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6629 /* 17120 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6630 /* 17124 */ // MIs[1] Operand 1
6631 /* 17124 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6632 /* 17129 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6633 /* 17134 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6634 /* 17139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6635 /* 17141 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTC GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6636 /* 17141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTC),
6637 /* 17144 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6638 /* 17148 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6639 /* 17152 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6640 /* 17154 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6641 /* 17157 */ GIR_RootConstrainSelectedInstOperands,
6642 /* 17158 */ // GIR_Coverage, 1904,
6643 /* 17158 */ GIR_EraseRootFromParent_Done,
6644 /* 17159 */ // Label 658: @17159
6645 /* 17159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 659*/ GIMT_Encode4(17217), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1905 //
6646 /* 17166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6647 /* 17170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6648 /* 17174 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6649 /* 17178 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6650 /* 17182 */ // MIs[1] Operand 1
6651 /* 17182 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6652 /* 17187 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6653 /* 17192 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6654 /* 17197 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6655 /* 17199 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEC GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6656 /* 17199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEC),
6657 /* 17202 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6658 /* 17206 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6659 /* 17210 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6660 /* 17212 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6661 /* 17215 */ GIR_RootConstrainSelectedInstOperands,
6662 /* 17216 */ // GIR_Coverage, 1905,
6663 /* 17216 */ GIR_EraseRootFromParent_Done,
6664 /* 17217 */ // Label 659: @17217
6665 /* 17217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 660*/ GIMT_Encode4(17275), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1906 //
6666 /* 17224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6667 /* 17228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6668 /* 17232 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6669 /* 17236 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6670 /* 17240 */ // MIs[1] Operand 1
6671 /* 17240 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6672 /* 17245 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6673 /* 17250 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6674 /* 17255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6675 /* 17257 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTC GPR32:{ *:[i32] }:$rt, GPR32:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6676 /* 17257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTC),
6677 /* 17260 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6678 /* 17264 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6679 /* 17268 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6680 /* 17270 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6681 /* 17273 */ GIR_RootConstrainSelectedInstOperands,
6682 /* 17274 */ // GIR_Coverage, 1906,
6683 /* 17274 */ GIR_EraseRootFromParent_Done,
6684 /* 17275 */ // Label 660: @17275
6685 /* 17275 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 661*/ GIMT_Encode4(17333), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1907 //
6686 /* 17282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6687 /* 17286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6688 /* 17290 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6689 /* 17294 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6690 /* 17298 */ // MIs[1] Operand 1
6691 /* 17298 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6692 /* 17303 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6693 /* 17308 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6694 /* 17313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6695 /* 17315 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEC GPR32:{ *:[i32] }:$rt, GPR32:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6696 /* 17315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEC),
6697 /* 17318 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6698 /* 17322 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6699 /* 17326 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6700 /* 17328 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6701 /* 17331 */ GIR_RootConstrainSelectedInstOperands,
6702 /* 17332 */ // GIR_Coverage, 1907,
6703 /* 17332 */ GIR_EraseRootFromParent_Done,
6704 /* 17333 */ // Label 661: @17333
6705 /* 17333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 662*/ GIMT_Encode4(17391), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1908 //
6706 /* 17340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6707 /* 17344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6708 /* 17348 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6709 /* 17352 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6710 /* 17356 */ // MIs[1] Operand 1
6711 /* 17356 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
6712 /* 17361 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6713 /* 17366 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6714 /* 17371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6715 /* 17373 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETULT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTUC GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6716 /* 17373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTUC),
6717 /* 17376 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6718 /* 17380 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6719 /* 17384 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6720 /* 17386 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6721 /* 17389 */ GIR_RootConstrainSelectedInstOperands,
6722 /* 17390 */ // GIR_Coverage, 1908,
6723 /* 17390 */ GIR_EraseRootFromParent_Done,
6724 /* 17391 */ // Label 662: @17391
6725 /* 17391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 663*/ GIMT_Encode4(17449), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1909 //
6726 /* 17398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6727 /* 17402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6728 /* 17406 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6729 /* 17410 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6730 /* 17414 */ // MIs[1] Operand 1
6731 /* 17414 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
6732 /* 17419 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6733 /* 17424 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6734 /* 17429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6735 /* 17431 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEUC GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, (bb:{ *:[Other] }):$offset)
6736 /* 17431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEUC),
6737 /* 17434 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6738 /* 17438 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6739 /* 17442 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6740 /* 17444 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6741 /* 17447 */ GIR_RootConstrainSelectedInstOperands,
6742 /* 17448 */ // GIR_Coverage, 1909,
6743 /* 17448 */ GIR_EraseRootFromParent_Done,
6744 /* 17449 */ // Label 663: @17449
6745 /* 17449 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 664*/ GIMT_Encode4(17507), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1910 //
6746 /* 17456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6747 /* 17460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6748 /* 17464 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6749 /* 17468 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6750 /* 17472 */ // MIs[1] Operand 1
6751 /* 17472 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
6752 /* 17477 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6753 /* 17482 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6754 /* 17487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6755 /* 17489 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETUGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTUC GPR32:{ *:[i32] }:$rt, GPR32:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6756 /* 17489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTUC),
6757 /* 17492 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6758 /* 17496 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6759 /* 17500 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6760 /* 17502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6761 /* 17505 */ GIR_RootConstrainSelectedInstOperands,
6762 /* 17506 */ // GIR_Coverage, 1910,
6763 /* 17506 */ GIR_EraseRootFromParent_Done,
6764 /* 17507 */ // Label 664: @17507
6765 /* 17507 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 665*/ GIMT_Encode4(17565), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1911 //
6766 /* 17514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6767 /* 17518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6768 /* 17522 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6769 /* 17526 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6770 /* 17530 */ // MIs[1] Operand 1
6771 /* 17530 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
6772 /* 17535 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6773 /* 17540 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
6774 /* 17545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6775 /* 17547 */ // (brcond (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$rs, GPR32:{ *:[i32] }:$rt, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEUC GPR32:{ *:[i32] }:$rt, GPR32:{ *:[i32] }:$rs, (bb:{ *:[Other] }):$offset)
6776 /* 17547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEUC),
6777 /* 17550 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6778 /* 17554 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6779 /* 17558 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6780 /* 17560 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6781 /* 17563 */ GIR_RootConstrainSelectedInstOperands,
6782 /* 17564 */ // GIR_Coverage, 1911,
6783 /* 17564 */ GIR_EraseRootFromParent_Done,
6784 /* 17565 */ // Label 665: @17565
6785 /* 17565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 666*/ GIMT_Encode4(17623), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1947 //
6786 /* 17572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6787 /* 17576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6788 /* 17580 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6789 /* 17584 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6790 /* 17588 */ // MIs[1] Operand 1
6791 /* 17588 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
6792 /* 17593 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6793 /* 17598 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6794 /* 17603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6795 /* 17605 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTC64 GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
6796 /* 17605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTC64),
6797 /* 17608 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6798 /* 17612 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6799 /* 17616 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6800 /* 17618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6801 /* 17621 */ GIR_RootConstrainSelectedInstOperands,
6802 /* 17622 */ // GIR_Coverage, 1947,
6803 /* 17622 */ GIR_EraseRootFromParent_Done,
6804 /* 17623 */ // Label 666: @17623
6805 /* 17623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 667*/ GIMT_Encode4(17681), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1948 //
6806 /* 17630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6807 /* 17634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6808 /* 17638 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6809 /* 17642 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6810 /* 17646 */ // MIs[1] Operand 1
6811 /* 17646 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6812 /* 17651 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6813 /* 17656 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6814 /* 17661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6815 /* 17663 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEC64 GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
6816 /* 17663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEC64),
6817 /* 17666 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6818 /* 17670 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6819 /* 17674 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6820 /* 17676 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6821 /* 17679 */ GIR_RootConstrainSelectedInstOperands,
6822 /* 17680 */ // GIR_Coverage, 1948,
6823 /* 17680 */ GIR_EraseRootFromParent_Done,
6824 /* 17681 */ // Label 667: @17681
6825 /* 17681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 668*/ GIMT_Encode4(17739), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1949 //
6826 /* 17688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6827 /* 17692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6828 /* 17696 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6829 /* 17700 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6830 /* 17704 */ // MIs[1] Operand 1
6831 /* 17704 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6832 /* 17709 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6833 /* 17714 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6834 /* 17719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6835 /* 17721 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTC64 GPR64:{ *:[i64] }:$rt, GPR64:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6836 /* 17721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTC64),
6837 /* 17724 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6838 /* 17728 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6839 /* 17732 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6840 /* 17734 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6841 /* 17737 */ GIR_RootConstrainSelectedInstOperands,
6842 /* 17738 */ // GIR_Coverage, 1949,
6843 /* 17738 */ GIR_EraseRootFromParent_Done,
6844 /* 17739 */ // Label 668: @17739
6845 /* 17739 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 669*/ GIMT_Encode4(17797), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1950 //
6846 /* 17746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6847 /* 17750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6848 /* 17754 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6849 /* 17758 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6850 /* 17762 */ // MIs[1] Operand 1
6851 /* 17762 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
6852 /* 17767 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6853 /* 17772 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6854 /* 17777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6855 /* 17779 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEC64 GPR64:{ *:[i64] }:$rt, GPR64:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6856 /* 17779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEC64),
6857 /* 17782 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6858 /* 17786 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6859 /* 17790 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6860 /* 17792 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6861 /* 17795 */ GIR_RootConstrainSelectedInstOperands,
6862 /* 17796 */ // GIR_Coverage, 1950,
6863 /* 17796 */ GIR_EraseRootFromParent_Done,
6864 /* 17797 */ // Label 669: @17797
6865 /* 17797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 670*/ GIMT_Encode4(17855), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1951 //
6866 /* 17804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6867 /* 17808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6868 /* 17812 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6869 /* 17816 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6870 /* 17820 */ // MIs[1] Operand 1
6871 /* 17820 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
6872 /* 17825 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6873 /* 17830 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6874 /* 17835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6875 /* 17837 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETULT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTUC64 GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
6876 /* 17837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTUC64),
6877 /* 17840 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6878 /* 17844 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6879 /* 17848 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6880 /* 17850 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6881 /* 17853 */ GIR_RootConstrainSelectedInstOperands,
6882 /* 17854 */ // GIR_Coverage, 1951,
6883 /* 17854 */ GIR_EraseRootFromParent_Done,
6884 /* 17855 */ // Label 670: @17855
6885 /* 17855 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 671*/ GIMT_Encode4(17913), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1952 //
6886 /* 17862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6887 /* 17866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6888 /* 17870 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6889 /* 17874 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6890 /* 17878 */ // MIs[1] Operand 1
6891 /* 17878 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
6892 /* 17883 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6893 /* 17888 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6894 /* 17893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6895 /* 17895 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEUC64 GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, (bb:{ *:[Other] }):$offset)
6896 /* 17895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEUC64),
6897 /* 17898 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6898 /* 17902 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6899 /* 17906 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6900 /* 17908 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6901 /* 17911 */ GIR_RootConstrainSelectedInstOperands,
6902 /* 17912 */ // GIR_Coverage, 1952,
6903 /* 17912 */ GIR_EraseRootFromParent_Done,
6904 /* 17913 */ // Label 671: @17913
6905 /* 17913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 672*/ GIMT_Encode4(17971), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1953 //
6906 /* 17920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6907 /* 17924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6908 /* 17928 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6909 /* 17932 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6910 /* 17936 */ // MIs[1] Operand 1
6911 /* 17936 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
6912 /* 17941 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6913 /* 17946 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6914 /* 17951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6915 /* 17953 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETUGT:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BLTUC64 GPR64:{ *:[i64] }:$rt, GPR64:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6916 /* 17953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BLTUC64),
6917 /* 17956 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6918 /* 17960 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6919 /* 17964 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6920 /* 17966 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6921 /* 17969 */ GIR_RootConstrainSelectedInstOperands,
6922 /* 17970 */ // GIR_Coverage, 1953,
6923 /* 17970 */ GIR_EraseRootFromParent_Done,
6924 /* 17971 */ // Label 672: @17971
6925 /* 17971 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 673*/ GIMT_Encode4(18029), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_UseCompactBranches), // Rule ID 1954 //
6926 /* 17978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6927 /* 17982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6928 /* 17986 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6929 /* 17990 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
6930 /* 17994 */ // MIs[1] Operand 1
6931 /* 17994 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
6932 /* 17999 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6933 /* 18004 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
6934 /* 18009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6935 /* 18011 */ // (brcond (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$rs, GPR64:{ *:[i64] }:$rt, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$offset) => (BGEUC64 GPR64:{ *:[i64] }:$rt, GPR64:{ *:[i64] }:$rs, (bb:{ *:[Other] }):$offset)
6936 /* 18011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BGEUC64),
6937 /* 18014 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
6938 /* 18018 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
6939 /* 18022 */ GIR_RootToRootCopy, /*OpIdx*/1, // offset
6940 /* 18024 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
6941 /* 18027 */ GIR_RootConstrainSelectedInstOperands,
6942 /* 18028 */ // GIR_Coverage, 1954,
6943 /* 18028 */ GIR_EraseRootFromParent_Done,
6944 /* 18029 */ // Label 673: @18029
6945 /* 18029 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 674*/ GIMT_Encode4(18084), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1984 //
6946 /* 18036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6947 /* 18040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6948 /* 18044 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6949 /* 18048 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6950 /* 18052 */ // MIs[1] Operand 1
6951 /* 18052 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
6952 /* 18057 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
6953 /* 18062 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
6954 /* 18067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6955 /* 18069 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BteqzT8CmpX16 CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, (bb:{ *:[Other] }):$imm16)
6956 /* 18069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BteqzT8CmpX16),
6957 /* 18072 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
6958 /* 18076 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
6959 /* 18080 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
6960 /* 18082 */ GIR_RootConstrainSelectedInstOperands,
6961 /* 18083 */ // GIR_Coverage, 1984,
6962 /* 18083 */ GIR_EraseRootFromParent_Done,
6963 /* 18084 */ // Label 674: @18084
6964 /* 18084 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 675*/ GIMT_Encode4(18139), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1987 //
6965 /* 18091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6966 /* 18095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6967 /* 18099 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6968 /* 18103 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6969 /* 18107 */ // MIs[1] Operand 1
6970 /* 18107 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
6971 /* 18112 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
6972 /* 18117 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
6973 /* 18122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6974 /* 18124 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BtnezT8SltX16 CPU16Regs:{ *:[i32] }:$ry, CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$imm16)
6975 /* 18124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BtnezT8SltX16),
6976 /* 18127 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
6977 /* 18131 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
6978 /* 18135 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
6979 /* 18137 */ GIR_RootConstrainSelectedInstOperands,
6980 /* 18138 */ // GIR_Coverage, 1987,
6981 /* 18138 */ GIR_EraseRootFromParent_Done,
6982 /* 18139 */ // Label 675: @18139
6983 /* 18139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 676*/ GIMT_Encode4(18194), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1988 //
6984 /* 18146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
6985 /* 18150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
6986 /* 18154 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6987 /* 18158 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
6988 /* 18162 */ // MIs[1] Operand 1
6989 /* 18162 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
6990 /* 18167 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
6991 /* 18172 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
6992 /* 18177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6993 /* 18179 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BteqzT8SltX16 CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, (bb:{ *:[Other] }):$imm16)
6994 /* 18179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BteqzT8SltX16),
6995 /* 18182 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
6996 /* 18186 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
6997 /* 18190 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
6998 /* 18192 */ GIR_RootConstrainSelectedInstOperands,
6999 /* 18193 */ // GIR_Coverage, 1988,
7000 /* 18193 */ GIR_EraseRootFromParent_Done,
7001 /* 18194 */ // Label 676: @18194
7002 /* 18194 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 677*/ GIMT_Encode4(18249), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1990 //
7003 /* 18201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7004 /* 18205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7005 /* 18209 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7006 /* 18213 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7007 /* 18217 */ // MIs[1] Operand 1
7008 /* 18217 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
7009 /* 18222 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7010 /* 18227 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7011 /* 18232 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7012 /* 18234 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BtnezT8SltX16 CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, (bb:{ *:[Other] }):$imm16)
7013 /* 18234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BtnezT8SltX16),
7014 /* 18237 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7015 /* 18241 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7016 /* 18245 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7017 /* 18247 */ GIR_RootConstrainSelectedInstOperands,
7018 /* 18248 */ // GIR_Coverage, 1990,
7019 /* 18248 */ GIR_EraseRootFromParent_Done,
7020 /* 18249 */ // Label 677: @18249
7021 /* 18249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 678*/ GIMT_Encode4(18304), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1992 //
7022 /* 18256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7023 /* 18260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7024 /* 18264 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7025 /* 18268 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7026 /* 18272 */ // MIs[1] Operand 1
7027 /* 18272 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
7028 /* 18277 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7029 /* 18282 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7030 /* 18287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7031 /* 18289 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BteqzT8SltX16 CPU16Regs:{ *:[i32] }:$ry, CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$imm16)
7032 /* 18289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BteqzT8SltX16),
7033 /* 18292 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7034 /* 18296 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7035 /* 18300 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7036 /* 18302 */ GIR_RootConstrainSelectedInstOperands,
7037 /* 18303 */ // GIR_Coverage, 1992,
7038 /* 18303 */ GIR_EraseRootFromParent_Done,
7039 /* 18304 */ // Label 678: @18304
7040 /* 18304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 679*/ GIMT_Encode4(18359), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1993 //
7041 /* 18311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7042 /* 18315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7043 /* 18319 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7044 /* 18323 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7045 /* 18327 */ // MIs[1] Operand 1
7046 /* 18327 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
7047 /* 18332 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7048 /* 18337 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7049 /* 18342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7050 /* 18344 */ // (brcond (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$imm16) => (BtnezT8CmpX16 CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, (bb:{ *:[Other] }):$imm16)
7051 /* 18344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BtnezT8CmpX16),
7052 /* 18347 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rx
7053 /* 18351 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // ry
7054 /* 18355 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm16
7055 /* 18357 */ GIR_RootConstrainSelectedInstOperands,
7056 /* 18358 */ // GIR_Coverage, 1993,
7057 /* 18358 */ GIR_EraseRootFromParent_Done,
7058 /* 18359 */ // Label 679: @18359
7059 /* 18359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 680*/ GIMT_Encode4(18440), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2330 //
7060 /* 18366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7061 /* 18370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7062 /* 18374 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7063 /* 18378 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7064 /* 18382 */ // MIs[1] Operand 1
7065 /* 18382 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
7066 /* 18387 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7067 /* 18392 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7068 /* 18397 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7069 /* 18399 */ // (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)
7070 /* 18399 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7071 /* 18402 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
7072 /* 18406 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7073 /* 18411 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7074 /* 18415 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7075 /* 18419 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7076 /* 18421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
7077 /* 18424 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7078 /* 18427 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7079 /* 18433 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7080 /* 18435 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7081 /* 18438 */ GIR_RootConstrainSelectedInstOperands,
7082 /* 18439 */ // GIR_Coverage, 2330,
7083 /* 18439 */ GIR_EraseRootFromParent_Done,
7084 /* 18440 */ // Label 680: @18440
7085 /* 18440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 681*/ GIMT_Encode4(18521), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2331 //
7086 /* 18447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7087 /* 18451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7088 /* 18455 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7089 /* 18459 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7090 /* 18463 */ // MIs[1] Operand 1
7091 /* 18463 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
7092 /* 18468 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7093 /* 18473 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7094 /* 18478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7095 /* 18480 */ // (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)
7096 /* 18480 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7097 /* 18483 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
7098 /* 18487 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7099 /* 18492 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7100 /* 18496 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7101 /* 18500 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7102 /* 18502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
7103 /* 18505 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7104 /* 18508 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7105 /* 18514 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7106 /* 18516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7107 /* 18519 */ GIR_RootConstrainSelectedInstOperands,
7108 /* 18520 */ // GIR_Coverage, 2331,
7109 /* 18520 */ GIR_EraseRootFromParent_Done,
7110 /* 18521 */ // Label 681: @18521
7111 /* 18521 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 682*/ GIMT_Encode4(18602), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2336 //
7112 /* 18528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7113 /* 18532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7114 /* 18536 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7115 /* 18540 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7116 /* 18544 */ // MIs[1] Operand 1
7117 /* 18544 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
7118 /* 18549 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7119 /* 18554 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7120 /* 18559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7121 /* 18561 */ // (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)
7122 /* 18561 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7123 /* 18564 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
7124 /* 18568 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7125 /* 18573 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7126 /* 18577 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7127 /* 18581 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7128 /* 18583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
7129 /* 18586 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7130 /* 18589 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7131 /* 18595 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7132 /* 18597 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7133 /* 18600 */ GIR_RootConstrainSelectedInstOperands,
7134 /* 18601 */ // GIR_Coverage, 2336,
7135 /* 18601 */ GIR_EraseRootFromParent_Done,
7136 /* 18602 */ // Label 682: @18602
7137 /* 18602 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 683*/ GIMT_Encode4(18683), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2337 //
7138 /* 18609 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7139 /* 18613 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7140 /* 18617 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7141 /* 18621 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7142 /* 18625 */ // MIs[1] Operand 1
7143 /* 18625 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
7144 /* 18630 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7145 /* 18635 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7146 /* 18640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7147 /* 18642 */ // (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)
7148 /* 18642 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7149 /* 18645 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
7150 /* 18649 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7151 /* 18654 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7152 /* 18658 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7153 /* 18662 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7154 /* 18664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQ_MM),
7155 /* 18667 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7156 /* 18670 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7157 /* 18676 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7158 /* 18678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7159 /* 18681 */ GIR_RootConstrainSelectedInstOperands,
7160 /* 18682 */ // GIR_Coverage, 2337,
7161 /* 18682 */ GIR_EraseRootFromParent_Done,
7162 /* 18683 */ // Label 683: @18683
7163 /* 18683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 684*/ GIMT_Encode4(18758), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2482 //
7164 /* 18690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7165 /* 18694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7166 /* 18698 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7167 /* 18702 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7168 /* 18706 */ // MIs[1] Operand 1
7169 /* 18706 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
7170 /* 18711 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7171 /* 18716 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7172 /* 18721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7173 /* 18723 */ // (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)
7174 /* 18723 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7175 /* 18726 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
7176 /* 18730 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7177 /* 18735 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7178 /* 18739 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7179 /* 18743 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7180 /* 18745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
7181 /* 18748 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7182 /* 18751 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7183 /* 18753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7184 /* 18756 */ GIR_RootConstrainSelectedInstOperands,
7185 /* 18757 */ // GIR_Coverage, 2482,
7186 /* 18757 */ GIR_EraseRootFromParent_Done,
7187 /* 18758 */ // Label 684: @18758
7188 /* 18758 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 685*/ GIMT_Encode4(18833), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2483 //
7189 /* 18765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7190 /* 18769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7191 /* 18773 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7192 /* 18777 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7193 /* 18781 */ // MIs[1] Operand 1
7194 /* 18781 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
7195 /* 18786 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7196 /* 18791 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7197 /* 18796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7198 /* 18798 */ // (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)
7199 /* 18798 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7200 /* 18801 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
7201 /* 18805 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7202 /* 18810 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7203 /* 18814 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7204 /* 18818 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7205 /* 18820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
7206 /* 18823 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7207 /* 18826 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7208 /* 18828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7209 /* 18831 */ GIR_RootConstrainSelectedInstOperands,
7210 /* 18832 */ // GIR_Coverage, 2483,
7211 /* 18832 */ GIR_EraseRootFromParent_Done,
7212 /* 18833 */ // Label 685: @18833
7213 /* 18833 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 686*/ GIMT_Encode4(18908), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2488 //
7214 /* 18840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7215 /* 18844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7216 /* 18848 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7217 /* 18852 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7218 /* 18856 */ // MIs[1] Operand 1
7219 /* 18856 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
7220 /* 18861 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7221 /* 18866 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7222 /* 18871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7223 /* 18873 */ // (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)
7224 /* 18873 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7225 /* 18876 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
7226 /* 18880 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7227 /* 18885 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7228 /* 18889 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7229 /* 18893 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7230 /* 18895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
7231 /* 18898 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7232 /* 18901 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7233 /* 18903 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7234 /* 18906 */ GIR_RootConstrainSelectedInstOperands,
7235 /* 18907 */ // GIR_Coverage, 2488,
7236 /* 18907 */ GIR_EraseRootFromParent_Done,
7237 /* 18908 */ // Label 686: @18908
7238 /* 18908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 687*/ GIMT_Encode4(18983), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2489 //
7239 /* 18915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
7240 /* 18919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
7241 /* 18923 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7242 /* 18927 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
7243 /* 18931 */ // MIs[1] Operand 1
7244 /* 18931 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
7245 /* 18936 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7246 /* 18941 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7247 /* 18946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7248 /* 18948 */ // (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)
7249 /* 18948 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7250 /* 18951 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
7251 /* 18955 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7252 /* 18960 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
7253 /* 18964 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
7254 /* 18968 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7255 /* 18970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BEQZC_MMR6),
7256 /* 18973 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7257 /* 18976 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7258 /* 18978 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7259 /* 18981 */ GIR_RootConstrainSelectedInstOperands,
7260 /* 18982 */ // GIR_Coverage, 2489,
7261 /* 18982 */ GIR_EraseRootFromParent_Done,
7262 /* 18983 */ // Label 687: @18983
7263 /* 18983 */ GIM_Reject,
7264 /* 18984 */ // Label 591: @18984
7265 /* 18984 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 688*/ GIMT_Encode4(19016), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1434 //
7266 /* 18991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7267 /* 18995 */ // MIs[0] dst
7268 /* 18995 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7269 /* 18998 */ // (brcond GPR32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) => (BNE GPR32:{ *:[i32] }:$cond, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7270 /* 18998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE),
7271 /* 19001 */ GIR_RootToRootCopy, /*OpIdx*/0, // cond
7272 /* 19003 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7273 /* 19009 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7274 /* 19011 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7275 /* 19014 */ GIR_RootConstrainSelectedInstOperands,
7276 /* 19015 */ // GIR_Coverage, 1434,
7277 /* 19015 */ GIR_EraseRootFromParent_Done,
7278 /* 19016 */ // Label 688: @19016
7279 /* 19016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 689*/ GIMT_Encode4(19037), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1996 //
7280 /* 19023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7281 /* 19027 */ // MIs[0] targ16
7282 /* 19027 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7283 /* 19030 */ // (brcond CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$targ16) => (BnezRxImm16 CPU16Regs:{ *:[i32] }:$rx, (bb:{ *:[Other] }):$targ16)
7284 /* 19030 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BnezRxImm16),
7285 /* 19035 */ GIR_RootConstrainSelectedInstOperands,
7286 /* 19036 */ // GIR_Coverage, 1996,
7287 /* 19036 */ GIR_Done,
7288 /* 19037 */ // Label 689: @19037
7289 /* 19037 */ GIM_Try, /*On fail goto*//*Label 690*/ GIMT_Encode4(19095),
7290 /* 19042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7291 /* 19046 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7292 /* 19049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 691*/ GIMT_Encode4(19074), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2338 //
7293 /* 19056 */ // (brcond GPR32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) => (BNE_MM GPR32:{ *:[i32] }:$cond, ZERO:{ *:[i32] }, (bb:{ *:[Other] }):$dst)
7294 /* 19056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE_MM),
7295 /* 19059 */ GIR_RootToRootCopy, /*OpIdx*/0, // cond
7296 /* 19061 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7297 /* 19067 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7298 /* 19069 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7299 /* 19072 */ GIR_RootConstrainSelectedInstOperands,
7300 /* 19073 */ // GIR_Coverage, 2338,
7301 /* 19073 */ GIR_EraseRootFromParent_Done,
7302 /* 19074 */ // Label 691: @19074
7303 /* 19074 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 692*/ GIMT_Encode4(19094), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2490 //
7304 /* 19081 */ // (brcond GPR32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) => (BNEZC_MMR6 GPR32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst)
7305 /* 19081 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BNEZC_MMR6),
7306 /* 19086 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7307 /* 19092 */ GIR_RootConstrainSelectedInstOperands,
7308 /* 19093 */ // GIR_Coverage, 2490,
7309 /* 19093 */ GIR_Done,
7310 /* 19094 */ // Label 692: @19094
7311 /* 19094 */ GIM_Reject,
7312 /* 19095 */ // Label 690: @19095
7313 /* 19095 */ GIM_Reject,
7314 /* 19096 */ // Label 589: @19096
7315 /* 19096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 693*/ GIMT_Encode4(19128), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1664 //
7316 /* 19103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7317 /* 19107 */ // MIs[0] dst
7318 /* 19107 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/1,
7319 /* 19110 */ // (brcond GPR64:{ *:[i64] }:$cond, (bb:{ *:[Other] }):$dst) => (BNE64 GPR64:{ *:[i64] }:$cond, ZERO_64:{ *:[i64] }, (bb:{ *:[Other] }):$dst)
7320 /* 19110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BNE64),
7321 /* 19113 */ GIR_RootToRootCopy, /*OpIdx*/0, // cond
7322 /* 19115 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
7323 /* 19121 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
7324 /* 19123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::AT*/0,
7325 /* 19126 */ GIR_RootConstrainSelectedInstOperands,
7326 /* 19127 */ // GIR_Coverage, 1664,
7327 /* 19127 */ GIR_EraseRootFromParent_Done,
7328 /* 19128 */ // Label 693: @19128
7329 /* 19128 */ GIM_Reject,
7330 /* 19129 */ // Label 590: @19129
7331 /* 19129 */ GIM_Reject,
7332 /* 19130 */ // Label 29: @19130
7333 /* 19130 */ GIM_Try, /*On fail goto*//*Label 694*/ GIMT_Encode4(19196),
7334 /* 19135 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/32,
7335 /* 19139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 695*/ GIMT_Encode4(19157), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1981 //
7336 /* 19146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
7337 /* 19150 */ // (brind CPU16Regs:{ *:[i32] }:$rs) => (JrcRx16 CPU16Regs:{ *:[i32] }:$rs)
7338 /* 19150 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::JrcRx16),
7339 /* 19155 */ GIR_RootConstrainSelectedInstOperands,
7340 /* 19156 */ // GIR_Coverage, 1981,
7341 /* 19156 */ GIR_Done,
7342 /* 19157 */ // Label 695: @19157
7343 /* 19157 */ GIM_Try, /*On fail goto*//*Label 696*/ GIMT_Encode4(19195),
7344 /* 19162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7345 /* 19166 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 697*/ GIMT_Encode4(19180), GIMT_Encode2(GIFBS_HasStdEnc_NoIndirectJumpGuards_NotInMicroMips_NotInMips16Mode_NotMips32r6_NotMips64r6), // Rule ID 103 //
7346 /* 19173 */ // (brind GPR32Opnd:{ *:[i32] }:$rs) => (PseudoIndirectBranch GPR32Opnd:{ *:[i32] }:$rs)
7347 /* 19173 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndirectBranch),
7348 /* 19178 */ GIR_RootConstrainSelectedInstOperands,
7349 /* 19179 */ // GIR_Coverage, 103,
7350 /* 19179 */ GIR_Done,
7351 /* 19180 */ // Label 697: @19180
7352 /* 19180 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 698*/ GIMT_Encode4(19194), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips_NotInMips16Mode_NotMips32r6_NotMips64r6_UseIndirectJumpsHazard), // Rule ID 125 //
7353 /* 19187 */ // (brind GPR32Opnd:{ *:[i32] }:$rs) => (PseudoIndirectHazardBranch GPR32Opnd:{ *:[i32] }:$rs)
7354 /* 19187 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndirectHazardBranch),
7355 /* 19192 */ GIR_RootConstrainSelectedInstOperands,
7356 /* 19193 */ // GIR_Coverage, 125,
7357 /* 19193 */ GIR_Done,
7358 /* 19194 */ // Label 698: @19194
7359 /* 19194 */ GIM_Reject,
7360 /* 19195 */ // Label 696: @19195
7361 /* 19195 */ GIM_Reject,
7362 /* 19196 */ // Label 694: @19196
7363 /* 19196 */ GIM_Try, /*On fail goto*//*Label 699*/ GIMT_Encode4(19238),
7364 /* 19201 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/64,
7365 /* 19205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7366 /* 19209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 700*/ GIMT_Encode4(19223), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NoIndirectJumpGuards_NotInMicroMips_NotInMips16Mode_NotMips32r6_NotMips64r6), // Rule ID 279 //
7367 /* 19216 */ // (brind GPR64Opnd:{ *:[i64] }:$rs) => (PseudoIndirectBranch64 GPR64Opnd:{ *:[i64] }:$rs)
7368 /* 19216 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndirectBranch64),
7369 /* 19221 */ GIR_RootConstrainSelectedInstOperands,
7370 /* 19222 */ // GIR_Coverage, 279,
7371 /* 19222 */ GIR_Done,
7372 /* 19223 */ // Label 700: @19223
7373 /* 19223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 701*/ GIMT_Encode4(19237), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_IsPTR64bit_NotInMicroMips_NotInMips16Mode_NotMips32r6_NotMips64r6_UseIndirectJumpsHazard), // Rule ID 281 //
7374 /* 19230 */ // (brind GPR64Opnd:{ *:[i64] }:$rs) => (PseudoIndirectHazardBranch64 GPR64Opnd:{ *:[i64] }:$rs)
7375 /* 19230 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndirectHazardBranch64),
7376 /* 19235 */ GIR_RootConstrainSelectedInstOperands,
7377 /* 19236 */ // GIR_Coverage, 281,
7378 /* 19236 */ GIR_Done,
7379 /* 19237 */ // Label 701: @19237
7380 /* 19237 */ GIM_Reject,
7381 /* 19238 */ // Label 699: @19238
7382 /* 19238 */ GIM_Try, /*On fail goto*//*Label 702*/ GIMT_Encode4(19280),
7383 /* 19243 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/32,
7384 /* 19247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7385 /* 19251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 703*/ GIMT_Encode4(19265), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NoIndirectJumpGuards_NotInMicroMips_NotInMips16Mode), // Rule ID 364 //
7386 /* 19258 */ // (brind GPR32Opnd:{ *:[i32] }:$rs) => (PseudoIndirectBranchR6 GPR32Opnd:{ *:[i32] }:$rs)
7387 /* 19258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndirectBranchR6),
7388 /* 19263 */ GIR_RootConstrainSelectedInstOperands,
7389 /* 19264 */ // GIR_Coverage, 364,
7390 /* 19264 */ GIR_Done,
7391 /* 19265 */ // Label 703: @19265
7392 /* 19265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 704*/ GIMT_Encode4(19279), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips_NotInMips16Mode_UseIndirectJumpsHazard), // Rule ID 366 //
7393 /* 19272 */ // (brind GPR32Opnd:{ *:[i32] }:$rs) => (PseudoIndrectHazardBranchR6 GPR32Opnd:{ *:[i32] }:$rs)
7394 /* 19272 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndrectHazardBranchR6),
7395 /* 19277 */ GIR_RootConstrainSelectedInstOperands,
7396 /* 19278 */ // GIR_Coverage, 366,
7397 /* 19278 */ GIR_Done,
7398 /* 19279 */ // Label 704: @19279
7399 /* 19279 */ GIM_Reject,
7400 /* 19280 */ // Label 702: @19280
7401 /* 19280 */ GIM_Try, /*On fail goto*//*Label 705*/ GIMT_Encode4(19322),
7402 /* 19285 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/64,
7403 /* 19289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
7404 /* 19293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 706*/ GIMT_Encode4(19307), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NoIndirectJumpGuards_NotInMicroMips_NotInMips16Mode), // Rule ID 377 //
7405 /* 19300 */ // (brind GPR64Opnd:{ *:[i64] }:$rs) => (PseudoIndirectBranch64R6 GPR64Opnd:{ *:[i64] }:$rs)
7406 /* 19300 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndirectBranch64R6),
7407 /* 19305 */ GIR_RootConstrainSelectedInstOperands,
7408 /* 19306 */ // GIR_Coverage, 377,
7409 /* 19306 */ GIR_Done,
7410 /* 19307 */ // Label 706: @19307
7411 /* 19307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 707*/ GIMT_Encode4(19321), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips_NotInMips16Mode_UseIndirectJumpsHazard), // Rule ID 379 //
7412 /* 19314 */ // (brind GPR64Opnd:{ *:[i64] }:$rs) => (PseudoIndrectHazardBranch64R6 GPR64Opnd:{ *:[i64] }:$rs)
7413 /* 19314 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndrectHazardBranch64R6),
7414 /* 19319 */ GIR_RootConstrainSelectedInstOperands,
7415 /* 19320 */ // GIR_Coverage, 379,
7416 /* 19320 */ GIR_Done,
7417 /* 19321 */ // Label 707: @19321
7418 /* 19321 */ GIM_Reject,
7419 /* 19322 */ // Label 705: @19322
7420 /* 19322 */ GIM_Try, /*On fail goto*//*Label 708*/ GIMT_Encode4(19364),
7421 /* 19327 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/32,
7422 /* 19331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7423 /* 19335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 709*/ GIMT_Encode4(19349), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 1148 //
7424 /* 19342 */ // (brind GPR32Opnd:{ *:[i32] }:$rs) => (PseudoIndirectBranch_MM GPR32Opnd:{ *:[i32] }:$rs)
7425 /* 19342 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndirectBranch_MM),
7426 /* 19347 */ GIR_RootConstrainSelectedInstOperands,
7427 /* 19348 */ // GIR_Coverage, 1148,
7428 /* 19348 */ GIR_Done,
7429 /* 19349 */ // Label 709: @19349
7430 /* 19349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 710*/ GIMT_Encode4(19363), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1244 //
7431 /* 19356 */ // (brind GPR32Opnd:{ *:[i32] }:$rs) => (PseudoIndirectBranch_MMR6 GPR32Opnd:{ *:[i32] }:$rs)
7432 /* 19356 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoIndirectBranch_MMR6),
7433 /* 19361 */ GIR_RootConstrainSelectedInstOperands,
7434 /* 19362 */ // GIR_Coverage, 1244,
7435 /* 19362 */ GIR_Done,
7436 /* 19363 */ // Label 710: @19363
7437 /* 19363 */ GIM_Reject,
7438 /* 19364 */ // Label 708: @19364
7439 /* 19364 */ GIM_Reject,
7440 /* 19365 */ // Label 30: @19365
7441 /* 19365 */ GIM_Try, /*On fail goto*//*Label 711*/ GIMT_Encode4(21299),
7442 /* 19370 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
7443 /* 19373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 712*/ GIMT_Encode4(19419), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 456 //
7444 /* 19380 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_qb),
7445 /* 19385 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
7446 /* 19388 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7447 /* 19391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7448 /* 19395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7449 /* 19399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7450 /* 19403 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt8),
7451 /* 19407 */ // MIs[1] Operand 1
7452 /* 19407 */ // No operand predicates
7453 /* 19407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7454 /* 19409 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8524:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immZExt8>>:$imm) => (REPL_QB:{ *:[v4i8] } (imm:{ *:[i32] }):$imm)
7455 /* 19409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPL_QB),
7456 /* 19412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7457 /* 19414 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
7458 /* 19417 */ GIR_RootConstrainSelectedInstOperands,
7459 /* 19418 */ // GIR_Coverage, 456,
7460 /* 19418 */ GIR_EraseRootFromParent_Done,
7461 /* 19419 */ // Label 712: @19419
7462 /* 19419 */ GIM_Try, /*On fail goto*//*Label 713*/ GIMT_Encode4(19502),
7463 /* 19424 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_ph),
7464 /* 19429 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7465 /* 19432 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7466 /* 19435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7467 /* 19439 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 714*/ GIMT_Encode4(19470), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 457 //
7468 /* 19446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7469 /* 19450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7470 /* 19454 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immSExt10),
7471 /* 19458 */ // MIs[1] Operand 1
7472 /* 19458 */ // No operand predicates
7473 /* 19458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7474 /* 19460 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8523:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immSExt10>>:$imm) => (REPL_PH:{ *:[v2i16] } (imm:{ *:[i32] }):$imm)
7475 /* 19460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPL_PH),
7476 /* 19463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7477 /* 19465 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
7478 /* 19468 */ GIR_RootConstrainSelectedInstOperands,
7479 /* 19469 */ // GIR_Coverage, 457,
7480 /* 19469 */ GIR_EraseRootFromParent_Done,
7481 /* 19470 */ // Label 714: @19470
7482 /* 19470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 715*/ GIMT_Encode4(19501), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1310 //
7483 /* 19477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7484 /* 19481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7485 /* 19485 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immSExt10),
7486 /* 19489 */ // MIs[1] Operand 1
7487 /* 19489 */ // No operand predicates
7488 /* 19489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7489 /* 19491 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8523:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immSExt10>>:$imm) => (REPL_PH_MM:{ *:[v2i16] } (imm:{ *:[i32] }):$imm)
7490 /* 19491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPL_PH_MM),
7491 /* 19494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7492 /* 19496 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
7493 /* 19499 */ GIR_RootConstrainSelectedInstOperands,
7494 /* 19500 */ // GIR_Coverage, 1310,
7495 /* 19500 */ GIR_EraseRootFromParent_Done,
7496 /* 19501 */ // Label 715: @19501
7497 /* 19501 */ GIM_Reject,
7498 /* 19502 */ // Label 713: @19502
7499 /* 19502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 716*/ GIMT_Encode4(19548), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1311 //
7500 /* 19509 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_qb),
7501 /* 19514 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
7502 /* 19517 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7503 /* 19520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7504 /* 19524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7505 /* 19528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7506 /* 19532 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt8),
7507 /* 19536 */ // MIs[1] Operand 1
7508 /* 19536 */ // No operand predicates
7509 /* 19536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7510 /* 19538 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8524:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immZExt8>>:$imm) => (REPL_QB_MM:{ *:[v4i8] } (imm:{ *:[i32] }):$imm)
7511 /* 19538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPL_QB_MM),
7512 /* 19541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
7513 /* 19543 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
7514 /* 19546 */ GIR_RootConstrainSelectedInstOperands,
7515 /* 19547 */ // GIR_Coverage, 1311,
7516 /* 19547 */ GIR_EraseRootFromParent_Done,
7517 /* 19548 */ // Label 716: @19548
7518 /* 19548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 717*/ GIMT_Encode4(19583), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 390 //
7519 /* 19555 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_raddu_w_qb),
7520 /* 19560 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
7521 /* 19563 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7522 /* 19566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7523 /* 19570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7524 /* 19574 */ // (intrinsic_wo_chain:{ *:[i32] } 8521:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (RADDU_W_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs)
7525 /* 19574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::RADDU_W_QB),
7526 /* 19577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7527 /* 19579 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
7528 /* 19581 */ GIR_RootConstrainSelectedInstOperands,
7529 /* 19582 */ // GIR_Coverage, 390,
7530 /* 19582 */ GIR_EraseRootFromParent_Done,
7531 /* 19583 */ // Label 717: @19583
7532 /* 19583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 718*/ GIMT_Encode4(19618), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 397 //
7533 /* 19590 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceq_w_phl),
7534 /* 19595 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
7535 /* 19598 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
7536 /* 19601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7537 /* 19605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7538 /* 19609 */ // (intrinsic_wo_chain:{ *:[i32] } 8503:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECEQ_W_PHL:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rt)
7539 /* 19609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQ_W_PHL),
7540 /* 19612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7541 /* 19614 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7542 /* 19616 */ GIR_RootConstrainSelectedInstOperands,
7543 /* 19617 */ // GIR_Coverage, 397,
7544 /* 19617 */ GIR_EraseRootFromParent_Done,
7545 /* 19618 */ // Label 718: @19618
7546 /* 19618 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 719*/ GIMT_Encode4(19653), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 398 //
7547 /* 19625 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceq_w_phr),
7548 /* 19630 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
7549 /* 19633 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
7550 /* 19636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7551 /* 19640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7552 /* 19644 */ // (intrinsic_wo_chain:{ *:[i32] } 8504:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECEQ_W_PHR:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rt)
7553 /* 19644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQ_W_PHR),
7554 /* 19647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7555 /* 19649 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7556 /* 19651 */ GIR_RootConstrainSelectedInstOperands,
7557 /* 19652 */ // GIR_Coverage, 398,
7558 /* 19652 */ GIR_EraseRootFromParent_Done,
7559 /* 19653 */ // Label 719: @19653
7560 /* 19653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 720*/ GIMT_Encode4(19688), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 399 //
7561 /* 19660 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbl),
7562 /* 19665 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7563 /* 19668 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7564 /* 19671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7565 /* 19675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7566 /* 19679 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8505:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEQU_PH_QBL:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7567 /* 19679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBL),
7568 /* 19682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7569 /* 19684 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7570 /* 19686 */ GIR_RootConstrainSelectedInstOperands,
7571 /* 19687 */ // GIR_Coverage, 399,
7572 /* 19687 */ GIR_EraseRootFromParent_Done,
7573 /* 19688 */ // Label 720: @19688
7574 /* 19688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 721*/ GIMT_Encode4(19723), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 400 //
7575 /* 19695 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbr),
7576 /* 19700 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7577 /* 19703 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7578 /* 19706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7579 /* 19710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7580 /* 19714 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8507:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEQU_PH_QBR:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7581 /* 19714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBR),
7582 /* 19717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7583 /* 19719 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7584 /* 19721 */ GIR_RootConstrainSelectedInstOperands,
7585 /* 19722 */ // GIR_Coverage, 400,
7586 /* 19722 */ GIR_EraseRootFromParent_Done,
7587 /* 19723 */ // Label 721: @19723
7588 /* 19723 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 722*/ GIMT_Encode4(19758), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 401 //
7589 /* 19730 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbla),
7590 /* 19735 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7591 /* 19738 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7592 /* 19741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7593 /* 19745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7594 /* 19749 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8506:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEQU_PH_QBLA:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7595 /* 19749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBLA),
7596 /* 19752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7597 /* 19754 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7598 /* 19756 */ GIR_RootConstrainSelectedInstOperands,
7599 /* 19757 */ // GIR_Coverage, 401,
7600 /* 19757 */ GIR_EraseRootFromParent_Done,
7601 /* 19758 */ // Label 722: @19758
7602 /* 19758 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 723*/ GIMT_Encode4(19793), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 402 //
7603 /* 19765 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbra),
7604 /* 19770 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7605 /* 19773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7606 /* 19776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7607 /* 19780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7608 /* 19784 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8508:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEQU_PH_QBRA:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7609 /* 19784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBRA),
7610 /* 19787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7611 /* 19789 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7612 /* 19791 */ GIR_RootConstrainSelectedInstOperands,
7613 /* 19792 */ // GIR_Coverage, 402,
7614 /* 19792 */ GIR_EraseRootFromParent_Done,
7615 /* 19793 */ // Label 723: @19793
7616 /* 19793 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 724*/ GIMT_Encode4(19828), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 403 //
7617 /* 19800 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbl),
7618 /* 19805 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7619 /* 19808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7620 /* 19811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7621 /* 19815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7622 /* 19819 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8509:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEU_PH_QBL:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7623 /* 19819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBL),
7624 /* 19822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7625 /* 19824 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7626 /* 19826 */ GIR_RootConstrainSelectedInstOperands,
7627 /* 19827 */ // GIR_Coverage, 403,
7628 /* 19827 */ GIR_EraseRootFromParent_Done,
7629 /* 19828 */ // Label 724: @19828
7630 /* 19828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 725*/ GIMT_Encode4(19863), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 404 //
7631 /* 19835 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbr),
7632 /* 19840 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7633 /* 19843 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7634 /* 19846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7635 /* 19850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7636 /* 19854 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8511:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEU_PH_QBR:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7637 /* 19854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBR),
7638 /* 19857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7639 /* 19859 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7640 /* 19861 */ GIR_RootConstrainSelectedInstOperands,
7641 /* 19862 */ // GIR_Coverage, 404,
7642 /* 19862 */ GIR_EraseRootFromParent_Done,
7643 /* 19863 */ // Label 725: @19863
7644 /* 19863 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 726*/ GIMT_Encode4(19898), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 405 //
7645 /* 19870 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbla),
7646 /* 19875 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7647 /* 19878 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7648 /* 19881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7649 /* 19885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7650 /* 19889 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8510:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEU_PH_QBLA:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7651 /* 19889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBLA),
7652 /* 19892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7653 /* 19894 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7654 /* 19896 */ GIR_RootConstrainSelectedInstOperands,
7655 /* 19897 */ // GIR_Coverage, 405,
7656 /* 19897 */ GIR_EraseRootFromParent_Done,
7657 /* 19898 */ // Label 726: @19898
7658 /* 19898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 727*/ GIMT_Encode4(19933), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 406 //
7659 /* 19905 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbra),
7660 /* 19910 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7661 /* 19913 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
7662 /* 19916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7663 /* 19920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7664 /* 19924 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8512:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (PRECEU_PH_QBRA:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rt)
7665 /* 19924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBRA),
7666 /* 19927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7667 /* 19929 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7668 /* 19931 */ GIR_RootConstrainSelectedInstOperands,
7669 /* 19932 */ // GIR_Coverage, 406,
7670 /* 19932 */ GIR_EraseRootFromParent_Done,
7671 /* 19933 */ // Label 727: @19933
7672 /* 19933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 728*/ GIMT_Encode4(19968), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 454 //
7673 /* 19940 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_bitrev),
7674 /* 19945 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
7675 /* 19948 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7676 /* 19951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7677 /* 19955 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7678 /* 19959 */ // (intrinsic_wo_chain:{ *:[i32] } 8077:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt) => (BITREV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
7679 /* 19959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BITREV),
7680 /* 19962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7681 /* 19964 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7682 /* 19966 */ GIR_RootConstrainSelectedInstOperands,
7683 /* 19967 */ // GIR_Coverage, 454,
7684 /* 19967 */ GIR_EraseRootFromParent_Done,
7685 /* 19968 */ // Label 728: @19968
7686 /* 19968 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 729*/ GIMT_Encode4(20003), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 458 //
7687 /* 19975 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_qb),
7688 /* 19980 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
7689 /* 19983 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7690 /* 19986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7691 /* 19990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7692 /* 19994 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8524:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt) => (REPLV_QB:{ *:[v4i8] } GPR32Opnd:{ *:[i32] }:$rt)
7693 /* 19994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPLV_QB),
7694 /* 19997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7695 /* 19999 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7696 /* 20001 */ GIR_RootConstrainSelectedInstOperands,
7697 /* 20002 */ // GIR_Coverage, 458,
7698 /* 20002 */ GIR_EraseRootFromParent_Done,
7699 /* 20003 */ // Label 729: @20003
7700 /* 20003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 730*/ GIMT_Encode4(20038), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 459 //
7701 /* 20010 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_ph),
7702 /* 20015 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
7703 /* 20018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7704 /* 20021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
7705 /* 20025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
7706 /* 20029 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8523:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt) => (REPLV_PH:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rt)
7707 /* 20029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPLV_PH),
7708 /* 20032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
7709 /* 20034 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
7710 /* 20036 */ GIR_RootConstrainSelectedInstOperands,
7711 /* 20037 */ // GIR_Coverage, 459,
7712 /* 20037 */ GIR_EraseRootFromParent_Done,
7713 /* 20038 */ // Label 730: @20038
7714 /* 20038 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 731*/ GIMT_Encode4(20073), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 708 //
7715 /* 20045 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fclass_w),
7716 /* 20050 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7717 /* 20053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7718 /* 20056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7719 /* 20060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7720 /* 20064 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8229:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FCLASS_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
7721 /* 20064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FCLASS_W),
7722 /* 20067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7723 /* 20069 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7724 /* 20071 */ GIR_RootConstrainSelectedInstOperands,
7725 /* 20072 */ // GIR_Coverage, 708,
7726 /* 20072 */ GIR_EraseRootFromParent_Done,
7727 /* 20073 */ // Label 731: @20073
7728 /* 20073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 732*/ GIMT_Encode4(20108), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 709 //
7729 /* 20080 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fclass_d),
7730 /* 20085 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7731 /* 20088 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
7732 /* 20091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7733 /* 20095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7734 /* 20099 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8228:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FCLASS_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
7735 /* 20099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FCLASS_D),
7736 /* 20102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7737 /* 20104 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7738 /* 20106 */ GIR_RootConstrainSelectedInstOperands,
7739 /* 20107 */ // GIR_Coverage, 709,
7740 /* 20107 */ GIR_EraseRootFromParent_Done,
7741 /* 20108 */ // Label 732: @20108
7742 /* 20108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 733*/ GIMT_Encode4(20143), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 732 //
7743 /* 20115 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexupl_w),
7744 /* 20120 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7745 /* 20123 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
7746 /* 20126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7747 /* 20130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
7748 /* 20134 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8255:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8f16] }:$ws) => (FEXUPL_W:{ *:[v4f32] } MSA128HOpnd:{ *:[v8f16] }:$ws)
7749 /* 20134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXUPL_W),
7750 /* 20137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7751 /* 20139 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7752 /* 20141 */ GIR_RootConstrainSelectedInstOperands,
7753 /* 20142 */ // GIR_Coverage, 732,
7754 /* 20142 */ GIR_EraseRootFromParent_Done,
7755 /* 20143 */ // Label 733: @20143
7756 /* 20143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 734*/ GIMT_Encode4(20178), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 733 //
7757 /* 20150 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexupl_d),
7758 /* 20155 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7759 /* 20158 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7760 /* 20161 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7761 /* 20165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7762 /* 20169 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8254:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FEXUPL_D:{ *:[v2f64] } MSA128WOpnd:{ *:[v4f32] }:$ws)
7763 /* 20169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXUPL_D),
7764 /* 20172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7765 /* 20174 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7766 /* 20176 */ GIR_RootConstrainSelectedInstOperands,
7767 /* 20177 */ // GIR_Coverage, 733,
7768 /* 20177 */ GIR_EraseRootFromParent_Done,
7769 /* 20178 */ // Label 734: @20178
7770 /* 20178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 735*/ GIMT_Encode4(20213), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 734 //
7771 /* 20185 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexupr_w),
7772 /* 20190 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7773 /* 20193 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
7774 /* 20196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7775 /* 20200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
7776 /* 20204 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8257:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8f16] }:$ws) => (FEXUPR_W:{ *:[v4f32] } MSA128HOpnd:{ *:[v8f16] }:$ws)
7777 /* 20204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXUPR_W),
7778 /* 20207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7779 /* 20209 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7780 /* 20211 */ GIR_RootConstrainSelectedInstOperands,
7781 /* 20212 */ // GIR_Coverage, 734,
7782 /* 20212 */ GIR_EraseRootFromParent_Done,
7783 /* 20213 */ // Label 735: @20213
7784 /* 20213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 736*/ GIMT_Encode4(20248), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 735 //
7785 /* 20220 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexupr_d),
7786 /* 20225 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7787 /* 20228 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7788 /* 20231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7789 /* 20235 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7790 /* 20239 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8256:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FEXUPR_D:{ *:[v2f64] } MSA128WOpnd:{ *:[v4f32] }:$ws)
7791 /* 20239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXUPR_D),
7792 /* 20242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7793 /* 20244 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7794 /* 20246 */ GIR_RootConstrainSelectedInstOperands,
7795 /* 20247 */ // GIR_Coverage, 735,
7796 /* 20247 */ GIR_EraseRootFromParent_Done,
7797 /* 20248 */ // Label 736: @20248
7798 /* 20248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 737*/ GIMT_Encode4(20283), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 740 //
7799 /* 20255 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ffql_w),
7800 /* 20260 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7801 /* 20263 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
7802 /* 20266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7803 /* 20270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
7804 /* 20274 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8263:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws) => (FFQL_W:{ *:[v4f32] } MSA128HOpnd:{ *:[v8i16] }:$ws)
7805 /* 20274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FFQL_W),
7806 /* 20277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7807 /* 20279 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7808 /* 20281 */ GIR_RootConstrainSelectedInstOperands,
7809 /* 20282 */ // GIR_Coverage, 740,
7810 /* 20282 */ GIR_EraseRootFromParent_Done,
7811 /* 20283 */ // Label 737: @20283
7812 /* 20283 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 738*/ GIMT_Encode4(20318), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 741 //
7813 /* 20290 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ffql_d),
7814 /* 20295 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7815 /* 20298 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7816 /* 20301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7817 /* 20305 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7818 /* 20309 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8262:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws) => (FFQL_D:{ *:[v2f64] } MSA128WOpnd:{ *:[v4i32] }:$ws)
7819 /* 20309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FFQL_D),
7820 /* 20312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7821 /* 20314 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7822 /* 20316 */ GIR_RootConstrainSelectedInstOperands,
7823 /* 20317 */ // GIR_Coverage, 741,
7824 /* 20317 */ GIR_EraseRootFromParent_Done,
7825 /* 20318 */ // Label 738: @20318
7826 /* 20318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 739*/ GIMT_Encode4(20353), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 742 //
7827 /* 20325 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ffqr_w),
7828 /* 20330 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7829 /* 20333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
7830 /* 20336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7831 /* 20340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
7832 /* 20344 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8265:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws) => (FFQR_W:{ *:[v4f32] } MSA128HOpnd:{ *:[v8i16] }:$ws)
7833 /* 20344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FFQR_W),
7834 /* 20347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7835 /* 20349 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7836 /* 20351 */ GIR_RootConstrainSelectedInstOperands,
7837 /* 20352 */ // GIR_Coverage, 742,
7838 /* 20352 */ GIR_EraseRootFromParent_Done,
7839 /* 20353 */ // Label 739: @20353
7840 /* 20353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 740*/ GIMT_Encode4(20388), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 743 //
7841 /* 20360 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ffqr_d),
7842 /* 20365 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7843 /* 20368 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7844 /* 20371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7845 /* 20375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7846 /* 20379 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8264:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws) => (FFQR_D:{ *:[v2f64] } MSA128WOpnd:{ *:[v4i32] }:$ws)
7847 /* 20379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FFQR_D),
7848 /* 20382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7849 /* 20384 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7850 /* 20386 */ GIR_RootConstrainSelectedInstOperands,
7851 /* 20387 */ // GIR_Coverage, 743,
7852 /* 20387 */ GIR_EraseRootFromParent_Done,
7853 /* 20388 */ // Label 740: @20388
7854 /* 20388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 741*/ GIMT_Encode4(20423), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 768 //
7855 /* 20395 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_frcp_w),
7856 /* 20400 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7857 /* 20403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7858 /* 20406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7859 /* 20410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7860 /* 20414 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8287:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FRCP_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
7861 /* 20414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FRCP_W),
7862 /* 20417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7863 /* 20419 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7864 /* 20421 */ GIR_RootConstrainSelectedInstOperands,
7865 /* 20422 */ // GIR_Coverage, 768,
7866 /* 20422 */ GIR_EraseRootFromParent_Done,
7867 /* 20423 */ // Label 741: @20423
7868 /* 20423 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 742*/ GIMT_Encode4(20458), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 769 //
7869 /* 20430 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_frcp_d),
7870 /* 20435 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7871 /* 20438 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
7872 /* 20441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7873 /* 20445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7874 /* 20449 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8286:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FRCP_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
7875 /* 20449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FRCP_D),
7876 /* 20452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7877 /* 20454 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7878 /* 20456 */ GIR_RootConstrainSelectedInstOperands,
7879 /* 20457 */ // GIR_Coverage, 769,
7880 /* 20457 */ GIR_EraseRootFromParent_Done,
7881 /* 20458 */ // Label 742: @20458
7882 /* 20458 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 743*/ GIMT_Encode4(20493), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 770 //
7883 /* 20465 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_frsqrt_w),
7884 /* 20470 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7885 /* 20473 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7886 /* 20476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7887 /* 20480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7888 /* 20484 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8291:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FRSQRT_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
7889 /* 20484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FRSQRT_W),
7890 /* 20487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7891 /* 20489 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7892 /* 20491 */ GIR_RootConstrainSelectedInstOperands,
7893 /* 20492 */ // GIR_Coverage, 770,
7894 /* 20492 */ GIR_EraseRootFromParent_Done,
7895 /* 20493 */ // Label 743: @20493
7896 /* 20493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 744*/ GIMT_Encode4(20528), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 771 //
7897 /* 20500 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_frsqrt_d),
7898 /* 20505 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7899 /* 20508 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
7900 /* 20511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7901 /* 20515 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7902 /* 20519 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8290:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FRSQRT_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
7903 /* 20519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FRSQRT_D),
7904 /* 20522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7905 /* 20524 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7906 /* 20526 */ GIR_RootConstrainSelectedInstOperands,
7907 /* 20527 */ // GIR_Coverage, 771,
7908 /* 20527 */ GIR_EraseRootFromParent_Done,
7909 /* 20528 */ // Label 744: @20528
7910 /* 20528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 745*/ GIMT_Encode4(20563), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 798 //
7911 /* 20535 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftint_s_w),
7912 /* 20540 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7913 /* 20543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7914 /* 20546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7915 /* 20550 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7916 /* 20554 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8319:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FTINT_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
7917 /* 20554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTINT_S_W),
7918 /* 20557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7919 /* 20559 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7920 /* 20561 */ GIR_RootConstrainSelectedInstOperands,
7921 /* 20562 */ // GIR_Coverage, 798,
7922 /* 20562 */ GIR_EraseRootFromParent_Done,
7923 /* 20563 */ // Label 745: @20563
7924 /* 20563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 746*/ GIMT_Encode4(20598), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 799 //
7925 /* 20570 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftint_s_d),
7926 /* 20575 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7927 /* 20578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
7928 /* 20581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7929 /* 20585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7930 /* 20589 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8318:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FTINT_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
7931 /* 20589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTINT_S_D),
7932 /* 20592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7933 /* 20594 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7934 /* 20596 */ GIR_RootConstrainSelectedInstOperands,
7935 /* 20597 */ // GIR_Coverage, 799,
7936 /* 20597 */ GIR_EraseRootFromParent_Done,
7937 /* 20598 */ // Label 746: @20598
7938 /* 20598 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 747*/ GIMT_Encode4(20633), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 800 //
7939 /* 20605 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftint_u_w),
7940 /* 20610 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7941 /* 20613 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7942 /* 20616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7943 /* 20620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7944 /* 20624 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8321:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws) => (FTINT_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
7945 /* 20624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTINT_U_W),
7946 /* 20627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7947 /* 20629 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7948 /* 20631 */ GIR_RootConstrainSelectedInstOperands,
7949 /* 20632 */ // GIR_Coverage, 800,
7950 /* 20632 */ GIR_EraseRootFromParent_Done,
7951 /* 20633 */ // Label 747: @20633
7952 /* 20633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 748*/ GIMT_Encode4(20668), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 801 //
7953 /* 20640 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftint_u_d),
7954 /* 20645 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
7955 /* 20648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
7956 /* 20651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7957 /* 20655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
7958 /* 20659 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8320:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws) => (FTINT_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
7959 /* 20659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTINT_U_D),
7960 /* 20662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7961 /* 20664 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7962 /* 20666 */ GIR_RootConstrainSelectedInstOperands,
7963 /* 20667 */ // GIR_Coverage, 801,
7964 /* 20667 */ GIR_EraseRootFromParent_Done,
7965 /* 20668 */ // Label 748: @20668
7966 /* 20668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 749*/ GIMT_Encode4(20703), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 936 //
7967 /* 20675 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_nloc_b),
7968 /* 20680 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
7969 /* 20683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
7970 /* 20686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
7971 /* 20690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
7972 /* 20694 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8476:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws) => (NLOC_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws)
7973 /* 20694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NLOC_B),
7974 /* 20697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7975 /* 20699 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7976 /* 20701 */ GIR_RootConstrainSelectedInstOperands,
7977 /* 20702 */ // GIR_Coverage, 936,
7978 /* 20702 */ GIR_EraseRootFromParent_Done,
7979 /* 20703 */ // Label 749: @20703
7980 /* 20703 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 750*/ GIMT_Encode4(20738), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 937 //
7981 /* 20710 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_nloc_h),
7982 /* 20715 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
7983 /* 20718 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
7984 /* 20721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
7985 /* 20725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
7986 /* 20729 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8478:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws) => (NLOC_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws)
7987 /* 20729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NLOC_H),
7988 /* 20732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
7989 /* 20734 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
7990 /* 20736 */ GIR_RootConstrainSelectedInstOperands,
7991 /* 20737 */ // GIR_Coverage, 937,
7992 /* 20737 */ GIR_EraseRootFromParent_Done,
7993 /* 20738 */ // Label 750: @20738
7994 /* 20738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 751*/ GIMT_Encode4(20773), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 938 //
7995 /* 20745 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_nloc_w),
7996 /* 20750 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
7997 /* 20753 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
7998 /* 20756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
7999 /* 20760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8000 /* 20764 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8479:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws) => (NLOC_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
8001 /* 20764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NLOC_W),
8002 /* 20767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8003 /* 20769 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8004 /* 20771 */ GIR_RootConstrainSelectedInstOperands,
8005 /* 20772 */ // GIR_Coverage, 938,
8006 /* 20772 */ GIR_EraseRootFromParent_Done,
8007 /* 20773 */ // Label 751: @20773
8008 /* 20773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 752*/ GIMT_Encode4(20808), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 939 //
8009 /* 20780 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_nloc_d),
8010 /* 20785 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8011 /* 20788 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8012 /* 20791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8013 /* 20795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8014 /* 20799 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8477:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws) => (NLOC_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
8015 /* 20799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::NLOC_D),
8016 /* 20802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8017 /* 20804 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8018 /* 20806 */ GIR_RootConstrainSelectedInstOperands,
8019 /* 20807 */ // GIR_Coverage, 939,
8020 /* 20807 */ GIR_EraseRootFromParent_Done,
8021 /* 20808 */ // Label 752: @20808
8022 /* 20808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 753*/ GIMT_Encode4(20843), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1273 //
8023 /* 20815 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceq_w_phl),
8024 /* 20820 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8025 /* 20823 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8026 /* 20826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8027 /* 20830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8028 /* 20834 */ // (intrinsic_wo_chain:{ *:[i32] } 8503:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs) => (PRECEQ_W_PHL_MM:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs)
8029 /* 20834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQ_W_PHL_MM),
8030 /* 20837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8031 /* 20839 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8032 /* 20841 */ GIR_RootConstrainSelectedInstOperands,
8033 /* 20842 */ // GIR_Coverage, 1273,
8034 /* 20842 */ GIR_EraseRootFromParent_Done,
8035 /* 20843 */ // Label 753: @20843
8036 /* 20843 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 754*/ GIMT_Encode4(20878), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1274 //
8037 /* 20850 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceq_w_phr),
8038 /* 20855 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8039 /* 20858 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8040 /* 20861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8041 /* 20865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8042 /* 20869 */ // (intrinsic_wo_chain:{ *:[i32] } 8504:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs) => (PRECEQ_W_PHR_MM:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs)
8043 /* 20869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQ_W_PHR_MM),
8044 /* 20872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8045 /* 20874 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8046 /* 20876 */ GIR_RootConstrainSelectedInstOperands,
8047 /* 20877 */ // GIR_Coverage, 1274,
8048 /* 20877 */ GIR_EraseRootFromParent_Done,
8049 /* 20878 */ // Label 754: @20878
8050 /* 20878 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 755*/ GIMT_Encode4(20913), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1275 //
8051 /* 20885 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbl),
8052 /* 20890 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8053 /* 20893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8054 /* 20896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8055 /* 20900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8056 /* 20904 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8505:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEQU_PH_QBL_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8057 /* 20904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBL_MM),
8058 /* 20907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8059 /* 20909 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8060 /* 20911 */ GIR_RootConstrainSelectedInstOperands,
8061 /* 20912 */ // GIR_Coverage, 1275,
8062 /* 20912 */ GIR_EraseRootFromParent_Done,
8063 /* 20913 */ // Label 755: @20913
8064 /* 20913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 756*/ GIMT_Encode4(20948), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1276 //
8065 /* 20920 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbla),
8066 /* 20925 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8067 /* 20928 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8068 /* 20931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8069 /* 20935 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8070 /* 20939 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8506:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEQU_PH_QBLA_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8071 /* 20939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBLA_MM),
8072 /* 20942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8073 /* 20944 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8074 /* 20946 */ GIR_RootConstrainSelectedInstOperands,
8075 /* 20947 */ // GIR_Coverage, 1276,
8076 /* 20947 */ GIR_EraseRootFromParent_Done,
8077 /* 20948 */ // Label 756: @20948
8078 /* 20948 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 757*/ GIMT_Encode4(20983), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1277 //
8079 /* 20955 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbr),
8080 /* 20960 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8081 /* 20963 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8082 /* 20966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8083 /* 20970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8084 /* 20974 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8507:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEQU_PH_QBR_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8085 /* 20974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBR_MM),
8086 /* 20977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8087 /* 20979 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8088 /* 20981 */ GIR_RootConstrainSelectedInstOperands,
8089 /* 20982 */ // GIR_Coverage, 1277,
8090 /* 20982 */ GIR_EraseRootFromParent_Done,
8091 /* 20983 */ // Label 757: @20983
8092 /* 20983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 758*/ GIMT_Encode4(21018), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1278 //
8093 /* 20990 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbra),
8094 /* 20995 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8095 /* 20998 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8096 /* 21001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8097 /* 21005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8098 /* 21009 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8508:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEQU_PH_QBRA_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8099 /* 21009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEQU_PH_QBRA_MM),
8100 /* 21012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8101 /* 21014 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8102 /* 21016 */ GIR_RootConstrainSelectedInstOperands,
8103 /* 21017 */ // GIR_Coverage, 1278,
8104 /* 21017 */ GIR_EraseRootFromParent_Done,
8105 /* 21018 */ // Label 758: @21018
8106 /* 21018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 759*/ GIMT_Encode4(21053), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1279 //
8107 /* 21025 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbl),
8108 /* 21030 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8109 /* 21033 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8110 /* 21036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8111 /* 21040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8112 /* 21044 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8509:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEU_PH_QBL_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8113 /* 21044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBL_MM),
8114 /* 21047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8115 /* 21049 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8116 /* 21051 */ GIR_RootConstrainSelectedInstOperands,
8117 /* 21052 */ // GIR_Coverage, 1279,
8118 /* 21052 */ GIR_EraseRootFromParent_Done,
8119 /* 21053 */ // Label 759: @21053
8120 /* 21053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 760*/ GIMT_Encode4(21088), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1280 //
8121 /* 21060 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbla),
8122 /* 21065 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8123 /* 21068 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8124 /* 21071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8125 /* 21075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8126 /* 21079 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8510:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEU_PH_QBLA_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8127 /* 21079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBLA_MM),
8128 /* 21082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8129 /* 21084 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8130 /* 21086 */ GIR_RootConstrainSelectedInstOperands,
8131 /* 21087 */ // GIR_Coverage, 1280,
8132 /* 21087 */ GIR_EraseRootFromParent_Done,
8133 /* 21088 */ // Label 760: @21088
8134 /* 21088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 761*/ GIMT_Encode4(21123), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1281 //
8135 /* 21095 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbr),
8136 /* 21100 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8137 /* 21103 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8138 /* 21106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8139 /* 21110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8140 /* 21114 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8511:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEU_PH_QBR_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8141 /* 21114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBR_MM),
8142 /* 21117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8143 /* 21119 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8144 /* 21121 */ GIR_RootConstrainSelectedInstOperands,
8145 /* 21122 */ // GIR_Coverage, 1281,
8146 /* 21122 */ GIR_EraseRootFromParent_Done,
8147 /* 21123 */ // Label 761: @21123
8148 /* 21123 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 762*/ GIMT_Encode4(21158), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1282 //
8149 /* 21130 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbra),
8150 /* 21135 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8151 /* 21138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8152 /* 21141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8153 /* 21145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8154 /* 21149 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8512:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (PRECEU_PH_QBRA_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs)
8155 /* 21149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECEU_PH_QBRA_MM),
8156 /* 21152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8157 /* 21154 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8158 /* 21156 */ GIR_RootConstrainSelectedInstOperands,
8159 /* 21157 */ // GIR_Coverage, 1282,
8160 /* 21157 */ GIR_EraseRootFromParent_Done,
8161 /* 21158 */ // Label 762: @21158
8162 /* 21158 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 763*/ GIMT_Encode4(21193), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1308 //
8163 /* 21165 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_raddu_w_qb),
8164 /* 21170 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8165 /* 21173 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8166 /* 21176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8167 /* 21180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8168 /* 21184 */ // (intrinsic_wo_chain:{ *:[i32] } 8521:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (RADDU_W_QB_MM:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs)
8169 /* 21184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::RADDU_W_QB_MM),
8170 /* 21187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8171 /* 21189 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8172 /* 21191 */ GIR_RootConstrainSelectedInstOperands,
8173 /* 21192 */ // GIR_Coverage, 1308,
8174 /* 21192 */ GIR_EraseRootFromParent_Done,
8175 /* 21193 */ // Label 763: @21193
8176 /* 21193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 764*/ GIMT_Encode4(21228), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1312 //
8177 /* 21200 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_ph),
8178 /* 21205 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8179 /* 21208 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8180 /* 21211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8181 /* 21215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8182 /* 21219 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8523:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs) => (REPLV_PH_MM:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs)
8183 /* 21219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPLV_PH_MM),
8184 /* 21222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8185 /* 21224 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8186 /* 21226 */ GIR_RootConstrainSelectedInstOperands,
8187 /* 21227 */ // GIR_Coverage, 1312,
8188 /* 21227 */ GIR_EraseRootFromParent_Done,
8189 /* 21228 */ // Label 764: @21228
8190 /* 21228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 765*/ GIMT_Encode4(21263), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1313 //
8191 /* 21235 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_repl_qb),
8192 /* 21240 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8193 /* 21243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8194 /* 21246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8195 /* 21250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8196 /* 21254 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8524:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs) => (REPLV_QB_MM:{ *:[v4i8] } GPR32Opnd:{ *:[i32] }:$rs)
8197 /* 21254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::REPLV_QB_MM),
8198 /* 21257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8199 /* 21259 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8200 /* 21261 */ GIR_RootConstrainSelectedInstOperands,
8201 /* 21262 */ // GIR_Coverage, 1313,
8202 /* 21262 */ GIR_EraseRootFromParent_Done,
8203 /* 21263 */ // Label 765: @21263
8204 /* 21263 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 766*/ GIMT_Encode4(21298), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1323 //
8205 /* 21270 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_bitrev),
8206 /* 21275 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8207 /* 21278 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8208 /* 21281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8209 /* 21285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8210 /* 21289 */ // (intrinsic_wo_chain:{ *:[i32] } 8077:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs) => (BITREV_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
8211 /* 21289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BITREV_MM),
8212 /* 21292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8213 /* 21294 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8214 /* 21296 */ GIR_RootConstrainSelectedInstOperands,
8215 /* 21297 */ // GIR_Coverage, 1323,
8216 /* 21297 */ GIR_EraseRootFromParent_Done,
8217 /* 21298 */ // Label 766: @21298
8218 /* 21298 */ GIM_Reject,
8219 /* 21299 */ // Label 711: @21299
8220 /* 21299 */ GIM_Try, /*On fail goto*//*Label 767*/ GIMT_Encode4(30838),
8221 /* 21304 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
8222 /* 21307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 768*/ GIMT_Encode4(21352), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 966 //
8223 /* 21314 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_s_b),
8224 /* 21319 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8225 /* 21322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8226 /* 21325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8227 /* 21329 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8228 /* 21333 */ // MIs[0] m
8229 /* 21333 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8230 /* 21336 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
8231 /* 21341 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8525:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$m) => (SAT_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$m)
8232 /* 21341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_S_B),
8233 /* 21344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8234 /* 21346 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8235 /* 21348 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8236 /* 21350 */ GIR_RootConstrainSelectedInstOperands,
8237 /* 21351 */ // GIR_Coverage, 966,
8238 /* 21351 */ GIR_EraseRootFromParent_Done,
8239 /* 21352 */ // Label 768: @21352
8240 /* 21352 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 769*/ GIMT_Encode4(21397), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 967 //
8241 /* 21359 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_s_h),
8242 /* 21364 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8243 /* 21367 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8244 /* 21370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8245 /* 21374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8246 /* 21378 */ // MIs[0] m
8247 /* 21378 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8248 /* 21381 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
8249 /* 21386 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8527:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$m) => (SAT_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$m)
8250 /* 21386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_S_H),
8251 /* 21389 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8252 /* 21391 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8253 /* 21393 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8254 /* 21395 */ GIR_RootConstrainSelectedInstOperands,
8255 /* 21396 */ // GIR_Coverage, 967,
8256 /* 21396 */ GIR_EraseRootFromParent_Done,
8257 /* 21397 */ // Label 769: @21397
8258 /* 21397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 770*/ GIMT_Encode4(21442), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 968 //
8259 /* 21404 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_s_w),
8260 /* 21409 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8261 /* 21412 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8262 /* 21415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8263 /* 21419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8264 /* 21423 */ // MIs[0] m
8265 /* 21423 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8266 /* 21426 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
8267 /* 21431 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8528:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$m) => (SAT_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$m)
8268 /* 21431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_S_W),
8269 /* 21434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8270 /* 21436 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8271 /* 21438 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8272 /* 21440 */ GIR_RootConstrainSelectedInstOperands,
8273 /* 21441 */ // GIR_Coverage, 968,
8274 /* 21441 */ GIR_EraseRootFromParent_Done,
8275 /* 21442 */ // Label 770: @21442
8276 /* 21442 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 771*/ GIMT_Encode4(21487), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 969 //
8277 /* 21449 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_s_d),
8278 /* 21454 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8279 /* 21457 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8280 /* 21460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8281 /* 21464 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8282 /* 21468 */ // MIs[0] m
8283 /* 21468 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8284 /* 21471 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
8285 /* 21476 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8526:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt6>>:$m) => (SAT_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$m)
8286 /* 21476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_S_D),
8287 /* 21479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8288 /* 21481 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8289 /* 21483 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8290 /* 21485 */ GIR_RootConstrainSelectedInstOperands,
8291 /* 21486 */ // GIR_Coverage, 969,
8292 /* 21486 */ GIR_EraseRootFromParent_Done,
8293 /* 21487 */ // Label 771: @21487
8294 /* 21487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 772*/ GIMT_Encode4(21532), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 970 //
8295 /* 21494 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_u_b),
8296 /* 21499 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8297 /* 21502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8298 /* 21505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8299 /* 21509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8300 /* 21513 */ // MIs[0] m
8301 /* 21513 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8302 /* 21516 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
8303 /* 21521 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8529:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$m) => (SAT_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$m)
8304 /* 21521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_U_B),
8305 /* 21524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8306 /* 21526 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8307 /* 21528 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8308 /* 21530 */ GIR_RootConstrainSelectedInstOperands,
8309 /* 21531 */ // GIR_Coverage, 970,
8310 /* 21531 */ GIR_EraseRootFromParent_Done,
8311 /* 21532 */ // Label 772: @21532
8312 /* 21532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 773*/ GIMT_Encode4(21577), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 971 //
8313 /* 21539 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_u_h),
8314 /* 21544 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8315 /* 21547 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8316 /* 21550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8317 /* 21554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8318 /* 21558 */ // MIs[0] m
8319 /* 21558 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8320 /* 21561 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
8321 /* 21566 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8531:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$m) => (SAT_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$m)
8322 /* 21566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_U_H),
8323 /* 21569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8324 /* 21571 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8325 /* 21573 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8326 /* 21575 */ GIR_RootConstrainSelectedInstOperands,
8327 /* 21576 */ // GIR_Coverage, 971,
8328 /* 21576 */ GIR_EraseRootFromParent_Done,
8329 /* 21577 */ // Label 773: @21577
8330 /* 21577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 774*/ GIMT_Encode4(21622), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 972 //
8331 /* 21584 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_u_w),
8332 /* 21589 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8333 /* 21592 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8334 /* 21595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8335 /* 21599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8336 /* 21603 */ // MIs[0] m
8337 /* 21603 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8338 /* 21606 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
8339 /* 21611 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8532:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$m) => (SAT_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$m)
8340 /* 21611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_U_W),
8341 /* 21614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8342 /* 21616 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8343 /* 21618 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8344 /* 21620 */ GIR_RootConstrainSelectedInstOperands,
8345 /* 21621 */ // GIR_Coverage, 972,
8346 /* 21621 */ GIR_EraseRootFromParent_Done,
8347 /* 21622 */ // Label 774: @21622
8348 /* 21622 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 775*/ GIMT_Encode4(21667), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 973 //
8349 /* 21629 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sat_u_d),
8350 /* 21634 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8351 /* 21637 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8352 /* 21640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8353 /* 21644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8354 /* 21648 */ // MIs[0] m
8355 /* 21648 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8356 /* 21651 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
8357 /* 21656 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8530:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt6>>:$m) => (SAT_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$m)
8358 /* 21656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SAT_U_D),
8359 /* 21659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8360 /* 21661 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8361 /* 21663 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8362 /* 21665 */ GIR_RootConstrainSelectedInstOperands,
8363 /* 21666 */ // GIR_Coverage, 973,
8364 /* 21666 */ GIR_EraseRootFromParent_Done,
8365 /* 21667 */ // Label 775: @21667
8366 /* 21667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 776*/ GIMT_Encode4(21712), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1013 //
8367 /* 21674 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srari_b),
8368 /* 21679 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8369 /* 21682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8370 /* 21685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8371 /* 21689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8372 /* 21693 */ // MIs[0] m
8373 /* 21693 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8374 /* 21696 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
8375 /* 21701 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8584:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$m) => (SRARI_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$m)
8376 /* 21701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRARI_B),
8377 /* 21704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8378 /* 21706 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8379 /* 21708 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8380 /* 21710 */ GIR_RootConstrainSelectedInstOperands,
8381 /* 21711 */ // GIR_Coverage, 1013,
8382 /* 21711 */ GIR_EraseRootFromParent_Done,
8383 /* 21712 */ // Label 776: @21712
8384 /* 21712 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 777*/ GIMT_Encode4(21757), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1014 //
8385 /* 21719 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srari_h),
8386 /* 21724 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8387 /* 21727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8388 /* 21730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8389 /* 21734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8390 /* 21738 */ // MIs[0] m
8391 /* 21738 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8392 /* 21741 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
8393 /* 21746 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8586:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$m) => (SRARI_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$m)
8394 /* 21746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRARI_H),
8395 /* 21749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8396 /* 21751 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8397 /* 21753 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8398 /* 21755 */ GIR_RootConstrainSelectedInstOperands,
8399 /* 21756 */ // GIR_Coverage, 1014,
8400 /* 21756 */ GIR_EraseRootFromParent_Done,
8401 /* 21757 */ // Label 777: @21757
8402 /* 21757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 778*/ GIMT_Encode4(21802), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1015 //
8403 /* 21764 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srari_w),
8404 /* 21769 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8405 /* 21772 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8406 /* 21775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8407 /* 21779 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8408 /* 21783 */ // MIs[0] m
8409 /* 21783 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8410 /* 21786 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
8411 /* 21791 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8587:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$m) => (SRARI_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$m)
8412 /* 21791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRARI_W),
8413 /* 21794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8414 /* 21796 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8415 /* 21798 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8416 /* 21800 */ GIR_RootConstrainSelectedInstOperands,
8417 /* 21801 */ // GIR_Coverage, 1015,
8418 /* 21801 */ GIR_EraseRootFromParent_Done,
8419 /* 21802 */ // Label 778: @21802
8420 /* 21802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 779*/ GIMT_Encode4(21847), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1016 //
8421 /* 21809 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srari_d),
8422 /* 21814 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8423 /* 21817 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8424 /* 21820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8425 /* 21824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8426 /* 21828 */ // MIs[0] m
8427 /* 21828 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8428 /* 21831 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
8429 /* 21836 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8585:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt6>>:$m) => (SRARI_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$m)
8430 /* 21836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRARI_D),
8431 /* 21839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8432 /* 21841 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8433 /* 21843 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8434 /* 21845 */ GIR_RootConstrainSelectedInstOperands,
8435 /* 21846 */ // GIR_Coverage, 1016,
8436 /* 21846 */ GIR_EraseRootFromParent_Done,
8437 /* 21847 */ // Label 779: @21847
8438 /* 21847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 780*/ GIMT_Encode4(21892), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1029 //
8439 /* 21854 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlri_b),
8440 /* 21859 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
8441 /* 21862 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
8442 /* 21865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8443 /* 21869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
8444 /* 21873 */ // MIs[0] m
8445 /* 21873 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8446 /* 21876 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
8447 /* 21881 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8600:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt3>>:$m) => (SRLRI_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, (timm:{ *:[i32] }):$m)
8448 /* 21881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLRI_B),
8449 /* 21884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8450 /* 21886 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8451 /* 21888 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8452 /* 21890 */ GIR_RootConstrainSelectedInstOperands,
8453 /* 21891 */ // GIR_Coverage, 1029,
8454 /* 21891 */ GIR_EraseRootFromParent_Done,
8455 /* 21892 */ // Label 780: @21892
8456 /* 21892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 781*/ GIMT_Encode4(21937), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1030 //
8457 /* 21899 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlri_h),
8458 /* 21904 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
8459 /* 21907 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8460 /* 21910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8461 /* 21914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
8462 /* 21918 */ // MIs[0] m
8463 /* 21918 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8464 /* 21921 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
8465 /* 21926 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8602:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt4>>:$m) => (SRLRI_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, (timm:{ *:[i32] }):$m)
8466 /* 21926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLRI_H),
8467 /* 21929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8468 /* 21931 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8469 /* 21933 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8470 /* 21935 */ GIR_RootConstrainSelectedInstOperands,
8471 /* 21936 */ // GIR_Coverage, 1030,
8472 /* 21936 */ GIR_EraseRootFromParent_Done,
8473 /* 21937 */ // Label 781: @21937
8474 /* 21937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 782*/ GIMT_Encode4(21982), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1031 //
8475 /* 21944 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlri_w),
8476 /* 21949 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
8477 /* 21952 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8478 /* 21955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8479 /* 21959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
8480 /* 21963 */ // MIs[0] m
8481 /* 21963 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8482 /* 21966 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
8483 /* 21971 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8603:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$m) => (SRLRI_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, (timm:{ *:[i32] }):$m)
8484 /* 21971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLRI_W),
8485 /* 21974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8486 /* 21976 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8487 /* 21978 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8488 /* 21980 */ GIR_RootConstrainSelectedInstOperands,
8489 /* 21981 */ // GIR_Coverage, 1031,
8490 /* 21981 */ GIR_EraseRootFromParent_Done,
8491 /* 21982 */ // Label 782: @21982
8492 /* 21982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 783*/ GIMT_Encode4(22027), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1032 //
8493 /* 21989 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlri_d),
8494 /* 21994 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
8495 /* 21997 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8496 /* 22000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8497 /* 22004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
8498 /* 22008 */ // MIs[0] m
8499 /* 22008 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
8500 /* 22011 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
8501 /* 22016 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8601:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] })<<P:Predicate_timmZExt6>>:$m) => (SRLRI_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, (timm:{ *:[i32] }):$m)
8502 /* 22016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLRI_D),
8503 /* 22019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
8504 /* 22021 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
8505 /* 22023 */ GIR_RootToRootCopy, /*OpIdx*/3, // m
8506 /* 22025 */ GIR_RootConstrainSelectedInstOperands,
8507 /* 22026 */ // GIR_Coverage, 1032,
8508 /* 22026 */ GIR_EraseRootFromParent_Done,
8509 /* 22027 */ // Label 783: @22027
8510 /* 22027 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 784*/ GIMT_Encode4(22082), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 413 //
8511 /* 22034 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
8512 /* 22039 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8513 /* 22042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8514 /* 22045 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8515 /* 22048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8516 /* 22052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8517 /* 22056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8518 /* 22060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8519 /* 22064 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
8520 /* 22068 */ // MIs[1] Operand 1
8521 /* 22068 */ // No operand predicates
8522 /* 22068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8523 /* 22070 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8543:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$rs_sa) => (SHRA_R_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, (imm:{ *:[i32] }):$rs_sa)
8524 /* 22070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_PH),
8525 /* 22073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8526 /* 22075 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8527 /* 22077 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
8528 /* 22080 */ GIR_RootConstrainSelectedInstOperands,
8529 /* 22081 */ // GIR_Coverage, 413,
8530 /* 22081 */ GIR_EraseRootFromParent_Done,
8531 /* 22082 */ // Label 784: @22082
8532 /* 22082 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 785*/ GIMT_Encode4(22137), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 417 //
8533 /* 22089 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
8534 /* 22094 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8535 /* 22097 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8536 /* 22100 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8537 /* 22103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8538 /* 22107 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8539 /* 22111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8540 /* 22115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8541 /* 22119 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
8542 /* 22123 */ // MIs[1] Operand 1
8543 /* 22123 */ // No operand predicates
8544 /* 22123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8545 /* 22125 */ // (intrinsic_wo_chain:{ *:[i32] } 8545:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$rs_sa) => (SHRA_R_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$rs_sa)
8546 /* 22125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_W),
8547 /* 22128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8548 /* 22130 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8549 /* 22132 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
8550 /* 22135 */ GIR_RootConstrainSelectedInstOperands,
8551 /* 22136 */ // GIR_Coverage, 417,
8552 /* 22136 */ GIR_EraseRootFromParent_Done,
8553 /* 22137 */ // Label 785: @22137
8554 /* 22137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 786*/ GIMT_Encode4(22192), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 508 //
8555 /* 22144 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
8556 /* 22149 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8557 /* 22152 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8558 /* 22155 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8559 /* 22158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8560 /* 22162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8561 /* 22166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8562 /* 22170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8563 /* 22174 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
8564 /* 22178 */ // MIs[1] Operand 1
8565 /* 22178 */ // No operand predicates
8566 /* 22178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8567 /* 22180 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8544:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$rs_sa) => (SHRA_R_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, (imm:{ *:[i32] }):$rs_sa)
8568 /* 22180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_QB),
8569 /* 22183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8570 /* 22185 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8571 /* 22187 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
8572 /* 22190 */ GIR_RootConstrainSelectedInstOperands,
8573 /* 22191 */ // GIR_Coverage, 508,
8574 /* 22191 */ GIR_EraseRootFromParent_Done,
8575 /* 22192 */ // Label 786: @22192
8576 /* 22192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 787*/ GIMT_Encode4(22247), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1267 //
8577 /* 22199 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
8578 /* 22204 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8579 /* 22207 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8580 /* 22210 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8581 /* 22213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8582 /* 22217 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8583 /* 22221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8584 /* 22225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8585 /* 22229 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
8586 /* 22233 */ // MIs[1] Operand 1
8587 /* 22233 */ // No operand predicates
8588 /* 22233 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8589 /* 22235 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8543:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$sa) => (SHRA_R_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, (imm:{ *:[i32] }):$sa)
8590 /* 22235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_PH_MM),
8591 /* 22238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8592 /* 22240 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8593 /* 22242 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
8594 /* 22245 */ GIR_RootConstrainSelectedInstOperands,
8595 /* 22246 */ // GIR_Coverage, 1267,
8596 /* 22246 */ GIR_EraseRootFromParent_Done,
8597 /* 22247 */ // Label 787: @22247
8598 /* 22247 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 788*/ GIMT_Encode4(22302), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1271 //
8599 /* 22254 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
8600 /* 22259 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8601 /* 22262 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8602 /* 22265 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8603 /* 22268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8604 /* 22272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8605 /* 22276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8606 /* 22280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8607 /* 22284 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
8608 /* 22288 */ // MIs[1] Operand 1
8609 /* 22288 */ // No operand predicates
8610 /* 22288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8611 /* 22290 */ // (intrinsic_wo_chain:{ *:[i32] } 8545:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$sa) => (SHRA_R_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$sa)
8612 /* 22290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_W_MM),
8613 /* 22293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8614 /* 22295 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8615 /* 22297 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
8616 /* 22300 */ GIR_RootConstrainSelectedInstOperands,
8617 /* 22301 */ // GIR_Coverage, 1271,
8618 /* 22301 */ GIR_EraseRootFromParent_Done,
8619 /* 22302 */ // Label 788: @22302
8620 /* 22302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 789*/ GIMT_Encode4(22357), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1346 //
8621 /* 22309 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
8622 /* 22314 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8623 /* 22317 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8624 /* 22320 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8625 /* 22323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8626 /* 22327 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8627 /* 22331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8628 /* 22335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8629 /* 22339 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
8630 /* 22343 */ // MIs[1] Operand 1
8631 /* 22343 */ // No operand predicates
8632 /* 22343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8633 /* 22345 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8544:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$sa) => (SHRA_R_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, (imm:{ *:[i32] }):$sa)
8634 /* 22345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_R_QB_MMR2),
8635 /* 22348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
8636 /* 22350 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8637 /* 22352 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
8638 /* 22355 */ GIR_RootConstrainSelectedInstOperands,
8639 /* 22356 */ // GIR_Coverage, 1346,
8640 /* 22356 */ GIR_EraseRootFromParent_Done,
8641 /* 22357 */ // Label 789: @22357
8642 /* 22357 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 790*/ GIMT_Encode4(22408), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2073 //
8643 /* 22364 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_ph),
8644 /* 22369 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8645 /* 22372 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8646 /* 22375 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8647 /* 22378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8648 /* 22382 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8649 /* 22386 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8650 /* 22390 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
8651 /* 22394 */ // MIs[1] Operand 1
8652 /* 22394 */ // No operand predicates
8653 /* 22394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8654 /* 22396 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8541:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt) => (SHRA_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt)
8655 /* 22396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_PH),
8656 /* 22399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8657 /* 22401 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
8658 /* 22403 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
8659 /* 22406 */ GIR_RootConstrainSelectedInstOperands,
8660 /* 22407 */ // GIR_Coverage, 2073,
8661 /* 22407 */ GIR_EraseRootFromParent_Done,
8662 /* 22408 */ // Label 790: @22408
8663 /* 22408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 791*/ GIMT_Encode4(22459), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 2074 //
8664 /* 22415 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
8665 /* 22420 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8666 /* 22423 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8667 /* 22426 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8668 /* 22429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8669 /* 22433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8670 /* 22437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8671 /* 22441 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
8672 /* 22445 */ // MIs[1] Operand 1
8673 /* 22445 */ // No operand predicates
8674 /* 22445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8675 /* 22447 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8546:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt) => (SHRL_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt)
8676 /* 22447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRL_PH),
8677 /* 22450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8678 /* 22452 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
8679 /* 22454 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
8680 /* 22457 */ GIR_RootConstrainSelectedInstOperands,
8681 /* 22458 */ // GIR_Coverage, 2074,
8682 /* 22458 */ GIR_EraseRootFromParent_Done,
8683 /* 22459 */ // Label 791: @22459
8684 /* 22459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 792*/ GIMT_Encode4(22510), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 2079 //
8685 /* 22466 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_qb),
8686 /* 22471 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8687 /* 22474 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8688 /* 22477 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8689 /* 22480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8690 /* 22484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8691 /* 22488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8692 /* 22492 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
8693 /* 22496 */ // MIs[1] Operand 1
8694 /* 22496 */ // No operand predicates
8695 /* 22496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8696 /* 22498 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8542:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt) => (SHRA_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt)
8697 /* 22498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRA_QB),
8698 /* 22501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8699 /* 22503 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
8700 /* 22505 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
8701 /* 22508 */ GIR_RootConstrainSelectedInstOperands,
8702 /* 22509 */ // GIR_Coverage, 2079,
8703 /* 22509 */ GIR_EraseRootFromParent_Done,
8704 /* 22510 */ // Label 792: @22510
8705 /* 22510 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 793*/ GIMT_Encode4(22561), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2080 //
8706 /* 22517 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
8707 /* 22522 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8708 /* 22525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8709 /* 22528 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8710 /* 22531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8711 /* 22535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
8712 /* 22539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
8713 /* 22543 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
8714 /* 22547 */ // MIs[1] Operand 1
8715 /* 22547 */ // No operand predicates
8716 /* 22547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8717 /* 22549 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8547:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt) => (SHRL_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt)
8718 /* 22549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRL_QB),
8719 /* 22552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8720 /* 22554 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
8721 /* 22556 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
8722 /* 22559 */ GIR_RootConstrainSelectedInstOperands,
8723 /* 22560 */ // GIR_Coverage, 2080,
8724 /* 22560 */ GIR_EraseRootFromParent_Done,
8725 /* 22561 */ // Label 793: @22561
8726 /* 22561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 794*/ GIMT_Encode4(22608), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 383 //
8727 /* 22568 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_s_qb),
8728 /* 22573 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8729 /* 22576 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8730 /* 22579 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
8731 /* 22582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8732 /* 22586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8733 /* 22590 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8734 /* 22594 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8013:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDU_S_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
8735 /* 22594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_S_QB),
8736 /* 22597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8737 /* 22599 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8738 /* 22601 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8739 /* 22603 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
8740 /* 22606 */ GIR_RootConstrainSelectedInstOperands,
8741 /* 22607 */ // GIR_Coverage, 383,
8742 /* 22607 */ GIR_EraseRootFromParent_Done,
8743 /* 22608 */ // Label 794: @22608
8744 /* 22608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 795*/ GIMT_Encode4(22655), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 384 //
8745 /* 22615 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_s_qb),
8746 /* 22620 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8747 /* 22623 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8748 /* 22626 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
8749 /* 22629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8750 /* 22633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8751 /* 22637 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8752 /* 22641 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8636:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBU_S_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
8753 /* 22641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_S_QB),
8754 /* 22644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8755 /* 22646 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8756 /* 22648 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8757 /* 22650 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
8758 /* 22653 */ GIR_RootConstrainSelectedInstOperands,
8759 /* 22654 */ // GIR_Coverage, 384,
8760 /* 22654 */ GIR_EraseRootFromParent_Done,
8761 /* 22655 */ // Label 795: @22655
8762 /* 22655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 796*/ GIMT_Encode4(22702), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 385 //
8763 /* 22662 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_s_ph),
8764 /* 22667 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8765 /* 22670 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8766 /* 22673 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
8767 /* 22676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8768 /* 22680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8769 /* 22684 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8770 /* 22688 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7991:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQ_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
8771 /* 22688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_S_PH),
8772 /* 22691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8773 /* 22693 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8774 /* 22695 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8775 /* 22697 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
8776 /* 22700 */ GIR_RootConstrainSelectedInstOperands,
8777 /* 22701 */ // GIR_Coverage, 385,
8778 /* 22701 */ GIR_EraseRootFromParent_Done,
8779 /* 22702 */ // Label 796: @22702
8780 /* 22702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 797*/ GIMT_Encode4(22749), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 386 //
8781 /* 22709 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_s_ph),
8782 /* 22714 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8783 /* 22717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8784 /* 22720 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
8785 /* 22723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8786 /* 22727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8787 /* 22731 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8788 /* 22735 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8611:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQ_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
8789 /* 22735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_S_PH),
8790 /* 22738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8791 /* 22740 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8792 /* 22742 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8793 /* 22744 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
8794 /* 22747 */ GIR_RootConstrainSelectedInstOperands,
8795 /* 22748 */ // GIR_Coverage, 386,
8796 /* 22748 */ GIR_EraseRootFromParent_Done,
8797 /* 22749 */ // Label 797: @22749
8798 /* 22749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 798*/ GIMT_Encode4(22793), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 389 //
8799 /* 22756 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_modsub),
8800 /* 22761 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8801 /* 22764 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8802 /* 22767 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8803 /* 22770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8804 /* 22774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8805 /* 22778 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8806 /* 22782 */ // (intrinsic_wo_chain:{ *:[i32] } 8441:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MODSUB:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
8807 /* 22782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MODSUB),
8808 /* 22785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8809 /* 22787 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8810 /* 22789 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8811 /* 22791 */ GIR_RootConstrainSelectedInstOperands,
8812 /* 22792 */ // GIR_Coverage, 389,
8813 /* 22792 */ GIR_EraseRootFromParent_Done,
8814 /* 22793 */ // Label 798: @22793
8815 /* 22793 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 799*/ GIMT_Encode4(22837), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 393 //
8816 /* 22800 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_qb_ph),
8817 /* 22805 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8818 /* 22808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8819 /* 22811 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
8820 /* 22814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8821 /* 22818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8822 /* 22822 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8823 /* 22826 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8517:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECRQ_QB_PH:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
8824 /* 22826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_QB_PH),
8825 /* 22829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8826 /* 22831 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8827 /* 22833 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8828 /* 22835 */ GIR_RootConstrainSelectedInstOperands,
8829 /* 22836 */ // GIR_Coverage, 393,
8830 /* 22836 */ GIR_EraseRootFromParent_Done,
8831 /* 22837 */ // Label 799: @22837
8832 /* 22837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 800*/ GIMT_Encode4(22881), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 394 //
8833 /* 22844 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_ph_w),
8834 /* 22849 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8835 /* 22852 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8836 /* 22855 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8837 /* 22858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8838 /* 22862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8839 /* 22866 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8840 /* 22870 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8516:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (PRECRQ_PH_W:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
8841 /* 22870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_PH_W),
8842 /* 22873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8843 /* 22875 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8844 /* 22877 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8845 /* 22879 */ GIR_RootConstrainSelectedInstOperands,
8846 /* 22880 */ // GIR_Coverage, 394,
8847 /* 22880 */ GIR_EraseRootFromParent_Done,
8848 /* 22881 */ // Label 800: @22881
8849 /* 22881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 801*/ GIMT_Encode4(22925), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 408 //
8850 /* 22888 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
8851 /* 22893 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8852 /* 22896 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8853 /* 22899 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8854 /* 22902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8855 /* 22906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8856 /* 22910 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8857 /* 22914 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8547:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRLV_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
8858 /* 22914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRLV_QB),
8859 /* 22917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8860 /* 22919 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8861 /* 22921 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
8862 /* 22923 */ GIR_RootConstrainSelectedInstOperands,
8863 /* 22924 */ // GIR_Coverage, 408,
8864 /* 22924 */ GIR_EraseRootFromParent_Done,
8865 /* 22925 */ // Label 801: @22925
8866 /* 22925 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 802*/ GIMT_Encode4(22969), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 412 //
8867 /* 22932 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_ph),
8868 /* 22937 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8869 /* 22940 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8870 /* 22943 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8871 /* 22946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8872 /* 22950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8873 /* 22954 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8874 /* 22958 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8541:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
8875 /* 22958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_PH),
8876 /* 22961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8877 /* 22963 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8878 /* 22965 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
8879 /* 22967 */ GIR_RootConstrainSelectedInstOperands,
8880 /* 22968 */ // GIR_Coverage, 412,
8881 /* 22968 */ GIR_EraseRootFromParent_Done,
8882 /* 22969 */ // Label 802: @22969
8883 /* 22969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 803*/ GIMT_Encode4(23013), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 414 //
8884 /* 22976 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
8885 /* 22981 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8886 /* 22984 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8887 /* 22987 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8888 /* 22990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8889 /* 22994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8890 /* 22998 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8891 /* 23002 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8543:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_R_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
8892 /* 23002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_PH),
8893 /* 23005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8894 /* 23007 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8895 /* 23009 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
8896 /* 23011 */ GIR_RootConstrainSelectedInstOperands,
8897 /* 23012 */ // GIR_Coverage, 414,
8898 /* 23012 */ GIR_EraseRootFromParent_Done,
8899 /* 23013 */ // Label 803: @23013
8900 /* 23013 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 804*/ GIMT_Encode4(23057), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 418 //
8901 /* 23020 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
8902 /* 23025 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
8903 /* 23028 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
8904 /* 23031 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
8905 /* 23034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8906 /* 23038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8907 /* 23042 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
8908 /* 23046 */ // (intrinsic_wo_chain:{ *:[i32] } 8545:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_R_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
8909 /* 23046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_W),
8910 /* 23049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8911 /* 23051 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
8912 /* 23053 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
8913 /* 23055 */ GIR_RootConstrainSelectedInstOperands,
8914 /* 23056 */ // GIR_Coverage, 418,
8915 /* 23056 */ GIR_EraseRootFromParent_Done,
8916 /* 23057 */ // Label 804: @23057
8917 /* 23057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 805*/ GIMT_Encode4(23101), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 455 //
8918 /* 23064 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_packrl_ph),
8919 /* 23069 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
8920 /* 23072 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
8921 /* 23075 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
8922 /* 23078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8923 /* 23082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8924 /* 23086 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8925 /* 23090 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8488:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PACKRL_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
8926 /* 23090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PACKRL_PH),
8927 /* 23093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8928 /* 23095 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8929 /* 23097 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8930 /* 23099 */ GIR_RootConstrainSelectedInstOperands,
8931 /* 23100 */ // GIR_Coverage, 455,
8932 /* 23100 */ GIR_EraseRootFromParent_Done,
8933 /* 23101 */ // Label 805: @23101
8934 /* 23101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 806*/ GIMT_Encode4(23145), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 479 //
8935 /* 23108 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adduh_qb),
8936 /* 23113 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8937 /* 23116 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8938 /* 23119 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
8939 /* 23122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8940 /* 23126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8941 /* 23130 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8942 /* 23134 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8014:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDUH_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
8943 /* 23134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDUH_QB),
8944 /* 23137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8945 /* 23139 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8946 /* 23141 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8947 /* 23143 */ GIR_RootConstrainSelectedInstOperands,
8948 /* 23144 */ // GIR_Coverage, 479,
8949 /* 23144 */ GIR_EraseRootFromParent_Done,
8950 /* 23145 */ // Label 806: @23145
8951 /* 23145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 807*/ GIMT_Encode4(23189), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 480 //
8952 /* 23152 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adduh_r_qb),
8953 /* 23157 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8954 /* 23160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8955 /* 23163 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
8956 /* 23166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8957 /* 23170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8958 /* 23174 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8959 /* 23178 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8015:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDUH_R_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
8960 /* 23178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDUH_R_QB),
8961 /* 23181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8962 /* 23183 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8963 /* 23185 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8964 /* 23187 */ GIR_RootConstrainSelectedInstOperands,
8965 /* 23188 */ // GIR_Coverage, 480,
8966 /* 23188 */ GIR_EraseRootFromParent_Done,
8967 /* 23189 */ // Label 807: @23189
8968 /* 23189 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 808*/ GIMT_Encode4(23233), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 481 //
8969 /* 23196 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subuh_qb),
8970 /* 23201 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8971 /* 23204 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8972 /* 23207 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
8973 /* 23210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8974 /* 23214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8975 /* 23218 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8976 /* 23222 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8637:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBUH_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
8977 /* 23222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBUH_QB),
8978 /* 23225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8979 /* 23227 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8980 /* 23229 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8981 /* 23231 */ GIR_RootConstrainSelectedInstOperands,
8982 /* 23232 */ // GIR_Coverage, 481,
8983 /* 23232 */ GIR_EraseRootFromParent_Done,
8984 /* 23233 */ // Label 808: @23233
8985 /* 23233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 809*/ GIMT_Encode4(23277), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 482 //
8986 /* 23240 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subuh_r_qb),
8987 /* 23245 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
8988 /* 23248 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
8989 /* 23251 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
8990 /* 23254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8991 /* 23258 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8992 /* 23262 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
8993 /* 23266 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8638:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBUH_R_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
8994 /* 23266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBUH_R_QB),
8995 /* 23269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
8996 /* 23271 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
8997 /* 23273 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
8998 /* 23275 */ GIR_RootConstrainSelectedInstOperands,
8999 /* 23276 */ // GIR_Coverage, 482,
9000 /* 23276 */ GIR_EraseRootFromParent_Done,
9001 /* 23277 */ // Label 809: @23277
9002 /* 23277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 810*/ GIMT_Encode4(23321), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 483 //
9003 /* 23284 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_ph),
9004 /* 23289 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9005 /* 23292 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9006 /* 23295 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9007 /* 23298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9008 /* 23302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9009 /* 23306 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9010 /* 23310 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7993:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQH_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9011 /* 23310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_PH),
9012 /* 23313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9013 /* 23315 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9014 /* 23317 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9015 /* 23319 */ GIR_RootConstrainSelectedInstOperands,
9016 /* 23320 */ // GIR_Coverage, 483,
9017 /* 23320 */ GIR_EraseRootFromParent_Done,
9018 /* 23321 */ // Label 810: @23321
9019 /* 23321 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 811*/ GIMT_Encode4(23365), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 484 //
9020 /* 23328 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_r_ph),
9021 /* 23333 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9022 /* 23336 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9023 /* 23339 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9024 /* 23342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9025 /* 23346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9026 /* 23350 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9027 /* 23354 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7994:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQH_R_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9028 /* 23354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_R_PH),
9029 /* 23357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9030 /* 23359 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9031 /* 23361 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9032 /* 23363 */ GIR_RootConstrainSelectedInstOperands,
9033 /* 23364 */ // GIR_Coverage, 484,
9034 /* 23364 */ GIR_EraseRootFromParent_Done,
9035 /* 23365 */ // Label 811: @23365
9036 /* 23365 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 812*/ GIMT_Encode4(23409), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 485 //
9037 /* 23372 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_ph),
9038 /* 23377 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9039 /* 23380 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9040 /* 23383 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9041 /* 23386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9042 /* 23390 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9043 /* 23394 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9044 /* 23398 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8613:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQH_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9045 /* 23398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_PH),
9046 /* 23401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9047 /* 23403 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9048 /* 23405 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9049 /* 23407 */ GIR_RootConstrainSelectedInstOperands,
9050 /* 23408 */ // GIR_Coverage, 485,
9051 /* 23408 */ GIR_EraseRootFromParent_Done,
9052 /* 23409 */ // Label 812: @23409
9053 /* 23409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 813*/ GIMT_Encode4(23453), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 486 //
9054 /* 23416 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_r_ph),
9055 /* 23421 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9056 /* 23424 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9057 /* 23427 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
9058 /* 23430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9059 /* 23434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9060 /* 23438 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9061 /* 23442 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8614:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQH_R_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
9062 /* 23442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_R_PH),
9063 /* 23445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9064 /* 23447 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9065 /* 23449 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9066 /* 23451 */ GIR_RootConstrainSelectedInstOperands,
9067 /* 23452 */ // GIR_Coverage, 486,
9068 /* 23452 */ GIR_EraseRootFromParent_Done,
9069 /* 23453 */ // Label 813: @23453
9070 /* 23453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 814*/ GIMT_Encode4(23497), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 487 //
9071 /* 23460 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_w),
9072 /* 23465 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9073 /* 23468 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9074 /* 23471 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9075 /* 23474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9076 /* 23478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9077 /* 23482 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9078 /* 23486 */ // (intrinsic_wo_chain:{ *:[i32] } 7996:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQH_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9079 /* 23486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_W),
9080 /* 23489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9081 /* 23491 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9082 /* 23493 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9083 /* 23495 */ GIR_RootConstrainSelectedInstOperands,
9084 /* 23496 */ // GIR_Coverage, 487,
9085 /* 23496 */ GIR_EraseRootFromParent_Done,
9086 /* 23497 */ // Label 814: @23497
9087 /* 23497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 815*/ GIMT_Encode4(23541), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 488 //
9088 /* 23504 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_r_w),
9089 /* 23509 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9090 /* 23512 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9091 /* 23515 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9092 /* 23518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9093 /* 23522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9094 /* 23526 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9095 /* 23530 */ // (intrinsic_wo_chain:{ *:[i32] } 7995:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQH_R_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9096 /* 23530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_R_W),
9097 /* 23533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9098 /* 23535 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9099 /* 23537 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9100 /* 23539 */ GIR_RootConstrainSelectedInstOperands,
9101 /* 23540 */ // GIR_Coverage, 488,
9102 /* 23540 */ GIR_EraseRootFromParent_Done,
9103 /* 23541 */ // Label 815: @23541
9104 /* 23541 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 816*/ GIMT_Encode4(23585), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 489 //
9105 /* 23548 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_w),
9106 /* 23553 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9107 /* 23556 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9108 /* 23559 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9109 /* 23562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9110 /* 23566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9111 /* 23570 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9112 /* 23574 */ // (intrinsic_wo_chain:{ *:[i32] } 8616:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQH_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9113 /* 23574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_W),
9114 /* 23577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9115 /* 23579 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9116 /* 23581 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9117 /* 23583 */ GIR_RootConstrainSelectedInstOperands,
9118 /* 23584 */ // GIR_Coverage, 489,
9119 /* 23584 */ GIR_EraseRootFromParent_Done,
9120 /* 23585 */ // Label 816: @23585
9121 /* 23585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 817*/ GIMT_Encode4(23629), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 490 //
9122 /* 23592 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_r_w),
9123 /* 23597 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
9124 /* 23600 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9125 /* 23603 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9126 /* 23606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9127 /* 23610 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9128 /* 23614 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9129 /* 23618 */ // (intrinsic_wo_chain:{ *:[i32] } 8615:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQH_R_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
9130 /* 23618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_R_W),
9131 /* 23621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9132 /* 23623 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
9133 /* 23625 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
9134 /* 23627 */ GIR_RootConstrainSelectedInstOperands,
9135 /* 23628 */ // GIR_Coverage, 490,
9136 /* 23628 */ GIR_EraseRootFromParent_Done,
9137 /* 23629 */ // Label 817: @23629
9138 /* 23629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 818*/ GIMT_Encode4(23673), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 507 //
9139 /* 23636 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_qb),
9140 /* 23641 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9141 /* 23644 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9142 /* 23647 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9143 /* 23650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9144 /* 23654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9145 /* 23658 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9146 /* 23662 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8542:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9147 /* 23662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_QB),
9148 /* 23665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9149 /* 23667 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9150 /* 23669 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9151 /* 23671 */ GIR_RootConstrainSelectedInstOperands,
9152 /* 23672 */ // GIR_Coverage, 507,
9153 /* 23672 */ GIR_EraseRootFromParent_Done,
9154 /* 23673 */ // Label 818: @23673
9155 /* 23673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 819*/ GIMT_Encode4(23717), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 509 //
9156 /* 23680 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
9157 /* 23685 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
9158 /* 23688 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
9159 /* 23691 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9160 /* 23694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9161 /* 23698 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9162 /* 23702 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9163 /* 23706 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8544:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRAV_R_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9164 /* 23706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_QB),
9165 /* 23709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9166 /* 23711 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9167 /* 23713 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9168 /* 23715 */ GIR_RootConstrainSelectedInstOperands,
9169 /* 23716 */ // GIR_Coverage, 509,
9170 /* 23716 */ GIR_EraseRootFromParent_Done,
9171 /* 23717 */ // Label 819: @23717
9172 /* 23717 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 820*/ GIMT_Encode4(23761), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 510 //
9173 /* 23724 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
9174 /* 23729 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
9175 /* 23732 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
9176 /* 23735 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
9177 /* 23738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9178 /* 23742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
9179 /* 23746 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
9180 /* 23750 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8546:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHRLV_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
9181 /* 23750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRLV_PH),
9182 /* 23753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
9183 /* 23755 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
9184 /* 23757 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
9185 /* 23759 */ GIR_RootConstrainSelectedInstOperands,
9186 /* 23760 */ // GIR_Coverage, 510,
9187 /* 23760 */ GIR_EraseRootFromParent_Done,
9188 /* 23761 */ // Label 820: @23761
9189 /* 23761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 821*/ GIMT_Encode4(23805), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 519 //
9190 /* 23768 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_add_a_b),
9191 /* 23773 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9192 /* 23776 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9193 /* 23779 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9194 /* 23782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9195 /* 23786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9196 /* 23790 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9197 /* 23794 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7986:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADD_A_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9198 /* 23794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADD_A_B),
9199 /* 23797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9200 /* 23799 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9201 /* 23801 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9202 /* 23803 */ GIR_RootConstrainSelectedInstOperands,
9203 /* 23804 */ // GIR_Coverage, 519,
9204 /* 23804 */ GIR_EraseRootFromParent_Done,
9205 /* 23805 */ // Label 821: @23805
9206 /* 23805 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 822*/ GIMT_Encode4(23849), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 520 //
9207 /* 23812 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_add_a_h),
9208 /* 23817 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9209 /* 23820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9210 /* 23823 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9211 /* 23826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9212 /* 23830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9213 /* 23834 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9214 /* 23838 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7988:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADD_A_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9215 /* 23838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADD_A_H),
9216 /* 23841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9217 /* 23843 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9218 /* 23845 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9219 /* 23847 */ GIR_RootConstrainSelectedInstOperands,
9220 /* 23848 */ // GIR_Coverage, 520,
9221 /* 23848 */ GIR_EraseRootFromParent_Done,
9222 /* 23849 */ // Label 822: @23849
9223 /* 23849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 823*/ GIMT_Encode4(23893), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 521 //
9224 /* 23856 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_add_a_w),
9225 /* 23861 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9226 /* 23864 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9227 /* 23867 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9228 /* 23870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9229 /* 23874 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9230 /* 23878 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9231 /* 23882 */ // (intrinsic_wo_chain:{ *:[v4i32] } 7989:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADD_A_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9232 /* 23882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADD_A_W),
9233 /* 23885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9234 /* 23887 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9235 /* 23889 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9236 /* 23891 */ GIR_RootConstrainSelectedInstOperands,
9237 /* 23892 */ // GIR_Coverage, 521,
9238 /* 23892 */ GIR_EraseRootFromParent_Done,
9239 /* 23893 */ // Label 823: @23893
9240 /* 23893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 824*/ GIMT_Encode4(23937), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 522 //
9241 /* 23900 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_add_a_d),
9242 /* 23905 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9243 /* 23908 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9244 /* 23911 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9245 /* 23914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9246 /* 23918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9247 /* 23922 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9248 /* 23926 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7987:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADD_A_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9249 /* 23926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADD_A_D),
9250 /* 23929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9251 /* 23931 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9252 /* 23933 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9253 /* 23935 */ GIR_RootConstrainSelectedInstOperands,
9254 /* 23936 */ // GIR_Coverage, 522,
9255 /* 23936 */ GIR_EraseRootFromParent_Done,
9256 /* 23937 */ // Label 824: @23937
9257 /* 23937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 825*/ GIMT_Encode4(23981), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 523 //
9258 /* 23944 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_a_b),
9259 /* 23949 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9260 /* 23952 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9261 /* 23955 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9262 /* 23958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9263 /* 23962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9264 /* 23966 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9265 /* 23970 */ // (intrinsic_wo_chain:{ *:[v16i8] } 7997:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADDS_A_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9266 /* 23970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_A_B),
9267 /* 23973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9268 /* 23975 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9269 /* 23977 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9270 /* 23979 */ GIR_RootConstrainSelectedInstOperands,
9271 /* 23980 */ // GIR_Coverage, 523,
9272 /* 23980 */ GIR_EraseRootFromParent_Done,
9273 /* 23981 */ // Label 825: @23981
9274 /* 23981 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 826*/ GIMT_Encode4(24025), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 524 //
9275 /* 23988 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_a_h),
9276 /* 23993 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9277 /* 23996 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9278 /* 23999 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9279 /* 24002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9280 /* 24006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9281 /* 24010 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9282 /* 24014 */ // (intrinsic_wo_chain:{ *:[v8i16] } 7999:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADDS_A_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9283 /* 24014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_A_H),
9284 /* 24017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9285 /* 24019 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9286 /* 24021 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9287 /* 24023 */ GIR_RootConstrainSelectedInstOperands,
9288 /* 24024 */ // GIR_Coverage, 524,
9289 /* 24024 */ GIR_EraseRootFromParent_Done,
9290 /* 24025 */ // Label 826: @24025
9291 /* 24025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 827*/ GIMT_Encode4(24069), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 525 //
9292 /* 24032 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_a_w),
9293 /* 24037 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9294 /* 24040 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9295 /* 24043 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9296 /* 24046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9297 /* 24050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9298 /* 24054 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9299 /* 24058 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8000:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADDS_A_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9300 /* 24058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_A_W),
9301 /* 24061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9302 /* 24063 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9303 /* 24065 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9304 /* 24067 */ GIR_RootConstrainSelectedInstOperands,
9305 /* 24068 */ // GIR_Coverage, 525,
9306 /* 24068 */ GIR_EraseRootFromParent_Done,
9307 /* 24069 */ // Label 827: @24069
9308 /* 24069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 828*/ GIMT_Encode4(24113), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 526 //
9309 /* 24076 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_a_d),
9310 /* 24081 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9311 /* 24084 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9312 /* 24087 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9313 /* 24090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9314 /* 24094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9315 /* 24098 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9316 /* 24102 */ // (intrinsic_wo_chain:{ *:[v2i64] } 7998:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADDS_A_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9317 /* 24102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_A_D),
9318 /* 24105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9319 /* 24107 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9320 /* 24109 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9321 /* 24111 */ GIR_RootConstrainSelectedInstOperands,
9322 /* 24112 */ // GIR_Coverage, 526,
9323 /* 24112 */ GIR_EraseRootFromParent_Done,
9324 /* 24113 */ // Label 828: @24113
9325 /* 24113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 829*/ GIMT_Encode4(24157), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 527 //
9326 /* 24120 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_s_b),
9327 /* 24125 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9328 /* 24128 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9329 /* 24131 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9330 /* 24134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9331 /* 24138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9332 /* 24142 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9333 /* 24146 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8001:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADDS_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9334 /* 24146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_S_B),
9335 /* 24149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9336 /* 24151 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9337 /* 24153 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9338 /* 24155 */ GIR_RootConstrainSelectedInstOperands,
9339 /* 24156 */ // GIR_Coverage, 527,
9340 /* 24156 */ GIR_EraseRootFromParent_Done,
9341 /* 24157 */ // Label 829: @24157
9342 /* 24157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 830*/ GIMT_Encode4(24201), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 528 //
9343 /* 24164 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_s_h),
9344 /* 24169 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9345 /* 24172 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9346 /* 24175 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9347 /* 24178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9348 /* 24182 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9349 /* 24186 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9350 /* 24190 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8003:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADDS_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9351 /* 24190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_S_H),
9352 /* 24193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9353 /* 24195 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9354 /* 24197 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9355 /* 24199 */ GIR_RootConstrainSelectedInstOperands,
9356 /* 24200 */ // GIR_Coverage, 528,
9357 /* 24200 */ GIR_EraseRootFromParent_Done,
9358 /* 24201 */ // Label 830: @24201
9359 /* 24201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 831*/ GIMT_Encode4(24245), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 529 //
9360 /* 24208 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_s_w),
9361 /* 24213 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9362 /* 24216 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9363 /* 24219 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9364 /* 24222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9365 /* 24226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9366 /* 24230 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9367 /* 24234 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8004:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADDS_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9368 /* 24234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_S_W),
9369 /* 24237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9370 /* 24239 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9371 /* 24241 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9372 /* 24243 */ GIR_RootConstrainSelectedInstOperands,
9373 /* 24244 */ // GIR_Coverage, 529,
9374 /* 24244 */ GIR_EraseRootFromParent_Done,
9375 /* 24245 */ // Label 831: @24245
9376 /* 24245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 832*/ GIMT_Encode4(24289), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 530 //
9377 /* 24252 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_s_d),
9378 /* 24257 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9379 /* 24260 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9380 /* 24263 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9381 /* 24266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9382 /* 24270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9383 /* 24274 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9384 /* 24278 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8002:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADDS_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9385 /* 24278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_S_D),
9386 /* 24281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9387 /* 24283 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9388 /* 24285 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9389 /* 24287 */ GIR_RootConstrainSelectedInstOperands,
9390 /* 24288 */ // GIR_Coverage, 530,
9391 /* 24288 */ GIR_EraseRootFromParent_Done,
9392 /* 24289 */ // Label 832: @24289
9393 /* 24289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 833*/ GIMT_Encode4(24333), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 531 //
9394 /* 24296 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_u_b),
9395 /* 24301 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9396 /* 24304 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9397 /* 24307 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9398 /* 24310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9399 /* 24314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9400 /* 24318 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9401 /* 24322 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8005:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ADDS_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9402 /* 24322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_U_B),
9403 /* 24325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9404 /* 24327 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9405 /* 24329 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9406 /* 24331 */ GIR_RootConstrainSelectedInstOperands,
9407 /* 24332 */ // GIR_Coverage, 531,
9408 /* 24332 */ GIR_EraseRootFromParent_Done,
9409 /* 24333 */ // Label 833: @24333
9410 /* 24333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 834*/ GIMT_Encode4(24377), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 532 //
9411 /* 24340 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_u_h),
9412 /* 24345 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9413 /* 24348 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9414 /* 24351 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9415 /* 24354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9416 /* 24358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9417 /* 24362 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9418 /* 24366 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8007:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ADDS_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9419 /* 24366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_U_H),
9420 /* 24369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9421 /* 24371 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9422 /* 24373 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9423 /* 24375 */ GIR_RootConstrainSelectedInstOperands,
9424 /* 24376 */ // GIR_Coverage, 532,
9425 /* 24376 */ GIR_EraseRootFromParent_Done,
9426 /* 24377 */ // Label 834: @24377
9427 /* 24377 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 835*/ GIMT_Encode4(24421), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 533 //
9428 /* 24384 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_u_w),
9429 /* 24389 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9430 /* 24392 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9431 /* 24395 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9432 /* 24398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9433 /* 24402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9434 /* 24406 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9435 /* 24410 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8008:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ADDS_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9436 /* 24410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_U_W),
9437 /* 24413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9438 /* 24415 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9439 /* 24417 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9440 /* 24419 */ GIR_RootConstrainSelectedInstOperands,
9441 /* 24420 */ // GIR_Coverage, 533,
9442 /* 24420 */ GIR_EraseRootFromParent_Done,
9443 /* 24421 */ // Label 835: @24421
9444 /* 24421 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 836*/ GIMT_Encode4(24465), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 534 //
9445 /* 24428 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adds_u_d),
9446 /* 24433 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9447 /* 24436 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9448 /* 24439 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9449 /* 24442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9450 /* 24446 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9451 /* 24450 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9452 /* 24454 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8006:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ADDS_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9453 /* 24454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDS_U_D),
9454 /* 24457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9455 /* 24459 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9456 /* 24461 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9457 /* 24463 */ GIR_RootConstrainSelectedInstOperands,
9458 /* 24464 */ // GIR_Coverage, 534,
9459 /* 24464 */ GIR_EraseRootFromParent_Done,
9460 /* 24465 */ // Label 836: @24465
9461 /* 24465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 837*/ GIMT_Encode4(24509), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 548 //
9462 /* 24472 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_s_b),
9463 /* 24477 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9464 /* 24480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9465 /* 24483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9466 /* 24486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9467 /* 24490 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9468 /* 24494 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9469 /* 24498 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8028:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ASUB_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9470 /* 24498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_S_B),
9471 /* 24501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9472 /* 24503 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9473 /* 24505 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9474 /* 24507 */ GIR_RootConstrainSelectedInstOperands,
9475 /* 24508 */ // GIR_Coverage, 548,
9476 /* 24508 */ GIR_EraseRootFromParent_Done,
9477 /* 24509 */ // Label 837: @24509
9478 /* 24509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 838*/ GIMT_Encode4(24553), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 549 //
9479 /* 24516 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_s_h),
9480 /* 24521 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9481 /* 24524 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9482 /* 24527 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9483 /* 24530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9484 /* 24534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9485 /* 24538 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9486 /* 24542 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8030:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ASUB_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9487 /* 24542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_S_H),
9488 /* 24545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9489 /* 24547 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9490 /* 24549 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9491 /* 24551 */ GIR_RootConstrainSelectedInstOperands,
9492 /* 24552 */ // GIR_Coverage, 549,
9493 /* 24552 */ GIR_EraseRootFromParent_Done,
9494 /* 24553 */ // Label 838: @24553
9495 /* 24553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 839*/ GIMT_Encode4(24597), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 550 //
9496 /* 24560 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_s_w),
9497 /* 24565 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9498 /* 24568 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9499 /* 24571 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9500 /* 24574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9501 /* 24578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9502 /* 24582 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9503 /* 24586 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8031:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ASUB_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9504 /* 24586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_S_W),
9505 /* 24589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9506 /* 24591 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9507 /* 24593 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9508 /* 24595 */ GIR_RootConstrainSelectedInstOperands,
9509 /* 24596 */ // GIR_Coverage, 550,
9510 /* 24596 */ GIR_EraseRootFromParent_Done,
9511 /* 24597 */ // Label 839: @24597
9512 /* 24597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 840*/ GIMT_Encode4(24641), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 551 //
9513 /* 24604 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_s_d),
9514 /* 24609 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9515 /* 24612 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9516 /* 24615 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9517 /* 24618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9518 /* 24622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9519 /* 24626 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9520 /* 24630 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8029:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ASUB_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9521 /* 24630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_S_D),
9522 /* 24633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9523 /* 24635 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9524 /* 24637 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9525 /* 24639 */ GIR_RootConstrainSelectedInstOperands,
9526 /* 24640 */ // GIR_Coverage, 551,
9527 /* 24640 */ GIR_EraseRootFromParent_Done,
9528 /* 24641 */ // Label 840: @24641
9529 /* 24641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 841*/ GIMT_Encode4(24685), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 552 //
9530 /* 24648 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_u_b),
9531 /* 24653 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9532 /* 24656 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9533 /* 24659 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9534 /* 24662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9535 /* 24666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9536 /* 24670 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9537 /* 24674 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8032:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (ASUB_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9538 /* 24674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_U_B),
9539 /* 24677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9540 /* 24679 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9541 /* 24681 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9542 /* 24683 */ GIR_RootConstrainSelectedInstOperands,
9543 /* 24684 */ // GIR_Coverage, 552,
9544 /* 24684 */ GIR_EraseRootFromParent_Done,
9545 /* 24685 */ // Label 841: @24685
9546 /* 24685 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 842*/ GIMT_Encode4(24729), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 553 //
9547 /* 24692 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_u_h),
9548 /* 24697 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9549 /* 24700 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9550 /* 24703 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9551 /* 24706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9552 /* 24710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9553 /* 24714 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9554 /* 24718 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8034:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (ASUB_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9555 /* 24718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_U_H),
9556 /* 24721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9557 /* 24723 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9558 /* 24725 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9559 /* 24727 */ GIR_RootConstrainSelectedInstOperands,
9560 /* 24728 */ // GIR_Coverage, 553,
9561 /* 24728 */ GIR_EraseRootFromParent_Done,
9562 /* 24729 */ // Label 842: @24729
9563 /* 24729 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 843*/ GIMT_Encode4(24773), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 554 //
9564 /* 24736 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_u_w),
9565 /* 24741 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9566 /* 24744 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9567 /* 24747 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9568 /* 24750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9569 /* 24754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9570 /* 24758 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9571 /* 24762 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8035:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (ASUB_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9572 /* 24762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_U_W),
9573 /* 24765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9574 /* 24767 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9575 /* 24769 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9576 /* 24771 */ GIR_RootConstrainSelectedInstOperands,
9577 /* 24772 */ // GIR_Coverage, 554,
9578 /* 24772 */ GIR_EraseRootFromParent_Done,
9579 /* 24773 */ // Label 843: @24773
9580 /* 24773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 844*/ GIMT_Encode4(24817), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 555 //
9581 /* 24780 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_asub_u_d),
9582 /* 24785 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9583 /* 24788 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9584 /* 24791 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9585 /* 24794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9586 /* 24798 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9587 /* 24802 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9588 /* 24806 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8033:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (ASUB_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9589 /* 24806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ASUB_U_D),
9590 /* 24809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9591 /* 24811 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9592 /* 24813 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9593 /* 24815 */ GIR_RootConstrainSelectedInstOperands,
9594 /* 24816 */ // GIR_Coverage, 555,
9595 /* 24816 */ GIR_EraseRootFromParent_Done,
9596 /* 24817 */ // Label 844: @24817
9597 /* 24817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 845*/ GIMT_Encode4(24861), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 556 //
9598 /* 24824 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_s_b),
9599 /* 24829 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9600 /* 24832 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9601 /* 24835 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9602 /* 24838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9603 /* 24842 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9604 /* 24846 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9605 /* 24850 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8036:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AVE_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9606 /* 24850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_S_B),
9607 /* 24853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9608 /* 24855 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9609 /* 24857 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9610 /* 24859 */ GIR_RootConstrainSelectedInstOperands,
9611 /* 24860 */ // GIR_Coverage, 556,
9612 /* 24860 */ GIR_EraseRootFromParent_Done,
9613 /* 24861 */ // Label 845: @24861
9614 /* 24861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 846*/ GIMT_Encode4(24905), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 557 //
9615 /* 24868 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_s_h),
9616 /* 24873 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9617 /* 24876 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9618 /* 24879 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9619 /* 24882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9620 /* 24886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9621 /* 24890 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9622 /* 24894 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8038:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AVE_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9623 /* 24894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_S_H),
9624 /* 24897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9625 /* 24899 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9626 /* 24901 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9627 /* 24903 */ GIR_RootConstrainSelectedInstOperands,
9628 /* 24904 */ // GIR_Coverage, 557,
9629 /* 24904 */ GIR_EraseRootFromParent_Done,
9630 /* 24905 */ // Label 846: @24905
9631 /* 24905 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 847*/ GIMT_Encode4(24949), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 558 //
9632 /* 24912 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_s_w),
9633 /* 24917 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9634 /* 24920 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9635 /* 24923 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9636 /* 24926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9637 /* 24930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9638 /* 24934 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9639 /* 24938 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8039:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AVE_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9640 /* 24938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_S_W),
9641 /* 24941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9642 /* 24943 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9643 /* 24945 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9644 /* 24947 */ GIR_RootConstrainSelectedInstOperands,
9645 /* 24948 */ // GIR_Coverage, 558,
9646 /* 24948 */ GIR_EraseRootFromParent_Done,
9647 /* 24949 */ // Label 847: @24949
9648 /* 24949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 848*/ GIMT_Encode4(24993), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 559 //
9649 /* 24956 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_s_d),
9650 /* 24961 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9651 /* 24964 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9652 /* 24967 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9653 /* 24970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9654 /* 24974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9655 /* 24978 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9656 /* 24982 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8037:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AVE_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9657 /* 24982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_S_D),
9658 /* 24985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9659 /* 24987 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9660 /* 24989 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9661 /* 24991 */ GIR_RootConstrainSelectedInstOperands,
9662 /* 24992 */ // GIR_Coverage, 559,
9663 /* 24992 */ GIR_EraseRootFromParent_Done,
9664 /* 24993 */ // Label 848: @24993
9665 /* 24993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 849*/ GIMT_Encode4(25037), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 560 //
9666 /* 25000 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_u_b),
9667 /* 25005 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9668 /* 25008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9669 /* 25011 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9670 /* 25014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9671 /* 25018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9672 /* 25022 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9673 /* 25026 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8040:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AVE_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9674 /* 25026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_U_B),
9675 /* 25029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9676 /* 25031 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9677 /* 25033 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9678 /* 25035 */ GIR_RootConstrainSelectedInstOperands,
9679 /* 25036 */ // GIR_Coverage, 560,
9680 /* 25036 */ GIR_EraseRootFromParent_Done,
9681 /* 25037 */ // Label 849: @25037
9682 /* 25037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 850*/ GIMT_Encode4(25081), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 561 //
9683 /* 25044 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_u_h),
9684 /* 25049 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9685 /* 25052 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9686 /* 25055 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9687 /* 25058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9688 /* 25062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9689 /* 25066 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9690 /* 25070 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8042:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AVE_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9691 /* 25070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_U_H),
9692 /* 25073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9693 /* 25075 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9694 /* 25077 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9695 /* 25079 */ GIR_RootConstrainSelectedInstOperands,
9696 /* 25080 */ // GIR_Coverage, 561,
9697 /* 25080 */ GIR_EraseRootFromParent_Done,
9698 /* 25081 */ // Label 850: @25081
9699 /* 25081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 851*/ GIMT_Encode4(25125), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 562 //
9700 /* 25088 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_u_w),
9701 /* 25093 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9702 /* 25096 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9703 /* 25099 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9704 /* 25102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9705 /* 25106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9706 /* 25110 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9707 /* 25114 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8043:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AVE_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9708 /* 25114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_U_W),
9709 /* 25117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9710 /* 25119 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9711 /* 25121 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9712 /* 25123 */ GIR_RootConstrainSelectedInstOperands,
9713 /* 25124 */ // GIR_Coverage, 562,
9714 /* 25124 */ GIR_EraseRootFromParent_Done,
9715 /* 25125 */ // Label 851: @25125
9716 /* 25125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 852*/ GIMT_Encode4(25169), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 563 //
9717 /* 25132 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ave_u_d),
9718 /* 25137 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9719 /* 25140 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9720 /* 25143 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9721 /* 25146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9722 /* 25150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9723 /* 25154 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9724 /* 25158 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8041:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AVE_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9725 /* 25158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVE_U_D),
9726 /* 25161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9727 /* 25163 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9728 /* 25165 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9729 /* 25167 */ GIR_RootConstrainSelectedInstOperands,
9730 /* 25168 */ // GIR_Coverage, 563,
9731 /* 25168 */ GIR_EraseRootFromParent_Done,
9732 /* 25169 */ // Label 852: @25169
9733 /* 25169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 853*/ GIMT_Encode4(25213), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 564 //
9734 /* 25176 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_s_b),
9735 /* 25181 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9736 /* 25184 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9737 /* 25187 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9738 /* 25190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9739 /* 25194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9740 /* 25198 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9741 /* 25202 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8044:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AVER_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9742 /* 25202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_S_B),
9743 /* 25205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9744 /* 25207 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9745 /* 25209 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9746 /* 25211 */ GIR_RootConstrainSelectedInstOperands,
9747 /* 25212 */ // GIR_Coverage, 564,
9748 /* 25212 */ GIR_EraseRootFromParent_Done,
9749 /* 25213 */ // Label 853: @25213
9750 /* 25213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 854*/ GIMT_Encode4(25257), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 565 //
9751 /* 25220 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_s_h),
9752 /* 25225 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9753 /* 25228 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9754 /* 25231 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9755 /* 25234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9756 /* 25238 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9757 /* 25242 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9758 /* 25246 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8046:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AVER_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9759 /* 25246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_S_H),
9760 /* 25249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9761 /* 25251 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9762 /* 25253 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9763 /* 25255 */ GIR_RootConstrainSelectedInstOperands,
9764 /* 25256 */ // GIR_Coverage, 565,
9765 /* 25256 */ GIR_EraseRootFromParent_Done,
9766 /* 25257 */ // Label 854: @25257
9767 /* 25257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 855*/ GIMT_Encode4(25301), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 566 //
9768 /* 25264 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_s_w),
9769 /* 25269 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9770 /* 25272 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9771 /* 25275 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9772 /* 25278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9773 /* 25282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9774 /* 25286 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9775 /* 25290 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8047:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AVER_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9776 /* 25290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_S_W),
9777 /* 25293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9778 /* 25295 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9779 /* 25297 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9780 /* 25299 */ GIR_RootConstrainSelectedInstOperands,
9781 /* 25300 */ // GIR_Coverage, 566,
9782 /* 25300 */ GIR_EraseRootFromParent_Done,
9783 /* 25301 */ // Label 855: @25301
9784 /* 25301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 856*/ GIMT_Encode4(25345), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 567 //
9785 /* 25308 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_s_d),
9786 /* 25313 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9787 /* 25316 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9788 /* 25319 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9789 /* 25322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9790 /* 25326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9791 /* 25330 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9792 /* 25334 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8045:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AVER_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9793 /* 25334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_S_D),
9794 /* 25337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9795 /* 25339 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9796 /* 25341 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9797 /* 25343 */ GIR_RootConstrainSelectedInstOperands,
9798 /* 25344 */ // GIR_Coverage, 567,
9799 /* 25344 */ GIR_EraseRootFromParent_Done,
9800 /* 25345 */ // Label 856: @25345
9801 /* 25345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 857*/ GIMT_Encode4(25389), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 568 //
9802 /* 25352 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_u_b),
9803 /* 25357 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
9804 /* 25360 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9805 /* 25363 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9806 /* 25366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9807 /* 25370 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9808 /* 25374 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9809 /* 25378 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8048:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (AVER_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9810 /* 25378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_U_B),
9811 /* 25381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9812 /* 25383 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9813 /* 25385 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9814 /* 25387 */ GIR_RootConstrainSelectedInstOperands,
9815 /* 25388 */ // GIR_Coverage, 568,
9816 /* 25388 */ GIR_EraseRootFromParent_Done,
9817 /* 25389 */ // Label 857: @25389
9818 /* 25389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 858*/ GIMT_Encode4(25433), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 569 //
9819 /* 25396 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_u_h),
9820 /* 25401 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9821 /* 25404 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9822 /* 25407 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9823 /* 25410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9824 /* 25414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9825 /* 25418 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9826 /* 25422 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8050:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (AVER_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9827 /* 25422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_U_H),
9828 /* 25425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9829 /* 25427 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9830 /* 25429 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9831 /* 25431 */ GIR_RootConstrainSelectedInstOperands,
9832 /* 25432 */ // GIR_Coverage, 569,
9833 /* 25432 */ GIR_EraseRootFromParent_Done,
9834 /* 25433 */ // Label 858: @25433
9835 /* 25433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 859*/ GIMT_Encode4(25477), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 570 //
9836 /* 25440 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_u_w),
9837 /* 25445 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9838 /* 25448 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9839 /* 25451 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9840 /* 25454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9841 /* 25458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9842 /* 25462 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9843 /* 25466 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8051:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (AVER_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9844 /* 25466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_U_W),
9845 /* 25469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9846 /* 25471 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9847 /* 25473 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9848 /* 25475 */ GIR_RootConstrainSelectedInstOperands,
9849 /* 25476 */ // GIR_Coverage, 570,
9850 /* 25476 */ GIR_EraseRootFromParent_Done,
9851 /* 25477 */ // Label 859: @25477
9852 /* 25477 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 860*/ GIMT_Encode4(25521), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 571 //
9853 /* 25484 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_aver_u_d),
9854 /* 25489 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9855 /* 25492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9856 /* 25495 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9857 /* 25498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9858 /* 25502 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9859 /* 25506 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9860 /* 25510 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8049:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (AVER_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
9861 /* 25510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::AVER_U_D),
9862 /* 25513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9863 /* 25515 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9864 /* 25517 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9865 /* 25519 */ GIR_RootConstrainSelectedInstOperands,
9866 /* 25520 */ // GIR_Coverage, 571,
9867 /* 25520 */ GIR_EraseRootFromParent_Done,
9868 /* 25521 */ // Label 860: @25521
9869 /* 25521 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 861*/ GIMT_Encode4(25565), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 680 //
9870 /* 25528 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_s_h),
9871 /* 25533 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9872 /* 25536 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9873 /* 25539 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9874 /* 25542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9875 /* 25546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9876 /* 25550 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9877 /* 25554 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8183:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DOTP_S_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9878 /* 25554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_S_H),
9879 /* 25557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9880 /* 25559 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9881 /* 25561 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9882 /* 25563 */ GIR_RootConstrainSelectedInstOperands,
9883 /* 25564 */ // GIR_Coverage, 680,
9884 /* 25564 */ GIR_EraseRootFromParent_Done,
9885 /* 25565 */ // Label 861: @25565
9886 /* 25565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 862*/ GIMT_Encode4(25609), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 681 //
9887 /* 25572 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_s_w),
9888 /* 25577 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9889 /* 25580 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9890 /* 25583 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9891 /* 25586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9892 /* 25590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9893 /* 25594 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9894 /* 25598 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8184:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DOTP_S_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9895 /* 25598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_S_W),
9896 /* 25601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9897 /* 25603 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9898 /* 25605 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9899 /* 25607 */ GIR_RootConstrainSelectedInstOperands,
9900 /* 25608 */ // GIR_Coverage, 681,
9901 /* 25608 */ GIR_EraseRootFromParent_Done,
9902 /* 25609 */ // Label 862: @25609
9903 /* 25609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 863*/ GIMT_Encode4(25653), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 682 //
9904 /* 25616 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_s_d),
9905 /* 25621 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9906 /* 25624 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9907 /* 25627 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9908 /* 25630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9909 /* 25634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9910 /* 25638 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9911 /* 25642 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8182:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DOTP_S_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9912 /* 25642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_S_D),
9913 /* 25645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9914 /* 25647 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9915 /* 25649 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9916 /* 25651 */ GIR_RootConstrainSelectedInstOperands,
9917 /* 25652 */ // GIR_Coverage, 682,
9918 /* 25652 */ GIR_EraseRootFromParent_Done,
9919 /* 25653 */ // Label 863: @25653
9920 /* 25653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 864*/ GIMT_Encode4(25697), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 683 //
9921 /* 25660 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_u_h),
9922 /* 25665 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
9923 /* 25668 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9924 /* 25671 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
9925 /* 25674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9926 /* 25678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9927 /* 25682 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
9928 /* 25686 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8186:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (DOTP_U_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
9929 /* 25686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_U_H),
9930 /* 25689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9931 /* 25691 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9932 /* 25693 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9933 /* 25695 */ GIR_RootConstrainSelectedInstOperands,
9934 /* 25696 */ // GIR_Coverage, 683,
9935 /* 25696 */ GIR_EraseRootFromParent_Done,
9936 /* 25697 */ // Label 864: @25697
9937 /* 25697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 865*/ GIMT_Encode4(25741), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 684 //
9938 /* 25704 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_u_w),
9939 /* 25709 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9940 /* 25712 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
9941 /* 25715 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
9942 /* 25718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9943 /* 25722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9944 /* 25726 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
9945 /* 25730 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8187:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (DOTP_U_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
9946 /* 25730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_U_W),
9947 /* 25733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9948 /* 25735 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9949 /* 25737 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9950 /* 25739 */ GIR_RootConstrainSelectedInstOperands,
9951 /* 25740 */ // GIR_Coverage, 684,
9952 /* 25740 */ GIR_EraseRootFromParent_Done,
9953 /* 25741 */ // Label 865: @25741
9954 /* 25741 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 866*/ GIMT_Encode4(25785), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 685 //
9955 /* 25748 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dotp_u_d),
9956 /* 25753 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9957 /* 25756 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9958 /* 25759 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9959 /* 25762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9960 /* 25766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9961 /* 25770 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9962 /* 25774 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8185:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (DOTP_U_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
9963 /* 25774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DOTP_U_D),
9964 /* 25777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9965 /* 25779 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9966 /* 25781 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9967 /* 25783 */ GIR_RootConstrainSelectedInstOperands,
9968 /* 25784 */ // GIR_Coverage, 685,
9969 /* 25784 */ GIR_EraseRootFromParent_Done,
9970 /* 25785 */ // Label 866: @25785
9971 /* 25785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 867*/ GIMT_Encode4(25829), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 700 //
9972 /* 25792 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fcaf_w),
9973 /* 25797 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
9974 /* 25800 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
9975 /* 25803 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
9976 /* 25806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9977 /* 25810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9978 /* 25814 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
9979 /* 25818 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8225:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FCAF_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
9980 /* 25818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FCAF_W),
9981 /* 25821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9982 /* 25823 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
9983 /* 25825 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
9984 /* 25827 */ GIR_RootConstrainSelectedInstOperands,
9985 /* 25828 */ // GIR_Coverage, 700,
9986 /* 25828 */ GIR_EraseRootFromParent_Done,
9987 /* 25829 */ // Label 867: @25829
9988 /* 25829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 868*/ GIMT_Encode4(25873), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 701 //
9989 /* 25836 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fcaf_d),
9990 /* 25841 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
9991 /* 25844 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
9992 /* 25847 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
9993 /* 25850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9994 /* 25854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9995 /* 25858 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
9996 /* 25862 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8224:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FCAF_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
9997 /* 25862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FCAF_D),
9998 /* 25865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
9999 /* 25867 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10000 /* 25869 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10001 /* 25871 */ GIR_RootConstrainSelectedInstOperands,
10002 /* 25872 */ // GIR_Coverage, 701,
10003 /* 25872 */ GIR_EraseRootFromParent_Done,
10004 /* 25873 */ // Label 868: @25873
10005 /* 25873 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 869*/ GIMT_Encode4(25917), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 726 //
10006 /* 25880 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexdo_h),
10007 /* 25885 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10008 /* 25888 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10009 /* 25891 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10010 /* 25894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10011 /* 25898 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10012 /* 25902 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10013 /* 25906 */ // (intrinsic_wo_chain:{ *:[v8f16] } 8250:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FEXDO_H:{ *:[v8f16] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10014 /* 25906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXDO_H),
10015 /* 25909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10016 /* 25911 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10017 /* 25913 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10018 /* 25915 */ GIR_RootConstrainSelectedInstOperands,
10019 /* 25916 */ // GIR_Coverage, 726,
10020 /* 25916 */ GIR_EraseRootFromParent_Done,
10021 /* 25917 */ // Label 869: @25917
10022 /* 25917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 870*/ GIMT_Encode4(25961), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 727 //
10023 /* 25924 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fexdo_w),
10024 /* 25929 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10025 /* 25932 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10026 /* 25935 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10027 /* 25938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10028 /* 25942 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10029 /* 25946 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10030 /* 25950 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8251:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FEXDO_W:{ *:[v4f32] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10031 /* 25950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXDO_W),
10032 /* 25953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10033 /* 25955 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10034 /* 25957 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10035 /* 25959 */ GIR_RootConstrainSelectedInstOperands,
10036 /* 25960 */ // GIR_Coverage, 727,
10037 /* 25960 */ GIR_EraseRootFromParent_Done,
10038 /* 25961 */ // Label 870: @25961
10039 /* 25961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 871*/ GIMT_Encode4(26005), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 754 //
10040 /* 25968 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmax_w),
10041 /* 25973 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10042 /* 25976 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10043 /* 25979 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10044 /* 25982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10045 /* 25986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10046 /* 25990 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10047 /* 25994 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8277:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMAX_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10048 /* 25994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMAX_W),
10049 /* 25997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10050 /* 25999 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10051 /* 26001 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10052 /* 26003 */ GIR_RootConstrainSelectedInstOperands,
10053 /* 26004 */ // GIR_Coverage, 754,
10054 /* 26004 */ GIR_EraseRootFromParent_Done,
10055 /* 26005 */ // Label 871: @26005
10056 /* 26005 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 872*/ GIMT_Encode4(26049), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 755 //
10057 /* 26012 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmax_d),
10058 /* 26017 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10059 /* 26020 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10060 /* 26023 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10061 /* 26026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10062 /* 26030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10063 /* 26034 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10064 /* 26038 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8276:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMAX_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10065 /* 26038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMAX_D),
10066 /* 26041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10067 /* 26043 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10068 /* 26045 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10069 /* 26047 */ GIR_RootConstrainSelectedInstOperands,
10070 /* 26048 */ // GIR_Coverage, 755,
10071 /* 26048 */ GIR_EraseRootFromParent_Done,
10072 /* 26049 */ // Label 872: @26049
10073 /* 26049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 873*/ GIMT_Encode4(26093), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 756 //
10074 /* 26056 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmax_a_w),
10075 /* 26061 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10076 /* 26064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10077 /* 26067 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10078 /* 26070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10079 /* 26074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10080 /* 26078 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10081 /* 26082 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8275:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMAX_A_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10082 /* 26082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMAX_A_W),
10083 /* 26085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10084 /* 26087 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10085 /* 26089 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10086 /* 26091 */ GIR_RootConstrainSelectedInstOperands,
10087 /* 26092 */ // GIR_Coverage, 756,
10088 /* 26092 */ GIR_EraseRootFromParent_Done,
10089 /* 26093 */ // Label 873: @26093
10090 /* 26093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 874*/ GIMT_Encode4(26137), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 757 //
10091 /* 26100 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmax_a_d),
10092 /* 26105 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10093 /* 26108 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10094 /* 26111 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10095 /* 26114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10096 /* 26118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10097 /* 26122 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10098 /* 26126 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8274:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMAX_A_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10099 /* 26126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMAX_A_D),
10100 /* 26129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10101 /* 26131 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10102 /* 26133 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10103 /* 26135 */ GIR_RootConstrainSelectedInstOperands,
10104 /* 26136 */ // GIR_Coverage, 757,
10105 /* 26136 */ GIR_EraseRootFromParent_Done,
10106 /* 26137 */ // Label 874: @26137
10107 /* 26137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 875*/ GIMT_Encode4(26181), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 758 //
10108 /* 26144 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmin_w),
10109 /* 26149 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10110 /* 26152 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10111 /* 26155 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10112 /* 26158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10113 /* 26162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10114 /* 26166 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10115 /* 26170 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8281:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMIN_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10116 /* 26170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMIN_W),
10117 /* 26173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10118 /* 26175 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10119 /* 26177 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10120 /* 26179 */ GIR_RootConstrainSelectedInstOperands,
10121 /* 26180 */ // GIR_Coverage, 758,
10122 /* 26180 */ GIR_EraseRootFromParent_Done,
10123 /* 26181 */ // Label 875: @26181
10124 /* 26181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 876*/ GIMT_Encode4(26225), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 759 //
10125 /* 26188 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmin_d),
10126 /* 26193 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10127 /* 26196 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10128 /* 26199 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10129 /* 26202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10130 /* 26206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10131 /* 26210 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10132 /* 26214 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8280:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMIN_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10133 /* 26214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMIN_D),
10134 /* 26217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10135 /* 26219 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10136 /* 26221 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10137 /* 26223 */ GIR_RootConstrainSelectedInstOperands,
10138 /* 26224 */ // GIR_Coverage, 759,
10139 /* 26224 */ GIR_EraseRootFromParent_Done,
10140 /* 26225 */ // Label 876: @26225
10141 /* 26225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 877*/ GIMT_Encode4(26269), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 760 //
10142 /* 26232 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmin_a_w),
10143 /* 26237 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10144 /* 26240 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10145 /* 26243 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10146 /* 26246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10147 /* 26250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10148 /* 26254 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10149 /* 26258 */ // (intrinsic_wo_chain:{ *:[v4f32] } 8279:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMIN_A_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10150 /* 26258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMIN_A_W),
10151 /* 26261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10152 /* 26263 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10153 /* 26265 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10154 /* 26267 */ GIR_RootConstrainSelectedInstOperands,
10155 /* 26268 */ // GIR_Coverage, 760,
10156 /* 26268 */ GIR_EraseRootFromParent_Done,
10157 /* 26269 */ // Label 877: @26269
10158 /* 26269 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 878*/ GIMT_Encode4(26313), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 761 //
10159 /* 26276 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fmin_a_d),
10160 /* 26281 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10161 /* 26284 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10162 /* 26287 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10163 /* 26290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10164 /* 26294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10165 /* 26298 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10166 /* 26302 */ // (intrinsic_wo_chain:{ *:[v2f64] } 8278:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMIN_A_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10167 /* 26302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMIN_A_D),
10168 /* 26305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10169 /* 26307 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10170 /* 26309 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10171 /* 26311 */ GIR_RootConstrainSelectedInstOperands,
10172 /* 26312 */ // GIR_Coverage, 761,
10173 /* 26312 */ GIR_EraseRootFromParent_Done,
10174 /* 26313 */ // Label 878: @26313
10175 /* 26313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 879*/ GIMT_Encode4(26357), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 772 //
10176 /* 26320 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsaf_w),
10177 /* 26325 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10178 /* 26328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10179 /* 26331 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10180 /* 26334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10181 /* 26338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10182 /* 26342 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10183 /* 26346 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8293:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSAF_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10184 /* 26346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSAF_W),
10185 /* 26349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10186 /* 26351 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10187 /* 26353 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10188 /* 26355 */ GIR_RootConstrainSelectedInstOperands,
10189 /* 26356 */ // GIR_Coverage, 772,
10190 /* 26356 */ GIR_EraseRootFromParent_Done,
10191 /* 26357 */ // Label 879: @26357
10192 /* 26357 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 880*/ GIMT_Encode4(26401), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 773 //
10193 /* 26364 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsaf_d),
10194 /* 26369 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10195 /* 26372 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10196 /* 26375 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10197 /* 26378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10198 /* 26382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10199 /* 26386 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10200 /* 26390 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8292:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSAF_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10201 /* 26390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSAF_D),
10202 /* 26393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10203 /* 26395 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10204 /* 26397 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10205 /* 26399 */ GIR_RootConstrainSelectedInstOperands,
10206 /* 26400 */ // GIR_Coverage, 773,
10207 /* 26400 */ GIR_EraseRootFromParent_Done,
10208 /* 26401 */ // Label 880: @26401
10209 /* 26401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 881*/ GIMT_Encode4(26445), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 774 //
10210 /* 26408 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fseq_w),
10211 /* 26413 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10212 /* 26416 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10213 /* 26419 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10214 /* 26422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10215 /* 26426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10216 /* 26430 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10217 /* 26434 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8295:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSEQ_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10218 /* 26434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSEQ_W),
10219 /* 26437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10220 /* 26439 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10221 /* 26441 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10222 /* 26443 */ GIR_RootConstrainSelectedInstOperands,
10223 /* 26444 */ // GIR_Coverage, 774,
10224 /* 26444 */ GIR_EraseRootFromParent_Done,
10225 /* 26445 */ // Label 881: @26445
10226 /* 26445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 882*/ GIMT_Encode4(26489), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 775 //
10227 /* 26452 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fseq_d),
10228 /* 26457 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10229 /* 26460 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10230 /* 26463 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10231 /* 26466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10232 /* 26470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10233 /* 26474 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10234 /* 26478 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8294:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSEQ_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10235 /* 26478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSEQ_D),
10236 /* 26481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10237 /* 26483 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10238 /* 26485 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10239 /* 26487 */ GIR_RootConstrainSelectedInstOperands,
10240 /* 26488 */ // GIR_Coverage, 775,
10241 /* 26488 */ GIR_EraseRootFromParent_Done,
10242 /* 26489 */ // Label 882: @26489
10243 /* 26489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 883*/ GIMT_Encode4(26533), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 776 //
10244 /* 26496 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsle_w),
10245 /* 26501 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10246 /* 26504 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10247 /* 26507 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10248 /* 26510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10249 /* 26514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10250 /* 26518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10251 /* 26522 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8297:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSLE_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10252 /* 26522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSLE_W),
10253 /* 26525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10254 /* 26527 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10255 /* 26529 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10256 /* 26531 */ GIR_RootConstrainSelectedInstOperands,
10257 /* 26532 */ // GIR_Coverage, 776,
10258 /* 26532 */ GIR_EraseRootFromParent_Done,
10259 /* 26533 */ // Label 883: @26533
10260 /* 26533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 884*/ GIMT_Encode4(26577), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 777 //
10261 /* 26540 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsle_d),
10262 /* 26545 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10263 /* 26548 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10264 /* 26551 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10265 /* 26554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10266 /* 26558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10267 /* 26562 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10268 /* 26566 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8296:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSLE_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10269 /* 26566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSLE_D),
10270 /* 26569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10271 /* 26571 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10272 /* 26573 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10273 /* 26575 */ GIR_RootConstrainSelectedInstOperands,
10274 /* 26576 */ // GIR_Coverage, 777,
10275 /* 26576 */ GIR_EraseRootFromParent_Done,
10276 /* 26577 */ // Label 884: @26577
10277 /* 26577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 885*/ GIMT_Encode4(26621), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 778 //
10278 /* 26584 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fslt_w),
10279 /* 26589 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10280 /* 26592 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10281 /* 26595 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10282 /* 26598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10283 /* 26602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10284 /* 26606 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10285 /* 26610 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8299:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSLT_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10286 /* 26610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSLT_W),
10287 /* 26613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10288 /* 26615 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10289 /* 26617 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10290 /* 26619 */ GIR_RootConstrainSelectedInstOperands,
10291 /* 26620 */ // GIR_Coverage, 778,
10292 /* 26620 */ GIR_EraseRootFromParent_Done,
10293 /* 26621 */ // Label 885: @26621
10294 /* 26621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 886*/ GIMT_Encode4(26665), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 779 //
10295 /* 26628 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fslt_d),
10296 /* 26633 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10297 /* 26636 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10298 /* 26639 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10299 /* 26642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10300 /* 26646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10301 /* 26650 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10302 /* 26654 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8298:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSLT_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10303 /* 26654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSLT_D),
10304 /* 26657 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10305 /* 26659 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10306 /* 26661 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10307 /* 26663 */ GIR_RootConstrainSelectedInstOperands,
10308 /* 26664 */ // GIR_Coverage, 779,
10309 /* 26664 */ GIR_EraseRootFromParent_Done,
10310 /* 26665 */ // Label 886: @26665
10311 /* 26665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 887*/ GIMT_Encode4(26709), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 780 //
10312 /* 26672 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsne_w),
10313 /* 26677 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10314 /* 26680 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10315 /* 26683 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10316 /* 26686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10317 /* 26690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10318 /* 26694 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10319 /* 26698 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8301:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSNE_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10320 /* 26698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSNE_W),
10321 /* 26701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10322 /* 26703 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10323 /* 26705 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10324 /* 26707 */ GIR_RootConstrainSelectedInstOperands,
10325 /* 26708 */ // GIR_Coverage, 780,
10326 /* 26708 */ GIR_EraseRootFromParent_Done,
10327 /* 26709 */ // Label 887: @26709
10328 /* 26709 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 888*/ GIMT_Encode4(26753), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 781 //
10329 /* 26716 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsne_d),
10330 /* 26721 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10331 /* 26724 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10332 /* 26727 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10333 /* 26730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10334 /* 26734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10335 /* 26738 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10336 /* 26742 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8300:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSNE_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10337 /* 26742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSNE_D),
10338 /* 26745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10339 /* 26747 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10340 /* 26749 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10341 /* 26751 */ GIR_RootConstrainSelectedInstOperands,
10342 /* 26752 */ // GIR_Coverage, 781,
10343 /* 26752 */ GIR_EraseRootFromParent_Done,
10344 /* 26753 */ // Label 888: @26753
10345 /* 26753 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 889*/ GIMT_Encode4(26797), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 782 //
10346 /* 26760 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsor_w),
10347 /* 26765 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10348 /* 26768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10349 /* 26771 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10350 /* 26774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10351 /* 26778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10352 /* 26782 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10353 /* 26786 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8303:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSOR_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10354 /* 26786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSOR_W),
10355 /* 26789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10356 /* 26791 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10357 /* 26793 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10358 /* 26795 */ GIR_RootConstrainSelectedInstOperands,
10359 /* 26796 */ // GIR_Coverage, 782,
10360 /* 26796 */ GIR_EraseRootFromParent_Done,
10361 /* 26797 */ // Label 889: @26797
10362 /* 26797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 890*/ GIMT_Encode4(26841), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 783 //
10363 /* 26804 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsor_d),
10364 /* 26809 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10365 /* 26812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10366 /* 26815 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10367 /* 26818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10368 /* 26822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10369 /* 26826 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10370 /* 26830 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8302:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSOR_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10371 /* 26830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSOR_D),
10372 /* 26833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10373 /* 26835 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10374 /* 26837 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10375 /* 26839 */ GIR_RootConstrainSelectedInstOperands,
10376 /* 26840 */ // GIR_Coverage, 783,
10377 /* 26840 */ GIR_EraseRootFromParent_Done,
10378 /* 26841 */ // Label 890: @26841
10379 /* 26841 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 891*/ GIMT_Encode4(26885), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 788 //
10380 /* 26848 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsueq_w),
10381 /* 26853 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10382 /* 26856 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10383 /* 26859 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10384 /* 26862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10385 /* 26866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10386 /* 26870 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10387 /* 26874 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8309:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSUEQ_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10388 /* 26874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUEQ_W),
10389 /* 26877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10390 /* 26879 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10391 /* 26881 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10392 /* 26883 */ GIR_RootConstrainSelectedInstOperands,
10393 /* 26884 */ // GIR_Coverage, 788,
10394 /* 26884 */ GIR_EraseRootFromParent_Done,
10395 /* 26885 */ // Label 891: @26885
10396 /* 26885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 892*/ GIMT_Encode4(26929), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 789 //
10397 /* 26892 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsueq_d),
10398 /* 26897 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10399 /* 26900 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10400 /* 26903 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10401 /* 26906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10402 /* 26910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10403 /* 26914 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10404 /* 26918 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8308:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSUEQ_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10405 /* 26918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUEQ_D),
10406 /* 26921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10407 /* 26923 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10408 /* 26925 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10409 /* 26927 */ GIR_RootConstrainSelectedInstOperands,
10410 /* 26928 */ // GIR_Coverage, 789,
10411 /* 26928 */ GIR_EraseRootFromParent_Done,
10412 /* 26929 */ // Label 892: @26929
10413 /* 26929 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 893*/ GIMT_Encode4(26973), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 790 //
10414 /* 26936 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsule_w),
10415 /* 26941 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10416 /* 26944 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10417 /* 26947 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10418 /* 26950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10419 /* 26954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10420 /* 26958 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10421 /* 26962 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8311:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSULE_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10422 /* 26962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSULE_W),
10423 /* 26965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10424 /* 26967 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10425 /* 26969 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10426 /* 26971 */ GIR_RootConstrainSelectedInstOperands,
10427 /* 26972 */ // GIR_Coverage, 790,
10428 /* 26972 */ GIR_EraseRootFromParent_Done,
10429 /* 26973 */ // Label 893: @26973
10430 /* 26973 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 894*/ GIMT_Encode4(27017), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 791 //
10431 /* 26980 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsule_d),
10432 /* 26985 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10433 /* 26988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10434 /* 26991 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10435 /* 26994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10436 /* 26998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10437 /* 27002 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10438 /* 27006 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8310:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSULE_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10439 /* 27006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSULE_D),
10440 /* 27009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10441 /* 27011 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10442 /* 27013 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10443 /* 27015 */ GIR_RootConstrainSelectedInstOperands,
10444 /* 27016 */ // GIR_Coverage, 791,
10445 /* 27016 */ GIR_EraseRootFromParent_Done,
10446 /* 27017 */ // Label 894: @27017
10447 /* 27017 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 895*/ GIMT_Encode4(27061), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 792 //
10448 /* 27024 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsult_w),
10449 /* 27029 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10450 /* 27032 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10451 /* 27035 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10452 /* 27038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10453 /* 27042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10454 /* 27046 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10455 /* 27050 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8313:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSULT_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10456 /* 27050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSULT_W),
10457 /* 27053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10458 /* 27055 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10459 /* 27057 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10460 /* 27059 */ GIR_RootConstrainSelectedInstOperands,
10461 /* 27060 */ // GIR_Coverage, 792,
10462 /* 27060 */ GIR_EraseRootFromParent_Done,
10463 /* 27061 */ // Label 895: @27061
10464 /* 27061 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 896*/ GIMT_Encode4(27105), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 793 //
10465 /* 27068 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsult_d),
10466 /* 27073 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10467 /* 27076 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10468 /* 27079 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10469 /* 27082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10470 /* 27086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10471 /* 27090 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10472 /* 27094 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8312:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSULT_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10473 /* 27094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSULT_D),
10474 /* 27097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10475 /* 27099 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10476 /* 27101 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10477 /* 27103 */ GIR_RootConstrainSelectedInstOperands,
10478 /* 27104 */ // GIR_Coverage, 793,
10479 /* 27104 */ GIR_EraseRootFromParent_Done,
10480 /* 27105 */ // Label 896: @27105
10481 /* 27105 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 897*/ GIMT_Encode4(27149), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 794 //
10482 /* 27112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsun_w),
10483 /* 27117 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10484 /* 27120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10485 /* 27123 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10486 /* 27126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10487 /* 27130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10488 /* 27134 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10489 /* 27138 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8315:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSUN_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10490 /* 27138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUN_W),
10491 /* 27141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10492 /* 27143 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10493 /* 27145 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10494 /* 27147 */ GIR_RootConstrainSelectedInstOperands,
10495 /* 27148 */ // GIR_Coverage, 794,
10496 /* 27148 */ GIR_EraseRootFromParent_Done,
10497 /* 27149 */ // Label 897: @27149
10498 /* 27149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 898*/ GIMT_Encode4(27193), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 795 //
10499 /* 27156 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsun_d),
10500 /* 27161 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10501 /* 27164 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10502 /* 27167 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10503 /* 27170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10504 /* 27174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10505 /* 27178 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10506 /* 27182 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8314:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSUN_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10507 /* 27182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUN_D),
10508 /* 27185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10509 /* 27187 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10510 /* 27189 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10511 /* 27191 */ GIR_RootConstrainSelectedInstOperands,
10512 /* 27192 */ // GIR_Coverage, 795,
10513 /* 27192 */ GIR_EraseRootFromParent_Done,
10514 /* 27193 */ // Label 898: @27193
10515 /* 27193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 899*/ GIMT_Encode4(27237), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 796 //
10516 /* 27200 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsune_w),
10517 /* 27205 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10518 /* 27208 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10519 /* 27211 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10520 /* 27214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10521 /* 27218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10522 /* 27222 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10523 /* 27226 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8317:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSUNE_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10524 /* 27226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUNE_W),
10525 /* 27229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10526 /* 27231 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10527 /* 27233 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10528 /* 27235 */ GIR_RootConstrainSelectedInstOperands,
10529 /* 27236 */ // GIR_Coverage, 796,
10530 /* 27236 */ GIR_EraseRootFromParent_Done,
10531 /* 27237 */ // Label 899: @27237
10532 /* 27237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 900*/ GIMT_Encode4(27281), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 797 //
10533 /* 27244 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_fsune_d),
10534 /* 27249 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10535 /* 27252 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10536 /* 27255 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10537 /* 27258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10538 /* 27262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10539 /* 27266 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10540 /* 27270 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8316:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSUNE_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10541 /* 27270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUNE_D),
10542 /* 27273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10543 /* 27275 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10544 /* 27277 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10545 /* 27279 */ GIR_RootConstrainSelectedInstOperands,
10546 /* 27280 */ // GIR_Coverage, 797,
10547 /* 27280 */ GIR_EraseRootFromParent_Done,
10548 /* 27281 */ // Label 900: @27281
10549 /* 27281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 901*/ GIMT_Encode4(27325), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 802 //
10550 /* 27288 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftq_h),
10551 /* 27293 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10552 /* 27296 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10553 /* 27299 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10554 /* 27302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10555 /* 27306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10556 /* 27310 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10557 /* 27314 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8322:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FTQ_H:{ *:[v8i16] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
10558 /* 27314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTQ_H),
10559 /* 27317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10560 /* 27319 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10561 /* 27321 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10562 /* 27323 */ GIR_RootConstrainSelectedInstOperands,
10563 /* 27324 */ // GIR_Coverage, 802,
10564 /* 27324 */ GIR_EraseRootFromParent_Done,
10565 /* 27325 */ // Label 901: @27325
10566 /* 27325 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 902*/ GIMT_Encode4(27369), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 803 //
10567 /* 27332 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ftq_w),
10568 /* 27337 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10569 /* 27340 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10570 /* 27343 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10571 /* 27346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10572 /* 27350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10573 /* 27354 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10574 /* 27358 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8323:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FTQ_W:{ *:[v4i32] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
10575 /* 27358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FTQ_W),
10576 /* 27361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10577 /* 27363 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10578 /* 27365 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10579 /* 27367 */ GIR_RootConstrainSelectedInstOperands,
10580 /* 27368 */ // GIR_Coverage, 803,
10581 /* 27368 */ GIR_EraseRootFromParent_Done,
10582 /* 27369 */ // Label 902: @27369
10583 /* 27369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 903*/ GIMT_Encode4(27413), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 808 //
10584 /* 27376 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_s_h),
10585 /* 27381 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10586 /* 27384 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10587 /* 27387 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10588 /* 27390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10589 /* 27394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10590 /* 27398 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10591 /* 27402 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8329:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (HADD_S_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10592 /* 27402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_S_H),
10593 /* 27405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10594 /* 27407 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10595 /* 27409 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10596 /* 27411 */ GIR_RootConstrainSelectedInstOperands,
10597 /* 27412 */ // GIR_Coverage, 808,
10598 /* 27412 */ GIR_EraseRootFromParent_Done,
10599 /* 27413 */ // Label 903: @27413
10600 /* 27413 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 904*/ GIMT_Encode4(27457), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 809 //
10601 /* 27420 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_s_w),
10602 /* 27425 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10603 /* 27428 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10604 /* 27431 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10605 /* 27434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10606 /* 27438 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10607 /* 27442 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10608 /* 27446 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8330:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (HADD_S_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10609 /* 27446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_S_W),
10610 /* 27449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10611 /* 27451 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10612 /* 27453 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10613 /* 27455 */ GIR_RootConstrainSelectedInstOperands,
10614 /* 27456 */ // GIR_Coverage, 809,
10615 /* 27456 */ GIR_EraseRootFromParent_Done,
10616 /* 27457 */ // Label 904: @27457
10617 /* 27457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 905*/ GIMT_Encode4(27501), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 810 //
10618 /* 27464 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_s_d),
10619 /* 27469 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10620 /* 27472 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10621 /* 27475 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10622 /* 27478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10623 /* 27482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10624 /* 27486 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10625 /* 27490 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8328:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (HADD_S_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10626 /* 27490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_S_D),
10627 /* 27493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10628 /* 27495 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10629 /* 27497 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10630 /* 27499 */ GIR_RootConstrainSelectedInstOperands,
10631 /* 27500 */ // GIR_Coverage, 810,
10632 /* 27500 */ GIR_EraseRootFromParent_Done,
10633 /* 27501 */ // Label 905: @27501
10634 /* 27501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 906*/ GIMT_Encode4(27545), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 811 //
10635 /* 27508 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_u_h),
10636 /* 27513 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10637 /* 27516 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10638 /* 27519 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10639 /* 27522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10640 /* 27526 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10641 /* 27530 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10642 /* 27534 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8332:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (HADD_U_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10643 /* 27534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_U_H),
10644 /* 27537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10645 /* 27539 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10646 /* 27541 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10647 /* 27543 */ GIR_RootConstrainSelectedInstOperands,
10648 /* 27544 */ // GIR_Coverage, 811,
10649 /* 27544 */ GIR_EraseRootFromParent_Done,
10650 /* 27545 */ // Label 906: @27545
10651 /* 27545 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 907*/ GIMT_Encode4(27589), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 812 //
10652 /* 27552 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_u_w),
10653 /* 27557 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10654 /* 27560 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10655 /* 27563 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10656 /* 27566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10657 /* 27570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10658 /* 27574 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10659 /* 27578 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8333:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (HADD_U_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10660 /* 27578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_U_W),
10661 /* 27581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10662 /* 27583 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10663 /* 27585 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10664 /* 27587 */ GIR_RootConstrainSelectedInstOperands,
10665 /* 27588 */ // GIR_Coverage, 812,
10666 /* 27588 */ GIR_EraseRootFromParent_Done,
10667 /* 27589 */ // Label 907: @27589
10668 /* 27589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 908*/ GIMT_Encode4(27633), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 813 //
10669 /* 27596 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hadd_u_d),
10670 /* 27601 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10671 /* 27604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10672 /* 27607 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10673 /* 27610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10674 /* 27614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10675 /* 27618 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10676 /* 27622 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8331:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (HADD_U_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10677 /* 27622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HADD_U_D),
10678 /* 27625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10679 /* 27627 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10680 /* 27629 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10681 /* 27631 */ GIR_RootConstrainSelectedInstOperands,
10682 /* 27632 */ // GIR_Coverage, 813,
10683 /* 27632 */ GIR_EraseRootFromParent_Done,
10684 /* 27633 */ // Label 908: @27633
10685 /* 27633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 909*/ GIMT_Encode4(27677), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 814 //
10686 /* 27640 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_s_h),
10687 /* 27645 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10688 /* 27648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10689 /* 27651 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10690 /* 27654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10691 /* 27658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10692 /* 27662 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10693 /* 27666 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8335:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (HSUB_S_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10694 /* 27666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_S_H),
10695 /* 27669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10696 /* 27671 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10697 /* 27673 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10698 /* 27675 */ GIR_RootConstrainSelectedInstOperands,
10699 /* 27676 */ // GIR_Coverage, 814,
10700 /* 27676 */ GIR_EraseRootFromParent_Done,
10701 /* 27677 */ // Label 909: @27677
10702 /* 27677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 910*/ GIMT_Encode4(27721), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 815 //
10703 /* 27684 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_s_w),
10704 /* 27689 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10705 /* 27692 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10706 /* 27695 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10707 /* 27698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10708 /* 27702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10709 /* 27706 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10710 /* 27710 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8336:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (HSUB_S_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10711 /* 27710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_S_W),
10712 /* 27713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10713 /* 27715 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10714 /* 27717 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10715 /* 27719 */ GIR_RootConstrainSelectedInstOperands,
10716 /* 27720 */ // GIR_Coverage, 815,
10717 /* 27720 */ GIR_EraseRootFromParent_Done,
10718 /* 27721 */ // Label 910: @27721
10719 /* 27721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 911*/ GIMT_Encode4(27765), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 816 //
10720 /* 27728 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_s_d),
10721 /* 27733 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10722 /* 27736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10723 /* 27739 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10724 /* 27742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10725 /* 27746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10726 /* 27750 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10727 /* 27754 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8334:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (HSUB_S_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10728 /* 27754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_S_D),
10729 /* 27757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10730 /* 27759 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10731 /* 27761 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10732 /* 27763 */ GIR_RootConstrainSelectedInstOperands,
10733 /* 27764 */ // GIR_Coverage, 816,
10734 /* 27764 */ GIR_EraseRootFromParent_Done,
10735 /* 27765 */ // Label 911: @27765
10736 /* 27765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 912*/ GIMT_Encode4(27809), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 817 //
10737 /* 27772 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_u_h),
10738 /* 27777 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10739 /* 27780 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10740 /* 27783 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10741 /* 27786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10742 /* 27790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10743 /* 27794 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10744 /* 27798 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8338:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (HSUB_U_H:{ *:[v8i16] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10745 /* 27798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_U_H),
10746 /* 27801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10747 /* 27803 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10748 /* 27805 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10749 /* 27807 */ GIR_RootConstrainSelectedInstOperands,
10750 /* 27808 */ // GIR_Coverage, 817,
10751 /* 27808 */ GIR_EraseRootFromParent_Done,
10752 /* 27809 */ // Label 912: @27809
10753 /* 27809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 913*/ GIMT_Encode4(27853), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 818 //
10754 /* 27816 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_u_w),
10755 /* 27821 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10756 /* 27824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10757 /* 27827 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10758 /* 27830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10759 /* 27834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10760 /* 27838 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10761 /* 27842 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8339:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (HSUB_U_W:{ *:[v4i32] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10762 /* 27842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_U_W),
10763 /* 27845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10764 /* 27847 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10765 /* 27849 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10766 /* 27851 */ GIR_RootConstrainSelectedInstOperands,
10767 /* 27852 */ // GIR_Coverage, 818,
10768 /* 27852 */ GIR_EraseRootFromParent_Done,
10769 /* 27853 */ // Label 913: @27853
10770 /* 27853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 914*/ GIMT_Encode4(27897), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 819 //
10771 /* 27860 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_hsub_u_d),
10772 /* 27865 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10773 /* 27868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10774 /* 27871 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10775 /* 27874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10776 /* 27878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10777 /* 27882 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10778 /* 27886 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8337:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (HSUB_U_D:{ *:[v2i64] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10779 /* 27886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::HSUB_U_D),
10780 /* 27889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10781 /* 27891 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10782 /* 27893 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10783 /* 27895 */ GIR_RootConstrainSelectedInstOperands,
10784 /* 27896 */ // GIR_Coverage, 819,
10785 /* 27896 */ GIR_EraseRootFromParent_Done,
10786 /* 27897 */ // Label 914: @27897
10787 /* 27897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 915*/ GIMT_Encode4(27941), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 872 //
10788 /* 27904 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_max_a_b),
10789 /* 27909 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
10790 /* 27912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10791 /* 27915 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10792 /* 27918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10793 /* 27922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10794 /* 27926 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10795 /* 27930 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8393:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MAX_A_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10796 /* 27930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MAX_A_B),
10797 /* 27933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10798 /* 27935 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10799 /* 27937 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10800 /* 27939 */ GIR_RootConstrainSelectedInstOperands,
10801 /* 27940 */ // GIR_Coverage, 872,
10802 /* 27940 */ GIR_EraseRootFromParent_Done,
10803 /* 27941 */ // Label 915: @27941
10804 /* 27941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 916*/ GIMT_Encode4(27985), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 873 //
10805 /* 27948 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_max_a_h),
10806 /* 27953 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10807 /* 27956 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10808 /* 27959 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10809 /* 27962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10810 /* 27966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10811 /* 27970 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10812 /* 27974 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8395:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MAX_A_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10813 /* 27974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MAX_A_H),
10814 /* 27977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10815 /* 27979 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10816 /* 27981 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10817 /* 27983 */ GIR_RootConstrainSelectedInstOperands,
10818 /* 27984 */ // GIR_Coverage, 873,
10819 /* 27984 */ GIR_EraseRootFromParent_Done,
10820 /* 27985 */ // Label 916: @27985
10821 /* 27985 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 917*/ GIMT_Encode4(28029), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 874 //
10822 /* 27992 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_max_a_w),
10823 /* 27997 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10824 /* 28000 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10825 /* 28003 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10826 /* 28006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10827 /* 28010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10828 /* 28014 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10829 /* 28018 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8396:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MAX_A_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10830 /* 28018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MAX_A_W),
10831 /* 28021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10832 /* 28023 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10833 /* 28025 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10834 /* 28027 */ GIR_RootConstrainSelectedInstOperands,
10835 /* 28028 */ // GIR_Coverage, 874,
10836 /* 28028 */ GIR_EraseRootFromParent_Done,
10837 /* 28029 */ // Label 917: @28029
10838 /* 28029 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 918*/ GIMT_Encode4(28073), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 875 //
10839 /* 28036 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_max_a_d),
10840 /* 28041 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10841 /* 28044 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10842 /* 28047 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10843 /* 28050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10844 /* 28054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10845 /* 28058 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10846 /* 28062 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8394:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MAX_A_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
10847 /* 28062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MAX_A_D),
10848 /* 28065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10849 /* 28067 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10850 /* 28069 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10851 /* 28071 */ GIR_RootConstrainSelectedInstOperands,
10852 /* 28072 */ // GIR_Coverage, 875,
10853 /* 28072 */ GIR_EraseRootFromParent_Done,
10854 /* 28073 */ // Label 918: @28073
10855 /* 28073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 919*/ GIMT_Encode4(28117), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 892 //
10856 /* 28080 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_min_a_b),
10857 /* 28085 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
10858 /* 28088 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10859 /* 28091 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10860 /* 28094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10861 /* 28098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10862 /* 28102 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10863 /* 28106 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8413:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MIN_A_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
10864 /* 28106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_A_B),
10865 /* 28109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10866 /* 28111 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10867 /* 28113 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10868 /* 28115 */ GIR_RootConstrainSelectedInstOperands,
10869 /* 28116 */ // GIR_Coverage, 892,
10870 /* 28116 */ GIR_EraseRootFromParent_Done,
10871 /* 28117 */ // Label 919: @28117
10872 /* 28117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 920*/ GIMT_Encode4(28161), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 893 //
10873 /* 28124 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_min_a_h),
10874 /* 28129 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10875 /* 28132 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10876 /* 28135 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10877 /* 28138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10878 /* 28142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10879 /* 28146 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10880 /* 28150 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8415:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MIN_A_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10881 /* 28150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_A_H),
10882 /* 28153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10883 /* 28155 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10884 /* 28157 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10885 /* 28159 */ GIR_RootConstrainSelectedInstOperands,
10886 /* 28160 */ // GIR_Coverage, 893,
10887 /* 28160 */ GIR_EraseRootFromParent_Done,
10888 /* 28161 */ // Label 920: @28161
10889 /* 28161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 921*/ GIMT_Encode4(28205), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 894 //
10890 /* 28168 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_min_a_w),
10891 /* 28173 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10892 /* 28176 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10893 /* 28179 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10894 /* 28182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10895 /* 28186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10896 /* 28190 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10897 /* 28194 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8416:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MIN_A_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10898 /* 28194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_A_W),
10899 /* 28197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10900 /* 28199 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10901 /* 28201 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10902 /* 28203 */ GIR_RootConstrainSelectedInstOperands,
10903 /* 28204 */ // GIR_Coverage, 894,
10904 /* 28204 */ GIR_EraseRootFromParent_Done,
10905 /* 28205 */ // Label 921: @28205
10906 /* 28205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 922*/ GIMT_Encode4(28249), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 895 //
10907 /* 28212 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_min_a_d),
10908 /* 28217 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
10909 /* 28220 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
10910 /* 28223 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
10911 /* 28226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10912 /* 28230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10913 /* 28234 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
10914 /* 28238 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8414:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MIN_A_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
10915 /* 28238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_A_D),
10916 /* 28241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10917 /* 28243 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10918 /* 28245 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10919 /* 28247 */ GIR_RootConstrainSelectedInstOperands,
10920 /* 28248 */ // GIR_Coverage, 895,
10921 /* 28248 */ GIR_EraseRootFromParent_Done,
10922 /* 28249 */ // Label 922: @28249
10923 /* 28249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 923*/ GIMT_Encode4(28293), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 928 //
10924 /* 28256 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_q_h),
10925 /* 28261 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10926 /* 28264 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10927 /* 28267 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10928 /* 28270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10929 /* 28274 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10930 /* 28278 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10931 /* 28282 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8455:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MUL_Q_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10932 /* 28282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_Q_H),
10933 /* 28285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10934 /* 28287 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10935 /* 28289 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10936 /* 28291 */ GIR_RootConstrainSelectedInstOperands,
10937 /* 28292 */ // GIR_Coverage, 928,
10938 /* 28292 */ GIR_EraseRootFromParent_Done,
10939 /* 28293 */ // Label 923: @28293
10940 /* 28293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 924*/ GIMT_Encode4(28337), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 929 //
10941 /* 28300 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_q_w),
10942 /* 28305 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10943 /* 28308 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10944 /* 28311 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10945 /* 28314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10946 /* 28318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10947 /* 28322 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10948 /* 28326 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8456:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MUL_Q_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10949 /* 28326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_Q_W),
10950 /* 28329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10951 /* 28331 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10952 /* 28333 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10953 /* 28335 */ GIR_RootConstrainSelectedInstOperands,
10954 /* 28336 */ // GIR_Coverage, 929,
10955 /* 28336 */ GIR_EraseRootFromParent_Done,
10956 /* 28337 */ // Label 924: @28337
10957 /* 28337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 925*/ GIMT_Encode4(28381), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 930 //
10958 /* 28344 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulr_q_h),
10959 /* 28349 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
10960 /* 28352 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10961 /* 28355 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
10962 /* 28358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10963 /* 28362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10964 /* 28366 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
10965 /* 28370 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8466:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MULR_Q_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
10966 /* 28370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULR_Q_H),
10967 /* 28373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10968 /* 28375 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10969 /* 28377 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10970 /* 28379 */ GIR_RootConstrainSelectedInstOperands,
10971 /* 28380 */ // GIR_Coverage, 930,
10972 /* 28380 */ GIR_EraseRootFromParent_Done,
10973 /* 28381 */ // Label 925: @28381
10974 /* 28381 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 926*/ GIMT_Encode4(28425), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 931 //
10975 /* 28388 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulr_q_w),
10976 /* 28393 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
10977 /* 28396 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
10978 /* 28399 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
10979 /* 28402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10980 /* 28406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10981 /* 28410 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
10982 /* 28414 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8467:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MULR_Q_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
10983 /* 28414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULR_Q_W),
10984 /* 28417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
10985 /* 28419 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
10986 /* 28421 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
10987 /* 28423 */ GIR_RootConstrainSelectedInstOperands,
10988 /* 28424 */ // GIR_Coverage, 931,
10989 /* 28424 */ GIR_EraseRootFromParent_Done,
10990 /* 28425 */ // Label 926: @28425
10991 /* 28425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 927*/ GIMT_Encode4(28469), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1009 //
10992 /* 28432 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srar_b),
10993 /* 28437 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
10994 /* 28440 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10995 /* 28443 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
10996 /* 28446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10997 /* 28450 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10998 /* 28454 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
10999 /* 28458 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8580:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SRAR_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11000 /* 28458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRAR_B),
11001 /* 28461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11002 /* 28463 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11003 /* 28465 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11004 /* 28467 */ GIR_RootConstrainSelectedInstOperands,
11005 /* 28468 */ // GIR_Coverage, 1009,
11006 /* 28468 */ GIR_EraseRootFromParent_Done,
11007 /* 28469 */ // Label 927: @28469
11008 /* 28469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 928*/ GIMT_Encode4(28513), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1010 //
11009 /* 28476 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srar_h),
11010 /* 28481 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11011 /* 28484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11012 /* 28487 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11013 /* 28490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11014 /* 28494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11015 /* 28498 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11016 /* 28502 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8582:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SRAR_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11017 /* 28502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRAR_H),
11018 /* 28505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11019 /* 28507 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11020 /* 28509 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11021 /* 28511 */ GIR_RootConstrainSelectedInstOperands,
11022 /* 28512 */ // GIR_Coverage, 1010,
11023 /* 28512 */ GIR_EraseRootFromParent_Done,
11024 /* 28513 */ // Label 928: @28513
11025 /* 28513 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 929*/ GIMT_Encode4(28557), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1011 //
11026 /* 28520 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srar_w),
11027 /* 28525 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11028 /* 28528 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11029 /* 28531 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11030 /* 28534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11031 /* 28538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11032 /* 28542 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11033 /* 28546 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8583:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SRAR_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11034 /* 28546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRAR_W),
11035 /* 28549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11036 /* 28551 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11037 /* 28553 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11038 /* 28555 */ GIR_RootConstrainSelectedInstOperands,
11039 /* 28556 */ // GIR_Coverage, 1011,
11040 /* 28556 */ GIR_EraseRootFromParent_Done,
11041 /* 28557 */ // Label 929: @28557
11042 /* 28557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 930*/ GIMT_Encode4(28601), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1012 //
11043 /* 28564 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srar_d),
11044 /* 28569 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11045 /* 28572 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11046 /* 28575 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11047 /* 28578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11048 /* 28582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11049 /* 28586 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11050 /* 28590 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8581:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SRAR_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11051 /* 28590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRAR_D),
11052 /* 28593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11053 /* 28595 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11054 /* 28597 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11055 /* 28599 */ GIR_RootConstrainSelectedInstOperands,
11056 /* 28600 */ // GIR_Coverage, 1012,
11057 /* 28600 */ GIR_EraseRootFromParent_Done,
11058 /* 28601 */ // Label 930: @28601
11059 /* 28601 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 931*/ GIMT_Encode4(28645), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1025 //
11060 /* 28608 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlr_b),
11061 /* 28613 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11062 /* 28616 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11063 /* 28619 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11064 /* 28622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11065 /* 28626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11066 /* 28630 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11067 /* 28634 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8596:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SRLR_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11068 /* 28634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLR_B),
11069 /* 28637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11070 /* 28639 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11071 /* 28641 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11072 /* 28643 */ GIR_RootConstrainSelectedInstOperands,
11073 /* 28644 */ // GIR_Coverage, 1025,
11074 /* 28644 */ GIR_EraseRootFromParent_Done,
11075 /* 28645 */ // Label 931: @28645
11076 /* 28645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 932*/ GIMT_Encode4(28689), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1026 //
11077 /* 28652 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlr_h),
11078 /* 28657 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11079 /* 28660 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11080 /* 28663 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11081 /* 28666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11082 /* 28670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11083 /* 28674 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11084 /* 28678 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8598:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SRLR_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11085 /* 28678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLR_H),
11086 /* 28681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11087 /* 28683 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11088 /* 28685 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11089 /* 28687 */ GIR_RootConstrainSelectedInstOperands,
11090 /* 28688 */ // GIR_Coverage, 1026,
11091 /* 28688 */ GIR_EraseRootFromParent_Done,
11092 /* 28689 */ // Label 932: @28689
11093 /* 28689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 933*/ GIMT_Encode4(28733), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1027 //
11094 /* 28696 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlr_w),
11095 /* 28701 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11096 /* 28704 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11097 /* 28707 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11098 /* 28710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11099 /* 28714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11100 /* 28718 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11101 /* 28722 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8599:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SRLR_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11102 /* 28722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLR_W),
11103 /* 28725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11104 /* 28727 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11105 /* 28729 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11106 /* 28731 */ GIR_RootConstrainSelectedInstOperands,
11107 /* 28732 */ // GIR_Coverage, 1027,
11108 /* 28732 */ GIR_EraseRootFromParent_Done,
11109 /* 28733 */ // Label 933: @28733
11110 /* 28733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 934*/ GIMT_Encode4(28777), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1028 //
11111 /* 28740 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_srlr_d),
11112 /* 28745 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11113 /* 28748 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11114 /* 28751 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11115 /* 28754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11116 /* 28758 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11117 /* 28762 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11118 /* 28766 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8597:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SRLR_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11119 /* 28766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRLR_D),
11120 /* 28769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11121 /* 28771 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11122 /* 28773 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11123 /* 28775 */ GIR_RootConstrainSelectedInstOperands,
11124 /* 28776 */ // GIR_Coverage, 1028,
11125 /* 28776 */ GIR_EraseRootFromParent_Done,
11126 /* 28777 */ // Label 934: @28777
11127 /* 28777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 935*/ GIMT_Encode4(28821), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1037 //
11128 /* 28784 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_s_b),
11129 /* 28789 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11130 /* 28792 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11131 /* 28795 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11132 /* 28798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11133 /* 28802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11134 /* 28806 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11135 /* 28810 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8617:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBS_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11136 /* 28810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_S_B),
11137 /* 28813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11138 /* 28815 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11139 /* 28817 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11140 /* 28819 */ GIR_RootConstrainSelectedInstOperands,
11141 /* 28820 */ // GIR_Coverage, 1037,
11142 /* 28820 */ GIR_EraseRootFromParent_Done,
11143 /* 28821 */ // Label 935: @28821
11144 /* 28821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 936*/ GIMT_Encode4(28865), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1038 //
11145 /* 28828 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_s_h),
11146 /* 28833 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11147 /* 28836 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11148 /* 28839 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11149 /* 28842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11150 /* 28846 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11151 /* 28850 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11152 /* 28854 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8619:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBS_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11153 /* 28854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_S_H),
11154 /* 28857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11155 /* 28859 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11156 /* 28861 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11157 /* 28863 */ GIR_RootConstrainSelectedInstOperands,
11158 /* 28864 */ // GIR_Coverage, 1038,
11159 /* 28864 */ GIR_EraseRootFromParent_Done,
11160 /* 28865 */ // Label 936: @28865
11161 /* 28865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 937*/ GIMT_Encode4(28909), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1039 //
11162 /* 28872 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_s_w),
11163 /* 28877 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11164 /* 28880 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11165 /* 28883 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11166 /* 28886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11167 /* 28890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11168 /* 28894 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11169 /* 28898 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8620:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBS_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11170 /* 28898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_S_W),
11171 /* 28901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11172 /* 28903 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11173 /* 28905 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11174 /* 28907 */ GIR_RootConstrainSelectedInstOperands,
11175 /* 28908 */ // GIR_Coverage, 1039,
11176 /* 28908 */ GIR_EraseRootFromParent_Done,
11177 /* 28909 */ // Label 937: @28909
11178 /* 28909 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 938*/ GIMT_Encode4(28953), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1040 //
11179 /* 28916 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_s_d),
11180 /* 28921 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11181 /* 28924 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11182 /* 28927 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11183 /* 28930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11184 /* 28934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11185 /* 28938 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11186 /* 28942 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8618:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBS_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11187 /* 28942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_S_D),
11188 /* 28945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11189 /* 28947 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11190 /* 28949 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11191 /* 28951 */ GIR_RootConstrainSelectedInstOperands,
11192 /* 28952 */ // GIR_Coverage, 1040,
11193 /* 28952 */ GIR_EraseRootFromParent_Done,
11194 /* 28953 */ // Label 938: @28953
11195 /* 28953 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 939*/ GIMT_Encode4(28997), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1041 //
11196 /* 28960 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_u_b),
11197 /* 28965 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11198 /* 28968 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11199 /* 28971 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11200 /* 28974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11201 /* 28978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11202 /* 28982 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11203 /* 28986 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8621:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBS_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11204 /* 28986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_U_B),
11205 /* 28989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11206 /* 28991 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11207 /* 28993 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11208 /* 28995 */ GIR_RootConstrainSelectedInstOperands,
11209 /* 28996 */ // GIR_Coverage, 1041,
11210 /* 28996 */ GIR_EraseRootFromParent_Done,
11211 /* 28997 */ // Label 939: @28997
11212 /* 28997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 940*/ GIMT_Encode4(29041), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1042 //
11213 /* 29004 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_u_h),
11214 /* 29009 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11215 /* 29012 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11216 /* 29015 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11217 /* 29018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11218 /* 29022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11219 /* 29026 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11220 /* 29030 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8623:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBS_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11221 /* 29030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_U_H),
11222 /* 29033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11223 /* 29035 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11224 /* 29037 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11225 /* 29039 */ GIR_RootConstrainSelectedInstOperands,
11226 /* 29040 */ // GIR_Coverage, 1042,
11227 /* 29040 */ GIR_EraseRootFromParent_Done,
11228 /* 29041 */ // Label 940: @29041
11229 /* 29041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 941*/ GIMT_Encode4(29085), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1043 //
11230 /* 29048 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_u_w),
11231 /* 29053 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11232 /* 29056 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11233 /* 29059 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11234 /* 29062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11235 /* 29066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11236 /* 29070 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11237 /* 29074 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8624:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBS_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11238 /* 29074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_U_W),
11239 /* 29077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11240 /* 29079 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11241 /* 29081 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11242 /* 29083 */ GIR_RootConstrainSelectedInstOperands,
11243 /* 29084 */ // GIR_Coverage, 1043,
11244 /* 29084 */ GIR_EraseRootFromParent_Done,
11245 /* 29085 */ // Label 941: @29085
11246 /* 29085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 942*/ GIMT_Encode4(29129), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1044 //
11247 /* 29092 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subs_u_d),
11248 /* 29097 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11249 /* 29100 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11250 /* 29103 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11251 /* 29106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11252 /* 29110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11253 /* 29114 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11254 /* 29118 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8622:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBS_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11255 /* 29118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBS_U_D),
11256 /* 29121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11257 /* 29123 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11258 /* 29125 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11259 /* 29127 */ GIR_RootConstrainSelectedInstOperands,
11260 /* 29128 */ // GIR_Coverage, 1044,
11261 /* 29128 */ GIR_EraseRootFromParent_Done,
11262 /* 29129 */ // Label 942: @29129
11263 /* 29129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 943*/ GIMT_Encode4(29173), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1045 //
11264 /* 29136 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsus_u_b),
11265 /* 29141 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11266 /* 29144 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11267 /* 29147 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11268 /* 29150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11269 /* 29154 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11270 /* 29158 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11271 /* 29162 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8625:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBSUS_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11272 /* 29162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUS_U_B),
11273 /* 29165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11274 /* 29167 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11275 /* 29169 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11276 /* 29171 */ GIR_RootConstrainSelectedInstOperands,
11277 /* 29172 */ // GIR_Coverage, 1045,
11278 /* 29172 */ GIR_EraseRootFromParent_Done,
11279 /* 29173 */ // Label 943: @29173
11280 /* 29173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 944*/ GIMT_Encode4(29217), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1046 //
11281 /* 29180 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsus_u_h),
11282 /* 29185 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11283 /* 29188 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11284 /* 29191 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11285 /* 29194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11286 /* 29198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11287 /* 29202 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11288 /* 29206 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8627:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBSUS_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11289 /* 29206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUS_U_H),
11290 /* 29209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11291 /* 29211 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11292 /* 29213 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11293 /* 29215 */ GIR_RootConstrainSelectedInstOperands,
11294 /* 29216 */ // GIR_Coverage, 1046,
11295 /* 29216 */ GIR_EraseRootFromParent_Done,
11296 /* 29217 */ // Label 944: @29217
11297 /* 29217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 945*/ GIMT_Encode4(29261), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1047 //
11298 /* 29224 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsus_u_w),
11299 /* 29229 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11300 /* 29232 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11301 /* 29235 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11302 /* 29238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11303 /* 29242 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11304 /* 29246 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11305 /* 29250 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8628:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBSUS_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11306 /* 29250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUS_U_W),
11307 /* 29253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11308 /* 29255 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11309 /* 29257 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11310 /* 29259 */ GIR_RootConstrainSelectedInstOperands,
11311 /* 29260 */ // GIR_Coverage, 1047,
11312 /* 29260 */ GIR_EraseRootFromParent_Done,
11313 /* 29261 */ // Label 945: @29261
11314 /* 29261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 946*/ GIMT_Encode4(29305), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1048 //
11315 /* 29268 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsus_u_d),
11316 /* 29273 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11317 /* 29276 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11318 /* 29279 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11319 /* 29282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11320 /* 29286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11321 /* 29290 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11322 /* 29294 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8626:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBSUS_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11323 /* 29294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUS_U_D),
11324 /* 29297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11325 /* 29299 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11326 /* 29301 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11327 /* 29303 */ GIR_RootConstrainSelectedInstOperands,
11328 /* 29304 */ // GIR_Coverage, 1048,
11329 /* 29304 */ GIR_EraseRootFromParent_Done,
11330 /* 29305 */ // Label 946: @29305
11331 /* 29305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 947*/ GIMT_Encode4(29349), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1049 //
11332 /* 29312 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsuu_s_b),
11333 /* 29317 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
11334 /* 29320 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11335 /* 29323 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
11336 /* 29326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11337 /* 29330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11338 /* 29334 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
11339 /* 29338 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8629:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SUBSUU_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
11340 /* 29338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUU_S_B),
11341 /* 29341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11342 /* 29343 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11343 /* 29345 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11344 /* 29347 */ GIR_RootConstrainSelectedInstOperands,
11345 /* 29348 */ // GIR_Coverage, 1049,
11346 /* 29348 */ GIR_EraseRootFromParent_Done,
11347 /* 29349 */ // Label 947: @29349
11348 /* 29349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 948*/ GIMT_Encode4(29393), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1050 //
11349 /* 29356 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsuu_s_h),
11350 /* 29361 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
11351 /* 29364 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11352 /* 29367 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
11353 /* 29370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11354 /* 29374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11355 /* 29378 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
11356 /* 29382 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8631:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SUBSUU_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
11357 /* 29382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUU_S_H),
11358 /* 29385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11359 /* 29387 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11360 /* 29389 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11361 /* 29391 */ GIR_RootConstrainSelectedInstOperands,
11362 /* 29392 */ // GIR_Coverage, 1050,
11363 /* 29392 */ GIR_EraseRootFromParent_Done,
11364 /* 29393 */ // Label 948: @29393
11365 /* 29393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 949*/ GIMT_Encode4(29437), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1051 //
11366 /* 29400 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsuu_s_w),
11367 /* 29405 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
11368 /* 29408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11369 /* 29411 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
11370 /* 29414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11371 /* 29418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11372 /* 29422 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
11373 /* 29426 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8632:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SUBSUU_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
11374 /* 29426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUU_S_W),
11375 /* 29429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11376 /* 29431 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11377 /* 29433 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11378 /* 29435 */ GIR_RootConstrainSelectedInstOperands,
11379 /* 29436 */ // GIR_Coverage, 1051,
11380 /* 29436 */ GIR_EraseRootFromParent_Done,
11381 /* 29437 */ // Label 949: @29437
11382 /* 29437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 950*/ GIMT_Encode4(29481), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1052 //
11383 /* 29444 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subsuu_s_d),
11384 /* 29449 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
11385 /* 29452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11386 /* 29455 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
11387 /* 29458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11388 /* 29462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11389 /* 29466 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
11390 /* 29470 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8630:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SUBSUU_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
11391 /* 29470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBSUU_S_D),
11392 /* 29473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
11393 /* 29475 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
11394 /* 29477 */ GIR_RootToRootCopy, /*OpIdx*/3, // wt
11395 /* 29479 */ GIR_RootConstrainSelectedInstOperands,
11396 /* 29480 */ // GIR_Coverage, 1052,
11397 /* 29480 */ GIR_EraseRootFromParent_Done,
11398 /* 29481 */ // Label 950: @29481
11399 /* 29481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 951*/ GIMT_Encode4(29528), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1245 //
11400 /* 29488 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_s_ph),
11401 /* 29493 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11402 /* 29496 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11403 /* 29499 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11404 /* 29502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11405 /* 29506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11406 /* 29510 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11407 /* 29514 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7991:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQ_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
11408 /* 29514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_S_PH_MM),
11409 /* 29517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11410 /* 29519 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11411 /* 29521 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11412 /* 29523 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
11413 /* 29526 */ GIR_RootConstrainSelectedInstOperands,
11414 /* 29527 */ // GIR_Coverage, 1245,
11415 /* 29527 */ GIR_EraseRootFromParent_Done,
11416 /* 29528 */ // Label 951: @29528
11417 /* 29528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 952*/ GIMT_Encode4(29575), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1247 //
11418 /* 29535 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_s_qb),
11419 /* 29540 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11420 /* 29543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11421 /* 29546 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
11422 /* 29549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11423 /* 29553 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11424 /* 29557 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11425 /* 29561 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8013:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDU_S_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
11426 /* 29561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_S_QB_MM),
11427 /* 29564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11428 /* 29566 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11429 /* 29568 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11430 /* 29570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
11431 /* 29573 */ GIR_RootConstrainSelectedInstOperands,
11432 /* 29574 */ // GIR_Coverage, 1247,
11433 /* 29574 */ GIR_EraseRootFromParent_Done,
11434 /* 29575 */ // Label 952: @29575
11435 /* 29575 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 953*/ GIMT_Encode4(29619), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1268 //
11436 /* 29582 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_ph),
11437 /* 29587 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11438 /* 29590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11439 /* 29593 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11440 /* 29596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11441 /* 29600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11442 /* 29604 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11443 /* 29608 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8541:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
11444 /* 29608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_PH_MM),
11445 /* 29611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11446 /* 29613 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
11447 /* 29615 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11448 /* 29617 */ GIR_RootConstrainSelectedInstOperands,
11449 /* 29618 */ // GIR_Coverage, 1268,
11450 /* 29618 */ GIR_EraseRootFromParent_Done,
11451 /* 29619 */ // Label 953: @29619
11452 /* 29619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 954*/ GIMT_Encode4(29663), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1269 //
11453 /* 29626 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
11454 /* 29631 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11455 /* 29634 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11456 /* 29637 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11457 /* 29640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11458 /* 29644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11459 /* 29648 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11460 /* 29652 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8543:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_R_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
11461 /* 29652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_PH_MM),
11462 /* 29655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11463 /* 29657 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
11464 /* 29659 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11465 /* 29661 */ GIR_RootConstrainSelectedInstOperands,
11466 /* 29662 */ // GIR_Coverage, 1269,
11467 /* 29662 */ GIR_EraseRootFromParent_Done,
11468 /* 29663 */ // Label 954: @29663
11469 /* 29663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 955*/ GIMT_Encode4(29707), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1270 //
11470 /* 29670 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
11471 /* 29675 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
11472 /* 29678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11473 /* 29681 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11474 /* 29684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11475 /* 29688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11476 /* 29692 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11477 /* 29696 */ // (intrinsic_wo_chain:{ *:[i32] } 8545:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_R_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
11478 /* 29696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_W_MM),
11479 /* 29699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11480 /* 29701 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
11481 /* 29703 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11482 /* 29705 */ GIR_RootConstrainSelectedInstOperands,
11483 /* 29706 */ // GIR_Coverage, 1270,
11484 /* 29706 */ GIR_EraseRootFromParent_Done,
11485 /* 29707 */ // Label 955: @29707
11486 /* 29707 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 956*/ GIMT_Encode4(29751), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1272 //
11487 /* 29714 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
11488 /* 29719 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11489 /* 29722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11490 /* 29725 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11491 /* 29728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11492 /* 29732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11493 /* 29736 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11494 /* 29740 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8547:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRLV_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
11495 /* 29740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRLV_QB_MM),
11496 /* 29743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11497 /* 29745 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
11498 /* 29747 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11499 /* 29749 */ GIR_RootConstrainSelectedInstOperands,
11500 /* 29750 */ // GIR_Coverage, 1272,
11501 /* 29750 */ GIR_EraseRootFromParent_Done,
11502 /* 29751 */ // Label 956: @29751
11503 /* 29751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 957*/ GIMT_Encode4(29798), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1283 //
11504 /* 29758 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_s_ph),
11505 /* 29763 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11506 /* 29766 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11507 /* 29769 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11508 /* 29772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11509 /* 29776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11510 /* 29780 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11511 /* 29784 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8611:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQ_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
11512 /* 29784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_S_PH_MM),
11513 /* 29787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11514 /* 29789 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11515 /* 29791 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11516 /* 29793 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
11517 /* 29796 */ GIR_RootConstrainSelectedInstOperands,
11518 /* 29797 */ // GIR_Coverage, 1283,
11519 /* 29797 */ GIR_EraseRootFromParent_Done,
11520 /* 29798 */ // Label 957: @29798
11521 /* 29798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 958*/ GIMT_Encode4(29845), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1285 //
11522 /* 29805 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_s_qb),
11523 /* 29810 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11524 /* 29813 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11525 /* 29816 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
11526 /* 29819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11527 /* 29823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11528 /* 29827 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11529 /* 29831 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8636:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBU_S_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
11530 /* 29831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_S_QB_MM),
11531 /* 29834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11532 /* 29836 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11533 /* 29838 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11534 /* 29840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
11535 /* 29843 */ GIR_RootConstrainSelectedInstOperands,
11536 /* 29844 */ // GIR_Coverage, 1285,
11537 /* 29844 */ GIR_EraseRootFromParent_Done,
11538 /* 29845 */ // Label 958: @29845
11539 /* 29845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 959*/ GIMT_Encode4(29889), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1295 //
11540 /* 29852 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_ph_w),
11541 /* 29857 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11542 /* 29860 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11543 /* 29863 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11544 /* 29866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11545 /* 29870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11546 /* 29874 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11547 /* 29878 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8516:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (PRECRQ_PH_W_MM:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
11548 /* 29878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_PH_W_MM),
11549 /* 29881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11550 /* 29883 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11551 /* 29885 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11552 /* 29887 */ GIR_RootConstrainSelectedInstOperands,
11553 /* 29888 */ // GIR_Coverage, 1295,
11554 /* 29888 */ GIR_EraseRootFromParent_Done,
11555 /* 29889 */ // Label 959: @29889
11556 /* 29889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 960*/ GIMT_Encode4(29933), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1296 //
11557 /* 29896 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_qb_ph),
11558 /* 29901 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11559 /* 29904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11560 /* 29907 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11561 /* 29910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11562 /* 29914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11563 /* 29918 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11564 /* 29922 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8517:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECRQ_QB_PH_MM:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
11565 /* 29922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_QB_PH_MM),
11566 /* 29925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11567 /* 29927 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11568 /* 29929 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11569 /* 29931 */ GIR_RootConstrainSelectedInstOperands,
11570 /* 29932 */ // GIR_Coverage, 1296,
11571 /* 29932 */ GIR_EraseRootFromParent_Done,
11572 /* 29933 */ // Label 960: @29933
11573 /* 29933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 961*/ GIMT_Encode4(29977), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1315 //
11574 /* 29940 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_packrl_ph),
11575 /* 29945 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11576 /* 29948 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11577 /* 29951 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11578 /* 29954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11579 /* 29958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11580 /* 29962 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11581 /* 29966 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8488:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PACKRL_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
11582 /* 29966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PACKRL_PH_MM),
11583 /* 29969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11584 /* 29971 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11585 /* 29973 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11586 /* 29975 */ GIR_RootConstrainSelectedInstOperands,
11587 /* 29976 */ // GIR_Coverage, 1315,
11588 /* 29976 */ GIR_EraseRootFromParent_Done,
11589 /* 29977 */ // Label 961: @29977
11590 /* 29977 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 962*/ GIMT_Encode4(30021), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1321 //
11591 /* 29984 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_modsub),
11592 /* 29989 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
11593 /* 29992 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11594 /* 29995 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11595 /* 29998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11596 /* 30002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11597 /* 30006 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11598 /* 30010 */ // (intrinsic_wo_chain:{ *:[i32] } 8441:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MODSUB_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
11599 /* 30010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MODSUB_MM),
11600 /* 30013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11601 /* 30015 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11602 /* 30017 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11603 /* 30019 */ GIR_RootConstrainSelectedInstOperands,
11604 /* 30020 */ // GIR_Coverage, 1321,
11605 /* 30020 */ GIR_EraseRootFromParent_Done,
11606 /* 30021 */ // Label 962: @30021
11607 /* 30021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 963*/ GIMT_Encode4(30065), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1334 //
11608 /* 30028 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_ph),
11609 /* 30033 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11610 /* 30036 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11611 /* 30039 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11612 /* 30042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11613 /* 30046 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11614 /* 30050 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11615 /* 30054 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7993:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQH_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
11616 /* 30054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_PH_MMR2),
11617 /* 30057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11618 /* 30059 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11619 /* 30061 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11620 /* 30063 */ GIR_RootConstrainSelectedInstOperands,
11621 /* 30064 */ // GIR_Coverage, 1334,
11622 /* 30064 */ GIR_EraseRootFromParent_Done,
11623 /* 30065 */ // Label 963: @30065
11624 /* 30065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 964*/ GIMT_Encode4(30109), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1335 //
11625 /* 30072 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_r_ph),
11626 /* 30077 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11627 /* 30080 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11628 /* 30083 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11629 /* 30086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11630 /* 30090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11631 /* 30094 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11632 /* 30098 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7994:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDQH_R_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
11633 /* 30098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_R_PH_MMR2),
11634 /* 30101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11635 /* 30103 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11636 /* 30105 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11637 /* 30107 */ GIR_RootConstrainSelectedInstOperands,
11638 /* 30108 */ // GIR_Coverage, 1335,
11639 /* 30108 */ GIR_EraseRootFromParent_Done,
11640 /* 30109 */ // Label 964: @30109
11641 /* 30109 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 965*/ GIMT_Encode4(30153), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1336 //
11642 /* 30116 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_w),
11643 /* 30121 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
11644 /* 30124 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11645 /* 30127 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11646 /* 30130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11647 /* 30134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11648 /* 30138 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11649 /* 30142 */ // (intrinsic_wo_chain:{ *:[i32] } 7996:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQH_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
11650 /* 30142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_W_MMR2),
11651 /* 30145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11652 /* 30147 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11653 /* 30149 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11654 /* 30151 */ GIR_RootConstrainSelectedInstOperands,
11655 /* 30152 */ // GIR_Coverage, 1336,
11656 /* 30152 */ GIR_EraseRootFromParent_Done,
11657 /* 30153 */ // Label 965: @30153
11658 /* 30153 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 966*/ GIMT_Encode4(30197), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1337 //
11659 /* 30160 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addqh_r_w),
11660 /* 30165 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
11661 /* 30168 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11662 /* 30171 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11663 /* 30174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11664 /* 30178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11665 /* 30182 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11666 /* 30186 */ // (intrinsic_wo_chain:{ *:[i32] } 7995:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQH_R_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
11667 /* 30186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQH_R_W_MMR2),
11668 /* 30189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11669 /* 30191 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11670 /* 30193 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11671 /* 30195 */ GIR_RootConstrainSelectedInstOperands,
11672 /* 30196 */ // GIR_Coverage, 1337,
11673 /* 30196 */ GIR_EraseRootFromParent_Done,
11674 /* 30197 */ // Label 966: @30197
11675 /* 30197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 967*/ GIMT_Encode4(30241), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1340 //
11676 /* 30204 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adduh_qb),
11677 /* 30209 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11678 /* 30212 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11679 /* 30215 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
11680 /* 30218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11681 /* 30222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11682 /* 30226 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11683 /* 30230 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8014:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDUH_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
11684 /* 30230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDUH_QB_MMR2),
11685 /* 30233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11686 /* 30235 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11687 /* 30237 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11688 /* 30239 */ GIR_RootConstrainSelectedInstOperands,
11689 /* 30240 */ // GIR_Coverage, 1340,
11690 /* 30240 */ GIR_EraseRootFromParent_Done,
11691 /* 30241 */ // Label 967: @30241
11692 /* 30241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 968*/ GIMT_Encode4(30285), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1341 //
11693 /* 30248 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_adduh_r_qb),
11694 /* 30253 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11695 /* 30256 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11696 /* 30259 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
11697 /* 30262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11698 /* 30266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11699 /* 30270 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11700 /* 30274 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8015:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (ADDUH_R_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
11701 /* 30274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDUH_R_QB_MMR2),
11702 /* 30277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11703 /* 30279 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11704 /* 30281 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11705 /* 30283 */ GIR_RootConstrainSelectedInstOperands,
11706 /* 30284 */ // GIR_Coverage, 1341,
11707 /* 30284 */ GIR_EraseRootFromParent_Done,
11708 /* 30285 */ // Label 968: @30285
11709 /* 30285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 969*/ GIMT_Encode4(30329), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1347 //
11710 /* 30292 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_qb),
11711 /* 30297 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11712 /* 30300 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11713 /* 30303 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11714 /* 30306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11715 /* 30310 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11716 /* 30314 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11717 /* 30318 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8542:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
11718 /* 30318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_QB_MMR2),
11719 /* 30321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11720 /* 30323 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
11721 /* 30325 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11722 /* 30327 */ GIR_RootConstrainSelectedInstOperands,
11723 /* 30328 */ // GIR_Coverage, 1347,
11724 /* 30328 */ GIR_EraseRootFromParent_Done,
11725 /* 30329 */ // Label 969: @30329
11726 /* 30329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 970*/ GIMT_Encode4(30373), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1348 //
11727 /* 30336 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
11728 /* 30341 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11729 /* 30344 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11730 /* 30347 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11731 /* 30350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11732 /* 30354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11733 /* 30358 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11734 /* 30362 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8544:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRAV_R_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
11735 /* 30362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRAV_R_QB_MMR2),
11736 /* 30365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11737 /* 30367 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
11738 /* 30369 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11739 /* 30371 */ GIR_RootConstrainSelectedInstOperands,
11740 /* 30372 */ // GIR_Coverage, 1348,
11741 /* 30372 */ GIR_EraseRootFromParent_Done,
11742 /* 30373 */ // Label 970: @30373
11743 /* 30373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 971*/ GIMT_Encode4(30417), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1353 //
11744 /* 30380 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
11745 /* 30385 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11746 /* 30388 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11747 /* 30391 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11748 /* 30394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11749 /* 30398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11750 /* 30402 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11751 /* 30406 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8546:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHRLV_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
11752 /* 30406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHRLV_PH_MMR2),
11753 /* 30409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11754 /* 30411 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
11755 /* 30413 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11756 /* 30415 */ GIR_RootConstrainSelectedInstOperands,
11757 /* 30416 */ // GIR_Coverage, 1353,
11758 /* 30416 */ GIR_EraseRootFromParent_Done,
11759 /* 30417 */ // Label 971: @30417
11760 /* 30417 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 972*/ GIMT_Encode4(30461), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1354 //
11761 /* 30424 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_ph),
11762 /* 30429 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11763 /* 30432 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11764 /* 30435 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11765 /* 30438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11766 /* 30442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11767 /* 30446 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11768 /* 30450 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8613:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQH_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
11769 /* 30450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_PH_MMR2),
11770 /* 30453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11771 /* 30455 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11772 /* 30457 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11773 /* 30459 */ GIR_RootConstrainSelectedInstOperands,
11774 /* 30460 */ // GIR_Coverage, 1354,
11775 /* 30460 */ GIR_EraseRootFromParent_Done,
11776 /* 30461 */ // Label 972: @30461
11777 /* 30461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 973*/ GIMT_Encode4(30505), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1355 //
11778 /* 30468 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_r_ph),
11779 /* 30473 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11780 /* 30476 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11781 /* 30479 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11782 /* 30482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11783 /* 30486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11784 /* 30490 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11785 /* 30494 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8614:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBQH_R_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
11786 /* 30494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_R_PH_MMR2),
11787 /* 30497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11788 /* 30499 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11789 /* 30501 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11790 /* 30503 */ GIR_RootConstrainSelectedInstOperands,
11791 /* 30504 */ // GIR_Coverage, 1355,
11792 /* 30504 */ GIR_EraseRootFromParent_Done,
11793 /* 30505 */ // Label 973: @30505
11794 /* 30505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 974*/ GIMT_Encode4(30549), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1356 //
11795 /* 30512 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_w),
11796 /* 30517 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
11797 /* 30520 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11798 /* 30523 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11799 /* 30526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11800 /* 30530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11801 /* 30534 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11802 /* 30538 */ // (intrinsic_wo_chain:{ *:[i32] } 8616:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQH_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
11803 /* 30538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_W_MMR2),
11804 /* 30541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11805 /* 30543 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11806 /* 30545 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11807 /* 30547 */ GIR_RootConstrainSelectedInstOperands,
11808 /* 30548 */ // GIR_Coverage, 1356,
11809 /* 30548 */ GIR_EraseRootFromParent_Done,
11810 /* 30549 */ // Label 974: @30549
11811 /* 30549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 975*/ GIMT_Encode4(30593), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1357 //
11812 /* 30556 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subqh_r_w),
11813 /* 30561 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
11814 /* 30564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11815 /* 30567 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11816 /* 30570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11817 /* 30574 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11818 /* 30578 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11819 /* 30582 */ // (intrinsic_wo_chain:{ *:[i32] } 8615:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQH_R_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
11820 /* 30582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQH_R_W_MMR2),
11821 /* 30585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11822 /* 30587 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11823 /* 30589 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11824 /* 30591 */ GIR_RootConstrainSelectedInstOperands,
11825 /* 30592 */ // GIR_Coverage, 1357,
11826 /* 30592 */ GIR_EraseRootFromParent_Done,
11827 /* 30593 */ // Label 975: @30593
11828 /* 30593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 976*/ GIMT_Encode4(30637), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1360 //
11829 /* 30600 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subuh_qb),
11830 /* 30605 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11831 /* 30608 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11832 /* 30611 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
11833 /* 30614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11834 /* 30618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11835 /* 30622 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11836 /* 30626 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8637:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBUH_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
11837 /* 30626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBUH_QB_MMR2),
11838 /* 30629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11839 /* 30631 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11840 /* 30633 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11841 /* 30635 */ GIR_RootConstrainSelectedInstOperands,
11842 /* 30636 */ // GIR_Coverage, 1360,
11843 /* 30636 */ GIR_EraseRootFromParent_Done,
11844 /* 30637 */ // Label 976: @30637
11845 /* 30637 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 977*/ GIMT_Encode4(30681), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1361 //
11846 /* 30644 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subuh_r_qb),
11847 /* 30649 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11848 /* 30652 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11849 /* 30655 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
11850 /* 30658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11851 /* 30662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11852 /* 30666 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11853 /* 30670 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8638:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (SUBUH_R_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
11854 /* 30670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBUH_R_QB_MMR2),
11855 /* 30673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11856 /* 30675 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
11857 /* 30677 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
11858 /* 30679 */ GIR_RootConstrainSelectedInstOperands,
11859 /* 30680 */ // GIR_Coverage, 1361,
11860 /* 30680 */ GIR_EraseRootFromParent_Done,
11861 /* 30681 */ // Label 977: @30681
11862 /* 30681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 978*/ GIMT_Encode4(30720), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2055 //
11863 /* 30688 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_ph),
11864 /* 30693 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11865 /* 30696 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11866 /* 30699 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11867 /* 30702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11868 /* 30706 */ // (intrinsic_wo_chain:{ *:[v2i16] } 7990:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (ADDQ_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
11869 /* 30706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_PH),
11870 /* 30709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11871 /* 30711 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
11872 /* 30713 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
11873 /* 30715 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
11874 /* 30718 */ GIR_RootConstrainSelectedInstOperands,
11875 /* 30719 */ // GIR_Coverage, 2055,
11876 /* 30719 */ GIR_EraseRootFromParent_Done,
11877 /* 30720 */ // Label 978: @30720
11878 /* 30720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 979*/ GIMT_Encode4(30759), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2057 //
11879 /* 30727 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_ph),
11880 /* 30732 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11881 /* 30735 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
11882 /* 30738 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
11883 /* 30741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11884 /* 30745 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8610:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (SUBQ_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
11885 /* 30745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_PH),
11886 /* 30748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11887 /* 30750 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
11888 /* 30752 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
11889 /* 30754 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
11890 /* 30757 */ GIR_RootConstrainSelectedInstOperands,
11891 /* 30758 */ // GIR_Coverage, 2057,
11892 /* 30758 */ GIR_EraseRootFromParent_Done,
11893 /* 30759 */ // Label 979: @30759
11894 /* 30759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 980*/ GIMT_Encode4(30798), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2061 //
11895 /* 30766 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_qb),
11896 /* 30771 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11897 /* 30774 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11898 /* 30777 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
11899 /* 30780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11900 /* 30784 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8011:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b) => (ADDU_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b)
11901 /* 30784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_QB),
11902 /* 30787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11903 /* 30789 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
11904 /* 30791 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
11905 /* 30793 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
11906 /* 30796 */ GIR_RootConstrainSelectedInstOperands,
11907 /* 30797 */ // GIR_Coverage, 2061,
11908 /* 30797 */ GIR_EraseRootFromParent_Done,
11909 /* 30798 */ // Label 980: @30798
11910 /* 30798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 981*/ GIMT_Encode4(30837), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2063 //
11911 /* 30805 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_qb),
11912 /* 30810 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
11913 /* 30813 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
11914 /* 30816 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
11915 /* 30819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11916 /* 30823 */ // (intrinsic_wo_chain:{ *:[v4i8] } 8634:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b) => (SUBU_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, v4i8:{ *:[v4i8] }:$b)
11917 /* 30823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_QB),
11918 /* 30826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
11919 /* 30828 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
11920 /* 30830 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
11921 /* 30832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
11922 /* 30835 */ GIR_RootConstrainSelectedInstOperands,
11923 /* 30836 */ // GIR_Coverage, 2063,
11924 /* 30836 */ GIR_EraseRootFromParent_Done,
11925 /* 30837 */ // Label 981: @30837
11926 /* 30837 */ GIM_Reject,
11927 /* 30838 */ // Label 767: @30838
11928 /* 30838 */ GIM_Try, /*On fail goto*//*Label 982*/ GIMT_Encode4(33306),
11929 /* 30843 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
11930 /* 30846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 983*/ GIMT_Encode4(30900), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 505 //
11931 /* 30853 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_sra_ph_w),
11932 /* 30858 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11933 /* 30861 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11934 /* 30864 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11935 /* 30867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11936 /* 30871 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11937 /* 30875 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11938 /* 30879 */ // MIs[0] sa
11939 /* 30879 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
11940 /* 30882 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
11941 /* 30887 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8514:{ *:[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)
11942 /* 30887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_SRA_PH_W),
11943 /* 30890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
11944 /* 30892 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11945 /* 30894 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
11946 /* 30896 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
11947 /* 30898 */ GIR_RootConstrainSelectedInstOperands,
11948 /* 30899 */ // GIR_Coverage, 505,
11949 /* 30899 */ GIR_EraseRootFromParent_Done,
11950 /* 30900 */ // Label 983: @30900
11951 /* 30900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 984*/ GIMT_Encode4(30954), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 506 //
11952 /* 30907 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_sra_r_ph_w),
11953 /* 30912 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
11954 /* 30915 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11955 /* 30918 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11956 /* 30921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
11957 /* 30925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11958 /* 30929 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11959 /* 30933 */ // MIs[0] sa
11960 /* 30933 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
11961 /* 30936 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
11962 /* 30941 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8515:{ *:[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)
11963 /* 30941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_SRA_R_PH_W),
11964 /* 30944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
11965 /* 30946 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11966 /* 30948 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
11967 /* 30950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
11968 /* 30952 */ GIR_RootConstrainSelectedInstOperands,
11969 /* 30953 */ // GIR_Coverage, 506,
11970 /* 30953 */ GIR_EraseRootFromParent_Done,
11971 /* 30954 */ // Label 984: @30954
11972 /* 30954 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 985*/ GIMT_Encode4(31008), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 511 //
11973 /* 30961 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_append),
11974 /* 30966 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
11975 /* 30969 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11976 /* 30972 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11977 /* 30975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11978 /* 30979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11979 /* 30983 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11980 /* 30987 */ // MIs[0] sa
11981 /* 30987 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
11982 /* 30990 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
11983 /* 30995 */ // (intrinsic_wo_chain:{ *:[i32] } 8027:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (APPEND:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
11984 /* 30995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::APPEND),
11985 /* 30998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
11986 /* 31000 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
11987 /* 31002 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
11988 /* 31004 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
11989 /* 31006 */ GIR_RootConstrainSelectedInstOperands,
11990 /* 31007 */ // GIR_Coverage, 511,
11991 /* 31007 */ GIR_EraseRootFromParent_Done,
11992 /* 31008 */ // Label 985: @31008
11993 /* 31008 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 986*/ GIMT_Encode4(31062), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 512 //
11994 /* 31015 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_balign),
11995 /* 31020 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
11996 /* 31023 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
11997 /* 31026 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
11998 /* 31029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
11999 /* 31033 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12000 /* 31037 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12001 /* 31041 */ // MIs[0] sa
12002 /* 31041 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12003 /* 31044 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt2),
12004 /* 31049 */ // (intrinsic_wo_chain:{ *:[i32] } 8052:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt2>>:$sa) => (BALIGN:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12005 /* 31049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BALIGN),
12006 /* 31052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12007 /* 31054 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12008 /* 31056 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12009 /* 31058 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12010 /* 31060 */ GIR_RootConstrainSelectedInstOperands,
12011 /* 31061 */ // GIR_Coverage, 512,
12012 /* 31061 */ GIR_EraseRootFromParent_Done,
12013 /* 31062 */ // Label 986: @31062
12014 /* 31062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 987*/ GIMT_Encode4(31116), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 513 //
12015 /* 31069 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_prepend),
12016 /* 31074 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12017 /* 31077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12018 /* 31080 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12019 /* 31083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12020 /* 31087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12021 /* 31091 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12022 /* 31095 */ // MIs[0] sa
12023 /* 31095 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12024 /* 31098 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12025 /* 31103 */ // (intrinsic_wo_chain:{ *:[i32] } 8520:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt5>>:$sa) => (PREPEND:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$sa, GPR32Opnd:{ *:[i32] }:$src)
12026 /* 31103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PREPEND),
12027 /* 31106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12028 /* 31108 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12029 /* 31110 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12030 /* 31112 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12031 /* 31114 */ GIR_RootConstrainSelectedInstOperands,
12032 /* 31115 */ // GIR_Coverage, 513,
12033 /* 31115 */ GIR_EraseRootFromParent_Done,
12034 /* 31116 */ // Label 987: @31116
12035 /* 31116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 988*/ GIMT_Encode4(31170), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 981 //
12036 /* 31123 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sldi_b),
12037 /* 31128 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
12038 /* 31131 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
12039 /* 31134 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12040 /* 31137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12041 /* 31141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12042 /* 31145 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12043 /* 31149 */ // MIs[0] n
12044 /* 31149 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12045 /* 31152 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
12046 /* 31157 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8552:{ *:[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)
12047 /* 31157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLDI_B),
12048 /* 31160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12049 /* 31162 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12050 /* 31164 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12051 /* 31166 */ GIR_RootToRootCopy, /*OpIdx*/4, // n
12052 /* 31168 */ GIR_RootConstrainSelectedInstOperands,
12053 /* 31169 */ // GIR_Coverage, 981,
12054 /* 31169 */ GIR_EraseRootFromParent_Done,
12055 /* 31170 */ // Label 988: @31170
12056 /* 31170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 989*/ GIMT_Encode4(31224), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 982 //
12057 /* 31177 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sldi_h),
12058 /* 31182 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12059 /* 31185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12060 /* 31188 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12061 /* 31191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12062 /* 31195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12063 /* 31199 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12064 /* 31203 */ // MIs[0] n
12065 /* 31203 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12066 /* 31206 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
12067 /* 31211 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8554:{ *:[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)
12068 /* 31211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLDI_H),
12069 /* 31214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12070 /* 31216 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12071 /* 31218 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12072 /* 31220 */ GIR_RootToRootCopy, /*OpIdx*/4, // n
12073 /* 31222 */ GIR_RootConstrainSelectedInstOperands,
12074 /* 31223 */ // GIR_Coverage, 982,
12075 /* 31223 */ GIR_EraseRootFromParent_Done,
12076 /* 31224 */ // Label 989: @31224
12077 /* 31224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 990*/ GIMT_Encode4(31278), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 983 //
12078 /* 31231 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sldi_w),
12079 /* 31236 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12080 /* 31239 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12081 /* 31242 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12082 /* 31245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12083 /* 31249 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12084 /* 31253 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12085 /* 31257 */ // MIs[0] n
12086 /* 31257 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12087 /* 31260 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt2),
12088 /* 31265 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8555:{ *:[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)
12089 /* 31265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLDI_W),
12090 /* 31268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12091 /* 31270 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12092 /* 31272 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12093 /* 31274 */ GIR_RootToRootCopy, /*OpIdx*/4, // n
12094 /* 31276 */ GIR_RootConstrainSelectedInstOperands,
12095 /* 31277 */ // GIR_Coverage, 983,
12096 /* 31277 */ GIR_EraseRootFromParent_Done,
12097 /* 31278 */ // Label 990: @31278
12098 /* 31278 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 991*/ GIMT_Encode4(31332), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 984 //
12099 /* 31285 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sldi_d),
12100 /* 31290 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12101 /* 31293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12102 /* 31296 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
12103 /* 31299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12104 /* 31303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12105 /* 31307 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12106 /* 31311 */ // MIs[0] n
12107 /* 31311 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12108 /* 31314 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt1),
12109 /* 31319 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8553:{ *:[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)
12110 /* 31319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLDI_D),
12111 /* 31322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12112 /* 31324 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12113 /* 31326 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12114 /* 31328 */ GIR_RootToRootCopy, /*OpIdx*/4, // n
12115 /* 31330 */ GIR_RootConstrainSelectedInstOperands,
12116 /* 31331 */ // GIR_Coverage, 984,
12117 /* 31331 */ GIR_EraseRootFromParent_Done,
12118 /* 31332 */ // Label 991: @31332
12119 /* 31332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 992*/ GIMT_Encode4(31386), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1371 //
12120 /* 31339 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_sra_ph_w),
12121 /* 31344 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12122 /* 31347 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12123 /* 31350 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12124 /* 31353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12125 /* 31357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12126 /* 31361 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12127 /* 31365 */ // MIs[0] sa
12128 /* 31365 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12129 /* 31368 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12130 /* 31373 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8514:{ *:[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)
12131 /* 31373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_SRA_PH_W_MMR2),
12132 /* 31376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12133 /* 31378 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12134 /* 31380 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12135 /* 31382 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12136 /* 31384 */ GIR_RootConstrainSelectedInstOperands,
12137 /* 31385 */ // GIR_Coverage, 1371,
12138 /* 31385 */ GIR_EraseRootFromParent_Done,
12139 /* 31386 */ // Label 992: @31386
12140 /* 31386 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 993*/ GIMT_Encode4(31440), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1372 //
12141 /* 31393 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_sra_r_ph_w),
12142 /* 31398 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12143 /* 31401 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12144 /* 31404 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12145 /* 31407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12146 /* 31411 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12147 /* 31415 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12148 /* 31419 */ // MIs[0] sa
12149 /* 31419 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12150 /* 31422 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12151 /* 31427 */ // (intrinsic_wo_chain:{ *:[v2i16] } 8515:{ *:[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)
12152 /* 31427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_SRA_R_PH_W_MMR2),
12153 /* 31430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12154 /* 31432 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12155 /* 31434 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12156 /* 31436 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12157 /* 31438 */ GIR_RootConstrainSelectedInstOperands,
12158 /* 31439 */ // GIR_Coverage, 1372,
12159 /* 31439 */ GIR_EraseRootFromParent_Done,
12160 /* 31440 */ // Label 993: @31440
12161 /* 31440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 994*/ GIMT_Encode4(31494), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1373 //
12162 /* 31447 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_prepend),
12163 /* 31452 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12164 /* 31455 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12165 /* 31458 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12166 /* 31461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12167 /* 31465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12168 /* 31469 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12169 /* 31473 */ // MIs[0] sa
12170 /* 31473 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12171 /* 31476 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12172 /* 31481 */ // (intrinsic_wo_chain:{ *:[i32] } 8520:{ *:[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)
12173 /* 31481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PREPEND_MMR2),
12174 /* 31484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12175 /* 31486 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12176 /* 31488 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12177 /* 31490 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12178 /* 31492 */ GIR_RootConstrainSelectedInstOperands,
12179 /* 31493 */ // GIR_Coverage, 1373,
12180 /* 31493 */ GIR_EraseRootFromParent_Done,
12181 /* 31494 */ // Label 994: @31494
12182 /* 31494 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 995*/ GIMT_Encode4(31548), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1374 //
12183 /* 31501 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_append),
12184 /* 31506 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12185 /* 31509 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12186 /* 31512 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12187 /* 31515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12188 /* 31519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12189 /* 31523 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12190 /* 31527 */ // MIs[0] sa
12191 /* 31527 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
12192 /* 31530 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
12193 /* 31535 */ // (intrinsic_wo_chain:{ *:[i32] } 8027:{ *:[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)
12194 /* 31535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::APPEND_MMR2),
12195 /* 31538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12196 /* 31540 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12197 /* 31542 */ GIR_RootToRootCopy, /*OpIdx*/4, // sa
12198 /* 31544 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12199 /* 31546 */ GIR_RootConstrainSelectedInstOperands,
12200 /* 31547 */ // GIR_Coverage, 1374,
12201 /* 31547 */ GIR_EraseRootFromParent_Done,
12202 /* 31548 */ // Label 995: @31548
12203 /* 31548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 996*/ GIMT_Encode4(31609), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1349 //
12204 /* 31555 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_balign),
12205 /* 31560 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12206 /* 31563 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12207 /* 31566 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
12208 /* 31569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12209 /* 31573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12210 /* 31577 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12211 /* 31581 */ // MIs[0] bp
12212 /* 31581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
12213 /* 31585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12214 /* 31589 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2),
12215 /* 31593 */ // MIs[1] Operand 1
12216 /* 31593 */ // No operand predicates
12217 /* 31593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12218 /* 31595 */ // (intrinsic_wo_chain:{ *:[i32] } 8052:{ *:[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)
12219 /* 31595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BALIGN_MMR2),
12220 /* 31598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12221 /* 31600 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
12222 /* 31602 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // bp
12223 /* 31605 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
12224 /* 31607 */ GIR_RootConstrainSelectedInstOperands,
12225 /* 31608 */ // GIR_Coverage, 1349,
12226 /* 31608 */ GIR_EraseRootFromParent_Done,
12227 /* 31609 */ // Label 996: @31609
12228 /* 31609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 997*/ GIMT_Encode4(31662), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 580 //
12229 /* 31616 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsl_b),
12230 /* 31621 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
12231 /* 31624 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
12232 /* 31627 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12233 /* 31630 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
12234 /* 31633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12235 /* 31637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12236 /* 31641 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12237 /* 31645 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12238 /* 31649 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8061:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (BINSL_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
12239 /* 31649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSL_B),
12240 /* 31652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12241 /* 31654 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12242 /* 31656 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12243 /* 31658 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12244 /* 31660 */ GIR_RootConstrainSelectedInstOperands,
12245 /* 31661 */ // GIR_Coverage, 580,
12246 /* 31661 */ GIR_EraseRootFromParent_Done,
12247 /* 31662 */ // Label 997: @31662
12248 /* 31662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 998*/ GIMT_Encode4(31715), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 581 //
12249 /* 31669 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsl_h),
12250 /* 31674 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12251 /* 31677 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12252 /* 31680 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12253 /* 31683 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12254 /* 31686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12255 /* 31690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12256 /* 31694 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12257 /* 31698 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12258 /* 31702 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8063:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (BINSL_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
12259 /* 31702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSL_H),
12260 /* 31705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12261 /* 31707 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12262 /* 31709 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12263 /* 31711 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12264 /* 31713 */ GIR_RootConstrainSelectedInstOperands,
12265 /* 31714 */ // GIR_Coverage, 581,
12266 /* 31714 */ GIR_EraseRootFromParent_Done,
12267 /* 31715 */ // Label 998: @31715
12268 /* 31715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 999*/ GIMT_Encode4(31768), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 582 //
12269 /* 31722 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsl_w),
12270 /* 31727 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12271 /* 31730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12272 /* 31733 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12273 /* 31736 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12274 /* 31739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12275 /* 31743 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12276 /* 31747 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12277 /* 31751 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12278 /* 31755 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8064:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (BINSL_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
12279 /* 31755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSL_W),
12280 /* 31758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12281 /* 31760 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12282 /* 31762 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12283 /* 31764 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12284 /* 31766 */ GIR_RootConstrainSelectedInstOperands,
12285 /* 31767 */ // GIR_Coverage, 582,
12286 /* 31767 */ GIR_EraseRootFromParent_Done,
12287 /* 31768 */ // Label 999: @31768
12288 /* 31768 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1000*/ GIMT_Encode4(31821), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 583 //
12289 /* 31775 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsl_d),
12290 /* 31780 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12291 /* 31783 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12292 /* 31786 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
12293 /* 31789 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
12294 /* 31792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12295 /* 31796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12296 /* 31800 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12297 /* 31804 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12298 /* 31808 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8062:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (BINSL_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
12299 /* 31808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSL_D),
12300 /* 31811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12301 /* 31813 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12302 /* 31815 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12303 /* 31817 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12304 /* 31819 */ GIR_RootConstrainSelectedInstOperands,
12305 /* 31820 */ // GIR_Coverage, 583,
12306 /* 31820 */ GIR_EraseRootFromParent_Done,
12307 /* 31821 */ // Label 1000: @31821
12308 /* 31821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1001*/ GIMT_Encode4(31874), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 588 //
12309 /* 31828 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsr_b),
12310 /* 31833 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
12311 /* 31836 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
12312 /* 31839 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12313 /* 31842 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
12314 /* 31845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12315 /* 31849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12316 /* 31853 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12317 /* 31857 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12318 /* 31861 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8069:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (BINSR_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
12319 /* 31861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSR_B),
12320 /* 31864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12321 /* 31866 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12322 /* 31868 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12323 /* 31870 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12324 /* 31872 */ GIR_RootConstrainSelectedInstOperands,
12325 /* 31873 */ // GIR_Coverage, 588,
12326 /* 31873 */ GIR_EraseRootFromParent_Done,
12327 /* 31874 */ // Label 1001: @31874
12328 /* 31874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1002*/ GIMT_Encode4(31927), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 589 //
12329 /* 31881 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsr_h),
12330 /* 31886 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12331 /* 31889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12332 /* 31892 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12333 /* 31895 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12334 /* 31898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12335 /* 31902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12336 /* 31906 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12337 /* 31910 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12338 /* 31914 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8071:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (BINSR_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
12339 /* 31914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSR_H),
12340 /* 31917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12341 /* 31919 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12342 /* 31921 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12343 /* 31923 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12344 /* 31925 */ GIR_RootConstrainSelectedInstOperands,
12345 /* 31926 */ // GIR_Coverage, 589,
12346 /* 31926 */ GIR_EraseRootFromParent_Done,
12347 /* 31927 */ // Label 1002: @31927
12348 /* 31927 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1003*/ GIMT_Encode4(31980), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 590 //
12349 /* 31934 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsr_w),
12350 /* 31939 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12351 /* 31942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12352 /* 31945 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12353 /* 31948 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12354 /* 31951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12355 /* 31955 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12356 /* 31959 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12357 /* 31963 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12358 /* 31967 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8072:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (BINSR_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
12359 /* 31967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSR_W),
12360 /* 31970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12361 /* 31972 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12362 /* 31974 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12363 /* 31976 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12364 /* 31978 */ GIR_RootConstrainSelectedInstOperands,
12365 /* 31979 */ // GIR_Coverage, 590,
12366 /* 31979 */ GIR_EraseRootFromParent_Done,
12367 /* 31980 */ // Label 1003: @31980
12368 /* 31980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1004*/ GIMT_Encode4(32033), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 591 //
12369 /* 31987 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_binsr_d),
12370 /* 31992 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12371 /* 31995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12372 /* 31998 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
12373 /* 32001 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
12374 /* 32004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12375 /* 32008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12376 /* 32012 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12377 /* 32016 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12378 /* 32020 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8070:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (BINSR_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
12379 /* 32020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BINSR_D),
12380 /* 32023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12381 /* 32025 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12382 /* 32027 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12383 /* 32029 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12384 /* 32031 */ GIR_RootConstrainSelectedInstOperands,
12385 /* 32032 */ // GIR_Coverage, 591,
12386 /* 32032 */ GIR_EraseRootFromParent_Done,
12387 /* 32033 */ // Label 1004: @32033
12388 /* 32033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1005*/ GIMT_Encode4(32086), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 686 //
12389 /* 32040 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_s_h),
12390 /* 32045 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12391 /* 32048 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12392 /* 32051 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12393 /* 32054 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
12394 /* 32057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12395 /* 32061 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12396 /* 32065 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12397 /* 32069 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12398 /* 32073 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8190:{ *:[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)
12399 /* 32073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_S_H),
12400 /* 32076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12401 /* 32078 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12402 /* 32080 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12403 /* 32082 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12404 /* 32084 */ GIR_RootConstrainSelectedInstOperands,
12405 /* 32085 */ // GIR_Coverage, 686,
12406 /* 32085 */ GIR_EraseRootFromParent_Done,
12407 /* 32086 */ // Label 1005: @32086
12408 /* 32086 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1006*/ GIMT_Encode4(32139), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 687 //
12409 /* 32093 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_s_w),
12410 /* 32098 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12411 /* 32101 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12412 /* 32104 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12413 /* 32107 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12414 /* 32110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12415 /* 32114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12416 /* 32118 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12417 /* 32122 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12418 /* 32126 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8191:{ *:[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)
12419 /* 32126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_S_W),
12420 /* 32129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12421 /* 32131 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12422 /* 32133 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12423 /* 32135 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12424 /* 32137 */ GIR_RootConstrainSelectedInstOperands,
12425 /* 32138 */ // GIR_Coverage, 687,
12426 /* 32138 */ GIR_EraseRootFromParent_Done,
12427 /* 32139 */ // Label 1006: @32139
12428 /* 32139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1007*/ GIMT_Encode4(32192), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 688 //
12429 /* 32146 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_s_d),
12430 /* 32151 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12431 /* 32154 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12432 /* 32157 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12433 /* 32160 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12434 /* 32163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12435 /* 32167 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12436 /* 32171 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12437 /* 32175 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12438 /* 32179 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8189:{ *:[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)
12439 /* 32179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_S_D),
12440 /* 32182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12441 /* 32184 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12442 /* 32186 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12443 /* 32188 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12444 /* 32190 */ GIR_RootConstrainSelectedInstOperands,
12445 /* 32191 */ // GIR_Coverage, 688,
12446 /* 32191 */ GIR_EraseRootFromParent_Done,
12447 /* 32192 */ // Label 1007: @32192
12448 /* 32192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1008*/ GIMT_Encode4(32245), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 689 //
12449 /* 32199 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_u_h),
12450 /* 32204 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12451 /* 32207 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12452 /* 32210 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12453 /* 32213 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
12454 /* 32216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12455 /* 32220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12456 /* 32224 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12457 /* 32228 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12458 /* 32232 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8193:{ *:[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)
12459 /* 32232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_U_H),
12460 /* 32235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12461 /* 32237 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12462 /* 32239 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12463 /* 32241 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12464 /* 32243 */ GIR_RootConstrainSelectedInstOperands,
12465 /* 32244 */ // GIR_Coverage, 689,
12466 /* 32244 */ GIR_EraseRootFromParent_Done,
12467 /* 32245 */ // Label 1008: @32245
12468 /* 32245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1009*/ GIMT_Encode4(32298), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 690 //
12469 /* 32252 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_u_w),
12470 /* 32257 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12471 /* 32260 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12472 /* 32263 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12473 /* 32266 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12474 /* 32269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12475 /* 32273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12476 /* 32277 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12477 /* 32281 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12478 /* 32285 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8194:{ *:[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)
12479 /* 32285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_U_W),
12480 /* 32288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12481 /* 32290 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12482 /* 32292 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12483 /* 32294 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12484 /* 32296 */ GIR_RootConstrainSelectedInstOperands,
12485 /* 32297 */ // GIR_Coverage, 690,
12486 /* 32297 */ GIR_EraseRootFromParent_Done,
12487 /* 32298 */ // Label 1009: @32298
12488 /* 32298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1010*/ GIMT_Encode4(32351), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 691 //
12489 /* 32305 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpadd_u_d),
12490 /* 32310 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12491 /* 32313 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12492 /* 32316 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12493 /* 32319 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12494 /* 32322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12495 /* 32326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12496 /* 32330 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12497 /* 32334 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12498 /* 32338 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8192:{ *:[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)
12499 /* 32338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPADD_U_D),
12500 /* 32341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12501 /* 32343 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12502 /* 32345 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12503 /* 32347 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12504 /* 32349 */ GIR_RootConstrainSelectedInstOperands,
12505 /* 32350 */ // GIR_Coverage, 691,
12506 /* 32350 */ GIR_EraseRootFromParent_Done,
12507 /* 32351 */ // Label 1010: @32351
12508 /* 32351 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1011*/ GIMT_Encode4(32404), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 692 //
12509 /* 32358 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_s_h),
12510 /* 32363 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12511 /* 32366 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12512 /* 32369 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12513 /* 32372 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
12514 /* 32375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12515 /* 32379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12516 /* 32383 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12517 /* 32387 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12518 /* 32391 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8210:{ *:[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)
12519 /* 32391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_S_H),
12520 /* 32394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12521 /* 32396 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12522 /* 32398 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12523 /* 32400 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12524 /* 32402 */ GIR_RootConstrainSelectedInstOperands,
12525 /* 32403 */ // GIR_Coverage, 692,
12526 /* 32403 */ GIR_EraseRootFromParent_Done,
12527 /* 32404 */ // Label 1011: @32404
12528 /* 32404 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1012*/ GIMT_Encode4(32457), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 693 //
12529 /* 32411 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_s_w),
12530 /* 32416 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12531 /* 32419 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12532 /* 32422 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12533 /* 32425 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12534 /* 32428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12535 /* 32432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12536 /* 32436 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12537 /* 32440 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12538 /* 32444 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8211:{ *:[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)
12539 /* 32444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_S_W),
12540 /* 32447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12541 /* 32449 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12542 /* 32451 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12543 /* 32453 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12544 /* 32455 */ GIR_RootConstrainSelectedInstOperands,
12545 /* 32456 */ // GIR_Coverage, 693,
12546 /* 32456 */ GIR_EraseRootFromParent_Done,
12547 /* 32457 */ // Label 1012: @32457
12548 /* 32457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1013*/ GIMT_Encode4(32510), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 694 //
12549 /* 32464 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_s_d),
12550 /* 32469 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12551 /* 32472 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12552 /* 32475 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12553 /* 32478 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12554 /* 32481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12555 /* 32485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12556 /* 32489 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12557 /* 32493 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12558 /* 32497 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8209:{ *:[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)
12559 /* 32497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_S_D),
12560 /* 32500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12561 /* 32502 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12562 /* 32504 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12563 /* 32506 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12564 /* 32508 */ GIR_RootConstrainSelectedInstOperands,
12565 /* 32509 */ // GIR_Coverage, 694,
12566 /* 32509 */ GIR_EraseRootFromParent_Done,
12567 /* 32510 */ // Label 1013: @32510
12568 /* 32510 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1014*/ GIMT_Encode4(32563), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 695 //
12569 /* 32517 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_u_h),
12570 /* 32522 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12571 /* 32525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12572 /* 32528 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12573 /* 32531 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v16s8,
12574 /* 32534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12575 /* 32538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12576 /* 32542 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12577 /* 32546 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12578 /* 32550 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8213:{ *:[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)
12579 /* 32550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_U_H),
12580 /* 32553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12581 /* 32555 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12582 /* 32557 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12583 /* 32559 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12584 /* 32561 */ GIR_RootConstrainSelectedInstOperands,
12585 /* 32562 */ // GIR_Coverage, 695,
12586 /* 32562 */ GIR_EraseRootFromParent_Done,
12587 /* 32563 */ // Label 1014: @32563
12588 /* 32563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1015*/ GIMT_Encode4(32616), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 696 //
12589 /* 32570 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_u_w),
12590 /* 32575 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12591 /* 32578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12592 /* 32581 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12593 /* 32584 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12594 /* 32587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12595 /* 32591 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12596 /* 32595 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12597 /* 32599 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12598 /* 32603 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8214:{ *:[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)
12599 /* 32603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_U_W),
12600 /* 32606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12601 /* 32608 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12602 /* 32610 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12603 /* 32612 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12604 /* 32614 */ GIR_RootConstrainSelectedInstOperands,
12605 /* 32615 */ // GIR_Coverage, 696,
12606 /* 32615 */ GIR_EraseRootFromParent_Done,
12607 /* 32616 */ // Label 1015: @32616
12608 /* 32616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1016*/ GIMT_Encode4(32669), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 697 //
12609 /* 32623 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_dpsub_u_d),
12610 /* 32628 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12611 /* 32631 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12612 /* 32634 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12613 /* 32637 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12614 /* 32640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12615 /* 32644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12616 /* 32648 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12617 /* 32652 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12618 /* 32656 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8212:{ *:[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)
12619 /* 32656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DPSUB_U_D),
12620 /* 32659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12621 /* 32661 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12622 /* 32663 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12623 /* 32665 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12624 /* 32667 */ GIR_RootConstrainSelectedInstOperands,
12625 /* 32668 */ // GIR_Coverage, 697,
12626 /* 32668 */ GIR_EraseRootFromParent_Done,
12627 /* 32669 */ // Label 1016: @32669
12628 /* 32669 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1017*/ GIMT_Encode4(32722), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 864 //
12629 /* 32676 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_madd_q_h),
12630 /* 32681 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12631 /* 32684 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12632 /* 32687 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12633 /* 32690 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12634 /* 32693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12635 /* 32697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12636 /* 32701 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12637 /* 32705 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12638 /* 32709 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8380:{ *:[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)
12639 /* 32709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_Q_H),
12640 /* 32712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12641 /* 32714 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12642 /* 32716 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12643 /* 32718 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12644 /* 32720 */ GIR_RootConstrainSelectedInstOperands,
12645 /* 32721 */ // GIR_Coverage, 864,
12646 /* 32721 */ GIR_EraseRootFromParent_Done,
12647 /* 32722 */ // Label 1017: @32722
12648 /* 32722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1018*/ GIMT_Encode4(32775), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 865 //
12649 /* 32729 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_madd_q_w),
12650 /* 32734 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12651 /* 32737 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12652 /* 32740 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12653 /* 32743 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12654 /* 32746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12655 /* 32750 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12656 /* 32754 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12657 /* 32758 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12658 /* 32762 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8381:{ *:[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)
12659 /* 32762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_Q_W),
12660 /* 32765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12661 /* 32767 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12662 /* 32769 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12663 /* 32771 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12664 /* 32773 */ GIR_RootConstrainSelectedInstOperands,
12665 /* 32774 */ // GIR_Coverage, 865,
12666 /* 32774 */ GIR_EraseRootFromParent_Done,
12667 /* 32775 */ // Label 1018: @32775
12668 /* 32775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1019*/ GIMT_Encode4(32828), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 866 //
12669 /* 32782 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_maddr_q_h),
12670 /* 32787 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12671 /* 32790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12672 /* 32793 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12673 /* 32796 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12674 /* 32799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12675 /* 32803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12676 /* 32807 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12677 /* 32811 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12678 /* 32815 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8382:{ *:[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)
12679 /* 32815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDR_Q_H),
12680 /* 32818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12681 /* 32820 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12682 /* 32822 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12683 /* 32824 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12684 /* 32826 */ GIR_RootConstrainSelectedInstOperands,
12685 /* 32827 */ // GIR_Coverage, 866,
12686 /* 32827 */ GIR_EraseRootFromParent_Done,
12687 /* 32828 */ // Label 1019: @32828
12688 /* 32828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1020*/ GIMT_Encode4(32881), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 867 //
12689 /* 32835 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_maddr_q_w),
12690 /* 32840 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12691 /* 32843 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12692 /* 32846 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12693 /* 32849 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12694 /* 32852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12695 /* 32856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12696 /* 32860 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12697 /* 32864 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12698 /* 32868 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8383:{ *:[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)
12699 /* 32868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADDR_Q_W),
12700 /* 32871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12701 /* 32873 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12702 /* 32875 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12703 /* 32877 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12704 /* 32879 */ GIR_RootConstrainSelectedInstOperands,
12705 /* 32880 */ // GIR_Coverage, 867,
12706 /* 32880 */ GIR_EraseRootFromParent_Done,
12707 /* 32881 */ // Label 1020: @32881
12708 /* 32881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1021*/ GIMT_Encode4(32934), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 920 //
12709 /* 32888 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_msub_q_h),
12710 /* 32893 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12711 /* 32896 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12712 /* 32899 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12713 /* 32902 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12714 /* 32905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12715 /* 32909 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12716 /* 32913 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12717 /* 32917 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12718 /* 32921 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8444:{ *:[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)
12719 /* 32921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_Q_H),
12720 /* 32924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12721 /* 32926 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12722 /* 32928 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12723 /* 32930 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12724 /* 32932 */ GIR_RootConstrainSelectedInstOperands,
12725 /* 32933 */ // GIR_Coverage, 920,
12726 /* 32933 */ GIR_EraseRootFromParent_Done,
12727 /* 32934 */ // Label 1021: @32934
12728 /* 32934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1022*/ GIMT_Encode4(32987), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 921 //
12729 /* 32941 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_msub_q_w),
12730 /* 32946 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12731 /* 32949 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12732 /* 32952 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12733 /* 32955 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12734 /* 32958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12735 /* 32962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12736 /* 32966 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12737 /* 32970 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12738 /* 32974 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8445:{ *:[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)
12739 /* 32974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_Q_W),
12740 /* 32977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12741 /* 32979 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12742 /* 32981 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12743 /* 32983 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12744 /* 32985 */ GIR_RootConstrainSelectedInstOperands,
12745 /* 32986 */ // GIR_Coverage, 921,
12746 /* 32986 */ GIR_EraseRootFromParent_Done,
12747 /* 32987 */ // Label 1022: @32987
12748 /* 32987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1023*/ GIMT_Encode4(33040), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 922 //
12749 /* 32994 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_msubr_q_h),
12750 /* 32999 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12751 /* 33002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12752 /* 33005 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12753 /* 33008 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
12754 /* 33011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12755 /* 33015 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12756 /* 33019 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12757 /* 33023 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12758 /* 33027 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8446:{ *:[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)
12759 /* 33027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBR_Q_H),
12760 /* 33030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12761 /* 33032 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12762 /* 33034 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12763 /* 33036 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12764 /* 33038 */ GIR_RootConstrainSelectedInstOperands,
12765 /* 33039 */ // GIR_Coverage, 922,
12766 /* 33039 */ GIR_EraseRootFromParent_Done,
12767 /* 33040 */ // Label 1023: @33040
12768 /* 33040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1024*/ GIMT_Encode4(33093), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 923 //
12769 /* 33047 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_msubr_q_w),
12770 /* 33052 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12771 /* 33055 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12772 /* 33058 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12773 /* 33061 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
12774 /* 33064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12775 /* 33068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12776 /* 33072 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12777 /* 33076 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12778 /* 33080 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8447:{ *:[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)
12779 /* 33080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUBR_Q_W),
12780 /* 33083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12781 /* 33085 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12782 /* 33087 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12783 /* 33089 */ GIR_RootToRootCopy, /*OpIdx*/4, // wt
12784 /* 33091 */ GIR_RootConstrainSelectedInstOperands,
12785 /* 33092 */ // GIR_Coverage, 923,
12786 /* 33092 */ GIR_EraseRootFromParent_Done,
12787 /* 33093 */ // Label 1024: @33093
12788 /* 33093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1025*/ GIMT_Encode4(33146), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 977 //
12789 /* 33100 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sld_b),
12790 /* 33105 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
12791 /* 33108 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
12792 /* 33111 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
12793 /* 33114 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
12794 /* 33117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12795 /* 33121 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12796 /* 33125 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
12797 /* 33129 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12798 /* 33133 */ // (intrinsic_wo_chain:{ *:[v16i8] } 8548:{ *:[iPTR] }, MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, GPR32Opnd:{ *:[i32] }:$rt) => (SLD_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$wd_in, MSA128BOpnd:{ *:[v16i8] }:$ws, GPR32Opnd:{ *:[i32] }:$rt)
12799 /* 33133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLD_B),
12800 /* 33136 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12801 /* 33138 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12802 /* 33140 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12803 /* 33142 */ GIR_RootToRootCopy, /*OpIdx*/4, // rt
12804 /* 33144 */ GIR_RootConstrainSelectedInstOperands,
12805 /* 33145 */ // GIR_Coverage, 977,
12806 /* 33145 */ GIR_EraseRootFromParent_Done,
12807 /* 33146 */ // Label 1025: @33146
12808 /* 33146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1026*/ GIMT_Encode4(33199), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 978 //
12809 /* 33153 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sld_h),
12810 /* 33158 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
12811 /* 33161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
12812 /* 33164 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
12813 /* 33167 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
12814 /* 33170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12815 /* 33174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12816 /* 33178 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
12817 /* 33182 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12818 /* 33186 */ // (intrinsic_wo_chain:{ *:[v8i16] } 8550:{ *:[iPTR] }, MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, GPR32Opnd:{ *:[i32] }:$rt) => (SLD_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$wd_in, MSA128HOpnd:{ *:[v8i16] }:$ws, GPR32Opnd:{ *:[i32] }:$rt)
12819 /* 33186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLD_H),
12820 /* 33189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12821 /* 33191 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12822 /* 33193 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12823 /* 33195 */ GIR_RootToRootCopy, /*OpIdx*/4, // rt
12824 /* 33197 */ GIR_RootConstrainSelectedInstOperands,
12825 /* 33198 */ // GIR_Coverage, 978,
12826 /* 33198 */ GIR_EraseRootFromParent_Done,
12827 /* 33199 */ // Label 1026: @33199
12828 /* 33199 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1027*/ GIMT_Encode4(33252), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 979 //
12829 /* 33206 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sld_w),
12830 /* 33211 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
12831 /* 33214 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
12832 /* 33217 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
12833 /* 33220 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
12834 /* 33223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12835 /* 33227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12836 /* 33231 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
12837 /* 33235 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12838 /* 33239 */ // (intrinsic_wo_chain:{ *:[v4i32] } 8551:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, GPR32Opnd:{ *:[i32] }:$rt) => (SLD_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$wd_in, MSA128WOpnd:{ *:[v4i32] }:$ws, GPR32Opnd:{ *:[i32] }:$rt)
12839 /* 33239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLD_W),
12840 /* 33242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12841 /* 33244 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12842 /* 33246 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12843 /* 33248 */ GIR_RootToRootCopy, /*OpIdx*/4, // rt
12844 /* 33250 */ GIR_RootConstrainSelectedInstOperands,
12845 /* 33251 */ // GIR_Coverage, 979,
12846 /* 33251 */ GIR_EraseRootFromParent_Done,
12847 /* 33252 */ // Label 1027: @33252
12848 /* 33252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1028*/ GIMT_Encode4(33305), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 980 //
12849 /* 33259 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_sld_d),
12850 /* 33264 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
12851 /* 33267 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12852 /* 33270 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
12853 /* 33273 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
12854 /* 33276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12855 /* 33280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12856 /* 33284 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
12857 /* 33288 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12858 /* 33292 */ // (intrinsic_wo_chain:{ *:[v2i64] } 8549:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, GPR32Opnd:{ *:[i32] }:$rt) => (SLD_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$wd_in, MSA128DOpnd:{ *:[v2i64] }:$ws, GPR32Opnd:{ *:[i32] }:$rt)
12859 /* 33292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLD_D),
12860 /* 33295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
12861 /* 33297 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
12862 /* 33299 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
12863 /* 33301 */ GIR_RootToRootCopy, /*OpIdx*/4, // rt
12864 /* 33303 */ GIR_RootConstrainSelectedInstOperands,
12865 /* 33304 */ // GIR_Coverage, 980,
12866 /* 33304 */ GIR_EraseRootFromParent_Done,
12867 /* 33305 */ // Label 1028: @33305
12868 /* 33305 */ GIM_Reject,
12869 /* 33306 */ // Label 982: @33306
12870 /* 33306 */ GIM_Reject,
12871 /* 33307 */ // Label 31: @33307
12872 /* 33307 */ GIM_Try, /*On fail goto*//*Label 1029*/ GIMT_Encode4(33338), // Rule ID 382 //
12873 /* 33312 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/2,
12874 /* 33315 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_bposge32),
12875 /* 33320 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12876 /* 33323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12877 /* 33327 */ // (intrinsic_w_chain:{ *:[i32] } 8095:{ *:[iPTR] }) => (BPOSGE32_PSEUDO:{ *:[i32] })
12878 /* 33327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BPOSGE32_PSEUDO),
12879 /* 33330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12880 /* 33332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
12881 /* 33336 */ GIR_RootConstrainSelectedInstOperands,
12882 /* 33337 */ // GIR_Coverage, 382,
12883 /* 33337 */ GIR_EraseRootFromParent_Done,
12884 /* 33338 */ // Label 1029: @33338
12885 /* 33338 */ GIM_Try, /*On fail goto*//*Label 1030*/ GIMT_Encode4(34235),
12886 /* 33343 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
12887 /* 33346 */ GIM_Try, /*On fail goto*//*Label 1031*/ GIMT_Encode4(33412),
12888 /* 33351 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_rddsp),
12889 /* 33356 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12890 /* 33359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12891 /* 33363 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
12892 /* 33366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1032*/ GIMT_Encode4(33391), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 469 //
12893 /* 33373 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt10),
12894 /* 33378 */ // (intrinsic_w_chain:{ *:[i32] } 8522:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_timmZExt10>>:$mask) => (RDDSP:{ *:[i32] } (timm:{ *:[i32] }):$mask)
12895 /* 33378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::RDDSP),
12896 /* 33381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12897 /* 33383 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
12898 /* 33385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
12899 /* 33389 */ GIR_RootConstrainSelectedInstOperands,
12900 /* 33390 */ // GIR_Coverage, 469,
12901 /* 33390 */ GIR_EraseRootFromParent_Done,
12902 /* 33391 */ // Label 1032: @33391
12903 /* 33391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1033*/ GIMT_Encode4(33411), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1309 //
12904 /* 33398 */ // (intrinsic_w_chain:{ *:[i32] } 8522:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_timmZExt7>>:$mask) => (RDDSP_MM:{ *:[i32] } (timm:{ *:[i32] }):$mask)
12905 /* 33398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::RDDSP_MM),
12906 /* 33401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
12907 /* 33403 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
12908 /* 33405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
12909 /* 33409 */ GIR_RootConstrainSelectedInstOperands,
12910 /* 33410 */ // GIR_Coverage, 1309,
12911 /* 33410 */ GIR_EraseRootFromParent_Done,
12912 /* 33411 */ // Label 1033: @33411
12913 /* 33411 */ GIM_Reject,
12914 /* 33412 */ // Label 1031: @33412
12915 /* 33412 */ GIM_Try, /*On fail goto*//*Label 1034*/ GIMT_Encode4(33478),
12916 /* 33417 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_wrdsp),
12917 /* 33422 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
12918 /* 33425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12919 /* 33429 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
12920 /* 33432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1035*/ GIMT_Encode4(33457), GIMT_Encode2(GIFBS_HasDSP_NotInMicroMips), // Rule ID 470 //
12921 /* 33439 */ GIM_CheckImmOperandPredicate, /*MI*/0, /*MO*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt10),
12922 /* 33444 */ // (intrinsic_void 8651:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] })<<P:Predicate_timmZExt10>>:$mask) => (WRDSP GPR32Opnd:{ *:[i32] }:$rs, (timm:{ *:[i32] }):$mask)
12923 /* 33444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::WRDSP),
12924 /* 33447 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
12925 /* 33449 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
12926 /* 33451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
12927 /* 33455 */ GIR_RootConstrainSelectedInstOperands,
12928 /* 33456 */ // GIR_Coverage, 470,
12929 /* 33456 */ GIR_EraseRootFromParent_Done,
12930 /* 33457 */ // Label 1035: @33457
12931 /* 33457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1036*/ GIMT_Encode4(33477), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1320 //
12932 /* 33464 */ // (intrinsic_void 8651:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, (timm:{ *:[i32] })<<P:Predicate_timmZExt7>>:$mask) => (WRDSP_MM GPR32Opnd:{ *:[i32] }:$rt, (timm:{ *:[i32] }):$mask)
12933 /* 33464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::WRDSP_MM),
12934 /* 33467 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
12935 /* 33469 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
12936 /* 33471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
12937 /* 33475 */ GIR_RootConstrainSelectedInstOperands,
12938 /* 33476 */ // GIR_Coverage, 1320,
12939 /* 33476 */ GIR_EraseRootFromParent_Done,
12940 /* 33477 */ // Label 1036: @33477
12941 /* 33477 */ GIM_Reject,
12942 /* 33478 */ // Label 1034: @33478
12943 /* 33478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1037*/ GIMT_Encode4(33520), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 391 //
12944 /* 33485 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_ph),
12945 /* 33490 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12946 /* 33493 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12947 /* 33496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12948 /* 33500 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12949 /* 33504 */ // (intrinsic_w_chain:{ *:[v2i16] } 7983:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt) => (ABSQ_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt)
12950 /* 33504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_PH),
12951 /* 33507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12952 /* 33509 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12953 /* 33511 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12954 /* 33514 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
12955 /* 33518 */ GIR_RootConstrainSelectedInstOperands,
12956 /* 33519 */ // GIR_Coverage, 391,
12957 /* 33519 */ GIR_EraseRootFromParent_Done,
12958 /* 33520 */ // Label 1037: @33520
12959 /* 33520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1038*/ GIMT_Encode4(33562), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 392 //
12960 /* 33527 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_w),
12961 /* 33532 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
12962 /* 33535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12963 /* 33538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12964 /* 33542 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
12965 /* 33546 */ // (intrinsic_w_chain:{ *:[i32] } 7985:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt) => (ABSQ_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
12966 /* 33546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_W),
12967 /* 33549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12968 /* 33551 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12969 /* 33553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12970 /* 33556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
12971 /* 33560 */ GIR_RootConstrainSelectedInstOperands,
12972 /* 33561 */ // GIR_Coverage, 392,
12973 /* 33561 */ GIR_EraseRootFromParent_Done,
12974 /* 33562 */ // Label 1038: @33562
12975 /* 33562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1039*/ GIMT_Encode4(33604), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 478 //
12976 /* 33569 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_qb),
12977 /* 33574 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
12978 /* 33577 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
12979 /* 33580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12980 /* 33584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12981 /* 33588 */ // (intrinsic_w_chain:{ *:[v4i8] } 7984:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt) => (ABSQ_S_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt)
12982 /* 33588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_QB),
12983 /* 33591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
12984 /* 33593 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
12985 /* 33595 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
12986 /* 33598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
12987 /* 33602 */ GIR_RootConstrainSelectedInstOperands,
12988 /* 33603 */ // GIR_Coverage, 478,
12989 /* 33603 */ GIR_EraseRootFromParent_Done,
12990 /* 33604 */ // Label 1039: @33604
12991 /* 33604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1040*/ GIMT_Encode4(33646), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1252 //
12992 /* 33611 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_ph),
12993 /* 33616 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
12994 /* 33619 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
12995 /* 33622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12996 /* 33626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
12997 /* 33630 */ // (intrinsic_w_chain:{ *:[v2i16] } 7983:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs) => (ABSQ_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs)
12998 /* 33630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_PH_MM),
12999 /* 33633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13000 /* 33635 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13001 /* 33637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13002 /* 33640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13003 /* 33644 */ GIR_RootConstrainSelectedInstOperands,
13004 /* 33645 */ // GIR_Coverage, 1252,
13005 /* 33645 */ GIR_EraseRootFromParent_Done,
13006 /* 33646 */ // Label 1040: @33646
13007 /* 33646 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1041*/ GIMT_Encode4(33688), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1253 //
13008 /* 33653 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_w),
13009 /* 33658 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13010 /* 33661 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13011 /* 33664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13012 /* 33668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13013 /* 33672 */ // (intrinsic_w_chain:{ *:[i32] } 7985:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs) => (ABSQ_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
13014 /* 33672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_W_MM),
13015 /* 33675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13016 /* 33677 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13017 /* 33679 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13018 /* 33682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13019 /* 33686 */ GIR_RootConstrainSelectedInstOperands,
13020 /* 33687 */ // GIR_Coverage, 1253,
13021 /* 33687 */ GIR_EraseRootFromParent_Done,
13022 /* 33688 */ // Label 1041: @33688
13023 /* 33688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1042*/ GIMT_Encode4(33730), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1333 //
13024 /* 33695 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_absq_s_qb),
13025 /* 33700 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
13026 /* 33703 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13027 /* 33706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13028 /* 33710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13029 /* 33714 */ // (intrinsic_w_chain:{ *:[v4i8] } 7984:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs) => (ABSQ_S_QB_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs)
13030 /* 33714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ABSQ_S_QB_MMR2),
13031 /* 33717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13032 /* 33719 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13033 /* 33721 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13034 /* 33724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13035 /* 33728 */ GIR_RootConstrainSelectedInstOperands,
13036 /* 33729 */ // GIR_Coverage, 1333,
13037 /* 33729 */ GIR_EraseRootFromParent_Done,
13038 /* 33730 */ // Label 1042: @33730
13039 /* 33730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1043*/ GIMT_Encode4(33772), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 445 //
13040 /* 33737 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_eq_qb),
13041 /* 33742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13042 /* 33745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13043 /* 33748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13044 /* 33752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13045 /* 33756 */ // (intrinsic_void 8161:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_EQ_QB DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13046 /* 33756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_EQ_QB),
13047 /* 33759 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13048 /* 33761 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13049 /* 33763 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13050 /* 33766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13051 /* 33770 */ GIR_RootConstrainSelectedInstOperands,
13052 /* 33771 */ // GIR_Coverage, 445,
13053 /* 33771 */ GIR_EraseRootFromParent_Done,
13054 /* 33772 */ // Label 1043: @33772
13055 /* 33772 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1044*/ GIMT_Encode4(33814), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 446 //
13056 /* 33779 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_lt_qb),
13057 /* 33784 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13058 /* 33787 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13059 /* 33790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13060 /* 33794 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13061 /* 33798 */ // (intrinsic_void 8163:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_LT_QB DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13062 /* 33798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_LT_QB),
13063 /* 33801 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13064 /* 33803 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13065 /* 33805 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13066 /* 33808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13067 /* 33812 */ GIR_RootConstrainSelectedInstOperands,
13068 /* 33813 */ // GIR_Coverage, 446,
13069 /* 33813 */ GIR_EraseRootFromParent_Done,
13070 /* 33814 */ // Label 1044: @33814
13071 /* 33814 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1045*/ GIMT_Encode4(33856), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 447 //
13072 /* 33821 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_le_qb),
13073 /* 33826 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13074 /* 33829 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13075 /* 33832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13076 /* 33836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13077 /* 33840 */ // (intrinsic_void 8162:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_LE_QB DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13078 /* 33840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_LE_QB),
13079 /* 33843 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13080 /* 33845 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13081 /* 33847 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13082 /* 33850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13083 /* 33854 */ GIR_RootConstrainSelectedInstOperands,
13084 /* 33855 */ // GIR_Coverage, 447,
13085 /* 33855 */ GIR_EraseRootFromParent_Done,
13086 /* 33856 */ // Label 1045: @33856
13087 /* 33856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1046*/ GIMT_Encode4(33898), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 451 //
13088 /* 33863 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_eq_ph),
13089 /* 33868 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13090 /* 33871 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13091 /* 33874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13092 /* 33878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13093 /* 33882 */ // (intrinsic_void 8152:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_EQ_PH DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13094 /* 33882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_PH),
13095 /* 33885 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13096 /* 33887 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13097 /* 33889 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13098 /* 33892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13099 /* 33896 */ GIR_RootConstrainSelectedInstOperands,
13100 /* 33897 */ // GIR_Coverage, 451,
13101 /* 33897 */ GIR_EraseRootFromParent_Done,
13102 /* 33898 */ // Label 1046: @33898
13103 /* 33898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1047*/ GIMT_Encode4(33940), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 452 //
13104 /* 33905 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_lt_ph),
13105 /* 33910 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13106 /* 33913 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13107 /* 33916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13108 /* 33920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13109 /* 33924 */ // (intrinsic_void 8154:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_LT_PH DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13110 /* 33924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_PH),
13111 /* 33927 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13112 /* 33929 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13113 /* 33931 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13114 /* 33934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13115 /* 33938 */ GIR_RootConstrainSelectedInstOperands,
13116 /* 33939 */ // GIR_Coverage, 452,
13117 /* 33939 */ GIR_EraseRootFromParent_Done,
13118 /* 33940 */ // Label 1047: @33940
13119 /* 33940 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1048*/ GIMT_Encode4(33982), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 453 //
13120 /* 33947 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_le_ph),
13121 /* 33952 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13122 /* 33955 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13123 /* 33958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13124 /* 33962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13125 /* 33966 */ // (intrinsic_void 8153:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_LE_PH DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13126 /* 33966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_PH),
13127 /* 33969 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13128 /* 33971 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13129 /* 33973 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13130 /* 33976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13131 /* 33980 */ GIR_RootConstrainSelectedInstOperands,
13132 /* 33981 */ // GIR_Coverage, 453,
13133 /* 33981 */ GIR_EraseRootFromParent_Done,
13134 /* 33982 */ // Label 1048: @33982
13135 /* 33982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1049*/ GIMT_Encode4(34024), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1324 //
13136 /* 33989 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_eq_ph),
13137 /* 33994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13138 /* 33997 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13139 /* 34000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13140 /* 34004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13141 /* 34008 */ // (intrinsic_void 8152:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_EQ_PH_MM DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13142 /* 34008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_PH_MM),
13143 /* 34011 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13144 /* 34013 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13145 /* 34015 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13146 /* 34018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13147 /* 34022 */ GIR_RootConstrainSelectedInstOperands,
13148 /* 34023 */ // GIR_Coverage, 1324,
13149 /* 34023 */ GIR_EraseRootFromParent_Done,
13150 /* 34024 */ // Label 1049: @34024
13151 /* 34024 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1050*/ GIMT_Encode4(34066), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1325 //
13152 /* 34031 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_lt_ph),
13153 /* 34036 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13154 /* 34039 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13155 /* 34042 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13156 /* 34046 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13157 /* 34050 */ // (intrinsic_void 8154:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_LT_PH_MM DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13158 /* 34050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_PH_MM),
13159 /* 34053 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13160 /* 34055 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13161 /* 34057 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13162 /* 34060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13163 /* 34064 */ GIR_RootConstrainSelectedInstOperands,
13164 /* 34065 */ // GIR_Coverage, 1325,
13165 /* 34065 */ GIR_EraseRootFromParent_Done,
13166 /* 34066 */ // Label 1050: @34066
13167 /* 34066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1051*/ GIMT_Encode4(34108), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1326 //
13168 /* 34073 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmp_le_ph),
13169 /* 34078 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s16,
13170 /* 34081 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13171 /* 34084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13172 /* 34088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13173 /* 34092 */ // (intrinsic_void 8153:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (CMP_LE_PH_MM DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13174 /* 34092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_PH_MM),
13175 /* 34095 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13176 /* 34097 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13177 /* 34099 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13178 /* 34102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13179 /* 34106 */ GIR_RootConstrainSelectedInstOperands,
13180 /* 34107 */ // GIR_Coverage, 1326,
13181 /* 34107 */ GIR_EraseRootFromParent_Done,
13182 /* 34108 */ // Label 1051: @34108
13183 /* 34108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1052*/ GIMT_Encode4(34150), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1330 //
13184 /* 34115 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_eq_qb),
13185 /* 34120 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13186 /* 34123 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13187 /* 34126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13188 /* 34130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13189 /* 34134 */ // (intrinsic_void 8161:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_EQ_QB_MM DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13190 /* 34134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_EQ_QB_MM),
13191 /* 34137 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13192 /* 34139 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13193 /* 34141 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13194 /* 34144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13195 /* 34148 */ GIR_RootConstrainSelectedInstOperands,
13196 /* 34149 */ // GIR_Coverage, 1330,
13197 /* 34149 */ GIR_EraseRootFromParent_Done,
13198 /* 34150 */ // Label 1052: @34150
13199 /* 34150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1053*/ GIMT_Encode4(34192), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1331 //
13200 /* 34157 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_lt_qb),
13201 /* 34162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13202 /* 34165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13203 /* 34168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13204 /* 34172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13205 /* 34176 */ // (intrinsic_void 8163:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_LT_QB_MM DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13206 /* 34176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_LT_QB_MM),
13207 /* 34179 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13208 /* 34181 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13209 /* 34183 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13210 /* 34186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13211 /* 34190 */ GIR_RootConstrainSelectedInstOperands,
13212 /* 34191 */ // GIR_Coverage, 1331,
13213 /* 34191 */ GIR_EraseRootFromParent_Done,
13214 /* 34192 */ // Label 1053: @34192
13215 /* 34192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1054*/ GIMT_Encode4(34234), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1332 //
13216 /* 34199 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_cmpu_le_qb),
13217 /* 34204 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s8,
13218 /* 34207 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13219 /* 34210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13220 /* 34214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13221 /* 34218 */ // (intrinsic_void 8162:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPU_LE_QB_MM DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13222 /* 34218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPU_LE_QB_MM),
13223 /* 34221 */ GIR_RootToRootCopy, /*OpIdx*/1, // rs
13224 /* 34223 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13225 /* 34225 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13226 /* 34228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13227 /* 34232 */ GIR_RootConstrainSelectedInstOperands,
13228 /* 34233 */ // GIR_Coverage, 1332,
13229 /* 34233 */ GIR_EraseRootFromParent_Done,
13230 /* 34234 */ // Label 1054: @34234
13231 /* 34234 */ GIM_Reject,
13232 /* 34235 */ // Label 1030: @34235
13233 /* 34235 */ GIM_Try, /*On fail goto*//*Label 1055*/ GIMT_Encode4(38266),
13234 /* 34240 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
13235 /* 34243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1056*/ GIMT_Encode4(34306), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 410 //
13236 /* 34250 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
13237 /* 34255 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13238 /* 34258 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13239 /* 34261 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13240 /* 34264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13241 /* 34268 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13242 /* 34272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
13243 /* 34276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13244 /* 34280 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
13245 /* 34284 */ // MIs[1] Operand 1
13246 /* 34284 */ // No operand predicates
13247 /* 34284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13248 /* 34286 */ // (intrinsic_w_chain:{ *:[v2i16] } 8539:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$rs_sa) => (SHLL_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, (imm:{ *:[i32] }):$rs_sa)
13249 /* 34286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_S_PH),
13250 /* 34289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13251 /* 34291 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13252 /* 34293 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
13253 /* 34296 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13254 /* 34299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13255 /* 34304 */ GIR_RootConstrainSelectedInstOperands,
13256 /* 34305 */ // GIR_Coverage, 410,
13257 /* 34305 */ GIR_EraseRootFromParent_Done,
13258 /* 34306 */ // Label 1056: @34306
13259 /* 34306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1057*/ GIMT_Encode4(34369), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 415 //
13260 /* 34313 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
13261 /* 34318 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13262 /* 34321 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13263 /* 34324 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13264 /* 34327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13265 /* 34331 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13266 /* 34335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
13267 /* 34339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13268 /* 34343 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
13269 /* 34347 */ // MIs[1] Operand 1
13270 /* 34347 */ // No operand predicates
13271 /* 34347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13272 /* 34349 */ // (intrinsic_w_chain:{ *:[i32] } 8540:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$rs_sa) => (SHLL_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$rs_sa)
13273 /* 34349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_S_W),
13274 /* 34352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13275 /* 34354 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13276 /* 34356 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // rs_sa
13277 /* 34359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13278 /* 34362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13279 /* 34367 */ GIR_RootConstrainSelectedInstOperands,
13280 /* 34368 */ // GIR_Coverage, 415,
13281 /* 34368 */ GIR_EraseRootFromParent_Done,
13282 /* 34369 */ // Label 1057: @34369
13283 /* 34369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1058*/ GIMT_Encode4(34432), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1261 //
13284 /* 34376 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
13285 /* 34381 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13286 /* 34384 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13287 /* 34387 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13288 /* 34390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13289 /* 34394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13290 /* 34398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
13291 /* 34402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13292 /* 34406 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
13293 /* 34410 */ // MIs[1] Operand 1
13294 /* 34410 */ // No operand predicates
13295 /* 34410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13296 /* 34412 */ // (intrinsic_w_chain:{ *:[v2i16] } 8539:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$sa) => (SHLL_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, (imm:{ *:[i32] }):$sa)
13297 /* 34412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_S_PH_MM),
13298 /* 34415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13299 /* 34417 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13300 /* 34419 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
13301 /* 34422 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13302 /* 34425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13303 /* 34430 */ GIR_RootConstrainSelectedInstOperands,
13304 /* 34431 */ // GIR_Coverage, 1261,
13305 /* 34431 */ GIR_EraseRootFromParent_Done,
13306 /* 34432 */ // Label 1058: @34432
13307 /* 34432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1059*/ GIMT_Encode4(34495), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1266 //
13308 /* 34439 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
13309 /* 34444 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13310 /* 34447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13311 /* 34450 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13312 /* 34453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13313 /* 34457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13314 /* 34461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
13315 /* 34465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13316 /* 34469 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
13317 /* 34473 */ // MIs[1] Operand 1
13318 /* 34473 */ // No operand predicates
13319 /* 34473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13320 /* 34475 */ // (intrinsic_w_chain:{ *:[i32] } 8540:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$sa) => (SHLL_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, (imm:{ *:[i32] }):$sa)
13321 /* 34475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_S_W_MM),
13322 /* 34478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13323 /* 34480 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13324 /* 34482 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // sa
13325 /* 34485 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13326 /* 34488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13327 /* 34493 */ GIR_RootConstrainSelectedInstOperands,
13328 /* 34494 */ // GIR_Coverage, 1266,
13329 /* 34494 */ GIR_EraseRootFromParent_Done,
13330 /* 34495 */ // Label 1059: @34495
13331 /* 34495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1060*/ GIMT_Encode4(34549), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2072 //
13332 /* 34502 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_ph),
13333 /* 34507 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13334 /* 34510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13335 /* 34513 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13336 /* 34516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13337 /* 34520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
13338 /* 34524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13339 /* 34528 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
13340 /* 34532 */ // MIs[1] Operand 1
13341 /* 34532 */ // No operand predicates
13342 /* 34532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13343 /* 34534 */ // (intrinsic_w_chain:{ *:[v2i16] } 8537:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt) => (SHLL_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$shamt)
13344 /* 34534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_PH),
13345 /* 34537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13346 /* 34539 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
13347 /* 34541 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
13348 /* 34544 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13349 /* 34547 */ GIR_RootConstrainSelectedInstOperands,
13350 /* 34548 */ // GIR_Coverage, 2072,
13351 /* 34548 */ GIR_EraseRootFromParent_Done,
13352 /* 34549 */ // Label 1060: @34549
13353 /* 34549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1061*/ GIMT_Encode4(34603), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2078 //
13354 /* 34556 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_qb),
13355 /* 34561 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
13356 /* 34564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13357 /* 34567 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13358 /* 34570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13359 /* 34574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
13360 /* 34578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13361 /* 34582 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
13362 /* 34586 */ // MIs[1] Operand 1
13363 /* 34586 */ // No operand predicates
13364 /* 34586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13365 /* 34588 */ // (intrinsic_w_chain:{ *:[v4i8] } 8538:{ *:[iPTR] }, v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt) => (SHLL_QB:{ *:[v4i8] } v4i8:{ *:[v4i8] }:$a, (imm:{ *:[i32] })<<P:Predicate_immZExt3>>:$shamt)
13366 /* 34588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLL_QB),
13367 /* 34591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13368 /* 34593 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
13369 /* 34595 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
13370 /* 34598 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13371 /* 34601 */ GIR_RootConstrainSelectedInstOperands,
13372 /* 34602 */ // GIR_Coverage, 2078,
13373 /* 34602 */ GIR_EraseRootFromParent_Done,
13374 /* 34603 */ // Label 1061: @34603
13375 /* 34603 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1062*/ GIMT_Encode4(34654), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 387 //
13376 /* 34610 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_s_w),
13377 /* 34615 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13378 /* 34618 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13379 /* 34621 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13380 /* 34624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13381 /* 34628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13382 /* 34632 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13383 /* 34636 */ // (intrinsic_w_chain:{ *:[i32] } 7992:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQ_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
13384 /* 34636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_S_W),
13385 /* 34639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13386 /* 34641 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13387 /* 34643 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13388 /* 34645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13389 /* 34648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13390 /* 34652 */ GIR_RootConstrainSelectedInstOperands,
13391 /* 34653 */ // GIR_Coverage, 387,
13392 /* 34653 */ GIR_EraseRootFromParent_Done,
13393 /* 34654 */ // Label 1062: @34654
13394 /* 34654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1063*/ GIMT_Encode4(34705), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 388 //
13395 /* 34661 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_s_w),
13396 /* 34666 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13397 /* 34669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13398 /* 34672 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13399 /* 34675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13400 /* 34679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13401 /* 34683 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13402 /* 34687 */ // (intrinsic_w_chain:{ *:[i32] } 8612:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQ_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
13403 /* 34687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_S_W),
13404 /* 34690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13405 /* 34692 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13406 /* 34694 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13407 /* 34696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13408 /* 34699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13409 /* 34703 */ GIR_RootConstrainSelectedInstOperands,
13410 /* 34704 */ // GIR_Coverage, 388,
13411 /* 34704 */ GIR_EraseRootFromParent_Done,
13412 /* 34705 */ // Label 1063: @34705
13413 /* 34705 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1064*/ GIMT_Encode4(34756), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 395 //
13414 /* 34712 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_rs_ph_w),
13415 /* 34717 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13416 /* 34720 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13417 /* 34723 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13418 /* 34726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13419 /* 34730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13420 /* 34734 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13421 /* 34738 */ // (intrinsic_w_chain:{ *:[v2i16] } 8518:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (PRECRQ_RS_PH_W:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
13422 /* 34738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_RS_PH_W),
13423 /* 34741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13424 /* 34743 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13425 /* 34745 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13426 /* 34747 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13427 /* 34750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13428 /* 34754 */ GIR_RootConstrainSelectedInstOperands,
13429 /* 34755 */ // GIR_Coverage, 395,
13430 /* 34755 */ GIR_EraseRootFromParent_Done,
13431 /* 34756 */ // Label 1064: @34756
13432 /* 34756 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1065*/ GIMT_Encode4(34807), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 396 //
13433 /* 34763 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrqu_s_qb_ph),
13434 /* 34768 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
13435 /* 34771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13436 /* 34774 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13437 /* 34777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13438 /* 34781 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13439 /* 34785 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13440 /* 34789 */ // (intrinsic_w_chain:{ *:[v4i8] } 8519:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECRQU_S_QB_PH:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13441 /* 34789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQU_S_QB_PH),
13442 /* 34792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13443 /* 34794 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13444 /* 34796 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13445 /* 34798 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13446 /* 34801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13447 /* 34805 */ GIR_RootConstrainSelectedInstOperands,
13448 /* 34806 */ // GIR_Coverage, 396,
13449 /* 34806 */ GIR_EraseRootFromParent_Done,
13450 /* 34807 */ // Label 1065: @34807
13451 /* 34807 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1066*/ GIMT_Encode4(34858), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 407 //
13452 /* 34814 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_qb),
13453 /* 34819 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
13454 /* 34822 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13455 /* 34825 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13456 /* 34828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13457 /* 34832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13458 /* 34836 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13459 /* 34840 */ // (intrinsic_w_chain:{ *:[v4i8] } 8538:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHLLV_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
13460 /* 34840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_QB),
13461 /* 34843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13462 /* 34845 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13463 /* 34847 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
13464 /* 34849 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13465 /* 34852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13466 /* 34856 */ GIR_RootConstrainSelectedInstOperands,
13467 /* 34857 */ // GIR_Coverage, 407,
13468 /* 34857 */ GIR_EraseRootFromParent_Done,
13469 /* 34858 */ // Label 1066: @34858
13470 /* 34858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1067*/ GIMT_Encode4(34909), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 409 //
13471 /* 34865 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_ph),
13472 /* 34870 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13473 /* 34873 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13474 /* 34876 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13475 /* 34879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13476 /* 34883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13477 /* 34887 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13478 /* 34891 */ // (intrinsic_w_chain:{ *:[v2i16] } 8537:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHLLV_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
13479 /* 34891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_PH),
13480 /* 34894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13481 /* 34896 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13482 /* 34898 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
13483 /* 34900 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13484 /* 34903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13485 /* 34907 */ GIR_RootConstrainSelectedInstOperands,
13486 /* 34908 */ // GIR_Coverage, 409,
13487 /* 34908 */ GIR_EraseRootFromParent_Done,
13488 /* 34909 */ // Label 1067: @34909
13489 /* 34909 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1068*/ GIMT_Encode4(34960), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 411 //
13490 /* 34916 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
13491 /* 34921 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13492 /* 34924 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13493 /* 34927 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13494 /* 34930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13495 /* 34934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13496 /* 34938 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13497 /* 34942 */ // (intrinsic_w_chain:{ *:[v2i16] } 8539:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHLLV_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
13498 /* 34942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_S_PH),
13499 /* 34945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13500 /* 34947 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13501 /* 34949 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
13502 /* 34951 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13503 /* 34954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13504 /* 34958 */ GIR_RootConstrainSelectedInstOperands,
13505 /* 34959 */ // GIR_Coverage, 411,
13506 /* 34959 */ GIR_EraseRootFromParent_Done,
13507 /* 34960 */ // Label 1068: @34960
13508 /* 34960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1069*/ GIMT_Encode4(35011), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 416 //
13509 /* 34967 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
13510 /* 34972 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13511 /* 34975 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13512 /* 34978 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13513 /* 34981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13514 /* 34985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13515 /* 34989 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13516 /* 34993 */ // (intrinsic_w_chain:{ *:[i32] } 8540:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa) => (SHLLV_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs_sa)
13517 /* 34993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_S_W),
13518 /* 34996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13519 /* 34998 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
13520 /* 35000 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs_sa
13521 /* 35002 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
13522 /* 35005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13523 /* 35009 */ GIR_RootConstrainSelectedInstOperands,
13524 /* 35010 */ // GIR_Coverage, 416,
13525 /* 35010 */ GIR_EraseRootFromParent_Done,
13526 /* 35011 */ // Label 1069: @35011
13527 /* 35011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1070*/ GIMT_Encode4(35062), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 419 //
13528 /* 35018 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbl),
13529 /* 35023 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13530 /* 35026 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13531 /* 35029 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13532 /* 35032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13533 /* 35036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13534 /* 35040 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13535 /* 35044 */ // (intrinsic_w_chain:{ *:[v2i16] } 8460:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEU_S_PH_QBL:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13536 /* 35044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEU_S_PH_QBL),
13537 /* 35047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13538 /* 35049 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13539 /* 35051 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13540 /* 35053 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13541 /* 35056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13542 /* 35060 */ GIR_RootConstrainSelectedInstOperands,
13543 /* 35061 */ // GIR_Coverage, 419,
13544 /* 35061 */ GIR_EraseRootFromParent_Done,
13545 /* 35062 */ // Label 1070: @35062
13546 /* 35062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1071*/ GIMT_Encode4(35113), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 420 //
13547 /* 35069 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbr),
13548 /* 35074 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13549 /* 35077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13550 /* 35080 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13551 /* 35083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13552 /* 35087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13553 /* 35091 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13554 /* 35095 */ // (intrinsic_w_chain:{ *:[v2i16] } 8461:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEU_S_PH_QBR:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13555 /* 35095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEU_S_PH_QBR),
13556 /* 35098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13557 /* 35100 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13558 /* 35102 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13559 /* 35104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13560 /* 35107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13561 /* 35111 */ GIR_RootConstrainSelectedInstOperands,
13562 /* 35112 */ // GIR_Coverage, 420,
13563 /* 35112 */ GIR_EraseRootFromParent_Done,
13564 /* 35113 */ // Label 1071: @35113
13565 /* 35113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1072*/ GIMT_Encode4(35164), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 421 //
13566 /* 35120 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phl),
13567 /* 35125 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13568 /* 35128 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13569 /* 35131 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13570 /* 35134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13571 /* 35138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13572 /* 35142 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13573 /* 35146 */ // (intrinsic_w_chain:{ *:[i32] } 8458:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEQ_S_W_PHL:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13574 /* 35146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEQ_S_W_PHL),
13575 /* 35149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13576 /* 35151 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13577 /* 35153 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13578 /* 35155 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13579 /* 35158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13580 /* 35162 */ GIR_RootConstrainSelectedInstOperands,
13581 /* 35163 */ // GIR_Coverage, 421,
13582 /* 35163 */ GIR_EraseRootFromParent_Done,
13583 /* 35164 */ // Label 1072: @35164
13584 /* 35164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1073*/ GIMT_Encode4(35215), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 422 //
13585 /* 35171 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phr),
13586 /* 35176 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13587 /* 35179 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13588 /* 35182 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13589 /* 35185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13590 /* 35189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13591 /* 35193 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13592 /* 35197 */ // (intrinsic_w_chain:{ *:[i32] } 8459:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEQ_S_W_PHR:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13593 /* 35197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEQ_S_W_PHR),
13594 /* 35200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13595 /* 35202 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13596 /* 35204 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13597 /* 35206 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13598 /* 35209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13599 /* 35213 */ GIR_RootConstrainSelectedInstOperands,
13600 /* 35214 */ // GIR_Coverage, 422,
13601 /* 35214 */ GIR_EraseRootFromParent_Done,
13602 /* 35215 */ // Label 1073: @35215
13603 /* 35215 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1074*/ GIMT_Encode4(35266), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 423 //
13604 /* 35222 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_rs_ph),
13605 /* 35227 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13606 /* 35230 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13607 /* 35233 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13608 /* 35236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13609 /* 35240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13610 /* 35244 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13611 /* 35248 */ // (intrinsic_w_chain:{ *:[v2i16] } 8462:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULQ_RS_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13612 /* 35248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_RS_PH),
13613 /* 35251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13614 /* 35253 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13615 /* 35255 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13616 /* 35257 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13617 /* 35260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13618 /* 35264 */ GIR_RootConstrainSelectedInstOperands,
13619 /* 35265 */ // GIR_Coverage, 423,
13620 /* 35265 */ GIR_EraseRootFromParent_Done,
13621 /* 35266 */ // Label 1074: @35266
13622 /* 35266 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1075*/ GIMT_Encode4(35314), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 448 //
13623 /* 35273 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_eq_qb),
13624 /* 35278 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13625 /* 35281 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13626 /* 35284 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
13627 /* 35287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13628 /* 35291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13629 /* 35295 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13630 /* 35299 */ // (intrinsic_w_chain:{ *:[i32] } 8158:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_EQ_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13631 /* 35299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_EQ_QB),
13632 /* 35302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13633 /* 35304 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13634 /* 35306 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13635 /* 35308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13636 /* 35312 */ GIR_RootConstrainSelectedInstOperands,
13637 /* 35313 */ // GIR_Coverage, 448,
13638 /* 35313 */ GIR_EraseRootFromParent_Done,
13639 /* 35314 */ // Label 1075: @35314
13640 /* 35314 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1076*/ GIMT_Encode4(35362), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 449 //
13641 /* 35321 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_lt_qb),
13642 /* 35326 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13643 /* 35329 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13644 /* 35332 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
13645 /* 35335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13646 /* 35339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13647 /* 35343 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13648 /* 35347 */ // (intrinsic_w_chain:{ *:[i32] } 8160:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_LT_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13649 /* 35347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_LT_QB),
13650 /* 35350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13651 /* 35352 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13652 /* 35354 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13653 /* 35356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13654 /* 35360 */ GIR_RootConstrainSelectedInstOperands,
13655 /* 35361 */ // GIR_Coverage, 449,
13656 /* 35361 */ GIR_EraseRootFromParent_Done,
13657 /* 35362 */ // Label 1076: @35362
13658 /* 35362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1077*/ GIMT_Encode4(35410), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 450 //
13659 /* 35369 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_le_qb),
13660 /* 35374 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13661 /* 35377 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13662 /* 35380 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
13663 /* 35383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13664 /* 35387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13665 /* 35391 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13666 /* 35395 */ // (intrinsic_w_chain:{ *:[i32] } 8159:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_LE_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13667 /* 35395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_LE_QB),
13668 /* 35398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13669 /* 35400 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13670 /* 35402 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13671 /* 35404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13672 /* 35408 */ GIR_RootConstrainSelectedInstOperands,
13673 /* 35409 */ // GIR_Coverage, 450,
13674 /* 35409 */ GIR_EraseRootFromParent_Done,
13675 /* 35410 */ // Label 1077: @35410
13676 /* 35410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1078*/ GIMT_Encode4(35458), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 460 //
13677 /* 35417 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_pick_qb),
13678 /* 35422 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
13679 /* 35425 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13680 /* 35428 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
13681 /* 35431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13682 /* 35435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13683 /* 35439 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13684 /* 35443 */ // (intrinsic_w_chain:{ *:[v4i8] } 8502:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (PICK_QB:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13685 /* 35443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PICK_QB),
13686 /* 35446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13687 /* 35448 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13688 /* 35450 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13689 /* 35452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13690 /* 35456 */ GIR_RootConstrainSelectedInstOperands,
13691 /* 35457 */ // GIR_Coverage, 460,
13692 /* 35457 */ GIR_EraseRootFromParent_Done,
13693 /* 35458 */ // Label 1078: @35458
13694 /* 35458 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1079*/ GIMT_Encode4(35506), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 461 //
13695 /* 35465 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_pick_ph),
13696 /* 35470 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13697 /* 35473 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13698 /* 35476 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13699 /* 35479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13700 /* 35483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13701 /* 35487 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13702 /* 35491 */ // (intrinsic_w_chain:{ *:[v2i16] } 8501:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PICK_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13703 /* 35491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PICK_PH),
13704 /* 35494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13705 /* 35496 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13706 /* 35498 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13707 /* 35500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13708 /* 35504 */ GIR_RootConstrainSelectedInstOperands,
13709 /* 35505 */ // GIR_Coverage, 461,
13710 /* 35505 */ GIR_EraseRootFromParent_Done,
13711 /* 35506 */ // Label 1079: @35506
13712 /* 35506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1080*/ GIMT_Encode4(35554), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 465 //
13713 /* 35513 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_insv),
13714 /* 35518 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13715 /* 35521 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13716 /* 35524 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13717 /* 35527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13718 /* 35531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13719 /* 35535 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13720 /* 35539 */ // (intrinsic_w_chain:{ *:[i32] } 8360:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs) => (INSV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs)
13721 /* 35539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSV),
13722 /* 35542 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13723 /* 35544 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
13724 /* 35546 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
13725 /* 35548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13726 /* 35552 */ GIR_RootConstrainSelectedInstOperands,
13727 /* 35553 */ // GIR_Coverage, 465,
13728 /* 35553 */ GIR_EraseRootFromParent_Done,
13729 /* 35554 */ // Label 1080: @35554
13730 /* 35554 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1081*/ GIMT_Encode4(35605), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 471 //
13731 /* 35561 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_ph),
13732 /* 35566 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13733 /* 35569 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13734 /* 35572 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13735 /* 35575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13736 /* 35579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13737 /* 35583 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13738 /* 35587 */ // (intrinsic_w_chain:{ *:[v2i16] } 8010:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDU_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13739 /* 35587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_PH),
13740 /* 35590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13741 /* 35592 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13742 /* 35594 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13743 /* 35596 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13744 /* 35599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13745 /* 35603 */ GIR_RootConstrainSelectedInstOperands,
13746 /* 35604 */ // GIR_Coverage, 471,
13747 /* 35604 */ GIR_EraseRootFromParent_Done,
13748 /* 35605 */ // Label 1081: @35605
13749 /* 35605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1082*/ GIMT_Encode4(35656), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 472 //
13750 /* 35612 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_s_ph),
13751 /* 35617 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13752 /* 35620 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13753 /* 35623 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13754 /* 35626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13755 /* 35630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13756 /* 35634 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13757 /* 35638 */ // (intrinsic_w_chain:{ *:[v2i16] } 8012:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDU_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13758 /* 35638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_S_PH),
13759 /* 35641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13760 /* 35643 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13761 /* 35645 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13762 /* 35647 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13763 /* 35650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13764 /* 35654 */ GIR_RootConstrainSelectedInstOperands,
13765 /* 35655 */ // GIR_Coverage, 472,
13766 /* 35655 */ GIR_EraseRootFromParent_Done,
13767 /* 35656 */ // Label 1082: @35656
13768 /* 35656 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1083*/ GIMT_Encode4(35707), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 473 //
13769 /* 35663 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_ph),
13770 /* 35668 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13771 /* 35671 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13772 /* 35674 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13773 /* 35677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13774 /* 35681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13775 /* 35685 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13776 /* 35689 */ // (intrinsic_w_chain:{ *:[v2i16] } 8633:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBU_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13777 /* 35689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_PH),
13778 /* 35692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13779 /* 35694 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13780 /* 35696 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13781 /* 35698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13782 /* 35701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13783 /* 35705 */ GIR_RootConstrainSelectedInstOperands,
13784 /* 35706 */ // GIR_Coverage, 473,
13785 /* 35706 */ GIR_EraseRootFromParent_Done,
13786 /* 35707 */ // Label 1083: @35707
13787 /* 35707 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1084*/ GIMT_Encode4(35758), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 474 //
13788 /* 35714 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_s_ph),
13789 /* 35719 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13790 /* 35722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13791 /* 35725 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13792 /* 35728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13793 /* 35732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13794 /* 35736 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13795 /* 35740 */ // (intrinsic_w_chain:{ *:[v2i16] } 8635:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBU_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13796 /* 35740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_S_PH),
13797 /* 35743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13798 /* 35745 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13799 /* 35747 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13800 /* 35749 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13801 /* 35752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13802 /* 35756 */ GIR_RootConstrainSelectedInstOperands,
13803 /* 35757 */ // GIR_Coverage, 474,
13804 /* 35757 */ GIR_EraseRootFromParent_Done,
13805 /* 35758 */ // Label 1084: @35758
13806 /* 35758 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1085*/ GIMT_Encode4(35809), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 475 //
13807 /* 35765 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_eq_qb),
13808 /* 35770 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13809 /* 35773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13810 /* 35776 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
13811 /* 35779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13812 /* 35783 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13813 /* 35787 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13814 /* 35791 */ // (intrinsic_w_chain:{ *:[i32] } 8155:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_EQ_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13815 /* 35791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_EQ_QB),
13816 /* 35794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13817 /* 35796 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13818 /* 35798 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13819 /* 35800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13820 /* 35803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13821 /* 35807 */ GIR_RootConstrainSelectedInstOperands,
13822 /* 35808 */ // GIR_Coverage, 475,
13823 /* 35808 */ GIR_EraseRootFromParent_Done,
13824 /* 35809 */ // Label 1085: @35809
13825 /* 35809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1086*/ GIMT_Encode4(35860), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 476 //
13826 /* 35816 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_lt_qb),
13827 /* 35821 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13828 /* 35824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13829 /* 35827 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
13830 /* 35830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13831 /* 35834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13832 /* 35838 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13833 /* 35842 */ // (intrinsic_w_chain:{ *:[i32] } 8157:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_LT_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13834 /* 35842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_LT_QB),
13835 /* 35845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13836 /* 35847 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13837 /* 35849 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13838 /* 35851 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13839 /* 35854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13840 /* 35858 */ GIR_RootConstrainSelectedInstOperands,
13841 /* 35859 */ // GIR_Coverage, 476,
13842 /* 35859 */ GIR_EraseRootFromParent_Done,
13843 /* 35860 */ // Label 1086: @35860
13844 /* 35860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1087*/ GIMT_Encode4(35911), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 477 //
13845 /* 35867 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_le_qb),
13846 /* 35872 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13847 /* 35875 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
13848 /* 35878 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
13849 /* 35881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13850 /* 35885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13851 /* 35889 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13852 /* 35893 */ // (intrinsic_w_chain:{ *:[i32] } 8156:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_LE_QB:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
13853 /* 35893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_LE_QB),
13854 /* 35896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13855 /* 35898 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13856 /* 35900 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13857 /* 35902 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
13858 /* 35905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13859 /* 35909 */ GIR_RootConstrainSelectedInstOperands,
13860 /* 35910 */ // GIR_Coverage, 477,
13861 /* 35910 */ GIR_EraseRootFromParent_Done,
13862 /* 35911 */ // Label 1087: @35911
13863 /* 35911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1088*/ GIMT_Encode4(35962), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 491 //
13864 /* 35918 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_s_ph),
13865 /* 35923 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13866 /* 35926 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13867 /* 35929 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13868 /* 35932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13869 /* 35936 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13870 /* 35940 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13871 /* 35944 */ // (intrinsic_w_chain:{ *:[v2i16] } 8457:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MUL_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13872 /* 35944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_S_PH),
13873 /* 35947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13874 /* 35949 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13875 /* 35951 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13876 /* 35953 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13877 /* 35956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13878 /* 35960 */ GIR_RootConstrainSelectedInstOperands,
13879 /* 35961 */ // GIR_Coverage, 491,
13880 /* 35961 */ GIR_EraseRootFromParent_Done,
13881 /* 35962 */ // Label 1088: @35962
13882 /* 35962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1089*/ GIMT_Encode4(36013), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 492 //
13883 /* 35969 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_s_w),
13884 /* 35974 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13885 /* 35977 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13886 /* 35980 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13887 /* 35983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13888 /* 35987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13889 /* 35991 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13890 /* 35995 */ // (intrinsic_w_chain:{ *:[i32] } 8465:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MULQ_S_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
13891 /* 35995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_S_W),
13892 /* 35998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13893 /* 36000 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13894 /* 36002 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13895 /* 36004 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13896 /* 36007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13897 /* 36011 */ GIR_RootConstrainSelectedInstOperands,
13898 /* 36012 */ // GIR_Coverage, 492,
13899 /* 36012 */ GIR_EraseRootFromParent_Done,
13900 /* 36013 */ // Label 1089: @36013
13901 /* 36013 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1090*/ GIMT_Encode4(36064), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 493 //
13902 /* 36020 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_rs_w),
13903 /* 36025 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13904 /* 36028 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13905 /* 36031 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13906 /* 36034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13907 /* 36038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13908 /* 36042 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13909 /* 36046 */ // (intrinsic_w_chain:{ *:[i32] } 8463:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MULQ_RS_W:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
13910 /* 36046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_RS_W),
13911 /* 36049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13912 /* 36051 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13913 /* 36053 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13914 /* 36055 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13915 /* 36058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13916 /* 36062 */ GIR_RootConstrainSelectedInstOperands,
13917 /* 36063 */ // GIR_Coverage, 493,
13918 /* 36063 */ GIR_EraseRootFromParent_Done,
13919 /* 36064 */ // Label 1090: @36064
13920 /* 36064 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1091*/ GIMT_Encode4(36115), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 494 //
13921 /* 36071 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_s_ph),
13922 /* 36076 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13923 /* 36079 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13924 /* 36082 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13925 /* 36085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13926 /* 36089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13927 /* 36093 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13928 /* 36097 */ // (intrinsic_w_chain:{ *:[v2i16] } 8464:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULQ_S_PH:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13929 /* 36097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_S_PH),
13930 /* 36100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13931 /* 36102 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13932 /* 36104 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13933 /* 36106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
13934 /* 36109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13935 /* 36113 */ GIR_RootConstrainSelectedInstOperands,
13936 /* 36114 */ // GIR_Coverage, 494,
13937 /* 36114 */ GIR_EraseRootFromParent_Done,
13938 /* 36115 */ // Label 1091: @36115
13939 /* 36115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1092*/ GIMT_Encode4(36163), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 504 //
13940 /* 36122 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_qb_ph),
13941 /* 36127 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
13942 /* 36130 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13943 /* 36133 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
13944 /* 36136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13945 /* 36140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13946 /* 36144 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
13947 /* 36148 */ // (intrinsic_w_chain:{ *:[v4i8] } 8513:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECR_QB_PH:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
13948 /* 36148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_QB_PH),
13949 /* 36151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13950 /* 36153 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13951 /* 36155 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13952 /* 36157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13953 /* 36161 */ GIR_RootConstrainSelectedInstOperands,
13954 /* 36162 */ // GIR_Coverage, 504,
13955 /* 36162 */ GIR_EraseRootFromParent_Done,
13956 /* 36163 */ // Label 1092: @36163
13957 /* 36163 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1093*/ GIMT_Encode4(36214), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1246 //
13958 /* 36170 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addq_s_w),
13959 /* 36175 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13960 /* 36178 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13961 /* 36181 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13962 /* 36184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13963 /* 36188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13964 /* 36192 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13965 /* 36196 */ // (intrinsic_w_chain:{ *:[i32] } 7992:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (ADDQ_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
13966 /* 36196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDQ_S_W_MM),
13967 /* 36199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
13968 /* 36201 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
13969 /* 36203 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
13970 /* 36205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
13971 /* 36208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13972 /* 36212 */ GIR_RootConstrainSelectedInstOperands,
13973 /* 36213 */ // GIR_Coverage, 1246,
13974 /* 36213 */ GIR_EraseRootFromParent_Done,
13975 /* 36214 */ // Label 1093: @36214
13976 /* 36214 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1094*/ GIMT_Encode4(36262), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1254 //
13977 /* 36221 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_insv),
13978 /* 36226 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
13979 /* 36229 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13980 /* 36232 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13981 /* 36235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13982 /* 36239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13983 /* 36243 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
13984 /* 36247 */ // (intrinsic_w_chain:{ *:[i32] } 8360:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs) => (INSV_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$src, GPR32Opnd:{ *:[i32] }:$rs)
13985 /* 36247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSV_MM),
13986 /* 36250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
13987 /* 36252 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
13988 /* 36254 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
13989 /* 36256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
13990 /* 36260 */ GIR_RootConstrainSelectedInstOperands,
13991 /* 36261 */ // GIR_Coverage, 1254,
13992 /* 36261 */ GIR_EraseRootFromParent_Done,
13993 /* 36262 */ // Label 1094: @36262
13994 /* 36262 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1095*/ GIMT_Encode4(36313), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1262 //
13995 /* 36269 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_ph),
13996 /* 36274 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
13997 /* 36277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
13998 /* 36280 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
13999 /* 36283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14000 /* 36287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14001 /* 36291 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14002 /* 36295 */ // (intrinsic_w_chain:{ *:[v2i16] } 8537:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHLLV_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
14003 /* 36295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_PH_MM),
14004 /* 36298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14005 /* 36300 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14006 /* 36302 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14007 /* 36304 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14008 /* 36307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14009 /* 36311 */ GIR_RootConstrainSelectedInstOperands,
14010 /* 36312 */ // GIR_Coverage, 1262,
14011 /* 36312 */ GIR_EraseRootFromParent_Done,
14012 /* 36313 */ // Label 1095: @36313
14013 /* 36313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1096*/ GIMT_Encode4(36364), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1263 //
14014 /* 36320 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
14015 /* 36325 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14016 /* 36328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14017 /* 36331 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14018 /* 36334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14019 /* 36338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14020 /* 36342 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14021 /* 36346 */ // (intrinsic_w_chain:{ *:[v2i16] } 8539:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHLLV_S_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
14022 /* 36346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_S_PH_MM),
14023 /* 36349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14024 /* 36351 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14025 /* 36353 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14026 /* 36355 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14027 /* 36358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14028 /* 36362 */ GIR_RootConstrainSelectedInstOperands,
14029 /* 36363 */ // GIR_Coverage, 1263,
14030 /* 36363 */ GIR_EraseRootFromParent_Done,
14031 /* 36364 */ // Label 1096: @36364
14032 /* 36364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1097*/ GIMT_Encode4(36415), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1264 //
14033 /* 36371 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_qb),
14034 /* 36376 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14035 /* 36379 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14036 /* 36382 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14037 /* 36385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14038 /* 36389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14039 /* 36393 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14040 /* 36397 */ // (intrinsic_w_chain:{ *:[v4i8] } 8538:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHLLV_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
14041 /* 36397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_QB_MM),
14042 /* 36400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14043 /* 36402 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14044 /* 36404 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14045 /* 36406 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14046 /* 36409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14047 /* 36413 */ GIR_RootConstrainSelectedInstOperands,
14048 /* 36414 */ // GIR_Coverage, 1264,
14049 /* 36414 */ GIR_EraseRootFromParent_Done,
14050 /* 36415 */ // Label 1097: @36415
14051 /* 36415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1098*/ GIMT_Encode4(36466), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1265 //
14052 /* 36422 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
14053 /* 36427 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14054 /* 36430 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14055 /* 36433 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14056 /* 36436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14057 /* 36440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14058 /* 36444 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14059 /* 36448 */ // (intrinsic_w_chain:{ *:[i32] } 8540:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SHLLV_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
14060 /* 36448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SHLLV_S_W_MM),
14061 /* 36451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14062 /* 36453 */ GIR_RootToRootCopy, /*OpIdx*/2, // rt
14063 /* 36455 */ GIR_RootToRootCopy, /*OpIdx*/3, // rs
14064 /* 36457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14065 /* 36460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14066 /* 36464 */ GIR_RootConstrainSelectedInstOperands,
14067 /* 36465 */ // GIR_Coverage, 1265,
14068 /* 36465 */ GIR_EraseRootFromParent_Done,
14069 /* 36466 */ // Label 1098: @36466
14070 /* 36466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1099*/ GIMT_Encode4(36517), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1284 //
14071 /* 36473 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subq_s_w),
14072 /* 36478 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14073 /* 36481 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14074 /* 36484 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14075 /* 36487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14076 /* 36491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14077 /* 36495 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14078 /* 36499 */ // (intrinsic_w_chain:{ *:[i32] } 8612:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (SUBQ_S_W_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14079 /* 36499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBQ_S_W_MM),
14080 /* 36502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14081 /* 36504 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14082 /* 36506 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14083 /* 36508 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14084 /* 36511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14085 /* 36515 */ GIR_RootConstrainSelectedInstOperands,
14086 /* 36516 */ // GIR_Coverage, 1284,
14087 /* 36516 */ GIR_EraseRootFromParent_Done,
14088 /* 36517 */ // Label 1099: @36517
14089 /* 36517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1100*/ GIMT_Encode4(36568), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1290 //
14090 /* 36524 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phl),
14091 /* 36529 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14092 /* 36532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14093 /* 36535 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14094 /* 36538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14095 /* 36542 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14096 /* 36546 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14097 /* 36550 */ // (intrinsic_w_chain:{ *:[i32] } 8458:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEQ_S_W_PHL_MM:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14098 /* 36550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEQ_S_W_PHL_MM),
14099 /* 36553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14100 /* 36555 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14101 /* 36557 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14102 /* 36559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14103 /* 36562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14104 /* 36566 */ GIR_RootConstrainSelectedInstOperands,
14105 /* 36567 */ // GIR_Coverage, 1290,
14106 /* 36567 */ GIR_EraseRootFromParent_Done,
14107 /* 36568 */ // Label 1100: @36568
14108 /* 36568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1101*/ GIMT_Encode4(36619), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1291 //
14109 /* 36575 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phr),
14110 /* 36580 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14111 /* 36583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14112 /* 36586 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14113 /* 36589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14114 /* 36593 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14115 /* 36597 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14116 /* 36601 */ // (intrinsic_w_chain:{ *:[i32] } 8459:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEQ_S_W_PHR_MM:{ *:[i32] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14117 /* 36601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEQ_S_W_PHR_MM),
14118 /* 36604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14119 /* 36606 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14120 /* 36608 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14121 /* 36610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14122 /* 36613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14123 /* 36617 */ GIR_RootConstrainSelectedInstOperands,
14124 /* 36618 */ // GIR_Coverage, 1291,
14125 /* 36618 */ GIR_EraseRootFromParent_Done,
14126 /* 36619 */ // Label 1101: @36619
14127 /* 36619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1102*/ GIMT_Encode4(36670), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1292 //
14128 /* 36626 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbl),
14129 /* 36631 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14130 /* 36634 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14131 /* 36637 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14132 /* 36640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14133 /* 36644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14134 /* 36648 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14135 /* 36652 */ // (intrinsic_w_chain:{ *:[v2i16] } 8460:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEU_S_PH_QBL_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14136 /* 36652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEU_S_PH_QBL_MM),
14137 /* 36655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14138 /* 36657 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14139 /* 36659 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14140 /* 36661 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14141 /* 36664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14142 /* 36668 */ GIR_RootConstrainSelectedInstOperands,
14143 /* 36669 */ // GIR_Coverage, 1292,
14144 /* 36669 */ GIR_EraseRootFromParent_Done,
14145 /* 36670 */ // Label 1102: @36670
14146 /* 36670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1103*/ GIMT_Encode4(36721), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1293 //
14147 /* 36677 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbr),
14148 /* 36682 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14149 /* 36685 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14150 /* 36688 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14151 /* 36691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14152 /* 36695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14153 /* 36699 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14154 /* 36703 */ // (intrinsic_w_chain:{ *:[v2i16] } 8461:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULEU_S_PH_QBR_MM:{ *:[v2i16] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14155 /* 36703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULEU_S_PH_QBR_MM),
14156 /* 36706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14157 /* 36708 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14158 /* 36710 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14159 /* 36712 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14160 /* 36715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14161 /* 36719 */ GIR_RootConstrainSelectedInstOperands,
14162 /* 36720 */ // GIR_Coverage, 1293,
14163 /* 36720 */ GIR_EraseRootFromParent_Done,
14164 /* 36721 */ // Label 1103: @36721
14165 /* 36721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1104*/ GIMT_Encode4(36772), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1294 //
14166 /* 36728 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_rs_ph),
14167 /* 36733 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14168 /* 36736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14169 /* 36739 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14170 /* 36742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14171 /* 36746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14172 /* 36750 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14173 /* 36754 */ // (intrinsic_w_chain:{ *:[v2i16] } 8462:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULQ_RS_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14174 /* 36754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_RS_PH_MM),
14175 /* 36757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14176 /* 36759 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14177 /* 36761 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14178 /* 36763 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14179 /* 36766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14180 /* 36770 */ GIR_RootConstrainSelectedInstOperands,
14181 /* 36771 */ // GIR_Coverage, 1294,
14182 /* 36771 */ GIR_EraseRootFromParent_Done,
14183 /* 36772 */ // Label 1104: @36772
14184 /* 36772 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1105*/ GIMT_Encode4(36823), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1297 //
14185 /* 36779 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrqu_s_qb_ph),
14186 /* 36784 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14187 /* 36787 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14188 /* 36790 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14189 /* 36793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14190 /* 36797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14191 /* 36801 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14192 /* 36805 */ // (intrinsic_w_chain:{ *:[v4i8] } 8519:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECRQU_S_QB_PH_MM:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14193 /* 36805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQU_S_QB_PH_MM),
14194 /* 36808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14195 /* 36810 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14196 /* 36812 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14197 /* 36814 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14198 /* 36817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14199 /* 36821 */ GIR_RootConstrainSelectedInstOperands,
14200 /* 36822 */ // GIR_Coverage, 1297,
14201 /* 36822 */ GIR_EraseRootFromParent_Done,
14202 /* 36823 */ // Label 1105: @36823
14203 /* 36823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1106*/ GIMT_Encode4(36874), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1298 //
14204 /* 36830 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precrq_rs_ph_w),
14205 /* 36835 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14206 /* 36838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14207 /* 36841 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14208 /* 36844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14209 /* 36848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14210 /* 36852 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14211 /* 36856 */ // (intrinsic_w_chain:{ *:[v2i16] } 8518:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (PRECRQ_RS_PH_W_MM:{ *:[v2i16] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14212 /* 36856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECRQ_RS_PH_W_MM),
14213 /* 36859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14214 /* 36861 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14215 /* 36863 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14216 /* 36865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag22*/0,
14217 /* 36868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14218 /* 36872 */ GIR_RootConstrainSelectedInstOperands,
14219 /* 36873 */ // GIR_Coverage, 1298,
14220 /* 36873 */ GIR_EraseRootFromParent_Done,
14221 /* 36874 */ // Label 1106: @36874
14222 /* 36874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1107*/ GIMT_Encode4(36922), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1316 //
14223 /* 36881 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_pick_ph),
14224 /* 36886 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14225 /* 36889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14226 /* 36892 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14227 /* 36895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14228 /* 36899 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14229 /* 36903 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14230 /* 36907 */ // (intrinsic_w_chain:{ *:[v2i16] } 8501:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PICK_PH_MM:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14231 /* 36907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PICK_PH_MM),
14232 /* 36910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14233 /* 36912 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14234 /* 36914 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14235 /* 36916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14236 /* 36920 */ GIR_RootConstrainSelectedInstOperands,
14237 /* 36921 */ // GIR_Coverage, 1316,
14238 /* 36921 */ GIR_EraseRootFromParent_Done,
14239 /* 36922 */ // Label 1107: @36922
14240 /* 36922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1108*/ GIMT_Encode4(36970), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1317 //
14241 /* 36929 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_pick_qb),
14242 /* 36934 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14243 /* 36937 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14244 /* 36940 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14245 /* 36943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14246 /* 36947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14247 /* 36951 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14248 /* 36955 */ // (intrinsic_w_chain:{ *:[v4i8] } 8502:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (PICK_QB_MM:{ *:[v4i8] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14249 /* 36955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PICK_QB_MM),
14250 /* 36958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14251 /* 36960 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14252 /* 36962 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14253 /* 36964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14254 /* 36968 */ GIR_RootConstrainSelectedInstOperands,
14255 /* 36969 */ // GIR_Coverage, 1317,
14256 /* 36969 */ GIR_EraseRootFromParent_Done,
14257 /* 36970 */ // Label 1108: @36970
14258 /* 36970 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1109*/ GIMT_Encode4(37018), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1327 //
14259 /* 36977 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_eq_qb),
14260 /* 36982 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14261 /* 36985 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14262 /* 36988 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14263 /* 36991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14264 /* 36995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14265 /* 36999 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14266 /* 37003 */ // (intrinsic_w_chain:{ *:[i32] } 8158:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_EQ_QB_MM:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14267 /* 37003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_EQ_QB_MM),
14268 /* 37006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14269 /* 37008 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14270 /* 37010 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14271 /* 37012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14272 /* 37016 */ GIR_RootConstrainSelectedInstOperands,
14273 /* 37017 */ // GIR_Coverage, 1327,
14274 /* 37017 */ GIR_EraseRootFromParent_Done,
14275 /* 37018 */ // Label 1109: @37018
14276 /* 37018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1110*/ GIMT_Encode4(37066), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1328 //
14277 /* 37025 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_lt_qb),
14278 /* 37030 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14279 /* 37033 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14280 /* 37036 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14281 /* 37039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14282 /* 37043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14283 /* 37047 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14284 /* 37051 */ // (intrinsic_w_chain:{ *:[i32] } 8160:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_LT_QB_MM:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14285 /* 37051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_LT_QB_MM),
14286 /* 37054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14287 /* 37056 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14288 /* 37058 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14289 /* 37060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14290 /* 37064 */ GIR_RootConstrainSelectedInstOperands,
14291 /* 37065 */ // GIR_Coverage, 1328,
14292 /* 37065 */ GIR_EraseRootFromParent_Done,
14293 /* 37066 */ // Label 1110: @37066
14294 /* 37066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1111*/ GIMT_Encode4(37114), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1329 //
14295 /* 37073 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgu_le_qb),
14296 /* 37078 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14297 /* 37081 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14298 /* 37084 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14299 /* 37087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14300 /* 37091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14301 /* 37095 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14302 /* 37099 */ // (intrinsic_w_chain:{ *:[i32] } 8159:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGU_LE_QB_MM:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14303 /* 37099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGU_LE_QB_MM),
14304 /* 37102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14305 /* 37104 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14306 /* 37106 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14307 /* 37108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14308 /* 37112 */ GIR_RootConstrainSelectedInstOperands,
14309 /* 37113 */ // GIR_Coverage, 1329,
14310 /* 37113 */ GIR_EraseRootFromParent_Done,
14311 /* 37114 */ // Label 1111: @37114
14312 /* 37114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1112*/ GIMT_Encode4(37165), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1338 //
14313 /* 37121 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_ph),
14314 /* 37126 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14315 /* 37129 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14316 /* 37132 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14317 /* 37135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14318 /* 37139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14319 /* 37143 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14320 /* 37147 */ // (intrinsic_w_chain:{ *:[v2i16] } 8010:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDU_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14321 /* 37147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_PH_MMR2),
14322 /* 37150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14323 /* 37152 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14324 /* 37154 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14325 /* 37156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14326 /* 37159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14327 /* 37163 */ GIR_RootConstrainSelectedInstOperands,
14328 /* 37164 */ // GIR_Coverage, 1338,
14329 /* 37164 */ GIR_EraseRootFromParent_Done,
14330 /* 37165 */ // Label 1112: @37165
14331 /* 37165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1113*/ GIMT_Encode4(37216), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1339 //
14332 /* 37172 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addu_s_ph),
14333 /* 37177 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14334 /* 37180 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14335 /* 37183 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14336 /* 37186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14337 /* 37190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14338 /* 37194 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14339 /* 37198 */ // (intrinsic_w_chain:{ *:[v2i16] } 8012:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (ADDU_S_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14340 /* 37198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDU_S_PH_MMR2),
14341 /* 37201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14342 /* 37203 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14343 /* 37205 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14344 /* 37207 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14345 /* 37210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14346 /* 37214 */ GIR_RootConstrainSelectedInstOperands,
14347 /* 37215 */ // GIR_Coverage, 1339,
14348 /* 37215 */ GIR_EraseRootFromParent_Done,
14349 /* 37216 */ // Label 1113: @37216
14350 /* 37216 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1114*/ GIMT_Encode4(37267), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1350 //
14351 /* 37223 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_eq_qb),
14352 /* 37228 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14353 /* 37231 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14354 /* 37234 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14355 /* 37237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14356 /* 37241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14357 /* 37245 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14358 /* 37249 */ // (intrinsic_w_chain:{ *:[i32] } 8155:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_EQ_QB_MMR2:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14359 /* 37249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_EQ_QB_MMR2),
14360 /* 37252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14361 /* 37254 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14362 /* 37256 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14363 /* 37258 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
14364 /* 37261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14365 /* 37265 */ GIR_RootConstrainSelectedInstOperands,
14366 /* 37266 */ // GIR_Coverage, 1350,
14367 /* 37266 */ GIR_EraseRootFromParent_Done,
14368 /* 37267 */ // Label 1114: @37267
14369 /* 37267 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1115*/ GIMT_Encode4(37318), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1351 //
14370 /* 37274 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_lt_qb),
14371 /* 37279 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14372 /* 37282 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14373 /* 37285 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14374 /* 37288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14375 /* 37292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14376 /* 37296 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14377 /* 37300 */ // (intrinsic_w_chain:{ *:[i32] } 8157:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_LT_QB_MMR2:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14378 /* 37300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_LT_QB_MMR2),
14379 /* 37303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14380 /* 37305 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14381 /* 37307 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14382 /* 37309 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
14383 /* 37312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14384 /* 37316 */ GIR_RootConstrainSelectedInstOperands,
14385 /* 37317 */ // GIR_Coverage, 1351,
14386 /* 37317 */ GIR_EraseRootFromParent_Done,
14387 /* 37318 */ // Label 1115: @37318
14388 /* 37318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1116*/ GIMT_Encode4(37369), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1352 //
14389 /* 37325 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_cmpgdu_le_qb),
14390 /* 37330 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14391 /* 37333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s8,
14392 /* 37336 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s8,
14393 /* 37339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14394 /* 37343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14395 /* 37347 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14396 /* 37351 */ // (intrinsic_w_chain:{ *:[i32] } 8156:{ *:[iPTR] }, DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt) => (CMPGDU_LE_QB_MMR2:{ *:[i32] } DSPROpnd:{ *:[v4i8] }:$rs, DSPROpnd:{ *:[v4i8] }:$rt)
14397 /* 37351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMPGDU_LE_QB_MMR2),
14398 /* 37354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14399 /* 37356 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14400 /* 37358 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14401 /* 37360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCCond*/0,
14402 /* 37363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14403 /* 37367 */ GIR_RootConstrainSelectedInstOperands,
14404 /* 37368 */ // GIR_Coverage, 1352,
14405 /* 37368 */ GIR_EraseRootFromParent_Done,
14406 /* 37369 */ // Label 1116: @37369
14407 /* 37369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1117*/ GIMT_Encode4(37420), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1358 //
14408 /* 37376 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_ph),
14409 /* 37381 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14410 /* 37384 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14411 /* 37387 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14412 /* 37390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14413 /* 37394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14414 /* 37398 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14415 /* 37402 */ // (intrinsic_w_chain:{ *:[v2i16] } 8633:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBU_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14416 /* 37402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_PH_MMR2),
14417 /* 37405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14418 /* 37407 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14419 /* 37409 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14420 /* 37411 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14421 /* 37414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14422 /* 37418 */ GIR_RootConstrainSelectedInstOperands,
14423 /* 37419 */ // GIR_Coverage, 1358,
14424 /* 37419 */ GIR_EraseRootFromParent_Done,
14425 /* 37420 */ // Label 1117: @37420
14426 /* 37420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1118*/ GIMT_Encode4(37471), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1359 //
14427 /* 37427 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_subu_s_ph),
14428 /* 37432 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14429 /* 37435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14430 /* 37438 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14431 /* 37441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14432 /* 37445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14433 /* 37449 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14434 /* 37453 */ // (intrinsic_w_chain:{ *:[v2i16] } 8635:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (SUBU_S_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14435 /* 37453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SUBU_S_PH_MMR2),
14436 /* 37456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14437 /* 37458 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14438 /* 37460 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14439 /* 37462 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14440 /* 37465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14441 /* 37469 */ GIR_RootConstrainSelectedInstOperands,
14442 /* 37470 */ // GIR_Coverage, 1359,
14443 /* 37470 */ GIR_EraseRootFromParent_Done,
14444 /* 37471 */ // Label 1118: @37471
14445 /* 37471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1119*/ GIMT_Encode4(37522), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1366 //
14446 /* 37478 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_s_ph),
14447 /* 37483 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14448 /* 37486 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14449 /* 37489 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14450 /* 37492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14451 /* 37496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14452 /* 37500 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14453 /* 37504 */ // (intrinsic_w_chain:{ *:[v2i16] } 8457:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MUL_S_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14454 /* 37504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_S_PH_MMR2),
14455 /* 37507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14456 /* 37509 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14457 /* 37511 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14458 /* 37513 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14459 /* 37516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14460 /* 37520 */ GIR_RootConstrainSelectedInstOperands,
14461 /* 37521 */ // GIR_Coverage, 1366,
14462 /* 37521 */ GIR_EraseRootFromParent_Done,
14463 /* 37522 */ // Label 1119: @37522
14464 /* 37522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1120*/ GIMT_Encode4(37573), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1367 //
14465 /* 37529 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_rs_w),
14466 /* 37534 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14467 /* 37537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14468 /* 37540 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14469 /* 37543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14470 /* 37547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14471 /* 37551 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14472 /* 37555 */ // (intrinsic_w_chain:{ *:[i32] } 8463:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MULQ_RS_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14473 /* 37555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_RS_W_MMR2),
14474 /* 37558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14475 /* 37560 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14476 /* 37562 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14477 /* 37564 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14478 /* 37567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14479 /* 37571 */ GIR_RootConstrainSelectedInstOperands,
14480 /* 37572 */ // GIR_Coverage, 1367,
14481 /* 37572 */ GIR_EraseRootFromParent_Done,
14482 /* 37573 */ // Label 1120: @37573
14483 /* 37573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1121*/ GIMT_Encode4(37624), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1368 //
14484 /* 37580 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_s_ph),
14485 /* 37585 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14486 /* 37588 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14487 /* 37591 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14488 /* 37594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14489 /* 37598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14490 /* 37602 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14491 /* 37606 */ // (intrinsic_w_chain:{ *:[v2i16] } 8464:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (MULQ_S_PH_MMR2:{ *:[v2i16] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14492 /* 37606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_S_PH_MMR2),
14493 /* 37609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14494 /* 37611 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14495 /* 37613 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14496 /* 37615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14497 /* 37618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14498 /* 37622 */ GIR_RootConstrainSelectedInstOperands,
14499 /* 37623 */ // GIR_Coverage, 1368,
14500 /* 37623 */ GIR_EraseRootFromParent_Done,
14501 /* 37624 */ // Label 1121: @37624
14502 /* 37624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1122*/ GIMT_Encode4(37675), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1369 //
14503 /* 37631 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mulq_s_w),
14504 /* 37636 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14505 /* 37639 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14506 /* 37642 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14507 /* 37645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14508 /* 37649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14509 /* 37653 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14510 /* 37657 */ // (intrinsic_w_chain:{ *:[i32] } 8465:{ *:[iPTR] }, GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MULQ_S_W_MMR2:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
14511 /* 37657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MULQ_S_W_MMR2),
14512 /* 37660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14513 /* 37662 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14514 /* 37664 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14515 /* 37666 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14516 /* 37669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14517 /* 37673 */ GIR_RootConstrainSelectedInstOperands,
14518 /* 37674 */ // GIR_Coverage, 1369,
14519 /* 37674 */ GIR_EraseRootFromParent_Done,
14520 /* 37675 */ // Label 1122: @37675
14521 /* 37675 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1123*/ GIMT_Encode4(37723), GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips), // Rule ID 1370 //
14522 /* 37682 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_precr_qb_ph),
14523 /* 37687 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s8,
14524 /* 37690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14525 /* 37693 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14526 /* 37696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14527 /* 37700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14528 /* 37704 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14529 /* 37708 */ // (intrinsic_w_chain:{ *:[v4i8] } 8513:{ *:[iPTR] }, DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt) => (PRECR_QB_PH_MMR2:{ *:[v4i8] } DSPROpnd:{ *:[v2i16] }:$rs, DSPROpnd:{ *:[v2i16] }:$rt)
14530 /* 37708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::PRECR_QB_PH_MMR2),
14531 /* 37711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14532 /* 37713 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
14533 /* 37715 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
14534 /* 37717 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14535 /* 37721 */ GIR_RootConstrainSelectedInstOperands,
14536 /* 37722 */ // GIR_Coverage, 1370,
14537 /* 37722 */ GIR_EraseRootFromParent_Done,
14538 /* 37723 */ // Label 1123: @37723
14539 /* 37723 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1124*/ GIMT_Encode4(37766), GIMT_Encode2(GIFBS_HasDSPR2), // Rule ID 2059 //
14540 /* 37730 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_mul_ph),
14541 /* 37735 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s16,
14542 /* 37738 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s16,
14543 /* 37741 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s16,
14544 /* 37744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::DSPRRegClassID),
14545 /* 37748 */ // (intrinsic_w_chain:{ *:[v2i16] } 8454:{ *:[iPTR] }, v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b) => (MUL_PH:{ *:[v2i16] } v2i16:{ *:[v2i16] }:$a, v2i16:{ *:[v2i16] }:$b)
14546 /* 37748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MUL_PH),
14547 /* 37751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14548 /* 37753 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
14549 /* 37755 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
14550 /* 37757 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag21*/0,
14551 /* 37760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14552 /* 37764 */ GIR_RootConstrainSelectedInstOperands,
14553 /* 37765 */ // GIR_Coverage, 2059,
14554 /* 37765 */ GIR_EraseRootFromParent_Done,
14555 /* 37766 */ // Label 1124: @37766
14556 /* 37766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1125*/ GIMT_Encode4(37809), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2065 //
14557 /* 37773 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addsc),
14558 /* 37778 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14559 /* 37781 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14560 /* 37784 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14561 /* 37787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14562 /* 37791 */ // (intrinsic_w_chain:{ *:[i32] } 8009:{ *:[iPTR] }, i32:{ *:[i32] }:$a, i32:{ *:[i32] }:$b) => (ADDSC:{ *:[i32] } i32:{ *:[i32] }:$a, i32:{ *:[i32] }:$b)
14563 /* 37791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDSC),
14564 /* 37794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14565 /* 37796 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
14566 /* 37798 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
14567 /* 37800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPCarry*/0,
14568 /* 37803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14569 /* 37807 */ GIR_RootConstrainSelectedInstOperands,
14570 /* 37808 */ // GIR_Coverage, 2065,
14571 /* 37808 */ GIR_EraseRootFromParent_Done,
14572 /* 37809 */ // Label 1125: @37809
14573 /* 37809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1126*/ GIMT_Encode4(37852), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 2067 //
14574 /* 37816 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_addwc),
14575 /* 37821 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14576 /* 37824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
14577 /* 37827 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14578 /* 37830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14579 /* 37834 */ // (intrinsic_w_chain:{ *:[i32] } 8024:{ *:[iPTR] }, i32:{ *:[i32] }:$a, i32:{ *:[i32] }:$b) => (ADDWC:{ *:[i32] } i32:{ *:[i32] }:$a, i32:{ *:[i32] }:$b)
14580 /* 37834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ADDWC),
14581 /* 37837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14582 /* 37839 */ GIR_RootToRootCopy, /*OpIdx*/2, // a
14583 /* 37841 */ GIR_RootToRootCopy, /*OpIdx*/3, // b
14584 /* 37843 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for Mips::DSPOutFlag20*/0,
14585 /* 37846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14586 /* 37850 */ GIR_RootConstrainSelectedInstOperands,
14587 /* 37851 */ // GIR_Coverage, 2067,
14588 /* 37851 */ GIR_EraseRootFromParent_Done,
14589 /* 37852 */ // Label 1126: @37852
14590 /* 37852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1127*/ GIMT_Encode4(37897), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 515 //
14591 /* 37859 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ldr_d),
14592 /* 37864 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
14593 /* 37867 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14594 /* 37870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
14595 /* 37874 */ // MIs[0] ptr
14596 /* 37874 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14597 /* 37878 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14598 /* 37882 */ // (intrinsic_w_chain:{ *:[v2i64] } 8374:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm) => (LDR_D:{ *:[v2i64] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm)
14599 /* 37882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LDR_D),
14600 /* 37885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14601 /* 37887 */ GIR_RootToRootCopy, /*OpIdx*/2, // ptr
14602 /* 37889 */ GIR_RootToRootCopy, /*OpIdx*/3, // imm
14603 /* 37891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14604 /* 37895 */ GIR_RootConstrainSelectedInstOperands,
14605 /* 37896 */ // GIR_Coverage, 515,
14606 /* 37896 */ GIR_EraseRootFromParent_Done,
14607 /* 37897 */ // Label 1127: @37897
14608 /* 37897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1128*/ GIMT_Encode4(37942), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 516 //
14609 /* 37904 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_ldr_w),
14610 /* 37909 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
14611 /* 37912 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14612 /* 37915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
14613 /* 37919 */ // MIs[0] ptr
14614 /* 37919 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14615 /* 37923 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14616 /* 37927 */ // (intrinsic_w_chain:{ *:[v4i32] } 8375:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm) => (LDR_W:{ *:[v4i32] } iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm)
14617 /* 37927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LDR_W),
14618 /* 37930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14619 /* 37932 */ GIR_RootToRootCopy, /*OpIdx*/2, // ptr
14620 /* 37934 */ GIR_RootToRootCopy, /*OpIdx*/3, // imm
14621 /* 37936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14622 /* 37940 */ GIR_RootConstrainSelectedInstOperands,
14623 /* 37941 */ // GIR_Coverage, 516,
14624 /* 37941 */ GIR_EraseRootFromParent_Done,
14625 /* 37942 */ // Label 1128: @37942
14626 /* 37942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1129*/ GIMT_Encode4(37983), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 462 //
14627 /* 37949 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lwx),
14628 /* 37954 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14629 /* 37957 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14630 /* 37960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14631 /* 37964 */ // MIs[0] base
14632 /* 37964 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14633 /* 37968 */ // (intrinsic_w_chain:{ *:[i32] } 8378:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LWX:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
14634 /* 37968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LWX),
14635 /* 37971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14636 /* 37973 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
14637 /* 37975 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
14638 /* 37977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14639 /* 37981 */ GIR_RootConstrainSelectedInstOperands,
14640 /* 37982 */ // GIR_Coverage, 462,
14641 /* 37982 */ GIR_EraseRootFromParent_Done,
14642 /* 37983 */ // Label 1129: @37983
14643 /* 37983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1130*/ GIMT_Encode4(38024), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 463 //
14644 /* 37990 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lhx),
14645 /* 37995 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14646 /* 37998 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14647 /* 38001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14648 /* 38005 */ // MIs[0] base
14649 /* 38005 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14650 /* 38009 */ // (intrinsic_w_chain:{ *:[i32] } 8376:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LHX:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
14651 /* 38009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LHX),
14652 /* 38012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14653 /* 38014 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
14654 /* 38016 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
14655 /* 38018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14656 /* 38022 */ GIR_RootConstrainSelectedInstOperands,
14657 /* 38023 */ // GIR_Coverage, 463,
14658 /* 38023 */ GIR_EraseRootFromParent_Done,
14659 /* 38024 */ // Label 1130: @38024
14660 /* 38024 */ GIM_Try, /*On fail goto*//*Label 1131*/ GIMT_Encode4(38093),
14661 /* 38029 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lbux),
14662 /* 38034 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14663 /* 38037 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14664 /* 38040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14665 /* 38044 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14666 /* 38048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1132*/ GIMT_Encode4(38070), GIMT_Encode2(GIFBS_HasDSP), // Rule ID 464 //
14667 /* 38055 */ // (intrinsic_w_chain:{ *:[i32] } 8365:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LBUX:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
14668 /* 38055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LBUX),
14669 /* 38058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14670 /* 38060 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
14671 /* 38062 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
14672 /* 38064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14673 /* 38068 */ GIR_RootConstrainSelectedInstOperands,
14674 /* 38069 */ // GIR_Coverage, 464,
14675 /* 38069 */ GIR_EraseRootFromParent_Done,
14676 /* 38070 */ // Label 1132: @38070
14677 /* 38070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1133*/ GIMT_Encode4(38092), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1299 //
14678 /* 38077 */ // (intrinsic_w_chain:{ *:[i32] } 8365:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LBUX_MM:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
14679 /* 38077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LBUX_MM),
14680 /* 38080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14681 /* 38082 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
14682 /* 38084 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
14683 /* 38086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14684 /* 38090 */ GIR_RootConstrainSelectedInstOperands,
14685 /* 38091 */ // GIR_Coverage, 1299,
14686 /* 38091 */ GIR_EraseRootFromParent_Done,
14687 /* 38092 */ // Label 1133: @38092
14688 /* 38092 */ GIM_Reject,
14689 /* 38093 */ // Label 1131: @38093
14690 /* 38093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1134*/ GIMT_Encode4(38134), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1300 //
14691 /* 38100 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lhx),
14692 /* 38105 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14693 /* 38108 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14694 /* 38111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14695 /* 38115 */ // MIs[0] base
14696 /* 38115 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14697 /* 38119 */ // (intrinsic_w_chain:{ *:[i32] } 8376:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LHX_MM:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
14698 /* 38119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LHX_MM),
14699 /* 38122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14700 /* 38124 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
14701 /* 38126 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
14702 /* 38128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14703 /* 38132 */ GIR_RootConstrainSelectedInstOperands,
14704 /* 38133 */ // GIR_Coverage, 1300,
14705 /* 38133 */ GIR_EraseRootFromParent_Done,
14706 /* 38134 */ // Label 1134: @38134
14707 /* 38134 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1135*/ GIMT_Encode4(38175), GIMT_Encode2(GIFBS_HasDSP_InMicroMips), // Rule ID 1301 //
14708 /* 38141 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::mips_lwx),
14709 /* 38146 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14710 /* 38149 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14711 /* 38152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14712 /* 38156 */ // MIs[0] base
14713 /* 38156 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14714 /* 38160 */ // (intrinsic_w_chain:{ *:[i32] } 8378:{ *:[iPTR] }, iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index) => (LWX_MM:{ *:[i32] } iPTR:{ *:[iPTR] }:$base, iPTR:{ *:[i32] }:$index)
14715 /* 38160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LWX_MM),
14716 /* 38163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14717 /* 38165 */ GIR_RootToRootCopy, /*OpIdx*/2, // base
14718 /* 38167 */ GIR_RootToRootCopy, /*OpIdx*/3, // index
14719 /* 38169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14720 /* 38173 */ GIR_RootConstrainSelectedInstOperands,
14721 /* 38174 */ // GIR_Coverage, 1301,
14722 /* 38174 */ GIR_EraseRootFromParent_Done,
14723 /* 38175 */ // Label 1135: @38175
14724 /* 38175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1136*/ GIMT_Encode4(38220), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 517 //
14725 /* 38182 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_str_d),
14726 /* 38187 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
14727 /* 38190 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14728 /* 38193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
14729 /* 38197 */ // MIs[0] ptr
14730 /* 38197 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14731 /* 38201 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14732 /* 38205 */ // (intrinsic_void 8608:{ *:[iPTR] }, MSA128DOpnd:{ *:[v2i64] }:$dst, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm) => (STR_D MSA128DOpnd:{ *:[v2i64] }:$dst, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm)
14733 /* 38205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::STR_D),
14734 /* 38208 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
14735 /* 38210 */ GIR_RootToRootCopy, /*OpIdx*/2, // ptr
14736 /* 38212 */ GIR_RootToRootCopy, /*OpIdx*/3, // imm
14737 /* 38214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14738 /* 38218 */ GIR_RootConstrainSelectedInstOperands,
14739 /* 38219 */ // GIR_Coverage, 517,
14740 /* 38219 */ GIR_EraseRootFromParent_Done,
14741 /* 38220 */ // Label 1136: @38220
14742 /* 38220 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1137*/ GIMT_Encode4(38265), GIMT_Encode2(GIFBS_NotInMips16Mode), // Rule ID 518 //
14743 /* 38227 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::mips_str_w),
14744 /* 38232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
14745 /* 38235 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
14746 /* 38238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
14747 /* 38242 */ // MIs[0] ptr
14748 /* 38242 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
14749 /* 38246 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14750 /* 38250 */ // (intrinsic_void 8609:{ *:[iPTR] }, MSA128WOpnd:{ *:[v4i32] }:$dst, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm) => (STR_W MSA128WOpnd:{ *:[v4i32] }:$dst, iPTR:{ *:[iPTR] }:$ptr, GPR32:{ *:[i32] }:$imm)
14751 /* 38250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::STR_W),
14752 /* 38253 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
14753 /* 38255 */ GIR_RootToRootCopy, /*OpIdx*/2, // ptr
14754 /* 38257 */ GIR_RootToRootCopy, /*OpIdx*/3, // imm
14755 /* 38259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
14756 /* 38263 */ GIR_RootConstrainSelectedInstOperands,
14757 /* 38264 */ // GIR_Coverage, 518,
14758 /* 38264 */ GIR_EraseRootFromParent_Done,
14759 /* 38265 */ // Label 1137: @38265
14760 /* 38265 */ GIM_Reject,
14761 /* 38266 */ // Label 1055: @38266
14762 /* 38266 */ GIM_Reject,
14763 /* 38267 */ // Label 32: @38267
14764 /* 38267 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1138*/ GIMT_Encode4(38331), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1688 //
14765 /* 38274 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
14766 /* 38277 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
14767 /* 38280 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
14768 /* 38284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14769 /* 38288 */ // (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$src) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GPR32:{ *:[i32] }:$src, sub_32:{ *:[i32] })
14770 /* 38288 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14771 /* 38291 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14772 /* 38295 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14773 /* 38300 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14774 /* 38302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14775 /* 38305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14776 /* 38307 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14777 /* 38310 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14778 /* 38312 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
14779 /* 38315 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
14780 /* 38320 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
14781 /* 38325 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
14782 /* 38330 */ // GIR_Coverage, 1688,
14783 /* 38330 */ GIR_EraseRootFromParent_Done,
14784 /* 38331 */ // Label 1138: @38331
14785 /* 38331 */ GIM_Reject,
14786 /* 38332 */ // Label 33: @38332
14787 /* 38332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1139*/ GIMT_Encode4(38394), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1681 //
14788 /* 38339 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14789 /* 38342 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
14790 /* 38345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14791 /* 38349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
14792 /* 38353 */ // (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$src) => (SLL:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$src, sub_32:{ *:[i32] }), 0:{ *:[i32] })
14793 /* 38353 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
14794 /* 38356 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14795 /* 38360 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14796 /* 38365 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
14797 /* 38371 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
14798 /* 38376 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
14799 /* 38381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL),
14800 /* 38384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14801 /* 38386 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14802 /* 38389 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
14803 /* 38392 */ GIR_RootConstrainSelectedInstOperands,
14804 /* 38393 */ // GIR_Coverage, 1681,
14805 /* 38393 */ GIR_EraseRootFromParent_Done,
14806 /* 38394 */ // Label 1139: @38394
14807 /* 38394 */ GIM_Reject,
14808 /* 38395 */ // Label 34: @38395
14809 /* 38395 */ GIM_Try, /*On fail goto*//*Label 1140*/ GIMT_Encode4(38453),
14810 /* 38400 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
14811 /* 38403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1141*/ GIMT_Encode4(38428), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2295 //
14812 /* 38410 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immLi16),
14813 /* 38414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
14814 /* 38418 */ // MIs[0] Operand 1
14815 /* 38418 */ // No operand predicates
14816 /* 38418 */ // (imm:{ *:[i32] })<<P:Predicate_immLi16>>:$imm => (LI16_MM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immLi16>>:$imm)
14817 /* 38418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LI16_MM),
14818 /* 38421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
14819 /* 38423 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // imm
14820 /* 38426 */ GIR_RootConstrainSelectedInstOperands,
14821 /* 38427 */ // GIR_Coverage, 2295,
14822 /* 38427 */ GIR_EraseRootFromParent_Done,
14823 /* 38428 */ // Label 1141: @38428
14824 /* 38428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1142*/ GIMT_Encode4(38452), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1983 //
14825 /* 38435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
14826 /* 38439 */ // MIs[0] Operand 1
14827 /* 38439 */ // No operand predicates
14828 /* 38439 */ // (imm:{ *:[i32] }):$imm => (LwConstant32:{ *:[i32] } (imm:{ *:[i32] }):$imm, -1:{ *:[i32] })
14829 /* 38439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::LwConstant32),
14830 /* 38442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
14831 /* 38444 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // imm
14832 /* 38447 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/255,
14833 /* 38450 */ GIR_RootConstrainSelectedInstOperands,
14834 /* 38451 */ // GIR_Coverage, 1983,
14835 /* 38451 */ GIR_EraseRootFromParent_Done,
14836 /* 38452 */ // Label 1142: @38452
14837 /* 38452 */ GIM_Reject,
14838 /* 38453 */ // Label 1140: @38453
14839 /* 38453 */ GIM_Reject,
14840 /* 38454 */ // Label 35: @38454
14841 /* 38454 */ GIM_Try, /*On fail goto*//*Label 1143*/ GIMT_Encode4(39910),
14842 /* 38459 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
14843 /* 38462 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
14844 /* 38465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
14845 /* 38469 */ GIM_Try, /*On fail goto*//*Label 1144*/ GIMT_Encode4(38574), // Rule ID 1737 //
14846 /* 38474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14847 /* 38478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
14848 /* 38482 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
14849 /* 38486 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
14850 /* 38490 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14851 /* 38495 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14852 /* 38499 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14853 /* 38503 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
14854 /* 38507 */ // MIs[2] Operand 1
14855 /* 38507 */ // No operand predicates
14856 /* 38507 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14857 /* 38509 */ // (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] })
14858 /* 38509 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
14859 /* 38512 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SRA),
14860 /* 38516 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14861 /* 38521 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
14862 /* 38525 */ GIR_CopyConstantAsSImm, /*NewInsnID*/2, /*OldInsnID*/2, // imm5
14863 /* 38528 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14864 /* 38530 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14865 /* 38533 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14866 /* 38537 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14867 /* 38542 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14868 /* 38544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14869 /* 38547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14870 /* 38549 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14871 /* 38552 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
14872 /* 38555 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
14873 /* 38558 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
14874 /* 38563 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
14875 /* 38568 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
14876 /* 38573 */ // GIR_Coverage, 1737,
14877 /* 38573 */ GIR_EraseRootFromParent_Done,
14878 /* 38574 */ // Label 1144: @38574
14879 /* 38574 */ GIM_Try, /*On fail goto*//*Label 1145*/ GIMT_Encode4(38679), // Rule ID 1733 //
14880 /* 38579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14881 /* 38583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
14882 /* 38587 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
14883 /* 38591 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
14884 /* 38595 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14885 /* 38600 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14886 /* 38604 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14887 /* 38608 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
14888 /* 38612 */ // MIs[2] Operand 1
14889 /* 38612 */ // No operand predicates
14890 /* 38612 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14891 /* 38614 */ // (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] })
14892 /* 38614 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
14893 /* 38617 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SRL),
14894 /* 38621 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14895 /* 38626 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
14896 /* 38630 */ GIR_CopyConstantAsSImm, /*NewInsnID*/2, /*OldInsnID*/2, // imm5
14897 /* 38633 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14898 /* 38635 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14899 /* 38638 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14900 /* 38642 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14901 /* 38647 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14902 /* 38649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14903 /* 38652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14904 /* 38654 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14905 /* 38657 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
14906 /* 38660 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
14907 /* 38663 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
14908 /* 38668 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
14909 /* 38673 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
14910 /* 38678 */ // GIR_Coverage, 1733,
14911 /* 38678 */ GIR_EraseRootFromParent_Done,
14912 /* 38679 */ // Label 1145: @38679
14913 /* 38679 */ GIM_Try, /*On fail goto*//*Label 1146*/ GIMT_Encode4(38784), // Rule ID 1729 //
14914 /* 38684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14915 /* 38688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
14916 /* 38692 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
14917 /* 38696 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
14918 /* 38700 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14919 /* 38705 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14920 /* 38709 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14921 /* 38713 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
14922 /* 38717 */ // MIs[2] Operand 1
14923 /* 38717 */ // No operand predicates
14924 /* 38717 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14925 /* 38719 */ // (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] })
14926 /* 38719 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
14927 /* 38722 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SLL),
14928 /* 38726 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14929 /* 38731 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
14930 /* 38735 */ GIR_CopyConstantAsSImm, /*NewInsnID*/2, /*OldInsnID*/2, // imm5
14931 /* 38738 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14932 /* 38740 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14933 /* 38743 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14934 /* 38747 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14935 /* 38752 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14936 /* 38754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14937 /* 38757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14938 /* 38759 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14939 /* 38762 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
14940 /* 38765 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
14941 /* 38768 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
14942 /* 38773 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
14943 /* 38778 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
14944 /* 38783 */ // GIR_Coverage, 1729,
14945 /* 38783 */ GIR_EraseRootFromParent_Done,
14946 /* 38784 */ // Label 1146: @38784
14947 /* 38784 */ GIM_Try, /*On fail goto*//*Label 1147*/ GIMT_Encode4(38883), // Rule ID 1719 //
14948 /* 38789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14949 /* 38793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
14950 /* 38797 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
14951 /* 38801 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
14952 /* 38805 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14953 /* 38810 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14954 /* 38815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14955 /* 38817 */ // (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] })
14956 /* 38817 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
14957 /* 38820 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::ADDu),
14958 /* 38824 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14959 /* 38829 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
14960 /* 38833 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
14961 /* 38837 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14962 /* 38839 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14963 /* 38842 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14964 /* 38846 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14965 /* 38851 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14966 /* 38853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14967 /* 38856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14968 /* 38858 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14969 /* 38861 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
14970 /* 38864 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
14971 /* 38867 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
14972 /* 38872 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
14973 /* 38877 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
14974 /* 38882 */ // GIR_Coverage, 1719,
14975 /* 38882 */ GIR_EraseRootFromParent_Done,
14976 /* 38883 */ // Label 1147: @38883
14977 /* 38883 */ GIM_Try, /*On fail goto*//*Label 1148*/ GIMT_Encode4(38982), // Rule ID 1739 //
14978 /* 38888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14979 /* 38892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
14980 /* 38896 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
14981 /* 38900 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
14982 /* 38904 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14983 /* 38909 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
14984 /* 38914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14985 /* 38916 */ // (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] })
14986 /* 38916 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
14987 /* 38919 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SRAV),
14988 /* 38923 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14989 /* 38928 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
14990 /* 38932 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
14991 /* 38936 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14992 /* 38938 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14993 /* 38941 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14994 /* 38945 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14995 /* 38950 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14996 /* 38952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14997 /* 38955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14998 /* 38957 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14999 /* 38960 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15000 /* 38963 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15001 /* 38966 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15002 /* 38971 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15003 /* 38976 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15004 /* 38981 */ // GIR_Coverage, 1739,
15005 /* 38981 */ GIR_EraseRootFromParent_Done,
15006 /* 38982 */ // Label 1148: @38982
15007 /* 38982 */ GIM_Try, /*On fail goto*//*Label 1149*/ GIMT_Encode4(39081), // Rule ID 1735 //
15008 /* 38987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15009 /* 38991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
15010 /* 38995 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15011 /* 38999 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15012 /* 39003 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15013 /* 39008 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15014 /* 39013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15015 /* 39015 */ // (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] })
15016 /* 39015 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15017 /* 39018 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SRLV),
15018 /* 39022 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15019 /* 39027 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15020 /* 39031 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15021 /* 39035 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15022 /* 39037 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15023 /* 39040 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15024 /* 39044 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15025 /* 39049 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15026 /* 39051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15027 /* 39054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15028 /* 39056 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15029 /* 39059 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15030 /* 39062 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15031 /* 39065 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15032 /* 39070 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15033 /* 39075 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15034 /* 39080 */ // GIR_Coverage, 1735,
15035 /* 39080 */ GIR_EraseRootFromParent_Done,
15036 /* 39081 */ // Label 1149: @39081
15037 /* 39081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1150*/ GIMT_Encode4(39188), GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotMips32r6_NotMips64r6), // Rule ID 1723 //
15038 /* 39088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15039 /* 39092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
15040 /* 39096 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15041 /* 39100 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15042 /* 39104 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15043 /* 39109 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15044 /* 39114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15045 /* 39116 */ // (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] })
15046 /* 39116 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15047 /* 39119 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::MUL),
15048 /* 39123 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15049 /* 39128 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15050 /* 39132 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15051 /* 39136 */ GIR_SetImplicitDefDead, /*InsnID*/2, /*OpIdx for Mips::HI0*/0,
15052 /* 39139 */ GIR_SetImplicitDefDead, /*InsnID*/2, /*OpIdx for Mips::LO0*/1,
15053 /* 39142 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15054 /* 39144 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15055 /* 39147 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15056 /* 39151 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15057 /* 39156 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15058 /* 39158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15059 /* 39161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15060 /* 39163 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15061 /* 39166 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15062 /* 39169 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15063 /* 39172 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15064 /* 39177 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15065 /* 39182 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15066 /* 39187 */ // GIR_Coverage, 1723,
15067 /* 39187 */ GIR_EraseRootFromParent_Done,
15068 /* 39188 */ // Label 1150: @39188
15069 /* 39188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1151*/ GIMT_Encode4(39289), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc), // Rule ID 1934 //
15070 /* 39195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15071 /* 39199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
15072 /* 39203 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15073 /* 39207 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15074 /* 39211 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15075 /* 39216 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15076 /* 39221 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15077 /* 39223 */ // (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] })
15078 /* 39223 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15079 /* 39226 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::MUL_R6),
15080 /* 39230 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15081 /* 39235 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15082 /* 39239 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15083 /* 39243 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15084 /* 39245 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15085 /* 39248 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15086 /* 39252 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15087 /* 39257 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15088 /* 39259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15089 /* 39262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15090 /* 39264 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15091 /* 39267 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15092 /* 39270 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15093 /* 39273 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15094 /* 39278 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15095 /* 39283 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15096 /* 39288 */ // GIR_Coverage, 1934,
15097 /* 39288 */ GIR_EraseRootFromParent_Done,
15098 /* 39289 */ // Label 1151: @39289
15099 /* 39289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1152*/ GIMT_Encode4(39390), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc), // Rule ID 1935 //
15100 /* 39296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15101 /* 39300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SDIV),
15102 /* 39304 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15103 /* 39308 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15104 /* 39312 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15105 /* 39317 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15106 /* 39322 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15107 /* 39324 */ // (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] })
15108 /* 39324 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15109 /* 39327 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::DIV),
15110 /* 39331 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15111 /* 39336 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15112 /* 39340 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15113 /* 39344 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15114 /* 39346 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15115 /* 39349 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15116 /* 39353 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15117 /* 39358 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15118 /* 39360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15119 /* 39363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15120 /* 39365 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15121 /* 39368 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15122 /* 39371 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15123 /* 39374 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15124 /* 39379 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15125 /* 39384 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15126 /* 39389 */ // GIR_Coverage, 1935,
15127 /* 39389 */ GIR_EraseRootFromParent_Done,
15128 /* 39390 */ // Label 1152: @39390
15129 /* 39390 */ GIM_Try, /*On fail goto*//*Label 1153*/ GIMT_Encode4(39489), // Rule ID 1731 //
15130 /* 39395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15131 /* 39399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
15132 /* 39403 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15133 /* 39407 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15134 /* 39411 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15135 /* 39416 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15136 /* 39421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15137 /* 39423 */ // (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] })
15138 /* 39423 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15139 /* 39426 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SLLV),
15140 /* 39430 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15141 /* 39435 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15142 /* 39439 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15143 /* 39443 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15144 /* 39445 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15145 /* 39448 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15146 /* 39452 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15147 /* 39457 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15148 /* 39459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15149 /* 39462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15150 /* 39464 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15151 /* 39467 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15152 /* 39470 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15153 /* 39473 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15154 /* 39478 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15155 /* 39483 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15156 /* 39488 */ // GIR_Coverage, 1731,
15157 /* 39488 */ GIR_EraseRootFromParent_Done,
15158 /* 39489 */ // Label 1153: @39489
15159 /* 39489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1154*/ GIMT_Encode4(39590), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc), // Rule ID 1937 //
15160 /* 39496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15161 /* 39500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SREM),
15162 /* 39504 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15163 /* 39508 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15164 /* 39512 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15165 /* 39517 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15166 /* 39522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15167 /* 39524 */ // (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] })
15168 /* 39524 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15169 /* 39527 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::MOD),
15170 /* 39531 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15171 /* 39536 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15172 /* 39540 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15173 /* 39544 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15174 /* 39546 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15175 /* 39549 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15176 /* 39553 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15177 /* 39558 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15178 /* 39560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15179 /* 39563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15180 /* 39565 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15181 /* 39568 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15182 /* 39571 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15183 /* 39574 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15184 /* 39579 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15185 /* 39584 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15186 /* 39589 */ // GIR_Coverage, 1937,
15187 /* 39589 */ GIR_EraseRootFromParent_Done,
15188 /* 39590 */ // Label 1154: @39590
15189 /* 39590 */ GIM_Try, /*On fail goto*//*Label 1155*/ GIMT_Encode4(39689), // Rule ID 1721 //
15190 /* 39595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15191 /* 39599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
15192 /* 39603 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15193 /* 39607 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15194 /* 39611 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15195 /* 39616 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15196 /* 39621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15197 /* 39623 */ // (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] })
15198 /* 39623 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15199 /* 39626 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SUBu),
15200 /* 39630 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15201 /* 39635 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15202 /* 39639 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15203 /* 39643 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15204 /* 39645 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15205 /* 39648 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15206 /* 39652 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15207 /* 39657 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15208 /* 39659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15209 /* 39662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15210 /* 39664 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15211 /* 39667 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15212 /* 39670 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15213 /* 39673 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15214 /* 39678 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15215 /* 39683 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15216 /* 39688 */ // GIR_Coverage, 1721,
15217 /* 39688 */ GIR_EraseRootFromParent_Done,
15218 /* 39689 */ // Label 1155: @39689
15219 /* 39689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1156*/ GIMT_Encode4(39790), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc), // Rule ID 1936 //
15220 /* 39696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15221 /* 39700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_UDIV),
15222 /* 39704 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15223 /* 39708 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15224 /* 39712 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15225 /* 39717 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15226 /* 39722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15227 /* 39724 */ // (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] })
15228 /* 39724 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15229 /* 39727 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::DIVU),
15230 /* 39731 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15231 /* 39736 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15232 /* 39740 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15233 /* 39744 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15234 /* 39746 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15235 /* 39749 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15236 /* 39753 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15237 /* 39758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15238 /* 39760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15239 /* 39763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15240 /* 39765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15241 /* 39768 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15242 /* 39771 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15243 /* 39774 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15244 /* 39779 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15245 /* 39784 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15246 /* 39789 */ // GIR_Coverage, 1936,
15247 /* 39789 */ GIR_EraseRootFromParent_Done,
15248 /* 39790 */ // Label 1156: @39790
15249 /* 39790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1157*/ GIMT_Encode4(39891), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc), // Rule ID 1938 //
15250 /* 39797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15251 /* 39801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_UREM),
15252 /* 39805 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
15253 /* 39809 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
15254 /* 39813 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15255 /* 39818 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15256 /* 39823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15257 /* 39825 */ // (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] })
15258 /* 39825 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
15259 /* 39828 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::MODU),
15260 /* 39832 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15261 /* 39837 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
15262 /* 39841 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/2, // src2
15263 /* 39845 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
15264 /* 39847 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15265 /* 39850 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15266 /* 39854 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15267 /* 39859 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15268 /* 39861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15269 /* 39864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15270 /* 39866 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15271 /* 39869 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
15272 /* 39872 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
15273 /* 39875 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::GPR64RegClassID),
15274 /* 39880 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15275 /* 39885 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(Mips::GPR32RegClassID),
15276 /* 39890 */ // GIR_Coverage, 1938,
15277 /* 39890 */ GIR_EraseRootFromParent_Done,
15278 /* 39891 */ // Label 1157: @39891
15279 /* 39891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1158*/ GIMT_Encode4(39909), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1691 //
15280 /* 39898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15281 /* 39902 */ // (sext:{ *:[i64] } GPR32:{ *:[i32] }:$src) => (SLL64_32:{ *:[i64] } GPR32:{ *:[i32] }:$src)
15282 /* 39902 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL64_32),
15283 /* 39907 */ GIR_RootConstrainSelectedInstOperands,
15284 /* 39908 */ // GIR_Coverage, 1691,
15285 /* 39908 */ GIR_Done,
15286 /* 39909 */ // Label 1158: @39909
15287 /* 39909 */ GIM_Reject,
15288 /* 39910 */ // Label 1143: @39910
15289 /* 39910 */ GIM_Reject,
15290 /* 39911 */ // Label 36: @39911
15291 /* 39911 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1161*/ GIMT_Encode4(40229),
15292 /* 39922 */ /*GILLT_s32*//*Label 1159*/ GIMT_Encode4(39930),
15293 /* 39926 */ /*GILLT_s64*//*Label 1160*/ GIMT_Encode4(40130),
15294 /* 39930 */ // Label 1159: @39930
15295 /* 39930 */ GIM_Try, /*On fail goto*//*Label 1162*/ GIMT_Encode4(40129),
15296 /* 39935 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
15297 /* 39938 */ GIM_Try, /*On fail goto*//*Label 1163*/ GIMT_Encode4(40060),
15298 /* 39943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15299 /* 39947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15300 /* 39951 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1164*/ GIMT_Encode4(39978), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips), // Rule ID 106 //
15301 /* 39958 */ // MIs[0] Operand 2
15302 /* 39958 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
15303 /* 39969 */ // (sext_inreg:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, i8:{ *:[Other] }) => (SEB:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
15304 /* 39969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEB),
15305 /* 39972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15306 /* 39974 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15307 /* 39976 */ GIR_RootConstrainSelectedInstOperands,
15308 /* 39977 */ // GIR_Coverage, 106,
15309 /* 39977 */ GIR_EraseRootFromParent_Done,
15310 /* 39978 */ // Label 1164: @39978
15311 /* 39978 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1165*/ GIMT_Encode4(40005), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips), // Rule ID 107 //
15312 /* 39985 */ // MIs[0] Operand 2
15313 /* 39985 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
15314 /* 39996 */ // (sext_inreg:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, i16:{ *:[Other] }) => (SEH:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
15315 /* 39996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEH),
15316 /* 39999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15317 /* 40001 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15318 /* 40003 */ GIR_RootConstrainSelectedInstOperands,
15319 /* 40004 */ // GIR_Coverage, 107,
15320 /* 40004 */ GIR_EraseRootFromParent_Done,
15321 /* 40005 */ // Label 1165: @40005
15322 /* 40005 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1166*/ GIMT_Encode4(40032), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1123 //
15323 /* 40012 */ // MIs[0] Operand 2
15324 /* 40012 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
15325 /* 40023 */ // (sext_inreg:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, i8:{ *:[Other] }) => (SEB_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
15326 /* 40023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEB_MM),
15327 /* 40026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15328 /* 40028 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15329 /* 40030 */ GIR_RootConstrainSelectedInstOperands,
15330 /* 40031 */ // GIR_Coverage, 1123,
15331 /* 40031 */ GIR_EraseRootFromParent_Done,
15332 /* 40032 */ // Label 1166: @40032
15333 /* 40032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1167*/ GIMT_Encode4(40059), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1124 //
15334 /* 40039 */ // MIs[0] Operand 2
15335 /* 40039 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
15336 /* 40050 */ // (sext_inreg:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, i16:{ *:[Other] }) => (SEH_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt)
15337 /* 40050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEH_MM),
15338 /* 40053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15339 /* 40055 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15340 /* 40057 */ GIR_RootConstrainSelectedInstOperands,
15341 /* 40058 */ // GIR_Coverage, 1124,
15342 /* 40058 */ GIR_EraseRootFromParent_Done,
15343 /* 40059 */ // Label 1167: @40059
15344 /* 40059 */ GIM_Reject,
15345 /* 40060 */ // Label 1163: @40060
15346 /* 40060 */ GIM_Try, /*On fail goto*//*Label 1168*/ GIMT_Encode4(40128),
15347 /* 40065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
15348 /* 40069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
15349 /* 40073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1169*/ GIMT_Encode4(40100), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2041 //
15350 /* 40080 */ // MIs[0] Operand 2
15351 /* 40080 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
15352 /* 40091 */ // (sext_inreg:{ *:[i32] } CPU16Regs:{ *:[i32] }:$val, i8:{ *:[Other] }) => (SebRx16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$val)
15353 /* 40091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SebRx16),
15354 /* 40094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
15355 /* 40096 */ GIR_RootToRootCopy, /*OpIdx*/1, // val
15356 /* 40098 */ GIR_RootConstrainSelectedInstOperands,
15357 /* 40099 */ // GIR_Coverage, 2041,
15358 /* 40099 */ GIR_EraseRootFromParent_Done,
15359 /* 40100 */ // Label 1169: @40100
15360 /* 40100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1170*/ GIMT_Encode4(40127), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2042 //
15361 /* 40107 */ // MIs[0] Operand 2
15362 /* 40107 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
15363 /* 40118 */ // (sext_inreg:{ *:[i32] } CPU16Regs:{ *:[i32] }:$val, i16:{ *:[Other] }) => (SehRx16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$val)
15364 /* 40118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SehRx16),
15365 /* 40121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
15366 /* 40123 */ GIR_RootToRootCopy, /*OpIdx*/1, // val
15367 /* 40125 */ GIR_RootConstrainSelectedInstOperands,
15368 /* 40126 */ // GIR_Coverage, 2042,
15369 /* 40126 */ GIR_EraseRootFromParent_Done,
15370 /* 40127 */ // Label 1170: @40127
15371 /* 40127 */ GIM_Reject,
15372 /* 40128 */ // Label 1168: @40128
15373 /* 40128 */ GIM_Reject,
15374 /* 40129 */ // Label 1162: @40129
15375 /* 40129 */ GIM_Reject,
15376 /* 40130 */ // Label 1160: @40130
15377 /* 40130 */ GIM_Try, /*On fail goto*//*Label 1171*/ GIMT_Encode4(40228),
15378 /* 40135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
15379 /* 40138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15380 /* 40142 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15381 /* 40146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1172*/ GIMT_Encode4(40173), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_IsGP64bit), // Rule ID 289 //
15382 /* 40153 */ // MIs[0] Operand 2
15383 /* 40153 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
15384 /* 40164 */ // (sext_inreg:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, i8:{ *:[Other] }) => (SEB64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt)
15385 /* 40164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEB64),
15386 /* 40167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15387 /* 40169 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15388 /* 40171 */ GIR_RootConstrainSelectedInstOperands,
15389 /* 40172 */ // GIR_Coverage, 289,
15390 /* 40172 */ GIR_EraseRootFromParent_Done,
15391 /* 40173 */ // Label 1172: @40173
15392 /* 40173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1173*/ GIMT_Encode4(40200), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_IsGP64bit), // Rule ID 290 //
15393 /* 40180 */ // MIs[0] Operand 2
15394 /* 40180 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
15395 /* 40191 */ // (sext_inreg:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, i16:{ *:[Other] }) => (SEH64:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt)
15396 /* 40191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEH64),
15397 /* 40194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15398 /* 40196 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15399 /* 40198 */ GIR_RootConstrainSelectedInstOperands,
15400 /* 40199 */ // GIR_Coverage, 290,
15401 /* 40199 */ GIR_EraseRootFromParent_Done,
15402 /* 40200 */ // Label 1173: @40200
15403 /* 40200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1174*/ GIMT_Encode4(40227), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1694 //
15404 /* 40207 */ // MIs[0] Operand 2
15405 /* 40207 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(32),
15406 /* 40218 */ // (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$src, i32:{ *:[Other] }) => (SLL64_64:{ *:[i64] } GPR64:{ *:[i64] }:$src)
15407 /* 40218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL64_64),
15408 /* 40221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15409 /* 40223 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15410 /* 40225 */ GIR_RootConstrainSelectedInstOperands,
15411 /* 40226 */ // GIR_Coverage, 1694,
15412 /* 40226 */ GIR_EraseRootFromParent_Done,
15413 /* 40227 */ // Label 1174: @40227
15414 /* 40227 */ GIM_Reject,
15415 /* 40228 */ // Label 1171: @40228
15416 /* 40228 */ GIM_Reject,
15417 /* 40229 */ // Label 1161: @40229
15418 /* 40229 */ GIM_Reject,
15419 /* 40230 */ // Label 37: @40230
15420 /* 40230 */ GIM_Try, /*On fail goto*//*Label 1175*/ GIMT_Encode4(40426),
15421 /* 40235 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
15422 /* 40238 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
15423 /* 40241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15424 /* 40245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1176*/ GIMT_Encode4(40300), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 308 //
15425 /* 40252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15426 /* 40256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
15427 /* 40260 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
15428 /* 40264 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
15429 /* 40268 */ // MIs[1] Operand 1
15430 /* 40268 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
15431 /* 40273 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15432 /* 40278 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15433 /* 40283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15434 /* 40285 */ // (zext:{ *:[i64] } (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETEQ:{ *:[Other] })) => (SEQ:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
15435 /* 40285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEQ),
15436 /* 40288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15437 /* 40290 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
15438 /* 40294 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
15439 /* 40298 */ GIR_RootConstrainSelectedInstOperands,
15440 /* 40299 */ // GIR_Coverage, 308,
15441 /* 40299 */ GIR_EraseRootFromParent_Done,
15442 /* 40300 */ // Label 1176: @40300
15443 /* 40300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1177*/ GIMT_Encode4(40355), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 310 //
15444 /* 40307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15445 /* 40311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
15446 /* 40315 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
15447 /* 40319 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
15448 /* 40323 */ // MIs[1] Operand 1
15449 /* 40323 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
15450 /* 40328 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15451 /* 40333 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15452 /* 40338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15453 /* 40340 */ // (zext:{ *:[i64] } (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETNE:{ *:[Other] })) => (SNE:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
15454 /* 40340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SNE),
15455 /* 40343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15456 /* 40345 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // rs
15457 /* 40349 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // rt
15458 /* 40353 */ GIR_RootConstrainSelectedInstOperands,
15459 /* 40354 */ // GIR_Coverage, 310,
15460 /* 40354 */ GIR_EraseRootFromParent_Done,
15461 /* 40355 */ // Label 1177: @40355
15462 /* 40355 */ GIM_Try, /*On fail goto*//*Label 1178*/ GIMT_Encode4(40425),
15463 /* 40360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15464 /* 40364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1179*/ GIMT_Encode4(40402), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1689 //
15465 /* 40371 */ // (zext:{ *:[i64] } GPR32:{ *:[i32] }:$src) => (DSRL:{ *:[i64] } (DSLL64_32:{ *:[i64] } GPR32:{ *:[i32] }:$src), 32:{ *:[i32] })
15466 /* 40371 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
15467 /* 40374 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::DSLL64_32),
15468 /* 40378 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15469 /* 40383 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
15470 /* 40387 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15471 /* 40389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRL),
15472 /* 40392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15473 /* 40394 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15474 /* 40397 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/32,
15475 /* 40400 */ GIR_RootConstrainSelectedInstOperands,
15476 /* 40401 */ // GIR_Coverage, 1689,
15477 /* 40401 */ GIR_EraseRootFromParent_Done,
15478 /* 40402 */ // Label 1179: @40402
15479 /* 40402 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1180*/ GIMT_Encode4(40424), GIMT_Encode2(GIFBS_HasMips64r2_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1692 //
15480 /* 40409 */ // (zext:{ *:[i64] } GPR32:{ *:[i32] }:$src) => (DEXT64_32:{ *:[i64] } GPR32:{ *:[i32] }:$src, 0:{ *:[i32] }, 32:{ *:[i32] })
15481 /* 40409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DEXT64_32),
15482 /* 40412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
15483 /* 40414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15484 /* 40416 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
15485 /* 40419 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/32,
15486 /* 40422 */ GIR_RootConstrainSelectedInstOperands,
15487 /* 40423 */ // GIR_Coverage, 1692,
15488 /* 40423 */ GIR_EraseRootFromParent_Done,
15489 /* 40424 */ // Label 1180: @40424
15490 /* 40424 */ GIM_Reject,
15491 /* 40425 */ // Label 1178: @40425
15492 /* 40425 */ GIM_Reject,
15493 /* 40426 */ // Label 1175: @40426
15494 /* 40426 */ GIM_Reject,
15495 /* 40427 */ // Label 38: @40427
15496 /* 40427 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1187*/ GIMT_Encode4(42201),
15497 /* 40438 */ /*GILLT_s32*//*Label 1181*/ GIMT_Encode4(40470),
15498 /* 40442 */ /*GILLT_s64*//*Label 1182*/ GIMT_Encode4(40723), GIMT_Encode4(0),
15499 /* 40450 */ /*GILLT_v16s8*//*Label 1183*/ GIMT_Encode4(40861), GIMT_Encode4(0),
15500 /* 40458 */ /*GILLT_v8s16*//*Label 1184*/ GIMT_Encode4(41510),
15501 /* 40462 */ /*GILLT_v4s32*//*Label 1185*/ GIMT_Encode4(41903),
15502 /* 40466 */ /*GILLT_v2s64*//*Label 1186*/ GIMT_Encode4(42168),
15503 /* 40470 */ // Label 1181: @40470
15504 /* 40470 */ GIM_Try, /*On fail goto*//*Label 1188*/ GIMT_Encode4(40722),
15505 /* 40475 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
15506 /* 40478 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
15507 /* 40481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1189*/ GIMT_Encode4(40522), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 55 //
15508 /* 40488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15509 /* 40492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15510 /* 40496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15511 /* 40500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15512 /* 40504 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
15513 /* 40508 */ // MIs[1] Operand 1
15514 /* 40508 */ // No operand predicates
15515 /* 40508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15516 /* 40510 */ // (shl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (SLL:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
15517 /* 40510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL),
15518 /* 40513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15519 /* 40515 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15520 /* 40517 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
15521 /* 40520 */ GIR_RootConstrainSelectedInstOperands,
15522 /* 40521 */ // GIR_Coverage, 55,
15523 /* 40521 */ GIR_EraseRootFromParent_Done,
15524 /* 40522 */ // Label 1189: @40522
15525 /* 40522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1190*/ GIMT_Encode4(40563), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1965 //
15526 /* 40529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
15527 /* 40533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
15528 /* 40537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15529 /* 40541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15530 /* 40545 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
15531 /* 40549 */ // MIs[1] Operand 1
15532 /* 40549 */ // No operand predicates
15533 /* 40549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15534 /* 40551 */ // (shl:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SllX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
15535 /* 40551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SllX16),
15536 /* 40554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
15537 /* 40556 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
15538 /* 40558 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
15539 /* 40561 */ GIR_RootConstrainSelectedInstOperands,
15540 /* 40562 */ // GIR_Coverage, 1965,
15541 /* 40562 */ GIR_EraseRootFromParent_Done,
15542 /* 40563 */ // Label 1190: @40563
15543 /* 40563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1191*/ GIMT_Encode4(40604), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2307 //
15544 /* 40570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
15545 /* 40574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
15546 /* 40578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15547 /* 40582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15548 /* 40586 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Shift),
15549 /* 40590 */ // MIs[1] Operand 1
15550 /* 40590 */ // No operand predicates
15551 /* 40590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15552 /* 40592 */ // (shl:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt2Shift>>:$imm) => (SLL16_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt2Shift>>:$imm)
15553 /* 40592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL16_MM),
15554 /* 40595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15555 /* 40597 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15556 /* 40599 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
15557 /* 40602 */ GIR_RootConstrainSelectedInstOperands,
15558 /* 40603 */ // GIR_Coverage, 2307,
15559 /* 40603 */ GIR_EraseRootFromParent_Done,
15560 /* 40604 */ // Label 1191: @40604
15561 /* 40604 */ GIM_Try, /*On fail goto*//*Label 1192*/ GIMT_Encode4(40669),
15562 /* 40609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15563 /* 40613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15564 /* 40617 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1193*/ GIMT_Encode4(40650), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2308 //
15565 /* 40624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15566 /* 40628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15567 /* 40632 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
15568 /* 40636 */ // MIs[1] Operand 1
15569 /* 40636 */ // No operand predicates
15570 /* 40636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15571 /* 40638 */ // (shl:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SLL_MM:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
15572 /* 40638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_MM),
15573 /* 40641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15574 /* 40643 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15575 /* 40645 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
15576 /* 40648 */ GIR_RootConstrainSelectedInstOperands,
15577 /* 40649 */ // GIR_Coverage, 2308,
15578 /* 40649 */ GIR_EraseRootFromParent_Done,
15579 /* 40650 */ // Label 1193: @40650
15580 /* 40650 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1194*/ GIMT_Encode4(40668), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 61 //
15581 /* 40657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15582 /* 40661 */ // (shl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SLLV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
15583 /* 40661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLLV),
15584 /* 40666 */ GIR_RootConstrainSelectedInstOperands,
15585 /* 40667 */ // GIR_Coverage, 61,
15586 /* 40667 */ GIR_Done,
15587 /* 40668 */ // Label 1194: @40668
15588 /* 40668 */ GIM_Reject,
15589 /* 40669 */ // Label 1192: @40669
15590 /* 40669 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1195*/ GIMT_Encode4(40695), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1968 //
15591 /* 40676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
15592 /* 40680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
15593 /* 40684 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
15594 /* 40688 */ // (shl:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra) => (SllvRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra)
15595 /* 40688 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SllvRxRy16),
15596 /* 40693 */ GIR_RootConstrainSelectedInstOperands,
15597 /* 40694 */ // GIR_Coverage, 1968,
15598 /* 40694 */ GIR_Done,
15599 /* 40695 */ // Label 1195: @40695
15600 /* 40695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1196*/ GIMT_Encode4(40721), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2309 //
15601 /* 40702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15602 /* 40706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15603 /* 40710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15604 /* 40714 */ // (shl:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs) => (SLLV_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs)
15605 /* 40714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLLV_MM),
15606 /* 40719 */ GIR_RootConstrainSelectedInstOperands,
15607 /* 40720 */ // GIR_Coverage, 2309,
15608 /* 40720 */ GIR_Done,
15609 /* 40721 */ // Label 1196: @40721
15610 /* 40721 */ GIM_Reject,
15611 /* 40722 */ // Label 1188: @40722
15612 /* 40722 */ GIM_Reject,
15613 /* 40723 */ // Label 1182: @40723
15614 /* 40723 */ GIM_Try, /*On fail goto*//*Label 1197*/ GIMT_Encode4(40860),
15615 /* 40728 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
15616 /* 40731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
15617 /* 40734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15618 /* 40738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15619 /* 40742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1198*/ GIMT_Encode4(40775), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips), // Rule ID 238 //
15620 /* 40749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15621 /* 40753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15622 /* 40757 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt6),
15623 /* 40761 */ // MIs[1] Operand 1
15624 /* 40761 */ // No operand predicates
15625 /* 40761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15626 /* 40763 */ // (shl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt6>>:$shamt) => (DSLL:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$shamt)
15627 /* 40763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSLL),
15628 /* 40766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15629 /* 40768 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15630 /* 40770 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
15631 /* 40773 */ GIR_RootConstrainSelectedInstOperands,
15632 /* 40774 */ // GIR_Coverage, 238,
15633 /* 40774 */ GIR_EraseRootFromParent_Done,
15634 /* 40775 */ // Label 1198: @40775
15635 /* 40775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1199*/ GIMT_Encode4(40841), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1682 //
15636 /* 40782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15637 /* 40786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
15638 /* 40790 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
15639 /* 40794 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
15640 /* 40799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15641 /* 40801 */ // (shl:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$rs)) => (DSLLV:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$rs, sub_32:{ *:[i32] }))
15642 /* 40801 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
15643 /* 40804 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15644 /* 40808 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15645 /* 40813 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // rs
15646 /* 40819 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
15647 /* 40824 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
15648 /* 40829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSLLV),
15649 /* 40832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
15650 /* 40834 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
15651 /* 40836 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15652 /* 40839 */ GIR_RootConstrainSelectedInstOperands,
15653 /* 40840 */ // GIR_Coverage, 1682,
15654 /* 40840 */ GIR_EraseRootFromParent_Done,
15655 /* 40841 */ // Label 1199: @40841
15656 /* 40841 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1200*/ GIMT_Encode4(40859), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips), // Rule ID 244 //
15657 /* 40848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
15658 /* 40852 */ // (shl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (DSLLV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
15659 /* 40852 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DSLLV),
15660 /* 40857 */ GIR_RootConstrainSelectedInstOperands,
15661 /* 40858 */ // GIR_Coverage, 244,
15662 /* 40858 */ GIR_Done,
15663 /* 40859 */ // Label 1200: @40859
15664 /* 40859 */ GIM_Reject,
15665 /* 40860 */ // Label 1197: @40860
15666 /* 40860 */ GIM_Reject,
15667 /* 40861 */ // Label 1183: @40861
15668 /* 40861 */ GIM_Try, /*On fail goto*//*Label 1201*/ GIMT_Encode4(41509),
15669 /* 40866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
15670 /* 40869 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
15671 /* 40872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
15672 /* 40876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1202*/ GIMT_Encode4(41181), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2641 //
15673 /* 40883 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15674 /* 40887 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
15675 /* 40891 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
15676 /* 40895 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
15677 /* 40899 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
15678 /* 40903 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
15679 /* 40907 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
15680 /* 40910 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
15681 /* 40914 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
15682 /* 40918 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
15683 /* 40922 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
15684 /* 40926 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
15685 /* 40930 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
15686 /* 40934 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
15687 /* 40938 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
15688 /* 40942 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
15689 /* 40946 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
15690 /* 40950 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
15691 /* 40954 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
15692 /* 40958 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
15693 /* 40962 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
15694 /* 40966 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
15695 /* 40970 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
15696 /* 40974 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
15697 /* 40978 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15698 /* 40982 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15699 /* 40986 */ // MIs[3] Operand 1
15700 /* 40986 */ // No operand predicates
15701 /* 40986 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
15702 /* 40990 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15703 /* 40994 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15704 /* 40998 */ // MIs[4] Operand 1
15705 /* 40998 */ // No operand predicates
15706 /* 40998 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
15707 /* 41002 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15708 /* 41006 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15709 /* 41010 */ // MIs[5] Operand 1
15710 /* 41010 */ // No operand predicates
15711 /* 41010 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
15712 /* 41014 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15713 /* 41018 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15714 /* 41022 */ // MIs[6] Operand 1
15715 /* 41022 */ // No operand predicates
15716 /* 41022 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
15717 /* 41026 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15718 /* 41030 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15719 /* 41034 */ // MIs[7] Operand 1
15720 /* 41034 */ // No operand predicates
15721 /* 41034 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
15722 /* 41038 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15723 /* 41042 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15724 /* 41046 */ // MIs[8] Operand 1
15725 /* 41046 */ // No operand predicates
15726 /* 41046 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
15727 /* 41050 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15728 /* 41054 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15729 /* 41058 */ // MIs[9] Operand 1
15730 /* 41058 */ // No operand predicates
15731 /* 41058 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
15732 /* 41062 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15733 /* 41066 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15734 /* 41070 */ // MIs[10] Operand 1
15735 /* 41070 */ // No operand predicates
15736 /* 41070 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
15737 /* 41074 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15738 /* 41078 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15739 /* 41082 */ // MIs[11] Operand 1
15740 /* 41082 */ // No operand predicates
15741 /* 41082 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
15742 /* 41086 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15743 /* 41090 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15744 /* 41094 */ // MIs[12] Operand 1
15745 /* 41094 */ // No operand predicates
15746 /* 41094 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
15747 /* 41098 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15748 /* 41102 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15749 /* 41106 */ // MIs[13] Operand 1
15750 /* 41106 */ // No operand predicates
15751 /* 41106 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
15752 /* 41110 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15753 /* 41114 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15754 /* 41118 */ // MIs[14] Operand 1
15755 /* 41118 */ // No operand predicates
15756 /* 41118 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
15757 /* 41122 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15758 /* 41126 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15759 /* 41130 */ // MIs[15] Operand 1
15760 /* 41130 */ // No operand predicates
15761 /* 41130 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
15762 /* 41134 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15763 /* 41138 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15764 /* 41142 */ // MIs[16] Operand 1
15765 /* 41142 */ // No operand predicates
15766 /* 41142 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
15767 /* 41146 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15768 /* 41150 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15769 /* 41154 */ // MIs[17] Operand 1
15770 /* 41154 */ // No operand predicates
15771 /* 41154 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
15772 /* 41158 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15773 /* 41162 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15774 /* 41166 */ // MIs[18] Operand 1
15775 /* 41166 */ // No operand predicates
15776 /* 41166 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
15777 /* 41168 */ // (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)
15778 /* 41168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_B),
15779 /* 41171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
15780 /* 41173 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
15781 /* 41175 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
15782 /* 41179 */ GIR_RootConstrainSelectedInstOperands,
15783 /* 41180 */ // GIR_Coverage, 2641,
15784 /* 41180 */ GIR_EraseRootFromParent_Done,
15785 /* 41181 */ // Label 1202: @41181
15786 /* 41181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1203*/ GIMT_Encode4(41486), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2206 //
15787 /* 41188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15788 /* 41192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
15789 /* 41196 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
15790 /* 41200 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
15791 /* 41204 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15792 /* 41208 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
15793 /* 41212 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
15794 /* 41215 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
15795 /* 41219 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
15796 /* 41223 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
15797 /* 41227 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
15798 /* 41231 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
15799 /* 41235 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
15800 /* 41239 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
15801 /* 41243 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
15802 /* 41247 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
15803 /* 41251 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
15804 /* 41255 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
15805 /* 41259 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
15806 /* 41263 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
15807 /* 41267 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
15808 /* 41271 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
15809 /* 41275 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
15810 /* 41279 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
15811 /* 41283 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15812 /* 41287 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15813 /* 41291 */ // MIs[3] Operand 1
15814 /* 41291 */ // No operand predicates
15815 /* 41291 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
15816 /* 41295 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15817 /* 41299 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15818 /* 41303 */ // MIs[4] Operand 1
15819 /* 41303 */ // No operand predicates
15820 /* 41303 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
15821 /* 41307 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15822 /* 41311 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15823 /* 41315 */ // MIs[5] Operand 1
15824 /* 41315 */ // No operand predicates
15825 /* 41315 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
15826 /* 41319 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15827 /* 41323 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15828 /* 41327 */ // MIs[6] Operand 1
15829 /* 41327 */ // No operand predicates
15830 /* 41327 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
15831 /* 41331 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15832 /* 41335 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15833 /* 41339 */ // MIs[7] Operand 1
15834 /* 41339 */ // No operand predicates
15835 /* 41339 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
15836 /* 41343 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15837 /* 41347 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15838 /* 41351 */ // MIs[8] Operand 1
15839 /* 41351 */ // No operand predicates
15840 /* 41351 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
15841 /* 41355 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15842 /* 41359 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15843 /* 41363 */ // MIs[9] Operand 1
15844 /* 41363 */ // No operand predicates
15845 /* 41363 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
15846 /* 41367 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15847 /* 41371 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15848 /* 41375 */ // MIs[10] Operand 1
15849 /* 41375 */ // No operand predicates
15850 /* 41375 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
15851 /* 41379 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15852 /* 41383 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15853 /* 41387 */ // MIs[11] Operand 1
15854 /* 41387 */ // No operand predicates
15855 /* 41387 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
15856 /* 41391 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15857 /* 41395 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15858 /* 41399 */ // MIs[12] Operand 1
15859 /* 41399 */ // No operand predicates
15860 /* 41399 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
15861 /* 41403 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15862 /* 41407 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15863 /* 41411 */ // MIs[13] Operand 1
15864 /* 41411 */ // No operand predicates
15865 /* 41411 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
15866 /* 41415 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15867 /* 41419 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15868 /* 41423 */ // MIs[14] Operand 1
15869 /* 41423 */ // No operand predicates
15870 /* 41423 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
15871 /* 41427 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15872 /* 41431 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15873 /* 41435 */ // MIs[15] Operand 1
15874 /* 41435 */ // No operand predicates
15875 /* 41435 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
15876 /* 41439 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15877 /* 41443 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15878 /* 41447 */ // MIs[16] Operand 1
15879 /* 41447 */ // No operand predicates
15880 /* 41447 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
15881 /* 41451 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15882 /* 41455 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15883 /* 41459 */ // MIs[17] Operand 1
15884 /* 41459 */ // No operand predicates
15885 /* 41459 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
15886 /* 41463 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15887 /* 41467 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
15888 /* 41471 */ // MIs[18] Operand 1
15889 /* 41471 */ // No operand predicates
15890 /* 41471 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
15891 /* 41473 */ // (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)
15892 /* 41473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_B),
15893 /* 41476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
15894 /* 41478 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
15895 /* 41480 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
15896 /* 41484 */ GIR_RootConstrainSelectedInstOperands,
15897 /* 41485 */ // GIR_Coverage, 2206,
15898 /* 41485 */ GIR_EraseRootFromParent_Done,
15899 /* 41486 */ // Label 1203: @41486
15900 /* 41486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1204*/ GIMT_Encode4(41508), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 985 //
15901 /* 41493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
15902 /* 41497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
15903 /* 41501 */ // (shl:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SLL_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
15904 /* 41501 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL_B),
15905 /* 41506 */ GIR_RootConstrainSelectedInstOperands,
15906 /* 41507 */ // GIR_Coverage, 985,
15907 /* 41507 */ GIR_Done,
15908 /* 41508 */ // Label 1204: @41508
15909 /* 41508 */ GIM_Reject,
15910 /* 41509 */ // Label 1201: @41509
15911 /* 41509 */ GIM_Reject,
15912 /* 41510 */ // Label 1184: @41510
15913 /* 41510 */ GIM_Try, /*On fail goto*//*Label 1205*/ GIMT_Encode4(41902),
15914 /* 41515 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
15915 /* 41518 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
15916 /* 41521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
15917 /* 41525 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1206*/ GIMT_Encode4(41702), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2642 //
15918 /* 41532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15919 /* 41536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
15920 /* 41540 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
15921 /* 41544 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
15922 /* 41548 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
15923 /* 41552 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
15924 /* 41556 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
15925 /* 41559 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
15926 /* 41563 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
15927 /* 41567 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
15928 /* 41571 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
15929 /* 41575 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
15930 /* 41579 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
15931 /* 41583 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
15932 /* 41587 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
15933 /* 41591 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
15934 /* 41595 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15935 /* 41599 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
15936 /* 41603 */ // MIs[3] Operand 1
15937 /* 41603 */ // No operand predicates
15938 /* 41603 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
15939 /* 41607 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15940 /* 41611 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
15941 /* 41615 */ // MIs[4] Operand 1
15942 /* 41615 */ // No operand predicates
15943 /* 41615 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
15944 /* 41619 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15945 /* 41623 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
15946 /* 41627 */ // MIs[5] Operand 1
15947 /* 41627 */ // No operand predicates
15948 /* 41627 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
15949 /* 41631 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15950 /* 41635 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
15951 /* 41639 */ // MIs[6] Operand 1
15952 /* 41639 */ // No operand predicates
15953 /* 41639 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
15954 /* 41643 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15955 /* 41647 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
15956 /* 41651 */ // MIs[7] Operand 1
15957 /* 41651 */ // No operand predicates
15958 /* 41651 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
15959 /* 41655 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15960 /* 41659 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
15961 /* 41663 */ // MIs[8] Operand 1
15962 /* 41663 */ // No operand predicates
15963 /* 41663 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
15964 /* 41667 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15965 /* 41671 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
15966 /* 41675 */ // MIs[9] Operand 1
15967 /* 41675 */ // No operand predicates
15968 /* 41675 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
15969 /* 41679 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
15970 /* 41683 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
15971 /* 41687 */ // MIs[10] Operand 1
15972 /* 41687 */ // No operand predicates
15973 /* 41687 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
15974 /* 41689 */ // (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)
15975 /* 41689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_H),
15976 /* 41692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
15977 /* 41694 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
15978 /* 41696 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
15979 /* 41700 */ GIR_RootConstrainSelectedInstOperands,
15980 /* 41701 */ // GIR_Coverage, 2642,
15981 /* 41701 */ GIR_EraseRootFromParent_Done,
15982 /* 41702 */ // Label 1206: @41702
15983 /* 41702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1207*/ GIMT_Encode4(41879), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2207 //
15984 /* 41709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15985 /* 41713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
15986 /* 41717 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
15987 /* 41721 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
15988 /* 41725 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15989 /* 41729 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
15990 /* 41733 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
15991 /* 41736 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
15992 /* 41740 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
15993 /* 41744 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
15994 /* 41748 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
15995 /* 41752 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
15996 /* 41756 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
15997 /* 41760 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
15998 /* 41764 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
15999 /* 41768 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16000 /* 41772 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16001 /* 41776 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16002 /* 41780 */ // MIs[3] Operand 1
16003 /* 41780 */ // No operand predicates
16004 /* 41780 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16005 /* 41784 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16006 /* 41788 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16007 /* 41792 */ // MIs[4] Operand 1
16008 /* 41792 */ // No operand predicates
16009 /* 41792 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16010 /* 41796 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16011 /* 41800 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16012 /* 41804 */ // MIs[5] Operand 1
16013 /* 41804 */ // No operand predicates
16014 /* 41804 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16015 /* 41808 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16016 /* 41812 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16017 /* 41816 */ // MIs[6] Operand 1
16018 /* 41816 */ // No operand predicates
16019 /* 41816 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16020 /* 41820 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16021 /* 41824 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16022 /* 41828 */ // MIs[7] Operand 1
16023 /* 41828 */ // No operand predicates
16024 /* 41828 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16025 /* 41832 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16026 /* 41836 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16027 /* 41840 */ // MIs[8] Operand 1
16028 /* 41840 */ // No operand predicates
16029 /* 41840 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16030 /* 41844 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16031 /* 41848 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16032 /* 41852 */ // MIs[9] Operand 1
16033 /* 41852 */ // No operand predicates
16034 /* 41852 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16035 /* 41856 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16036 /* 41860 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16037 /* 41864 */ // MIs[10] Operand 1
16038 /* 41864 */ // No operand predicates
16039 /* 41864 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
16040 /* 41866 */ // (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)
16041 /* 41866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_H),
16042 /* 41869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16043 /* 41871 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16044 /* 41873 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
16045 /* 41877 */ GIR_RootConstrainSelectedInstOperands,
16046 /* 41878 */ // GIR_Coverage, 2207,
16047 /* 41878 */ GIR_EraseRootFromParent_Done,
16048 /* 41879 */ // Label 1207: @41879
16049 /* 41879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1208*/ GIMT_Encode4(41901), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 986 //
16050 /* 41886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
16051 /* 41890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
16052 /* 41894 */ // (shl:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SLL_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
16053 /* 41894 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL_H),
16054 /* 41899 */ GIR_RootConstrainSelectedInstOperands,
16055 /* 41900 */ // GIR_Coverage, 986,
16056 /* 41900 */ GIR_Done,
16057 /* 41901 */ // Label 1208: @41901
16058 /* 41901 */ GIM_Reject,
16059 /* 41902 */ // Label 1205: @41902
16060 /* 41902 */ GIM_Reject,
16061 /* 41903 */ // Label 1185: @41903
16062 /* 41903 */ GIM_Try, /*On fail goto*//*Label 1209*/ GIMT_Encode4(42167),
16063 /* 41908 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
16064 /* 41911 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
16065 /* 41914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16066 /* 41918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1210*/ GIMT_Encode4(42031), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2643 //
16067 /* 41925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16068 /* 41929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16069 /* 41933 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
16070 /* 41937 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
16071 /* 41941 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
16072 /* 41945 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16073 /* 41949 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
16074 /* 41952 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16075 /* 41956 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16076 /* 41960 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16077 /* 41964 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16078 /* 41968 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16079 /* 41972 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16080 /* 41976 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16081 /* 41980 */ // MIs[3] Operand 1
16082 /* 41980 */ // No operand predicates
16083 /* 41980 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16084 /* 41984 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16085 /* 41988 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16086 /* 41992 */ // MIs[4] Operand 1
16087 /* 41992 */ // No operand predicates
16088 /* 41992 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16089 /* 41996 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16090 /* 42000 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16091 /* 42004 */ // MIs[5] Operand 1
16092 /* 42004 */ // No operand predicates
16093 /* 42004 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16094 /* 42008 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16095 /* 42012 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16096 /* 42016 */ // MIs[6] Operand 1
16097 /* 42016 */ // No operand predicates
16098 /* 42016 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
16099 /* 42018 */ // (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)
16100 /* 42018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_W),
16101 /* 42021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16102 /* 42023 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16103 /* 42025 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
16104 /* 42029 */ GIR_RootConstrainSelectedInstOperands,
16105 /* 42030 */ // GIR_Coverage, 2643,
16106 /* 42030 */ GIR_EraseRootFromParent_Done,
16107 /* 42031 */ // Label 1210: @42031
16108 /* 42031 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1211*/ GIMT_Encode4(42144), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2208 //
16109 /* 42038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16110 /* 42042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16111 /* 42046 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
16112 /* 42050 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
16113 /* 42054 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16114 /* 42058 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16115 /* 42062 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
16116 /* 42065 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16117 /* 42069 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16118 /* 42073 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16119 /* 42077 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16120 /* 42081 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16121 /* 42085 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16122 /* 42089 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16123 /* 42093 */ // MIs[3] Operand 1
16124 /* 42093 */ // No operand predicates
16125 /* 42093 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16126 /* 42097 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16127 /* 42101 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16128 /* 42105 */ // MIs[4] Operand 1
16129 /* 42105 */ // No operand predicates
16130 /* 42105 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16131 /* 42109 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16132 /* 42113 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16133 /* 42117 */ // MIs[5] Operand 1
16134 /* 42117 */ // No operand predicates
16135 /* 42117 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16136 /* 42121 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16137 /* 42125 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16138 /* 42129 */ // MIs[6] Operand 1
16139 /* 42129 */ // No operand predicates
16140 /* 42129 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
16141 /* 42131 */ // (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)
16142 /* 42131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLL_W),
16143 /* 42134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16144 /* 42136 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16145 /* 42138 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
16146 /* 42142 */ GIR_RootConstrainSelectedInstOperands,
16147 /* 42143 */ // GIR_Coverage, 2208,
16148 /* 42143 */ GIR_EraseRootFromParent_Done,
16149 /* 42144 */ // Label 1211: @42144
16150 /* 42144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1212*/ GIMT_Encode4(42166), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 987 //
16151 /* 42151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16152 /* 42155 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16153 /* 42159 */ // (shl:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SLL_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
16154 /* 42159 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL_W),
16155 /* 42164 */ GIR_RootConstrainSelectedInstOperands,
16156 /* 42165 */ // GIR_Coverage, 987,
16157 /* 42165 */ GIR_Done,
16158 /* 42166 */ // Label 1212: @42166
16159 /* 42166 */ GIM_Reject,
16160 /* 42167 */ // Label 1209: @42167
16161 /* 42167 */ GIM_Reject,
16162 /* 42168 */ // Label 1186: @42168
16163 /* 42168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1213*/ GIMT_Encode4(42200), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 988 //
16164 /* 42175 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
16165 /* 42178 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
16166 /* 42181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16167 /* 42185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16168 /* 42189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16169 /* 42193 */ // (shl:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SLL_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
16170 /* 42193 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SLL_D),
16171 /* 42198 */ GIR_RootConstrainSelectedInstOperands,
16172 /* 42199 */ // GIR_Coverage, 988,
16173 /* 42199 */ GIR_Done,
16174 /* 42200 */ // Label 1213: @42200
16175 /* 42200 */ GIM_Reject,
16176 /* 42201 */ // Label 1187: @42201
16177 /* 42201 */ GIM_Reject,
16178 /* 42202 */ // Label 39: @42202
16179 /* 42202 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1220*/ GIMT_Encode4(43976),
16180 /* 42213 */ /*GILLT_s32*//*Label 1214*/ GIMT_Encode4(42245),
16181 /* 42217 */ /*GILLT_s64*//*Label 1215*/ GIMT_Encode4(42498), GIMT_Encode4(0),
16182 /* 42225 */ /*GILLT_v16s8*//*Label 1216*/ GIMT_Encode4(42636), GIMT_Encode4(0),
16183 /* 42233 */ /*GILLT_v8s16*//*Label 1217*/ GIMT_Encode4(43285),
16184 /* 42237 */ /*GILLT_v4s32*//*Label 1218*/ GIMT_Encode4(43678),
16185 /* 42241 */ /*GILLT_v2s64*//*Label 1219*/ GIMT_Encode4(43943),
16186 /* 42245 */ // Label 1214: @42245
16187 /* 42245 */ GIM_Try, /*On fail goto*//*Label 1221*/ GIMT_Encode4(42497),
16188 /* 42250 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
16189 /* 42253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
16190 /* 42256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1222*/ GIMT_Encode4(42297), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 57 //
16191 /* 42263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16192 /* 42267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16193 /* 42271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16194 /* 42275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16195 /* 42279 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16196 /* 42283 */ // MIs[1] Operand 1
16197 /* 42283 */ // No operand predicates
16198 /* 42283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16199 /* 42285 */ // (srl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (SRL:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
16200 /* 42285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL),
16201 /* 42288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16202 /* 42290 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16203 /* 42292 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
16204 /* 42295 */ GIR_RootConstrainSelectedInstOperands,
16205 /* 42296 */ // GIR_Coverage, 57,
16206 /* 42296 */ GIR_EraseRootFromParent_Done,
16207 /* 42297 */ // Label 1222: @42297
16208 /* 42297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1223*/ GIMT_Encode4(42338), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1966 //
16209 /* 42304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16210 /* 42308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16211 /* 42312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16212 /* 42316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16213 /* 42320 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16214 /* 42324 */ // MIs[1] Operand 1
16215 /* 42324 */ // No operand predicates
16216 /* 42324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16217 /* 42326 */ // (srl:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SrlX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
16218 /* 42326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SrlX16),
16219 /* 42329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
16220 /* 42331 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
16221 /* 42333 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
16222 /* 42336 */ GIR_RootConstrainSelectedInstOperands,
16223 /* 42337 */ // GIR_Coverage, 1966,
16224 /* 42337 */ GIR_EraseRootFromParent_Done,
16225 /* 42338 */ // Label 1223: @42338
16226 /* 42338 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1224*/ GIMT_Encode4(42379), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2310 //
16227 /* 42345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
16228 /* 42349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPRMM16RegClassID),
16229 /* 42353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16230 /* 42357 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16231 /* 42361 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Shift),
16232 /* 42365 */ // MIs[1] Operand 1
16233 /* 42365 */ // No operand predicates
16234 /* 42365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16235 /* 42367 */ // (srl:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt2Shift>>:$imm) => (SRL16_MM:{ *:[i32] } GPRMM16:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt2Shift>>:$imm)
16236 /* 42367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL16_MM),
16237 /* 42370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16238 /* 42372 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16239 /* 42374 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
16240 /* 42377 */ GIR_RootConstrainSelectedInstOperands,
16241 /* 42378 */ // GIR_Coverage, 2310,
16242 /* 42378 */ GIR_EraseRootFromParent_Done,
16243 /* 42379 */ // Label 1224: @42379
16244 /* 42379 */ GIM_Try, /*On fail goto*//*Label 1225*/ GIMT_Encode4(42444),
16245 /* 42384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16246 /* 42388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16247 /* 42392 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1226*/ GIMT_Encode4(42425), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2311 //
16248 /* 42399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16249 /* 42403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16250 /* 42407 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16251 /* 42411 */ // MIs[1] Operand 1
16252 /* 42411 */ // No operand predicates
16253 /* 42411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16254 /* 42413 */ // (srl:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SRL_MM:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
16255 /* 42413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_MM),
16256 /* 42416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16257 /* 42418 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16258 /* 42420 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
16259 /* 42423 */ GIR_RootConstrainSelectedInstOperands,
16260 /* 42424 */ // GIR_Coverage, 2311,
16261 /* 42424 */ GIR_EraseRootFromParent_Done,
16262 /* 42425 */ // Label 1226: @42425
16263 /* 42425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1227*/ GIMT_Encode4(42443), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 63 //
16264 /* 42432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16265 /* 42436 */ // (srl:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SRLV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
16266 /* 42436 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRLV),
16267 /* 42441 */ GIR_RootConstrainSelectedInstOperands,
16268 /* 42442 */ // GIR_Coverage, 63,
16269 /* 42442 */ GIR_Done,
16270 /* 42443 */ // Label 1227: @42443
16271 /* 42443 */ GIM_Reject,
16272 /* 42444 */ // Label 1225: @42444
16273 /* 42444 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1228*/ GIMT_Encode4(42470), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1970 //
16274 /* 42451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16275 /* 42455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16276 /* 42459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16277 /* 42463 */ // (srl:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra) => (SrlvRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra)
16278 /* 42463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SrlvRxRy16),
16279 /* 42468 */ GIR_RootConstrainSelectedInstOperands,
16280 /* 42469 */ // GIR_Coverage, 1970,
16281 /* 42469 */ GIR_Done,
16282 /* 42470 */ // Label 1228: @42470
16283 /* 42470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1229*/ GIMT_Encode4(42496), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2312 //
16284 /* 42477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16285 /* 42481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16286 /* 42485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16287 /* 42489 */ // (srl:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs) => (SRLV_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs)
16288 /* 42489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRLV_MM),
16289 /* 42494 */ GIR_RootConstrainSelectedInstOperands,
16290 /* 42495 */ // GIR_Coverage, 2312,
16291 /* 42495 */ GIR_Done,
16292 /* 42496 */ // Label 1229: @42496
16293 /* 42496 */ GIM_Reject,
16294 /* 42497 */ // Label 1221: @42497
16295 /* 42497 */ GIM_Reject,
16296 /* 42498 */ // Label 1215: @42498
16297 /* 42498 */ GIM_Try, /*On fail goto*//*Label 1230*/ GIMT_Encode4(42635),
16298 /* 42503 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
16299 /* 42506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
16300 /* 42509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16301 /* 42513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16302 /* 42517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1231*/ GIMT_Encode4(42550), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips), // Rule ID 240 //
16303 /* 42524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16304 /* 42528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16305 /* 42532 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt6),
16306 /* 42536 */ // MIs[1] Operand 1
16307 /* 42536 */ // No operand predicates
16308 /* 42536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16309 /* 42538 */ // (srl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt6>>:$shamt) => (DSRL:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$shamt)
16310 /* 42538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRL),
16311 /* 42541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16312 /* 42543 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16313 /* 42545 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
16314 /* 42548 */ GIR_RootConstrainSelectedInstOperands,
16315 /* 42549 */ // GIR_Coverage, 240,
16316 /* 42549 */ GIR_EraseRootFromParent_Done,
16317 /* 42550 */ // Label 1231: @42550
16318 /* 42550 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1232*/ GIMT_Encode4(42616), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1683 //
16319 /* 42557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16320 /* 42561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
16321 /* 42565 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
16322 /* 42569 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16323 /* 42574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16324 /* 42576 */ // (srl:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$rs)) => (DSRLV:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$rs, sub_32:{ *:[i32] }))
16325 /* 42576 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16326 /* 42579 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16327 /* 42583 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16328 /* 42588 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // rs
16329 /* 42594 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
16330 /* 42599 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
16331 /* 42604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRLV),
16332 /* 42607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16333 /* 42609 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16334 /* 42611 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16335 /* 42614 */ GIR_RootConstrainSelectedInstOperands,
16336 /* 42615 */ // GIR_Coverage, 1683,
16337 /* 42615 */ GIR_EraseRootFromParent_Done,
16338 /* 42616 */ // Label 1232: @42616
16339 /* 42616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1233*/ GIMT_Encode4(42634), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips), // Rule ID 248 //
16340 /* 42623 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16341 /* 42627 */ // (srl:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (DSRLV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
16342 /* 42627 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DSRLV),
16343 /* 42632 */ GIR_RootConstrainSelectedInstOperands,
16344 /* 42633 */ // GIR_Coverage, 248,
16345 /* 42633 */ GIR_Done,
16346 /* 42634 */ // Label 1233: @42634
16347 /* 42634 */ GIM_Reject,
16348 /* 42635 */ // Label 1230: @42635
16349 /* 42635 */ GIM_Reject,
16350 /* 42636 */ // Label 1216: @42636
16351 /* 42636 */ GIM_Try, /*On fail goto*//*Label 1234*/ GIMT_Encode4(43284),
16352 /* 42641 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
16353 /* 42644 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
16354 /* 42647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
16355 /* 42651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1235*/ GIMT_Encode4(42956), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2657 //
16356 /* 42658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16357 /* 42662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16358 /* 42666 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
16359 /* 42670 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
16360 /* 42674 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
16361 /* 42678 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16362 /* 42682 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
16363 /* 42685 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16364 /* 42689 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16365 /* 42693 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16366 /* 42697 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16367 /* 42701 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
16368 /* 42705 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
16369 /* 42709 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
16370 /* 42713 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
16371 /* 42717 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
16372 /* 42721 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
16373 /* 42725 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
16374 /* 42729 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
16375 /* 42733 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
16376 /* 42737 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
16377 /* 42741 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
16378 /* 42745 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
16379 /* 42749 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16380 /* 42753 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16381 /* 42757 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16382 /* 42761 */ // MIs[3] Operand 1
16383 /* 42761 */ // No operand predicates
16384 /* 42761 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16385 /* 42765 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16386 /* 42769 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16387 /* 42773 */ // MIs[4] Operand 1
16388 /* 42773 */ // No operand predicates
16389 /* 42773 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16390 /* 42777 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16391 /* 42781 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16392 /* 42785 */ // MIs[5] Operand 1
16393 /* 42785 */ // No operand predicates
16394 /* 42785 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16395 /* 42789 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16396 /* 42793 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16397 /* 42797 */ // MIs[6] Operand 1
16398 /* 42797 */ // No operand predicates
16399 /* 42797 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16400 /* 42801 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16401 /* 42805 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16402 /* 42809 */ // MIs[7] Operand 1
16403 /* 42809 */ // No operand predicates
16404 /* 42809 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16405 /* 42813 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16406 /* 42817 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16407 /* 42821 */ // MIs[8] Operand 1
16408 /* 42821 */ // No operand predicates
16409 /* 42821 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16410 /* 42825 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16411 /* 42829 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16412 /* 42833 */ // MIs[9] Operand 1
16413 /* 42833 */ // No operand predicates
16414 /* 42833 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16415 /* 42837 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16416 /* 42841 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16417 /* 42845 */ // MIs[10] Operand 1
16418 /* 42845 */ // No operand predicates
16419 /* 42845 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
16420 /* 42849 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16421 /* 42853 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16422 /* 42857 */ // MIs[11] Operand 1
16423 /* 42857 */ // No operand predicates
16424 /* 42857 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
16425 /* 42861 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16426 /* 42865 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16427 /* 42869 */ // MIs[12] Operand 1
16428 /* 42869 */ // No operand predicates
16429 /* 42869 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
16430 /* 42873 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16431 /* 42877 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16432 /* 42881 */ // MIs[13] Operand 1
16433 /* 42881 */ // No operand predicates
16434 /* 42881 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
16435 /* 42885 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16436 /* 42889 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16437 /* 42893 */ // MIs[14] Operand 1
16438 /* 42893 */ // No operand predicates
16439 /* 42893 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
16440 /* 42897 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16441 /* 42901 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16442 /* 42905 */ // MIs[15] Operand 1
16443 /* 42905 */ // No operand predicates
16444 /* 42905 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
16445 /* 42909 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16446 /* 42913 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16447 /* 42917 */ // MIs[16] Operand 1
16448 /* 42917 */ // No operand predicates
16449 /* 42917 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
16450 /* 42921 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16451 /* 42925 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16452 /* 42929 */ // MIs[17] Operand 1
16453 /* 42929 */ // No operand predicates
16454 /* 42929 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
16455 /* 42933 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16456 /* 42937 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16457 /* 42941 */ // MIs[18] Operand 1
16458 /* 42941 */ // No operand predicates
16459 /* 42941 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
16460 /* 42943 */ // (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)
16461 /* 42943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_B),
16462 /* 42946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16463 /* 42948 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16464 /* 42950 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
16465 /* 42954 */ GIR_RootConstrainSelectedInstOperands,
16466 /* 42955 */ // GIR_Coverage, 2657,
16467 /* 42955 */ GIR_EraseRootFromParent_Done,
16468 /* 42956 */ // Label 1235: @42956
16469 /* 42956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1236*/ GIMT_Encode4(43261), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2214 //
16470 /* 42963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16471 /* 42967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16472 /* 42971 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
16473 /* 42975 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
16474 /* 42979 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16475 /* 42983 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16476 /* 42987 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
16477 /* 42990 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16478 /* 42994 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16479 /* 42998 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16480 /* 43002 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16481 /* 43006 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
16482 /* 43010 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
16483 /* 43014 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
16484 /* 43018 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
16485 /* 43022 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
16486 /* 43026 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
16487 /* 43030 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
16488 /* 43034 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
16489 /* 43038 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
16490 /* 43042 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
16491 /* 43046 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
16492 /* 43050 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
16493 /* 43054 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16494 /* 43058 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16495 /* 43062 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16496 /* 43066 */ // MIs[3] Operand 1
16497 /* 43066 */ // No operand predicates
16498 /* 43066 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16499 /* 43070 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16500 /* 43074 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16501 /* 43078 */ // MIs[4] Operand 1
16502 /* 43078 */ // No operand predicates
16503 /* 43078 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16504 /* 43082 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16505 /* 43086 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16506 /* 43090 */ // MIs[5] Operand 1
16507 /* 43090 */ // No operand predicates
16508 /* 43090 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16509 /* 43094 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16510 /* 43098 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16511 /* 43102 */ // MIs[6] Operand 1
16512 /* 43102 */ // No operand predicates
16513 /* 43102 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16514 /* 43106 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16515 /* 43110 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16516 /* 43114 */ // MIs[7] Operand 1
16517 /* 43114 */ // No operand predicates
16518 /* 43114 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16519 /* 43118 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16520 /* 43122 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16521 /* 43126 */ // MIs[8] Operand 1
16522 /* 43126 */ // No operand predicates
16523 /* 43126 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16524 /* 43130 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16525 /* 43134 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16526 /* 43138 */ // MIs[9] Operand 1
16527 /* 43138 */ // No operand predicates
16528 /* 43138 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16529 /* 43142 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16530 /* 43146 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16531 /* 43150 */ // MIs[10] Operand 1
16532 /* 43150 */ // No operand predicates
16533 /* 43150 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
16534 /* 43154 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16535 /* 43158 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16536 /* 43162 */ // MIs[11] Operand 1
16537 /* 43162 */ // No operand predicates
16538 /* 43162 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
16539 /* 43166 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16540 /* 43170 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16541 /* 43174 */ // MIs[12] Operand 1
16542 /* 43174 */ // No operand predicates
16543 /* 43174 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
16544 /* 43178 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16545 /* 43182 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16546 /* 43186 */ // MIs[13] Operand 1
16547 /* 43186 */ // No operand predicates
16548 /* 43186 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
16549 /* 43190 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16550 /* 43194 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16551 /* 43198 */ // MIs[14] Operand 1
16552 /* 43198 */ // No operand predicates
16553 /* 43198 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
16554 /* 43202 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16555 /* 43206 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16556 /* 43210 */ // MIs[15] Operand 1
16557 /* 43210 */ // No operand predicates
16558 /* 43210 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
16559 /* 43214 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16560 /* 43218 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16561 /* 43222 */ // MIs[16] Operand 1
16562 /* 43222 */ // No operand predicates
16563 /* 43222 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
16564 /* 43226 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16565 /* 43230 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16566 /* 43234 */ // MIs[17] Operand 1
16567 /* 43234 */ // No operand predicates
16568 /* 43234 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
16569 /* 43238 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16570 /* 43242 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
16571 /* 43246 */ // MIs[18] Operand 1
16572 /* 43246 */ // No operand predicates
16573 /* 43246 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
16574 /* 43248 */ // (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)
16575 /* 43248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_B),
16576 /* 43251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16577 /* 43253 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16578 /* 43255 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
16579 /* 43259 */ GIR_RootConstrainSelectedInstOperands,
16580 /* 43260 */ // GIR_Coverage, 2214,
16581 /* 43260 */ GIR_EraseRootFromParent_Done,
16582 /* 43261 */ // Label 1236: @43261
16583 /* 43261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1237*/ GIMT_Encode4(43283), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1017 //
16584 /* 43268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
16585 /* 43272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
16586 /* 43276 */ // (srl:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SRL_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
16587 /* 43276 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRL_B),
16588 /* 43281 */ GIR_RootConstrainSelectedInstOperands,
16589 /* 43282 */ // GIR_Coverage, 1017,
16590 /* 43282 */ GIR_Done,
16591 /* 43283 */ // Label 1237: @43283
16592 /* 43283 */ GIM_Reject,
16593 /* 43284 */ // Label 1234: @43284
16594 /* 43284 */ GIM_Reject,
16595 /* 43285 */ // Label 1217: @43285
16596 /* 43285 */ GIM_Try, /*On fail goto*//*Label 1238*/ GIMT_Encode4(43677),
16597 /* 43290 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
16598 /* 43293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
16599 /* 43296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
16600 /* 43300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1239*/ GIMT_Encode4(43477), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2658 //
16601 /* 43307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16602 /* 43311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16603 /* 43315 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
16604 /* 43319 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
16605 /* 43323 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
16606 /* 43327 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16607 /* 43331 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
16608 /* 43334 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16609 /* 43338 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16610 /* 43342 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16611 /* 43346 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16612 /* 43350 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
16613 /* 43354 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
16614 /* 43358 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
16615 /* 43362 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
16616 /* 43366 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16617 /* 43370 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16618 /* 43374 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16619 /* 43378 */ // MIs[3] Operand 1
16620 /* 43378 */ // No operand predicates
16621 /* 43378 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16622 /* 43382 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16623 /* 43386 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16624 /* 43390 */ // MIs[4] Operand 1
16625 /* 43390 */ // No operand predicates
16626 /* 43390 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16627 /* 43394 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16628 /* 43398 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16629 /* 43402 */ // MIs[5] Operand 1
16630 /* 43402 */ // No operand predicates
16631 /* 43402 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16632 /* 43406 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16633 /* 43410 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16634 /* 43414 */ // MIs[6] Operand 1
16635 /* 43414 */ // No operand predicates
16636 /* 43414 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16637 /* 43418 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16638 /* 43422 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16639 /* 43426 */ // MIs[7] Operand 1
16640 /* 43426 */ // No operand predicates
16641 /* 43426 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16642 /* 43430 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16643 /* 43434 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16644 /* 43438 */ // MIs[8] Operand 1
16645 /* 43438 */ // No operand predicates
16646 /* 43438 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16647 /* 43442 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16648 /* 43446 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16649 /* 43450 */ // MIs[9] Operand 1
16650 /* 43450 */ // No operand predicates
16651 /* 43450 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16652 /* 43454 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16653 /* 43458 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16654 /* 43462 */ // MIs[10] Operand 1
16655 /* 43462 */ // No operand predicates
16656 /* 43462 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
16657 /* 43464 */ // (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)
16658 /* 43464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_H),
16659 /* 43467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16660 /* 43469 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16661 /* 43471 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
16662 /* 43475 */ GIR_RootConstrainSelectedInstOperands,
16663 /* 43476 */ // GIR_Coverage, 2658,
16664 /* 43476 */ GIR_EraseRootFromParent_Done,
16665 /* 43477 */ // Label 1239: @43477
16666 /* 43477 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1240*/ GIMT_Encode4(43654), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2215 //
16667 /* 43484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16668 /* 43488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16669 /* 43492 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
16670 /* 43496 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
16671 /* 43500 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16672 /* 43504 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16673 /* 43508 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
16674 /* 43511 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16675 /* 43515 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16676 /* 43519 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16677 /* 43523 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16678 /* 43527 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
16679 /* 43531 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
16680 /* 43535 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
16681 /* 43539 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
16682 /* 43543 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16683 /* 43547 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16684 /* 43551 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16685 /* 43555 */ // MIs[3] Operand 1
16686 /* 43555 */ // No operand predicates
16687 /* 43555 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16688 /* 43559 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16689 /* 43563 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16690 /* 43567 */ // MIs[4] Operand 1
16691 /* 43567 */ // No operand predicates
16692 /* 43567 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16693 /* 43571 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16694 /* 43575 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16695 /* 43579 */ // MIs[5] Operand 1
16696 /* 43579 */ // No operand predicates
16697 /* 43579 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16698 /* 43583 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16699 /* 43587 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16700 /* 43591 */ // MIs[6] Operand 1
16701 /* 43591 */ // No operand predicates
16702 /* 43591 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
16703 /* 43595 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16704 /* 43599 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16705 /* 43603 */ // MIs[7] Operand 1
16706 /* 43603 */ // No operand predicates
16707 /* 43603 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
16708 /* 43607 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16709 /* 43611 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16710 /* 43615 */ // MIs[8] Operand 1
16711 /* 43615 */ // No operand predicates
16712 /* 43615 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
16713 /* 43619 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16714 /* 43623 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16715 /* 43627 */ // MIs[9] Operand 1
16716 /* 43627 */ // No operand predicates
16717 /* 43627 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
16718 /* 43631 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16719 /* 43635 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
16720 /* 43639 */ // MIs[10] Operand 1
16721 /* 43639 */ // No operand predicates
16722 /* 43639 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
16723 /* 43641 */ // (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)
16724 /* 43641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_H),
16725 /* 43644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16726 /* 43646 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16727 /* 43648 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
16728 /* 43652 */ GIR_RootConstrainSelectedInstOperands,
16729 /* 43653 */ // GIR_Coverage, 2215,
16730 /* 43653 */ GIR_EraseRootFromParent_Done,
16731 /* 43654 */ // Label 1240: @43654
16732 /* 43654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1241*/ GIMT_Encode4(43676), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1018 //
16733 /* 43661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
16734 /* 43665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
16735 /* 43669 */ // (srl:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SRL_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
16736 /* 43669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRL_H),
16737 /* 43674 */ GIR_RootConstrainSelectedInstOperands,
16738 /* 43675 */ // GIR_Coverage, 1018,
16739 /* 43675 */ GIR_Done,
16740 /* 43676 */ // Label 1241: @43676
16741 /* 43676 */ GIM_Reject,
16742 /* 43677 */ // Label 1238: @43677
16743 /* 43677 */ GIM_Reject,
16744 /* 43678 */ // Label 1218: @43678
16745 /* 43678 */ GIM_Try, /*On fail goto*//*Label 1242*/ GIMT_Encode4(43942),
16746 /* 43683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
16747 /* 43686 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
16748 /* 43689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16749 /* 43693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1243*/ GIMT_Encode4(43806), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2659 //
16750 /* 43700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16751 /* 43704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16752 /* 43708 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
16753 /* 43712 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
16754 /* 43716 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
16755 /* 43720 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16756 /* 43724 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
16757 /* 43727 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16758 /* 43731 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16759 /* 43735 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16760 /* 43739 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16761 /* 43743 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16762 /* 43747 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16763 /* 43751 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16764 /* 43755 */ // MIs[3] Operand 1
16765 /* 43755 */ // No operand predicates
16766 /* 43755 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16767 /* 43759 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16768 /* 43763 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16769 /* 43767 */ // MIs[4] Operand 1
16770 /* 43767 */ // No operand predicates
16771 /* 43767 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16772 /* 43771 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16773 /* 43775 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16774 /* 43779 */ // MIs[5] Operand 1
16775 /* 43779 */ // No operand predicates
16776 /* 43779 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16777 /* 43783 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16778 /* 43787 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16779 /* 43791 */ // MIs[6] Operand 1
16780 /* 43791 */ // No operand predicates
16781 /* 43791 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
16782 /* 43793 */ // (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)
16783 /* 43793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_W),
16784 /* 43796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16785 /* 43798 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16786 /* 43800 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
16787 /* 43804 */ GIR_RootConstrainSelectedInstOperands,
16788 /* 43805 */ // GIR_Coverage, 2659,
16789 /* 43805 */ GIR_EraseRootFromParent_Done,
16790 /* 43806 */ // Label 1243: @43806
16791 /* 43806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1244*/ GIMT_Encode4(43919), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2216 //
16792 /* 43813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16793 /* 43817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
16794 /* 43821 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
16795 /* 43825 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
16796 /* 43829 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16797 /* 43833 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
16798 /* 43837 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
16799 /* 43840 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
16800 /* 43844 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
16801 /* 43848 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
16802 /* 43852 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
16803 /* 43856 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
16804 /* 43860 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16805 /* 43864 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16806 /* 43868 */ // MIs[3] Operand 1
16807 /* 43868 */ // No operand predicates
16808 /* 43868 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
16809 /* 43872 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16810 /* 43876 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16811 /* 43880 */ // MIs[4] Operand 1
16812 /* 43880 */ // No operand predicates
16813 /* 43880 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
16814 /* 43884 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16815 /* 43888 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16816 /* 43892 */ // MIs[5] Operand 1
16817 /* 43892 */ // No operand predicates
16818 /* 43892 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
16819 /* 43896 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16820 /* 43900 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
16821 /* 43904 */ // MIs[6] Operand 1
16822 /* 43904 */ // No operand predicates
16823 /* 43904 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
16824 /* 43906 */ // (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)
16825 /* 43906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRL_W),
16826 /* 43909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
16827 /* 43911 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
16828 /* 43913 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
16829 /* 43917 */ GIR_RootConstrainSelectedInstOperands,
16830 /* 43918 */ // GIR_Coverage, 2216,
16831 /* 43918 */ GIR_EraseRootFromParent_Done,
16832 /* 43919 */ // Label 1244: @43919
16833 /* 43919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1245*/ GIMT_Encode4(43941), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1019 //
16834 /* 43926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16835 /* 43930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
16836 /* 43934 */ // (srl:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SRL_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
16837 /* 43934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRL_W),
16838 /* 43939 */ GIR_RootConstrainSelectedInstOperands,
16839 /* 43940 */ // GIR_Coverage, 1019,
16840 /* 43940 */ GIR_Done,
16841 /* 43941 */ // Label 1245: @43941
16842 /* 43941 */ GIM_Reject,
16843 /* 43942 */ // Label 1242: @43942
16844 /* 43942 */ GIM_Reject,
16845 /* 43943 */ // Label 1219: @43943
16846 /* 43943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1246*/ GIMT_Encode4(43975), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1020 //
16847 /* 43950 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
16848 /* 43953 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
16849 /* 43956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16850 /* 43960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16851 /* 43964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
16852 /* 43968 */ // (srl:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SRL_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
16853 /* 43968 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRL_D),
16854 /* 43973 */ GIR_RootConstrainSelectedInstOperands,
16855 /* 43974 */ // GIR_Coverage, 1020,
16856 /* 43974 */ GIR_Done,
16857 /* 43975 */ // Label 1246: @43975
16858 /* 43975 */ GIM_Reject,
16859 /* 43976 */ // Label 1220: @43976
16860 /* 43976 */ GIM_Reject,
16861 /* 43977 */ // Label 40: @43977
16862 /* 43977 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1253*/ GIMT_Encode4(45710),
16863 /* 43988 */ /*GILLT_s32*//*Label 1247*/ GIMT_Encode4(44020),
16864 /* 43992 */ /*GILLT_s64*//*Label 1248*/ GIMT_Encode4(44232), GIMT_Encode4(0),
16865 /* 44000 */ /*GILLT_v16s8*//*Label 1249*/ GIMT_Encode4(44370), GIMT_Encode4(0),
16866 /* 44008 */ /*GILLT_v8s16*//*Label 1250*/ GIMT_Encode4(45019),
16867 /* 44012 */ /*GILLT_v4s32*//*Label 1251*/ GIMT_Encode4(45412),
16868 /* 44016 */ /*GILLT_v2s64*//*Label 1252*/ GIMT_Encode4(45677),
16869 /* 44020 */ // Label 1247: @44020
16870 /* 44020 */ GIM_Try, /*On fail goto*//*Label 1254*/ GIMT_Encode4(44231),
16871 /* 44025 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
16872 /* 44028 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
16873 /* 44031 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1255*/ GIMT_Encode4(44072), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 59 //
16874 /* 44038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16875 /* 44042 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16876 /* 44046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16877 /* 44050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16878 /* 44054 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16879 /* 44058 */ // MIs[1] Operand 1
16880 /* 44058 */ // No operand predicates
16881 /* 44058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16882 /* 44060 */ // (sra:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (SRA:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
16883 /* 44060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA),
16884 /* 44063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16885 /* 44065 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16886 /* 44067 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
16887 /* 44070 */ GIR_RootConstrainSelectedInstOperands,
16888 /* 44071 */ // GIR_Coverage, 59,
16889 /* 44071 */ GIR_EraseRootFromParent_Done,
16890 /* 44072 */ // Label 1255: @44072
16891 /* 44072 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1256*/ GIMT_Encode4(44113), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1967 //
16892 /* 44079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16893 /* 44083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16894 /* 44087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16895 /* 44091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16896 /* 44095 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16897 /* 44099 */ // MIs[1] Operand 1
16898 /* 44099 */ // No operand predicates
16899 /* 44099 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16900 /* 44101 */ // (sra:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SraX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$in, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
16901 /* 44101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SraX16),
16902 /* 44104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rx]
16903 /* 44106 */ GIR_RootToRootCopy, /*OpIdx*/1, // in
16904 /* 44108 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
16905 /* 44111 */ GIR_RootConstrainSelectedInstOperands,
16906 /* 44112 */ // GIR_Coverage, 1967,
16907 /* 44112 */ GIR_EraseRootFromParent_Done,
16908 /* 44113 */ // Label 1256: @44113
16909 /* 44113 */ GIM_Try, /*On fail goto*//*Label 1257*/ GIMT_Encode4(44178),
16910 /* 44118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16911 /* 44122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16912 /* 44126 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1258*/ GIMT_Encode4(44159), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2313 //
16913 /* 44133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16914 /* 44137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16915 /* 44141 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
16916 /* 44145 */ // MIs[1] Operand 1
16917 /* 44145 */ // No operand predicates
16918 /* 44145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16919 /* 44147 */ // (sra:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm) => (SRA_MM:{ *:[i32] } GPR32:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$imm)
16920 /* 44147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_MM),
16921 /* 44150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16922 /* 44152 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16923 /* 44154 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // imm
16924 /* 44157 */ GIR_RootConstrainSelectedInstOperands,
16925 /* 44158 */ // GIR_Coverage, 2313,
16926 /* 44158 */ GIR_EraseRootFromParent_Done,
16927 /* 44159 */ // Label 1258: @44159
16928 /* 44159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1259*/ GIMT_Encode4(44177), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 65 //
16929 /* 44166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16930 /* 44170 */ // (sra:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (SRAV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
16931 /* 44170 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRAV),
16932 /* 44175 */ GIR_RootConstrainSelectedInstOperands,
16933 /* 44176 */ // GIR_Coverage, 65,
16934 /* 44176 */ GIR_Done,
16935 /* 44177 */ // Label 1259: @44177
16936 /* 44177 */ GIM_Reject,
16937 /* 44178 */ // Label 1257: @44178
16938 /* 44178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1260*/ GIMT_Encode4(44204), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1969 //
16939 /* 44185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16940 /* 44189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16941 /* 44193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
16942 /* 44197 */ // (sra:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra) => (SravRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$r, CPU16Regs:{ *:[i32] }:$ra)
16943 /* 44197 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SravRxRy16),
16944 /* 44202 */ GIR_RootConstrainSelectedInstOperands,
16945 /* 44203 */ // GIR_Coverage, 1969,
16946 /* 44203 */ GIR_Done,
16947 /* 44204 */ // Label 1260: @44204
16948 /* 44204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1261*/ GIMT_Encode4(44230), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2314 //
16949 /* 44211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16950 /* 44215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16951 /* 44219 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
16952 /* 44223 */ // (sra:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs) => (SRAV_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs)
16953 /* 44223 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRAV_MM),
16954 /* 44228 */ GIR_RootConstrainSelectedInstOperands,
16955 /* 44229 */ // GIR_Coverage, 2314,
16956 /* 44229 */ GIR_Done,
16957 /* 44230 */ // Label 1261: @44230
16958 /* 44230 */ GIM_Reject,
16959 /* 44231 */ // Label 1254: @44231
16960 /* 44231 */ GIM_Reject,
16961 /* 44232 */ // Label 1248: @44232
16962 /* 44232 */ GIM_Try, /*On fail goto*//*Label 1262*/ GIMT_Encode4(44369),
16963 /* 44237 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
16964 /* 44240 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
16965 /* 44243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16966 /* 44247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16967 /* 44251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1263*/ GIMT_Encode4(44284), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips), // Rule ID 242 //
16968 /* 44258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16969 /* 44262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
16970 /* 44266 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt6),
16971 /* 44270 */ // MIs[1] Operand 1
16972 /* 44270 */ // No operand predicates
16973 /* 44270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16974 /* 44272 */ // (sra:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt6>>:$shamt) => (DSRA:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$shamt)
16975 /* 44272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRA),
16976 /* 44275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16977 /* 44277 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16978 /* 44279 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
16979 /* 44282 */ GIR_RootConstrainSelectedInstOperands,
16980 /* 44283 */ // GIR_Coverage, 242,
16981 /* 44283 */ GIR_EraseRootFromParent_Done,
16982 /* 44284 */ // Label 1263: @44284
16983 /* 44284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1264*/ GIMT_Encode4(44350), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1684 //
16984 /* 44291 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16985 /* 44295 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
16986 /* 44299 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
16987 /* 44303 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
16988 /* 44308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16989 /* 44310 */ // (sra:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$rs)) => (DSRAV:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$rs, sub_32:{ *:[i32] }))
16990 /* 44310 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16991 /* 44313 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16992 /* 44317 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16993 /* 44322 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // rs
16994 /* 44328 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
16995 /* 44333 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
16996 /* 44338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSRAV),
16997 /* 44341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
16998 /* 44343 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
16999 /* 44345 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17000 /* 44348 */ GIR_RootConstrainSelectedInstOperands,
17001 /* 44349 */ // GIR_Coverage, 1684,
17002 /* 44349 */ GIR_EraseRootFromParent_Done,
17003 /* 44350 */ // Label 1264: @44350
17004 /* 44350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1265*/ GIMT_Encode4(44368), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips), // Rule ID 246 //
17005 /* 44357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17006 /* 44361 */ // (sra:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (DSRAV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
17007 /* 44361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DSRAV),
17008 /* 44366 */ GIR_RootConstrainSelectedInstOperands,
17009 /* 44367 */ // GIR_Coverage, 246,
17010 /* 44367 */ GIR_Done,
17011 /* 44368 */ // Label 1265: @44368
17012 /* 44368 */ GIM_Reject,
17013 /* 44369 */ // Label 1262: @44369
17014 /* 44369 */ GIM_Reject,
17015 /* 44370 */ // Label 1249: @44370
17016 /* 44370 */ GIM_Try, /*On fail goto*//*Label 1266*/ GIMT_Encode4(45018),
17017 /* 44375 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
17018 /* 44378 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
17019 /* 44381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
17020 /* 44385 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1267*/ GIMT_Encode4(44690), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2661 //
17021 /* 44392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17022 /* 44396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17023 /* 44400 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
17024 /* 44404 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
17025 /* 44408 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17026 /* 44412 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17027 /* 44416 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
17028 /* 44419 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17029 /* 44423 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17030 /* 44427 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17031 /* 44431 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17032 /* 44435 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
17033 /* 44439 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
17034 /* 44443 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
17035 /* 44447 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
17036 /* 44451 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
17037 /* 44455 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
17038 /* 44459 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
17039 /* 44463 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
17040 /* 44467 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
17041 /* 44471 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
17042 /* 44475 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
17043 /* 44479 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
17044 /* 44483 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17045 /* 44487 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17046 /* 44491 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17047 /* 44495 */ // MIs[3] Operand 1
17048 /* 44495 */ // No operand predicates
17049 /* 44495 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17050 /* 44499 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17051 /* 44503 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17052 /* 44507 */ // MIs[4] Operand 1
17053 /* 44507 */ // No operand predicates
17054 /* 44507 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17055 /* 44511 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17056 /* 44515 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17057 /* 44519 */ // MIs[5] Operand 1
17058 /* 44519 */ // No operand predicates
17059 /* 44519 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17060 /* 44523 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17061 /* 44527 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17062 /* 44531 */ // MIs[6] Operand 1
17063 /* 44531 */ // No operand predicates
17064 /* 44531 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
17065 /* 44535 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17066 /* 44539 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17067 /* 44543 */ // MIs[7] Operand 1
17068 /* 44543 */ // No operand predicates
17069 /* 44543 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
17070 /* 44547 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17071 /* 44551 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17072 /* 44555 */ // MIs[8] Operand 1
17073 /* 44555 */ // No operand predicates
17074 /* 44555 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
17075 /* 44559 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17076 /* 44563 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17077 /* 44567 */ // MIs[9] Operand 1
17078 /* 44567 */ // No operand predicates
17079 /* 44567 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
17080 /* 44571 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17081 /* 44575 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17082 /* 44579 */ // MIs[10] Operand 1
17083 /* 44579 */ // No operand predicates
17084 /* 44579 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
17085 /* 44583 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17086 /* 44587 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17087 /* 44591 */ // MIs[11] Operand 1
17088 /* 44591 */ // No operand predicates
17089 /* 44591 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
17090 /* 44595 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17091 /* 44599 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17092 /* 44603 */ // MIs[12] Operand 1
17093 /* 44603 */ // No operand predicates
17094 /* 44603 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
17095 /* 44607 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17096 /* 44611 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17097 /* 44615 */ // MIs[13] Operand 1
17098 /* 44615 */ // No operand predicates
17099 /* 44615 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
17100 /* 44619 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17101 /* 44623 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17102 /* 44627 */ // MIs[14] Operand 1
17103 /* 44627 */ // No operand predicates
17104 /* 44627 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
17105 /* 44631 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17106 /* 44635 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17107 /* 44639 */ // MIs[15] Operand 1
17108 /* 44639 */ // No operand predicates
17109 /* 44639 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
17110 /* 44643 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17111 /* 44647 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17112 /* 44651 */ // MIs[16] Operand 1
17113 /* 44651 */ // No operand predicates
17114 /* 44651 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
17115 /* 44655 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17116 /* 44659 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17117 /* 44663 */ // MIs[17] Operand 1
17118 /* 44663 */ // No operand predicates
17119 /* 44663 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
17120 /* 44667 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17121 /* 44671 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17122 /* 44675 */ // MIs[18] Operand 1
17123 /* 44675 */ // No operand predicates
17124 /* 44675 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
17125 /* 44677 */ // (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)
17126 /* 44677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_B),
17127 /* 44680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17128 /* 44682 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17129 /* 44684 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
17130 /* 44688 */ GIR_RootConstrainSelectedInstOperands,
17131 /* 44689 */ // GIR_Coverage, 2661,
17132 /* 44689 */ GIR_EraseRootFromParent_Done,
17133 /* 44690 */ // Label 1267: @44690
17134 /* 44690 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1268*/ GIMT_Encode4(44995), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2218 //
17135 /* 44697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17136 /* 44701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17137 /* 44705 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s8,
17138 /* 44709 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s8,
17139 /* 44713 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17140 /* 44717 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17141 /* 44721 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/17,
17142 /* 44724 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17143 /* 44728 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17144 /* 44732 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17145 /* 44736 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17146 /* 44740 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
17147 /* 44744 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
17148 /* 44748 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
17149 /* 44752 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
17150 /* 44756 */ GIM_CheckType, /*MI*/2, /*Op*/9, /*Type*/GILLT_s32,
17151 /* 44760 */ GIM_CheckType, /*MI*/2, /*Op*/10, /*Type*/GILLT_s32,
17152 /* 44764 */ GIM_CheckType, /*MI*/2, /*Op*/11, /*Type*/GILLT_s32,
17153 /* 44768 */ GIM_CheckType, /*MI*/2, /*Op*/12, /*Type*/GILLT_s32,
17154 /* 44772 */ GIM_CheckType, /*MI*/2, /*Op*/13, /*Type*/GILLT_s32,
17155 /* 44776 */ GIM_CheckType, /*MI*/2, /*Op*/14, /*Type*/GILLT_s32,
17156 /* 44780 */ GIM_CheckType, /*MI*/2, /*Op*/15, /*Type*/GILLT_s32,
17157 /* 44784 */ GIM_CheckType, /*MI*/2, /*Op*/16, /*Type*/GILLT_s32,
17158 /* 44788 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17159 /* 44792 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17160 /* 44796 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17161 /* 44800 */ // MIs[3] Operand 1
17162 /* 44800 */ // No operand predicates
17163 /* 44800 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17164 /* 44804 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17165 /* 44808 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17166 /* 44812 */ // MIs[4] Operand 1
17167 /* 44812 */ // No operand predicates
17168 /* 44812 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17169 /* 44816 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17170 /* 44820 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17171 /* 44824 */ // MIs[5] Operand 1
17172 /* 44824 */ // No operand predicates
17173 /* 44824 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17174 /* 44828 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17175 /* 44832 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17176 /* 44836 */ // MIs[6] Operand 1
17177 /* 44836 */ // No operand predicates
17178 /* 44836 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
17179 /* 44840 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17180 /* 44844 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17181 /* 44848 */ // MIs[7] Operand 1
17182 /* 44848 */ // No operand predicates
17183 /* 44848 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
17184 /* 44852 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17185 /* 44856 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17186 /* 44860 */ // MIs[8] Operand 1
17187 /* 44860 */ // No operand predicates
17188 /* 44860 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
17189 /* 44864 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17190 /* 44868 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17191 /* 44872 */ // MIs[9] Operand 1
17192 /* 44872 */ // No operand predicates
17193 /* 44872 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
17194 /* 44876 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17195 /* 44880 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17196 /* 44884 */ // MIs[10] Operand 1
17197 /* 44884 */ // No operand predicates
17198 /* 44884 */ GIM_RecordInsn, /*DefineMI*/11, /*MI*/2, /*OpIdx*/9, // MIs[11]
17199 /* 44888 */ GIM_CheckOpcode, /*MI*/11, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17200 /* 44892 */ GIM_CheckI64ImmPredicate, /*MI*/11, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17201 /* 44896 */ // MIs[11] Operand 1
17202 /* 44896 */ // No operand predicates
17203 /* 44896 */ GIM_RecordInsn, /*DefineMI*/12, /*MI*/2, /*OpIdx*/10, // MIs[12]
17204 /* 44900 */ GIM_CheckOpcode, /*MI*/12, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17205 /* 44904 */ GIM_CheckI64ImmPredicate, /*MI*/12, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17206 /* 44908 */ // MIs[12] Operand 1
17207 /* 44908 */ // No operand predicates
17208 /* 44908 */ GIM_RecordInsn, /*DefineMI*/13, /*MI*/2, /*OpIdx*/11, // MIs[13]
17209 /* 44912 */ GIM_CheckOpcode, /*MI*/13, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17210 /* 44916 */ GIM_CheckI64ImmPredicate, /*MI*/13, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17211 /* 44920 */ // MIs[13] Operand 1
17212 /* 44920 */ // No operand predicates
17213 /* 44920 */ GIM_RecordInsn, /*DefineMI*/14, /*MI*/2, /*OpIdx*/12, // MIs[14]
17214 /* 44924 */ GIM_CheckOpcode, /*MI*/14, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17215 /* 44928 */ GIM_CheckI64ImmPredicate, /*MI*/14, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17216 /* 44932 */ // MIs[14] Operand 1
17217 /* 44932 */ // No operand predicates
17218 /* 44932 */ GIM_RecordInsn, /*DefineMI*/15, /*MI*/2, /*OpIdx*/13, // MIs[15]
17219 /* 44936 */ GIM_CheckOpcode, /*MI*/15, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17220 /* 44940 */ GIM_CheckI64ImmPredicate, /*MI*/15, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17221 /* 44944 */ // MIs[15] Operand 1
17222 /* 44944 */ // No operand predicates
17223 /* 44944 */ GIM_RecordInsn, /*DefineMI*/16, /*MI*/2, /*OpIdx*/14, // MIs[16]
17224 /* 44948 */ GIM_CheckOpcode, /*MI*/16, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17225 /* 44952 */ GIM_CheckI64ImmPredicate, /*MI*/16, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17226 /* 44956 */ // MIs[16] Operand 1
17227 /* 44956 */ // No operand predicates
17228 /* 44956 */ GIM_RecordInsn, /*DefineMI*/17, /*MI*/2, /*OpIdx*/15, // MIs[17]
17229 /* 44960 */ GIM_CheckOpcode, /*MI*/17, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17230 /* 44964 */ GIM_CheckI64ImmPredicate, /*MI*/17, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17231 /* 44968 */ // MIs[17] Operand 1
17232 /* 44968 */ // No operand predicates
17233 /* 44968 */ GIM_RecordInsn, /*DefineMI*/18, /*MI*/2, /*OpIdx*/16, // MIs[18]
17234 /* 44972 */ GIM_CheckOpcode, /*MI*/18, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17235 /* 44976 */ GIM_CheckI64ImmPredicate, /*MI*/18, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst7),
17236 /* 44980 */ // MIs[18] Operand 1
17237 /* 44980 */ // No operand predicates
17238 /* 44980 */ GIM_CheckIsSafeToFold, /*NumInsns*/18,
17239 /* 44982 */ // (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)
17240 /* 44982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_B),
17241 /* 44985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17242 /* 44987 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17243 /* 44989 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
17244 /* 44993 */ GIR_RootConstrainSelectedInstOperands,
17245 /* 44994 */ // GIR_Coverage, 2218,
17246 /* 44994 */ GIR_EraseRootFromParent_Done,
17247 /* 44995 */ // Label 1268: @44995
17248 /* 44995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1269*/ GIMT_Encode4(45017), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1001 //
17249 /* 45002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
17250 /* 45006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
17251 /* 45010 */ // (sra:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (SRA_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
17252 /* 45010 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRA_B),
17253 /* 45015 */ GIR_RootConstrainSelectedInstOperands,
17254 /* 45016 */ // GIR_Coverage, 1001,
17255 /* 45016 */ GIR_Done,
17256 /* 45017 */ // Label 1269: @45017
17257 /* 45017 */ GIM_Reject,
17258 /* 45018 */ // Label 1266: @45018
17259 /* 45018 */ GIM_Reject,
17260 /* 45019 */ // Label 1250: @45019
17261 /* 45019 */ GIM_Try, /*On fail goto*//*Label 1270*/ GIMT_Encode4(45411),
17262 /* 45024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
17263 /* 45027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
17264 /* 45030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
17265 /* 45034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1271*/ GIMT_Encode4(45211), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2662 //
17266 /* 45041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17267 /* 45045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17268 /* 45049 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
17269 /* 45053 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
17270 /* 45057 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17271 /* 45061 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17272 /* 45065 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
17273 /* 45068 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17274 /* 45072 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17275 /* 45076 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17276 /* 45080 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17277 /* 45084 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
17278 /* 45088 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
17279 /* 45092 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
17280 /* 45096 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
17281 /* 45100 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17282 /* 45104 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17283 /* 45108 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17284 /* 45112 */ // MIs[3] Operand 1
17285 /* 45112 */ // No operand predicates
17286 /* 45112 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17287 /* 45116 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17288 /* 45120 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17289 /* 45124 */ // MIs[4] Operand 1
17290 /* 45124 */ // No operand predicates
17291 /* 45124 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17292 /* 45128 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17293 /* 45132 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17294 /* 45136 */ // MIs[5] Operand 1
17295 /* 45136 */ // No operand predicates
17296 /* 45136 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17297 /* 45140 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17298 /* 45144 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17299 /* 45148 */ // MIs[6] Operand 1
17300 /* 45148 */ // No operand predicates
17301 /* 45148 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
17302 /* 45152 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17303 /* 45156 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17304 /* 45160 */ // MIs[7] Operand 1
17305 /* 45160 */ // No operand predicates
17306 /* 45160 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
17307 /* 45164 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17308 /* 45168 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17309 /* 45172 */ // MIs[8] Operand 1
17310 /* 45172 */ // No operand predicates
17311 /* 45172 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
17312 /* 45176 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17313 /* 45180 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17314 /* 45184 */ // MIs[9] Operand 1
17315 /* 45184 */ // No operand predicates
17316 /* 45184 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
17317 /* 45188 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17318 /* 45192 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17319 /* 45196 */ // MIs[10] Operand 1
17320 /* 45196 */ // No operand predicates
17321 /* 45196 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
17322 /* 45198 */ // (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)
17323 /* 45198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_H),
17324 /* 45201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17325 /* 45203 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17326 /* 45205 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
17327 /* 45209 */ GIR_RootConstrainSelectedInstOperands,
17328 /* 45210 */ // GIR_Coverage, 2662,
17329 /* 45210 */ GIR_EraseRootFromParent_Done,
17330 /* 45211 */ // Label 1271: @45211
17331 /* 45211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1272*/ GIMT_Encode4(45388), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2219 //
17332 /* 45218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17333 /* 45222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17334 /* 45226 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
17335 /* 45230 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
17336 /* 45234 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17337 /* 45238 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17338 /* 45242 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/9,
17339 /* 45245 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17340 /* 45249 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17341 /* 45253 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17342 /* 45257 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17343 /* 45261 */ GIM_CheckType, /*MI*/2, /*Op*/5, /*Type*/GILLT_s32,
17344 /* 45265 */ GIM_CheckType, /*MI*/2, /*Op*/6, /*Type*/GILLT_s32,
17345 /* 45269 */ GIM_CheckType, /*MI*/2, /*Op*/7, /*Type*/GILLT_s32,
17346 /* 45273 */ GIM_CheckType, /*MI*/2, /*Op*/8, /*Type*/GILLT_s32,
17347 /* 45277 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17348 /* 45281 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17349 /* 45285 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17350 /* 45289 */ // MIs[3] Operand 1
17351 /* 45289 */ // No operand predicates
17352 /* 45289 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17353 /* 45293 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17354 /* 45297 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17355 /* 45301 */ // MIs[4] Operand 1
17356 /* 45301 */ // No operand predicates
17357 /* 45301 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17358 /* 45305 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17359 /* 45309 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17360 /* 45313 */ // MIs[5] Operand 1
17361 /* 45313 */ // No operand predicates
17362 /* 45313 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17363 /* 45317 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17364 /* 45321 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17365 /* 45325 */ // MIs[6] Operand 1
17366 /* 45325 */ // No operand predicates
17367 /* 45325 */ GIM_RecordInsn, /*DefineMI*/7, /*MI*/2, /*OpIdx*/5, // MIs[7]
17368 /* 45329 */ GIM_CheckOpcode, /*MI*/7, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17369 /* 45333 */ GIM_CheckI64ImmPredicate, /*MI*/7, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17370 /* 45337 */ // MIs[7] Operand 1
17371 /* 45337 */ // No operand predicates
17372 /* 45337 */ GIM_RecordInsn, /*DefineMI*/8, /*MI*/2, /*OpIdx*/6, // MIs[8]
17373 /* 45341 */ GIM_CheckOpcode, /*MI*/8, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17374 /* 45345 */ GIM_CheckI64ImmPredicate, /*MI*/8, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17375 /* 45349 */ // MIs[8] Operand 1
17376 /* 45349 */ // No operand predicates
17377 /* 45349 */ GIM_RecordInsn, /*DefineMI*/9, /*MI*/2, /*OpIdx*/7, // MIs[9]
17378 /* 45353 */ GIM_CheckOpcode, /*MI*/9, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17379 /* 45357 */ GIM_CheckI64ImmPredicate, /*MI*/9, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17380 /* 45361 */ // MIs[9] Operand 1
17381 /* 45361 */ // No operand predicates
17382 /* 45361 */ GIM_RecordInsn, /*DefineMI*/10, /*MI*/2, /*OpIdx*/8, // MIs[10]
17383 /* 45365 */ GIM_CheckOpcode, /*MI*/10, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17384 /* 45369 */ GIM_CheckI64ImmPredicate, /*MI*/10, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst15),
17385 /* 45373 */ // MIs[10] Operand 1
17386 /* 45373 */ // No operand predicates
17387 /* 45373 */ GIM_CheckIsSafeToFold, /*NumInsns*/10,
17388 /* 45375 */ // (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)
17389 /* 45375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_H),
17390 /* 45378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17391 /* 45380 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17392 /* 45382 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
17393 /* 45386 */ GIR_RootConstrainSelectedInstOperands,
17394 /* 45387 */ // GIR_Coverage, 2219,
17395 /* 45387 */ GIR_EraseRootFromParent_Done,
17396 /* 45388 */ // Label 1272: @45388
17397 /* 45388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1273*/ GIMT_Encode4(45410), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1002 //
17398 /* 45395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
17399 /* 45399 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
17400 /* 45403 */ // (sra:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (SRA_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
17401 /* 45403 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRA_H),
17402 /* 45408 */ GIR_RootConstrainSelectedInstOperands,
17403 /* 45409 */ // GIR_Coverage, 1002,
17404 /* 45409 */ GIR_Done,
17405 /* 45410 */ // Label 1273: @45410
17406 /* 45410 */ GIM_Reject,
17407 /* 45411 */ // Label 1270: @45411
17408 /* 45411 */ GIM_Reject,
17409 /* 45412 */ // Label 1251: @45412
17410 /* 45412 */ GIM_Try, /*On fail goto*//*Label 1274*/ GIMT_Encode4(45676),
17411 /* 45417 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
17412 /* 45420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
17413 /* 45423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
17414 /* 45427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1275*/ GIMT_Encode4(45540), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2663 //
17415 /* 45434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17416 /* 45438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17417 /* 45442 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
17418 /* 45446 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
17419 /* 45450 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17420 /* 45454 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17421 /* 45458 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
17422 /* 45461 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17423 /* 45465 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17424 /* 45469 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17425 /* 45473 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17426 /* 45477 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17427 /* 45481 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17428 /* 45485 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17429 /* 45489 */ // MIs[3] Operand 1
17430 /* 45489 */ // No operand predicates
17431 /* 45489 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17432 /* 45493 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17433 /* 45497 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17434 /* 45501 */ // MIs[4] Operand 1
17435 /* 45501 */ // No operand predicates
17436 /* 45501 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17437 /* 45505 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17438 /* 45509 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17439 /* 45513 */ // MIs[5] Operand 1
17440 /* 45513 */ // No operand predicates
17441 /* 45513 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17442 /* 45517 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17443 /* 45521 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17444 /* 45525 */ // MIs[6] Operand 1
17445 /* 45525 */ // No operand predicates
17446 /* 45525 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
17447 /* 45527 */ // (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)
17448 /* 45527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_W),
17449 /* 45530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17450 /* 45532 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17451 /* 45534 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
17452 /* 45538 */ GIR_RootConstrainSelectedInstOperands,
17453 /* 45539 */ // GIR_Coverage, 2663,
17454 /* 45539 */ GIR_EraseRootFromParent_Done,
17455 /* 45540 */ // Label 1275: @45540
17456 /* 45540 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1276*/ GIMT_Encode4(45653), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2220 //
17457 /* 45547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17458 /* 45551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
17459 /* 45555 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
17460 /* 45559 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
17461 /* 45563 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17462 /* 45567 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
17463 /* 45571 */ GIM_CheckNumOperands, /*MI*/2, /*Expected*/5,
17464 /* 45574 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
17465 /* 45578 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
17466 /* 45582 */ GIM_CheckType, /*MI*/2, /*Op*/3, /*Type*/GILLT_s32,
17467 /* 45586 */ GIM_CheckType, /*MI*/2, /*Op*/4, /*Type*/GILLT_s32,
17468 /* 45590 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/2, /*OpIdx*/1, // MIs[3]
17469 /* 45594 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17470 /* 45598 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17471 /* 45602 */ // MIs[3] Operand 1
17472 /* 45602 */ // No operand predicates
17473 /* 45602 */ GIM_RecordInsn, /*DefineMI*/4, /*MI*/2, /*OpIdx*/2, // MIs[4]
17474 /* 45606 */ GIM_CheckOpcode, /*MI*/4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17475 /* 45610 */ GIM_CheckI64ImmPredicate, /*MI*/4, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17476 /* 45614 */ // MIs[4] Operand 1
17477 /* 45614 */ // No operand predicates
17478 /* 45614 */ GIM_RecordInsn, /*DefineMI*/5, /*MI*/2, /*OpIdx*/3, // MIs[5]
17479 /* 45618 */ GIM_CheckOpcode, /*MI*/5, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17480 /* 45622 */ GIM_CheckI64ImmPredicate, /*MI*/5, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17481 /* 45626 */ // MIs[5] Operand 1
17482 /* 45626 */ // No operand predicates
17483 /* 45626 */ GIM_RecordInsn, /*DefineMI*/6, /*MI*/2, /*OpIdx*/4, // MIs[6]
17484 /* 45630 */ GIM_CheckOpcode, /*MI*/6, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17485 /* 45634 */ GIM_CheckI64ImmPredicate, /*MI*/6, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immi32Cst31),
17486 /* 45638 */ // MIs[6] Operand 1
17487 /* 45638 */ // No operand predicates
17488 /* 45638 */ GIM_CheckIsSafeToFold, /*NumInsns*/6,
17489 /* 45640 */ // (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)
17490 /* 45640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SRA_W),
17491 /* 45643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
17492 /* 45645 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
17493 /* 45647 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
17494 /* 45651 */ GIR_RootConstrainSelectedInstOperands,
17495 /* 45652 */ // GIR_Coverage, 2220,
17496 /* 45652 */ GIR_EraseRootFromParent_Done,
17497 /* 45653 */ // Label 1276: @45653
17498 /* 45653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1277*/ GIMT_Encode4(45675), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1003 //
17499 /* 45660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
17500 /* 45664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
17501 /* 45668 */ // (sra:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (SRA_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
17502 /* 45668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRA_W),
17503 /* 45673 */ GIR_RootConstrainSelectedInstOperands,
17504 /* 45674 */ // GIR_Coverage, 1003,
17505 /* 45674 */ GIR_Done,
17506 /* 45675 */ // Label 1277: @45675
17507 /* 45675 */ GIM_Reject,
17508 /* 45676 */ // Label 1274: @45676
17509 /* 45676 */ GIM_Reject,
17510 /* 45677 */ // Label 1252: @45677
17511 /* 45677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1278*/ GIMT_Encode4(45709), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1004 //
17512 /* 45684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
17513 /* 45687 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
17514 /* 45690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17515 /* 45694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17516 /* 45698 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
17517 /* 45702 */ // (sra:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (SRA_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
17518 /* 45702 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::SRA_D),
17519 /* 45707 */ GIR_RootConstrainSelectedInstOperands,
17520 /* 45708 */ // GIR_Coverage, 1004,
17521 /* 45708 */ GIR_Done,
17522 /* 45709 */ // Label 1278: @45709
17523 /* 45709 */ GIM_Reject,
17524 /* 45710 */ // Label 1253: @45710
17525 /* 45710 */ GIM_Reject,
17526 /* 45711 */ // Label 41: @45711
17527 /* 45711 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1281*/ GIMT_Encode4(45993),
17528 /* 45722 */ /*GILLT_s32*//*Label 1279*/ GIMT_Encode4(45730),
17529 /* 45726 */ /*GILLT_s64*//*Label 1280*/ GIMT_Encode4(45855),
17530 /* 45730 */ // Label 1279: @45730
17531 /* 45730 */ GIM_Try, /*On fail goto*//*Label 1282*/ GIMT_Encode4(45854),
17532 /* 45735 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17533 /* 45738 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
17534 /* 45741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17535 /* 45745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17536 /* 45749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1283*/ GIMT_Encode4(45782), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips), // Rule ID 67 //
17537 /* 45756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17538 /* 45760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17539 /* 45764 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
17540 /* 45768 */ // MIs[1] Operand 1
17541 /* 45768 */ // No operand predicates
17542 /* 45768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17543 /* 45770 */ // (rotr:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (ROTR:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
17544 /* 45770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ROTR),
17545 /* 45773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17546 /* 45775 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17547 /* 45777 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
17548 /* 45780 */ GIR_RootConstrainSelectedInstOperands,
17549 /* 45781 */ // GIR_Coverage, 67,
17550 /* 45781 */ GIR_EraseRootFromParent_Done,
17551 /* 45782 */ // Label 1283: @45782
17552 /* 45782 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1284*/ GIMT_Encode4(45815), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1103 //
17553 /* 45789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17554 /* 45793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17555 /* 45797 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
17556 /* 45801 */ // MIs[1] Operand 1
17557 /* 45801 */ // No operand predicates
17558 /* 45801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17559 /* 45803 */ // (rotr:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt5>>:$shamt) => (ROTR_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, (imm:{ *:[i32] }):$shamt)
17560 /* 45803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ROTR_MM),
17561 /* 45806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17562 /* 45808 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17563 /* 45810 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
17564 /* 45813 */ GIR_RootConstrainSelectedInstOperands,
17565 /* 45814 */ // GIR_Coverage, 1103,
17566 /* 45814 */ GIR_EraseRootFromParent_Done,
17567 /* 45815 */ // Label 1284: @45815
17568 /* 45815 */ GIM_Try, /*On fail goto*//*Label 1285*/ GIMT_Encode4(45853),
17569 /* 45820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17570 /* 45824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1286*/ GIMT_Encode4(45838), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips), // Rule ID 68 //
17571 /* 45831 */ // (rotr:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (ROTRV:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
17572 /* 45831 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ROTRV),
17573 /* 45836 */ GIR_RootConstrainSelectedInstOperands,
17574 /* 45837 */ // GIR_Coverage, 68,
17575 /* 45837 */ GIR_Done,
17576 /* 45838 */ // Label 1286: @45838
17577 /* 45838 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1287*/ GIMT_Encode4(45852), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1104 //
17578 /* 45845 */ // (rotr:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (ROTRV_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
17579 /* 45845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::ROTRV_MM),
17580 /* 45850 */ GIR_RootConstrainSelectedInstOperands,
17581 /* 45851 */ // GIR_Coverage, 1104,
17582 /* 45851 */ GIR_Done,
17583 /* 45852 */ // Label 1287: @45852
17584 /* 45852 */ GIM_Reject,
17585 /* 45853 */ // Label 1285: @45853
17586 /* 45853 */ GIM_Reject,
17587 /* 45854 */ // Label 1282: @45854
17588 /* 45854 */ GIM_Reject,
17589 /* 45855 */ // Label 1280: @45855
17590 /* 45855 */ GIM_Try, /*On fail goto*//*Label 1288*/ GIMT_Encode4(45992),
17591 /* 45860 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17592 /* 45863 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
17593 /* 45866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17594 /* 45870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17595 /* 45874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1289*/ GIMT_Encode4(45907), GIMT_Encode2(GIFBS_HasMips64r2_HasStdEnc_NotInMicroMips), // Rule ID 250 //
17596 /* 45881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17597 /* 45885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
17598 /* 45889 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt6),
17599 /* 45893 */ // MIs[1] Operand 1
17600 /* 45893 */ // No operand predicates
17601 /* 45893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17602 /* 45895 */ // (rotr:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] })<<P:Predicate_immZExt6>>:$shamt) => (DROTR:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, (imm:{ *:[i32] }):$shamt)
17603 /* 45895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DROTR),
17604 /* 45898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17605 /* 45900 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17606 /* 45902 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
17607 /* 45905 */ GIR_RootConstrainSelectedInstOperands,
17608 /* 45906 */ // GIR_Coverage, 250,
17609 /* 45906 */ GIR_EraseRootFromParent_Done,
17610 /* 45907 */ // Label 1289: @45907
17611 /* 45907 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1290*/ GIMT_Encode4(45973), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit), // Rule ID 1685 //
17612 /* 45914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17613 /* 45918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
17614 /* 45922 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
17615 /* 45926 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
17616 /* 45931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17617 /* 45933 */ // (rotr:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (trunc:{ *:[i32] } GPR64:{ *:[i64] }:$rs)) => (DROTRV:{ *:[i64] } GPR64:{ *:[i64] }:$rt, (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$rs, sub_32:{ *:[i32] }))
17618 /* 45933 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17619 /* 45936 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17620 /* 45940 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17621 /* 45945 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // rs
17622 /* 45951 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(Mips::DSPRRegClassID),
17623 /* 45956 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(Mips::GPR64RegClassID),
17624 /* 45961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DROTRV),
17625 /* 45964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17626 /* 45966 */ GIR_RootToRootCopy, /*OpIdx*/1, // rt
17627 /* 45968 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17628 /* 45971 */ GIR_RootConstrainSelectedInstOperands,
17629 /* 45972 */ // GIR_Coverage, 1685,
17630 /* 45972 */ GIR_EraseRootFromParent_Done,
17631 /* 45973 */ // Label 1290: @45973
17632 /* 45973 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1291*/ GIMT_Encode4(45991), GIMT_Encode2(GIFBS_HasMips64r2_HasStdEnc_NotInMicroMips), // Rule ID 251 //
17633 /* 45980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17634 /* 45984 */ // (rotr:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs) => (DROTRV:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rt, GPR32Opnd:{ *:[i32] }:$rs)
17635 /* 45984 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DROTRV),
17636 /* 45989 */ GIR_RootConstrainSelectedInstOperands,
17637 /* 45990 */ // GIR_Coverage, 251,
17638 /* 45990 */ GIR_Done,
17639 /* 45991 */ // Label 1291: @45991
17640 /* 45991 */ GIM_Reject,
17641 /* 45992 */ // Label 1288: @45992
17642 /* 45992 */ GIM_Reject,
17643 /* 45993 */ // Label 1281: @45993
17644 /* 45993 */ GIM_Reject,
17645 /* 45994 */ // Label 42: @45994
17646 /* 45994 */ GIM_Try, /*On fail goto*//*Label 1292*/ GIMT_Encode4(48487),
17647 /* 45999 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
17648 /* 46002 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1295*/ GIMT_Encode4(48486),
17649 /* 46013 */ /*GILLT_s32*//*Label 1293*/ GIMT_Encode4(46021),
17650 /* 46017 */ /*GILLT_s64*//*Label 1294*/ GIMT_Encode4(47948),
17651 /* 46021 */ // Label 1293: @46021
17652 /* 46021 */ GIM_Try, /*On fail goto*//*Label 1296*/ GIMT_Encode4(47947),
17653 /* 46026 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
17654 /* 46029 */ GIM_Try, /*On fail goto*//*Label 1297*/ GIMT_Encode4(46259),
17655 /* 46034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17656 /* 46038 */ GIM_Try, /*On fail goto*//*Label 1298*/ GIMT_Encode4(46191),
17657 /* 46043 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
17658 /* 46048 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
17659 /* 46052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1299*/ GIMT_Encode4(46121), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_IsNotSingleFloat_NotFP64bit), // Rule ID 1521 //
17660 /* 46059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17661 /* 46063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
17662 /* 46067 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
17663 /* 46071 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17664 /* 46075 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FPTRUNC),
17665 /* 46079 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
17666 /* 46083 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
17667 /* 46088 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
17668 /* 46090 */ // (setcc:{ *:[i32] } (bitconvert:{ *:[i32] } (fpround:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src)), 0:{ *:[i32] }, SETLT:{ *:[Other] }) => (SLTi:{ *:[i32] } (MFHC1_D32:{ *:[i32] } AFGR64Opnd:{ *:[f64] }:$src), 0:{ *:[i32] })
17669 /* 46090 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17670 /* 46093 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::MFHC1_D32),
17671 /* 46097 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17672 /* 46102 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/2, /*OpIdx*/1, // src
17673 /* 46106 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17674 /* 46108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTi),
17675 /* 46111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
17676 /* 46113 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17677 /* 46116 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
17678 /* 46119 */ GIR_RootConstrainSelectedInstOperands,
17679 /* 46120 */ // GIR_Coverage, 1521,
17680 /* 46120 */ GIR_EraseRootFromParent_Done,
17681 /* 46121 */ // Label 1299: @46121
17682 /* 46121 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1300*/ GIMT_Encode4(46190), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat), // Rule ID 1522 //
17683 /* 46128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17684 /* 46132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
17685 /* 46136 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
17686 /* 46140 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
17687 /* 46144 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_FPTRUNC),
17688 /* 46148 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
17689 /* 46152 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
17690 /* 46157 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
17691 /* 46159 */ // (setcc:{ *:[i32] } (bitconvert:{ *:[i32] } (fpround:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src)), 0:{ *:[i32] }, SETLT:{ *:[Other] }) => (SLTi:{ *:[i32] } (MFHC1_D64:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$src), 0:{ *:[i32] })
17692 /* 46159 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17693 /* 46162 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::MFHC1_D64),
17694 /* 46166 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17695 /* 46171 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/2, /*OpIdx*/1, // src
17696 /* 46175 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17697 /* 46177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTi),
17698 /* 46180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
17699 /* 46182 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17700 /* 46185 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
17701 /* 46188 */ GIR_RootConstrainSelectedInstOperands,
17702 /* 46189 */ // GIR_Coverage, 1522,
17703 /* 46189 */ GIR_EraseRootFromParent_Done,
17704 /* 46190 */ // Label 1300: @46190
17705 /* 46190 */ GIM_Reject,
17706 /* 46191 */ // Label 1298: @46191
17707 /* 46191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1301*/ GIMT_Encode4(46223), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1437 //
17708 /* 46198 */ // MIs[0] Operand 1
17709 /* 46198 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
17710 /* 46203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17711 /* 46207 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
17712 /* 46211 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) => (SLTiu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 1:{ *:[i32] })
17713 /* 46211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu),
17714 /* 46214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
17715 /* 46216 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
17716 /* 46218 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
17717 /* 46221 */ GIR_RootConstrainSelectedInstOperands,
17718 /* 46222 */ // GIR_Coverage, 1437,
17719 /* 46222 */ GIR_EraseRootFromParent_Done,
17720 /* 46223 */ // Label 1301: @46223
17721 /* 46223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1302*/ GIMT_Encode4(46258), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1438 //
17722 /* 46230 */ // MIs[0] Operand 1
17723 /* 46230 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
17724 /* 46235 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17725 /* 46239 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
17726 /* 46243 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }) => (SLTu:{ *:[i32] } ZERO:{ *:[i32] }, GPR32:{ *:[i32] }:$lhs)
17727 /* 46243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu),
17728 /* 46246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17729 /* 46248 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
17730 /* 46254 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
17731 /* 46256 */ GIR_RootConstrainSelectedInstOperands,
17732 /* 46257 */ // GIR_Coverage, 1438,
17733 /* 46257 */ GIR_EraseRootFromParent_Done,
17734 /* 46258 */ // Label 1302: @46258
17735 /* 46258 */ GIM_Reject,
17736 /* 46259 */ // Label 1297: @46259
17737 /* 46259 */ GIM_Try, /*On fail goto*//*Label 1303*/ GIMT_Encode4(46386),
17738 /* 46264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17739 /* 46268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1304*/ GIMT_Encode4(46300), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2017 //
17740 /* 46275 */ // MIs[0] Operand 1
17741 /* 46275 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
17742 /* 46280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17743 /* 46284 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
17744 /* 46288 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) => (SltiuCCRxImmX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, 1:{ *:[i32] })
17745 /* 46288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltiuCCRxImmX16),
17746 /* 46291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
17747 /* 46293 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
17748 /* 46295 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
17749 /* 46298 */ GIR_RootConstrainSelectedInstOperands,
17750 /* 46299 */ // GIR_Coverage, 2017,
17751 /* 46299 */ GIR_EraseRootFromParent_Done,
17752 /* 46300 */ // Label 1304: @46300
17753 /* 46300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1305*/ GIMT_Encode4(46385), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2019 //
17754 /* 46307 */ // MIs[0] Operand 1
17755 /* 46307 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
17756 /* 46312 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
17757 /* 46316 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/3, GIMT_Encode8(18446744073709518847u),
17758 /* 46327 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, -32769:{ *:[i32] }, SETGT:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltiCCRxImmX16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, -32768:{ *:[i32] }), (LiRxImmX16:{ *:[i32] } 1:{ *:[i32] }))
17759 /* 46327 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17760 /* 46330 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
17761 /* 46334 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17762 /* 46339 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
17763 /* 46342 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17764 /* 46344 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17765 /* 46347 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltiCCRxImmX16),
17766 /* 46351 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17767 /* 46356 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
17768 /* 46360 */ GIR_AddImm, /*InsnID*/1, /*Imm*/GIMT_Encode8(18446744073709518848u),
17769 /* 46370 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17770 /* 46372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
17771 /* 46375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
17772 /* 46377 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17773 /* 46380 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
17774 /* 46383 */ GIR_RootConstrainSelectedInstOperands,
17775 /* 46384 */ // GIR_Coverage, 2019,
17776 /* 46384 */ GIR_EraseRootFromParent_Done,
17777 /* 46385 */ // Label 1305: @46385
17778 /* 46385 */ GIM_Reject,
17779 /* 46386 */ // Label 1303: @46386
17780 /* 46386 */ GIM_Try, /*On fail goto*//*Label 1306*/ GIMT_Encode4(46525),
17781 /* 46391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17782 /* 46395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1307*/ GIMT_Encode4(46427), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2341 //
17783 /* 46402 */ // MIs[0] Operand 1
17784 /* 46402 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
17785 /* 46407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17786 /* 46411 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
17787 /* 46415 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) => (SLTiu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 1:{ *:[i32] })
17788 /* 46415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu_MM),
17789 /* 46418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
17790 /* 46420 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
17791 /* 46422 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
17792 /* 46425 */ GIR_RootConstrainSelectedInstOperands,
17793 /* 46426 */ // GIR_Coverage, 2341,
17794 /* 46426 */ GIR_EraseRootFromParent_Done,
17795 /* 46427 */ // Label 1307: @46427
17796 /* 46427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1308*/ GIMT_Encode4(46462), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2342 //
17797 /* 46434 */ // MIs[0] Operand 1
17798 /* 46434 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
17799 /* 46439 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17800 /* 46443 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
17801 /* 46447 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }) => (SLTu_MM:{ *:[i32] } ZERO:{ *:[i32] }, GPR32:{ *:[i32] }:$lhs)
17802 /* 46447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
17803 /* 46450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17804 /* 46452 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
17805 /* 46458 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
17806 /* 46460 */ GIR_RootConstrainSelectedInstOperands,
17807 /* 46461 */ // GIR_Coverage, 2342,
17808 /* 46461 */ GIR_EraseRootFromParent_Done,
17809 /* 46462 */ // Label 1308: @46462
17810 /* 46462 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1309*/ GIMT_Encode4(46493), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 49 //
17811 /* 46469 */ // MIs[0] Operand 1
17812 /* 46469 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
17813 /* 46474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17814 /* 46478 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17815 /* 46482 */ // (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETLT:{ *:[Other] }) => (SLT:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
17816 /* 46482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT),
17817 /* 46485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17818 /* 46487 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
17819 /* 46489 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
17820 /* 46491 */ GIR_RootConstrainSelectedInstOperands,
17821 /* 46492 */ // GIR_Coverage, 49,
17822 /* 46492 */ GIR_EraseRootFromParent_Done,
17823 /* 46493 */ // Label 1309: @46493
17824 /* 46493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1310*/ GIMT_Encode4(46524), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 50 //
17825 /* 46500 */ // MIs[0] Operand 1
17826 /* 46500 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
17827 /* 46505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17828 /* 46509 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17829 /* 46513 */ // (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETULT:{ *:[Other] }) => (SLTu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
17830 /* 46513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu),
17831 /* 46516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17832 /* 46518 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
17833 /* 46520 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
17834 /* 46522 */ GIR_RootConstrainSelectedInstOperands,
17835 /* 46523 */ // GIR_Coverage, 50,
17836 /* 46523 */ GIR_EraseRootFromParent_Done,
17837 /* 46524 */ // Label 1310: @46524
17838 /* 46524 */ GIM_Reject,
17839 /* 46525 */ // Label 1306: @46525
17840 /* 46525 */ GIM_Try, /*On fail goto*//*Label 1311*/ GIMT_Encode4(46992),
17841 /* 46530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17842 /* 46534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1312*/ GIMT_Encode4(46565), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1097 //
17843 /* 46541 */ // MIs[0] Operand 1
17844 /* 46541 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
17845 /* 46546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17846 /* 46550 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17847 /* 46554 */ // (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETLT:{ *:[Other] }) => (SLT_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
17848 /* 46554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
17849 /* 46557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17850 /* 46559 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
17851 /* 46561 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
17852 /* 46563 */ GIR_RootConstrainSelectedInstOperands,
17853 /* 46564 */ // GIR_Coverage, 1097,
17854 /* 46564 */ GIR_EraseRootFromParent_Done,
17855 /* 46565 */ // Label 1312: @46565
17856 /* 46565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1313*/ GIMT_Encode4(46596), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1098 //
17857 /* 46572 */ // MIs[0] Operand 1
17858 /* 46572 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
17859 /* 46577 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17860 /* 46581 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17861 /* 46585 */ // (setcc:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt, SETULT:{ *:[Other] }) => (SLTu_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
17862 /* 46585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
17863 /* 46588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17864 /* 46590 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
17865 /* 46592 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
17866 /* 46594 */ GIR_RootConstrainSelectedInstOperands,
17867 /* 46595 */ // GIR_Coverage, 1098,
17868 /* 46595 */ GIR_EraseRootFromParent_Done,
17869 /* 46596 */ // Label 1313: @46596
17870 /* 46596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1314*/ GIMT_Encode4(46651), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1439 //
17871 /* 46603 */ // MIs[0] Operand 1
17872 /* 46603 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
17873 /* 46608 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17874 /* 46612 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17875 /* 46616 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) => (SLTiu:{ *:[i32] } (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
17876 /* 46616 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17877 /* 46619 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
17878 /* 46623 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17879 /* 46628 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
17880 /* 46632 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
17881 /* 46636 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17882 /* 46638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu),
17883 /* 46641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
17884 /* 46643 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17885 /* 46646 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
17886 /* 46649 */ GIR_RootConstrainSelectedInstOperands,
17887 /* 46650 */ // GIR_Coverage, 1439,
17888 /* 46650 */ GIR_EraseRootFromParent_Done,
17889 /* 46651 */ // Label 1314: @46651
17890 /* 46651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1315*/ GIMT_Encode4(46709), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1440 //
17891 /* 46658 */ // MIs[0] Operand 1
17892 /* 46658 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
17893 /* 46663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17894 /* 46667 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17895 /* 46671 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) => (SLTu:{ *:[i32] } ZERO:{ *:[i32] }, (XOR:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs))
17896 /* 46671 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17897 /* 46674 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
17898 /* 46678 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17899 /* 46683 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
17900 /* 46687 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
17901 /* 46691 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17902 /* 46693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu),
17903 /* 46696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17904 /* 46698 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
17905 /* 46704 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17906 /* 46707 */ GIR_RootConstrainSelectedInstOperands,
17907 /* 46708 */ // GIR_Coverage, 1440,
17908 /* 46708 */ GIR_EraseRootFromParent_Done,
17909 /* 46709 */ // Label 1315: @46709
17910 /* 46709 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1316*/ GIMT_Encode4(46764), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1441 //
17911 /* 46716 */ // MIs[0] Operand 1
17912 /* 46716 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
17913 /* 46721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17914 /* 46725 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17915 /* 46729 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), 1:{ *:[i32] })
17916 /* 46729 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17917 /* 46732 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
17918 /* 46736 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17919 /* 46741 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
17920 /* 46745 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
17921 /* 46749 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17922 /* 46751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
17923 /* 46754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
17924 /* 46756 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17925 /* 46759 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
17926 /* 46762 */ GIR_RootConstrainSelectedInstOperands,
17927 /* 46763 */ // GIR_Coverage, 1441,
17928 /* 46763 */ GIR_EraseRootFromParent_Done,
17929 /* 46764 */ // Label 1316: @46764
17930 /* 46764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1317*/ GIMT_Encode4(46819), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1442 //
17931 /* 46771 */ // MIs[0] Operand 1
17932 /* 46771 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
17933 /* 46776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17934 /* 46780 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17935 /* 46784 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), 1:{ *:[i32] })
17936 /* 46784 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17937 /* 46787 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
17938 /* 46791 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17939 /* 46796 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
17940 /* 46800 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
17941 /* 46804 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17942 /* 46806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
17943 /* 46809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
17944 /* 46811 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17945 /* 46814 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
17946 /* 46817 */ GIR_RootConstrainSelectedInstOperands,
17947 /* 46818 */ // GIR_Coverage, 1442,
17948 /* 46818 */ GIR_EraseRootFromParent_Done,
17949 /* 46819 */ // Label 1317: @46819
17950 /* 46819 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1318*/ GIMT_Encode4(46850), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1443 //
17951 /* 46826 */ // MIs[0] Operand 1
17952 /* 46826 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
17953 /* 46831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17954 /* 46835 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17955 /* 46839 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) => (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs)
17956 /* 46839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT),
17957 /* 46842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17958 /* 46844 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
17959 /* 46846 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
17960 /* 46848 */ GIR_RootConstrainSelectedInstOperands,
17961 /* 46849 */ // GIR_Coverage, 1443,
17962 /* 46849 */ GIR_EraseRootFromParent_Done,
17963 /* 46850 */ // Label 1318: @46850
17964 /* 46850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1319*/ GIMT_Encode4(46881), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1444 //
17965 /* 46857 */ // MIs[0] Operand 1
17966 /* 46857 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
17967 /* 46862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17968 /* 46866 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17969 /* 46870 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) => (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs)
17970 /* 46870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu),
17971 /* 46873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
17972 /* 46875 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
17973 /* 46877 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
17974 /* 46879 */ GIR_RootConstrainSelectedInstOperands,
17975 /* 46880 */ // GIR_Coverage, 1444,
17976 /* 46880 */ GIR_EraseRootFromParent_Done,
17977 /* 46881 */ // Label 1319: @46881
17978 /* 46881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1320*/ GIMT_Encode4(46936), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1445 //
17979 /* 46888 */ // MIs[0] Operand 1
17980 /* 46888 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
17981 /* 46893 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17982 /* 46897 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
17983 /* 46901 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLT:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
17984 /* 46901 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17985 /* 46904 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
17986 /* 46908 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17987 /* 46913 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
17988 /* 46917 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
17989 /* 46921 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17990 /* 46923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
17991 /* 46926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
17992 /* 46928 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17993 /* 46931 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
17994 /* 46934 */ GIR_RootConstrainSelectedInstOperands,
17995 /* 46935 */ // GIR_Coverage, 1445,
17996 /* 46935 */ GIR_EraseRootFromParent_Done,
17997 /* 46936 */ // Label 1320: @46936
17998 /* 46936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1321*/ GIMT_Encode4(46991), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 1446 //
17999 /* 46943 */ // MIs[0] Operand 1
18000 /* 46943 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
18001 /* 46948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18002 /* 46952 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18003 /* 46956 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLTu:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
18004 /* 46956 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18005 /* 46959 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
18006 /* 46963 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18007 /* 46968 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18008 /* 46972 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18009 /* 46976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18010 /* 46978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18011 /* 46981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18012 /* 46983 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18013 /* 46986 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18014 /* 46989 */ GIR_RootConstrainSelectedInstOperands,
18015 /* 46990 */ // GIR_Coverage, 1446,
18016 /* 46990 */ GIR_EraseRootFromParent_Done,
18017 /* 46991 */ // Label 1321: @46991
18018 /* 46991 */ GIM_Reject,
18019 /* 46992 */ // Label 1311: @46992
18020 /* 46992 */ GIM_Try, /*On fail goto*//*Label 1322*/ GIMT_Encode4(47541),
18021 /* 46997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18022 /* 47001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1323*/ GIMT_Encode4(47056), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2016 //
18023 /* 47008 */ // MIs[0] Operand 1
18024 /* 47008 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18025 /* 47013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18026 /* 47017 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18027 /* 47021 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) => (SltiuCCRxImmX16:{ *:[i32] } (XorRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs), 1:{ *:[i32] })
18028 /* 47021 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18029 /* 47024 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
18030 /* 47028 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18031 /* 47033 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18032 /* 47037 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18033 /* 47041 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18034 /* 47043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltiuCCRxImmX16),
18035 /* 47046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
18036 /* 47048 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18037 /* 47051 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18038 /* 47054 */ GIR_RootConstrainSelectedInstOperands,
18039 /* 47055 */ // GIR_Coverage, 2016,
18040 /* 47055 */ GIR_EraseRootFromParent_Done,
18041 /* 47056 */ // Label 1323: @47056
18042 /* 47056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1324*/ GIMT_Encode4(47128), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2018 //
18043 /* 47063 */ // MIs[0] Operand 1
18044 /* 47063 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
18045 /* 47068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18046 /* 47072 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18047 /* 47076 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs), (LiRxImmX16:{ *:[i32] } 1:{ *:[i32] }))
18048 /* 47076 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
18049 /* 47079 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
18050 /* 47083 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18051 /* 47088 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
18052 /* 47091 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18053 /* 47093 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18054 /* 47096 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltCCRxRy16),
18055 /* 47100 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18056 /* 47105 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18057 /* 47109 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18058 /* 47113 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18059 /* 47115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
18060 /* 47118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
18061 /* 47120 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18062 /* 47123 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
18063 /* 47126 */ GIR_RootConstrainSelectedInstOperands,
18064 /* 47127 */ // GIR_Coverage, 2018,
18065 /* 47127 */ GIR_EraseRootFromParent_Done,
18066 /* 47128 */ // Label 1324: @47128
18067 /* 47128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1325*/ GIMT_Encode4(47159), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2020 //
18068 /* 47135 */ // MIs[0] Operand 1
18069 /* 47135 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
18070 /* 47140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18071 /* 47144 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18072 /* 47148 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) => (SltCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rhs, CPU16Regs:{ *:[i32] }:$lhs)
18073 /* 47148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltCCRxRy16),
18074 /* 47151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
18075 /* 47153 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
18076 /* 47155 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18077 /* 47157 */ GIR_RootConstrainSelectedInstOperands,
18078 /* 47158 */ // GIR_Coverage, 2020,
18079 /* 47158 */ GIR_EraseRootFromParent_Done,
18080 /* 47159 */ // Label 1325: @47159
18081 /* 47159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1326*/ GIMT_Encode4(47231), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2021 //
18082 /* 47166 */ // MIs[0] Operand 1
18083 /* 47166 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
18084 /* 47171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18085 /* 47175 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18086 /* 47179 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rhs, CPU16Regs:{ *:[i32] }:$lhs), (LiRxImm16:{ *:[i32] } 1:{ *:[i32] }))
18087 /* 47179 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
18088 /* 47182 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImm16),
18089 /* 47186 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18090 /* 47191 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
18091 /* 47194 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18092 /* 47196 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18093 /* 47199 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltCCRxRy16),
18094 /* 47203 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18095 /* 47208 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18096 /* 47212 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18097 /* 47216 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18098 /* 47218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
18099 /* 47221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
18100 /* 47223 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18101 /* 47226 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
18102 /* 47229 */ GIR_RootConstrainSelectedInstOperands,
18103 /* 47230 */ // GIR_Coverage, 2021,
18104 /* 47230 */ GIR_EraseRootFromParent_Done,
18105 /* 47231 */ // Label 1326: @47231
18106 /* 47231 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1327*/ GIMT_Encode4(47262), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2022 //
18107 /* 47238 */ // MIs[0] Operand 1
18108 /* 47238 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
18109 /* 47243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18110 /* 47247 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18111 /* 47251 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETLT:{ *:[Other] }) => (SltCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry)
18112 /* 47251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltCCRxRy16),
18113 /* 47254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
18114 /* 47256 */ GIR_RootToRootCopy, /*OpIdx*/2, // rx
18115 /* 47258 */ GIR_RootToRootCopy, /*OpIdx*/3, // ry
18116 /* 47260 */ GIR_RootConstrainSelectedInstOperands,
18117 /* 47261 */ // GIR_Coverage, 2022,
18118 /* 47261 */ GIR_EraseRootFromParent_Done,
18119 /* 47262 */ // Label 1327: @47262
18120 /* 47262 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1328*/ GIMT_Encode4(47334), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2024 //
18121 /* 47269 */ // MIs[0] Operand 1
18122 /* 47269 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
18123 /* 47274 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18124 /* 47278 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18125 /* 47282 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) => (SltuCCRxRy16:{ *:[i32] } (LiRxImmX16:{ *:[i32] } 0:{ *:[i32] }), (XorRxRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs))
18126 /* 47282 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
18127 /* 47285 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
18128 /* 47289 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18129 /* 47294 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18130 /* 47298 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18131 /* 47302 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18132 /* 47304 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18133 /* 47307 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
18134 /* 47311 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18135 /* 47316 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
18136 /* 47319 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18137 /* 47321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
18138 /* 47324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
18139 /* 47326 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18140 /* 47329 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
18141 /* 47332 */ GIR_RootConstrainSelectedInstOperands,
18142 /* 47333 */ // GIR_Coverage, 2024,
18143 /* 47333 */ GIR_EraseRootFromParent_Done,
18144 /* 47334 */ // Label 1328: @47334
18145 /* 47334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1329*/ GIMT_Encode4(47406), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2025 //
18146 /* 47341 */ // MIs[0] Operand 1
18147 /* 47341 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
18148 /* 47346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18149 /* 47350 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18150 /* 47354 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltuCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs), (LiRxImmX16:{ *:[i32] } 1:{ *:[i32] }))
18151 /* 47354 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
18152 /* 47357 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
18153 /* 47361 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18154 /* 47366 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
18155 /* 47369 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18156 /* 47371 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18157 /* 47374 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
18158 /* 47378 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18159 /* 47383 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18160 /* 47387 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18161 /* 47391 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18162 /* 47393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
18163 /* 47396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
18164 /* 47398 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18165 /* 47401 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
18166 /* 47404 */ GIR_RootConstrainSelectedInstOperands,
18167 /* 47405 */ // GIR_Coverage, 2025,
18168 /* 47405 */ GIR_EraseRootFromParent_Done,
18169 /* 47406 */ // Label 1329: @47406
18170 /* 47406 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1330*/ GIMT_Encode4(47437), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2026 //
18171 /* 47413 */ // MIs[0] Operand 1
18172 /* 47413 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
18173 /* 47418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18174 /* 47422 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18175 /* 47426 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) => (SltuCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rhs, CPU16Regs:{ *:[i32] }:$lhs)
18176 /* 47426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
18177 /* 47429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
18178 /* 47431 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
18179 /* 47433 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18180 /* 47435 */ GIR_RootConstrainSelectedInstOperands,
18181 /* 47436 */ // GIR_Coverage, 2026,
18182 /* 47436 */ GIR_EraseRootFromParent_Done,
18183 /* 47437 */ // Label 1330: @47437
18184 /* 47437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1331*/ GIMT_Encode4(47509), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2027 //
18185 /* 47444 */ // MIs[0] Operand 1
18186 /* 47444 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
18187 /* 47449 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18188 /* 47453 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18189 /* 47457 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$lhs, CPU16Regs:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) => (XorRxRxRy16:{ *:[i32] } (SltuCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rhs, CPU16Regs:{ *:[i32] }:$lhs), (LiRxImmX16:{ *:[i32] } 1:{ *:[i32] }))
18190 /* 47457 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
18191 /* 47460 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::LiRxImmX16),
18192 /* 47464 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18193 /* 47469 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
18194 /* 47472 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18195 /* 47474 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18196 /* 47477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
18197 /* 47481 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18198 /* 47486 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18199 /* 47490 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18200 /* 47494 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18201 /* 47496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XorRxRxRy16),
18202 /* 47499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rz]
18203 /* 47501 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18204 /* 47504 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
18205 /* 47507 */ GIR_RootConstrainSelectedInstOperands,
18206 /* 47508 */ // GIR_Coverage, 2027,
18207 /* 47508 */ GIR_EraseRootFromParent_Done,
18208 /* 47509 */ // Label 1331: @47509
18209 /* 47509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1332*/ GIMT_Encode4(47540), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2028 //
18210 /* 47516 */ // MIs[0] Operand 1
18211 /* 47516 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
18212 /* 47521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18213 /* 47525 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
18214 /* 47529 */ // (setcc:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry, SETULT:{ *:[Other] }) => (SltuCCRxRy16:{ *:[i32] } CPU16Regs:{ *:[i32] }:$rx, CPU16Regs:{ *:[i32] }:$ry)
18215 /* 47529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SltuCCRxRy16),
18216 /* 47532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[cc]
18217 /* 47534 */ GIR_RootToRootCopy, /*OpIdx*/2, // rx
18218 /* 47536 */ GIR_RootToRootCopy, /*OpIdx*/3, // ry
18219 /* 47538 */ GIR_RootConstrainSelectedInstOperands,
18220 /* 47539 */ // GIR_Coverage, 2028,
18221 /* 47539 */ GIR_EraseRootFromParent_Done,
18222 /* 47540 */ // Label 1332: @47540
18223 /* 47540 */ GIM_Reject,
18224 /* 47541 */ // Label 1322: @47541
18225 /* 47541 */ GIM_Try, /*On fail goto*//*Label 1333*/ GIMT_Encode4(47946),
18226 /* 47546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18227 /* 47550 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1334*/ GIMT_Encode4(47605), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2343 //
18228 /* 47557 */ // MIs[0] Operand 1
18229 /* 47557 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18230 /* 47562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18231 /* 47566 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18232 /* 47570 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) => (SLTiu_MM:{ *:[i32] } (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
18233 /* 47570 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18234 /* 47573 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
18235 /* 47577 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18236 /* 47582 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18237 /* 47586 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18238 /* 47590 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18239 /* 47592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu_MM),
18240 /* 47595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18241 /* 47597 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18242 /* 47600 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18243 /* 47603 */ GIR_RootConstrainSelectedInstOperands,
18244 /* 47604 */ // GIR_Coverage, 2343,
18245 /* 47604 */ GIR_EraseRootFromParent_Done,
18246 /* 47605 */ // Label 1334: @47605
18247 /* 47605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1335*/ GIMT_Encode4(47663), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2344 //
18248 /* 47612 */ // MIs[0] Operand 1
18249 /* 47612 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
18250 /* 47617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18251 /* 47621 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18252 /* 47625 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) => (SLTu_MM:{ *:[i32] } ZERO:{ *:[i32] }, (XOR_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs))
18253 /* 47625 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18254 /* 47628 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
18255 /* 47632 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18256 /* 47637 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18257 /* 47641 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18258 /* 47645 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18259 /* 47647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
18260 /* 47650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18261 /* 47652 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO), /*AddRegisterRegFlags*/GIMT_Encode2(0),
18262 /* 47658 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18263 /* 47661 */ GIR_RootConstrainSelectedInstOperands,
18264 /* 47662 */ // GIR_Coverage, 2344,
18265 /* 47662 */ GIR_EraseRootFromParent_Done,
18266 /* 47663 */ // Label 1335: @47663
18267 /* 47663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1336*/ GIMT_Encode4(47718), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2345 //
18268 /* 47670 */ // MIs[0] Operand 1
18269 /* 47670 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
18270 /* 47675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18271 /* 47679 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18272 /* 47683 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) => (XORi_MM:{ *:[i32] } (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), 1:{ *:[i32] })
18273 /* 47683 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18274 /* 47686 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
18275 /* 47690 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18276 /* 47695 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18277 /* 47699 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18278 /* 47703 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18279 /* 47705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi_MM),
18280 /* 47708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18281 /* 47710 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18282 /* 47713 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18283 /* 47716 */ GIR_RootConstrainSelectedInstOperands,
18284 /* 47717 */ // GIR_Coverage, 2345,
18285 /* 47717 */ GIR_EraseRootFromParent_Done,
18286 /* 47718 */ // Label 1336: @47718
18287 /* 47718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1337*/ GIMT_Encode4(47773), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2346 //
18288 /* 47725 */ // MIs[0] Operand 1
18289 /* 47725 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
18290 /* 47730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18291 /* 47734 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18292 /* 47738 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) => (XORi_MM:{ *:[i32] } (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs), 1:{ *:[i32] })
18293 /* 47738 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18294 /* 47741 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
18295 /* 47745 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18296 /* 47750 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18297 /* 47754 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18298 /* 47758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18299 /* 47760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi_MM),
18300 /* 47763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18301 /* 47765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18302 /* 47768 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18303 /* 47771 */ GIR_RootConstrainSelectedInstOperands,
18304 /* 47772 */ // GIR_Coverage, 2346,
18305 /* 47772 */ GIR_EraseRootFromParent_Done,
18306 /* 47773 */ // Label 1337: @47773
18307 /* 47773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1338*/ GIMT_Encode4(47804), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2347 //
18308 /* 47780 */ // MIs[0] Operand 1
18309 /* 47780 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
18310 /* 47785 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18311 /* 47789 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18312 /* 47793 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) => (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs)
18313 /* 47793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
18314 /* 47796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18315 /* 47798 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
18316 /* 47800 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18317 /* 47802 */ GIR_RootConstrainSelectedInstOperands,
18318 /* 47803 */ // GIR_Coverage, 2347,
18319 /* 47803 */ GIR_EraseRootFromParent_Done,
18320 /* 47804 */ // Label 1338: @47804
18321 /* 47804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1339*/ GIMT_Encode4(47835), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2348 //
18322 /* 47811 */ // MIs[0] Operand 1
18323 /* 47811 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
18324 /* 47816 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18325 /* 47820 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18326 /* 47824 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) => (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rhs, GPR32:{ *:[i32] }:$lhs)
18327 /* 47824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
18328 /* 47827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18329 /* 47829 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
18330 /* 47831 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18331 /* 47833 */ GIR_RootConstrainSelectedInstOperands,
18332 /* 47834 */ // GIR_Coverage, 2348,
18333 /* 47834 */ GIR_EraseRootFromParent_Done,
18334 /* 47835 */ // Label 1339: @47835
18335 /* 47835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1340*/ GIMT_Encode4(47890), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2349 //
18336 /* 47842 */ // MIs[0] Operand 1
18337 /* 47842 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
18338 /* 47847 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18339 /* 47851 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18340 /* 47855 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) => (XORi_MM:{ *:[i32] } (SLT_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
18341 /* 47855 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18342 /* 47858 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
18343 /* 47862 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18344 /* 47867 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18345 /* 47871 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18346 /* 47875 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18347 /* 47877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi_MM),
18348 /* 47880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18349 /* 47882 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18350 /* 47885 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18351 /* 47888 */ GIR_RootConstrainSelectedInstOperands,
18352 /* 47889 */ // GIR_Coverage, 2349,
18353 /* 47889 */ GIR_EraseRootFromParent_Done,
18354 /* 47890 */ // Label 1340: @47890
18355 /* 47890 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1341*/ GIMT_Encode4(47945), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2350 //
18356 /* 47897 */ // MIs[0] Operand 1
18357 /* 47897 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
18358 /* 47902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18359 /* 47906 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18360 /* 47910 */ // (setcc:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) => (XORi_MM:{ *:[i32] } (SLTu_MM:{ *:[i32] } GPR32:{ *:[i32] }:$lhs, GPR32:{ *:[i32] }:$rhs), 1:{ *:[i32] })
18361 /* 47910 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18362 /* 47913 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
18363 /* 47917 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18364 /* 47922 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18365 /* 47926 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18366 /* 47930 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18367 /* 47932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi_MM),
18368 /* 47935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18369 /* 47937 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18370 /* 47940 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18371 /* 47943 */ GIR_RootConstrainSelectedInstOperands,
18372 /* 47944 */ // GIR_Coverage, 2350,
18373 /* 47944 */ GIR_EraseRootFromParent_Done,
18374 /* 47945 */ // Label 1341: @47945
18375 /* 47945 */ GIM_Reject,
18376 /* 47946 */ // Label 1333: @47946
18377 /* 47946 */ GIM_Reject,
18378 /* 47947 */ // Label 1296: @47947
18379 /* 47947 */ GIM_Reject,
18380 /* 47948 */ // Label 1294: @47948
18381 /* 47948 */ GIM_Try, /*On fail goto*//*Label 1342*/ GIMT_Encode4(48485),
18382 /* 47953 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
18383 /* 47956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
18384 /* 47960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1343*/ GIMT_Encode4(47992), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1667 //
18385 /* 47967 */ // MIs[0] Operand 1
18386 /* 47967 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18387 /* 47972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18388 /* 47976 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18389 /* 47980 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETEQ:{ *:[Other] }) => (SLTiu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 1:{ *:[i64] })
18390 /* 47980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu64),
18391 /* 47983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18392 /* 47985 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18393 /* 47987 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18394 /* 47990 */ GIR_RootConstrainSelectedInstOperands,
18395 /* 47991 */ // GIR_Coverage, 1667,
18396 /* 47991 */ GIR_EraseRootFromParent_Done,
18397 /* 47992 */ // Label 1343: @47992
18398 /* 47992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1344*/ GIMT_Encode4(48027), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1668 //
18399 /* 47999 */ // MIs[0] Operand 1
18400 /* 47999 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
18401 /* 48004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18402 /* 48008 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
18403 /* 48012 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, 0:{ *:[i64] }, SETNE:{ *:[Other] }) => (SLTu64:{ *:[i32] } ZERO_64:{ *:[i64] }, GPR64:{ *:[i64] }:$lhs)
18404 /* 48012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
18405 /* 48015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18406 /* 48017 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
18407 /* 48023 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18408 /* 48025 */ GIR_RootConstrainSelectedInstOperands,
18409 /* 48026 */ // GIR_Coverage, 1668,
18410 /* 48026 */ GIR_EraseRootFromParent_Done,
18411 /* 48027 */ // Label 1344: @48027
18412 /* 48027 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1345*/ GIMT_Encode4(48058), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 232 //
18413 /* 48034 */ // MIs[0] Operand 1
18414 /* 48034 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLT),
18415 /* 48039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18416 /* 48043 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18417 /* 48047 */ // (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETLT:{ *:[Other] }) => (SLT64:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
18418 /* 48047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT64),
18419 /* 48050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18420 /* 48052 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
18421 /* 48054 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
18422 /* 48056 */ GIR_RootConstrainSelectedInstOperands,
18423 /* 48057 */ // GIR_Coverage, 232,
18424 /* 48057 */ GIR_EraseRootFromParent_Done,
18425 /* 48058 */ // Label 1345: @48058
18426 /* 48058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1346*/ GIMT_Encode4(48089), GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode), // Rule ID 233 //
18427 /* 48065 */ // MIs[0] Operand 1
18428 /* 48065 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULT),
18429 /* 48070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18430 /* 48074 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18431 /* 48078 */ // (setcc:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt, SETULT:{ *:[Other] }) => (SLTu64:{ *:[i32] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
18432 /* 48078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
18433 /* 48081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18434 /* 48083 */ GIR_RootToRootCopy, /*OpIdx*/2, // rs
18435 /* 48085 */ GIR_RootToRootCopy, /*OpIdx*/3, // rt
18436 /* 48087 */ GIR_RootConstrainSelectedInstOperands,
18437 /* 48088 */ // GIR_Coverage, 233,
18438 /* 48088 */ GIR_EraseRootFromParent_Done,
18439 /* 48089 */ // Label 1346: @48089
18440 /* 48089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1347*/ GIMT_Encode4(48144), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1669 //
18441 /* 48096 */ // MIs[0] Operand 1
18442 /* 48096 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
18443 /* 48101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18444 /* 48105 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18445 /* 48109 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }) => (SLTiu64:{ *:[i32] } (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), 1:{ *:[i64] })
18446 /* 48109 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
18447 /* 48112 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
18448 /* 48116 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18449 /* 48121 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18450 /* 48125 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18451 /* 48129 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18452 /* 48131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTiu64),
18453 /* 48134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18454 /* 48136 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18455 /* 48139 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18456 /* 48142 */ GIR_RootConstrainSelectedInstOperands,
18457 /* 48143 */ // GIR_Coverage, 1669,
18458 /* 48143 */ GIR_EraseRootFromParent_Done,
18459 /* 48144 */ // Label 1347: @48144
18460 /* 48144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1348*/ GIMT_Encode4(48202), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1670 //
18461 /* 48151 */ // MIs[0] Operand 1
18462 /* 48151 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
18463 /* 48156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18464 /* 48160 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18465 /* 48164 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }) => (SLTu64:{ *:[i32] } ZERO_64:{ *:[i64] }, (XOR64:{ *:[i64] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs))
18466 /* 48164 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
18467 /* 48167 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
18468 /* 48171 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18469 /* 48176 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18470 /* 48180 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18471 /* 48184 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18472 /* 48186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
18473 /* 48189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18474 /* 48191 */ GIR_AddRegister, /*InsnID*/0, GIMT_Encode2(Mips::ZERO_64), /*AddRegisterRegFlags*/GIMT_Encode2(0),
18475 /* 48197 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18476 /* 48200 */ GIR_RootConstrainSelectedInstOperands,
18477 /* 48201 */ // GIR_Coverage, 1670,
18478 /* 48201 */ GIR_EraseRootFromParent_Done,
18479 /* 48202 */ // Label 1348: @48202
18480 /* 48202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1349*/ GIMT_Encode4(48257), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1671 //
18481 /* 48209 */ // MIs[0] Operand 1
18482 /* 48209 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
18483 /* 48214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18484 /* 48218 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18485 /* 48222 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), 1:{ *:[i32] })
18486 /* 48222 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18487 /* 48225 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
18488 /* 48229 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18489 /* 48234 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18490 /* 48238 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18491 /* 48242 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18492 /* 48244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18493 /* 48247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18494 /* 48249 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18495 /* 48252 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18496 /* 48255 */ GIR_RootConstrainSelectedInstOperands,
18497 /* 48256 */ // GIR_Coverage, 1671,
18498 /* 48256 */ GIR_EraseRootFromParent_Done,
18499 /* 48257 */ // Label 1349: @48257
18500 /* 48257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1350*/ GIMT_Encode4(48312), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1672 //
18501 /* 48264 */ // MIs[0] Operand 1
18502 /* 48264 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
18503 /* 48269 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18504 /* 48273 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18505 /* 48277 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs), 1:{ *:[i32] })
18506 /* 48277 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18507 /* 48280 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
18508 /* 48284 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18509 /* 48289 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18510 /* 48293 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18511 /* 48297 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18512 /* 48299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18513 /* 48302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18514 /* 48304 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18515 /* 48307 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18516 /* 48310 */ GIR_RootConstrainSelectedInstOperands,
18517 /* 48311 */ // GIR_Coverage, 1672,
18518 /* 48311 */ GIR_EraseRootFromParent_Done,
18519 /* 48312 */ // Label 1350: @48312
18520 /* 48312 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1351*/ GIMT_Encode4(48343), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1673 //
18521 /* 48319 */ // MIs[0] Operand 1
18522 /* 48319 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
18523 /* 48324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18524 /* 48328 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18525 /* 48332 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGT:{ *:[Other] }) => (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs)
18526 /* 48332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLT64),
18527 /* 48335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18528 /* 48337 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
18529 /* 48339 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18530 /* 48341 */ GIR_RootConstrainSelectedInstOperands,
18531 /* 48342 */ // GIR_Coverage, 1673,
18532 /* 48342 */ GIR_EraseRootFromParent_Done,
18533 /* 48343 */ // Label 1351: @48343
18534 /* 48343 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1352*/ GIMT_Encode4(48374), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1674 //
18535 /* 48350 */ // MIs[0] Operand 1
18536 /* 48350 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
18537 /* 48355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18538 /* 48359 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18539 /* 48363 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGT:{ *:[Other] }) => (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$rhs, GPR64:{ *:[i64] }:$lhs)
18540 /* 48363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
18541 /* 48366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
18542 /* 48368 */ GIR_RootToRootCopy, /*OpIdx*/3, // rhs
18543 /* 48370 */ GIR_RootToRootCopy, /*OpIdx*/2, // lhs
18544 /* 48372 */ GIR_RootConstrainSelectedInstOperands,
18545 /* 48373 */ // GIR_Coverage, 1674,
18546 /* 48373 */ GIR_EraseRootFromParent_Done,
18547 /* 48374 */ // Label 1352: @48374
18548 /* 48374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1353*/ GIMT_Encode4(48429), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1675 //
18549 /* 48381 */ // MIs[0] Operand 1
18550 /* 48381 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
18551 /* 48386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18552 /* 48390 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18553 /* 48394 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLT64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), 1:{ *:[i32] })
18554 /* 48394 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18555 /* 48397 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
18556 /* 48401 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18557 /* 48406 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18558 /* 48410 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18559 /* 48414 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18560 /* 48416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18561 /* 48419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18562 /* 48421 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18563 /* 48424 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18564 /* 48427 */ GIR_RootConstrainSelectedInstOperands,
18565 /* 48428 */ // GIR_Coverage, 1675,
18566 /* 48428 */ GIR_EraseRootFromParent_Done,
18567 /* 48429 */ // Label 1353: @48429
18568 /* 48429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1354*/ GIMT_Encode4(48484), GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips), // Rule ID 1676 //
18569 /* 48436 */ // MIs[0] Operand 1
18570 /* 48436 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
18571 /* 48441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18572 /* 48445 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
18573 /* 48449 */ // (setcc:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }) => (XORi:{ *:[i32] } (SLTu64:{ *:[i32] } GPR64:{ *:[i64] }:$lhs, GPR64:{ *:[i64] }:$rhs), 1:{ *:[i32] })
18574 /* 48449 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18575 /* 48452 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
18576 /* 48456 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18577 /* 48461 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // lhs
18578 /* 48465 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // rhs
18579 /* 48469 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18580 /* 48471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::XORi),
18581 /* 48474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rt]
18582 /* 48476 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18583 /* 48479 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
18584 /* 48482 */ GIR_RootConstrainSelectedInstOperands,
18585 /* 48483 */ // GIR_Coverage, 1676,
18586 /* 48483 */ GIR_EraseRootFromParent_Done,
18587 /* 48484 */ // Label 1354: @48484
18588 /* 48484 */ GIM_Reject,
18589 /* 48485 */ // Label 1342: @48485
18590 /* 48485 */ GIM_Reject,
18591 /* 48486 */ // Label 1295: @48486
18592 /* 48486 */ GIM_Reject,
18593 /* 48487 */ // Label 1292: @48487
18594 /* 48487 */ GIM_Reject,
18595 /* 48488 */ // Label 43: @48488
18596 /* 48488 */ GIM_Try, /*On fail goto*//*Label 1355*/ GIMT_Encode4(49412),
18597 /* 48493 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
18598 /* 48496 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1358*/ GIMT_Encode4(49411),
18599 /* 48507 */ /*GILLT_s32*//*Label 1356*/ GIMT_Encode4(48515),
18600 /* 48511 */ /*GILLT_s64*//*Label 1357*/ GIMT_Encode4(48963),
18601 /* 48515 */ // Label 1356: @48515
18602 /* 48515 */ GIM_Try, /*On fail goto*//*Label 1359*/ GIMT_Encode4(48962),
18603 /* 48520 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
18604 /* 48523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32CCRegClassID),
18605 /* 48527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1360*/ GIMT_Encode4(48558), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 340 //
18606 /* 48534 */ // MIs[0] Operand 1
18607 /* 48534 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UNO),
18608 /* 48539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18609 /* 48543 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18610 /* 48547 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETUO:{ *:[Other] }) => (CMP_UN_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18611 /* 48547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UN_S),
18612 /* 48550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18613 /* 48552 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18614 /* 48554 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18615 /* 48556 */ GIR_RootConstrainSelectedInstOperands,
18616 /* 48557 */ // GIR_Coverage, 340,
18617 /* 48557 */ GIR_EraseRootFromParent_Done,
18618 /* 48558 */ // Label 1360: @48558
18619 /* 48558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1361*/ GIMT_Encode4(48589), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 341 //
18620 /* 48565 */ // MIs[0] Operand 1
18621 /* 48565 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OEQ),
18622 /* 48570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18623 /* 48574 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18624 /* 48578 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOEQ:{ *:[Other] }) => (CMP_EQ_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18625 /* 48578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_S),
18626 /* 48581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18627 /* 48583 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18628 /* 48585 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18629 /* 48587 */ GIR_RootConstrainSelectedInstOperands,
18630 /* 48588 */ // GIR_Coverage, 341,
18631 /* 48588 */ GIR_EraseRootFromParent_Done,
18632 /* 48589 */ // Label 1361: @48589
18633 /* 48589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1362*/ GIMT_Encode4(48620), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 342 //
18634 /* 48596 */ // MIs[0] Operand 1
18635 /* 48596 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UEQ),
18636 /* 48601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18637 /* 48605 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18638 /* 48609 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETUEQ:{ *:[Other] }) => (CMP_UEQ_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18639 /* 48609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UEQ_S),
18640 /* 48612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18641 /* 48614 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18642 /* 48616 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18643 /* 48618 */ GIR_RootConstrainSelectedInstOperands,
18644 /* 48619 */ // GIR_Coverage, 342,
18645 /* 48619 */ GIR_EraseRootFromParent_Done,
18646 /* 48620 */ // Label 1362: @48620
18647 /* 48620 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1363*/ GIMT_Encode4(48651), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 343 //
18648 /* 48627 */ // MIs[0] Operand 1
18649 /* 48627 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLT),
18650 /* 48632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18651 /* 48636 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18652 /* 48640 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOLT:{ *:[Other] }) => (CMP_LT_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18653 /* 48640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_S),
18654 /* 48643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18655 /* 48645 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18656 /* 48647 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18657 /* 48649 */ GIR_RootConstrainSelectedInstOperands,
18658 /* 48650 */ // GIR_Coverage, 343,
18659 /* 48650 */ GIR_EraseRootFromParent_Done,
18660 /* 48651 */ // Label 1363: @48651
18661 /* 48651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1364*/ GIMT_Encode4(48682), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 344 //
18662 /* 48658 */ // MIs[0] Operand 1
18663 /* 48658 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULT),
18664 /* 48663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18665 /* 48667 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18666 /* 48671 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETULT:{ *:[Other] }) => (CMP_ULT_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18667 /* 48671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULT_S),
18668 /* 48674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18669 /* 48676 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18670 /* 48678 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18671 /* 48680 */ GIR_RootConstrainSelectedInstOperands,
18672 /* 48681 */ // GIR_Coverage, 344,
18673 /* 48681 */ GIR_EraseRootFromParent_Done,
18674 /* 48682 */ // Label 1364: @48682
18675 /* 48682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1365*/ GIMT_Encode4(48713), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 345 //
18676 /* 48689 */ // MIs[0] Operand 1
18677 /* 48689 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLE),
18678 /* 48694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18679 /* 48698 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18680 /* 48702 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOLE:{ *:[Other] }) => (CMP_LE_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18681 /* 48702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_S),
18682 /* 48705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18683 /* 48707 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18684 /* 48709 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18685 /* 48711 */ GIR_RootConstrainSelectedInstOperands,
18686 /* 48712 */ // GIR_Coverage, 345,
18687 /* 48712 */ GIR_EraseRootFromParent_Done,
18688 /* 48713 */ // Label 1365: @48713
18689 /* 48713 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1366*/ GIMT_Encode4(48744), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 346 //
18690 /* 48720 */ // MIs[0] Operand 1
18691 /* 48720 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULE),
18692 /* 48725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18693 /* 48729 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18694 /* 48733 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETULE:{ *:[Other] }) => (CMP_ULE_S:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18695 /* 48733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULE_S),
18696 /* 48736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18697 /* 48738 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18698 /* 48740 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18699 /* 48742 */ GIR_RootConstrainSelectedInstOperands,
18700 /* 48743 */ // GIR_Coverage, 346,
18701 /* 48743 */ GIR_EraseRootFromParent_Done,
18702 /* 48744 */ // Label 1366: @48744
18703 /* 48744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1367*/ GIMT_Encode4(48775), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1215 //
18704 /* 48751 */ // MIs[0] Operand 1
18705 /* 48751 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UNO),
18706 /* 48756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18707 /* 48760 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18708 /* 48764 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETUO:{ *:[Other] }) => (CMP_UN_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18709 /* 48764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UN_S_MMR6),
18710 /* 48767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18711 /* 48769 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18712 /* 48771 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18713 /* 48773 */ GIR_RootConstrainSelectedInstOperands,
18714 /* 48774 */ // GIR_Coverage, 1215,
18715 /* 48774 */ GIR_EraseRootFromParent_Done,
18716 /* 48775 */ // Label 1367: @48775
18717 /* 48775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1368*/ GIMT_Encode4(48806), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1216 //
18718 /* 48782 */ // MIs[0] Operand 1
18719 /* 48782 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OEQ),
18720 /* 48787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18721 /* 48791 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18722 /* 48795 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOEQ:{ *:[Other] }) => (CMP_EQ_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18723 /* 48795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_S_MMR6),
18724 /* 48798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18725 /* 48800 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18726 /* 48802 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18727 /* 48804 */ GIR_RootConstrainSelectedInstOperands,
18728 /* 48805 */ // GIR_Coverage, 1216,
18729 /* 48805 */ GIR_EraseRootFromParent_Done,
18730 /* 48806 */ // Label 1368: @48806
18731 /* 48806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1369*/ GIMT_Encode4(48837), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1217 //
18732 /* 48813 */ // MIs[0] Operand 1
18733 /* 48813 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UEQ),
18734 /* 48818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18735 /* 48822 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18736 /* 48826 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETUEQ:{ *:[Other] }) => (CMP_UEQ_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18737 /* 48826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UEQ_S_MMR6),
18738 /* 48829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18739 /* 48831 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18740 /* 48833 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18741 /* 48835 */ GIR_RootConstrainSelectedInstOperands,
18742 /* 48836 */ // GIR_Coverage, 1217,
18743 /* 48836 */ GIR_EraseRootFromParent_Done,
18744 /* 48837 */ // Label 1369: @48837
18745 /* 48837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1370*/ GIMT_Encode4(48868), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1218 //
18746 /* 48844 */ // MIs[0] Operand 1
18747 /* 48844 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLT),
18748 /* 48849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18749 /* 48853 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18750 /* 48857 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOLT:{ *:[Other] }) => (CMP_LT_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18751 /* 48857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_S_MMR6),
18752 /* 48860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18753 /* 48862 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18754 /* 48864 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18755 /* 48866 */ GIR_RootConstrainSelectedInstOperands,
18756 /* 48867 */ // GIR_Coverage, 1218,
18757 /* 48867 */ GIR_EraseRootFromParent_Done,
18758 /* 48868 */ // Label 1370: @48868
18759 /* 48868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1371*/ GIMT_Encode4(48899), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1219 //
18760 /* 48875 */ // MIs[0] Operand 1
18761 /* 48875 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULT),
18762 /* 48880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18763 /* 48884 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18764 /* 48888 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETULT:{ *:[Other] }) => (CMP_ULT_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18765 /* 48888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULT_S_MMR6),
18766 /* 48891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18767 /* 48893 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18768 /* 48895 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18769 /* 48897 */ GIR_RootConstrainSelectedInstOperands,
18770 /* 48898 */ // GIR_Coverage, 1219,
18771 /* 48898 */ GIR_EraseRootFromParent_Done,
18772 /* 48899 */ // Label 1371: @48899
18773 /* 48899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1372*/ GIMT_Encode4(48930), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1220 //
18774 /* 48906 */ // MIs[0] Operand 1
18775 /* 48906 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLE),
18776 /* 48911 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18777 /* 48915 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18778 /* 48919 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETOLE:{ *:[Other] }) => (CMP_LE_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18779 /* 48919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_S_MMR6),
18780 /* 48922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18781 /* 48924 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18782 /* 48926 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18783 /* 48928 */ GIR_RootConstrainSelectedInstOperands,
18784 /* 48929 */ // GIR_Coverage, 1220,
18785 /* 48929 */ GIR_EraseRootFromParent_Done,
18786 /* 48930 */ // Label 1372: @48930
18787 /* 48930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1373*/ GIMT_Encode4(48961), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1221 //
18788 /* 48937 */ // MIs[0] Operand 1
18789 /* 48937 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULE),
18790 /* 48942 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18791 /* 48946 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
18792 /* 48950 */ // (setcc:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft, SETULE:{ *:[Other] }) => (CMP_ULE_S_MMR6:{ *:[i32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
18793 /* 48950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULE_S_MMR6),
18794 /* 48953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18795 /* 48955 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18796 /* 48957 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18797 /* 48959 */ GIR_RootConstrainSelectedInstOperands,
18798 /* 48960 */ // GIR_Coverage, 1221,
18799 /* 48960 */ GIR_EraseRootFromParent_Done,
18800 /* 48961 */ // Label 1373: @48961
18801 /* 48961 */ GIM_Reject,
18802 /* 48962 */ // Label 1359: @48962
18803 /* 48962 */ GIM_Reject,
18804 /* 48963 */ // Label 1357: @48963
18805 /* 48963 */ GIM_Try, /*On fail goto*//*Label 1374*/ GIMT_Encode4(49410),
18806 /* 48968 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
18807 /* 48971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64CCRegClassID),
18808 /* 48975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1375*/ GIMT_Encode4(49006), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 347 //
18809 /* 48982 */ // MIs[0] Operand 1
18810 /* 48982 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UNO),
18811 /* 48987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18812 /* 48991 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18813 /* 48995 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETUO:{ *:[Other] }) => (CMP_UN_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18814 /* 48995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UN_D),
18815 /* 48998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18816 /* 49000 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18817 /* 49002 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18818 /* 49004 */ GIR_RootConstrainSelectedInstOperands,
18819 /* 49005 */ // GIR_Coverage, 347,
18820 /* 49005 */ GIR_EraseRootFromParent_Done,
18821 /* 49006 */ // Label 1375: @49006
18822 /* 49006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1376*/ GIMT_Encode4(49037), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 348 //
18823 /* 49013 */ // MIs[0] Operand 1
18824 /* 49013 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OEQ),
18825 /* 49018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18826 /* 49022 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18827 /* 49026 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOEQ:{ *:[Other] }) => (CMP_EQ_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18828 /* 49026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_D),
18829 /* 49029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18830 /* 49031 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18831 /* 49033 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18832 /* 49035 */ GIR_RootConstrainSelectedInstOperands,
18833 /* 49036 */ // GIR_Coverage, 348,
18834 /* 49036 */ GIR_EraseRootFromParent_Done,
18835 /* 49037 */ // Label 1376: @49037
18836 /* 49037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1377*/ GIMT_Encode4(49068), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 349 //
18837 /* 49044 */ // MIs[0] Operand 1
18838 /* 49044 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UEQ),
18839 /* 49049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18840 /* 49053 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18841 /* 49057 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETUEQ:{ *:[Other] }) => (CMP_UEQ_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18842 /* 49057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UEQ_D),
18843 /* 49060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18844 /* 49062 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18845 /* 49064 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18846 /* 49066 */ GIR_RootConstrainSelectedInstOperands,
18847 /* 49067 */ // GIR_Coverage, 349,
18848 /* 49067 */ GIR_EraseRootFromParent_Done,
18849 /* 49068 */ // Label 1377: @49068
18850 /* 49068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1378*/ GIMT_Encode4(49099), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 350 //
18851 /* 49075 */ // MIs[0] Operand 1
18852 /* 49075 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLT),
18853 /* 49080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18854 /* 49084 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18855 /* 49088 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOLT:{ *:[Other] }) => (CMP_LT_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18856 /* 49088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_D),
18857 /* 49091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18858 /* 49093 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18859 /* 49095 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18860 /* 49097 */ GIR_RootConstrainSelectedInstOperands,
18861 /* 49098 */ // GIR_Coverage, 350,
18862 /* 49098 */ GIR_EraseRootFromParent_Done,
18863 /* 49099 */ // Label 1378: @49099
18864 /* 49099 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1379*/ GIMT_Encode4(49130), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 351 //
18865 /* 49106 */ // MIs[0] Operand 1
18866 /* 49106 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULT),
18867 /* 49111 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18868 /* 49115 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18869 /* 49119 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETULT:{ *:[Other] }) => (CMP_ULT_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18870 /* 49119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULT_D),
18871 /* 49122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18872 /* 49124 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18873 /* 49126 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18874 /* 49128 */ GIR_RootConstrainSelectedInstOperands,
18875 /* 49129 */ // GIR_Coverage, 351,
18876 /* 49129 */ GIR_EraseRootFromParent_Done,
18877 /* 49130 */ // Label 1379: @49130
18878 /* 49130 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1380*/ GIMT_Encode4(49161), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 352 //
18879 /* 49137 */ // MIs[0] Operand 1
18880 /* 49137 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLE),
18881 /* 49142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18882 /* 49146 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18883 /* 49150 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOLE:{ *:[Other] }) => (CMP_LE_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18884 /* 49150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_D),
18885 /* 49153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18886 /* 49155 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18887 /* 49157 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18888 /* 49159 */ GIR_RootConstrainSelectedInstOperands,
18889 /* 49160 */ // GIR_Coverage, 352,
18890 /* 49160 */ GIR_EraseRootFromParent_Done,
18891 /* 49161 */ // Label 1380: @49161
18892 /* 49161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1381*/ GIMT_Encode4(49192), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 353 //
18893 /* 49168 */ // MIs[0] Operand 1
18894 /* 49168 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULE),
18895 /* 49173 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18896 /* 49177 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18897 /* 49181 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETULE:{ *:[Other] }) => (CMP_ULE_D:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18898 /* 49181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULE_D),
18899 /* 49184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18900 /* 49186 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18901 /* 49188 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18902 /* 49190 */ GIR_RootConstrainSelectedInstOperands,
18903 /* 49191 */ // GIR_Coverage, 353,
18904 /* 49191 */ GIR_EraseRootFromParent_Done,
18905 /* 49192 */ // Label 1381: @49192
18906 /* 49192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1382*/ GIMT_Encode4(49223), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1222 //
18907 /* 49199 */ // MIs[0] Operand 1
18908 /* 49199 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UNO),
18909 /* 49204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18910 /* 49208 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18911 /* 49212 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETUO:{ *:[Other] }) => (CMP_UN_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18912 /* 49212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UN_D_MMR6),
18913 /* 49215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18914 /* 49217 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18915 /* 49219 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18916 /* 49221 */ GIR_RootConstrainSelectedInstOperands,
18917 /* 49222 */ // GIR_Coverage, 1222,
18918 /* 49222 */ GIR_EraseRootFromParent_Done,
18919 /* 49223 */ // Label 1382: @49223
18920 /* 49223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1383*/ GIMT_Encode4(49254), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1223 //
18921 /* 49230 */ // MIs[0] Operand 1
18922 /* 49230 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OEQ),
18923 /* 49235 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18924 /* 49239 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18925 /* 49243 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOEQ:{ *:[Other] }) => (CMP_EQ_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18926 /* 49243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_EQ_D_MMR6),
18927 /* 49246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18928 /* 49248 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18929 /* 49250 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18930 /* 49252 */ GIR_RootConstrainSelectedInstOperands,
18931 /* 49253 */ // GIR_Coverage, 1223,
18932 /* 49253 */ GIR_EraseRootFromParent_Done,
18933 /* 49254 */ // Label 1383: @49254
18934 /* 49254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1384*/ GIMT_Encode4(49285), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1224 //
18935 /* 49261 */ // MIs[0] Operand 1
18936 /* 49261 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_UEQ),
18937 /* 49266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18938 /* 49270 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18939 /* 49274 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETUEQ:{ *:[Other] }) => (CMP_UEQ_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18940 /* 49274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_UEQ_D_MMR6),
18941 /* 49277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18942 /* 49279 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18943 /* 49281 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18944 /* 49283 */ GIR_RootConstrainSelectedInstOperands,
18945 /* 49284 */ // GIR_Coverage, 1224,
18946 /* 49284 */ GIR_EraseRootFromParent_Done,
18947 /* 49285 */ // Label 1384: @49285
18948 /* 49285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1385*/ GIMT_Encode4(49316), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1225 //
18949 /* 49292 */ // MIs[0] Operand 1
18950 /* 49292 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLT),
18951 /* 49297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18952 /* 49301 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18953 /* 49305 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOLT:{ *:[Other] }) => (CMP_LT_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18954 /* 49305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LT_D_MMR6),
18955 /* 49308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18956 /* 49310 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18957 /* 49312 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18958 /* 49314 */ GIR_RootConstrainSelectedInstOperands,
18959 /* 49315 */ // GIR_Coverage, 1225,
18960 /* 49315 */ GIR_EraseRootFromParent_Done,
18961 /* 49316 */ // Label 1385: @49316
18962 /* 49316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1386*/ GIMT_Encode4(49347), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1226 //
18963 /* 49323 */ // MIs[0] Operand 1
18964 /* 49323 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULT),
18965 /* 49328 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18966 /* 49332 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18967 /* 49336 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETULT:{ *:[Other] }) => (CMP_ULT_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18968 /* 49336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULT_D_MMR6),
18969 /* 49339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18970 /* 49341 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18971 /* 49343 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18972 /* 49345 */ GIR_RootConstrainSelectedInstOperands,
18973 /* 49346 */ // GIR_Coverage, 1226,
18974 /* 49346 */ GIR_EraseRootFromParent_Done,
18975 /* 49347 */ // Label 1386: @49347
18976 /* 49347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1387*/ GIMT_Encode4(49378), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1227 //
18977 /* 49354 */ // MIs[0] Operand 1
18978 /* 49354 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_OLE),
18979 /* 49359 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18980 /* 49363 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18981 /* 49367 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETOLE:{ *:[Other] }) => (CMP_LE_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18982 /* 49367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_LE_D_MMR6),
18983 /* 49370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18984 /* 49372 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18985 /* 49374 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
18986 /* 49376 */ GIR_RootConstrainSelectedInstOperands,
18987 /* 49377 */ // GIR_Coverage, 1227,
18988 /* 49377 */ GIR_EraseRootFromParent_Done,
18989 /* 49378 */ // Label 1387: @49378
18990 /* 49378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1388*/ GIMT_Encode4(49409), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1228 //
18991 /* 49385 */ // MIs[0] Operand 1
18992 /* 49385 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::FCMP_ULE),
18993 /* 49390 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18994 /* 49394 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
18995 /* 49398 */ // (setcc:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft, SETULE:{ *:[Other] }) => (CMP_ULE_D_MMR6:{ *:[i32] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
18996 /* 49398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CMP_ULE_D_MMR6),
18997 /* 49401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
18998 /* 49403 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
18999 /* 49405 */ GIR_RootToRootCopy, /*OpIdx*/3, // ft
19000 /* 49407 */ GIR_RootConstrainSelectedInstOperands,
19001 /* 49408 */ // GIR_Coverage, 1228,
19002 /* 49408 */ GIR_EraseRootFromParent_Done,
19003 /* 49409 */ // Label 1388: @49409
19004 /* 49409 */ GIM_Reject,
19005 /* 49410 */ // Label 1374: @49410
19006 /* 49410 */ GIM_Reject,
19007 /* 49411 */ // Label 1358: @49411
19008 /* 49411 */ GIM_Reject,
19009 /* 49412 */ // Label 1355: @49412
19010 /* 49412 */ GIM_Reject,
19011 /* 49413 */ // Label 44: @49413
19012 /* 49413 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1395*/ GIMT_Encode4(59146),
19013 /* 49424 */ /*GILLT_s32*//*Label 1389*/ GIMT_Encode4(49456),
19014 /* 49428 */ /*GILLT_s64*//*Label 1390*/ GIMT_Encode4(54750), GIMT_Encode4(0),
19015 /* 49436 */ /*GILLT_v16s8*//*Label 1391*/ GIMT_Encode4(58864), GIMT_Encode4(0),
19016 /* 49444 */ /*GILLT_v8s16*//*Label 1392*/ GIMT_Encode4(58956),
19017 /* 49448 */ /*GILLT_v4s32*//*Label 1393*/ GIMT_Encode4(59002),
19018 /* 49452 */ /*GILLT_v2s64*//*Label 1394*/ GIMT_Encode4(59074),
19019 /* 49456 */ // Label 1389: @49456
19020 /* 49456 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1398*/ GIMT_Encode4(54749),
19021 /* 49467 */ /*GILLT_s32*//*Label 1396*/ GIMT_Encode4(49475),
19022 /* 49471 */ /*GILLT_s64*//*Label 1397*/ GIMT_Encode4(54664),
19023 /* 49475 */ // Label 1396: @49475
19024 /* 49475 */ GIM_Try, /*On fail goto*//*Label 1399*/ GIMT_Encode4(54663),
19025 /* 49480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
19026 /* 49483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
19027 /* 49486 */ GIM_Try, /*On fail goto*//*Label 1400*/ GIMT_Encode4(49720),
19028 /* 49491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19029 /* 49495 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19030 /* 49499 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19031 /* 49503 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1401*/ GIMT_Encode4(49557), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1749 //
19032 /* 49510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19033 /* 49514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19034 /* 49518 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19035 /* 49522 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19036 /* 49526 */ // MIs[1] Operand 1
19037 /* 49526 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19038 /* 49531 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19039 /* 49536 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19040 /* 49540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19041 /* 49542 */ // (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)
19042 /* 49542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19043 /* 49545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19044 /* 49547 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19045 /* 49549 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19046 /* 49553 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19047 /* 49555 */ GIR_RootConstrainSelectedInstOperands,
19048 /* 49556 */ // GIR_Coverage, 1749,
19049 /* 49556 */ GIR_EraseRootFromParent_Done,
19050 /* 49557 */ // Label 1401: @49557
19051 /* 49557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1402*/ GIMT_Encode4(49611), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1753 //
19052 /* 49564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19053 /* 49568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19054 /* 49572 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19055 /* 49576 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19056 /* 49580 */ // MIs[1] Operand 1
19057 /* 49580 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19058 /* 49585 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19059 /* 49590 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19060 /* 49594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19061 /* 49596 */ // (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)
19062 /* 49596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I),
19063 /* 49599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19064 /* 49601 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19065 /* 49603 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19066 /* 49607 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19067 /* 49609 */ GIR_RootConstrainSelectedInstOperands,
19068 /* 49610 */ // GIR_Coverage, 1753,
19069 /* 49610 */ GIR_EraseRootFromParent_Done,
19070 /* 49611 */ // Label 1402: @49611
19071 /* 49611 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1403*/ GIMT_Encode4(49665), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1781 //
19072 /* 49618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19073 /* 49622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19074 /* 49626 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19075 /* 49630 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19076 /* 49634 */ // MIs[1] Operand 1
19077 /* 49634 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19078 /* 49639 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19079 /* 49644 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19080 /* 49648 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19081 /* 49650 */ // (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)
19082 /* 49650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_I),
19083 /* 49653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19084 /* 49655 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19085 /* 49657 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19086 /* 49661 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19087 /* 49663 */ GIR_RootConstrainSelectedInstOperands,
19088 /* 49664 */ // GIR_Coverage, 1781,
19089 /* 49664 */ GIR_EraseRootFromParent_Done,
19090 /* 49665 */ // Label 1403: @49665
19091 /* 49665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1404*/ GIMT_Encode4(49719), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1792 //
19092 /* 49672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19093 /* 49676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19094 /* 49680 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19095 /* 49684 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19096 /* 49688 */ // MIs[1] Operand 1
19097 /* 49688 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19098 /* 49693 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19099 /* 49698 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19100 /* 49702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19101 /* 49704 */ // (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)
19102 /* 49704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I),
19103 /* 49707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19104 /* 49709 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19105 /* 49711 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19106 /* 49715 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19107 /* 49717 */ GIR_RootConstrainSelectedInstOperands,
19108 /* 49718 */ // GIR_Coverage, 1792,
19109 /* 49718 */ GIR_EraseRootFromParent_Done,
19110 /* 49719 */ // Label 1404: @49719
19111 /* 49719 */ GIM_Reject,
19112 /* 49720 */ // Label 1400: @49720
19113 /* 49720 */ GIM_Try, /*On fail goto*//*Label 1405*/ GIMT_Encode4(49954),
19114 /* 49725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19115 /* 49729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19116 /* 49733 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19117 /* 49737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1406*/ GIMT_Encode4(49791), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1805 //
19118 /* 49744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19119 /* 49748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19120 /* 49752 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19121 /* 49756 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19122 /* 49760 */ // MIs[1] Operand 1
19123 /* 49760 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19124 /* 49765 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19125 /* 49770 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19126 /* 49774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19127 /* 49776 */ // (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)
19128 /* 49776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19129 /* 49779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19130 /* 49781 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19131 /* 49783 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19132 /* 49787 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19133 /* 49789 */ GIR_RootConstrainSelectedInstOperands,
19134 /* 49790 */ // GIR_Coverage, 1805,
19135 /* 49790 */ GIR_EraseRootFromParent_Done,
19136 /* 49791 */ // Label 1406: @49791
19137 /* 49791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1407*/ GIMT_Encode4(49845), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1808 //
19138 /* 49798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19139 /* 49802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19140 /* 49806 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19141 /* 49810 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19142 /* 49814 */ // MIs[1] Operand 1
19143 /* 49814 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19144 /* 49819 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19145 /* 49824 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19146 /* 49828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19147 /* 49830 */ // (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)
19148 /* 49830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S),
19149 /* 49833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19150 /* 49835 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19151 /* 49837 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19152 /* 49841 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19153 /* 49843 */ GIR_RootConstrainSelectedInstOperands,
19154 /* 49844 */ // GIR_Coverage, 1808,
19155 /* 49844 */ GIR_EraseRootFromParent_Done,
19156 /* 49845 */ // Label 1407: @49845
19157 /* 49845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1408*/ GIMT_Encode4(49899), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1818 //
19158 /* 49852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19159 /* 49856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19160 /* 49860 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19161 /* 49864 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19162 /* 49868 */ // MIs[1] Operand 1
19163 /* 49868 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19164 /* 49873 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19165 /* 49878 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19166 /* 49882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19167 /* 49884 */ // (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)
19168 /* 49884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_S),
19169 /* 49887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19170 /* 49889 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19171 /* 49891 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19172 /* 49895 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19173 /* 49897 */ GIR_RootConstrainSelectedInstOperands,
19174 /* 49898 */ // GIR_Coverage, 1818,
19175 /* 49898 */ GIR_EraseRootFromParent_Done,
19176 /* 49899 */ // Label 1408: @49899
19177 /* 49899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1409*/ GIMT_Encode4(49953), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1821 //
19178 /* 49906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19179 /* 49910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19180 /* 49914 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19181 /* 49918 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19182 /* 49922 */ // MIs[1] Operand 1
19183 /* 49922 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19184 /* 49927 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19185 /* 49932 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19186 /* 49936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19187 /* 49938 */ // (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)
19188 /* 49938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_S),
19189 /* 49941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19190 /* 49943 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19191 /* 49945 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19192 /* 49949 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19193 /* 49951 */ GIR_RootConstrainSelectedInstOperands,
19194 /* 49952 */ // GIR_Coverage, 1821,
19195 /* 49952 */ GIR_EraseRootFromParent_Done,
19196 /* 49953 */ // Label 1409: @49953
19197 /* 49953 */ GIM_Reject,
19198 /* 49954 */ // Label 1405: @49954
19199 /* 49954 */ GIM_Try, /*On fail goto*//*Label 1410*/ GIMT_Encode4(50080),
19200 /* 49959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19201 /* 49963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19202 /* 49967 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19203 /* 49971 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1411*/ GIMT_Encode4(50025), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2010 //
19204 /* 49978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19205 /* 49982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19206 /* 49986 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19207 /* 49990 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19208 /* 49994 */ // MIs[1] Operand 1
19209 /* 49994 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19210 /* 49999 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19211 /* 50004 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19212 /* 50008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19213 /* 50010 */ // (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)
19214 /* 50010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelBeqZ),
19215 /* 50013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
19216 /* 50015 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
19217 /* 50017 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
19218 /* 50019 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
19219 /* 50023 */ GIR_RootConstrainSelectedInstOperands,
19220 /* 50024 */ // GIR_Coverage, 2010,
19221 /* 50024 */ GIR_EraseRootFromParent_Done,
19222 /* 50025 */ // Label 1411: @50025
19223 /* 50025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1412*/ GIMT_Encode4(50079), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2013 //
19224 /* 50032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19225 /* 50036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19226 /* 50040 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19227 /* 50044 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19228 /* 50048 */ // MIs[1] Operand 1
19229 /* 50048 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19230 /* 50053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
19231 /* 50058 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19232 /* 50062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19233 /* 50064 */ // (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)
19234 /* 50064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelBneZ),
19235 /* 50067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
19236 /* 50069 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
19237 /* 50071 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
19238 /* 50073 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
19239 /* 50077 */ GIR_RootConstrainSelectedInstOperands,
19240 /* 50078 */ // GIR_Coverage, 2013,
19241 /* 50078 */ GIR_EraseRootFromParent_Done,
19242 /* 50079 */ // Label 1412: @50079
19243 /* 50079 */ GIM_Reject,
19244 /* 50080 */ // Label 1410: @50080
19245 /* 50080 */ GIM_Try, /*On fail goto*//*Label 1413*/ GIMT_Encode4(50314),
19246 /* 50085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19247 /* 50089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19248 /* 50093 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19249 /* 50097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1414*/ GIMT_Encode4(50151), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2362 //
19250 /* 50104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19251 /* 50108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19252 /* 50112 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19253 /* 50116 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19254 /* 50120 */ // MIs[1] Operand 1
19255 /* 50120 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19256 /* 50125 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19257 /* 50130 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19258 /* 50134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19259 /* 50136 */ // (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)
19260 /* 50136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
19261 /* 50139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19262 /* 50141 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19263 /* 50143 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19264 /* 50147 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19265 /* 50149 */ GIR_RootConstrainSelectedInstOperands,
19266 /* 50150 */ // GIR_Coverage, 2362,
19267 /* 50150 */ GIR_EraseRootFromParent_Done,
19268 /* 50151 */ // Label 1414: @50151
19269 /* 50151 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1415*/ GIMT_Encode4(50205), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6), // Rule ID 2366 //
19270 /* 50158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19271 /* 50162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19272 /* 50166 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19273 /* 50170 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19274 /* 50174 */ // MIs[1] Operand 1
19275 /* 50174 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19276 /* 50179 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19277 /* 50184 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19278 /* 50188 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19279 /* 50190 */ // (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)
19280 /* 50190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
19281 /* 50193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19282 /* 50195 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19283 /* 50197 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19284 /* 50201 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19285 /* 50203 */ GIR_RootConstrainSelectedInstOperands,
19286 /* 50204 */ // GIR_Coverage, 2366,
19287 /* 50204 */ GIR_EraseRootFromParent_Done,
19288 /* 50205 */ // Label 1415: @50205
19289 /* 50205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1416*/ GIMT_Encode4(50259), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2376 //
19290 /* 50212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19291 /* 50216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19292 /* 50220 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19293 /* 50224 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19294 /* 50228 */ // MIs[1] Operand 1
19295 /* 50228 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19296 /* 50233 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19297 /* 50238 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19298 /* 50242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19299 /* 50244 */ // (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)
19300 /* 50244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
19301 /* 50247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19302 /* 50249 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19303 /* 50251 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19304 /* 50255 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19305 /* 50257 */ GIR_RootConstrainSelectedInstOperands,
19306 /* 50258 */ // GIR_Coverage, 2376,
19307 /* 50258 */ GIR_EraseRootFromParent_Done,
19308 /* 50259 */ // Label 1416: @50259
19309 /* 50259 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1417*/ GIMT_Encode4(50313), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2380 //
19310 /* 50266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19311 /* 50270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19312 /* 50274 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19313 /* 50278 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19314 /* 50282 */ // MIs[1] Operand 1
19315 /* 50282 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19316 /* 50287 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19317 /* 50292 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19318 /* 50296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19319 /* 50298 */ // (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)
19320 /* 50298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
19321 /* 50301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19322 /* 50303 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19323 /* 50305 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19324 /* 50309 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19325 /* 50311 */ GIR_RootConstrainSelectedInstOperands,
19326 /* 50312 */ // GIR_Coverage, 2380,
19327 /* 50312 */ GIR_EraseRootFromParent_Done,
19328 /* 50313 */ // Label 1417: @50313
19329 /* 50313 */ GIM_Reject,
19330 /* 50314 */ // Label 1413: @50314
19331 /* 50314 */ GIM_Try, /*On fail goto*//*Label 1418*/ GIMT_Encode4(50440),
19332 /* 50319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19333 /* 50323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19334 /* 50327 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19335 /* 50331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1419*/ GIMT_Encode4(50385), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2423 //
19336 /* 50338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19337 /* 50342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19338 /* 50346 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19339 /* 50350 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19340 /* 50354 */ // MIs[1] Operand 1
19341 /* 50354 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19342 /* 50359 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19343 /* 50364 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19344 /* 50368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19345 /* 50370 */ // (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)
19346 /* 50370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
19347 /* 50373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19348 /* 50375 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19349 /* 50377 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19350 /* 50381 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19351 /* 50383 */ GIR_RootConstrainSelectedInstOperands,
19352 /* 50384 */ // GIR_Coverage, 2423,
19353 /* 50384 */ GIR_EraseRootFromParent_Done,
19354 /* 50385 */ // Label 1419: @50385
19355 /* 50385 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1420*/ GIMT_Encode4(50439), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2426 //
19356 /* 50392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19357 /* 50396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19358 /* 50400 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19359 /* 50404 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19360 /* 50408 */ // MIs[1] Operand 1
19361 /* 50408 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19362 /* 50413 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19363 /* 50418 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
19364 /* 50422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19365 /* 50424 */ // (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)
19366 /* 50424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S_MM),
19367 /* 50427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19368 /* 50429 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19369 /* 50431 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19370 /* 50435 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19371 /* 50437 */ GIR_RootConstrainSelectedInstOperands,
19372 /* 50438 */ // GIR_Coverage, 2426,
19373 /* 50438 */ GIR_EraseRootFromParent_Done,
19374 /* 50439 */ // Label 1420: @50439
19375 /* 50439 */ GIM_Reject,
19376 /* 50440 */ // Label 1418: @50440
19377 /* 50440 */ GIM_Try, /*On fail goto*//*Label 1421*/ GIMT_Encode4(51370),
19378 /* 50445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19379 /* 50449 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19380 /* 50453 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19381 /* 50457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1422*/ GIMT_Encode4(50533), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1740 //
19382 /* 50464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19383 /* 50468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19384 /* 50472 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19385 /* 50476 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19386 /* 50480 */ // MIs[1] Operand 1
19387 /* 50480 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
19388 /* 50485 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19389 /* 50490 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19390 /* 50495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19391 /* 50497 */ // (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)
19392 /* 50497 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19393 /* 50500 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
19394 /* 50504 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19395 /* 50509 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19396 /* 50513 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19397 /* 50517 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19398 /* 50519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19399 /* 50522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19400 /* 50524 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19401 /* 50526 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19402 /* 50529 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19403 /* 50531 */ GIR_RootConstrainSelectedInstOperands,
19404 /* 50532 */ // GIR_Coverage, 1740,
19405 /* 50532 */ GIR_EraseRootFromParent_Done,
19406 /* 50533 */ // Label 1422: @50533
19407 /* 50533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1423*/ GIMT_Encode4(50609), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1741 //
19408 /* 50540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19409 /* 50544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19410 /* 50548 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19411 /* 50552 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19412 /* 50556 */ // MIs[1] Operand 1
19413 /* 50556 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
19414 /* 50561 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19415 /* 50566 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19416 /* 50571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19417 /* 50573 */ // (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)
19418 /* 50573 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19419 /* 50576 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
19420 /* 50580 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19421 /* 50585 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19422 /* 50589 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19423 /* 50593 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19424 /* 50595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19425 /* 50598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19426 /* 50600 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19427 /* 50602 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19428 /* 50605 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19429 /* 50607 */ GIR_RootConstrainSelectedInstOperands,
19430 /* 50608 */ // GIR_Coverage, 1741,
19431 /* 50608 */ GIR_EraseRootFromParent_Done,
19432 /* 50609 */ // Label 1423: @50609
19433 /* 50609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1424*/ GIMT_Encode4(50685), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1744 //
19434 /* 50616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19435 /* 50620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19436 /* 50624 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19437 /* 50628 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19438 /* 50632 */ // MIs[1] Operand 1
19439 /* 50632 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
19440 /* 50637 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19441 /* 50642 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19442 /* 50647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19443 /* 50649 */ // (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)
19444 /* 50649 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19445 /* 50652 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
19446 /* 50656 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19447 /* 50661 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19448 /* 50665 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19449 /* 50669 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19450 /* 50671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19451 /* 50674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19452 /* 50676 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19453 /* 50678 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19454 /* 50681 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19455 /* 50683 */ GIR_RootConstrainSelectedInstOperands,
19456 /* 50684 */ // GIR_Coverage, 1744,
19457 /* 50684 */ GIR_EraseRootFromParent_Done,
19458 /* 50685 */ // Label 1424: @50685
19459 /* 50685 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1425*/ GIMT_Encode4(50761), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1745 //
19460 /* 50692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19461 /* 50696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19462 /* 50700 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19463 /* 50704 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19464 /* 50708 */ // MIs[1] Operand 1
19465 /* 50708 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
19466 /* 50713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19467 /* 50718 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19468 /* 50723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19469 /* 50725 */ // (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)
19470 /* 50725 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19471 /* 50728 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
19472 /* 50732 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19473 /* 50737 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19474 /* 50741 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19475 /* 50745 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19476 /* 50747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19477 /* 50750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19478 /* 50752 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19479 /* 50754 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19480 /* 50757 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19481 /* 50759 */ GIR_RootConstrainSelectedInstOperands,
19482 /* 50760 */ // GIR_Coverage, 1745,
19483 /* 50760 */ GIR_EraseRootFromParent_Done,
19484 /* 50761 */ // Label 1425: @50761
19485 /* 50761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1426*/ GIMT_Encode4(50837), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1748 //
19486 /* 50768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19487 /* 50772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19488 /* 50776 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19489 /* 50780 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19490 /* 50784 */ // MIs[1] Operand 1
19491 /* 50784 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19492 /* 50789 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19493 /* 50794 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19494 /* 50799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19495 /* 50801 */ // (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)
19496 /* 50801 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19497 /* 50804 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
19498 /* 50808 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19499 /* 50813 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19500 /* 50817 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19501 /* 50821 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19502 /* 50823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19503 /* 50826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19504 /* 50828 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19505 /* 50830 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19506 /* 50833 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19507 /* 50835 */ GIR_RootConstrainSelectedInstOperands,
19508 /* 50836 */ // GIR_Coverage, 1748,
19509 /* 50836 */ GIR_EraseRootFromParent_Done,
19510 /* 50837 */ // Label 1426: @50837
19511 /* 50837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1427*/ GIMT_Encode4(50913), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1751 //
19512 /* 50844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19513 /* 50848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19514 /* 50852 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19515 /* 50856 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19516 /* 50860 */ // MIs[1] Operand 1
19517 /* 50860 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19518 /* 50865 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19519 /* 50870 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19520 /* 50875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19521 /* 50877 */ // (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)
19522 /* 50877 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19523 /* 50880 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
19524 /* 50884 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19525 /* 50889 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19526 /* 50893 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19527 /* 50897 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19528 /* 50899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I),
19529 /* 50902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19530 /* 50904 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19531 /* 50906 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19532 /* 50909 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19533 /* 50911 */ GIR_RootConstrainSelectedInstOperands,
19534 /* 50912 */ // GIR_Coverage, 1751,
19535 /* 50912 */ GIR_EraseRootFromParent_Done,
19536 /* 50913 */ // Label 1427: @50913
19537 /* 50913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1428*/ GIMT_Encode4(50989), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1762 //
19538 /* 50920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19539 /* 50924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19540 /* 50928 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19541 /* 50932 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19542 /* 50936 */ // MIs[1] Operand 1
19543 /* 50936 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
19544 /* 50941 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19545 /* 50946 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19546 /* 50951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19547 /* 50953 */ // (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)
19548 /* 50953 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19549 /* 50956 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
19550 /* 50960 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19551 /* 50965 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19552 /* 50969 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19553 /* 50973 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19554 /* 50975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19555 /* 50978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19556 /* 50980 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19557 /* 50982 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19558 /* 50985 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19559 /* 50987 */ GIR_RootConstrainSelectedInstOperands,
19560 /* 50988 */ // GIR_Coverage, 1762,
19561 /* 50988 */ GIR_EraseRootFromParent_Done,
19562 /* 50989 */ // Label 1428: @50989
19563 /* 50989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1429*/ GIMT_Encode4(51065), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1763 //
19564 /* 50996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19565 /* 51000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19566 /* 51004 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19567 /* 51008 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19568 /* 51012 */ // MIs[1] Operand 1
19569 /* 51012 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
19570 /* 51017 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19571 /* 51022 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19572 /* 51027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19573 /* 51029 */ // (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)
19574 /* 51029 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19575 /* 51032 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
19576 /* 51036 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19577 /* 51041 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19578 /* 51045 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19579 /* 51049 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19580 /* 51051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19581 /* 51054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19582 /* 51056 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19583 /* 51058 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19584 /* 51061 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19585 /* 51063 */ GIR_RootConstrainSelectedInstOperands,
19586 /* 51064 */ // GIR_Coverage, 1763,
19587 /* 51064 */ GIR_EraseRootFromParent_Done,
19588 /* 51065 */ // Label 1429: @51065
19589 /* 51065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1430*/ GIMT_Encode4(51141), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1766 //
19590 /* 51072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19591 /* 51076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19592 /* 51080 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19593 /* 51084 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19594 /* 51088 */ // MIs[1] Operand 1
19595 /* 51088 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
19596 /* 51093 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19597 /* 51098 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19598 /* 51103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19599 /* 51105 */ // (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)
19600 /* 51105 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19601 /* 51108 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
19602 /* 51112 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19603 /* 51117 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19604 /* 51121 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19605 /* 51125 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19606 /* 51127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19607 /* 51130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19608 /* 51132 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19609 /* 51134 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19610 /* 51137 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19611 /* 51139 */ GIR_RootConstrainSelectedInstOperands,
19612 /* 51140 */ // GIR_Coverage, 1766,
19613 /* 51140 */ GIR_EraseRootFromParent_Done,
19614 /* 51141 */ // Label 1430: @51141
19615 /* 51141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1431*/ GIMT_Encode4(51217), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1767 //
19616 /* 51148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19617 /* 51152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19618 /* 51156 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19619 /* 51160 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19620 /* 51164 */ // MIs[1] Operand 1
19621 /* 51164 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
19622 /* 51169 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19623 /* 51174 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19624 /* 51179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19625 /* 51181 */ // (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)
19626 /* 51181 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19627 /* 51184 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
19628 /* 51188 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19629 /* 51193 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19630 /* 51197 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19631 /* 51201 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19632 /* 51203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I),
19633 /* 51206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19634 /* 51208 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19635 /* 51210 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19636 /* 51213 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19637 /* 51215 */ GIR_RootConstrainSelectedInstOperands,
19638 /* 51216 */ // GIR_Coverage, 1767,
19639 /* 51216 */ GIR_EraseRootFromParent_Done,
19640 /* 51217 */ // Label 1431: @51217
19641 /* 51217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1432*/ GIMT_Encode4(51293), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1780 //
19642 /* 51224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19643 /* 51228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19644 /* 51232 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19645 /* 51236 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19646 /* 51240 */ // MIs[1] Operand 1
19647 /* 51240 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19648 /* 51245 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19649 /* 51250 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19650 /* 51255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19651 /* 51257 */ // (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)
19652 /* 51257 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
19653 /* 51260 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
19654 /* 51264 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19655 /* 51269 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19656 /* 51273 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19657 /* 51277 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19658 /* 51279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_I),
19659 /* 51282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19660 /* 51284 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19661 /* 51286 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19662 /* 51289 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19663 /* 51291 */ GIR_RootConstrainSelectedInstOperands,
19664 /* 51292 */ // GIR_Coverage, 1780,
19665 /* 51292 */ GIR_EraseRootFromParent_Done,
19666 /* 51293 */ // Label 1432: @51293
19667 /* 51293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1433*/ GIMT_Encode4(51369), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1790 //
19668 /* 51300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19669 /* 51304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19670 /* 51308 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19671 /* 51312 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19672 /* 51316 */ // MIs[1] Operand 1
19673 /* 51316 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19674 /* 51321 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19675 /* 51326 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19676 /* 51331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19677 /* 51333 */ // (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)
19678 /* 51333 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
19679 /* 51336 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
19680 /* 51340 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19681 /* 51345 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19682 /* 51349 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19683 /* 51353 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19684 /* 51355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I),
19685 /* 51358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
19686 /* 51360 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19687 /* 51362 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19688 /* 51365 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19689 /* 51367 */ GIR_RootConstrainSelectedInstOperands,
19690 /* 51368 */ // GIR_Coverage, 1790,
19691 /* 51368 */ GIR_EraseRootFromParent_Done,
19692 /* 51369 */ // Label 1433: @51369
19693 /* 51369 */ GIM_Reject,
19694 /* 51370 */ // Label 1421: @51370
19695 /* 51370 */ GIM_Try, /*On fail goto*//*Label 1434*/ GIMT_Encode4(52300),
19696 /* 51375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19697 /* 51379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19698 /* 51383 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
19699 /* 51387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1435*/ GIMT_Encode4(51463), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1796 //
19700 /* 51394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19701 /* 51398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19702 /* 51402 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19703 /* 51406 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19704 /* 51410 */ // MIs[1] Operand 1
19705 /* 51410 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
19706 /* 51415 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19707 /* 51420 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19708 /* 51425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19709 /* 51427 */ // (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)
19710 /* 51427 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19711 /* 51430 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
19712 /* 51434 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19713 /* 51439 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19714 /* 51443 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19715 /* 51447 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19716 /* 51449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19717 /* 51452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19718 /* 51454 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19719 /* 51456 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19720 /* 51459 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19721 /* 51461 */ GIR_RootConstrainSelectedInstOperands,
19722 /* 51462 */ // GIR_Coverage, 1796,
19723 /* 51462 */ GIR_EraseRootFromParent_Done,
19724 /* 51463 */ // Label 1435: @51463
19725 /* 51463 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1436*/ GIMT_Encode4(51539), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1797 //
19726 /* 51470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19727 /* 51474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19728 /* 51478 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19729 /* 51482 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19730 /* 51486 */ // MIs[1] Operand 1
19731 /* 51486 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
19732 /* 51491 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19733 /* 51496 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19734 /* 51501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19735 /* 51503 */ // (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)
19736 /* 51503 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19737 /* 51506 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
19738 /* 51510 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19739 /* 51515 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19740 /* 51519 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19741 /* 51523 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19742 /* 51525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19743 /* 51528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19744 /* 51530 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19745 /* 51532 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19746 /* 51535 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19747 /* 51537 */ GIR_RootConstrainSelectedInstOperands,
19748 /* 51538 */ // GIR_Coverage, 1797,
19749 /* 51538 */ GIR_EraseRootFromParent_Done,
19750 /* 51539 */ // Label 1436: @51539
19751 /* 51539 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1437*/ GIMT_Encode4(51615), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1800 //
19752 /* 51546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19753 /* 51550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19754 /* 51554 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19755 /* 51558 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19756 /* 51562 */ // MIs[1] Operand 1
19757 /* 51562 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
19758 /* 51567 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19759 /* 51572 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19760 /* 51577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19761 /* 51579 */ // (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)
19762 /* 51579 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19763 /* 51582 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
19764 /* 51586 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19765 /* 51591 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19766 /* 51595 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19767 /* 51599 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19768 /* 51601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19769 /* 51604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19770 /* 51606 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19771 /* 51608 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19772 /* 51611 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19773 /* 51613 */ GIR_RootConstrainSelectedInstOperands,
19774 /* 51614 */ // GIR_Coverage, 1800,
19775 /* 51614 */ GIR_EraseRootFromParent_Done,
19776 /* 51615 */ // Label 1437: @51615
19777 /* 51615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1438*/ GIMT_Encode4(51691), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1801 //
19778 /* 51622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19779 /* 51626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19780 /* 51630 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19781 /* 51634 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19782 /* 51638 */ // MIs[1] Operand 1
19783 /* 51638 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
19784 /* 51643 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19785 /* 51648 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19786 /* 51653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19787 /* 51655 */ // (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)
19788 /* 51655 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19789 /* 51658 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
19790 /* 51662 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19791 /* 51667 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19792 /* 51671 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19793 /* 51675 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19794 /* 51677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19795 /* 51680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19796 /* 51682 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19797 /* 51684 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19798 /* 51687 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19799 /* 51689 */ GIR_RootConstrainSelectedInstOperands,
19800 /* 51690 */ // GIR_Coverage, 1801,
19801 /* 51690 */ GIR_EraseRootFromParent_Done,
19802 /* 51691 */ // Label 1438: @51691
19803 /* 51691 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1439*/ GIMT_Encode4(51767), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1804 //
19804 /* 51698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19805 /* 51702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19806 /* 51706 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19807 /* 51710 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19808 /* 51714 */ // MIs[1] Operand 1
19809 /* 51714 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19810 /* 51719 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19811 /* 51724 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19812 /* 51729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19813 /* 51731 */ // (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)
19814 /* 51731 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19815 /* 51734 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
19816 /* 51738 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19817 /* 51743 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19818 /* 51747 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19819 /* 51751 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19820 /* 51753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19821 /* 51756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19822 /* 51758 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19823 /* 51760 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19824 /* 51763 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19825 /* 51765 */ GIR_RootConstrainSelectedInstOperands,
19826 /* 51766 */ // GIR_Coverage, 1804,
19827 /* 51766 */ GIR_EraseRootFromParent_Done,
19828 /* 51767 */ // Label 1439: @51767
19829 /* 51767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1440*/ GIMT_Encode4(51843), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1806 //
19830 /* 51774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19831 /* 51778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19832 /* 51782 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
19833 /* 51786 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
19834 /* 51790 */ // MIs[1] Operand 1
19835 /* 51790 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19836 /* 51795 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19837 /* 51800 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
19838 /* 51805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19839 /* 51807 */ // (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)
19840 /* 51807 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19841 /* 51810 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
19842 /* 51814 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19843 /* 51819 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19844 /* 51823 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19845 /* 51827 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19846 /* 51829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S),
19847 /* 51832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19848 /* 51834 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19849 /* 51836 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19850 /* 51839 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19851 /* 51841 */ GIR_RootConstrainSelectedInstOperands,
19852 /* 51842 */ // GIR_Coverage, 1806,
19853 /* 51842 */ GIR_EraseRootFromParent_Done,
19854 /* 51843 */ // Label 1440: @51843
19855 /* 51843 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1441*/ GIMT_Encode4(51919), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1809 //
19856 /* 51850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19857 /* 51854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19858 /* 51858 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19859 /* 51862 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19860 /* 51866 */ // MIs[1] Operand 1
19861 /* 51866 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
19862 /* 51871 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19863 /* 51876 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19864 /* 51881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19865 /* 51883 */ // (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)
19866 /* 51883 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19867 /* 51886 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
19868 /* 51890 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19869 /* 51895 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19870 /* 51899 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19871 /* 51903 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19872 /* 51905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19873 /* 51908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19874 /* 51910 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19875 /* 51912 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19876 /* 51915 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19877 /* 51917 */ GIR_RootConstrainSelectedInstOperands,
19878 /* 51918 */ // GIR_Coverage, 1809,
19879 /* 51918 */ GIR_EraseRootFromParent_Done,
19880 /* 51919 */ // Label 1441: @51919
19881 /* 51919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1442*/ GIMT_Encode4(51995), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1810 //
19882 /* 51926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19883 /* 51930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19884 /* 51934 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19885 /* 51938 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19886 /* 51942 */ // MIs[1] Operand 1
19887 /* 51942 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
19888 /* 51947 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19889 /* 51952 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19890 /* 51957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19891 /* 51959 */ // (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)
19892 /* 51959 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19893 /* 51962 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
19894 /* 51966 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19895 /* 51971 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19896 /* 51975 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19897 /* 51979 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19898 /* 51981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19899 /* 51984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19900 /* 51986 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19901 /* 51988 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19902 /* 51991 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19903 /* 51993 */ GIR_RootConstrainSelectedInstOperands,
19904 /* 51994 */ // GIR_Coverage, 1810,
19905 /* 51994 */ GIR_EraseRootFromParent_Done,
19906 /* 51995 */ // Label 1442: @51995
19907 /* 51995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1443*/ GIMT_Encode4(52071), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1813 //
19908 /* 52002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19909 /* 52006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19910 /* 52010 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19911 /* 52014 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19912 /* 52018 */ // MIs[1] Operand 1
19913 /* 52018 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
19914 /* 52023 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19915 /* 52028 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19916 /* 52033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19917 /* 52035 */ // (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)
19918 /* 52035 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19919 /* 52038 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
19920 /* 52042 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19921 /* 52047 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19922 /* 52051 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19923 /* 52055 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19924 /* 52057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19925 /* 52060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19926 /* 52062 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19927 /* 52064 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19928 /* 52067 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19929 /* 52069 */ GIR_RootConstrainSelectedInstOperands,
19930 /* 52070 */ // GIR_Coverage, 1813,
19931 /* 52070 */ GIR_EraseRootFromParent_Done,
19932 /* 52071 */ // Label 1443: @52071
19933 /* 52071 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1444*/ GIMT_Encode4(52147), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1814 //
19934 /* 52078 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19935 /* 52082 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19936 /* 52086 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19937 /* 52090 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19938 /* 52094 */ // MIs[1] Operand 1
19939 /* 52094 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
19940 /* 52099 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19941 /* 52104 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19942 /* 52109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19943 /* 52111 */ // (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)
19944 /* 52111 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19945 /* 52114 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
19946 /* 52118 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19947 /* 52123 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19948 /* 52127 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19949 /* 52131 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19950 /* 52133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S),
19951 /* 52136 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19952 /* 52138 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19953 /* 52140 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19954 /* 52143 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19955 /* 52145 */ GIR_RootConstrainSelectedInstOperands,
19956 /* 52146 */ // GIR_Coverage, 1814,
19957 /* 52146 */ GIR_EraseRootFromParent_Done,
19958 /* 52147 */ // Label 1444: @52147
19959 /* 52147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1445*/ GIMT_Encode4(52223), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1817 //
19960 /* 52154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19961 /* 52158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19962 /* 52162 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19963 /* 52166 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19964 /* 52170 */ // MIs[1] Operand 1
19965 /* 52170 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
19966 /* 52175 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19967 /* 52180 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19968 /* 52185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19969 /* 52187 */ // (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)
19970 /* 52187 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
19971 /* 52190 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
19972 /* 52194 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19973 /* 52199 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
19974 /* 52203 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
19975 /* 52207 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19976 /* 52209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_S),
19977 /* 52212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
19978 /* 52214 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
19979 /* 52216 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19980 /* 52219 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
19981 /* 52221 */ GIR_RootConstrainSelectedInstOperands,
19982 /* 52222 */ // GIR_Coverage, 1817,
19983 /* 52222 */ GIR_EraseRootFromParent_Done,
19984 /* 52223 */ // Label 1445: @52223
19985 /* 52223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1446*/ GIMT_Encode4(52299), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1819 //
19986 /* 52230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19987 /* 52234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
19988 /* 52238 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
19989 /* 52242 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
19990 /* 52246 */ // MIs[1] Operand 1
19991 /* 52246 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
19992 /* 52251 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19993 /* 52256 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
19994 /* 52261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19995 /* 52263 */ // (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)
19996 /* 52263 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
19997 /* 52266 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
19998 /* 52270 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19999 /* 52275 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20000 /* 52279 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20001 /* 52283 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20002 /* 52285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_S),
20003 /* 52288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20004 /* 52290 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20005 /* 52292 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20006 /* 52295 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20007 /* 52297 */ GIR_RootConstrainSelectedInstOperands,
20008 /* 52298 */ // GIR_Coverage, 1819,
20009 /* 52298 */ GIR_EraseRootFromParent_Done,
20010 /* 52299 */ // Label 1446: @52299
20011 /* 52299 */ GIM_Reject,
20012 /* 52300 */ // Label 1434: @52300
20013 /* 52300 */ GIM_Try, /*On fail goto*//*Label 1447*/ GIMT_Encode4(52790),
20014 /* 52305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20015 /* 52309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20016 /* 52313 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20017 /* 52317 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1448*/ GIMT_Encode4(52376), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2002 //
20018 /* 52324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20019 /* 52328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20020 /* 52332 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20021 /* 52336 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20022 /* 52340 */ // MIs[1] Operand 1
20023 /* 52340 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
20024 /* 52345 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20025 /* 52350 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20026 /* 52355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20027 /* 52357 */ // (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)
20028 /* 52357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZSlt),
20029 /* 52360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20030 /* 52362 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20031 /* 52364 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20032 /* 52366 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20033 /* 52370 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
20034 /* 52374 */ GIR_RootConstrainSelectedInstOperands,
20035 /* 52375 */ // GIR_Coverage, 2002,
20036 /* 52375 */ GIR_EraseRootFromParent_Done,
20037 /* 52376 */ // Label 1448: @52376
20038 /* 52376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1449*/ GIMT_Encode4(52435), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2003 //
20039 /* 52383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20040 /* 52387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20041 /* 52391 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20042 /* 52395 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20043 /* 52399 */ // MIs[1] Operand 1
20044 /* 52399 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
20045 /* 52404 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20046 /* 52409 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20047 /* 52414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20048 /* 52416 */ // (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)
20049 /* 52416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBtneZSlt),
20050 /* 52419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20051 /* 52421 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20052 /* 52423 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20053 /* 52425 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
20054 /* 52429 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20055 /* 52433 */ GIR_RootConstrainSelectedInstOperands,
20056 /* 52434 */ // GIR_Coverage, 2003,
20057 /* 52434 */ GIR_EraseRootFromParent_Done,
20058 /* 52435 */ // Label 1449: @52435
20059 /* 52435 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1450*/ GIMT_Encode4(52494), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2004 //
20060 /* 52442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20061 /* 52446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20062 /* 52450 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20063 /* 52454 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20064 /* 52458 */ // MIs[1] Operand 1
20065 /* 52458 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
20066 /* 52463 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20067 /* 52468 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20068 /* 52473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20069 /* 52475 */ // (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)
20070 /* 52475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZSltu),
20071 /* 52478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20072 /* 52480 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20073 /* 52482 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20074 /* 52484 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20075 /* 52488 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
20076 /* 52492 */ GIR_RootConstrainSelectedInstOperands,
20077 /* 52493 */ // GIR_Coverage, 2004,
20078 /* 52493 */ GIR_EraseRootFromParent_Done,
20079 /* 52494 */ // Label 1450: @52494
20080 /* 52494 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1451*/ GIMT_Encode4(52553), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2005 //
20081 /* 52501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20082 /* 52505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20083 /* 52509 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20084 /* 52513 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20085 /* 52517 */ // MIs[1] Operand 1
20086 /* 52517 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGT),
20087 /* 52522 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20088 /* 52527 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20089 /* 52532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20090 /* 52534 */ // (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)
20091 /* 52534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBtneZSltu),
20092 /* 52537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20093 /* 52539 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20094 /* 52541 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20095 /* 52543 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
20096 /* 52547 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20097 /* 52551 */ GIR_RootConstrainSelectedInstOperands,
20098 /* 52552 */ // GIR_Coverage, 2005,
20099 /* 52552 */ GIR_EraseRootFromParent_Done,
20100 /* 52553 */ // Label 1451: @52553
20101 /* 52553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1452*/ GIMT_Encode4(52612), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2007 //
20102 /* 52560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20103 /* 52564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20104 /* 52568 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20105 /* 52572 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20106 /* 52576 */ // MIs[1] Operand 1
20107 /* 52576 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
20108 /* 52581 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20109 /* 52586 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20110 /* 52591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20111 /* 52593 */ // (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)
20112 /* 52593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZSlt),
20113 /* 52596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20114 /* 52598 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20115 /* 52600 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20116 /* 52602 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
20117 /* 52606 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20118 /* 52610 */ GIR_RootConstrainSelectedInstOperands,
20119 /* 52611 */ // GIR_Coverage, 2007,
20120 /* 52611 */ GIR_EraseRootFromParent_Done,
20121 /* 52612 */ // Label 1452: @52612
20122 /* 52612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1453*/ GIMT_Encode4(52671), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2008 //
20123 /* 52619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20124 /* 52623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20125 /* 52627 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20126 /* 52631 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20127 /* 52635 */ // MIs[1] Operand 1
20128 /* 52635 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
20129 /* 52640 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20130 /* 52645 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20131 /* 52650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20132 /* 52652 */ // (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)
20133 /* 52652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZSltu),
20134 /* 52655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20135 /* 52657 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20136 /* 52659 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20137 /* 52661 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
20138 /* 52665 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20139 /* 52669 */ GIR_RootConstrainSelectedInstOperands,
20140 /* 52670 */ // GIR_Coverage, 2008,
20141 /* 52670 */ GIR_EraseRootFromParent_Done,
20142 /* 52671 */ // Label 1453: @52671
20143 /* 52671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1454*/ GIMT_Encode4(52730), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2009 //
20144 /* 52678 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20145 /* 52682 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20146 /* 52686 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20147 /* 52690 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20148 /* 52694 */ // MIs[1] Operand 1
20149 /* 52694 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20150 /* 52699 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20151 /* 52704 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20152 /* 52709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20153 /* 52711 */ // (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)
20154 /* 52711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBteqZCmp),
20155 /* 52714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20156 /* 52716 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20157 /* 52718 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20158 /* 52720 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
20159 /* 52724 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20160 /* 52728 */ GIR_RootConstrainSelectedInstOperands,
20161 /* 52729 */ // GIR_Coverage, 2009,
20162 /* 52729 */ GIR_EraseRootFromParent_Done,
20163 /* 52730 */ // Label 1454: @52730
20164 /* 52730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1455*/ GIMT_Encode4(52789), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2012 //
20165 /* 52737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20166 /* 52741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20167 /* 52745 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20168 /* 52749 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20169 /* 52753 */ // MIs[1] Operand 1
20170 /* 52753 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20171 /* 52758 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20172 /* 52763 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20173 /* 52768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20174 /* 52770 */ // (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)
20175 /* 52770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelTBtneZCmp),
20176 /* 52773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20177 /* 52775 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20178 /* 52777 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20179 /* 52779 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/3, // b
20180 /* 52783 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // a
20181 /* 52787 */ GIR_RootConstrainSelectedInstOperands,
20182 /* 52788 */ // GIR_Coverage, 2012,
20183 /* 52788 */ GIR_EraseRootFromParent_Done,
20184 /* 52789 */ // Label 1455: @52789
20185 /* 52789 */ GIM_Reject,
20186 /* 52790 */ // Label 1447: @52790
20187 /* 52790 */ GIM_Try, /*On fail goto*//*Label 1456*/ GIMT_Encode4(53720),
20188 /* 52795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20189 /* 52799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20190 /* 52803 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20191 /* 52807 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1457*/ GIMT_Encode4(52883), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2353 //
20192 /* 52814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20193 /* 52818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20194 /* 52822 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20195 /* 52826 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20196 /* 52830 */ // MIs[1] Operand 1
20197 /* 52830 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
20198 /* 52835 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20199 /* 52840 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20200 /* 52845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20201 /* 52847 */ // (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)
20202 /* 52847 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20203 /* 52850 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
20204 /* 52854 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20205 /* 52859 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20206 /* 52863 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20207 /* 52867 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20208 /* 52869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20209 /* 52872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20210 /* 52874 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20211 /* 52876 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20212 /* 52879 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20213 /* 52881 */ GIR_RootConstrainSelectedInstOperands,
20214 /* 52882 */ // GIR_Coverage, 2353,
20215 /* 52882 */ GIR_EraseRootFromParent_Done,
20216 /* 52883 */ // Label 1457: @52883
20217 /* 52883 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1458*/ GIMT_Encode4(52959), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2354 //
20218 /* 52890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20219 /* 52894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20220 /* 52898 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20221 /* 52902 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20222 /* 52906 */ // MIs[1] Operand 1
20223 /* 52906 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
20224 /* 52911 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20225 /* 52916 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20226 /* 52921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20227 /* 52923 */ // (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)
20228 /* 52923 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20229 /* 52926 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
20230 /* 52930 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20231 /* 52935 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20232 /* 52939 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20233 /* 52943 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20234 /* 52945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20235 /* 52948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20236 /* 52950 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20237 /* 52952 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20238 /* 52955 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20239 /* 52957 */ GIR_RootConstrainSelectedInstOperands,
20240 /* 52958 */ // GIR_Coverage, 2354,
20241 /* 52958 */ GIR_EraseRootFromParent_Done,
20242 /* 52959 */ // Label 1458: @52959
20243 /* 52959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1459*/ GIMT_Encode4(53035), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2357 //
20244 /* 52966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20245 /* 52970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20246 /* 52974 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20247 /* 52978 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20248 /* 52982 */ // MIs[1] Operand 1
20249 /* 52982 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
20250 /* 52987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20251 /* 52992 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20252 /* 52997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20253 /* 52999 */ // (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)
20254 /* 52999 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20255 /* 53002 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
20256 /* 53006 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20257 /* 53011 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20258 /* 53015 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20259 /* 53019 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20260 /* 53021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20261 /* 53024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20262 /* 53026 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20263 /* 53028 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20264 /* 53031 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20265 /* 53033 */ GIR_RootConstrainSelectedInstOperands,
20266 /* 53034 */ // GIR_Coverage, 2357,
20267 /* 53034 */ GIR_EraseRootFromParent_Done,
20268 /* 53035 */ // Label 1459: @53035
20269 /* 53035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1460*/ GIMT_Encode4(53111), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2358 //
20270 /* 53042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20271 /* 53046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20272 /* 53050 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20273 /* 53054 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20274 /* 53058 */ // MIs[1] Operand 1
20275 /* 53058 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
20276 /* 53063 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20277 /* 53068 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20278 /* 53073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20279 /* 53075 */ // (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)
20280 /* 53075 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20281 /* 53078 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
20282 /* 53082 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20283 /* 53087 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20284 /* 53091 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20285 /* 53095 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20286 /* 53097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20287 /* 53100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20288 /* 53102 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20289 /* 53104 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20290 /* 53107 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20291 /* 53109 */ GIR_RootConstrainSelectedInstOperands,
20292 /* 53110 */ // GIR_Coverage, 2358,
20293 /* 53110 */ GIR_EraseRootFromParent_Done,
20294 /* 53111 */ // Label 1460: @53111
20295 /* 53111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1461*/ GIMT_Encode4(53187), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2361 //
20296 /* 53118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20297 /* 53122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20298 /* 53126 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20299 /* 53130 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20300 /* 53134 */ // MIs[1] Operand 1
20301 /* 53134 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20302 /* 53139 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20303 /* 53144 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20304 /* 53149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20305 /* 53151 */ // (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)
20306 /* 53151 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20307 /* 53154 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
20308 /* 53158 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20309 /* 53163 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20310 /* 53167 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20311 /* 53171 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20312 /* 53173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20313 /* 53176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20314 /* 53178 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20315 /* 53180 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20316 /* 53183 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20317 /* 53185 */ GIR_RootConstrainSelectedInstOperands,
20318 /* 53186 */ // GIR_Coverage, 2361,
20319 /* 53186 */ GIR_EraseRootFromParent_Done,
20320 /* 53187 */ // Label 1461: @53187
20321 /* 53187 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1462*/ GIMT_Encode4(53263), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6), // Rule ID 2364 //
20322 /* 53194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20323 /* 53198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20324 /* 53202 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20325 /* 53206 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20326 /* 53210 */ // MIs[1] Operand 1
20327 /* 53210 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20328 /* 53215 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20329 /* 53220 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20330 /* 53225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20331 /* 53227 */ // (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)
20332 /* 53227 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20333 /* 53230 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
20334 /* 53234 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20335 /* 53239 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20336 /* 53243 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20337 /* 53247 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20338 /* 53249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
20339 /* 53252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20340 /* 53254 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20341 /* 53256 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20342 /* 53259 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20343 /* 53261 */ GIR_RootConstrainSelectedInstOperands,
20344 /* 53262 */ // GIR_Coverage, 2364,
20345 /* 53262 */ GIR_EraseRootFromParent_Done,
20346 /* 53263 */ // Label 1462: @53263
20347 /* 53263 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1463*/ GIMT_Encode4(53339), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2367 //
20348 /* 53270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20349 /* 53274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20350 /* 53278 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20351 /* 53282 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20352 /* 53286 */ // MIs[1] Operand 1
20353 /* 53286 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
20354 /* 53291 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20355 /* 53296 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20356 /* 53301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20357 /* 53303 */ // (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)
20358 /* 53303 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20359 /* 53306 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
20360 /* 53310 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20361 /* 53315 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20362 /* 53319 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20363 /* 53323 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20364 /* 53325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20365 /* 53328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20366 /* 53330 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20367 /* 53332 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20368 /* 53335 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20369 /* 53337 */ GIR_RootConstrainSelectedInstOperands,
20370 /* 53338 */ // GIR_Coverage, 2367,
20371 /* 53338 */ GIR_EraseRootFromParent_Done,
20372 /* 53339 */ // Label 1463: @53339
20373 /* 53339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1464*/ GIMT_Encode4(53415), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2368 //
20374 /* 53346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20375 /* 53350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20376 /* 53354 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20377 /* 53358 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20378 /* 53362 */ // MIs[1] Operand 1
20379 /* 53362 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
20380 /* 53367 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20381 /* 53372 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20382 /* 53377 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20383 /* 53379 */ // (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)
20384 /* 53379 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20385 /* 53382 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
20386 /* 53386 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20387 /* 53391 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20388 /* 53395 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20389 /* 53399 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20390 /* 53401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20391 /* 53404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20392 /* 53406 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20393 /* 53408 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20394 /* 53411 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20395 /* 53413 */ GIR_RootConstrainSelectedInstOperands,
20396 /* 53414 */ // GIR_Coverage, 2368,
20397 /* 53414 */ GIR_EraseRootFromParent_Done,
20398 /* 53415 */ // Label 1464: @53415
20399 /* 53415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1465*/ GIMT_Encode4(53491), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2371 //
20400 /* 53422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20401 /* 53426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20402 /* 53430 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20403 /* 53434 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20404 /* 53438 */ // MIs[1] Operand 1
20405 /* 53438 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
20406 /* 53443 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20407 /* 53448 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20408 /* 53453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20409 /* 53455 */ // (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)
20410 /* 53455 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20411 /* 53458 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
20412 /* 53462 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20413 /* 53467 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20414 /* 53471 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20415 /* 53475 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20416 /* 53477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20417 /* 53480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20418 /* 53482 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20419 /* 53484 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20420 /* 53487 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20421 /* 53489 */ GIR_RootConstrainSelectedInstOperands,
20422 /* 53490 */ // GIR_Coverage, 2371,
20423 /* 53490 */ GIR_EraseRootFromParent_Done,
20424 /* 53491 */ // Label 1465: @53491
20425 /* 53491 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1466*/ GIMT_Encode4(53567), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2372 //
20426 /* 53498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20427 /* 53502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20428 /* 53506 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20429 /* 53510 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20430 /* 53514 */ // MIs[1] Operand 1
20431 /* 53514 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
20432 /* 53519 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20433 /* 53524 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20434 /* 53529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20435 /* 53531 */ // (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)
20436 /* 53531 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20437 /* 53534 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
20438 /* 53538 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20439 /* 53543 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20440 /* 53547 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20441 /* 53551 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20442 /* 53553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20443 /* 53556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20444 /* 53558 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20445 /* 53560 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20446 /* 53563 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20447 /* 53565 */ GIR_RootConstrainSelectedInstOperands,
20448 /* 53566 */ // GIR_Coverage, 2372,
20449 /* 53566 */ GIR_EraseRootFromParent_Done,
20450 /* 53567 */ // Label 1466: @53567
20451 /* 53567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1467*/ GIMT_Encode4(53643), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2375 //
20452 /* 53574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20453 /* 53578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20454 /* 53582 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20455 /* 53586 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20456 /* 53590 */ // MIs[1] Operand 1
20457 /* 53590 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20458 /* 53595 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20459 /* 53600 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20460 /* 53605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20461 /* 53607 */ // (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)
20462 /* 53607 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20463 /* 53610 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
20464 /* 53614 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20465 /* 53619 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20466 /* 53623 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20467 /* 53627 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20468 /* 53629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_MM),
20469 /* 53632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20470 /* 53634 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20471 /* 53636 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20472 /* 53639 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20473 /* 53641 */ GIR_RootConstrainSelectedInstOperands,
20474 /* 53642 */ // GIR_Coverage, 2375,
20475 /* 53642 */ GIR_EraseRootFromParent_Done,
20476 /* 53643 */ // Label 1467: @53643
20477 /* 53643 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1468*/ GIMT_Encode4(53719), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2378 //
20478 /* 53650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20479 /* 53654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20480 /* 53658 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20481 /* 53662 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20482 /* 53666 */ // MIs[1] Operand 1
20483 /* 53666 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20484 /* 53671 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20485 /* 53676 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20486 /* 53681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20487 /* 53683 */ // (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)
20488 /* 53683 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20489 /* 53686 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
20490 /* 53690 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20491 /* 53695 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20492 /* 53699 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20493 /* 53703 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20494 /* 53705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
20495 /* 53708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20496 /* 53710 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20497 /* 53712 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20498 /* 53715 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20499 /* 53717 */ GIR_RootConstrainSelectedInstOperands,
20500 /* 53718 */ // GIR_Coverage, 2378,
20501 /* 53718 */ GIR_EraseRootFromParent_Done,
20502 /* 53719 */ // Label 1468: @53719
20503 /* 53719 */ GIM_Reject,
20504 /* 53720 */ // Label 1456: @53720
20505 /* 53720 */ GIM_Try, /*On fail goto*//*Label 1469*/ GIMT_Encode4(54194),
20506 /* 53725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20507 /* 53729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20508 /* 53733 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20509 /* 53737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1470*/ GIMT_Encode4(53813), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2414 //
20510 /* 53744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20511 /* 53748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20512 /* 53752 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20513 /* 53756 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20514 /* 53760 */ // MIs[1] Operand 1
20515 /* 53760 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
20516 /* 53765 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20517 /* 53770 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20518 /* 53775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20519 /* 53777 */ // (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)
20520 /* 53777 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20521 /* 53780 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
20522 /* 53784 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20523 /* 53789 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20524 /* 53793 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20525 /* 53797 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20526 /* 53799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
20527 /* 53802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20528 /* 53804 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20529 /* 53806 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20530 /* 53809 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20531 /* 53811 */ GIR_RootConstrainSelectedInstOperands,
20532 /* 53812 */ // GIR_Coverage, 2414,
20533 /* 53812 */ GIR_EraseRootFromParent_Done,
20534 /* 53813 */ // Label 1470: @53813
20535 /* 53813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1471*/ GIMT_Encode4(53889), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2415 //
20536 /* 53820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20537 /* 53824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20538 /* 53828 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20539 /* 53832 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20540 /* 53836 */ // MIs[1] Operand 1
20541 /* 53836 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
20542 /* 53841 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20543 /* 53846 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20544 /* 53851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20545 /* 53853 */ // (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)
20546 /* 53853 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20547 /* 53856 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
20548 /* 53860 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20549 /* 53865 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20550 /* 53869 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20551 /* 53873 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20552 /* 53875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
20553 /* 53878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20554 /* 53880 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20555 /* 53882 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20556 /* 53885 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20557 /* 53887 */ GIR_RootConstrainSelectedInstOperands,
20558 /* 53888 */ // GIR_Coverage, 2415,
20559 /* 53888 */ GIR_EraseRootFromParent_Done,
20560 /* 53889 */ // Label 1471: @53889
20561 /* 53889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1472*/ GIMT_Encode4(53965), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2418 //
20562 /* 53896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20563 /* 53900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20564 /* 53904 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20565 /* 53908 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20566 /* 53912 */ // MIs[1] Operand 1
20567 /* 53912 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
20568 /* 53917 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20569 /* 53922 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20570 /* 53927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20571 /* 53929 */ // (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)
20572 /* 53929 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20573 /* 53932 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
20574 /* 53936 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20575 /* 53941 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20576 /* 53945 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20577 /* 53949 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20578 /* 53951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
20579 /* 53954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20580 /* 53956 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20581 /* 53958 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20582 /* 53961 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20583 /* 53963 */ GIR_RootConstrainSelectedInstOperands,
20584 /* 53964 */ // GIR_Coverage, 2418,
20585 /* 53964 */ GIR_EraseRootFromParent_Done,
20586 /* 53965 */ // Label 1472: @53965
20587 /* 53965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1473*/ GIMT_Encode4(54041), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2419 //
20588 /* 53972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20589 /* 53976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20590 /* 53980 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20591 /* 53984 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20592 /* 53988 */ // MIs[1] Operand 1
20593 /* 53988 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
20594 /* 53993 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20595 /* 53998 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20596 /* 54003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20597 /* 54005 */ // (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)
20598 /* 54005 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20599 /* 54008 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
20600 /* 54012 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20601 /* 54017 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20602 /* 54021 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20603 /* 54025 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20604 /* 54027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
20605 /* 54030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20606 /* 54032 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20607 /* 54034 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20608 /* 54037 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20609 /* 54039 */ GIR_RootConstrainSelectedInstOperands,
20610 /* 54040 */ // GIR_Coverage, 2419,
20611 /* 54040 */ GIR_EraseRootFromParent_Done,
20612 /* 54041 */ // Label 1473: @54041
20613 /* 54041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1474*/ GIMT_Encode4(54117), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2422 //
20614 /* 54048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20615 /* 54052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20616 /* 54056 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20617 /* 54060 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20618 /* 54064 */ // MIs[1] Operand 1
20619 /* 54064 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20620 /* 54069 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20621 /* 54074 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20622 /* 54079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20623 /* 54081 */ // (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)
20624 /* 54081 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20625 /* 54084 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
20626 /* 54088 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20627 /* 54093 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20628 /* 54097 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20629 /* 54101 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20630 /* 54103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_S_MM),
20631 /* 54106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20632 /* 54108 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20633 /* 54110 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20634 /* 54113 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20635 /* 54115 */ GIR_RootConstrainSelectedInstOperands,
20636 /* 54116 */ // GIR_Coverage, 2422,
20637 /* 54116 */ GIR_EraseRootFromParent_Done,
20638 /* 54117 */ // Label 1474: @54117
20639 /* 54117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1475*/ GIMT_Encode4(54193), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2424 //
20640 /* 54124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20641 /* 54128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20642 /* 54132 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20643 /* 54136 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20644 /* 54140 */ // MIs[1] Operand 1
20645 /* 54140 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20646 /* 54145 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20647 /* 54150 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20648 /* 54155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20649 /* 54157 */ // (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)
20650 /* 54157 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20651 /* 54160 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
20652 /* 54164 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20653 /* 54169 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20654 /* 54173 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
20655 /* 54177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20656 /* 54179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S_MM),
20657 /* 54182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20658 /* 54184 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20659 /* 54186 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20660 /* 54189 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20661 /* 54191 */ GIR_RootConstrainSelectedInstOperands,
20662 /* 54192 */ // GIR_Coverage, 2424,
20663 /* 54192 */ GIR_EraseRootFromParent_Done,
20664 /* 54193 */ // Label 1475: @54193
20665 /* 54193 */ GIM_Reject,
20666 /* 54194 */ // Label 1469: @54194
20667 /* 54194 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1476*/ GIMT_Encode4(54224), GIMT_Encode2(GIFBS_HasStdEnc_NotMips4_32), // Rule ID 323 //
20668 /* 54201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20669 /* 54205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20670 /* 54209 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20671 /* 54213 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20672 /* 54217 */ // (select:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$cond, GPR32Opnd:{ *:[i32] }:$T, GPR32Opnd:{ *:[i32] }:$F) => (PseudoSELECT_I:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$cond, GPR32Opnd:{ *:[i32] }:$T, GPR32Opnd:{ *:[i32] }:$F)
20673 /* 54217 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_I),
20674 /* 54222 */ GIR_RootConstrainSelectedInstOperands,
20675 /* 54223 */ // GIR_Coverage, 323,
20676 /* 54223 */ GIR_Done,
20677 /* 54224 */ // Label 1476: @54224
20678 /* 54224 */ GIM_Try, /*On fail goto*//*Label 1477*/ GIMT_Encode4(54318),
20679 /* 54229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20680 /* 54233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1478*/ GIMT_Encode4(54259), GIMT_Encode2(GIFBS_HasStdEnc_NotMips4_32), // Rule ID 325 //
20681 /* 54240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20682 /* 54244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20683 /* 54248 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20684 /* 54252 */ // (select:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$cond, FGR32Opnd:{ *:[f32] }:$T, FGR32Opnd:{ *:[f32] }:$F) => (PseudoSELECT_S:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$cond, FGR32Opnd:{ *:[f32] }:$T, FGR32Opnd:{ *:[f32] }:$F)
20685 /* 54252 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_S),
20686 /* 54257 */ GIR_RootConstrainSelectedInstOperands,
20687 /* 54258 */ // GIR_Coverage, 325,
20688 /* 54258 */ GIR_Done,
20689 /* 54259 */ // Label 1478: @54259
20690 /* 54259 */ GIM_Try, /*On fail goto*//*Label 1479*/ GIMT_Encode4(54317),
20691 /* 54264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32CCRegClassID),
20692 /* 54268 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20693 /* 54272 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20694 /* 54276 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1480*/ GIMT_Encode4(54296), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 362 //
20695 /* 54283 */ // (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)
20696 /* 54283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEL_S),
20697 /* 54286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20698 /* 54288 */ GIR_RootToRootCopy, /*OpIdx*/1, // fd_in
20699 /* 54290 */ GIR_RootToRootCopy, /*OpIdx*/3, // fs
20700 /* 54292 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
20701 /* 54294 */ GIR_RootConstrainSelectedInstOperands,
20702 /* 54295 */ // GIR_Coverage, 362,
20703 /* 54295 */ GIR_EraseRootFromParent_Done,
20704 /* 54296 */ // Label 1480: @54296
20705 /* 54296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1481*/ GIMT_Encode4(54316), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1235 //
20706 /* 54303 */ // (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)
20707 /* 54303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEL_S_MMR6),
20708 /* 54306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20709 /* 54308 */ GIR_RootToRootCopy, /*OpIdx*/1, // fd_in
20710 /* 54310 */ GIR_RootToRootCopy, /*OpIdx*/3, // fs
20711 /* 54312 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
20712 /* 54314 */ GIR_RootConstrainSelectedInstOperands,
20713 /* 54315 */ // GIR_Coverage, 1235,
20714 /* 54315 */ GIR_EraseRootFromParent_Done,
20715 /* 54316 */ // Label 1481: @54316
20716 /* 54316 */ GIM_Reject,
20717 /* 54317 */ // Label 1479: @54317
20718 /* 54317 */ GIM_Reject,
20719 /* 54318 */ // Label 1477: @54318
20720 /* 54318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1482*/ GIMT_Encode4(54354), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1752 //
20721 /* 54325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20722 /* 54329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20723 /* 54333 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20724 /* 54337 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20725 /* 54341 */ // (select:{ *:[i32] } GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$F)
20726 /* 54341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I),
20727 /* 54344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20728 /* 54346 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20729 /* 54348 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
20730 /* 54350 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20731 /* 54352 */ GIR_RootConstrainSelectedInstOperands,
20732 /* 54353 */ // GIR_Coverage, 1752,
20733 /* 54353 */ GIR_EraseRootFromParent_Done,
20734 /* 54354 */ // Label 1482: @54354
20735 /* 54354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1483*/ GIMT_Encode4(54390), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1807 //
20736 /* 54361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20737 /* 54365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20738 /* 54369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20739 /* 54373 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20740 /* 54377 */ // (select:{ *:[f32] } GPR32:{ *:[i32] }:$cond, FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR32:{ *:[i32] }:$cond, FGR32:{ *:[f32] }:$F)
20741 /* 54377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S),
20742 /* 54380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20743 /* 54382 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20744 /* 54384 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
20745 /* 54386 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20746 /* 54388 */ GIR_RootConstrainSelectedInstOperands,
20747 /* 54389 */ // GIR_Coverage, 1807,
20748 /* 54389 */ GIR_EraseRootFromParent_Done,
20749 /* 54390 */ // Label 1483: @54390
20750 /* 54390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1484*/ GIMT_Encode4(54426), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2014 //
20751 /* 54397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20752 /* 54401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20753 /* 54405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20754 /* 54409 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::CPU16RegsRegClassID),
20755 /* 54413 */ // (select:{ *:[i32] } CPU16Regs:{ *:[i32] }:$a, CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y) => (SelBneZ:{ *:[i32] } CPU16Regs:{ *:[i32] }:$x, CPU16Regs:{ *:[i32] }:$y, CPU16Regs:{ *:[i32] }:$a)
20756 /* 54413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SelBneZ),
20757 /* 54416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd_]
20758 /* 54418 */ GIR_RootToRootCopy, /*OpIdx*/2, // x
20759 /* 54420 */ GIR_RootToRootCopy, /*OpIdx*/3, // y
20760 /* 54422 */ GIR_RootToRootCopy, /*OpIdx*/1, // a
20761 /* 54424 */ GIR_RootConstrainSelectedInstOperands,
20762 /* 54425 */ // GIR_Coverage, 2014,
20763 /* 54425 */ GIR_EraseRootFromParent_Done,
20764 /* 54426 */ // Label 1484: @54426
20765 /* 54426 */ GIM_Try, /*On fail goto*//*Label 1485*/ GIMT_Encode4(54488),
20766 /* 54431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20767 /* 54435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20768 /* 54439 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20769 /* 54443 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20770 /* 54447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1486*/ GIMT_Encode4(54467), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6), // Rule ID 2365 //
20771 /* 54454 */ // (select:{ *:[i32] } GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$F)
20772 /* 54454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
20773 /* 54457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20774 /* 54459 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20775 /* 54461 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
20776 /* 54463 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20777 /* 54465 */ GIR_RootConstrainSelectedInstOperands,
20778 /* 54466 */ // GIR_Coverage, 2365,
20779 /* 54466 */ GIR_EraseRootFromParent_Done,
20780 /* 54467 */ // Label 1486: @54467
20781 /* 54467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1487*/ GIMT_Encode4(54487), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2379 //
20782 /* 54474 */ // (select:{ *:[i32] } GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I_MM:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$cond, GPR32:{ *:[i32] }:$F)
20783 /* 54474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_MM),
20784 /* 54477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20785 /* 54479 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20786 /* 54481 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
20787 /* 54483 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20788 /* 54485 */ GIR_RootConstrainSelectedInstOperands,
20789 /* 54486 */ // GIR_Coverage, 2379,
20790 /* 54486 */ GIR_EraseRootFromParent_Done,
20791 /* 54487 */ // Label 1487: @54487
20792 /* 54487 */ GIM_Reject,
20793 /* 54488 */ // Label 1485: @54488
20794 /* 54488 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1488*/ GIMT_Encode4(54524), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6), // Rule ID 2425 //
20795 /* 54495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20796 /* 54499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20797 /* 54503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20798 /* 54507 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20799 /* 54511 */ // (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)
20800 /* 54511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_S_MM),
20801 /* 54514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20802 /* 54516 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20803 /* 54518 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
20804 /* 54520 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20805 /* 54522 */ GIR_RootConstrainSelectedInstOperands,
20806 /* 54523 */ // GIR_Coverage, 2425,
20807 /* 54523 */ GIR_EraseRootFromParent_Done,
20808 /* 54524 */ // Label 1488: @54524
20809 /* 54524 */ GIM_Try, /*On fail goto*//*Label 1489*/ GIMT_Encode4(54662),
20810 /* 54529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20811 /* 54533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1490*/ GIMT_Encode4(54597), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1881 //
20812 /* 54540 */ // (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))
20813 /* 54540 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
20814 /* 54543 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SELEQZ),
20815 /* 54547 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20816 /* 54552 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // f
20817 /* 54556 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // cond
20818 /* 54560 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
20819 /* 54562 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20820 /* 54565 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SELNEZ),
20821 /* 54569 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20822 /* 54574 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // t
20823 /* 54578 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // cond
20824 /* 54582 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20825 /* 54584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::OR),
20826 /* 54587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20827 /* 54589 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20828 /* 54592 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
20829 /* 54595 */ GIR_RootConstrainSelectedInstOperands,
20830 /* 54596 */ // GIR_Coverage, 1881,
20831 /* 54596 */ GIR_EraseRootFromParent_Done,
20832 /* 54597 */ // Label 1490: @54597
20833 /* 54597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1491*/ GIMT_Encode4(54661), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 2442 //
20834 /* 54604 */ // (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))
20835 /* 54604 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
20836 /* 54607 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SELEQZ_MMR6),
20837 /* 54611 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20838 /* 54616 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // f
20839 /* 54620 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // cond
20840 /* 54624 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
20841 /* 54626 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20842 /* 54629 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SELNEZ_MMR6),
20843 /* 54633 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20844 /* 54638 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // t
20845 /* 54642 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // cond
20846 /* 54646 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20847 /* 54648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::OR_MM),
20848 /* 54651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20849 /* 54653 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20850 /* 54656 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
20851 /* 54659 */ GIR_RootConstrainSelectedInstOperands,
20852 /* 54660 */ // GIR_Coverage, 2442,
20853 /* 54660 */ GIR_EraseRootFromParent_Done,
20854 /* 54661 */ // Label 1491: @54661
20855 /* 54661 */ GIM_Reject,
20856 /* 54662 */ // Label 1489: @54662
20857 /* 54662 */ GIM_Reject,
20858 /* 54663 */ // Label 1399: @54663
20859 /* 54663 */ GIM_Reject,
20860 /* 54664 */ // Label 1397: @54664
20861 /* 54664 */ GIM_Try, /*On fail goto*//*Label 1492*/ GIMT_Encode4(54748),
20862 /* 54669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
20863 /* 54672 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
20864 /* 54675 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1493*/ GIMT_Encode4(54711), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1791 //
20865 /* 54682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20866 /* 54686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20867 /* 54690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20868 /* 54694 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20869 /* 54698 */ // (select:{ *:[i32] } GPR64:{ *:[i64] }:$cond, GPR32:{ *:[i32] }:$T, GPR32:{ *:[i32] }:$F) => (MOVN_I64_I:{ *:[i32] } GPR32:{ *:[i32] }:$T, GPR64:{ *:[i64] }:$cond, GPR32:{ *:[i32] }:$F)
20870 /* 54698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I),
20871 /* 54701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20872 /* 54703 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20873 /* 54705 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
20874 /* 54707 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20875 /* 54709 */ GIR_RootConstrainSelectedInstOperands,
20876 /* 54710 */ // GIR_Coverage, 1791,
20877 /* 54710 */ GIR_EraseRootFromParent_Done,
20878 /* 54711 */ // Label 1493: @54711
20879 /* 54711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1494*/ GIMT_Encode4(54747), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1820 //
20880 /* 54718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20881 /* 54722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20882 /* 54726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20883 /* 54730 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
20884 /* 54734 */ // (select:{ *:[f32] } GPR64:{ *:[i64] }:$cond, FGR32:{ *:[f32] }:$T, FGR32:{ *:[f32] }:$F) => (MOVN_I64_S:{ *:[f32] } FGR32:{ *:[f32] }:$T, GPR64:{ *:[i64] }:$cond, FGR32:{ *:[f32] }:$F)
20885 /* 54734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_S),
20886 /* 54737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
20887 /* 54739 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20888 /* 54741 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
20889 /* 54743 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20890 /* 54745 */ GIR_RootConstrainSelectedInstOperands,
20891 /* 54746 */ // GIR_Coverage, 1820,
20892 /* 54746 */ GIR_EraseRootFromParent_Done,
20893 /* 54747 */ // Label 1494: @54747
20894 /* 54747 */ GIM_Reject,
20895 /* 54748 */ // Label 1492: @54748
20896 /* 54748 */ GIM_Reject,
20897 /* 54749 */ // Label 1398: @54749
20898 /* 54749 */ GIM_Reject,
20899 /* 54750 */ // Label 1390: @54750
20900 /* 54750 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1497*/ GIMT_Encode4(58863),
20901 /* 54761 */ /*GILLT_s32*//*Label 1495*/ GIMT_Encode4(54769),
20902 /* 54765 */ /*GILLT_s64*//*Label 1496*/ GIMT_Encode4(58710),
20903 /* 54769 */ // Label 1495: @54769
20904 /* 54769 */ GIM_Try, /*On fail goto*//*Label 1498*/ GIMT_Encode4(58709),
20905 /* 54774 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
20906 /* 54777 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
20907 /* 54780 */ GIM_Try, /*On fail goto*//*Label 1499*/ GIMT_Encode4(55014),
20908 /* 54785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20909 /* 54789 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20910 /* 54793 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20911 /* 54797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1500*/ GIMT_Encode4(54851), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1779 //
20912 /* 54804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20913 /* 54808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20914 /* 54812 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20915 /* 54816 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20916 /* 54820 */ // MIs[1] Operand 1
20917 /* 54820 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20918 /* 54825 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20919 /* 54830 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20920 /* 54834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20921 /* 54836 */ // (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)
20922 /* 54836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
20923 /* 54839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20924 /* 54841 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20925 /* 54843 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20926 /* 54847 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20927 /* 54849 */ GIR_RootConstrainSelectedInstOperands,
20928 /* 54850 */ // GIR_Coverage, 1779,
20929 /* 54850 */ GIR_EraseRootFromParent_Done,
20930 /* 54851 */ // Label 1500: @54851
20931 /* 54851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1501*/ GIMT_Encode4(54905), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1783 //
20932 /* 54858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20933 /* 54862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20934 /* 54866 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20935 /* 54870 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20936 /* 54874 */ // MIs[1] Operand 1
20937 /* 54874 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
20938 /* 54879 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20939 /* 54884 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20940 /* 54888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20941 /* 54890 */ // (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)
20942 /* 54890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_I64),
20943 /* 54893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20944 /* 54895 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20945 /* 54897 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20946 /* 54901 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20947 /* 54903 */ GIR_RootConstrainSelectedInstOperands,
20948 /* 54904 */ // GIR_Coverage, 1783,
20949 /* 54904 */ GIR_EraseRootFromParent_Done,
20950 /* 54905 */ // Label 1501: @54905
20951 /* 54905 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1502*/ GIMT_Encode4(54959), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1789 //
20952 /* 54912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20953 /* 54916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20954 /* 54920 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
20955 /* 54924 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
20956 /* 54928 */ // MIs[1] Operand 1
20957 /* 54928 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20958 /* 54933 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
20959 /* 54938 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20960 /* 54942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20961 /* 54944 */ // (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)
20962 /* 54944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I64),
20963 /* 54947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20964 /* 54949 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20965 /* 54951 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20966 /* 54955 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20967 /* 54957 */ GIR_RootConstrainSelectedInstOperands,
20968 /* 54958 */ // GIR_Coverage, 1789,
20969 /* 54958 */ GIR_EraseRootFromParent_Done,
20970 /* 54959 */ // Label 1502: @54959
20971 /* 54959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1503*/ GIMT_Encode4(55013), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1795 //
20972 /* 54966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20973 /* 54970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
20974 /* 54974 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
20975 /* 54978 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
20976 /* 54982 */ // MIs[1] Operand 1
20977 /* 54982 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
20978 /* 54987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
20979 /* 54992 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
20980 /* 54996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20981 /* 54998 */ // (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)
20982 /* 54998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I64),
20983 /* 55001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
20984 /* 55003 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
20985 /* 55005 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
20986 /* 55009 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
20987 /* 55011 */ GIR_RootConstrainSelectedInstOperands,
20988 /* 55012 */ // GIR_Coverage, 1795,
20989 /* 55012 */ GIR_EraseRootFromParent_Done,
20990 /* 55013 */ // Label 1503: @55013
20991 /* 55013 */ GIM_Reject,
20992 /* 55014 */ // Label 1499: @55014
20993 /* 55014 */ GIM_Try, /*On fail goto*//*Label 1504*/ GIMT_Encode4(55140),
20994 /* 55019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
20995 /* 55023 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
20996 /* 55027 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
20997 /* 55031 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1505*/ GIMT_Encode4(55085), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1831 //
20998 /* 55038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20999 /* 55042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21000 /* 55046 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21001 /* 55050 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21002 /* 55054 */ // MIs[1] Operand 1
21003 /* 55054 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21004 /* 55059 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21005 /* 55064 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
21006 /* 55068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21007 /* 55070 */ // (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)
21008 /* 55070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
21009 /* 55073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21010 /* 55075 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21011 /* 55077 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21012 /* 55081 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21013 /* 55083 */ GIR_RootConstrainSelectedInstOperands,
21014 /* 55084 */ // GIR_Coverage, 1831,
21015 /* 55084 */ GIR_EraseRootFromParent_Done,
21016 /* 55085 */ // Label 1505: @55085
21017 /* 55085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1506*/ GIMT_Encode4(55139), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1834 //
21018 /* 55092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21019 /* 55096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21020 /* 55100 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21021 /* 55104 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21022 /* 55108 */ // MIs[1] Operand 1
21023 /* 55108 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21024 /* 55113 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21025 /* 55118 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
21026 /* 55122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21027 /* 55124 */ // (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)
21028 /* 55124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32),
21029 /* 55127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21030 /* 55129 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21031 /* 55131 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21032 /* 55135 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21033 /* 55137 */ GIR_RootConstrainSelectedInstOperands,
21034 /* 55138 */ // GIR_Coverage, 1834,
21035 /* 55138 */ GIR_EraseRootFromParent_Done,
21036 /* 55139 */ // Label 1506: @55139
21037 /* 55139 */ GIM_Reject,
21038 /* 55140 */ // Label 1504: @55140
21039 /* 55140 */ GIM_Try, /*On fail goto*//*Label 1507*/ GIMT_Encode4(55374),
21040 /* 55145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
21041 /* 55149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
21042 /* 55153 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
21043 /* 55157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1508*/ GIMT_Encode4(55211), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1852 //
21044 /* 55164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21045 /* 55168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21046 /* 55172 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21047 /* 55176 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21048 /* 55180 */ // MIs[1] Operand 1
21049 /* 55180 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21050 /* 55185 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21051 /* 55190 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
21052 /* 55194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21053 /* 55196 */ // (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)
21054 /* 55196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21055 /* 55199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21056 /* 55201 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21057 /* 55203 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21058 /* 55207 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21059 /* 55209 */ GIR_RootConstrainSelectedInstOperands,
21060 /* 55210 */ // GIR_Coverage, 1852,
21061 /* 55210 */ GIR_EraseRootFromParent_Done,
21062 /* 55211 */ // Label 1508: @55211
21063 /* 55211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1509*/ GIMT_Encode4(55265), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1854 //
21064 /* 55218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21065 /* 55222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21066 /* 55226 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21067 /* 55230 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21068 /* 55234 */ // MIs[1] Operand 1
21069 /* 55234 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21070 /* 55239 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21071 /* 55244 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
21072 /* 55248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21073 /* 55250 */ // (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)
21074 /* 55250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_D64),
21075 /* 55253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21076 /* 55255 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21077 /* 55257 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21078 /* 55261 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21079 /* 55263 */ GIR_RootConstrainSelectedInstOperands,
21080 /* 55264 */ // GIR_Coverage, 1854,
21081 /* 55264 */ GIR_EraseRootFromParent_Done,
21082 /* 55265 */ // Label 1509: @55265
21083 /* 55265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1510*/ GIMT_Encode4(55319), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1857 //
21084 /* 55272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21085 /* 55276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21086 /* 55280 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21087 /* 55284 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21088 /* 55288 */ // MIs[1] Operand 1
21089 /* 55288 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21090 /* 55293 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21091 /* 55298 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
21092 /* 55302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21093 /* 55304 */ // (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)
21094 /* 55304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D64),
21095 /* 55307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21096 /* 55309 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21097 /* 55311 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21098 /* 55315 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21099 /* 55317 */ GIR_RootConstrainSelectedInstOperands,
21100 /* 55318 */ // GIR_Coverage, 1857,
21101 /* 55318 */ GIR_EraseRootFromParent_Done,
21102 /* 55319 */ // Label 1510: @55319
21103 /* 55319 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1511*/ GIMT_Encode4(55373), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1860 //
21104 /* 55326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21105 /* 55330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21106 /* 55334 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21107 /* 55338 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21108 /* 55342 */ // MIs[1] Operand 1
21109 /* 55342 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21110 /* 55347 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21111 /* 55352 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
21112 /* 55356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21113 /* 55358 */ // (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)
21114 /* 55358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_D64),
21115 /* 55361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21116 /* 55363 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21117 /* 55365 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21118 /* 55369 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21119 /* 55371 */ GIR_RootConstrainSelectedInstOperands,
21120 /* 55372 */ // GIR_Coverage, 1860,
21121 /* 55372 */ GIR_EraseRootFromParent_Done,
21122 /* 55373 */ // Label 1511: @55373
21123 /* 55373 */ GIM_Reject,
21124 /* 55374 */ // Label 1507: @55374
21125 /* 55374 */ GIM_Try, /*On fail goto*//*Label 1512*/ GIMT_Encode4(55500),
21126 /* 55379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21127 /* 55383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21128 /* 55387 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21129 /* 55391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1513*/ GIMT_Encode4(55445), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2436 //
21130 /* 55398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21131 /* 55402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21132 /* 55406 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21133 /* 55410 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21134 /* 55414 */ // MIs[1] Operand 1
21135 /* 55414 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21136 /* 55419 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21137 /* 55424 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
21138 /* 55428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21139 /* 55430 */ // (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)
21140 /* 55430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
21141 /* 55433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21142 /* 55435 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21143 /* 55437 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21144 /* 55441 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21145 /* 55443 */ GIR_RootConstrainSelectedInstOperands,
21146 /* 55444 */ // GIR_Coverage, 2436,
21147 /* 55444 */ GIR_EraseRootFromParent_Done,
21148 /* 55445 */ // Label 1513: @55445
21149 /* 55445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1514*/ GIMT_Encode4(55499), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2439 //
21150 /* 55452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21151 /* 55456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21152 /* 55460 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21153 /* 55464 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21154 /* 55468 */ // MIs[1] Operand 1
21155 /* 55468 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21156 /* 55473 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21157 /* 55478 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/3, 0,
21158 /* 55482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21159 /* 55484 */ // (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)
21160 /* 55484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32_MM),
21161 /* 55487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21162 /* 55489 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21163 /* 55491 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21164 /* 55495 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21165 /* 55497 */ GIR_RootConstrainSelectedInstOperands,
21166 /* 55498 */ // GIR_Coverage, 2439,
21167 /* 55498 */ GIR_EraseRootFromParent_Done,
21168 /* 55499 */ // Label 1514: @55499
21169 /* 55499 */ GIM_Reject,
21170 /* 55500 */ // Label 1512: @55500
21171 /* 55500 */ GIM_Try, /*On fail goto*//*Label 1515*/ GIMT_Encode4(56430),
21172 /* 55505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21173 /* 55509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21174 /* 55513 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21175 /* 55517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1516*/ GIMT_Encode4(55593), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1754 //
21176 /* 55524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21177 /* 55528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21178 /* 55532 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21179 /* 55536 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21180 /* 55540 */ // MIs[1] Operand 1
21181 /* 55540 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21182 /* 55545 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21183 /* 55550 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21184 /* 55555 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21185 /* 55557 */ // (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)
21186 /* 55557 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21187 /* 55560 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
21188 /* 55564 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21189 /* 55569 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21190 /* 55573 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21191 /* 55577 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21192 /* 55579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21193 /* 55582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21194 /* 55584 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21195 /* 55586 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21196 /* 55589 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21197 /* 55591 */ GIR_RootConstrainSelectedInstOperands,
21198 /* 55592 */ // GIR_Coverage, 1754,
21199 /* 55592 */ GIR_EraseRootFromParent_Done,
21200 /* 55593 */ // Label 1516: @55593
21201 /* 55593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1517*/ GIMT_Encode4(55669), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1755 //
21202 /* 55600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21203 /* 55604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21204 /* 55608 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21205 /* 55612 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21206 /* 55616 */ // MIs[1] Operand 1
21207 /* 55616 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21208 /* 55621 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21209 /* 55626 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21210 /* 55631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21211 /* 55633 */ // (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)
21212 /* 55633 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21213 /* 55636 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
21214 /* 55640 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21215 /* 55645 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21216 /* 55649 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21217 /* 55653 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21218 /* 55655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21219 /* 55658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21220 /* 55660 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21221 /* 55662 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21222 /* 55665 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21223 /* 55667 */ GIR_RootConstrainSelectedInstOperands,
21224 /* 55668 */ // GIR_Coverage, 1755,
21225 /* 55668 */ GIR_EraseRootFromParent_Done,
21226 /* 55669 */ // Label 1517: @55669
21227 /* 55669 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1518*/ GIMT_Encode4(55745), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1758 //
21228 /* 55676 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21229 /* 55680 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21230 /* 55684 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21231 /* 55688 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21232 /* 55692 */ // MIs[1] Operand 1
21233 /* 55692 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21234 /* 55697 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21235 /* 55702 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21236 /* 55707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21237 /* 55709 */ // (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)
21238 /* 55709 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21239 /* 55712 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
21240 /* 55716 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21241 /* 55721 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21242 /* 55725 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21243 /* 55729 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21244 /* 55731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21245 /* 55734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21246 /* 55736 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21247 /* 55738 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21248 /* 55741 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21249 /* 55743 */ GIR_RootConstrainSelectedInstOperands,
21250 /* 55744 */ // GIR_Coverage, 1758,
21251 /* 55744 */ GIR_EraseRootFromParent_Done,
21252 /* 55745 */ // Label 1518: @55745
21253 /* 55745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1519*/ GIMT_Encode4(55821), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1759 //
21254 /* 55752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21255 /* 55756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21256 /* 55760 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21257 /* 55764 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21258 /* 55768 */ // MIs[1] Operand 1
21259 /* 55768 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21260 /* 55773 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21261 /* 55778 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21262 /* 55783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21263 /* 55785 */ // (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)
21264 /* 55785 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21265 /* 55788 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
21266 /* 55792 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21267 /* 55797 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21268 /* 55801 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21269 /* 55805 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21270 /* 55807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21271 /* 55810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21272 /* 55812 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21273 /* 55814 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21274 /* 55817 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21275 /* 55819 */ GIR_RootConstrainSelectedInstOperands,
21276 /* 55820 */ // GIR_Coverage, 1759,
21277 /* 55820 */ GIR_EraseRootFromParent_Done,
21278 /* 55821 */ // Label 1519: @55821
21279 /* 55821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1520*/ GIMT_Encode4(55897), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1770 //
21280 /* 55828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21281 /* 55832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21282 /* 55836 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21283 /* 55840 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21284 /* 55844 */ // MIs[1] Operand 1
21285 /* 55844 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21286 /* 55849 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21287 /* 55854 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21288 /* 55859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21289 /* 55861 */ // (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)
21290 /* 55861 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21291 /* 55864 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
21292 /* 55868 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21293 /* 55873 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21294 /* 55877 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21295 /* 55881 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21296 /* 55883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21297 /* 55886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21298 /* 55888 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21299 /* 55890 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21300 /* 55893 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21301 /* 55895 */ GIR_RootConstrainSelectedInstOperands,
21302 /* 55896 */ // GIR_Coverage, 1770,
21303 /* 55896 */ GIR_EraseRootFromParent_Done,
21304 /* 55897 */ // Label 1520: @55897
21305 /* 55897 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1521*/ GIMT_Encode4(55973), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1771 //
21306 /* 55904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21307 /* 55908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21308 /* 55912 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21309 /* 55916 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21310 /* 55920 */ // MIs[1] Operand 1
21311 /* 55920 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21312 /* 55925 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21313 /* 55930 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21314 /* 55935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21315 /* 55937 */ // (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)
21316 /* 55937 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21317 /* 55940 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
21318 /* 55944 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21319 /* 55949 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21320 /* 55953 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21321 /* 55957 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21322 /* 55959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21323 /* 55962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21324 /* 55964 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21325 /* 55966 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21326 /* 55969 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21327 /* 55971 */ GIR_RootConstrainSelectedInstOperands,
21328 /* 55972 */ // GIR_Coverage, 1771,
21329 /* 55972 */ GIR_EraseRootFromParent_Done,
21330 /* 55973 */ // Label 1521: @55973
21331 /* 55973 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1522*/ GIMT_Encode4(56049), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1774 //
21332 /* 55980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21333 /* 55984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21334 /* 55988 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21335 /* 55992 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21336 /* 55996 */ // MIs[1] Operand 1
21337 /* 55996 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21338 /* 56001 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21339 /* 56006 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21340 /* 56011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21341 /* 56013 */ // (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)
21342 /* 56013 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21343 /* 56016 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
21344 /* 56020 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21345 /* 56025 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21346 /* 56029 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21347 /* 56033 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21348 /* 56035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21349 /* 56038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21350 /* 56040 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21351 /* 56042 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21352 /* 56045 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21353 /* 56047 */ GIR_RootConstrainSelectedInstOperands,
21354 /* 56048 */ // GIR_Coverage, 1774,
21355 /* 56048 */ GIR_EraseRootFromParent_Done,
21356 /* 56049 */ // Label 1522: @56049
21357 /* 56049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1523*/ GIMT_Encode4(56125), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1775 //
21358 /* 56056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21359 /* 56060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21360 /* 56064 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21361 /* 56068 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21362 /* 56072 */ // MIs[1] Operand 1
21363 /* 56072 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21364 /* 56077 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21365 /* 56082 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21366 /* 56087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21367 /* 56089 */ // (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)
21368 /* 56089 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21369 /* 56092 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
21370 /* 56096 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21371 /* 56101 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21372 /* 56105 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21373 /* 56109 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21374 /* 56111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21375 /* 56114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21376 /* 56116 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21377 /* 56118 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21378 /* 56121 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21379 /* 56123 */ GIR_RootConstrainSelectedInstOperands,
21380 /* 56124 */ // GIR_Coverage, 1775,
21381 /* 56124 */ GIR_EraseRootFromParent_Done,
21382 /* 56125 */ // Label 1523: @56125
21383 /* 56125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1524*/ GIMT_Encode4(56201), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1778 //
21384 /* 56132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21385 /* 56136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21386 /* 56140 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21387 /* 56144 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21388 /* 56148 */ // MIs[1] Operand 1
21389 /* 56148 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21390 /* 56153 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21391 /* 56158 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21392 /* 56163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21393 /* 56165 */ // (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)
21394 /* 56165 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21395 /* 56168 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
21396 /* 56172 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21397 /* 56177 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21398 /* 56181 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21399 /* 56185 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21400 /* 56187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_I64),
21401 /* 56190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21402 /* 56192 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21403 /* 56194 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21404 /* 56197 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21405 /* 56199 */ GIR_RootConstrainSelectedInstOperands,
21406 /* 56200 */ // GIR_Coverage, 1778,
21407 /* 56200 */ GIR_EraseRootFromParent_Done,
21408 /* 56201 */ // Label 1524: @56201
21409 /* 56201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1525*/ GIMT_Encode4(56277), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1782 //
21410 /* 56208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21411 /* 56212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21412 /* 56216 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21413 /* 56220 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21414 /* 56224 */ // MIs[1] Operand 1
21415 /* 56224 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21416 /* 56229 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21417 /* 56234 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21418 /* 56239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21419 /* 56241 */ // (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)
21420 /* 56241 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
21421 /* 56244 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
21422 /* 56248 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21423 /* 56253 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21424 /* 56257 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21425 /* 56261 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21426 /* 56263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_I64),
21427 /* 56266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21428 /* 56268 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21429 /* 56270 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21430 /* 56273 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21431 /* 56275 */ GIR_RootConstrainSelectedInstOperands,
21432 /* 56276 */ // GIR_Coverage, 1782,
21433 /* 56276 */ GIR_EraseRootFromParent_Done,
21434 /* 56277 */ // Label 1525: @56277
21435 /* 56277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1526*/ GIMT_Encode4(56353), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1787 //
21436 /* 56284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21437 /* 56288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21438 /* 56292 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21439 /* 56296 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21440 /* 56300 */ // MIs[1] Operand 1
21441 /* 56300 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21442 /* 56305 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21443 /* 56310 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21444 /* 56315 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21445 /* 56317 */ // (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)
21446 /* 56317 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21447 /* 56320 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
21448 /* 56324 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21449 /* 56329 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21450 /* 56333 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21451 /* 56337 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21452 /* 56339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I64),
21453 /* 56342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21454 /* 56344 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21455 /* 56346 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21456 /* 56349 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21457 /* 56351 */ GIR_RootConstrainSelectedInstOperands,
21458 /* 56352 */ // GIR_Coverage, 1787,
21459 /* 56352 */ GIR_EraseRootFromParent_Done,
21460 /* 56353 */ // Label 1526: @56353
21461 /* 56353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1527*/ GIMT_Encode4(56429), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1793 //
21462 /* 56360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21463 /* 56364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21464 /* 56368 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21465 /* 56372 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21466 /* 56376 */ // MIs[1] Operand 1
21467 /* 56376 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21468 /* 56381 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21469 /* 56386 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21470 /* 56391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21471 /* 56393 */ // (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)
21472 /* 56393 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
21473 /* 56396 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
21474 /* 56400 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21475 /* 56405 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21476 /* 56409 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21477 /* 56413 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21478 /* 56415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I64),
21479 /* 56418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
21480 /* 56420 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21481 /* 56422 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21482 /* 56425 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21483 /* 56427 */ GIR_RootConstrainSelectedInstOperands,
21484 /* 56428 */ // GIR_Coverage, 1793,
21485 /* 56428 */ GIR_EraseRootFromParent_Done,
21486 /* 56429 */ // Label 1527: @56429
21487 /* 56429 */ GIM_Reject,
21488 /* 56430 */ // Label 1515: @56430
21489 /* 56430 */ GIM_Try, /*On fail goto*//*Label 1528*/ GIMT_Encode4(56904),
21490 /* 56435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21491 /* 56439 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21492 /* 56443 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21493 /* 56447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1529*/ GIMT_Encode4(56523), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1822 //
21494 /* 56454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21495 /* 56458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21496 /* 56462 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21497 /* 56466 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21498 /* 56470 */ // MIs[1] Operand 1
21499 /* 56470 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21500 /* 56475 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21501 /* 56480 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21502 /* 56485 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21503 /* 56487 */ // (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)
21504 /* 56487 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21505 /* 56490 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
21506 /* 56494 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21507 /* 56499 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21508 /* 56503 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21509 /* 56507 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21510 /* 56509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
21511 /* 56512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21512 /* 56514 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21513 /* 56516 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21514 /* 56519 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21515 /* 56521 */ GIR_RootConstrainSelectedInstOperands,
21516 /* 56522 */ // GIR_Coverage, 1822,
21517 /* 56522 */ GIR_EraseRootFromParent_Done,
21518 /* 56523 */ // Label 1529: @56523
21519 /* 56523 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1530*/ GIMT_Encode4(56599), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1823 //
21520 /* 56530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21521 /* 56534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21522 /* 56538 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21523 /* 56542 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21524 /* 56546 */ // MIs[1] Operand 1
21525 /* 56546 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21526 /* 56551 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21527 /* 56556 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21528 /* 56561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21529 /* 56563 */ // (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)
21530 /* 56563 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21531 /* 56566 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
21532 /* 56570 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21533 /* 56575 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21534 /* 56579 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21535 /* 56583 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21536 /* 56585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
21537 /* 56588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21538 /* 56590 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21539 /* 56592 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21540 /* 56595 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21541 /* 56597 */ GIR_RootConstrainSelectedInstOperands,
21542 /* 56598 */ // GIR_Coverage, 1823,
21543 /* 56598 */ GIR_EraseRootFromParent_Done,
21544 /* 56599 */ // Label 1530: @56599
21545 /* 56599 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1531*/ GIMT_Encode4(56675), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1826 //
21546 /* 56606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21547 /* 56610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21548 /* 56614 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21549 /* 56618 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21550 /* 56622 */ // MIs[1] Operand 1
21551 /* 56622 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21552 /* 56627 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21553 /* 56632 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21554 /* 56637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21555 /* 56639 */ // (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)
21556 /* 56639 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21557 /* 56642 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
21558 /* 56646 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21559 /* 56651 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21560 /* 56655 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21561 /* 56659 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21562 /* 56661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
21563 /* 56664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21564 /* 56666 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21565 /* 56668 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21566 /* 56671 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21567 /* 56673 */ GIR_RootConstrainSelectedInstOperands,
21568 /* 56674 */ // GIR_Coverage, 1826,
21569 /* 56674 */ GIR_EraseRootFromParent_Done,
21570 /* 56675 */ // Label 1531: @56675
21571 /* 56675 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1532*/ GIMT_Encode4(56751), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1827 //
21572 /* 56682 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21573 /* 56686 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21574 /* 56690 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21575 /* 56694 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21576 /* 56698 */ // MIs[1] Operand 1
21577 /* 56698 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21578 /* 56703 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21579 /* 56708 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21580 /* 56713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21581 /* 56715 */ // (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)
21582 /* 56715 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21583 /* 56718 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
21584 /* 56722 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21585 /* 56727 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21586 /* 56731 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21587 /* 56735 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21588 /* 56737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
21589 /* 56740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21590 /* 56742 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21591 /* 56744 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21592 /* 56747 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21593 /* 56749 */ GIR_RootConstrainSelectedInstOperands,
21594 /* 56750 */ // GIR_Coverage, 1827,
21595 /* 56750 */ GIR_EraseRootFromParent_Done,
21596 /* 56751 */ // Label 1532: @56751
21597 /* 56751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1533*/ GIMT_Encode4(56827), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1830 //
21598 /* 56758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21599 /* 56762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21600 /* 56766 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21601 /* 56770 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21602 /* 56774 */ // MIs[1] Operand 1
21603 /* 56774 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21604 /* 56779 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21605 /* 56784 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21606 /* 56789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21607 /* 56791 */ // (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)
21608 /* 56791 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21609 /* 56794 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
21610 /* 56798 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21611 /* 56803 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21612 /* 56807 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21613 /* 56811 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21614 /* 56813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32),
21615 /* 56816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21616 /* 56818 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21617 /* 56820 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21618 /* 56823 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21619 /* 56825 */ GIR_RootConstrainSelectedInstOperands,
21620 /* 56826 */ // GIR_Coverage, 1830,
21621 /* 56826 */ GIR_EraseRootFromParent_Done,
21622 /* 56827 */ // Label 1533: @56827
21623 /* 56827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1534*/ GIMT_Encode4(56903), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1832 //
21624 /* 56834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21625 /* 56838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21626 /* 56842 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21627 /* 56846 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21628 /* 56850 */ // MIs[1] Operand 1
21629 /* 56850 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21630 /* 56855 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21631 /* 56860 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21632 /* 56865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21633 /* 56867 */ // (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)
21634 /* 56867 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21635 /* 56870 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
21636 /* 56874 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21637 /* 56879 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21638 /* 56883 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21639 /* 56887 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21640 /* 56889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32),
21641 /* 56892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21642 /* 56894 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21643 /* 56896 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21644 /* 56899 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21645 /* 56901 */ GIR_RootConstrainSelectedInstOperands,
21646 /* 56902 */ // GIR_Coverage, 1832,
21647 /* 56902 */ GIR_EraseRootFromParent_Done,
21648 /* 56903 */ // Label 1534: @56903
21649 /* 56903 */ GIM_Reject,
21650 /* 56904 */ // Label 1528: @56904
21651 /* 56904 */ GIM_Try, /*On fail goto*//*Label 1535*/ GIMT_Encode4(57834),
21652 /* 56909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
21653 /* 56913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
21654 /* 56917 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
21655 /* 56921 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1536*/ GIMT_Encode4(56997), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1835 //
21656 /* 56928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21657 /* 56932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21658 /* 56936 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21659 /* 56940 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21660 /* 56944 */ // MIs[1] Operand 1
21661 /* 56944 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21662 /* 56949 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21663 /* 56954 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21664 /* 56959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21665 /* 56961 */ // (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)
21666 /* 56961 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21667 /* 56964 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
21668 /* 56968 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21669 /* 56973 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21670 /* 56977 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21671 /* 56981 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21672 /* 56983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21673 /* 56986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21674 /* 56988 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21675 /* 56990 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21676 /* 56993 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21677 /* 56995 */ GIR_RootConstrainSelectedInstOperands,
21678 /* 56996 */ // GIR_Coverage, 1835,
21679 /* 56996 */ GIR_EraseRootFromParent_Done,
21680 /* 56997 */ // Label 1536: @56997
21681 /* 56997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1537*/ GIMT_Encode4(57073), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1836 //
21682 /* 57004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21683 /* 57008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21684 /* 57012 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21685 /* 57016 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21686 /* 57020 */ // MIs[1] Operand 1
21687 /* 57020 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21688 /* 57025 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21689 /* 57030 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21690 /* 57035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21691 /* 57037 */ // (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)
21692 /* 57037 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21693 /* 57040 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
21694 /* 57044 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21695 /* 57049 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21696 /* 57053 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21697 /* 57057 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21698 /* 57059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21699 /* 57062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21700 /* 57064 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21701 /* 57066 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21702 /* 57069 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21703 /* 57071 */ GIR_RootConstrainSelectedInstOperands,
21704 /* 57072 */ // GIR_Coverage, 1836,
21705 /* 57072 */ GIR_EraseRootFromParent_Done,
21706 /* 57073 */ // Label 1537: @57073
21707 /* 57073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1538*/ GIMT_Encode4(57149), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1839 //
21708 /* 57080 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21709 /* 57084 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21710 /* 57088 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21711 /* 57092 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21712 /* 57096 */ // MIs[1] Operand 1
21713 /* 57096 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21714 /* 57101 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21715 /* 57106 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21716 /* 57111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21717 /* 57113 */ // (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)
21718 /* 57113 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21719 /* 57116 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT),
21720 /* 57120 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21721 /* 57125 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21722 /* 57129 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21723 /* 57133 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21724 /* 57135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21725 /* 57138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21726 /* 57140 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21727 /* 57142 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21728 /* 57145 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21729 /* 57147 */ GIR_RootConstrainSelectedInstOperands,
21730 /* 57148 */ // GIR_Coverage, 1839,
21731 /* 57148 */ GIR_EraseRootFromParent_Done,
21732 /* 57149 */ // Label 1538: @57149
21733 /* 57149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1539*/ GIMT_Encode4(57225), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1840 //
21734 /* 57156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21735 /* 57160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21736 /* 57164 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21737 /* 57168 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21738 /* 57172 */ // MIs[1] Operand 1
21739 /* 57172 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21740 /* 57177 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21741 /* 57182 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21742 /* 57187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21743 /* 57189 */ // (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)
21744 /* 57189 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21745 /* 57192 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu),
21746 /* 57196 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21747 /* 57201 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21748 /* 57205 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21749 /* 57209 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21750 /* 57211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21751 /* 57214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21752 /* 57216 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21753 /* 57218 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21754 /* 57221 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21755 /* 57223 */ GIR_RootConstrainSelectedInstOperands,
21756 /* 57224 */ // GIR_Coverage, 1840,
21757 /* 57224 */ GIR_EraseRootFromParent_Done,
21758 /* 57225 */ // Label 1539: @57225
21759 /* 57225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1540*/ GIMT_Encode4(57301), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1843 //
21760 /* 57232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21761 /* 57236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21762 /* 57240 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21763 /* 57244 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21764 /* 57248 */ // MIs[1] Operand 1
21765 /* 57248 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21766 /* 57253 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21767 /* 57258 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21768 /* 57263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21769 /* 57265 */ // (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)
21770 /* 57265 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21771 /* 57268 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
21772 /* 57272 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21773 /* 57277 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21774 /* 57281 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21775 /* 57285 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21776 /* 57287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21777 /* 57290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21778 /* 57292 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21779 /* 57294 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21780 /* 57297 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21781 /* 57299 */ GIR_RootConstrainSelectedInstOperands,
21782 /* 57300 */ // GIR_Coverage, 1843,
21783 /* 57300 */ GIR_EraseRootFromParent_Done,
21784 /* 57301 */ // Label 1540: @57301
21785 /* 57301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1541*/ GIMT_Encode4(57377), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1844 //
21786 /* 57308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21787 /* 57312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21788 /* 57316 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21789 /* 57320 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21790 /* 57324 */ // MIs[1] Operand 1
21791 /* 57324 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
21792 /* 57329 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21793 /* 57334 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21794 /* 57339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21795 /* 57341 */ // (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)
21796 /* 57341 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21797 /* 57344 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
21798 /* 57348 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21799 /* 57353 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21800 /* 57357 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21801 /* 57361 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21802 /* 57363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21803 /* 57366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21804 /* 57368 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21805 /* 57370 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21806 /* 57373 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21807 /* 57375 */ GIR_RootConstrainSelectedInstOperands,
21808 /* 57376 */ // GIR_Coverage, 1844,
21809 /* 57376 */ GIR_EraseRootFromParent_Done,
21810 /* 57377 */ // Label 1541: @57377
21811 /* 57377 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1542*/ GIMT_Encode4(57453), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1847 //
21812 /* 57384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21813 /* 57388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21814 /* 57392 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21815 /* 57396 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21816 /* 57400 */ // MIs[1] Operand 1
21817 /* 57400 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
21818 /* 57405 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21819 /* 57410 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21820 /* 57415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21821 /* 57417 */ // (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)
21822 /* 57417 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21823 /* 57420 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT64),
21824 /* 57424 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21825 /* 57429 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21826 /* 57433 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21827 /* 57437 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21828 /* 57439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21829 /* 57442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21830 /* 57444 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21831 /* 57446 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21832 /* 57449 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21833 /* 57451 */ GIR_RootConstrainSelectedInstOperands,
21834 /* 57452 */ // GIR_Coverage, 1847,
21835 /* 57452 */ GIR_EraseRootFromParent_Done,
21836 /* 57453 */ // Label 1542: @57453
21837 /* 57453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1543*/ GIMT_Encode4(57529), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1848 //
21838 /* 57460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21839 /* 57464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21840 /* 57468 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21841 /* 57472 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21842 /* 57476 */ // MIs[1] Operand 1
21843 /* 57476 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
21844 /* 57481 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21845 /* 57486 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21846 /* 57491 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21847 /* 57493 */ // (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)
21848 /* 57493 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21849 /* 57496 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu64),
21850 /* 57500 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21851 /* 57505 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21852 /* 57509 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21853 /* 57513 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21854 /* 57515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21855 /* 57518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21856 /* 57520 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21857 /* 57522 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21858 /* 57525 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21859 /* 57527 */ GIR_RootConstrainSelectedInstOperands,
21860 /* 57528 */ // GIR_Coverage, 1848,
21861 /* 57528 */ GIR_EraseRootFromParent_Done,
21862 /* 57529 */ // Label 1543: @57529
21863 /* 57529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1544*/ GIMT_Encode4(57605), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1851 //
21864 /* 57536 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21865 /* 57540 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21866 /* 57544 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21867 /* 57548 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21868 /* 57552 */ // MIs[1] Operand 1
21869 /* 57552 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21870 /* 57557 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21871 /* 57562 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21872 /* 57567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21873 /* 57569 */ // (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)
21874 /* 57569 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21875 /* 57572 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
21876 /* 57576 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21877 /* 57581 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21878 /* 57585 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21879 /* 57589 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21880 /* 57591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D64),
21881 /* 57594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21882 /* 57596 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21883 /* 57598 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21884 /* 57601 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21885 /* 57603 */ GIR_RootConstrainSelectedInstOperands,
21886 /* 57604 */ // GIR_Coverage, 1851,
21887 /* 57604 */ GIR_EraseRootFromParent_Done,
21888 /* 57605 */ // Label 1544: @57605
21889 /* 57605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1545*/ GIMT_Encode4(57681), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1853 //
21890 /* 57612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21891 /* 57616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21892 /* 57620 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21893 /* 57624 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21894 /* 57628 */ // MIs[1] Operand 1
21895 /* 57628 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
21896 /* 57633 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21897 /* 57638 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21898 /* 57643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21899 /* 57645 */ // (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)
21900 /* 57645 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
21901 /* 57648 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
21902 /* 57652 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21903 /* 57657 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21904 /* 57661 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21905 /* 57665 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21906 /* 57667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I64_D64),
21907 /* 57670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21908 /* 57672 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21909 /* 57674 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21910 /* 57677 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21911 /* 57679 */ GIR_RootConstrainSelectedInstOperands,
21912 /* 57680 */ // GIR_Coverage, 1853,
21913 /* 57680 */ GIR_EraseRootFromParent_Done,
21914 /* 57681 */ // Label 1545: @57681
21915 /* 57681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1546*/ GIMT_Encode4(57757), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1855 //
21916 /* 57688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21917 /* 57692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21918 /* 57696 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21919 /* 57700 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21920 /* 57704 */ // MIs[1] Operand 1
21921 /* 57704 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21922 /* 57709 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21923 /* 57714 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21924 /* 57719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21925 /* 57721 */ // (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)
21926 /* 57721 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21927 /* 57724 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR),
21928 /* 57728 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21929 /* 57733 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21930 /* 57737 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21931 /* 57741 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21932 /* 57743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D64),
21933 /* 57746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21934 /* 57748 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21935 /* 57750 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21936 /* 57753 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21937 /* 57755 */ GIR_RootConstrainSelectedInstOperands,
21938 /* 57756 */ // GIR_Coverage, 1855,
21939 /* 57756 */ GIR_EraseRootFromParent_Done,
21940 /* 57757 */ // Label 1546: @57757
21941 /* 57757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1547*/ GIMT_Encode4(57833), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1858 //
21942 /* 57764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21943 /* 57768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21944 /* 57772 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
21945 /* 57776 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s64,
21946 /* 57780 */ // MIs[1] Operand 1
21947 /* 57780 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
21948 /* 57785 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21949 /* 57790 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
21950 /* 57795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21951 /* 57797 */ // (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)
21952 /* 57797 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
21953 /* 57800 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR64),
21954 /* 57804 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21955 /* 57809 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21956 /* 57813 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21957 /* 57817 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21958 /* 57819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_D64),
21959 /* 57822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21960 /* 57824 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21961 /* 57826 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21962 /* 57829 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21963 /* 57831 */ GIR_RootConstrainSelectedInstOperands,
21964 /* 57832 */ // GIR_Coverage, 1858,
21965 /* 57832 */ GIR_EraseRootFromParent_Done,
21966 /* 57833 */ // Label 1547: @57833
21967 /* 57833 */ GIM_Reject,
21968 /* 57834 */ // Label 1535: @57834
21969 /* 57834 */ GIM_Try, /*On fail goto*//*Label 1548*/ GIMT_Encode4(58308),
21970 /* 57839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21971 /* 57843 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21972 /* 57847 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
21973 /* 57851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1549*/ GIMT_Encode4(57927), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2427 //
21974 /* 57858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
21975 /* 57862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
21976 /* 57866 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
21977 /* 57870 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
21978 /* 57874 */ // MIs[1] Operand 1
21979 /* 57874 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGE),
21980 /* 57879 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21981 /* 57884 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
21982 /* 57889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
21983 /* 57891 */ // (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)
21984 /* 57891 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21985 /* 57894 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
21986 /* 57898 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21987 /* 57903 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
21988 /* 57907 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
21989 /* 57911 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21990 /* 57913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
21991 /* 57916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
21992 /* 57918 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
21993 /* 57920 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21994 /* 57923 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
21995 /* 57925 */ GIR_RootConstrainSelectedInstOperands,
21996 /* 57926 */ // GIR_Coverage, 2427,
21997 /* 57926 */ GIR_EraseRootFromParent_Done,
21998 /* 57927 */ // Label 1549: @57927
21999 /* 57927 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1550*/ GIMT_Encode4(58003), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2428 //
22000 /* 57934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22001 /* 57938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22002 /* 57942 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22003 /* 57946 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22004 /* 57950 */ // MIs[1] Operand 1
22005 /* 57950 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_UGE),
22006 /* 57955 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22007 /* 57960 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22008 /* 57965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22009 /* 57967 */ // (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)
22010 /* 57967 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22011 /* 57970 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
22012 /* 57974 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22013 /* 57979 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22014 /* 57983 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22015 /* 57987 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22016 /* 57989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
22017 /* 57992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22018 /* 57994 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22019 /* 57996 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22020 /* 57999 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22021 /* 58001 */ GIR_RootConstrainSelectedInstOperands,
22022 /* 58002 */ // GIR_Coverage, 2428,
22023 /* 58002 */ GIR_EraseRootFromParent_Done,
22024 /* 58003 */ // Label 1550: @58003
22025 /* 58003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1551*/ GIMT_Encode4(58079), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2431 //
22026 /* 58010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22027 /* 58014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22028 /* 58018 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22029 /* 58022 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22030 /* 58026 */ // MIs[1] Operand 1
22031 /* 58026 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SLE),
22032 /* 58031 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22033 /* 58036 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22034 /* 58041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22035 /* 58043 */ // (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)
22036 /* 58043 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22037 /* 58046 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLT_MM),
22038 /* 58050 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22039 /* 58055 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22040 /* 58059 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22041 /* 58063 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22042 /* 58065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
22043 /* 58068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22044 /* 58070 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22045 /* 58072 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22046 /* 58075 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22047 /* 58077 */ GIR_RootConstrainSelectedInstOperands,
22048 /* 58078 */ // GIR_Coverage, 2431,
22049 /* 58078 */ GIR_EraseRootFromParent_Done,
22050 /* 58079 */ // Label 1551: @58079
22051 /* 58079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1552*/ GIMT_Encode4(58155), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2432 //
22052 /* 58086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22053 /* 58090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22054 /* 58094 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22055 /* 58098 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22056 /* 58102 */ // MIs[1] Operand 1
22057 /* 58102 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_ULE),
22058 /* 58107 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22059 /* 58112 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22060 /* 58117 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22061 /* 58119 */ // (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)
22062 /* 58119 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22063 /* 58122 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SLTu_MM),
22064 /* 58126 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22065 /* 58131 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22066 /* 58135 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22067 /* 58139 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22068 /* 58141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
22069 /* 58144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22070 /* 58146 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22071 /* 58148 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22072 /* 58151 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22073 /* 58153 */ GIR_RootConstrainSelectedInstOperands,
22074 /* 58154 */ // GIR_Coverage, 2432,
22075 /* 58154 */ GIR_EraseRootFromParent_Done,
22076 /* 58155 */ // Label 1552: @58155
22077 /* 58155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1553*/ GIMT_Encode4(58231), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2435 //
22078 /* 58162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22079 /* 58166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22080 /* 58170 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22081 /* 58174 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22082 /* 58178 */ // MIs[1] Operand 1
22083 /* 58178 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_EQ),
22084 /* 58183 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22085 /* 58188 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22086 /* 58193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22087 /* 58195 */ // (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)
22088 /* 58195 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22089 /* 58198 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
22090 /* 58202 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22091 /* 58207 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22092 /* 58211 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22093 /* 58215 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22094 /* 58217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVZ_I_D32_MM),
22095 /* 58220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22096 /* 58222 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22097 /* 58224 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22098 /* 58227 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22099 /* 58229 */ GIR_RootConstrainSelectedInstOperands,
22100 /* 58230 */ // GIR_Coverage, 2435,
22101 /* 58230 */ GIR_EraseRootFromParent_Done,
22102 /* 58231 */ // Label 1553: @58231
22103 /* 58231 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1554*/ GIMT_Encode4(58307), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2437 //
22104 /* 58238 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22105 /* 58242 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ICMP),
22106 /* 58246 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22107 /* 58250 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s32,
22108 /* 58254 */ // MIs[1] Operand 1
22109 /* 58254 */ GIM_CheckCmpPredicate, /*MI*/1, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_NE),
22110 /* 58259 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22111 /* 58264 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22112 /* 58269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22113 /* 58271 */ // (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)
22114 /* 58271 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22115 /* 58274 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::XOR_MM),
22116 /* 58278 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22117 /* 58283 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // lhs
22118 /* 58287 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // rhs
22119 /* 58291 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22120 /* 58293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32_MM),
22121 /* 58296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22122 /* 58298 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22123 /* 58300 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22124 /* 58303 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22125 /* 58305 */ GIR_RootConstrainSelectedInstOperands,
22126 /* 58306 */ // GIR_Coverage, 2437,
22127 /* 58306 */ GIR_EraseRootFromParent_Done,
22128 /* 58307 */ // Label 1554: @58307
22129 /* 58307 */ GIM_Reject,
22130 /* 58308 */ // Label 1548: @58308
22131 /* 58308 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1555*/ GIMT_Encode4(58338), GIMT_Encode2(GIFBS_HasStdEnc_NotMips4_32), // Rule ID 324 //
22132 /* 58315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22133 /* 58319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22134 /* 58323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22135 /* 58327 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22136 /* 58331 */ // (select:{ *:[i64] } GPR32Opnd:{ *:[i32] }:$cond, GPR64Opnd:{ *:[i64] }:$T, GPR64Opnd:{ *:[i64] }:$F) => (PseudoSELECT_I64:{ *:[i64] } GPR32Opnd:{ *:[i32] }:$cond, GPR64Opnd:{ *:[i64] }:$T, GPR64Opnd:{ *:[i64] }:$F)
22137 /* 58331 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_I64),
22138 /* 58336 */ GIR_RootConstrainSelectedInstOperands,
22139 /* 58337 */ // GIR_Coverage, 324,
22140 /* 58337 */ GIR_Done,
22141 /* 58338 */ // Label 1555: @58338
22142 /* 58338 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1556*/ GIMT_Encode4(58368), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotMips4_32), // Rule ID 326 //
22143 /* 58345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22144 /* 58349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22145 /* 58353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22146 /* 58357 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22147 /* 58361 */ // (select:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$cond, AFGR64Opnd:{ *:[f64] }:$T, AFGR64Opnd:{ *:[f64] }:$F) => (PseudoSELECT_D32:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$cond, AFGR64Opnd:{ *:[f64] }:$T, AFGR64Opnd:{ *:[f64] }:$F)
22148 /* 58361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_D32),
22149 /* 58366 */ GIR_RootConstrainSelectedInstOperands,
22150 /* 58367 */ // GIR_Coverage, 326,
22151 /* 58367 */ GIR_Done,
22152 /* 58368 */ // Label 1556: @58368
22153 /* 58368 */ GIM_Try, /*On fail goto*//*Label 1557*/ GIMT_Encode4(58462),
22154 /* 58373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22155 /* 58377 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1558*/ GIMT_Encode4(58403), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotMips4_32), // Rule ID 327 //
22156 /* 58384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22157 /* 58388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22158 /* 58392 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22159 /* 58396 */ // (select:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$cond, FGR64Opnd:{ *:[f64] }:$T, FGR64Opnd:{ *:[f64] }:$F) => (PseudoSELECT_D64:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$cond, FGR64Opnd:{ *:[f64] }:$T, FGR64Opnd:{ *:[f64] }:$F)
22160 /* 58396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoSELECT_D64),
22161 /* 58401 */ GIR_RootConstrainSelectedInstOperands,
22162 /* 58402 */ // GIR_Coverage, 327,
22163 /* 58402 */ GIR_Done,
22164 /* 58403 */ // Label 1558: @58403
22165 /* 58403 */ GIM_Try, /*On fail goto*//*Label 1559*/ GIMT_Encode4(58461),
22166 /* 58408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64CCRegClassID),
22167 /* 58412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22168 /* 58416 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22169 /* 58420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1560*/ GIMT_Encode4(58440), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 361 //
22170 /* 58427 */ // (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)
22171 /* 58427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEL_D),
22172 /* 58430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22173 /* 58432 */ GIR_RootToRootCopy, /*OpIdx*/1, // fd_in
22174 /* 58434 */ GIR_RootToRootCopy, /*OpIdx*/3, // fs
22175 /* 58436 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
22176 /* 58438 */ GIR_RootConstrainSelectedInstOperands,
22177 /* 58439 */ // GIR_Coverage, 361,
22178 /* 58439 */ GIR_EraseRootFromParent_Done,
22179 /* 58440 */ // Label 1560: @58440
22180 /* 58440 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1561*/ GIMT_Encode4(58460), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1236 //
22181 /* 58447 */ // (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)
22182 /* 58447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::SEL_D_MMR6),
22183 /* 58450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22184 /* 58452 */ GIR_RootToRootCopy, /*OpIdx*/1, // fd_in
22185 /* 58454 */ GIR_RootToRootCopy, /*OpIdx*/3, // fs
22186 /* 58456 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
22187 /* 58458 */ GIR_RootConstrainSelectedInstOperands,
22188 /* 58459 */ // GIR_Coverage, 1236,
22189 /* 58459 */ GIR_EraseRootFromParent_Done,
22190 /* 58460 */ // Label 1561: @58460
22191 /* 58460 */ GIM_Reject,
22192 /* 58461 */ // Label 1559: @58461
22193 /* 58461 */ GIM_Reject,
22194 /* 58462 */ // Label 1557: @58462
22195 /* 58462 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1562*/ GIMT_Encode4(58498), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1788 //
22196 /* 58469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22197 /* 58473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22198 /* 58477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22199 /* 58481 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22200 /* 58485 */ // (select:{ *:[i64] } GPR32:{ *:[i32] }:$cond, GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVN_I_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, GPR32:{ *:[i32] }:$cond, GPR64:{ *:[i64] }:$F)
22201 /* 58485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_I64),
22202 /* 58488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22203 /* 58490 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22204 /* 58492 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22205 /* 58494 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22206 /* 58496 */ GIR_RootConstrainSelectedInstOperands,
22207 /* 58497 */ // GIR_Coverage, 1788,
22208 /* 58497 */ GIR_EraseRootFromParent_Done,
22209 /* 58498 */ // Label 1562: @58498
22210 /* 58498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1563*/ GIMT_Encode4(58534), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1833 //
22211 /* 58505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22212 /* 58509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22213 /* 58513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22214 /* 58517 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22215 /* 58521 */ // (select:{ *:[f64] } GPR32:{ *:[i32] }:$cond, AFGR64:{ *:[f64] }:$T, AFGR64:{ *:[f64] }:$F) => (MOVN_I_D32:{ *:[f64] } AFGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$cond, AFGR64:{ *:[f64] }:$F)
22216 /* 58521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32),
22217 /* 58524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22218 /* 58526 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22219 /* 58528 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22220 /* 58530 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22221 /* 58532 */ GIR_RootConstrainSelectedInstOperands,
22222 /* 58533 */ // GIR_Coverage, 1833,
22223 /* 58533 */ GIR_EraseRootFromParent_Done,
22224 /* 58534 */ // Label 1563: @58534
22225 /* 58534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1564*/ GIMT_Encode4(58570), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1856 //
22226 /* 58541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22227 /* 58545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22228 /* 58549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22229 /* 58553 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22230 /* 58557 */ // (select:{ *:[f64] } GPR32:{ *:[i32] }:$cond, FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVN_I_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, GPR32:{ *:[i32] }:$cond, FGR64:{ *:[f64] }:$F)
22231 /* 58557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D64),
22232 /* 58560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22233 /* 58562 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22234 /* 58564 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22235 /* 58566 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22236 /* 58568 */ GIR_RootConstrainSelectedInstOperands,
22237 /* 58569 */ // GIR_Coverage, 1856,
22238 /* 58569 */ GIR_EraseRootFromParent_Done,
22239 /* 58570 */ // Label 1564: @58570
22240 /* 58570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1565*/ GIMT_Encode4(58606), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit_NotMips32r6), // Rule ID 2438 //
22241 /* 58577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22242 /* 58581 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22243 /* 58585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22244 /* 58589 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22245 /* 58593 */ // (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)
22246 /* 58593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I_D32_MM),
22247 /* 58596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22248 /* 58598 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22249 /* 58600 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22250 /* 58602 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22251 /* 58604 */ GIR_RootConstrainSelectedInstOperands,
22252 /* 58605 */ // GIR_Coverage, 2438,
22253 /* 58605 */ GIR_EraseRootFromParent_Done,
22254 /* 58606 */ // Label 1565: @58606
22255 /* 58606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1566*/ GIMT_Encode4(58708), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc), // Rule ID 1923 //
22256 /* 58613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22257 /* 58617 */ // (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)))
22258 /* 58617 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s64,
22259 /* 58620 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(Mips::SLL64_32),
22260 /* 58624 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22261 /* 58629 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // cond
22262 /* 58633 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
22263 /* 58635 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s64,
22264 /* 58638 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(Mips::SELEQZ64),
22265 /* 58642 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22266 /* 58647 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/3, // f
22267 /* 58651 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
22268 /* 58654 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
22269 /* 58656 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
22270 /* 58659 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SLL64_32),
22271 /* 58663 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22272 /* 58668 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // cond
22273 /* 58672 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
22274 /* 58674 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
22275 /* 58677 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SELNEZ64),
22276 /* 58681 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22277 /* 58686 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // t
22278 /* 58690 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
22279 /* 58693 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22280 /* 58695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::OR64),
22281 /* 58698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22282 /* 58700 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22283 /* 58703 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/2,
22284 /* 58706 */ GIR_RootConstrainSelectedInstOperands,
22285 /* 58707 */ // GIR_Coverage, 1923,
22286 /* 58707 */ GIR_EraseRootFromParent_Done,
22287 /* 58708 */ // Label 1566: @58708
22288 /* 58708 */ GIM_Reject,
22289 /* 58709 */ // Label 1498: @58709
22290 /* 58709 */ GIM_Reject,
22291 /* 58710 */ // Label 1496: @58710
22292 /* 58710 */ GIM_Try, /*On fail goto*//*Label 1567*/ GIMT_Encode4(58862),
22293 /* 58715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22294 /* 58718 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
22295 /* 58721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1568*/ GIMT_Encode4(58757), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1794 //
22296 /* 58728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22297 /* 58732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22298 /* 58736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22299 /* 58740 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22300 /* 58744 */ // (select:{ *:[i64] } GPR64:{ *:[i64] }:$cond, GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$F) => (MOVN_I64_I64:{ *:[i64] } GPR64:{ *:[i64] }:$T, GPR64:{ *:[i64] }:$cond, GPR64:{ *:[i64] }:$F)
22301 /* 58744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_I64),
22302 /* 58747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22303 /* 58749 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22304 /* 58751 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22305 /* 58753 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22306 /* 58755 */ GIR_RootConstrainSelectedInstOperands,
22307 /* 58756 */ // GIR_Coverage, 1794,
22308 /* 58756 */ GIR_EraseRootFromParent_Done,
22309 /* 58757 */ // Label 1568: @58757
22310 /* 58757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1569*/ GIMT_Encode4(58793), GIMT_Encode2(GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 1859 //
22311 /* 58764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22312 /* 58768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22313 /* 58772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22314 /* 58776 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22315 /* 58780 */ // (select:{ *:[f64] } GPR64:{ *:[i64] }:$cond, FGR64:{ *:[f64] }:$T, FGR64:{ *:[f64] }:$F) => (MOVN_I64_D64:{ *:[f64] } FGR64:{ *:[f64] }:$T, GPR64:{ *:[i64] }:$cond, FGR64:{ *:[f64] }:$F)
22316 /* 58780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MOVN_I64_D64),
22317 /* 58783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22318 /* 58785 */ GIR_RootToRootCopy, /*OpIdx*/2, // T
22319 /* 58787 */ GIR_RootToRootCopy, /*OpIdx*/1, // cond
22320 /* 58789 */ GIR_RootToRootCopy, /*OpIdx*/3, // F
22321 /* 58791 */ GIR_RootConstrainSelectedInstOperands,
22322 /* 58792 */ // GIR_Coverage, 1859,
22323 /* 58792 */ GIR_EraseRootFromParent_Done,
22324 /* 58793 */ // Label 1569: @58793
22325 /* 58793 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1570*/ GIMT_Encode4(58861), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc), // Rule ID 1912 //
22326 /* 58800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22327 /* 58804 */ // (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))
22328 /* 58804 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
22329 /* 58807 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(Mips::SELEQZ64),
22330 /* 58811 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22331 /* 58816 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // f
22332 /* 58820 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // cond
22333 /* 58824 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
22334 /* 58826 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
22335 /* 58829 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::SELNEZ64),
22336 /* 58833 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22337 /* 58838 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // t
22338 /* 58842 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // cond
22339 /* 58846 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22340 /* 58848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::OR64),
22341 /* 58851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
22342 /* 58853 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22343 /* 58856 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/1,
22344 /* 58859 */ GIR_RootConstrainSelectedInstOperands,
22345 /* 58860 */ // GIR_Coverage, 1912,
22346 /* 58860 */ GIR_EraseRootFromParent_Done,
22347 /* 58861 */ // Label 1570: @58861
22348 /* 58861 */ GIM_Reject,
22349 /* 58862 */ // Label 1567: @58862
22350 /* 58862 */ GIM_Reject,
22351 /* 58863 */ // Label 1497: @58863
22352 /* 58863 */ GIM_Reject,
22353 /* 58864 */ // Label 1391: @58864
22354 /* 58864 */ GIM_Try, /*On fail goto*//*Label 1571*/ GIMT_Encode4(58955),
22355 /* 58869 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
22356 /* 58872 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
22357 /* 58875 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
22358 /* 58878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
22359 /* 58882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
22360 /* 58886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
22361 /* 58890 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
22362 /* 58894 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1572*/ GIMT_Encode4(58914), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 596 //
22363 /* 58901 */ // (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)
22364 /* 58901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BMNZ_V),
22365 /* 58904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22366 /* 58906 */ GIR_RootToRootCopy, /*OpIdx*/3, // wd_in
22367 /* 58908 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
22368 /* 58910 */ GIR_RootToRootCopy, /*OpIdx*/1, // wt
22369 /* 58912 */ GIR_RootConstrainSelectedInstOperands,
22370 /* 58913 */ // GIR_Coverage, 596,
22371 /* 58913 */ GIR_EraseRootFromParent_Done,
22372 /* 58914 */ // Label 1572: @58914
22373 /* 58914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1573*/ GIMT_Encode4(58934), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 598 //
22374 /* 58921 */ // (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)
22375 /* 58921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BMZ_V),
22376 /* 58924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22377 /* 58926 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd_in
22378 /* 58928 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
22379 /* 58930 */ GIR_RootToRootCopy, /*OpIdx*/1, // wt
22380 /* 58932 */ GIR_RootConstrainSelectedInstOperands,
22381 /* 58933 */ // GIR_Coverage, 598,
22382 /* 58933 */ GIR_EraseRootFromParent_Done,
22383 /* 58934 */ // Label 1573: @58934
22384 /* 58934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1574*/ GIMT_Encode4(58954), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 608 //
22385 /* 58941 */ // (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)
22386 /* 58941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_V),
22387 /* 58944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22388 /* 58946 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
22389 /* 58948 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
22390 /* 58950 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
22391 /* 58952 */ GIR_RootConstrainSelectedInstOperands,
22392 /* 58953 */ // GIR_Coverage, 608,
22393 /* 58953 */ GIR_EraseRootFromParent_Done,
22394 /* 58954 */ // Label 1574: @58954
22395 /* 58954 */ GIM_Reject,
22396 /* 58955 */ // Label 1571: @58955
22397 /* 58955 */ GIM_Reject,
22398 /* 58956 */ // Label 1392: @58956
22399 /* 58956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1575*/ GIMT_Encode4(59001), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 609 //
22400 /* 58963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
22401 /* 58966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
22402 /* 58969 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
22403 /* 58972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
22404 /* 58976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
22405 /* 58980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
22406 /* 58984 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
22407 /* 58988 */ // (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)
22408 /* 58988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_H_PSEUDO),
22409 /* 58991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22410 /* 58993 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
22411 /* 58995 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
22412 /* 58997 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
22413 /* 58999 */ GIR_RootConstrainSelectedInstOperands,
22414 /* 59000 */ // GIR_Coverage, 609,
22415 /* 59000 */ GIR_EraseRootFromParent_Done,
22416 /* 59001 */ // Label 1575: @59001
22417 /* 59001 */ GIM_Reject,
22418 /* 59002 */ // Label 1393: @59002
22419 /* 59002 */ GIM_Try, /*On fail goto*//*Label 1576*/ GIMT_Encode4(59073),
22420 /* 59007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
22421 /* 59010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
22422 /* 59013 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
22423 /* 59016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22424 /* 59020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22425 /* 59024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22426 /* 59028 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22427 /* 59032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1577*/ GIMT_Encode4(59052), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 610 //
22428 /* 59039 */ // (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)
22429 /* 59039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_W_PSEUDO),
22430 /* 59042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22431 /* 59044 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
22432 /* 59046 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
22433 /* 59048 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
22434 /* 59050 */ GIR_RootConstrainSelectedInstOperands,
22435 /* 59051 */ // GIR_Coverage, 610,
22436 /* 59051 */ GIR_EraseRootFromParent_Done,
22437 /* 59052 */ // Label 1577: @59052
22438 /* 59052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1578*/ GIMT_Encode4(59072), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 612 //
22439 /* 59059 */ // (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)
22440 /* 59059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_FW_PSEUDO),
22441 /* 59062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22442 /* 59064 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
22443 /* 59066 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
22444 /* 59068 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
22445 /* 59070 */ GIR_RootConstrainSelectedInstOperands,
22446 /* 59071 */ // GIR_Coverage, 612,
22447 /* 59071 */ GIR_EraseRootFromParent_Done,
22448 /* 59072 */ // Label 1578: @59072
22449 /* 59072 */ GIM_Reject,
22450 /* 59073 */ // Label 1576: @59073
22451 /* 59073 */ GIM_Reject,
22452 /* 59074 */ // Label 1394: @59074
22453 /* 59074 */ GIM_Try, /*On fail goto*//*Label 1579*/ GIMT_Encode4(59145),
22454 /* 59079 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
22455 /* 59082 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
22456 /* 59085 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
22457 /* 59088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
22458 /* 59092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
22459 /* 59096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
22460 /* 59100 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
22461 /* 59104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1580*/ GIMT_Encode4(59124), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 611 //
22462 /* 59111 */ // (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)
22463 /* 59111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_D_PSEUDO),
22464 /* 59114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22465 /* 59116 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
22466 /* 59118 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
22467 /* 59120 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
22468 /* 59122 */ GIR_RootConstrainSelectedInstOperands,
22469 /* 59123 */ // GIR_Coverage, 611,
22470 /* 59123 */ GIR_EraseRootFromParent_Done,
22471 /* 59124 */ // Label 1580: @59124
22472 /* 59124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1581*/ GIMT_Encode4(59144), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 613 //
22473 /* 59131 */ // (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)
22474 /* 59131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::BSEL_FD_PSEUDO),
22475 /* 59134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22476 /* 59136 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
22477 /* 59138 */ GIR_RootToRootCopy, /*OpIdx*/3, // ws
22478 /* 59140 */ GIR_RootToRootCopy, /*OpIdx*/2, // wt
22479 /* 59142 */ GIR_RootConstrainSelectedInstOperands,
22480 /* 59143 */ // GIR_Coverage, 613,
22481 /* 59143 */ GIR_EraseRootFromParent_Done,
22482 /* 59144 */ // Label 1581: @59144
22483 /* 59144 */ GIM_Reject,
22484 /* 59145 */ // Label 1579: @59145
22485 /* 59145 */ GIM_Reject,
22486 /* 59146 */ // Label 1395: @59146
22487 /* 59146 */ GIM_Reject,
22488 /* 59147 */ // Label 45: @59147
22489 /* 59147 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1584*/ GIMT_Encode4(59252),
22490 /* 59158 */ /*GILLT_s32*//*Label 1582*/ GIMT_Encode4(59166),
22491 /* 59162 */ /*GILLT_s64*//*Label 1583*/ GIMT_Encode4(59219),
22492 /* 59166 */ // Label 1582: @59166
22493 /* 59166 */ GIM_Try, /*On fail goto*//*Label 1585*/ GIMT_Encode4(59218),
22494 /* 59171 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22495 /* 59174 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22496 /* 59177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22497 /* 59181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22498 /* 59185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22499 /* 59189 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1586*/ GIMT_Encode4(59203), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 359 //
22500 /* 59196 */ // (mulhu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUHU:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
22501 /* 59196 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUHU),
22502 /* 59201 */ GIR_RootConstrainSelectedInstOperands,
22503 /* 59202 */ // GIR_Coverage, 359,
22504 /* 59202 */ GIR_Done,
22505 /* 59203 */ // Label 1586: @59203
22506 /* 59203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1587*/ GIMT_Encode4(59217), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1203 //
22507 /* 59210 */ // (mulhu:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUHU_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
22508 /* 59210 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUHU_MMR6),
22509 /* 59215 */ GIR_RootConstrainSelectedInstOperands,
22510 /* 59216 */ // GIR_Coverage, 1203,
22511 /* 59216 */ GIR_Done,
22512 /* 59217 */ // Label 1587: @59217
22513 /* 59217 */ GIM_Reject,
22514 /* 59218 */ // Label 1585: @59218
22515 /* 59218 */ GIM_Reject,
22516 /* 59219 */ // Label 1583: @59219
22517 /* 59219 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1588*/ GIMT_Encode4(59251), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 374 //
22518 /* 59226 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
22519 /* 59229 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22520 /* 59232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22521 /* 59236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22522 /* 59240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22523 /* 59244 */ // (mulhu:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMUHU:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
22524 /* 59244 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMUHU),
22525 /* 59249 */ GIR_RootConstrainSelectedInstOperands,
22526 /* 59250 */ // GIR_Coverage, 374,
22527 /* 59250 */ GIR_Done,
22528 /* 59251 */ // Label 1588: @59251
22529 /* 59251 */ GIM_Reject,
22530 /* 59252 */ // Label 1584: @59252
22531 /* 59252 */ GIM_Reject,
22532 /* 59253 */ // Label 46: @59253
22533 /* 59253 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1591*/ GIMT_Encode4(59358),
22534 /* 59264 */ /*GILLT_s32*//*Label 1589*/ GIMT_Encode4(59272),
22535 /* 59268 */ /*GILLT_s64*//*Label 1590*/ GIMT_Encode4(59325),
22536 /* 59272 */ // Label 1589: @59272
22537 /* 59272 */ GIM_Try, /*On fail goto*//*Label 1592*/ GIMT_Encode4(59324),
22538 /* 59277 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22539 /* 59280 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22540 /* 59283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22541 /* 59287 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22542 /* 59291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
22543 /* 59295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1593*/ GIMT_Encode4(59309), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 358 //
22544 /* 59302 */ // (mulhs:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUH:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
22545 /* 59302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUH),
22546 /* 59307 */ GIR_RootConstrainSelectedInstOperands,
22547 /* 59308 */ // GIR_Coverage, 358,
22548 /* 59308 */ GIR_Done,
22549 /* 59309 */ // Label 1593: @59309
22550 /* 59309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1594*/ GIMT_Encode4(59323), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1202 //
22551 /* 59316 */ // (mulhs:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt) => (MUH_MMR6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, GPR32Opnd:{ *:[i32] }:$rt)
22552 /* 59316 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MUH_MMR6),
22553 /* 59321 */ GIR_RootConstrainSelectedInstOperands,
22554 /* 59322 */ // GIR_Coverage, 1202,
22555 /* 59322 */ GIR_Done,
22556 /* 59323 */ // Label 1594: @59323
22557 /* 59323 */ GIM_Reject,
22558 /* 59324 */ // Label 1592: @59324
22559 /* 59324 */ GIM_Reject,
22560 /* 59325 */ // Label 1590: @59325
22561 /* 59325 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1595*/ GIMT_Encode4(59357), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 373 //
22562 /* 59332 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
22563 /* 59335 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22564 /* 59338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22565 /* 59342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22566 /* 59346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
22567 /* 59350 */ // (mulhs:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt) => (DMUH:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, GPR64Opnd:{ *:[i64] }:$rt)
22568 /* 59350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DMUH),
22569 /* 59355 */ GIR_RootConstrainSelectedInstOperands,
22570 /* 59356 */ // GIR_Coverage, 373,
22571 /* 59356 */ GIR_Done,
22572 /* 59357 */ // Label 1595: @59357
22573 /* 59357 */ GIM_Reject,
22574 /* 59358 */ // Label 1591: @59358
22575 /* 59358 */ GIM_Reject,
22576 /* 59359 */ // Label 47: @59359
22577 /* 59359 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1600*/ GIMT_Encode4(60670),
22578 /* 59370 */ /*GILLT_s32*//*Label 1596*/ GIMT_Encode4(59402),
22579 /* 59374 */ /*GILLT_s64*//*Label 1597*/ GIMT_Encode4(59711), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
22580 /* 59394 */ /*GILLT_v4s32*//*Label 1598*/ GIMT_Encode4(60324),
22581 /* 59398 */ /*GILLT_v2s64*//*Label 1599*/ GIMT_Encode4(60497),
22582 /* 59402 */ // Label 1596: @59402
22583 /* 59402 */ GIM_Try, /*On fail goto*//*Label 1601*/ GIMT_Encode4(59710),
22584 /* 59407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
22585 /* 59410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
22586 /* 59413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22587 /* 59417 */ GIM_Try, /*On fail goto*//*Label 1602*/ GIMT_Encode4(59531),
22588 /* 59422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22589 /* 59426 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1603*/ GIMT_Encode4(59478), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 181 //
22590 /* 59433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22591 /* 59437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22592 /* 59441 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
22593 /* 59445 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22594 /* 59449 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22595 /* 59454 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22596 /* 59459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22597 /* 59461 */ // (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)
22598 /* 59461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
22599 /* 59464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22600 /* 59466 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
22601 /* 59468 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22602 /* 59472 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22603 /* 59476 */ GIR_RootConstrainSelectedInstOperands,
22604 /* 59477 */ // GIR_Coverage, 181,
22605 /* 59477 */ GIR_EraseRootFromParent_Done,
22606 /* 59478 */ // Label 1603: @59478
22607 /* 59478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1604*/ GIMT_Encode4(59530), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 180 //
22608 /* 59485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22609 /* 59489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
22610 /* 59493 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
22611 /* 59497 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22612 /* 59501 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22613 /* 59506 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22614 /* 59511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22615 /* 59513 */ // (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)
22616 /* 59513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
22617 /* 59516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22618 /* 59518 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
22619 /* 59520 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22620 /* 59524 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22621 /* 59528 */ GIR_RootConstrainSelectedInstOperands,
22622 /* 59529 */ // GIR_Coverage, 180,
22623 /* 59529 */ GIR_EraseRootFromParent_Done,
22624 /* 59530 */ // Label 1604: @59530
22625 /* 59530 */ GIM_Reject,
22626 /* 59531 */ // Label 1602: @59531
22627 /* 59531 */ GIM_Try, /*On fail goto*//*Label 1605*/ GIMT_Encode4(59709),
22628 /* 59536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22629 /* 59540 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1606*/ GIMT_Encode4(59592), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2497 //
22630 /* 59547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
22631 /* 59551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22632 /* 59555 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
22633 /* 59559 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22634 /* 59563 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22635 /* 59568 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22636 /* 59573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22637 /* 59575 */ // (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)
22638 /* 59575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
22639 /* 59578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22640 /* 59580 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
22641 /* 59582 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22642 /* 59586 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22643 /* 59590 */ GIR_RootConstrainSelectedInstOperands,
22644 /* 59591 */ // GIR_Coverage, 2497,
22645 /* 59591 */ GIR_EraseRootFromParent_Done,
22646 /* 59592 */ // Label 1606: @59592
22647 /* 59592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1607*/ GIMT_Encode4(59644), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2496 //
22648 /* 59599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
22649 /* 59603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
22650 /* 59607 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
22651 /* 59611 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
22652 /* 59615 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22653 /* 59620 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22654 /* 59625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22655 /* 59627 */ // (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)
22656 /* 59627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
22657 /* 59630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22658 /* 59632 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
22659 /* 59634 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22660 /* 59638 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22661 /* 59642 */ GIR_RootConstrainSelectedInstOperands,
22662 /* 59643 */ // GIR_Coverage, 2496,
22663 /* 59643 */ GIR_EraseRootFromParent_Done,
22664 /* 59644 */ // Label 1607: @59644
22665 /* 59644 */ GIM_Try, /*On fail goto*//*Label 1608*/ GIMT_Encode4(59708),
22666 /* 59649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
22667 /* 59653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1609*/ GIMT_Encode4(59671), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 155 //
22668 /* 59660 */ // (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
22669 /* 59660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_S),
22670 /* 59665 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
22671 /* 59669 */ GIR_RootConstrainSelectedInstOperands,
22672 /* 59670 */ // GIR_Coverage, 155,
22673 /* 59670 */ GIR_Done,
22674 /* 59671 */ // Label 1609: @59671
22675 /* 59671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1610*/ GIMT_Encode4(59689), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1152 //
22676 /* 59678 */ // (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FADD_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
22677 /* 59678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_S_MM),
22678 /* 59683 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
22679 /* 59687 */ GIR_RootConstrainSelectedInstOperands,
22680 /* 59688 */ // GIR_Coverage, 1152,
22681 /* 59688 */ GIR_Done,
22682 /* 59689 */ // Label 1610: @59689
22683 /* 59689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1611*/ GIMT_Encode4(59707), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1210 //
22684 /* 59696 */ // (fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FADD_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs)
22685 /* 59696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FADD_S_MMR6),
22686 /* 59699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22687 /* 59701 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
22688 /* 59703 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
22689 /* 59705 */ GIR_RootConstrainSelectedInstOperands,
22690 /* 59706 */ // GIR_Coverage, 1210,
22691 /* 59706 */ GIR_EraseRootFromParent_Done,
22692 /* 59707 */ // Label 1611: @59707
22693 /* 59707 */ GIM_Reject,
22694 /* 59708 */ // Label 1608: @59708
22695 /* 59708 */ GIM_Reject,
22696 /* 59709 */ // Label 1605: @59709
22697 /* 59709 */ GIM_Reject,
22698 /* 59710 */ // Label 1601: @59710
22699 /* 59710 */ GIM_Reject,
22700 /* 59711 */ // Label 1597: @59711
22701 /* 59711 */ GIM_Try, /*On fail goto*//*Label 1612*/ GIMT_Encode4(60323),
22702 /* 59716 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
22703 /* 59719 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
22704 /* 59722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1613*/ GIMT_Encode4(59782), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 189 //
22705 /* 59729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22706 /* 59733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22707 /* 59737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22708 /* 59741 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
22709 /* 59745 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22710 /* 59749 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22711 /* 59754 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22712 /* 59759 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22713 /* 59763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22714 /* 59765 */ // (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)
22715 /* 59765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
22716 /* 59768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22717 /* 59770 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
22718 /* 59772 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22719 /* 59776 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22720 /* 59780 */ GIR_RootConstrainSelectedInstOperands,
22721 /* 59781 */ // GIR_Coverage, 189,
22722 /* 59781 */ GIR_EraseRootFromParent_Done,
22723 /* 59782 */ // Label 1613: @59782
22724 /* 59782 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1614*/ GIMT_Encode4(59842), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 197 //
22725 /* 59789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22726 /* 59793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22727 /* 59797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22728 /* 59801 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
22729 /* 59805 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22730 /* 59809 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22731 /* 59814 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22732 /* 59819 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22733 /* 59823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22734 /* 59825 */ // (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)
22735 /* 59825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
22736 /* 59828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22737 /* 59830 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
22738 /* 59832 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22739 /* 59836 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22740 /* 59840 */ GIR_RootConstrainSelectedInstOperands,
22741 /* 59841 */ // GIR_Coverage, 197,
22742 /* 59841 */ GIR_EraseRootFromParent_Done,
22743 /* 59842 */ // Label 1614: @59842
22744 /* 59842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1615*/ GIMT_Encode4(59902), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 188 //
22745 /* 59849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22746 /* 59853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22747 /* 59857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
22748 /* 59861 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
22749 /* 59865 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22750 /* 59869 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22751 /* 59874 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22752 /* 59879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22753 /* 59883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22754 /* 59885 */ // (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)
22755 /* 59885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
22756 /* 59888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22757 /* 59890 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
22758 /* 59892 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22759 /* 59896 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22760 /* 59900 */ GIR_RootConstrainSelectedInstOperands,
22761 /* 59901 */ // GIR_Coverage, 188,
22762 /* 59901 */ GIR_EraseRootFromParent_Done,
22763 /* 59902 */ // Label 1615: @59902
22764 /* 59902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1616*/ GIMT_Encode4(59962), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 196 //
22765 /* 59909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22766 /* 59913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22767 /* 59917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
22768 /* 59921 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
22769 /* 59925 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22770 /* 59929 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22771 /* 59934 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22772 /* 59939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22773 /* 59943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22774 /* 59945 */ // (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)
22775 /* 59945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
22776 /* 59948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22777 /* 59950 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
22778 /* 59952 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22779 /* 59956 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22780 /* 59960 */ GIR_RootConstrainSelectedInstOperands,
22781 /* 59961 */ // GIR_Coverage, 196,
22782 /* 59961 */ GIR_EraseRootFromParent_Done,
22783 /* 59962 */ // Label 1616: @59962
22784 /* 59962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1617*/ GIMT_Encode4(60022), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2501 //
22785 /* 59969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22786 /* 59973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22787 /* 59977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
22788 /* 59981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22789 /* 59985 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
22790 /* 59989 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22791 /* 59993 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22792 /* 59998 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22793 /* 60003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22794 /* 60005 */ // (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)
22795 /* 60005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
22796 /* 60008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22797 /* 60010 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
22798 /* 60012 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22799 /* 60016 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22800 /* 60020 */ GIR_RootConstrainSelectedInstOperands,
22801 /* 60021 */ // GIR_Coverage, 2501,
22802 /* 60021 */ GIR_EraseRootFromParent_Done,
22803 /* 60022 */ // Label 1617: @60022
22804 /* 60022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1618*/ GIMT_Encode4(60082), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2505 //
22805 /* 60029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22806 /* 60033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22807 /* 60037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
22808 /* 60041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22809 /* 60045 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
22810 /* 60049 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22811 /* 60053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22812 /* 60058 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22813 /* 60063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22814 /* 60065 */ // (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)
22815 /* 60065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
22816 /* 60068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22817 /* 60070 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
22818 /* 60072 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22819 /* 60076 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22820 /* 60080 */ GIR_RootConstrainSelectedInstOperands,
22821 /* 60081 */ // GIR_Coverage, 2505,
22822 /* 60081 */ GIR_EraseRootFromParent_Done,
22823 /* 60082 */ // Label 1618: @60082
22824 /* 60082 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1619*/ GIMT_Encode4(60142), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2500 //
22825 /* 60089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22826 /* 60093 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22827 /* 60097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
22828 /* 60101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
22829 /* 60105 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
22830 /* 60109 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22831 /* 60113 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22832 /* 60118 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22833 /* 60123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22834 /* 60125 */ // (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)
22835 /* 60125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
22836 /* 60128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22837 /* 60130 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
22838 /* 60132 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22839 /* 60136 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22840 /* 60140 */ GIR_RootConstrainSelectedInstOperands,
22841 /* 60141 */ // GIR_Coverage, 2500,
22842 /* 60141 */ GIR_EraseRootFromParent_Done,
22843 /* 60142 */ // Label 1619: @60142
22844 /* 60142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1620*/ GIMT_Encode4(60202), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2504 //
22845 /* 60149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22846 /* 60153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22847 /* 60157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
22848 /* 60161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
22849 /* 60165 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
22850 /* 60169 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
22851 /* 60173 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22852 /* 60178 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22853 /* 60183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22854 /* 60185 */ // (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)
22855 /* 60185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
22856 /* 60188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
22857 /* 60190 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
22858 /* 60192 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
22859 /* 60196 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
22860 /* 60200 */ GIR_RootConstrainSelectedInstOperands,
22861 /* 60201 */ // GIR_Coverage, 2504,
22862 /* 60201 */ GIR_EraseRootFromParent_Done,
22863 /* 60202 */ // Label 1620: @60202
22864 /* 60202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1621*/ GIMT_Encode4(60232), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 157 //
22865 /* 60209 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22866 /* 60213 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22867 /* 60217 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22868 /* 60221 */ // (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
22869 /* 60221 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D32),
22870 /* 60226 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
22871 /* 60230 */ GIR_RootConstrainSelectedInstOperands,
22872 /* 60231 */ // GIR_Coverage, 157,
22873 /* 60231 */ GIR_Done,
22874 /* 60232 */ // Label 1621: @60232
22875 /* 60232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1622*/ GIMT_Encode4(60262), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 159 //
22876 /* 60239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22877 /* 60243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22878 /* 60247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22879 /* 60251 */ // (fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
22880 /* 60251 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D64),
22881 /* 60256 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
22882 /* 60260 */ GIR_RootConstrainSelectedInstOperands,
22883 /* 60261 */ // GIR_Coverage, 159,
22884 /* 60261 */ GIR_Done,
22885 /* 60262 */ // Label 1622: @60262
22886 /* 60262 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1623*/ GIMT_Encode4(60292), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit), // Rule ID 1156 //
22887 /* 60269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22888 /* 60273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22889 /* 60277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
22890 /* 60281 */ // (fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FADD_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
22891 /* 60281 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D32_MM),
22892 /* 60286 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
22893 /* 60290 */ GIR_RootConstrainSelectedInstOperands,
22894 /* 60291 */ // GIR_Coverage, 1156,
22895 /* 60291 */ GIR_Done,
22896 /* 60292 */ // Label 1623: @60292
22897 /* 60292 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1624*/ GIMT_Encode4(60322), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 1157 //
22898 /* 60299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22899 /* 60303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22900 /* 60307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
22901 /* 60311 */ // (fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FADD_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
22902 /* 60311 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D64_MM),
22903 /* 60316 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
22904 /* 60320 */ GIR_RootConstrainSelectedInstOperands,
22905 /* 60321 */ // GIR_Coverage, 1157,
22906 /* 60321 */ GIR_Done,
22907 /* 60322 */ // Label 1624: @60322
22908 /* 60322 */ GIM_Reject,
22909 /* 60323 */ // Label 1612: @60323
22910 /* 60323 */ GIM_Reject,
22911 /* 60324 */ // Label 1598: @60324
22912 /* 60324 */ GIM_Try, /*On fail goto*//*Label 1625*/ GIMT_Encode4(60496),
22913 /* 60329 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
22914 /* 60332 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
22915 /* 60335 */ GIM_Try, /*On fail goto*//*Label 1626*/ GIMT_Encode4(60469),
22916 /* 60340 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fadd_contract),
22917 /* 60344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22918 /* 60348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1627*/ GIMT_Encode4(60408), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2639 //
22919 /* 60355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22920 /* 60359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22921 /* 60363 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
22922 /* 60367 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
22923 /* 60371 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22924 /* 60376 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22925 /* 60381 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fmul_contract),
22926 /* 60385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22927 /* 60389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22928 /* 60391 */ // (fadd:{ *:[v4f32] } (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)<<P:Predicate_fmul_contract>>, MSA128WOpnd:{ *:[v4f32] }:$wd)<<P:Predicate_fadd_contract>> => (FMADD_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
22929 /* 60391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMADD_W),
22930 /* 60394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22931 /* 60396 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd
22932 /* 60398 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
22933 /* 60402 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
22934 /* 60406 */ GIR_RootConstrainSelectedInstOperands,
22935 /* 60407 */ // GIR_Coverage, 2639,
22936 /* 60407 */ GIR_EraseRootFromParent_Done,
22937 /* 60408 */ // Label 1627: @60408
22938 /* 60408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1628*/ GIMT_Encode4(60468), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2122 //
22939 /* 60415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22940 /* 60419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
22941 /* 60423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22942 /* 60427 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
22943 /* 60431 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
22944 /* 60435 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22945 /* 60440 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22946 /* 60445 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fmul_contract),
22947 /* 60449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22948 /* 60451 */ // (fadd:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)<<P:Predicate_fmul_contract>>)<<P:Predicate_fadd_contract>> => (FMADD_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
22949 /* 60451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMADD_W),
22950 /* 60454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22951 /* 60456 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd
22952 /* 60458 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
22953 /* 60462 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
22954 /* 60466 */ GIR_RootConstrainSelectedInstOperands,
22955 /* 60467 */ // GIR_Coverage, 2122,
22956 /* 60467 */ GIR_EraseRootFromParent_Done,
22957 /* 60468 */ // Label 1628: @60468
22958 /* 60468 */ GIM_Reject,
22959 /* 60469 */ // Label 1626: @60469
22960 /* 60469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1629*/ GIMT_Encode4(60495), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 698 //
22961 /* 60476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22962 /* 60480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22963 /* 60484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
22964 /* 60488 */ // (fadd:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FADD_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
22965 /* 60488 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_W),
22966 /* 60493 */ GIR_RootConstrainSelectedInstOperands,
22967 /* 60494 */ // GIR_Coverage, 698,
22968 /* 60494 */ GIR_Done,
22969 /* 60495 */ // Label 1629: @60495
22970 /* 60495 */ GIM_Reject,
22971 /* 60496 */ // Label 1625: @60496
22972 /* 60496 */ GIM_Reject,
22973 /* 60497 */ // Label 1599: @60497
22974 /* 60497 */ GIM_Try, /*On fail goto*//*Label 1630*/ GIMT_Encode4(60669),
22975 /* 60502 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
22976 /* 60505 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
22977 /* 60508 */ GIM_Try, /*On fail goto*//*Label 1631*/ GIMT_Encode4(60642),
22978 /* 60513 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fadd_contract),
22979 /* 60517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
22980 /* 60521 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1632*/ GIMT_Encode4(60581), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2640 //
22981 /* 60528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
22982 /* 60532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
22983 /* 60536 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
22984 /* 60540 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
22985 /* 60544 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
22986 /* 60549 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
22987 /* 60554 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fmul_contract),
22988 /* 60558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
22989 /* 60562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22990 /* 60564 */ // (fadd:{ *:[v2f64] } (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)<<P:Predicate_fmul_contract>>, MSA128DOpnd:{ *:[v2f64] }:$wd)<<P:Predicate_fadd_contract>> => (FMADD_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
22991 /* 60564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMADD_D),
22992 /* 60567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
22993 /* 60569 */ GIR_RootToRootCopy, /*OpIdx*/2, // wd
22994 /* 60571 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
22995 /* 60575 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
22996 /* 60579 */ GIR_RootConstrainSelectedInstOperands,
22997 /* 60580 */ // GIR_Coverage, 2640,
22998 /* 60580 */ GIR_EraseRootFromParent_Done,
22999 /* 60581 */ // Label 1632: @60581
23000 /* 60581 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1633*/ GIMT_Encode4(60641), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2123 //
23001 /* 60588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23002 /* 60592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
23003 /* 60596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
23004 /* 60600 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
23005 /* 60604 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
23006 /* 60608 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23007 /* 60613 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23008 /* 60618 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fmul_contract),
23009 /* 60622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23010 /* 60624 */ // (fadd:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)<<P:Predicate_fmul_contract>>)<<P:Predicate_fadd_contract>> => (FMADD_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
23011 /* 60624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMADD_D),
23012 /* 60627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
23013 /* 60629 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd
23014 /* 60631 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
23015 /* 60635 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
23016 /* 60639 */ GIR_RootConstrainSelectedInstOperands,
23017 /* 60640 */ // GIR_Coverage, 2123,
23018 /* 60640 */ GIR_EraseRootFromParent_Done,
23019 /* 60641 */ // Label 1633: @60641
23020 /* 60641 */ GIM_Reject,
23021 /* 60642 */ // Label 1631: @60642
23022 /* 60642 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1634*/ GIMT_Encode4(60668), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 699 //
23023 /* 60649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23024 /* 60653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23025 /* 60657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23026 /* 60661 */ // (fadd:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FADD_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
23027 /* 60661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D),
23028 /* 60666 */ GIR_RootConstrainSelectedInstOperands,
23029 /* 60667 */ // GIR_Coverage, 699,
23030 /* 60667 */ GIR_Done,
23031 /* 60668 */ // Label 1634: @60668
23032 /* 60668 */ GIM_Reject,
23033 /* 60669 */ // Label 1630: @60669
23034 /* 60669 */ GIM_Reject,
23035 /* 60670 */ // Label 1600: @60670
23036 /* 60670 */ GIM_Reject,
23037 /* 60671 */ // Label 48: @60671
23038 /* 60671 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1639*/ GIMT_Encode4(61500),
23039 /* 60682 */ /*GILLT_s32*//*Label 1635*/ GIMT_Encode4(60714),
23040 /* 60686 */ /*GILLT_s64*//*Label 1636*/ GIMT_Encode4(60913), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
23041 /* 60706 */ /*GILLT_v4s32*//*Label 1637*/ GIMT_Encode4(61286),
23042 /* 60710 */ /*GILLT_v2s64*//*Label 1638*/ GIMT_Encode4(61393),
23043 /* 60714 */ // Label 1635: @60714
23044 /* 60714 */ GIM_Try, /*On fail goto*//*Label 1640*/ GIMT_Encode4(60912),
23045 /* 60719 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23046 /* 60722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
23047 /* 60725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23048 /* 60729 */ GIM_Try, /*On fail goto*//*Label 1641*/ GIMT_Encode4(60843),
23049 /* 60734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23050 /* 60738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1642*/ GIMT_Encode4(60790), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 185 //
23051 /* 60745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23052 /* 60749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
23053 /* 60753 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
23054 /* 60757 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23055 /* 60761 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23056 /* 60766 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23057 /* 60771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23058 /* 60773 */ // (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)
23059 /* 60773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_S),
23060 /* 60776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23061 /* 60778 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
23062 /* 60780 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
23063 /* 60784 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
23064 /* 60788 */ GIR_RootConstrainSelectedInstOperands,
23065 /* 60789 */ // GIR_Coverage, 185,
23066 /* 60789 */ GIR_EraseRootFromParent_Done,
23067 /* 60790 */ // Label 1642: @60790
23068 /* 60790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1643*/ GIMT_Encode4(60842), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 184 //
23069 /* 60797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23070 /* 60801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
23071 /* 60805 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
23072 /* 60809 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
23073 /* 60813 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23074 /* 60818 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23075 /* 60823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23076 /* 60825 */ // (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)
23077 /* 60825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_S),
23078 /* 60828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23079 /* 60830 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
23080 /* 60832 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
23081 /* 60836 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
23082 /* 60840 */ GIR_RootConstrainSelectedInstOperands,
23083 /* 60841 */ // GIR_Coverage, 184,
23084 /* 60841 */ GIR_EraseRootFromParent_Done,
23085 /* 60842 */ // Label 1643: @60842
23086 /* 60842 */ GIM_Reject,
23087 /* 60843 */ // Label 1641: @60843
23088 /* 60843 */ GIM_Try, /*On fail goto*//*Label 1644*/ GIMT_Encode4(60911),
23089 /* 60848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23090 /* 60852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23091 /* 60856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1645*/ GIMT_Encode4(60874), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 173 //
23092 /* 60863 */ // (fsub:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
23093 /* 60863 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_S),
23094 /* 60868 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23095 /* 60872 */ GIR_RootConstrainSelectedInstOperands,
23096 /* 60873 */ // GIR_Coverage, 173,
23097 /* 60873 */ GIR_Done,
23098 /* 60874 */ // Label 1645: @60874
23099 /* 60874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1646*/ GIMT_Encode4(60892), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1155 //
23100 /* 60881 */ // (fsub:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FSUB_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
23101 /* 60881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_S_MM),
23102 /* 60886 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23103 /* 60890 */ GIR_RootConstrainSelectedInstOperands,
23104 /* 60891 */ // GIR_Coverage, 1155,
23105 /* 60891 */ GIR_Done,
23106 /* 60892 */ // Label 1646: @60892
23107 /* 60892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1647*/ GIMT_Encode4(60910), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1211 //
23108 /* 60899 */ // (fsub:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FSUB_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs)
23109 /* 60899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FSUB_S_MMR6),
23110 /* 60902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23111 /* 60904 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
23112 /* 60906 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
23113 /* 60908 */ GIR_RootConstrainSelectedInstOperands,
23114 /* 60909 */ // GIR_Coverage, 1211,
23115 /* 60909 */ GIR_EraseRootFromParent_Done,
23116 /* 60910 */ // Label 1647: @60910
23117 /* 60910 */ GIM_Reject,
23118 /* 60911 */ // Label 1644: @60911
23119 /* 60911 */ GIM_Reject,
23120 /* 60912 */ // Label 1640: @60912
23121 /* 60912 */ GIM_Reject,
23122 /* 60913 */ // Label 1636: @60913
23123 /* 60913 */ GIM_Try, /*On fail goto*//*Label 1648*/ GIMT_Encode4(61285),
23124 /* 60918 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
23125 /* 60921 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23126 /* 60924 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1649*/ GIMT_Encode4(60984), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 193 //
23127 /* 60931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23128 /* 60935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23129 /* 60939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
23130 /* 60943 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
23131 /* 60947 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23132 /* 60951 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23133 /* 60956 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23134 /* 60961 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23135 /* 60965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23136 /* 60967 */ // (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)
23137 /* 60967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D32),
23138 /* 60970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23139 /* 60972 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
23140 /* 60974 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
23141 /* 60978 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
23142 /* 60982 */ GIR_RootConstrainSelectedInstOperands,
23143 /* 60983 */ // GIR_Coverage, 193,
23144 /* 60983 */ GIR_EraseRootFromParent_Done,
23145 /* 60984 */ // Label 1649: @60984
23146 /* 60984 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1650*/ GIMT_Encode4(61044), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 201 //
23147 /* 60991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23148 /* 60995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23149 /* 60999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
23150 /* 61003 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
23151 /* 61007 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23152 /* 61011 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23153 /* 61016 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23154 /* 61021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23155 /* 61025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23156 /* 61027 */ // (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)
23157 /* 61027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D64),
23158 /* 61030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23159 /* 61032 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
23160 /* 61034 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
23161 /* 61038 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
23162 /* 61042 */ GIR_RootConstrainSelectedInstOperands,
23163 /* 61043 */ // GIR_Coverage, 201,
23164 /* 61043 */ GIR_EraseRootFromParent_Done,
23165 /* 61044 */ // Label 1650: @61044
23166 /* 61044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1651*/ GIMT_Encode4(61104), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 192 //
23167 /* 61051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23168 /* 61055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23169 /* 61059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
23170 /* 61063 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
23171 /* 61067 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23172 /* 61071 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23173 /* 61076 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23174 /* 61081 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23175 /* 61085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23176 /* 61087 */ // (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)
23177 /* 61087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D32),
23178 /* 61090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23179 /* 61092 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
23180 /* 61094 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
23181 /* 61098 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
23182 /* 61102 */ GIR_RootConstrainSelectedInstOperands,
23183 /* 61103 */ // GIR_Coverage, 192,
23184 /* 61103 */ GIR_EraseRootFromParent_Done,
23185 /* 61104 */ // Label 1651: @61104
23186 /* 61104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1652*/ GIMT_Encode4(61164), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 200 //
23187 /* 61111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23188 /* 61115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23189 /* 61119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
23190 /* 61123 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
23191 /* 61127 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
23192 /* 61131 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23193 /* 61136 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23194 /* 61141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23195 /* 61145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23196 /* 61147 */ // (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)
23197 /* 61147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D64),
23198 /* 61150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23199 /* 61152 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
23200 /* 61154 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
23201 /* 61158 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
23202 /* 61162 */ GIR_RootConstrainSelectedInstOperands,
23203 /* 61163 */ // GIR_Coverage, 200,
23204 /* 61163 */ GIR_EraseRootFromParent_Done,
23205 /* 61164 */ // Label 1652: @61164
23206 /* 61164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1653*/ GIMT_Encode4(61194), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 175 //
23207 /* 61171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23208 /* 61175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23209 /* 61179 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23210 /* 61183 */ // (fsub:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
23211 /* 61183 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D32),
23212 /* 61188 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23213 /* 61192 */ GIR_RootConstrainSelectedInstOperands,
23214 /* 61193 */ // GIR_Coverage, 175,
23215 /* 61193 */ GIR_Done,
23216 /* 61194 */ // Label 1653: @61194
23217 /* 61194 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1654*/ GIMT_Encode4(61224), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 177 //
23218 /* 61201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23219 /* 61205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23220 /* 61209 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23221 /* 61213 */ // (fsub:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
23222 /* 61213 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D64),
23223 /* 61218 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23224 /* 61222 */ GIR_RootConstrainSelectedInstOperands,
23225 /* 61223 */ // GIR_Coverage, 177,
23226 /* 61223 */ GIR_Done,
23227 /* 61224 */ // Label 1654: @61224
23228 /* 61224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1655*/ GIMT_Encode4(61254), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit), // Rule ID 1162 //
23229 /* 61231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23230 /* 61235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23231 /* 61239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23232 /* 61243 */ // (fsub:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
23233 /* 61243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D32_MM),
23234 /* 61248 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23235 /* 61252 */ GIR_RootConstrainSelectedInstOperands,
23236 /* 61253 */ // GIR_Coverage, 1162,
23237 /* 61253 */ GIR_Done,
23238 /* 61254 */ // Label 1655: @61254
23239 /* 61254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1656*/ GIMT_Encode4(61284), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 1163 //
23240 /* 61261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23241 /* 61265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23242 /* 61269 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23243 /* 61273 */ // (fsub:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
23244 /* 61273 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D64_MM),
23245 /* 61278 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23246 /* 61282 */ GIR_RootConstrainSelectedInstOperands,
23247 /* 61283 */ // GIR_Coverage, 1163,
23248 /* 61283 */ GIR_Done,
23249 /* 61284 */ // Label 1656: @61284
23250 /* 61284 */ GIM_Reject,
23251 /* 61285 */ // Label 1648: @61285
23252 /* 61285 */ GIM_Reject,
23253 /* 61286 */ // Label 1637: @61286
23254 /* 61286 */ GIM_Try, /*On fail goto*//*Label 1657*/ GIMT_Encode4(61392),
23255 /* 61291 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
23256 /* 61294 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
23257 /* 61297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1658*/ GIMT_Encode4(61365), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2120 //
23258 /* 61304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23259 /* 61308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23260 /* 61312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
23261 /* 61316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
23262 /* 61320 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
23263 /* 61324 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
23264 /* 61328 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23265 /* 61333 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23266 /* 61338 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fmul_contract),
23267 /* 61342 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fsub_contract),
23268 /* 61346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23269 /* 61348 */ // (fsub:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)<<P:Predicate_fmul_contract>>)<<P:Predicate_fsub_contract>> => (FMSUB_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wd, MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
23270 /* 61348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMSUB_W),
23271 /* 61351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
23272 /* 61353 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd
23273 /* 61355 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
23274 /* 61359 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
23275 /* 61363 */ GIR_RootConstrainSelectedInstOperands,
23276 /* 61364 */ // GIR_Coverage, 2120,
23277 /* 61364 */ GIR_EraseRootFromParent_Done,
23278 /* 61365 */ // Label 1658: @61365
23279 /* 61365 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1659*/ GIMT_Encode4(61391), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 786 //
23280 /* 61372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23281 /* 61376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23282 /* 61380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23283 /* 61384 */ // (fsub:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FSUB_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
23284 /* 61384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_W),
23285 /* 61389 */ GIR_RootConstrainSelectedInstOperands,
23286 /* 61390 */ // GIR_Coverage, 786,
23287 /* 61390 */ GIR_Done,
23288 /* 61391 */ // Label 1659: @61391
23289 /* 61391 */ GIM_Reject,
23290 /* 61392 */ // Label 1657: @61392
23291 /* 61392 */ GIM_Reject,
23292 /* 61393 */ // Label 1638: @61393
23293 /* 61393 */ GIM_Try, /*On fail goto*//*Label 1660*/ GIMT_Encode4(61499),
23294 /* 61398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
23295 /* 61401 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
23296 /* 61404 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1661*/ GIMT_Encode4(61472), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2121 //
23297 /* 61411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23298 /* 61415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23299 /* 61419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
23300 /* 61423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
23301 /* 61427 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
23302 /* 61431 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s64,
23303 /* 61435 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23304 /* 61440 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23305 /* 61445 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fmul_contract),
23306 /* 61449 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_fsub_contract),
23307 /* 61453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23308 /* 61455 */ // (fsub:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)<<P:Predicate_fmul_contract>>)<<P:Predicate_fsub_contract>> => (FMSUB_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wd, MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
23309 /* 61455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMSUB_D),
23310 /* 61458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
23311 /* 61460 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd
23312 /* 61462 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // ws
23313 /* 61466 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // wt
23314 /* 61470 */ GIR_RootConstrainSelectedInstOperands,
23315 /* 61471 */ // GIR_Coverage, 2121,
23316 /* 61471 */ GIR_EraseRootFromParent_Done,
23317 /* 61472 */ // Label 1661: @61472
23318 /* 61472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1662*/ GIMT_Encode4(61498), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 787 //
23319 /* 61479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23320 /* 61483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23321 /* 61487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23322 /* 61491 */ // (fsub:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FSUB_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
23323 /* 61491 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D),
23324 /* 61496 */ GIR_RootConstrainSelectedInstOperands,
23325 /* 61497 */ // GIR_Coverage, 787,
23326 /* 61497 */ GIR_Done,
23327 /* 61498 */ // Label 1662: @61498
23328 /* 61498 */ GIM_Reject,
23329 /* 61499 */ // Label 1660: @61499
23330 /* 61499 */ GIM_Reject,
23331 /* 61500 */ // Label 1639: @61500
23332 /* 61500 */ GIM_Reject,
23333 /* 61501 */ // Label 49: @61501
23334 /* 61501 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1667*/ GIMT_Encode4(62010),
23335 /* 61512 */ /*GILLT_s32*//*Label 1663*/ GIMT_Encode4(61544),
23336 /* 61516 */ /*GILLT_s64*//*Label 1664*/ GIMT_Encode4(61623), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
23337 /* 61536 */ /*GILLT_v4s32*//*Label 1665*/ GIMT_Encode4(61756),
23338 /* 61540 */ /*GILLT_v2s64*//*Label 1666*/ GIMT_Encode4(61883),
23339 /* 61544 */ // Label 1663: @61544
23340 /* 61544 */ GIM_Try, /*On fail goto*//*Label 1668*/ GIMT_Encode4(61622),
23341 /* 61549 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23342 /* 61552 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
23343 /* 61555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23344 /* 61559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23345 /* 61563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23346 /* 61567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1669*/ GIMT_Encode4(61585), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 167 //
23347 /* 61574 */ // (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FMUL_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
23348 /* 61574 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_S),
23349 /* 61579 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23350 /* 61583 */ GIR_RootConstrainSelectedInstOperands,
23351 /* 61584 */ // GIR_Coverage, 167,
23352 /* 61584 */ GIR_Done,
23353 /* 61585 */ // Label 1669: @61585
23354 /* 61585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1670*/ GIMT_Encode4(61603), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1154 //
23355 /* 61592 */ // (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FMUL_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
23356 /* 61592 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_S_MM),
23357 /* 61597 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23358 /* 61601 */ GIR_RootConstrainSelectedInstOperands,
23359 /* 61602 */ // GIR_Coverage, 1154,
23360 /* 61602 */ GIR_Done,
23361 /* 61603 */ // Label 1670: @61603
23362 /* 61603 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1671*/ GIMT_Encode4(61621), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1212 //
23363 /* 61610 */ // (fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FMUL_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs)
23364 /* 61610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FMUL_S_MMR6),
23365 /* 61613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23366 /* 61615 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
23367 /* 61617 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
23368 /* 61619 */ GIR_RootConstrainSelectedInstOperands,
23369 /* 61620 */ // GIR_Coverage, 1212,
23370 /* 61620 */ GIR_EraseRootFromParent_Done,
23371 /* 61621 */ // Label 1671: @61621
23372 /* 61621 */ GIM_Reject,
23373 /* 61622 */ // Label 1668: @61622
23374 /* 61622 */ GIM_Reject,
23375 /* 61623 */ // Label 1664: @61623
23376 /* 61623 */ GIM_Try, /*On fail goto*//*Label 1672*/ GIMT_Encode4(61755),
23377 /* 61628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
23378 /* 61631 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23379 /* 61634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1673*/ GIMT_Encode4(61664), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 169 //
23380 /* 61641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23381 /* 61645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23382 /* 61649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23383 /* 61653 */ // (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
23384 /* 61653 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D32),
23385 /* 61658 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23386 /* 61662 */ GIR_RootConstrainSelectedInstOperands,
23387 /* 61663 */ // GIR_Coverage, 169,
23388 /* 61663 */ GIR_Done,
23389 /* 61664 */ // Label 1673: @61664
23390 /* 61664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1674*/ GIMT_Encode4(61694), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 171 //
23391 /* 61671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23392 /* 61675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23393 /* 61679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23394 /* 61683 */ // (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
23395 /* 61683 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D64),
23396 /* 61688 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23397 /* 61692 */ GIR_RootConstrainSelectedInstOperands,
23398 /* 61693 */ // GIR_Coverage, 171,
23399 /* 61693 */ GIR_Done,
23400 /* 61694 */ // Label 1674: @61694
23401 /* 61694 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1675*/ GIMT_Encode4(61724), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit), // Rule ID 1160 //
23402 /* 61701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23403 /* 61705 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23404 /* 61709 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23405 /* 61713 */ // (fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
23406 /* 61713 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D32_MM),
23407 /* 61718 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23408 /* 61722 */ GIR_RootConstrainSelectedInstOperands,
23409 /* 61723 */ // GIR_Coverage, 1160,
23410 /* 61723 */ GIR_Done,
23411 /* 61724 */ // Label 1675: @61724
23412 /* 61724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1676*/ GIMT_Encode4(61754), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 1161 //
23413 /* 61731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23414 /* 61735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23415 /* 61739 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23416 /* 61743 */ // (fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
23417 /* 61743 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D64_MM),
23418 /* 61748 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23419 /* 61752 */ GIR_RootConstrainSelectedInstOperands,
23420 /* 61753 */ // GIR_Coverage, 1161,
23421 /* 61753 */ GIR_Done,
23422 /* 61754 */ // Label 1676: @61754
23423 /* 61754 */ GIM_Reject,
23424 /* 61755 */ // Label 1672: @61755
23425 /* 61755 */ GIM_Reject,
23426 /* 61756 */ // Label 1665: @61756
23427 /* 61756 */ GIM_Try, /*On fail goto*//*Label 1677*/ GIMT_Encode4(61882),
23428 /* 61761 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
23429 /* 61764 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
23430 /* 61767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23431 /* 61771 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1678*/ GIMT_Encode4(61814), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2542 //
23432 /* 61778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23433 /* 61782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FEXP2),
23434 /* 61786 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
23435 /* 61790 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23436 /* 61795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23437 /* 61799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23438 /* 61801 */ // (fmul:{ *:[v4f32] } (fexp2:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wt), MSA128WOpnd:{ *:[v4f32] }:$ws) => (FEXP2_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
23439 /* 61801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXP2_W),
23440 /* 61804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
23441 /* 61806 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
23442 /* 61808 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
23443 /* 61812 */ GIR_RootConstrainSelectedInstOperands,
23444 /* 61813 */ // GIR_Coverage, 2542,
23445 /* 61813 */ GIR_EraseRootFromParent_Done,
23446 /* 61814 */ // Label 1678: @61814
23447 /* 61814 */ GIM_Try, /*On fail goto*//*Label 1679*/ GIMT_Encode4(61881),
23448 /* 61819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23449 /* 61823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1680*/ GIMT_Encode4(61862), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 728 //
23450 /* 61830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
23451 /* 61834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FEXP2),
23452 /* 61838 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
23453 /* 61842 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23454 /* 61847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23455 /* 61849 */ // (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, (fexp2:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$wt)) => (FEXP2_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
23456 /* 61849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXP2_W),
23457 /* 61852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
23458 /* 61854 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
23459 /* 61856 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
23460 /* 61860 */ GIR_RootConstrainSelectedInstOperands,
23461 /* 61861 */ // GIR_Coverage, 728,
23462 /* 61861 */ GIR_EraseRootFromParent_Done,
23463 /* 61862 */ // Label 1680: @61862
23464 /* 61862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1681*/ GIMT_Encode4(61880), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 764 //
23465 /* 61869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23466 /* 61873 */ // (fmul:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FMUL_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
23467 /* 61873 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_W),
23468 /* 61878 */ GIR_RootConstrainSelectedInstOperands,
23469 /* 61879 */ // GIR_Coverage, 764,
23470 /* 61879 */ GIR_Done,
23471 /* 61880 */ // Label 1681: @61880
23472 /* 61880 */ GIM_Reject,
23473 /* 61881 */ // Label 1679: @61881
23474 /* 61881 */ GIM_Reject,
23475 /* 61882 */ // Label 1677: @61882
23476 /* 61882 */ GIM_Reject,
23477 /* 61883 */ // Label 1666: @61883
23478 /* 61883 */ GIM_Try, /*On fail goto*//*Label 1682*/ GIMT_Encode4(62009),
23479 /* 61888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
23480 /* 61891 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
23481 /* 61894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23482 /* 61898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1683*/ GIMT_Encode4(61941), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 2543 //
23483 /* 61905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
23484 /* 61909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FEXP2),
23485 /* 61913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
23486 /* 61917 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23487 /* 61922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23488 /* 61926 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23489 /* 61928 */ // (fmul:{ *:[v2f64] } (fexp2:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wt), MSA128DOpnd:{ *:[v2f64] }:$ws) => (FEXP2_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
23490 /* 61928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXP2_D),
23491 /* 61931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
23492 /* 61933 */ GIR_RootToRootCopy, /*OpIdx*/2, // ws
23493 /* 61935 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
23494 /* 61939 */ GIR_RootConstrainSelectedInstOperands,
23495 /* 61940 */ // GIR_Coverage, 2543,
23496 /* 61940 */ GIR_EraseRootFromParent_Done,
23497 /* 61941 */ // Label 1683: @61941
23498 /* 61941 */ GIM_Try, /*On fail goto*//*Label 1684*/ GIMT_Encode4(62008),
23499 /* 61946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23500 /* 61950 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1685*/ GIMT_Encode4(61989), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 729 //
23501 /* 61957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
23502 /* 61961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FEXP2),
23503 /* 61965 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s64,
23504 /* 61969 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23505 /* 61974 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23506 /* 61976 */ // (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, (fexp2:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$wt)) => (FEXP2_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
23507 /* 61976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FEXP2_D),
23508 /* 61979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
23509 /* 61981 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
23510 /* 61983 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // wt
23511 /* 61987 */ GIR_RootConstrainSelectedInstOperands,
23512 /* 61988 */ // GIR_Coverage, 729,
23513 /* 61988 */ GIR_EraseRootFromParent_Done,
23514 /* 61989 */ // Label 1685: @61989
23515 /* 61989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1686*/ GIMT_Encode4(62007), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 765 //
23516 /* 61996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23517 /* 62000 */ // (fmul:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FMUL_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
23518 /* 62000 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D),
23519 /* 62005 */ GIR_RootConstrainSelectedInstOperands,
23520 /* 62006 */ // GIR_Coverage, 765,
23521 /* 62006 */ GIR_Done,
23522 /* 62007 */ // Label 1686: @62007
23523 /* 62007 */ GIM_Reject,
23524 /* 62008 */ // Label 1684: @62008
23525 /* 62008 */ GIM_Reject,
23526 /* 62009 */ // Label 1682: @62009
23527 /* 62009 */ GIM_Reject,
23528 /* 62010 */ // Label 1667: @62010
23529 /* 62010 */ GIM_Reject,
23530 /* 62011 */ // Label 50: @62011
23531 /* 62011 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(6), GIMT_Encode2(8), /*)*//*default:*//*Label 1689*/ GIMT_Encode4(62110),
23532 /* 62022 */ /*GILLT_v4s32*//*Label 1687*/ GIMT_Encode4(62030),
23533 /* 62026 */ /*GILLT_v2s64*//*Label 1688*/ GIMT_Encode4(62070),
23534 /* 62030 */ // Label 1687: @62030
23535 /* 62030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1690*/ GIMT_Encode4(62069), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 752 //
23536 /* 62037 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
23537 /* 62040 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
23538 /* 62043 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
23539 /* 62046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23540 /* 62050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23541 /* 62054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23542 /* 62058 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23543 /* 62062 */ // (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)
23544 /* 62062 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMADD_W),
23545 /* 62067 */ GIR_RootConstrainSelectedInstOperands,
23546 /* 62068 */ // GIR_Coverage, 752,
23547 /* 62068 */ GIR_Done,
23548 /* 62069 */ // Label 1690: @62069
23549 /* 62069 */ GIM_Reject,
23550 /* 62070 */ // Label 1688: @62070
23551 /* 62070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1691*/ GIMT_Encode4(62109), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 753 //
23552 /* 62077 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
23553 /* 62080 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
23554 /* 62083 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
23555 /* 62086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23556 /* 62090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23557 /* 62094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23558 /* 62098 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23559 /* 62102 */ // (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)
23560 /* 62102 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMADD_D),
23561 /* 62107 */ GIR_RootConstrainSelectedInstOperands,
23562 /* 62108 */ // GIR_Coverage, 753,
23563 /* 62108 */ GIR_Done,
23564 /* 62109 */ // Label 1691: @62109
23565 /* 62109 */ GIM_Reject,
23566 /* 62110 */ // Label 1689: @62110
23567 /* 62110 */ GIM_Reject,
23568 /* 62111 */ // Label 51: @62111
23569 /* 62111 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1696*/ GIMT_Encode4(62432),
23570 /* 62122 */ /*GILLT_s32*//*Label 1692*/ GIMT_Encode4(62154),
23571 /* 62126 */ /*GILLT_s64*//*Label 1693*/ GIMT_Encode4(62233), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
23572 /* 62146 */ /*GILLT_v4s32*//*Label 1694*/ GIMT_Encode4(62366),
23573 /* 62150 */ /*GILLT_v2s64*//*Label 1695*/ GIMT_Encode4(62399),
23574 /* 62154 */ // Label 1692: @62154
23575 /* 62154 */ GIM_Try, /*On fail goto*//*Label 1697*/ GIMT_Encode4(62232),
23576 /* 62159 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23577 /* 62162 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
23578 /* 62165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23579 /* 62169 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23580 /* 62173 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23581 /* 62177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1698*/ GIMT_Encode4(62195), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 161 //
23582 /* 62184 */ // (fdiv:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FDIV_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
23583 /* 62184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_S),
23584 /* 62189 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23585 /* 62193 */ GIR_RootConstrainSelectedInstOperands,
23586 /* 62194 */ // GIR_Coverage, 161,
23587 /* 62194 */ GIR_Done,
23588 /* 62195 */ // Label 1698: @62195
23589 /* 62195 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1699*/ GIMT_Encode4(62213), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1153 //
23590 /* 62202 */ // (fdiv:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FDIV_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
23591 /* 62202 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_S_MM),
23592 /* 62207 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23593 /* 62211 */ GIR_RootConstrainSelectedInstOperands,
23594 /* 62212 */ // GIR_Coverage, 1153,
23595 /* 62212 */ GIR_Done,
23596 /* 62213 */ // Label 1699: @62213
23597 /* 62213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1700*/ GIMT_Encode4(62231), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1213 //
23598 /* 62220 */ // (fdiv:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FDIV_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$ft, FGR32Opnd:{ *:[f32] }:$fs)
23599 /* 62220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::FDIV_S_MMR6),
23600 /* 62223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
23601 /* 62225 */ GIR_RootToRootCopy, /*OpIdx*/2, // ft
23602 /* 62227 */ GIR_RootToRootCopy, /*OpIdx*/1, // fs
23603 /* 62229 */ GIR_RootConstrainSelectedInstOperands,
23604 /* 62230 */ // GIR_Coverage, 1213,
23605 /* 62230 */ GIR_EraseRootFromParent_Done,
23606 /* 62231 */ // Label 1700: @62231
23607 /* 62231 */ GIM_Reject,
23608 /* 62232 */ // Label 1697: @62232
23609 /* 62232 */ GIM_Reject,
23610 /* 62233 */ // Label 1693: @62233
23611 /* 62233 */ GIM_Try, /*On fail goto*//*Label 1701*/ GIMT_Encode4(62365),
23612 /* 62238 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
23613 /* 62241 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
23614 /* 62244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1702*/ GIMT_Encode4(62274), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 163 //
23615 /* 62251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23616 /* 62255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23617 /* 62259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23618 /* 62263 */ // (fdiv:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
23619 /* 62263 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D32),
23620 /* 62268 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23621 /* 62272 */ GIR_RootConstrainSelectedInstOperands,
23622 /* 62273 */ // GIR_Coverage, 163,
23623 /* 62273 */ GIR_Done,
23624 /* 62274 */ // Label 1702: @62274
23625 /* 62274 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1703*/ GIMT_Encode4(62304), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 165 //
23626 /* 62281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23627 /* 62285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23628 /* 62289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23629 /* 62293 */ // (fdiv:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
23630 /* 62293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D64),
23631 /* 62298 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23632 /* 62302 */ GIR_RootConstrainSelectedInstOperands,
23633 /* 62303 */ // GIR_Coverage, 165,
23634 /* 62303 */ GIR_Done,
23635 /* 62304 */ // Label 1703: @62304
23636 /* 62304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1704*/ GIMT_Encode4(62334), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit), // Rule ID 1158 //
23637 /* 62311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23638 /* 62315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23639 /* 62319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23640 /* 62323 */ // (fdiv:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
23641 /* 62323 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D32_MM),
23642 /* 62328 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23643 /* 62332 */ GIR_RootConstrainSelectedInstOperands,
23644 /* 62333 */ // GIR_Coverage, 1158,
23645 /* 62333 */ GIR_Done,
23646 /* 62334 */ // Label 1704: @62334
23647 /* 62334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1705*/ GIMT_Encode4(62364), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 1159 //
23648 /* 62341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23649 /* 62345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23650 /* 62349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23651 /* 62353 */ // (fdiv:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
23652 /* 62353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D64_MM),
23653 /* 62358 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23654 /* 62362 */ GIR_RootConstrainSelectedInstOperands,
23655 /* 62363 */ // GIR_Coverage, 1159,
23656 /* 62363 */ GIR_Done,
23657 /* 62364 */ // Label 1705: @62364
23658 /* 62364 */ GIM_Reject,
23659 /* 62365 */ // Label 1701: @62365
23660 /* 62365 */ GIM_Reject,
23661 /* 62366 */ // Label 1694: @62366
23662 /* 62366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1706*/ GIMT_Encode4(62398), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 724 //
23663 /* 62373 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
23664 /* 62376 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
23665 /* 62379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23666 /* 62383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23667 /* 62387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23668 /* 62391 */ // (fdiv:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt) => (FDIV_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws, MSA128WOpnd:{ *:[v4f32] }:$wt)
23669 /* 62391 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_W),
23670 /* 62396 */ GIR_RootConstrainSelectedInstOperands,
23671 /* 62397 */ // GIR_Coverage, 724,
23672 /* 62397 */ GIR_Done,
23673 /* 62398 */ // Label 1706: @62398
23674 /* 62398 */ GIM_Reject,
23675 /* 62399 */ // Label 1695: @62399
23676 /* 62399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1707*/ GIMT_Encode4(62431), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 725 //
23677 /* 62406 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
23678 /* 62409 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
23679 /* 62412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23680 /* 62416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23681 /* 62420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23682 /* 62424 */ // (fdiv:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt) => (FDIV_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws, MSA128DOpnd:{ *:[v2f64] }:$wt)
23683 /* 62424 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D),
23684 /* 62429 */ GIR_RootConstrainSelectedInstOperands,
23685 /* 62430 */ // GIR_Coverage, 725,
23686 /* 62430 */ GIR_Done,
23687 /* 62431 */ // Label 1707: @62431
23688 /* 62431 */ GIM_Reject,
23689 /* 62432 */ // Label 1696: @62432
23690 /* 62432 */ GIM_Reject,
23691 /* 62433 */ // Label 52: @62433
23692 /* 62433 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(6), GIMT_Encode2(8), /*)*//*default:*//*Label 1710*/ GIMT_Encode4(62504),
23693 /* 62444 */ /*GILLT_v4s32*//*Label 1708*/ GIMT_Encode4(62452),
23694 /* 62448 */ /*GILLT_v2s64*//*Label 1709*/ GIMT_Encode4(62478),
23695 /* 62452 */ // Label 1708: @62452
23696 /* 62452 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1711*/ GIMT_Encode4(62477), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 730 //
23697 /* 62459 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
23698 /* 62462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23699 /* 62466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23700 /* 62470 */ // (fexp2:{ *:[v4f32] } MSA128W:{ *:[v4f32] }:$ws) => (FEXP2_W_1_PSEUDO:{ *:[v4f32] } MSA128W:{ *:[v4f32] }:$ws)
23701 /* 62470 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FEXP2_W_1_PSEUDO),
23702 /* 62475 */ GIR_RootConstrainSelectedInstOperands,
23703 /* 62476 */ // GIR_Coverage, 730,
23704 /* 62476 */ GIR_Done,
23705 /* 62477 */ // Label 1711: @62477
23706 /* 62477 */ GIM_Reject,
23707 /* 62478 */ // Label 1709: @62478
23708 /* 62478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1712*/ GIMT_Encode4(62503), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 731 //
23709 /* 62485 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
23710 /* 62488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23711 /* 62492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23712 /* 62496 */ // (fexp2:{ *:[v2f64] } MSA128D:{ *:[v2f64] }:$ws) => (FEXP2_D_1_PSEUDO:{ *:[v2f64] } MSA128D:{ *:[v2f64] }:$ws)
23713 /* 62496 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FEXP2_D_1_PSEUDO),
23714 /* 62501 */ GIR_RootConstrainSelectedInstOperands,
23715 /* 62502 */ // GIR_Coverage, 731,
23716 /* 62502 */ GIR_Done,
23717 /* 62503 */ // Label 1712: @62503
23718 /* 62503 */ GIM_Reject,
23719 /* 62504 */ // Label 1710: @62504
23720 /* 62504 */ GIM_Reject,
23721 /* 62505 */ // Label 53: @62505
23722 /* 62505 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(6), GIMT_Encode2(8), /*)*//*default:*//*Label 1715*/ GIMT_Encode4(62576),
23723 /* 62516 */ /*GILLT_v4s32*//*Label 1713*/ GIMT_Encode4(62524),
23724 /* 62520 */ /*GILLT_v2s64*//*Label 1714*/ GIMT_Encode4(62550),
23725 /* 62524 */ // Label 1713: @62524
23726 /* 62524 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1716*/ GIMT_Encode4(62549), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 750 //
23727 /* 62531 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
23728 /* 62534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23729 /* 62538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23730 /* 62542 */ // (flog2:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FLOG2_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
23731 /* 62542 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FLOG2_W),
23732 /* 62547 */ GIR_RootConstrainSelectedInstOperands,
23733 /* 62548 */ // GIR_Coverage, 750,
23734 /* 62548 */ GIR_Done,
23735 /* 62549 */ // Label 1716: @62549
23736 /* 62549 */ GIM_Reject,
23737 /* 62550 */ // Label 1714: @62550
23738 /* 62550 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1717*/ GIMT_Encode4(62575), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 751 //
23739 /* 62557 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
23740 /* 62560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23741 /* 62564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23742 /* 62568 */ // (flog2:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FLOG2_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
23743 /* 62568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FLOG2_D),
23744 /* 62573 */ GIR_RootConstrainSelectedInstOperands,
23745 /* 62574 */ // GIR_Coverage, 751,
23746 /* 62574 */ GIR_Done,
23747 /* 62575 */ // Label 1717: @62575
23748 /* 62575 */ GIM_Reject,
23749 /* 62576 */ // Label 1715: @62576
23750 /* 62576 */ GIM_Reject,
23751 /* 62577 */ // Label 54: @62577
23752 /* 62577 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1720*/ GIMT_Encode4(62754),
23753 /* 62588 */ /*GILLT_s32*//*Label 1718*/ GIMT_Encode4(62596),
23754 /* 62592 */ /*GILLT_s64*//*Label 1719*/ GIMT_Encode4(62656),
23755 /* 62596 */ // Label 1718: @62596
23756 /* 62596 */ GIM_Try, /*On fail goto*//*Label 1721*/ GIMT_Encode4(62655),
23757 /* 62601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23758 /* 62604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23759 /* 62608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23760 /* 62612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1722*/ GIMT_Encode4(62626), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat), // Rule ID 129 //
23761 /* 62619 */ // (fneg:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FNEG_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
23762 /* 62619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_S),
23763 /* 62624 */ GIR_RootConstrainSelectedInstOperands,
23764 /* 62625 */ // GIR_Coverage, 129,
23765 /* 62625 */ GIR_Done,
23766 /* 62626 */ // Label 1722: @62626
23767 /* 62626 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1723*/ GIMT_Encode4(62640), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1175 //
23768 /* 62633 */ // (fneg:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FNEG_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
23769 /* 62633 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_S_MM),
23770 /* 62638 */ GIR_RootConstrainSelectedInstOperands,
23771 /* 62639 */ // GIR_Coverage, 1175,
23772 /* 62639 */ GIR_Done,
23773 /* 62640 */ // Label 1723: @62640
23774 /* 62640 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1724*/ GIMT_Encode4(62654), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat), // Rule ID 1214 //
23775 /* 62647 */ // (fneg:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FNEG_S_MMR6:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
23776 /* 62647 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_S_MMR6),
23777 /* 62652 */ GIR_RootConstrainSelectedInstOperands,
23778 /* 62653 */ // GIR_Coverage, 1214,
23779 /* 62653 */ GIR_Done,
23780 /* 62654 */ // Label 1724: @62654
23781 /* 62654 */ GIM_Reject,
23782 /* 62655 */ // Label 1721: @62655
23783 /* 62655 */ GIM_Reject,
23784 /* 62656 */ // Label 1719: @62656
23785 /* 62656 */ GIM_Try, /*On fail goto*//*Label 1725*/ GIMT_Encode4(62753),
23786 /* 62661 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
23787 /* 62664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1726*/ GIMT_Encode4(62686), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 130 //
23788 /* 62671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23789 /* 62675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23790 /* 62679 */ // (fneg:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FNEG_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
23791 /* 62679 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_D32),
23792 /* 62684 */ GIR_RootConstrainSelectedInstOperands,
23793 /* 62685 */ // GIR_Coverage, 130,
23794 /* 62685 */ GIR_Done,
23795 /* 62686 */ // Label 1726: @62686
23796 /* 62686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1727*/ GIMT_Encode4(62708), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 131 //
23797 /* 62693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23798 /* 62697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23799 /* 62701 */ // (fneg:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FNEG_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
23800 /* 62701 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_D64),
23801 /* 62706 */ GIR_RootConstrainSelectedInstOperands,
23802 /* 62707 */ // GIR_Coverage, 131,
23803 /* 62707 */ GIR_Done,
23804 /* 62708 */ // Label 1727: @62708
23805 /* 62708 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1728*/ GIMT_Encode4(62730), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit), // Rule ID 1176 //
23806 /* 62715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23807 /* 62719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23808 /* 62723 */ // (fneg:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FNEG_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
23809 /* 62723 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_D32_MM),
23810 /* 62728 */ GIR_RootConstrainSelectedInstOperands,
23811 /* 62729 */ // GIR_Coverage, 1176,
23812 /* 62729 */ GIR_Done,
23813 /* 62730 */ // Label 1728: @62730
23814 /* 62730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1729*/ GIMT_Encode4(62752), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 1177 //
23815 /* 62737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23816 /* 62741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23817 /* 62745 */ // (fneg:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FNEG_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
23818 /* 62745 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FNEG_D64_MM),
23819 /* 62750 */ GIR_RootConstrainSelectedInstOperands,
23820 /* 62751 */ // GIR_Coverage, 1177,
23821 /* 62751 */ GIR_Done,
23822 /* 62752 */ // Label 1729: @62752
23823 /* 62752 */ GIM_Reject,
23824 /* 62753 */ // Label 1725: @62753
23825 /* 62753 */ GIM_Reject,
23826 /* 62754 */ // Label 1720: @62754
23827 /* 62754 */ GIM_Reject,
23828 /* 62755 */ // Label 55: @62755
23829 /* 62755 */ GIM_Try, /*On fail goto*//*Label 1730*/ GIMT_Encode4(62869),
23830 /* 62760 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
23831 /* 62763 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
23832 /* 62766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1731*/ GIMT_Encode4(62792), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips), // Rule ID 1529 //
23833 /* 62773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23834 /* 62777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23835 /* 62781 */ // (fpextend:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src) => (CVT_D32_S:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src)
23836 /* 62781 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_D32_S),
23837 /* 62786 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23838 /* 62790 */ GIR_RootConstrainSelectedInstOperands,
23839 /* 62791 */ // GIR_Coverage, 1529,
23840 /* 62791 */ GIR_Done,
23841 /* 62792 */ // Label 1731: @62792
23842 /* 62792 */ GIM_Try, /*On fail goto*//*Label 1732*/ GIMT_Encode4(62842),
23843 /* 62797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23844 /* 62801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23845 /* 62805 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1733*/ GIMT_Encode4(62823), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips), // Rule ID 1546 //
23846 /* 62812 */ // (fpextend:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src) => (CVT_D64_S:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src)
23847 /* 62812 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_D64_S),
23848 /* 62817 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23849 /* 62821 */ GIR_RootConstrainSelectedInstOperands,
23850 /* 62822 */ // GIR_Coverage, 1546,
23851 /* 62822 */ GIR_Done,
23852 /* 62823 */ // Label 1733: @62823
23853 /* 62823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1734*/ GIMT_Encode4(62841), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat), // Rule ID 2408 //
23854 /* 62830 */ // (fpextend:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src) => (CVT_D64_S_MM:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src)
23855 /* 62830 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_D64_S_MM),
23856 /* 62835 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23857 /* 62839 */ GIR_RootConstrainSelectedInstOperands,
23858 /* 62840 */ // GIR_Coverage, 2408,
23859 /* 62840 */ GIR_Done,
23860 /* 62841 */ // Label 1734: @62841
23861 /* 62841 */ GIM_Reject,
23862 /* 62842 */ // Label 1732: @62842
23863 /* 62842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1735*/ GIMT_Encode4(62868), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit), // Rule ID 2410 //
23864 /* 62849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23865 /* 62853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23866 /* 62857 */ // (fpextend:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src) => (CVT_D32_S_MM:{ *:[f64] } FGR32Opnd:{ *:[f32] }:$src)
23867 /* 62857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_D32_S_MM),
23868 /* 62862 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23869 /* 62866 */ GIR_RootConstrainSelectedInstOperands,
23870 /* 62867 */ // GIR_Coverage, 2410,
23871 /* 62867 */ GIR_Done,
23872 /* 62868 */ // Label 1735: @62868
23873 /* 62868 */ GIM_Reject,
23874 /* 62869 */ // Label 1730: @62869
23875 /* 62869 */ GIM_Reject,
23876 /* 62870 */ // Label 56: @62870
23877 /* 62870 */ GIM_Try, /*On fail goto*//*Label 1736*/ GIMT_Encode4(62976),
23878 /* 62875 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
23879 /* 62878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
23880 /* 62881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23881 /* 62885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1737*/ GIMT_Encode4(62907), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_NotFP64bit_NotInMicroMips), // Rule ID 1527 //
23882 /* 62892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23883 /* 62896 */ // (fpround:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src) => (CVT_S_D32:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src)
23884 /* 62896 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_S_D32),
23885 /* 62901 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23886 /* 62905 */ GIR_RootConstrainSelectedInstOperands,
23887 /* 62906 */ // GIR_Coverage, 1527,
23888 /* 62906 */ GIR_Done,
23889 /* 62907 */ // Label 1737: @62907
23890 /* 62907 */ GIM_Try, /*On fail goto*//*Label 1738*/ GIMT_Encode4(62953),
23891 /* 62912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
23892 /* 62916 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1739*/ GIMT_Encode4(62934), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_NotInMicroMips), // Rule ID 1544 //
23893 /* 62923 */ // (fpround:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src) => (CVT_S_D64:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src)
23894 /* 62923 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_S_D64),
23895 /* 62928 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23896 /* 62932 */ GIR_RootConstrainSelectedInstOperands,
23897 /* 62933 */ // GIR_Coverage, 1544,
23898 /* 62933 */ GIR_Done,
23899 /* 62934 */ // Label 1739: @62934
23900 /* 62934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1740*/ GIMT_Encode4(62952), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat), // Rule ID 2407 //
23901 /* 62941 */ // (fpround:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src) => (CVT_S_D64_MM:{ *:[f32] } FGR64Opnd:{ *:[f64] }:$src)
23902 /* 62941 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_S_D64_MM),
23903 /* 62946 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23904 /* 62950 */ GIR_RootConstrainSelectedInstOperands,
23905 /* 62951 */ // GIR_Coverage, 2407,
23906 /* 62951 */ GIR_Done,
23907 /* 62952 */ // Label 1740: @62952
23908 /* 62952 */ GIM_Reject,
23909 /* 62953 */ // Label 1738: @62953
23910 /* 62953 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1741*/ GIMT_Encode4(62975), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_NotFP64bit), // Rule ID 2409 //
23911 /* 62960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
23912 /* 62964 */ // (fpround:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src) => (CVT_S_D32_MM:{ *:[f32] } AFGR64Opnd:{ *:[f64] }:$src)
23913 /* 62964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CVT_S_D32_MM),
23914 /* 62969 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
23915 /* 62973 */ GIR_RootConstrainSelectedInstOperands,
23916 /* 62974 */ // GIR_Coverage, 2409,
23917 /* 62974 */ GIR_Done,
23918 /* 62975 */ // Label 1741: @62975
23919 /* 62975 */ GIM_Reject,
23920 /* 62976 */ // Label 1736: @62976
23921 /* 62976 */ GIM_Reject,
23922 /* 62977 */ // Label 57: @62977
23923 /* 62977 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(6), GIMT_Encode2(8), /*)*//*default:*//*Label 1744*/ GIMT_Encode4(63048),
23924 /* 62988 */ /*GILLT_v4s32*//*Label 1742*/ GIMT_Encode4(62996),
23925 /* 62992 */ /*GILLT_v2s64*//*Label 1743*/ GIMT_Encode4(63022),
23926 /* 62996 */ // Label 1742: @62996
23927 /* 62996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1745*/ GIMT_Encode4(63021), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 804 //
23928 /* 63003 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
23929 /* 63006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23930 /* 63010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23931 /* 63014 */ // (fp_to_sint:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FTRUNC_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
23932 /* 63014 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FTRUNC_S_W),
23933 /* 63019 */ GIR_RootConstrainSelectedInstOperands,
23934 /* 63020 */ // GIR_Coverage, 804,
23935 /* 63020 */ GIR_Done,
23936 /* 63021 */ // Label 1745: @63021
23937 /* 63021 */ GIM_Reject,
23938 /* 63022 */ // Label 1743: @63022
23939 /* 63022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1746*/ GIMT_Encode4(63047), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 805 //
23940 /* 63029 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
23941 /* 63032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23942 /* 63036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23943 /* 63040 */ // (fp_to_sint:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FTRUNC_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
23944 /* 63040 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FTRUNC_S_D),
23945 /* 63045 */ GIR_RootConstrainSelectedInstOperands,
23946 /* 63046 */ // GIR_Coverage, 805,
23947 /* 63046 */ GIR_Done,
23948 /* 63047 */ // Label 1746: @63047
23949 /* 63047 */ GIM_Reject,
23950 /* 63048 */ // Label 1744: @63048
23951 /* 63048 */ GIM_Reject,
23952 /* 63049 */ // Label 58: @63049
23953 /* 63049 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(6), GIMT_Encode2(8), /*)*//*default:*//*Label 1749*/ GIMT_Encode4(63120),
23954 /* 63060 */ /*GILLT_v4s32*//*Label 1747*/ GIMT_Encode4(63068),
23955 /* 63064 */ /*GILLT_v2s64*//*Label 1748*/ GIMT_Encode4(63094),
23956 /* 63068 */ // Label 1747: @63068
23957 /* 63068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1750*/ GIMT_Encode4(63093), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 806 //
23958 /* 63075 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
23959 /* 63078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23960 /* 63082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
23961 /* 63086 */ // (fp_to_uint:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FTRUNC_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
23962 /* 63086 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FTRUNC_U_W),
23963 /* 63091 */ GIR_RootConstrainSelectedInstOperands,
23964 /* 63092 */ // GIR_Coverage, 806,
23965 /* 63092 */ GIR_Done,
23966 /* 63093 */ // Label 1750: @63093
23967 /* 63093 */ GIM_Reject,
23968 /* 63094 */ // Label 1748: @63094
23969 /* 63094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1751*/ GIMT_Encode4(63119), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 807 //
23970 /* 63101 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
23971 /* 63104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23972 /* 63108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
23973 /* 63112 */ // (fp_to_uint:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FTRUNC_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
23974 /* 63112 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FTRUNC_U_D),
23975 /* 63117 */ GIR_RootConstrainSelectedInstOperands,
23976 /* 63118 */ // GIR_Coverage, 807,
23977 /* 63118 */ GIR_Done,
23978 /* 63119 */ // Label 1751: @63119
23979 /* 63119 */ GIM_Reject,
23980 /* 63120 */ // Label 1749: @63120
23981 /* 63120 */ GIM_Reject,
23982 /* 63121 */ // Label 59: @63121
23983 /* 63121 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1756*/ GIMT_Encode4(63402),
23984 /* 63132 */ /*GILLT_s32*//*Label 1752*/ GIMT_Encode4(63164),
23985 /* 63136 */ /*GILLT_s64*//*Label 1753*/ GIMT_Encode4(63262), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
23986 /* 63156 */ /*GILLT_v4s32*//*Label 1754*/ GIMT_Encode4(63350),
23987 /* 63160 */ /*GILLT_v2s64*//*Label 1755*/ GIMT_Encode4(63376),
23988 /* 63164 */ // Label 1752: @63164
23989 /* 63164 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1759*/ GIMT_Encode4(63261),
23990 /* 63175 */ /*GILLT_s32*//*Label 1757*/ GIMT_Encode4(63183),
23991 /* 63179 */ /*GILLT_s64*//*Label 1758*/ GIMT_Encode4(63204),
23992 /* 63183 */ // Label 1757: @63183
23993 /* 63183 */ GIM_Try, /*On fail goto*//*Label 1760*/ GIMT_Encode4(63203), // Rule ID 1517 //
23994 /* 63188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
23995 /* 63192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
23996 /* 63196 */ // (sint_to_fp:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$src) => (PseudoCVT_S_W:{ *:[f32] } GPR32Opnd:{ *:[i32] }:$src)
23997 /* 63196 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_S_W),
23998 /* 63201 */ GIR_RootConstrainSelectedInstOperands,
23999 /* 63202 */ // GIR_Coverage, 1517,
24000 /* 63202 */ GIR_Done,
24001 /* 63203 */ // Label 1760: @63203
24002 /* 63203 */ GIM_Reject,
24003 /* 63204 */ // Label 1758: @63204
24004 /* 63204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1761*/ GIMT_Encode4(63260), GIMT_Encode2(GIFBS_IsFP64bit_IsNotSingleFloat), // Rule ID 1537 //
24005 /* 63211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24006 /* 63215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24007 /* 63219 */ // (sint_to_fp:{ *:[f32] } GPR64Opnd:{ *:[i64] }:$src) => (EXTRACT_SUBREG:{ *:[f32] } (PseudoCVT_S_L:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$src), sub_lo:{ *:[i32] })
24008 /* 63219 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
24009 /* 63222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_S_L),
24010 /* 63226 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24011 /* 63231 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
24012 /* 63235 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
24013 /* 63237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24014 /* 63240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
24015 /* 63242 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(Mips::sub_lo),
24016 /* 63249 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(Mips::FGR32RegClassID),
24017 /* 63254 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(Mips::FGR64RegClassID),
24018 /* 63259 */ // GIR_Coverage, 1537,
24019 /* 63259 */ GIR_EraseRootFromParent_Done,
24020 /* 63260 */ // Label 1761: @63260
24021 /* 63260 */ GIM_Reject,
24022 /* 63261 */ // Label 1759: @63261
24023 /* 63261 */ GIM_Reject,
24024 /* 63262 */ // Label 1753: @63262
24025 /* 63262 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1764*/ GIMT_Encode4(63349),
24026 /* 63273 */ /*GILLT_s32*//*Label 1762*/ GIMT_Encode4(63281),
24027 /* 63277 */ /*GILLT_s64*//*Label 1763*/ GIMT_Encode4(63326),
24028 /* 63281 */ // Label 1762: @63281
24029 /* 63281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1765*/ GIMT_Encode4(63303), GIMT_Encode2(GIFBS_IsNotSingleFloat_NotFP64bit), // Rule ID 1524 //
24030 /* 63288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24031 /* 63292 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24032 /* 63296 */ // (sint_to_fp:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$src) => (PseudoCVT_D32_W:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$src)
24033 /* 63296 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_D32_W),
24034 /* 63301 */ GIR_RootConstrainSelectedInstOperands,
24035 /* 63302 */ // GIR_Coverage, 1524,
24036 /* 63302 */ GIR_Done,
24037 /* 63303 */ // Label 1765: @63303
24038 /* 63303 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1766*/ GIMT_Encode4(63325), GIMT_Encode2(GIFBS_IsFP64bit_IsNotSingleFloat), // Rule ID 1535 //
24039 /* 63310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24040 /* 63314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24041 /* 63318 */ // (sint_to_fp:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$src) => (PseudoCVT_D64_W:{ *:[f64] } GPR32Opnd:{ *:[i32] }:$src)
24042 /* 63318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_D64_W),
24043 /* 63323 */ GIR_RootConstrainSelectedInstOperands,
24044 /* 63324 */ // GIR_Coverage, 1535,
24045 /* 63324 */ GIR_Done,
24046 /* 63325 */ // Label 1766: @63325
24047 /* 63325 */ GIM_Reject,
24048 /* 63326 */ // Label 1763: @63326
24049 /* 63326 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1767*/ GIMT_Encode4(63348), GIMT_Encode2(GIFBS_IsFP64bit_IsNotSingleFloat), // Rule ID 1539 //
24050 /* 63333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24051 /* 63337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24052 /* 63341 */ // (sint_to_fp:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$src) => (PseudoCVT_D64_L:{ *:[f64] } GPR64Opnd:{ *:[i64] }:$src)
24053 /* 63341 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PseudoCVT_D64_L),
24054 /* 63346 */ GIR_RootConstrainSelectedInstOperands,
24055 /* 63347 */ // GIR_Coverage, 1539,
24056 /* 63347 */ GIR_Done,
24057 /* 63348 */ // Label 1767: @63348
24058 /* 63348 */ GIM_Reject,
24059 /* 63349 */ // Label 1764: @63349
24060 /* 63349 */ GIM_Reject,
24061 /* 63350 */ // Label 1754: @63350
24062 /* 63350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1768*/ GIMT_Encode4(63375), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 736 //
24063 /* 63357 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24064 /* 63360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24065 /* 63364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24066 /* 63368 */ // (sint_to_fp:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$ws) => (FFINT_S_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
24067 /* 63368 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FFINT_S_W),
24068 /* 63373 */ GIR_RootConstrainSelectedInstOperands,
24069 /* 63374 */ // GIR_Coverage, 736,
24070 /* 63374 */ GIR_Done,
24071 /* 63375 */ // Label 1768: @63375
24072 /* 63375 */ GIM_Reject,
24073 /* 63376 */ // Label 1755: @63376
24074 /* 63376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1769*/ GIMT_Encode4(63401), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 737 //
24075 /* 63383 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24076 /* 63386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24077 /* 63390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24078 /* 63394 */ // (sint_to_fp:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$ws) => (FFINT_S_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
24079 /* 63394 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FFINT_S_D),
24080 /* 63399 */ GIR_RootConstrainSelectedInstOperands,
24081 /* 63400 */ // GIR_Coverage, 737,
24082 /* 63400 */ GIR_Done,
24083 /* 63401 */ // Label 1769: @63401
24084 /* 63401 */ GIM_Reject,
24085 /* 63402 */ // Label 1756: @63402
24086 /* 63402 */ GIM_Reject,
24087 /* 63403 */ // Label 60: @63403
24088 /* 63403 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(6), GIMT_Encode2(8), /*)*//*default:*//*Label 1772*/ GIMT_Encode4(63474),
24089 /* 63414 */ /*GILLT_v4s32*//*Label 1770*/ GIMT_Encode4(63422),
24090 /* 63418 */ /*GILLT_v2s64*//*Label 1771*/ GIMT_Encode4(63448),
24091 /* 63422 */ // Label 1770: @63422
24092 /* 63422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1773*/ GIMT_Encode4(63447), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 738 //
24093 /* 63429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24094 /* 63432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24095 /* 63436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24096 /* 63440 */ // (uint_to_fp:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$ws) => (FFINT_U_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
24097 /* 63440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FFINT_U_W),
24098 /* 63445 */ GIR_RootConstrainSelectedInstOperands,
24099 /* 63446 */ // GIR_Coverage, 738,
24100 /* 63446 */ GIR_Done,
24101 /* 63447 */ // Label 1773: @63447
24102 /* 63447 */ GIM_Reject,
24103 /* 63448 */ // Label 1771: @63448
24104 /* 63448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1774*/ GIMT_Encode4(63473), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 739 //
24105 /* 63455 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24106 /* 63458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24107 /* 63462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24108 /* 63466 */ // (uint_to_fp:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$ws) => (FFINT_U_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
24109 /* 63466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FFINT_U_D),
24110 /* 63471 */ GIR_RootConstrainSelectedInstOperands,
24111 /* 63472 */ // GIR_Coverage, 739,
24112 /* 63472 */ GIR_Done,
24113 /* 63473 */ // Label 1774: @63473
24114 /* 63473 */ GIM_Reject,
24115 /* 63474 */ // Label 1772: @63474
24116 /* 63474 */ GIM_Reject,
24117 /* 63475 */ // Label 61: @63475
24118 /* 63475 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1779*/ GIMT_Encode4(63714),
24119 /* 63486 */ /*GILLT_s32*//*Label 1775*/ GIMT_Encode4(63518),
24120 /* 63490 */ /*GILLT_s64*//*Label 1776*/ GIMT_Encode4(63564), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
24121 /* 63510 */ /*GILLT_v4s32*//*Label 1777*/ GIMT_Encode4(63662),
24122 /* 63514 */ /*GILLT_v2s64*//*Label 1778*/ GIMT_Encode4(63688),
24123 /* 63518 */ // Label 1775: @63518
24124 /* 63518 */ GIM_Try, /*On fail goto*//*Label 1780*/ GIMT_Encode4(63563),
24125 /* 63523 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24126 /* 63526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24127 /* 63530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24128 /* 63534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1781*/ GIMT_Encode4(63548), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 126 //
24129 /* 63541 */ // (fabs:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FABS_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
24130 /* 63541 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_S),
24131 /* 63546 */ GIR_RootConstrainSelectedInstOperands,
24132 /* 63547 */ // GIR_Coverage, 126,
24133 /* 63547 */ GIR_Done,
24134 /* 63548 */ // Label 1781: @63548
24135 /* 63548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1782*/ GIMT_Encode4(63562), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1174 //
24136 /* 63555 */ // (fabs:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FABS_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
24137 /* 63555 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_S_MM),
24138 /* 63560 */ GIR_RootConstrainSelectedInstOperands,
24139 /* 63561 */ // GIR_Coverage, 1174,
24140 /* 63561 */ GIR_Done,
24141 /* 63562 */ // Label 1782: @63562
24142 /* 63562 */ GIM_Reject,
24143 /* 63563 */ // Label 1780: @63563
24144 /* 63563 */ GIM_Reject,
24145 /* 63564 */ // Label 1776: @63564
24146 /* 63564 */ GIM_Try, /*On fail goto*//*Label 1783*/ GIMT_Encode4(63661),
24147 /* 63569 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24148 /* 63572 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1784*/ GIMT_Encode4(63594), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 127 //
24149 /* 63579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24150 /* 63583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24151 /* 63587 */ // (fabs:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FABS_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
24152 /* 63587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D32),
24153 /* 63592 */ GIR_RootConstrainSelectedInstOperands,
24154 /* 63593 */ // GIR_Coverage, 127,
24155 /* 63593 */ GIR_Done,
24156 /* 63594 */ // Label 1784: @63594
24157 /* 63594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1785*/ GIMT_Encode4(63616), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 128 //
24158 /* 63601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24159 /* 63605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24160 /* 63609 */ // (fabs:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FABS_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
24161 /* 63609 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D64),
24162 /* 63614 */ GIR_RootConstrainSelectedInstOperands,
24163 /* 63615 */ // GIR_Coverage, 128,
24164 /* 63615 */ GIR_Done,
24165 /* 63616 */ // Label 1785: @63616
24166 /* 63616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1786*/ GIMT_Encode4(63638), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit), // Rule ID 1172 //
24167 /* 63623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24168 /* 63627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
24169 /* 63631 */ // (fabs:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FABS_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
24170 /* 63631 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D32_MM),
24171 /* 63636 */ GIR_RootConstrainSelectedInstOperands,
24172 /* 63637 */ // GIR_Coverage, 1172,
24173 /* 63637 */ GIR_Done,
24174 /* 63638 */ // Label 1786: @63638
24175 /* 63638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1787*/ GIMT_Encode4(63660), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 1173 //
24176 /* 63645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24177 /* 63649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24178 /* 63653 */ // (fabs:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FABS_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
24179 /* 63653 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D64_MM),
24180 /* 63658 */ GIR_RootConstrainSelectedInstOperands,
24181 /* 63659 */ // GIR_Coverage, 1173,
24182 /* 63659 */ GIR_Done,
24183 /* 63660 */ // Label 1787: @63660
24184 /* 63660 */ GIM_Reject,
24185 /* 63661 */ // Label 1783: @63661
24186 /* 63661 */ GIM_Reject,
24187 /* 63662 */ // Label 1777: @63662
24188 /* 63662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1788*/ GIMT_Encode4(63687), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1070 //
24189 /* 63669 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24190 /* 63672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24191 /* 63676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24192 /* 63680 */ // (fabs:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FABS_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
24193 /* 63680 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_W),
24194 /* 63685 */ GIR_RootConstrainSelectedInstOperands,
24195 /* 63686 */ // GIR_Coverage, 1070,
24196 /* 63686 */ GIR_Done,
24197 /* 63687 */ // Label 1788: @63687
24198 /* 63687 */ GIM_Reject,
24199 /* 63688 */ // Label 1778: @63688
24200 /* 63688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1789*/ GIMT_Encode4(63713), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 1071 //
24201 /* 63695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24202 /* 63698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24203 /* 63702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24204 /* 63706 */ // (fabs:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FABS_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
24205 /* 63706 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FABS_D),
24206 /* 63711 */ GIR_RootConstrainSelectedInstOperands,
24207 /* 63712 */ // GIR_Coverage, 1071,
24208 /* 63712 */ GIR_Done,
24209 /* 63713 */ // Label 1789: @63713
24210 /* 63713 */ GIM_Reject,
24211 /* 63714 */ // Label 1779: @63714
24212 /* 63714 */ GIM_Reject,
24213 /* 63715 */ // Label 62: @63715
24214 /* 63715 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1792*/ GIMT_Encode4(63786),
24215 /* 63726 */ /*GILLT_s32*//*Label 1790*/ GIMT_Encode4(63734),
24216 /* 63730 */ /*GILLT_s64*//*Label 1791*/ GIMT_Encode4(63760),
24217 /* 63734 */ // Label 1790: @63734
24218 /* 63734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1793*/ GIMT_Encode4(63759), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1892 //
24219 /* 63741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24220 /* 63744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24221 /* 63748 */ // (fcanonicalize:{ *:[f32] } f32:{ *:[f32] }:$src) => (MIN_S:{ *:[f32] } f32:{ *:[f32] }:$src, f32:{ *:[f32] }:$src)
24222 /* 63748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_S),
24223 /* 63751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24224 /* 63753 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
24225 /* 63755 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
24226 /* 63757 */ GIR_RootConstrainSelectedInstOperands,
24227 /* 63758 */ // GIR_Coverage, 1892,
24228 /* 63758 */ GIR_EraseRootFromParent_Done,
24229 /* 63759 */ // Label 1793: @63759
24230 /* 63759 */ GIM_Reject,
24231 /* 63760 */ // Label 1791: @63760
24232 /* 63760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1794*/ GIMT_Encode4(63785), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1893 //
24233 /* 63767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24234 /* 63770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24235 /* 63774 */ // (fcanonicalize:{ *:[f64] } f64:{ *:[f64] }:$src) => (MIN_D:{ *:[f64] } f64:{ *:[f64] }:$src, f64:{ *:[f64] }:$src)
24236 /* 63774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MIN_D),
24237 /* 63777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
24238 /* 63779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
24239 /* 63781 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
24240 /* 63783 */ GIR_RootConstrainSelectedInstOperands,
24241 /* 63784 */ // GIR_Coverage, 1893,
24242 /* 63784 */ GIR_EraseRootFromParent_Done,
24243 /* 63785 */ // Label 1794: @63785
24244 /* 63785 */ GIM_Reject,
24245 /* 63786 */ // Label 1792: @63786
24246 /* 63786 */ GIM_Reject,
24247 /* 63787 */ // Label 63: @63787
24248 /* 63787 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1797*/ GIMT_Encode4(63856),
24249 /* 63798 */ /*GILLT_s32*//*Label 1795*/ GIMT_Encode4(63806),
24250 /* 63802 */ /*GILLT_s64*//*Label 1796*/ GIMT_Encode4(63831),
24251 /* 63806 */ // Label 1795: @63806
24252 /* 63806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1798*/ GIMT_Encode4(63830), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1889 //
24253 /* 63813 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24254 /* 63816 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24255 /* 63819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24256 /* 63823 */ // (fminnum:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs) => (MIN_S:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
24257 /* 63823 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S),
24258 /* 63828 */ GIR_RootConstrainSelectedInstOperands,
24259 /* 63829 */ // GIR_Coverage, 1889,
24260 /* 63829 */ GIR_Done,
24261 /* 63830 */ // Label 1798: @63830
24262 /* 63830 */ GIM_Reject,
24263 /* 63831 */ // Label 1796: @63831
24264 /* 63831 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1799*/ GIMT_Encode4(63855), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1891 //
24265 /* 63838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24266 /* 63841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24267 /* 63844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24268 /* 63848 */ // (fminnum:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs) => (MIN_D:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
24269 /* 63848 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_D),
24270 /* 63853 */ GIR_RootConstrainSelectedInstOperands,
24271 /* 63854 */ // GIR_Coverage, 1891,
24272 /* 63854 */ GIR_Done,
24273 /* 63855 */ // Label 1799: @63855
24274 /* 63855 */ GIM_Reject,
24275 /* 63856 */ // Label 1797: @63856
24276 /* 63856 */ GIM_Reject,
24277 /* 63857 */ // Label 64: @63857
24278 /* 63857 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1802*/ GIMT_Encode4(63926),
24279 /* 63868 */ /*GILLT_s32*//*Label 1800*/ GIMT_Encode4(63876),
24280 /* 63872 */ /*GILLT_s64*//*Label 1801*/ GIMT_Encode4(63901),
24281 /* 63876 */ // Label 1800: @63876
24282 /* 63876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1803*/ GIMT_Encode4(63900), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1885 //
24283 /* 63883 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24284 /* 63886 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24285 /* 63889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24286 /* 63893 */ // (fmaxnum:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs) => (MAX_S:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
24287 /* 63893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S),
24288 /* 63898 */ GIR_RootConstrainSelectedInstOperands,
24289 /* 63899 */ // GIR_Coverage, 1885,
24290 /* 63899 */ GIR_Done,
24291 /* 63900 */ // Label 1803: @63900
24292 /* 63900 */ GIM_Reject,
24293 /* 63901 */ // Label 1801: @63901
24294 /* 63901 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1804*/ GIMT_Encode4(63925), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1887 //
24295 /* 63908 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24296 /* 63911 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24297 /* 63914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24298 /* 63918 */ // (fmaxnum:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs) => (MAX_D:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
24299 /* 63918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_D),
24300 /* 63923 */ GIR_RootConstrainSelectedInstOperands,
24301 /* 63924 */ // GIR_Coverage, 1887,
24302 /* 63924 */ GIR_Done,
24303 /* 63925 */ // Label 1804: @63925
24304 /* 63925 */ GIM_Reject,
24305 /* 63926 */ // Label 1802: @63926
24306 /* 63926 */ GIM_Reject,
24307 /* 63927 */ // Label 65: @63927
24308 /* 63927 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1807*/ GIMT_Encode4(63996),
24309 /* 63938 */ /*GILLT_s32*//*Label 1805*/ GIMT_Encode4(63946),
24310 /* 63942 */ /*GILLT_s64*//*Label 1806*/ GIMT_Encode4(63971),
24311 /* 63946 */ // Label 1805: @63946
24312 /* 63946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1808*/ GIMT_Encode4(63970), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1888 //
24313 /* 63953 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24314 /* 63956 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24315 /* 63959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24316 /* 63963 */ // (fminnum_ieee:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs) => (MIN_S:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
24317 /* 63963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S),
24318 /* 63968 */ GIR_RootConstrainSelectedInstOperands,
24319 /* 63969 */ // GIR_Coverage, 1888,
24320 /* 63969 */ GIR_Done,
24321 /* 63970 */ // Label 1808: @63970
24322 /* 63970 */ GIM_Reject,
24323 /* 63971 */ // Label 1806: @63971
24324 /* 63971 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1809*/ GIMT_Encode4(63995), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1890 //
24325 /* 63978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24326 /* 63981 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24327 /* 63984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24328 /* 63988 */ // (fminnum_ieee:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs) => (MIN_D:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
24329 /* 63988 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_D),
24330 /* 63993 */ GIR_RootConstrainSelectedInstOperands,
24331 /* 63994 */ // GIR_Coverage, 1890,
24332 /* 63994 */ GIR_Done,
24333 /* 63995 */ // Label 1809: @63995
24334 /* 63995 */ GIM_Reject,
24335 /* 63996 */ // Label 1807: @63996
24336 /* 63996 */ GIM_Reject,
24337 /* 63997 */ // Label 66: @63997
24338 /* 63997 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1812*/ GIMT_Encode4(64066),
24339 /* 64008 */ /*GILLT_s32*//*Label 1810*/ GIMT_Encode4(64016),
24340 /* 64012 */ /*GILLT_s64*//*Label 1811*/ GIMT_Encode4(64041),
24341 /* 64016 */ // Label 1810: @64016
24342 /* 64016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1813*/ GIMT_Encode4(64040), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1884 //
24343 /* 64023 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24344 /* 64026 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24345 /* 64029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24346 /* 64033 */ // (fmaxnum_ieee:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs) => (MAX_S:{ *:[f32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
24347 /* 64033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S),
24348 /* 64038 */ GIR_RootConstrainSelectedInstOperands,
24349 /* 64039 */ // GIR_Coverage, 1884,
24350 /* 64039 */ GIR_Done,
24351 /* 64040 */ // Label 1813: @64040
24352 /* 64040 */ GIM_Reject,
24353 /* 64041 */ // Label 1811: @64041
24354 /* 64041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1814*/ GIMT_Encode4(64065), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips), // Rule ID 1886 //
24355 /* 64048 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
24356 /* 64051 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24357 /* 64054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24358 /* 64058 */ // (fmaxnum_ieee:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs) => (MAX_D:{ *:[f64] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
24359 /* 64058 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_D),
24360 /* 64063 */ GIR_RootConstrainSelectedInstOperands,
24361 /* 64064 */ // GIR_Coverage, 1886,
24362 /* 64064 */ GIR_Done,
24363 /* 64065 */ // Label 1814: @64065
24364 /* 64065 */ GIM_Reject,
24365 /* 64066 */ // Label 1812: @64066
24366 /* 64066 */ GIM_Reject,
24367 /* 64067 */ // Label 67: @64067
24368 /* 64067 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(8), /*)*//*default:*//*Label 1819*/ GIMT_Encode4(64230),
24369 /* 64078 */ /*GILLT_v16s8*//*Label 1815*/ GIMT_Encode4(64098), GIMT_Encode4(0),
24370 /* 64086 */ /*GILLT_v8s16*//*Label 1816*/ GIMT_Encode4(64131),
24371 /* 64090 */ /*GILLT_v4s32*//*Label 1817*/ GIMT_Encode4(64164),
24372 /* 64094 */ /*GILLT_v2s64*//*Label 1818*/ GIMT_Encode4(64197),
24373 /* 64098 */ // Label 1815: @64098
24374 /* 64098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1820*/ GIMT_Encode4(64130), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 896 //
24375 /* 64105 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
24376 /* 64108 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
24377 /* 64111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24378 /* 64115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24379 /* 64119 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24380 /* 64123 */ // (smin:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MIN_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
24381 /* 64123 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S_B),
24382 /* 64128 */ GIR_RootConstrainSelectedInstOperands,
24383 /* 64129 */ // GIR_Coverage, 896,
24384 /* 64129 */ GIR_Done,
24385 /* 64130 */ // Label 1820: @64130
24386 /* 64130 */ GIM_Reject,
24387 /* 64131 */ // Label 1816: @64131
24388 /* 64131 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1821*/ GIMT_Encode4(64163), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 897 //
24389 /* 64138 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
24390 /* 64141 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
24391 /* 64144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24392 /* 64148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24393 /* 64152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24394 /* 64156 */ // (smin:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MIN_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
24395 /* 64156 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S_H),
24396 /* 64161 */ GIR_RootConstrainSelectedInstOperands,
24397 /* 64162 */ // GIR_Coverage, 897,
24398 /* 64162 */ GIR_Done,
24399 /* 64163 */ // Label 1821: @64163
24400 /* 64163 */ GIM_Reject,
24401 /* 64164 */ // Label 1817: @64164
24402 /* 64164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1822*/ GIMT_Encode4(64196), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 898 //
24403 /* 64171 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24404 /* 64174 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
24405 /* 64177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24406 /* 64181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24407 /* 64185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24408 /* 64189 */ // (smin:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MIN_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
24409 /* 64189 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S_W),
24410 /* 64194 */ GIR_RootConstrainSelectedInstOperands,
24411 /* 64195 */ // GIR_Coverage, 898,
24412 /* 64195 */ GIR_Done,
24413 /* 64196 */ // Label 1822: @64196
24414 /* 64196 */ GIM_Reject,
24415 /* 64197 */ // Label 1818: @64197
24416 /* 64197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1823*/ GIMT_Encode4(64229), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 899 //
24417 /* 64204 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24418 /* 64207 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
24419 /* 64210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24420 /* 64214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24421 /* 64218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24422 /* 64222 */ // (smin:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MIN_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
24423 /* 64222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_S_D),
24424 /* 64227 */ GIR_RootConstrainSelectedInstOperands,
24425 /* 64228 */ // GIR_Coverage, 899,
24426 /* 64228 */ GIR_Done,
24427 /* 64229 */ // Label 1823: @64229
24428 /* 64229 */ GIM_Reject,
24429 /* 64230 */ // Label 1819: @64230
24430 /* 64230 */ GIM_Reject,
24431 /* 64231 */ // Label 68: @64231
24432 /* 64231 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(8), /*)*//*default:*//*Label 1828*/ GIMT_Encode4(64394),
24433 /* 64242 */ /*GILLT_v16s8*//*Label 1824*/ GIMT_Encode4(64262), GIMT_Encode4(0),
24434 /* 64250 */ /*GILLT_v8s16*//*Label 1825*/ GIMT_Encode4(64295),
24435 /* 64254 */ /*GILLT_v4s32*//*Label 1826*/ GIMT_Encode4(64328),
24436 /* 64258 */ /*GILLT_v2s64*//*Label 1827*/ GIMT_Encode4(64361),
24437 /* 64262 */ // Label 1824: @64262
24438 /* 64262 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1829*/ GIMT_Encode4(64294), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 876 //
24439 /* 64269 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
24440 /* 64272 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
24441 /* 64275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24442 /* 64279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24443 /* 64283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24444 /* 64287 */ // (smax:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MAX_S_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
24445 /* 64287 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S_B),
24446 /* 64292 */ GIR_RootConstrainSelectedInstOperands,
24447 /* 64293 */ // GIR_Coverage, 876,
24448 /* 64293 */ GIR_Done,
24449 /* 64294 */ // Label 1829: @64294
24450 /* 64294 */ GIM_Reject,
24451 /* 64295 */ // Label 1825: @64295
24452 /* 64295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1830*/ GIMT_Encode4(64327), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 877 //
24453 /* 64302 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
24454 /* 64305 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
24455 /* 64308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24456 /* 64312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24457 /* 64316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24458 /* 64320 */ // (smax:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MAX_S_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
24459 /* 64320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S_H),
24460 /* 64325 */ GIR_RootConstrainSelectedInstOperands,
24461 /* 64326 */ // GIR_Coverage, 877,
24462 /* 64326 */ GIR_Done,
24463 /* 64327 */ // Label 1830: @64327
24464 /* 64327 */ GIM_Reject,
24465 /* 64328 */ // Label 1826: @64328
24466 /* 64328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1831*/ GIMT_Encode4(64360), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 878 //
24467 /* 64335 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24468 /* 64338 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
24469 /* 64341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24470 /* 64345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24471 /* 64349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24472 /* 64353 */ // (smax:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MAX_S_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
24473 /* 64353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S_W),
24474 /* 64358 */ GIR_RootConstrainSelectedInstOperands,
24475 /* 64359 */ // GIR_Coverage, 878,
24476 /* 64359 */ GIR_Done,
24477 /* 64360 */ // Label 1831: @64360
24478 /* 64360 */ GIM_Reject,
24479 /* 64361 */ // Label 1827: @64361
24480 /* 64361 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1832*/ GIMT_Encode4(64393), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 879 //
24481 /* 64368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24482 /* 64371 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
24483 /* 64374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24484 /* 64378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24485 /* 64382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24486 /* 64386 */ // (smax:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MAX_S_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
24487 /* 64386 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_S_D),
24488 /* 64391 */ GIR_RootConstrainSelectedInstOperands,
24489 /* 64392 */ // GIR_Coverage, 879,
24490 /* 64392 */ GIR_Done,
24491 /* 64393 */ // Label 1832: @64393
24492 /* 64393 */ GIM_Reject,
24493 /* 64394 */ // Label 1828: @64394
24494 /* 64394 */ GIM_Reject,
24495 /* 64395 */ // Label 69: @64395
24496 /* 64395 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(8), /*)*//*default:*//*Label 1837*/ GIMT_Encode4(64558),
24497 /* 64406 */ /*GILLT_v16s8*//*Label 1833*/ GIMT_Encode4(64426), GIMT_Encode4(0),
24498 /* 64414 */ /*GILLT_v8s16*//*Label 1834*/ GIMT_Encode4(64459),
24499 /* 64418 */ /*GILLT_v4s32*//*Label 1835*/ GIMT_Encode4(64492),
24500 /* 64422 */ /*GILLT_v2s64*//*Label 1836*/ GIMT_Encode4(64525),
24501 /* 64426 */ // Label 1833: @64426
24502 /* 64426 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1838*/ GIMT_Encode4(64458), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 900 //
24503 /* 64433 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
24504 /* 64436 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
24505 /* 64439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24506 /* 64443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24507 /* 64447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24508 /* 64451 */ // (umin:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MIN_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
24509 /* 64451 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_U_B),
24510 /* 64456 */ GIR_RootConstrainSelectedInstOperands,
24511 /* 64457 */ // GIR_Coverage, 900,
24512 /* 64457 */ GIR_Done,
24513 /* 64458 */ // Label 1838: @64458
24514 /* 64458 */ GIM_Reject,
24515 /* 64459 */ // Label 1834: @64459
24516 /* 64459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1839*/ GIMT_Encode4(64491), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 901 //
24517 /* 64466 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
24518 /* 64469 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
24519 /* 64472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24520 /* 64476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24521 /* 64480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24522 /* 64484 */ // (umin:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MIN_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
24523 /* 64484 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_U_H),
24524 /* 64489 */ GIR_RootConstrainSelectedInstOperands,
24525 /* 64490 */ // GIR_Coverage, 901,
24526 /* 64490 */ GIR_Done,
24527 /* 64491 */ // Label 1839: @64491
24528 /* 64491 */ GIM_Reject,
24529 /* 64492 */ // Label 1835: @64492
24530 /* 64492 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1840*/ GIMT_Encode4(64524), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 902 //
24531 /* 64499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24532 /* 64502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
24533 /* 64505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24534 /* 64509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24535 /* 64513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24536 /* 64517 */ // (umin:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MIN_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
24537 /* 64517 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_U_W),
24538 /* 64522 */ GIR_RootConstrainSelectedInstOperands,
24539 /* 64523 */ // GIR_Coverage, 902,
24540 /* 64523 */ GIR_Done,
24541 /* 64524 */ // Label 1840: @64524
24542 /* 64524 */ GIM_Reject,
24543 /* 64525 */ // Label 1836: @64525
24544 /* 64525 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1841*/ GIMT_Encode4(64557), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 903 //
24545 /* 64532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24546 /* 64535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
24547 /* 64538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24548 /* 64542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24549 /* 64546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24550 /* 64550 */ // (umin:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MIN_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
24551 /* 64550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MIN_U_D),
24552 /* 64555 */ GIR_RootConstrainSelectedInstOperands,
24553 /* 64556 */ // GIR_Coverage, 903,
24554 /* 64556 */ GIR_Done,
24555 /* 64557 */ // Label 1841: @64557
24556 /* 64557 */ GIM_Reject,
24557 /* 64558 */ // Label 1837: @64558
24558 /* 64558 */ GIM_Reject,
24559 /* 64559 */ // Label 70: @64559
24560 /* 64559 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(8), /*)*//*default:*//*Label 1846*/ GIMT_Encode4(64722),
24561 /* 64570 */ /*GILLT_v16s8*//*Label 1842*/ GIMT_Encode4(64590), GIMT_Encode4(0),
24562 /* 64578 */ /*GILLT_v8s16*//*Label 1843*/ GIMT_Encode4(64623),
24563 /* 64582 */ /*GILLT_v4s32*//*Label 1844*/ GIMT_Encode4(64656),
24564 /* 64586 */ /*GILLT_v2s64*//*Label 1845*/ GIMT_Encode4(64689),
24565 /* 64590 */ // Label 1842: @64590
24566 /* 64590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1847*/ GIMT_Encode4(64622), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 880 //
24567 /* 64597 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
24568 /* 64600 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
24569 /* 64603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24570 /* 64607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24571 /* 64611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24572 /* 64615 */ // (umax:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt) => (MAX_U_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws, MSA128BOpnd:{ *:[v16i8] }:$wt)
24573 /* 64615 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_U_B),
24574 /* 64620 */ GIR_RootConstrainSelectedInstOperands,
24575 /* 64621 */ // GIR_Coverage, 880,
24576 /* 64621 */ GIR_Done,
24577 /* 64622 */ // Label 1847: @64622
24578 /* 64622 */ GIM_Reject,
24579 /* 64623 */ // Label 1843: @64623
24580 /* 64623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1848*/ GIMT_Encode4(64655), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 881 //
24581 /* 64630 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
24582 /* 64633 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
24583 /* 64636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24584 /* 64640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24585 /* 64644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24586 /* 64648 */ // (umax:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt) => (MAX_U_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws, MSA128HOpnd:{ *:[v8i16] }:$wt)
24587 /* 64648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_U_H),
24588 /* 64653 */ GIR_RootConstrainSelectedInstOperands,
24589 /* 64654 */ // GIR_Coverage, 881,
24590 /* 64654 */ GIR_Done,
24591 /* 64655 */ // Label 1848: @64655
24592 /* 64655 */ GIM_Reject,
24593 /* 64656 */ // Label 1844: @64656
24594 /* 64656 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1849*/ GIMT_Encode4(64688), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 882 //
24595 /* 64663 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24596 /* 64666 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
24597 /* 64669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24598 /* 64673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24599 /* 64677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24600 /* 64681 */ // (umax:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt) => (MAX_U_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws, MSA128WOpnd:{ *:[v4i32] }:$wt)
24601 /* 64681 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_U_W),
24602 /* 64686 */ GIR_RootConstrainSelectedInstOperands,
24603 /* 64687 */ // GIR_Coverage, 882,
24604 /* 64687 */ GIR_Done,
24605 /* 64688 */ // Label 1849: @64688
24606 /* 64688 */ GIM_Reject,
24607 /* 64689 */ // Label 1845: @64689
24608 /* 64689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1850*/ GIMT_Encode4(64721), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 883 //
24609 /* 64696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24610 /* 64699 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
24611 /* 64702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24612 /* 64706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24613 /* 64710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24614 /* 64714 */ // (umax:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt) => (MAX_U_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws, MSA128DOpnd:{ *:[v2i64] }:$wt)
24615 /* 64714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::MAX_U_D),
24616 /* 64719 */ GIR_RootConstrainSelectedInstOperands,
24617 /* 64720 */ // GIR_Coverage, 883,
24618 /* 64720 */ GIR_Done,
24619 /* 64721 */ // Label 1850: @64721
24620 /* 64721 */ GIM_Reject,
24621 /* 64722 */ // Label 1846: @64722
24622 /* 64722 */ GIM_Reject,
24623 /* 64723 */ // Label 71: @64723
24624 /* 64723 */ GIM_Try, /*On fail goto*//*Label 1851*/ GIMT_Encode4(64840),
24625 /* 64728 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/0,
24626 /* 64731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1852*/ GIMT_Encode4(64751), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips_RelocNotPIC), // Rule ID 91 //
24627 /* 64738 */ // (br (bb:{ *:[Other] }):$target) => (J (bb:{ *:[Other] }):$target)
24628 /* 64738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::J),
24629 /* 64743 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
24630 /* 64749 */ GIR_RootConstrainSelectedInstOperands,
24631 /* 64750 */ // GIR_Coverage, 91,
24632 /* 64750 */ GIR_Done,
24633 /* 64751 */ // Label 1852: @64751
24634 /* 64751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1853*/ GIMT_Encode4(64771), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 98 //
24635 /* 64758 */ // (br (bb:{ *:[Other] }):$offset) => (B (bb:{ *:[Other] }):$offset)
24636 /* 64758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::B),
24637 /* 64763 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
24638 /* 64769 */ GIR_RootConstrainSelectedInstOperands,
24639 /* 64770 */ // GIR_Coverage, 98,
24640 /* 64770 */ GIR_Done,
24641 /* 64771 */ // Label 1853: @64771
24642 /* 64771 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1854*/ GIMT_Encode4(64791), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6_RelocNotPIC), // Rule ID 1126 //
24643 /* 64778 */ // (br (bb:{ *:[Other] }):$target) => (J_MM (bb:{ *:[Other] }):$target)
24644 /* 64778 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::J_MM),
24645 /* 64783 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
24646 /* 64789 */ GIR_RootConstrainSelectedInstOperands,
24647 /* 64790 */ // GIR_Coverage, 1126,
24648 /* 64790 */ GIR_Done,
24649 /* 64791 */ // Label 1854: @64791
24650 /* 64791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1855*/ GIMT_Encode4(64811), GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6_RelocPIC), // Rule ID 1135 //
24651 /* 64798 */ // (br (bb:{ *:[Other] }):$offset) => (B_MM (bb:{ *:[Other] }):$offset)
24652 /* 64798 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::B_MM),
24653 /* 64803 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(Mips::AT), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
24654 /* 64809 */ GIR_RootConstrainSelectedInstOperands,
24655 /* 64810 */ // GIR_Coverage, 1135,
24656 /* 64810 */ GIR_Done,
24657 /* 64811 */ // Label 1855: @64811
24658 /* 64811 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1856*/ GIMT_Encode4(64825), GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips), // Rule ID 1193 //
24659 /* 64818 */ // (br (bb:{ *:[Other] }):$offset) => (BC_MMR6 (bb:{ *:[Other] }):$offset)
24660 /* 64818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::BC_MMR6),
24661 /* 64823 */ GIR_RootConstrainSelectedInstOperands,
24662 /* 64824 */ // GIR_Coverage, 1193,
24663 /* 64824 */ GIR_Done,
24664 /* 64825 */ // Label 1856: @64825
24665 /* 64825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1857*/ GIMT_Encode4(64839), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 1997 //
24666 /* 64832 */ // (br (bb:{ *:[Other] }):$imm16) => (Bimm16 (bb:{ *:[Other] }):$imm16)
24667 /* 64832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::Bimm16),
24668 /* 64837 */ GIR_RootConstrainSelectedInstOperands,
24669 /* 64838 */ // GIR_Coverage, 1997,
24670 /* 64838 */ GIR_Done,
24671 /* 64839 */ // Label 1857: @64839
24672 /* 64839 */ GIM_Reject,
24673 /* 64840 */ // Label 1851: @64840
24674 /* 64840 */ GIM_Reject,
24675 /* 64841 */ // Label 72: @64841
24676 /* 64841 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(8), /*)*//*default:*//*Label 1862*/ GIMT_Encode4(65432),
24677 /* 64852 */ /*GILLT_v16s8*//*Label 1858*/ GIMT_Encode4(64872), GIMT_Encode4(0),
24678 /* 64860 */ /*GILLT_v8s16*//*Label 1859*/ GIMT_Encode4(64978),
24679 /* 64864 */ /*GILLT_v4s32*//*Label 1860*/ GIMT_Encode4(65084),
24680 /* 64868 */ /*GILLT_v2s64*//*Label 1861*/ GIMT_Encode4(65258),
24681 /* 64872 */ // Label 1858: @64872
24682 /* 64872 */ GIM_Try, /*On fail goto*//*Label 1863*/ GIMT_Encode4(64977),
24683 /* 64877 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
24684 /* 64880 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24685 /* 64883 */ GIM_SwitchType, /*MI*/0, /*Op*/3, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1866*/ GIMT_Encode4(64976),
24686 /* 64894 */ /*GILLT_s32*//*Label 1864*/ GIMT_Encode4(64902),
24687 /* 64898 */ /*GILLT_s64*//*Label 1865*/ GIMT_Encode4(64939),
24688 /* 64902 */ // Label 1864: @64902
24689 /* 64902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1867*/ GIMT_Encode4(64938), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 846 //
24690 /* 64909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24691 /* 64913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24692 /* 64917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24693 /* 64921 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24694 /* 64925 */ // (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)
24695 /* 64925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_B_VIDX_PSEUDO),
24696 /* 64928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24697 /* 64930 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24698 /* 64932 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24699 /* 64934 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24700 /* 64936 */ GIR_RootConstrainSelectedInstOperands,
24701 /* 64937 */ // GIR_Coverage, 846,
24702 /* 64937 */ GIR_EraseRootFromParent_Done,
24703 /* 64938 */ // Label 1867: @64938
24704 /* 64938 */ GIM_Reject,
24705 /* 64939 */ // Label 1865: @64939
24706 /* 64939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1868*/ GIMT_Encode4(64975), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 852 //
24707 /* 64946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24708 /* 64950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
24709 /* 64954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24710 /* 64958 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24711 /* 64962 */ // (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)
24712 /* 64962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_B_VIDX64_PSEUDO),
24713 /* 64965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24714 /* 64967 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24715 /* 64969 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24716 /* 64971 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24717 /* 64973 */ GIR_RootConstrainSelectedInstOperands,
24718 /* 64974 */ // GIR_Coverage, 852,
24719 /* 64974 */ GIR_EraseRootFromParent_Done,
24720 /* 64975 */ // Label 1868: @64975
24721 /* 64975 */ GIM_Reject,
24722 /* 64976 */ // Label 1866: @64976
24723 /* 64976 */ GIM_Reject,
24724 /* 64977 */ // Label 1863: @64977
24725 /* 64977 */ GIM_Reject,
24726 /* 64978 */ // Label 1859: @64978
24727 /* 64978 */ GIM_Try, /*On fail goto*//*Label 1869*/ GIMT_Encode4(65083),
24728 /* 64983 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
24729 /* 64986 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24730 /* 64989 */ GIM_SwitchType, /*MI*/0, /*Op*/3, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1872*/ GIMT_Encode4(65082),
24731 /* 65000 */ /*GILLT_s32*//*Label 1870*/ GIMT_Encode4(65008),
24732 /* 65004 */ /*GILLT_s64*//*Label 1871*/ GIMT_Encode4(65045),
24733 /* 65008 */ // Label 1870: @65008
24734 /* 65008 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1873*/ GIMT_Encode4(65044), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 847 //
24735 /* 65015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24736 /* 65019 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24737 /* 65023 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24738 /* 65027 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24739 /* 65031 */ // (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)
24740 /* 65031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_H_VIDX_PSEUDO),
24741 /* 65034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24742 /* 65036 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24743 /* 65038 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24744 /* 65040 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24745 /* 65042 */ GIR_RootConstrainSelectedInstOperands,
24746 /* 65043 */ // GIR_Coverage, 847,
24747 /* 65043 */ GIR_EraseRootFromParent_Done,
24748 /* 65044 */ // Label 1873: @65044
24749 /* 65044 */ GIM_Reject,
24750 /* 65045 */ // Label 1871: @65045
24751 /* 65045 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1874*/ GIMT_Encode4(65081), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 853 //
24752 /* 65052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24753 /* 65056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
24754 /* 65060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24755 /* 65064 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24756 /* 65068 */ // (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)
24757 /* 65068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_H_VIDX64_PSEUDO),
24758 /* 65071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24759 /* 65073 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24760 /* 65075 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24761 /* 65077 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24762 /* 65079 */ GIR_RootConstrainSelectedInstOperands,
24763 /* 65080 */ // GIR_Coverage, 853,
24764 /* 65080 */ GIR_EraseRootFromParent_Done,
24765 /* 65081 */ // Label 1874: @65081
24766 /* 65081 */ GIM_Reject,
24767 /* 65082 */ // Label 1872: @65082
24768 /* 65082 */ GIM_Reject,
24769 /* 65083 */ // Label 1869: @65083
24770 /* 65083 */ GIM_Reject,
24771 /* 65084 */ // Label 1860: @65084
24772 /* 65084 */ GIM_Try, /*On fail goto*//*Label 1875*/ GIMT_Encode4(65257),
24773 /* 65089 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24774 /* 65092 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24775 /* 65095 */ GIM_SwitchType, /*MI*/0, /*Op*/3, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1878*/ GIMT_Encode4(65256),
24776 /* 65106 */ /*GILLT_s32*//*Label 1876*/ GIMT_Encode4(65114),
24777 /* 65110 */ /*GILLT_s64*//*Label 1877*/ GIMT_Encode4(65185),
24778 /* 65114 */ // Label 1876: @65114
24779 /* 65114 */ GIM_Try, /*On fail goto*//*Label 1879*/ GIMT_Encode4(65184),
24780 /* 65119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24781 /* 65123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24782 /* 65127 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1880*/ GIMT_Encode4(65155), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 848 //
24783 /* 65134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24784 /* 65138 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24785 /* 65142 */ // (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)
24786 /* 65142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_W_VIDX_PSEUDO),
24787 /* 65145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24788 /* 65147 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24789 /* 65149 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24790 /* 65151 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24791 /* 65153 */ GIR_RootConstrainSelectedInstOperands,
24792 /* 65154 */ // GIR_Coverage, 848,
24793 /* 65154 */ GIR_EraseRootFromParent_Done,
24794 /* 65155 */ // Label 1880: @65155
24795 /* 65155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1881*/ GIMT_Encode4(65183), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 850 //
24796 /* 65162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24797 /* 65166 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24798 /* 65170 */ // (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)
24799 /* 65170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_FW_VIDX_PSEUDO),
24800 /* 65173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24801 /* 65175 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24802 /* 65177 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24803 /* 65179 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24804 /* 65181 */ GIR_RootConstrainSelectedInstOperands,
24805 /* 65182 */ // GIR_Coverage, 850,
24806 /* 65182 */ GIR_EraseRootFromParent_Done,
24807 /* 65183 */ // Label 1881: @65183
24808 /* 65183 */ GIM_Reject,
24809 /* 65184 */ // Label 1879: @65184
24810 /* 65184 */ GIM_Reject,
24811 /* 65185 */ // Label 1877: @65185
24812 /* 65185 */ GIM_Try, /*On fail goto*//*Label 1882*/ GIMT_Encode4(65255),
24813 /* 65190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24814 /* 65194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24815 /* 65198 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1883*/ GIMT_Encode4(65226), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 854 //
24816 /* 65205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24817 /* 65209 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24818 /* 65213 */ // (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)
24819 /* 65213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_W_VIDX64_PSEUDO),
24820 /* 65216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24821 /* 65218 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24822 /* 65220 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24823 /* 65222 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24824 /* 65224 */ GIR_RootConstrainSelectedInstOperands,
24825 /* 65225 */ // GIR_Coverage, 854,
24826 /* 65225 */ GIR_EraseRootFromParent_Done,
24827 /* 65226 */ // Label 1883: @65226
24828 /* 65226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1884*/ GIMT_Encode4(65254), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 856 //
24829 /* 65233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
24830 /* 65237 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24831 /* 65241 */ // (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)
24832 /* 65241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_FW_VIDX64_PSEUDO),
24833 /* 65244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24834 /* 65246 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24835 /* 65248 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24836 /* 65250 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24837 /* 65252 */ GIR_RootConstrainSelectedInstOperands,
24838 /* 65253 */ // GIR_Coverage, 856,
24839 /* 65253 */ GIR_EraseRootFromParent_Done,
24840 /* 65254 */ // Label 1884: @65254
24841 /* 65254 */ GIM_Reject,
24842 /* 65255 */ // Label 1882: @65255
24843 /* 65255 */ GIM_Reject,
24844 /* 65256 */ // Label 1878: @65256
24845 /* 65256 */ GIM_Reject,
24846 /* 65257 */ // Label 1875: @65257
24847 /* 65257 */ GIM_Reject,
24848 /* 65258 */ // Label 1861: @65258
24849 /* 65258 */ GIM_Try, /*On fail goto*//*Label 1885*/ GIMT_Encode4(65431),
24850 /* 65263 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
24851 /* 65266 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
24852 /* 65269 */ GIM_SwitchType, /*MI*/0, /*Op*/3, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1888*/ GIMT_Encode4(65430),
24853 /* 65280 */ /*GILLT_s32*//*Label 1886*/ GIMT_Encode4(65288),
24854 /* 65284 */ /*GILLT_s64*//*Label 1887*/ GIMT_Encode4(65359),
24855 /* 65288 */ // Label 1886: @65288
24856 /* 65288 */ GIM_Try, /*On fail goto*//*Label 1889*/ GIMT_Encode4(65358),
24857 /* 65293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24858 /* 65297 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24859 /* 65301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1890*/ GIMT_Encode4(65329), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 849 //
24860 /* 65308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24861 /* 65312 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24862 /* 65316 */ // (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)
24863 /* 65316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_D_VIDX_PSEUDO),
24864 /* 65319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24865 /* 65321 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24866 /* 65323 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24867 /* 65325 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24868 /* 65327 */ GIR_RootConstrainSelectedInstOperands,
24869 /* 65328 */ // GIR_Coverage, 849,
24870 /* 65328 */ GIR_EraseRootFromParent_Done,
24871 /* 65329 */ // Label 1890: @65329
24872 /* 65329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1891*/ GIMT_Encode4(65357), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 851 //
24873 /* 65336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24874 /* 65340 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24875 /* 65344 */ // (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)
24876 /* 65344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_FD_VIDX_PSEUDO),
24877 /* 65347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24878 /* 65349 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24879 /* 65351 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24880 /* 65353 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24881 /* 65355 */ GIR_RootConstrainSelectedInstOperands,
24882 /* 65356 */ // GIR_Coverage, 851,
24883 /* 65356 */ GIR_EraseRootFromParent_Done,
24884 /* 65357 */ // Label 1891: @65357
24885 /* 65357 */ GIM_Reject,
24886 /* 65358 */ // Label 1889: @65358
24887 /* 65358 */ GIM_Reject,
24888 /* 65359 */ // Label 1887: @65359
24889 /* 65359 */ GIM_Try, /*On fail goto*//*Label 1892*/ GIMT_Encode4(65429),
24890 /* 65364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24891 /* 65368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
24892 /* 65372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1893*/ GIMT_Encode4(65400), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 855 //
24893 /* 65379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24894 /* 65383 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24895 /* 65387 */ // (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)
24896 /* 65387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_D_VIDX64_PSEUDO),
24897 /* 65390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24898 /* 65392 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24899 /* 65394 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24900 /* 65396 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24901 /* 65398 */ GIR_RootConstrainSelectedInstOperands,
24902 /* 65399 */ // GIR_Coverage, 855,
24903 /* 65399 */ GIR_EraseRootFromParent_Done,
24904 /* 65400 */ // Label 1893: @65400
24905 /* 65400 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1894*/ GIMT_Encode4(65428), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 857 //
24906 /* 65407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
24907 /* 65411 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
24908 /* 65415 */ // (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)
24909 /* 65415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::INSERT_FD_VIDX64_PSEUDO),
24910 /* 65418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[wd]
24911 /* 65420 */ GIR_RootToRootCopy, /*OpIdx*/1, // wd_in
24912 /* 65422 */ GIR_RootToRootCopy, /*OpIdx*/3, // n
24913 /* 65424 */ GIR_RootToRootCopy, /*OpIdx*/2, // fs
24914 /* 65426 */ GIR_RootConstrainSelectedInstOperands,
24915 /* 65427 */ // GIR_Coverage, 857,
24916 /* 65427 */ GIR_EraseRootFromParent_Done,
24917 /* 65428 */ // Label 1894: @65428
24918 /* 65428 */ GIM_Reject,
24919 /* 65429 */ // Label 1892: @65429
24920 /* 65429 */ GIM_Reject,
24921 /* 65430 */ // Label 1888: @65430
24922 /* 65430 */ GIM_Reject,
24923 /* 65431 */ // Label 1885: @65431
24924 /* 65431 */ GIM_Reject,
24925 /* 65432 */ // Label 1862: @65432
24926 /* 65432 */ GIM_Reject,
24927 /* 65433 */ // Label 73: @65433
24928 /* 65433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1895*/ GIMT_Encode4(65483), GIMT_Encode2(GIFBS_HasMSA), // Rule ID 2124 //
24929 /* 65440 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
24930 /* 65443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
24931 /* 65446 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
24932 /* 65449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24933 /* 65453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
24934 /* 65457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
24935 /* 65461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24936 /* 65465 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
24937 /* 65469 */ // MIs[1] Operand 1
24938 /* 65469 */ // No operand predicates
24939 /* 65469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24940 /* 65471 */ // (extractelt:{ *:[i32] } MSA128W:{ *:[v4i32] }:$ws, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$idx) => (COPY_S_W:{ *:[i32] } MSA128W:{ *:[v4i32] }:$ws, (imm:{ *:[i32] })<<P:Predicate_immZExt4>>:$idx)
24941 /* 65471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::COPY_S_W),
24942 /* 65474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
24943 /* 65476 */ GIR_RootToRootCopy, /*OpIdx*/1, // ws
24944 /* 65478 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // idx
24945 /* 65481 */ GIR_RootConstrainSelectedInstOperands,
24946 /* 65482 */ // GIR_Coverage, 2124,
24947 /* 65482 */ GIR_EraseRootFromParent_Done,
24948 /* 65483 */ // Label 1895: @65483
24949 /* 65483 */ GIM_Reject,
24950 /* 65484 */ // Label 74: @65484
24951 /* 65484 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1902*/ GIMT_Encode4(65974),
24952 /* 65495 */ /*GILLT_s32*//*Label 1896*/ GIMT_Encode4(65527),
24953 /* 65499 */ /*GILLT_s64*//*Label 1897*/ GIMT_Encode4(65728), GIMT_Encode4(0),
24954 /* 65507 */ /*GILLT_v16s8*//*Label 1898*/ GIMT_Encode4(65870), GIMT_Encode4(0),
24955 /* 65515 */ /*GILLT_v8s16*//*Label 1899*/ GIMT_Encode4(65896),
24956 /* 65519 */ /*GILLT_v4s32*//*Label 1900*/ GIMT_Encode4(65922),
24957 /* 65523 */ /*GILLT_v2s64*//*Label 1901*/ GIMT_Encode4(65948),
24958 /* 65527 */ // Label 1896: @65527
24959 /* 65527 */ GIM_Try, /*On fail goto*//*Label 1903*/ GIMT_Encode4(65727),
24960 /* 65532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
24961 /* 65535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24962 /* 65539 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1904*/ GIMT_Encode4(65584), GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 109 //
24963 /* 65546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24964 /* 65550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24965 /* 65554 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24966 /* 65558 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24967 /* 65562 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24968 /* 65567 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24969 /* 65571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24970 /* 65573 */ // (ctlz:{ *:[i32] } (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] })) => (CLO:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
24971 /* 65573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CLO),
24972 /* 65576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
24973 /* 65578 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
24974 /* 65582 */ GIR_RootConstrainSelectedInstOperands,
24975 /* 65583 */ // GIR_Coverage, 109,
24976 /* 65583 */ GIR_EraseRootFromParent_Done,
24977 /* 65584 */ // Label 1904: @65584
24978 /* 65584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1905*/ GIMT_Encode4(65629), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc), // Rule ID 338 //
24979 /* 65591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24980 /* 65595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24981 /* 65599 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24982 /* 65603 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24983 /* 65607 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
24984 /* 65612 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24985 /* 65616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24986 /* 65618 */ // (ctlz:{ *:[i32] } (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] })) => (CLO_R6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
24987 /* 65618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CLO_R6),
24988 /* 65621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
24989 /* 65623 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
24990 /* 65627 */ GIR_RootConstrainSelectedInstOperands,
24991 /* 65628 */ // GIR_Coverage, 338,
24992 /* 65628 */ GIR_EraseRootFromParent_Done,
24993 /* 65629 */ // Label 1905: @65629
24994 /* 65629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1906*/ GIMT_Encode4(65674), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1122 //
24995 /* 65636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
24996 /* 65640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24997 /* 65644 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24998 /* 65648 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24999 /* 65652 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
25000 /* 65657 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25001 /* 65661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25002 /* 65663 */ // (ctlz:{ *:[i32] } (xor:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs, -1:{ *:[i32] })) => (CLO_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
25003 /* 65663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::CLO_MM),
25004 /* 65666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
25005 /* 65668 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
25006 /* 65672 */ GIR_RootConstrainSelectedInstOperands,
25007 /* 65673 */ // GIR_Coverage, 1122,
25008 /* 65673 */ GIR_EraseRootFromParent_Done,
25009 /* 65674 */ // Label 1906: @65674
25010 /* 65674 */ GIM_Try, /*On fail goto*//*Label 1907*/ GIMT_Encode4(65726),
25011 /* 65679 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
25012 /* 65683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1908*/ GIMT_Encode4(65697), GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 108 //
25013 /* 65690 */ // (ctlz:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs) => (CLZ:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
25014 /* 65690 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CLZ),
25015 /* 65695 */ GIR_RootConstrainSelectedInstOperands,
25016 /* 65696 */ // GIR_Coverage, 108,
25017 /* 65696 */ GIR_Done,
25018 /* 65697 */ // Label 1908: @65697
25019 /* 65697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1909*/ GIMT_Encode4(65711), GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc), // Rule ID 339 //
25020 /* 65704 */ // (ctlz:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs) => (CLZ_R6:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
25021 /* 65704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CLZ_R6),
25022 /* 65709 */ GIR_RootConstrainSelectedInstOperands,
25023 /* 65710 */ // GIR_Coverage, 339,
25024 /* 65710 */ GIR_Done,
25025 /* 65711 */ // Label 1909: @65711
25026 /* 65711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1910*/ GIMT_Encode4(65725), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1121 //
25027 /* 65718 */ // (ctlz:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs) => (CLZ_MM:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
25028 /* 65718 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::CLZ_MM),
25029 /* 65723 */ GIR_RootConstrainSelectedInstOperands,
25030 /* 65724 */ // GIR_Coverage, 1121,
25031 /* 65724 */ GIR_Done,
25032 /* 65725 */ // Label 1910: @65725
25033 /* 65725 */ GIM_Reject,
25034 /* 65726 */ // Label 1907: @65726
25035 /* 65726 */ GIM_Reject,
25036 /* 65727 */ // Label 1903: @65727
25037 /* 65727 */ GIM_Reject,
25038 /* 65728 */ // Label 1897: @65728
25039 /* 65728 */ GIM_Try, /*On fail goto*//*Label 1911*/ GIMT_Encode4(65869),
25040 /* 65733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25041 /* 65736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
25042 /* 65740 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1912*/ GIMT_Encode4(65785), GIMT_Encode2(GIFBS_HasMips64_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips64r6), // Rule ID 292 //
25043 /* 65747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25044 /* 65751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25045 /* 65755 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25046 /* 65759 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25047 /* 65763 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
25048 /* 65768 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25049 /* 65772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25050 /* 65774 */ // (ctlz:{ *:[i64] } (xor:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, -1:{ *:[i64] })) => (DCLO:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
25051 /* 65774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DCLO),
25052 /* 65777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
25053 /* 65779 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
25054 /* 65783 */ GIR_RootConstrainSelectedInstOperands,
25055 /* 65784 */ // GIR_Coverage, 292,
25056 /* 65784 */ GIR_EraseRootFromParent_Done,
25057 /* 65785 */ // Label 1912: @65785
25058 /* 65785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1913*/ GIMT_Encode4(65830), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 367 //
25059 /* 65792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25060 /* 65796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25061 /* 65800 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25062 /* 65804 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25063 /* 65808 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
25064 /* 65813 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25065 /* 65817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25066 /* 65819 */ // (ctlz:{ *:[i64] } (xor:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs, -1:{ *:[i64] })) => (DCLO_R6:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
25067 /* 65819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DCLO_R6),
25068 /* 65822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
25069 /* 65824 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // rs
25070 /* 65828 */ GIR_RootConstrainSelectedInstOperands,
25071 /* 65829 */ // GIR_Coverage, 367,
25072 /* 65829 */ GIR_EraseRootFromParent_Done,
25073 /* 65830 */ // Label 1913: @65830
25074 /* 65830 */ GIM_Try, /*On fail goto*//*Label 1914*/ GIMT_Encode4(65868),
25075 /* 65835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
25076 /* 65839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1915*/ GIMT_Encode4(65853), GIMT_Encode2(GIFBS_HasMips64_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips64r6), // Rule ID 291 //
25077 /* 65846 */ // (ctlz:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs) => (DCLZ:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
25078 /* 65846 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DCLZ),
25079 /* 65851 */ GIR_RootConstrainSelectedInstOperands,
25080 /* 65852 */ // GIR_Coverage, 291,
25081 /* 65852 */ GIR_Done,
25082 /* 65853 */ // Label 1915: @65853
25083 /* 65853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1916*/ GIMT_Encode4(65867), GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips), // Rule ID 368 //
25084 /* 65860 */ // (ctlz:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs) => (DCLZ_R6:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
25085 /* 65860 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DCLZ_R6),
25086 /* 65865 */ GIR_RootConstrainSelectedInstOperands,
25087 /* 65866 */ // GIR_Coverage, 368,
25088 /* 65866 */ GIR_Done,
25089 /* 65867 */ // Label 1916: @65867
25090 /* 65867 */ GIM_Reject,
25091 /* 65868 */ // Label 1914: @65868
25092 /* 65868 */ GIM_Reject,
25093 /* 65869 */ // Label 1911: @65869
25094 /* 65869 */ GIM_Reject,
25095 /* 65870 */ // Label 1898: @65870
25096 /* 65870 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1917*/ GIMT_Encode4(65895), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 940 //
25097 /* 65877 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
25098 /* 65880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
25099 /* 65884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
25100 /* 65888 */ // (ctlz:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws) => (NLZC_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws)
25101 /* 65888 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::NLZC_B),
25102 /* 65893 */ GIR_RootConstrainSelectedInstOperands,
25103 /* 65894 */ // GIR_Coverage, 940,
25104 /* 65894 */ GIR_Done,
25105 /* 65895 */ // Label 1917: @65895
25106 /* 65895 */ GIM_Reject,
25107 /* 65896 */ // Label 1899: @65896
25108 /* 65896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1918*/ GIMT_Encode4(65921), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 941 //
25109 /* 65903 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
25110 /* 65906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
25111 /* 65910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
25112 /* 65914 */ // (ctlz:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws) => (NLZC_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws)
25113 /* 65914 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::NLZC_H),
25114 /* 65919 */ GIR_RootConstrainSelectedInstOperands,
25115 /* 65920 */ // GIR_Coverage, 941,
25116 /* 65920 */ GIR_Done,
25117 /* 65921 */ // Label 1918: @65921
25118 /* 65921 */ GIM_Reject,
25119 /* 65922 */ // Label 1900: @65922
25120 /* 65922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1919*/ GIMT_Encode4(65947), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 942 //
25121 /* 65929 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25122 /* 65932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25123 /* 65936 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25124 /* 65940 */ // (ctlz:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws) => (NLZC_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
25125 /* 65940 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::NLZC_W),
25126 /* 65945 */ GIR_RootConstrainSelectedInstOperands,
25127 /* 65946 */ // GIR_Coverage, 942,
25128 /* 65946 */ GIR_Done,
25129 /* 65947 */ // Label 1919: @65947
25130 /* 65947 */ GIM_Reject,
25131 /* 65948 */ // Label 1901: @65948
25132 /* 65948 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1920*/ GIMT_Encode4(65973), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 943 //
25133 /* 65955 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25134 /* 65958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25135 /* 65962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25136 /* 65966 */ // (ctlz:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws) => (NLZC_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
25137 /* 65966 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::NLZC_D),
25138 /* 65971 */ GIR_RootConstrainSelectedInstOperands,
25139 /* 65972 */ // GIR_Coverage, 943,
25140 /* 65972 */ GIR_Done,
25141 /* 65973 */ // Label 1920: @65973
25142 /* 65973 */ GIM_Reject,
25143 /* 65974 */ // Label 1902: @65974
25144 /* 65974 */ GIM_Reject,
25145 /* 65975 */ // Label 75: @65975
25146 /* 65975 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1927*/ GIMT_Encode4(66174),
25147 /* 65986 */ /*GILLT_s32*//*Label 1921*/ GIMT_Encode4(66018),
25148 /* 65990 */ /*GILLT_s64*//*Label 1922*/ GIMT_Encode4(66044), GIMT_Encode4(0),
25149 /* 65998 */ /*GILLT_v16s8*//*Label 1923*/ GIMT_Encode4(66070), GIMT_Encode4(0),
25150 /* 66006 */ /*GILLT_v8s16*//*Label 1924*/ GIMT_Encode4(66096),
25151 /* 66010 */ /*GILLT_v4s32*//*Label 1925*/ GIMT_Encode4(66122),
25152 /* 66014 */ /*GILLT_v2s64*//*Label 1926*/ GIMT_Encode4(66148),
25153 /* 66018 */ // Label 1921: @66018
25154 /* 66018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1928*/ GIMT_Encode4(66043), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 306 //
25155 /* 66025 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25156 /* 66028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
25157 /* 66032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
25158 /* 66036 */ // (ctpop:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs) => (POP:{ *:[i32] } GPR32Opnd:{ *:[i32] }:$rs)
25159 /* 66036 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::POP),
25160 /* 66041 */ GIR_RootConstrainSelectedInstOperands,
25161 /* 66042 */ // GIR_Coverage, 306,
25162 /* 66042 */ GIR_Done,
25163 /* 66043 */ // Label 1928: @66043
25164 /* 66043 */ GIM_Reject,
25165 /* 66044 */ // Label 1922: @66044
25166 /* 66044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1929*/ GIMT_Encode4(66069), GIMT_Encode2(GIFBS_HasCnMips), // Rule ID 307 //
25167 /* 66051 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25168 /* 66054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
25169 /* 66058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
25170 /* 66062 */ // (ctpop:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs) => (DPOP:{ *:[i64] } GPR64Opnd:{ *:[i64] }:$rs)
25171 /* 66062 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::DPOP),
25172 /* 66067 */ GIR_RootConstrainSelectedInstOperands,
25173 /* 66068 */ // GIR_Coverage, 307,
25174 /* 66068 */ GIR_Done,
25175 /* 66069 */ // Label 1929: @66069
25176 /* 66069 */ GIM_Reject,
25177 /* 66070 */ // Label 1923: @66070
25178 /* 66070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1930*/ GIMT_Encode4(66095), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 962 //
25179 /* 66077 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
25180 /* 66080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
25181 /* 66084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128BRegClassID),
25182 /* 66088 */ // (ctpop:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws) => (PCNT_B:{ *:[v16i8] } MSA128BOpnd:{ *:[v16i8] }:$ws)
25183 /* 66088 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PCNT_B),
25184 /* 66093 */ GIR_RootConstrainSelectedInstOperands,
25185 /* 66094 */ // GIR_Coverage, 962,
25186 /* 66094 */ GIR_Done,
25187 /* 66095 */ // Label 1930: @66095
25188 /* 66095 */ GIM_Reject,
25189 /* 66096 */ // Label 1924: @66096
25190 /* 66096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1931*/ GIMT_Encode4(66121), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 963 //
25191 /* 66103 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
25192 /* 66106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
25193 /* 66110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128HRegClassID),
25194 /* 66114 */ // (ctpop:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws) => (PCNT_H:{ *:[v8i16] } MSA128HOpnd:{ *:[v8i16] }:$ws)
25195 /* 66114 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PCNT_H),
25196 /* 66119 */ GIR_RootConstrainSelectedInstOperands,
25197 /* 66120 */ // GIR_Coverage, 963,
25198 /* 66120 */ GIR_Done,
25199 /* 66121 */ // Label 1931: @66121
25200 /* 66121 */ GIM_Reject,
25201 /* 66122 */ // Label 1925: @66122
25202 /* 66122 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1932*/ GIMT_Encode4(66147), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 964 //
25203 /* 66129 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25204 /* 66132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25205 /* 66136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25206 /* 66140 */ // (ctpop:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws) => (PCNT_W:{ *:[v4i32] } MSA128WOpnd:{ *:[v4i32] }:$ws)
25207 /* 66140 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PCNT_W),
25208 /* 66145 */ GIR_RootConstrainSelectedInstOperands,
25209 /* 66146 */ // GIR_Coverage, 964,
25210 /* 66146 */ GIR_Done,
25211 /* 66147 */ // Label 1932: @66147
25212 /* 66147 */ GIM_Reject,
25213 /* 66148 */ // Label 1926: @66148
25214 /* 66148 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1933*/ GIMT_Encode4(66173), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 965 //
25215 /* 66155 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25216 /* 66158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25217 /* 66162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25218 /* 66166 */ // (ctpop:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws) => (PCNT_D:{ *:[v2i64] } MSA128DOpnd:{ *:[v2i64] }:$ws)
25219 /* 66166 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::PCNT_D),
25220 /* 66171 */ GIR_RootConstrainSelectedInstOperands,
25221 /* 66172 */ // GIR_Coverage, 965,
25222 /* 66172 */ GIR_Done,
25223 /* 66173 */ // Label 1933: @66173
25224 /* 66173 */ GIM_Reject,
25225 /* 66174 */ // Label 1927: @66174
25226 /* 66174 */ GIM_Reject,
25227 /* 66175 */ // Label 76: @66175
25228 /* 66175 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1936*/ GIMT_Encode4(66335),
25229 /* 66186 */ /*GILLT_s32*//*Label 1934*/ GIMT_Encode4(66194),
25230 /* 66190 */ /*GILLT_s64*//*Label 1935*/ GIMT_Encode4(66288),
25231 /* 66194 */ // Label 1934: @66194
25232 /* 66194 */ GIM_Try, /*On fail goto*//*Label 1937*/ GIMT_Encode4(66287),
25233 /* 66199 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25234 /* 66202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
25235 /* 66206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR32RegClassID),
25236 /* 66210 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1938*/ GIMT_Encode4(66248), GIMT_Encode2(GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips), // Rule ID 1449 //
25237 /* 66217 */ // (bswap:{ *:[i32] } GPR32:{ *:[i32] }:$rt) => (ROTR:{ *:[i32] } (WSBH:{ *:[i32] } GPR32:{ *:[i32] }:$rt), 16:{ *:[i32] })
25238 /* 66217 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
25239 /* 66220 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::WSBH),
25240 /* 66224 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25241 /* 66229 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // rt
25242 /* 66233 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
25243 /* 66235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ROTR),
25244 /* 66238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
25245 /* 66240 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25246 /* 66243 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/16,
25247 /* 66246 */ GIR_RootConstrainSelectedInstOperands,
25248 /* 66247 */ // GIR_Coverage, 1449,
25249 /* 66247 */ GIR_EraseRootFromParent_Done,
25250 /* 66248 */ // Label 1938: @66248
25251 /* 66248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1939*/ GIMT_Encode4(66286), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 2324 //
25252 /* 66255 */ // (bswap:{ *:[i32] } GPR32:{ *:[i32] }:$rt) => (ROTR_MM:{ *:[i32] } (WSBH_MM:{ *:[i32] } GPR32:{ *:[i32] }:$rt), 16:{ *:[i32] })
25253 /* 66255 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
25254 /* 66258 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::WSBH_MM),
25255 /* 66262 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25256 /* 66267 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // rt
25257 /* 66271 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
25258 /* 66273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::ROTR_MM),
25259 /* 66276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
25260 /* 66278 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25261 /* 66281 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/16,
25262 /* 66284 */ GIR_RootConstrainSelectedInstOperands,
25263 /* 66285 */ // GIR_Coverage, 2324,
25264 /* 66285 */ GIR_EraseRootFromParent_Done,
25265 /* 66286 */ // Label 1939: @66286
25266 /* 66286 */ GIM_Reject,
25267 /* 66287 */ // Label 1937: @66287
25268 /* 66287 */ GIM_Reject,
25269 /* 66288 */ // Label 1935: @66288
25270 /* 66288 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1940*/ GIMT_Encode4(66334), GIMT_Encode2(GIFBS_HasMips64r2_HasStdEnc), // Rule ID 1695 //
25271 /* 66295 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25272 /* 66298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
25273 /* 66302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::GPR64RegClassID),
25274 /* 66306 */ // (bswap:{ *:[i64] } GPR64:{ *:[i64] }:$rt) => (DSHD:{ *:[i64] } (DSBH:{ *:[i64] } GPR64:{ *:[i64] }:$rt))
25275 /* 66306 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
25276 /* 66309 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(Mips::DSBH),
25277 /* 66313 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25278 /* 66318 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // rt
25279 /* 66322 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
25280 /* 66324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::DSHD),
25281 /* 66327 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[rd]
25282 /* 66329 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25283 /* 66332 */ GIR_RootConstrainSelectedInstOperands,
25284 /* 66333 */ // GIR_Coverage, 1695,
25285 /* 66333 */ GIR_EraseRootFromParent_Done,
25286 /* 66334 */ // Label 1940: @66334
25287 /* 66334 */ GIM_Reject,
25288 /* 66335 */ // Label 1936: @66335
25289 /* 66335 */ GIM_Reject,
25290 /* 66336 */ // Label 77: @66336
25291 /* 66336 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(8), /*)*//*default:*//*Label 1945*/ GIMT_Encode4(66599),
25292 /* 66347 */ /*GILLT_s32*//*Label 1941*/ GIMT_Encode4(66379),
25293 /* 66351 */ /*GILLT_s64*//*Label 1942*/ GIMT_Encode4(66433), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
25294 /* 66371 */ /*GILLT_v4s32*//*Label 1943*/ GIMT_Encode4(66547),
25295 /* 66375 */ /*GILLT_v2s64*//*Label 1944*/ GIMT_Encode4(66573),
25296 /* 66379 */ // Label 1941: @66379
25297 /* 66379 */ GIM_Try, /*On fail goto*//*Label 1946*/ GIMT_Encode4(66432),
25298 /* 66384 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25299 /* 66387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25300 /* 66391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25301 /* 66395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1947*/ GIMT_Encode4(66413), GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 133 //
25302 /* 66402 */ // (fsqrt:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FSQRT_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
25303 /* 66402 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_S),
25304 /* 66407 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25305 /* 66411 */ GIR_RootConstrainSelectedInstOperands,
25306 /* 66412 */ // GIR_Coverage, 133,
25307 /* 66412 */ GIR_Done,
25308 /* 66413 */ // Label 1947: @66413
25309 /* 66413 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1948*/ GIMT_Encode4(66431), GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat), // Rule ID 1184 //
25310 /* 66420 */ // (fsqrt:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FSQRT_S_MM:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
25311 /* 66420 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_S_MM),
25312 /* 66425 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25313 /* 66429 */ GIR_RootConstrainSelectedInstOperands,
25314 /* 66430 */ // GIR_Coverage, 1184,
25315 /* 66430 */ GIR_Done,
25316 /* 66431 */ // Label 1948: @66431
25317 /* 66431 */ GIM_Reject,
25318 /* 66432 */ // Label 1946: @66432
25319 /* 66432 */ GIM_Reject,
25320 /* 66433 */ // Label 1942: @66433
25321 /* 66433 */ GIM_Try, /*On fail goto*//*Label 1949*/ GIMT_Encode4(66546),
25322 /* 66438 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25323 /* 66441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1950*/ GIMT_Encode4(66467), GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 135 //
25324 /* 66448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25325 /* 66452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25326 /* 66456 */ // (fsqrt:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
25327 /* 66456 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D32),
25328 /* 66461 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25329 /* 66465 */ GIR_RootConstrainSelectedInstOperands,
25330 /* 66466 */ // GIR_Coverage, 135,
25331 /* 66466 */ GIR_Done,
25332 /* 66467 */ // Label 1950: @66467
25333 /* 66467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1951*/ GIMT_Encode4(66493), GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 137 //
25334 /* 66474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25335 /* 66478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25336 /* 66482 */ // (fsqrt:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
25337 /* 66482 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D64),
25338 /* 66487 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25339 /* 66491 */ GIR_RootConstrainSelectedInstOperands,
25340 /* 66492 */ // GIR_Coverage, 137,
25341 /* 66492 */ GIR_Done,
25342 /* 66493 */ // Label 1951: @66493
25343 /* 66493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1952*/ GIMT_Encode4(66519), GIMT_Encode2(GIFBS_InMicroMips_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit), // Rule ID 1170 //
25344 /* 66500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25345 /* 66504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25346 /* 66508 */ // (fsqrt:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D32_MM:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
25347 /* 66508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D32_MM),
25348 /* 66513 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25349 /* 66517 */ GIR_RootConstrainSelectedInstOperands,
25350 /* 66518 */ // GIR_Coverage, 1170,
25351 /* 66518 */ GIR_Done,
25352 /* 66519 */ // Label 1952: @66519
25353 /* 66519 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1953*/ GIMT_Encode4(66545), GIMT_Encode2(GIFBS_InMicroMips_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat), // Rule ID 1171 //
25354 /* 66526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25355 /* 66530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25356 /* 66534 */ // (fsqrt:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D64_MM:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
25357 /* 66534 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D64_MM),
25358 /* 66539 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25359 /* 66543 */ GIR_RootConstrainSelectedInstOperands,
25360 /* 66544 */ // GIR_Coverage, 1171,
25361 /* 66544 */ GIR_Done,
25362 /* 66545 */ // Label 1953: @66545
25363 /* 66545 */ GIM_Reject,
25364 /* 66546 */ // Label 1949: @66546
25365 /* 66546 */ GIM_Reject,
25366 /* 66547 */ // Label 1943: @66547
25367 /* 66547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1954*/ GIMT_Encode4(66572), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 784 //
25368 /* 66554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25369 /* 66557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25370 /* 66561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25371 /* 66565 */ // (fsqrt:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FSQRT_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
25372 /* 66565 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_W),
25373 /* 66570 */ GIR_RootConstrainSelectedInstOperands,
25374 /* 66571 */ // GIR_Coverage, 784,
25375 /* 66571 */ GIR_Done,
25376 /* 66572 */ // Label 1954: @66572
25377 /* 66572 */ GIM_Reject,
25378 /* 66573 */ // Label 1944: @66573
25379 /* 66573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1955*/ GIMT_Encode4(66598), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 785 //
25380 /* 66580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25381 /* 66583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25382 /* 66587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25383 /* 66591 */ // (fsqrt:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FSQRT_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
25384 /* 66591 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D),
25385 /* 66596 */ GIR_RootConstrainSelectedInstOperands,
25386 /* 66597 */ // GIR_Coverage, 785,
25387 /* 66597 */ GIR_Done,
25388 /* 66598 */ // Label 1955: @66598
25389 /* 66598 */ GIM_Reject,
25390 /* 66599 */ // Label 1945: @66599
25391 /* 66599 */ GIM_Reject,
25392 /* 66600 */ // Label 78: @66600
25393 /* 66600 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(6), GIMT_Encode2(8), /*)*//*default:*//*Label 1958*/ GIMT_Encode4(66671),
25394 /* 66611 */ /*GILLT_v4s32*//*Label 1956*/ GIMT_Encode4(66619),
25395 /* 66615 */ /*GILLT_v2s64*//*Label 1957*/ GIMT_Encode4(66645),
25396 /* 66619 */ // Label 1956: @66619
25397 /* 66619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1959*/ GIMT_Encode4(66644), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 766 //
25398 /* 66626 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
25399 /* 66629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25400 /* 66633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128WRegClassID),
25401 /* 66637 */ // (frint:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws) => (FRINT_W:{ *:[v4f32] } MSA128WOpnd:{ *:[v4f32] }:$ws)
25402 /* 66637 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FRINT_W),
25403 /* 66642 */ GIR_RootConstrainSelectedInstOperands,
25404 /* 66643 */ // GIR_Coverage, 766,
25405 /* 66643 */ GIR_Done,
25406 /* 66644 */ // Label 1959: @66644
25407 /* 66644 */ GIM_Reject,
25408 /* 66645 */ // Label 1957: @66645
25409 /* 66645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1960*/ GIMT_Encode4(66670), GIMT_Encode2(GIFBS_HasMSA_HasStdEnc), // Rule ID 767 //
25410 /* 66652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
25411 /* 66655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25412 /* 66659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::MSA128DRegClassID),
25413 /* 66663 */ // (frint:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws) => (FRINT_D:{ *:[v2f64] } MSA128DOpnd:{ *:[v2f64] }:$ws)
25414 /* 66663 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FRINT_D),
25415 /* 66668 */ GIR_RootConstrainSelectedInstOperands,
25416 /* 66669 */ // GIR_Coverage, 767,
25417 /* 66669 */ GIR_Done,
25418 /* 66670 */ // Label 1960: @66670
25419 /* 66670 */ GIM_Reject,
25420 /* 66671 */ // Label 1958: @66671
25421 /* 66671 */ GIM_Reject,
25422 /* 66672 */ // Label 79: @66672
25423 /* 66672 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1963*/ GIMT_Encode4(67511),
25424 /* 66683 */ /*GILLT_s32*//*Label 1961*/ GIMT_Encode4(66691),
25425 /* 66687 */ /*GILLT_s64*//*Label 1962*/ GIMT_Encode4(66958),
25426 /* 66691 */ // Label 1961: @66691
25427 /* 66691 */ GIM_Try, /*On fail goto*//*Label 1964*/ GIMT_Encode4(66957),
25428 /* 66696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25429 /* 66699 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
25430 /* 66702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25431 /* 66706 */ GIM_Try, /*On fail goto*//*Label 1965*/ GIMT_Encode4(66820),
25432 /* 66711 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25433 /* 66715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1966*/ GIMT_Encode4(66767), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 179 //
25434 /* 66722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25435 /* 66726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25436 /* 66730 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25437 /* 66734 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25438 /* 66738 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25439 /* 66743 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25440 /* 66748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25441 /* 66750 */ // (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)
25442 /* 66750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
25443 /* 66753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25444 /* 66755 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25445 /* 66757 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25446 /* 66761 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25447 /* 66765 */ GIR_RootConstrainSelectedInstOperands,
25448 /* 66766 */ // GIR_Coverage, 179,
25449 /* 66766 */ GIR_EraseRootFromParent_Done,
25450 /* 66767 */ // Label 1966: @66767
25451 /* 66767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1967*/ GIMT_Encode4(66819), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 178 //
25452 /* 66774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25453 /* 66778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25454 /* 66782 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25455 /* 66786 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25456 /* 66790 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25457 /* 66795 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25458 /* 66800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25459 /* 66802 */ // (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)
25460 /* 66802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
25461 /* 66805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25462 /* 66807 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25463 /* 66809 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25464 /* 66813 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25465 /* 66817 */ GIR_RootConstrainSelectedInstOperands,
25466 /* 66818 */ // GIR_Coverage, 178,
25467 /* 66818 */ GIR_EraseRootFromParent_Done,
25468 /* 66819 */ // Label 1967: @66819
25469 /* 66819 */ GIM_Reject,
25470 /* 66820 */ // Label 1965: @66820
25471 /* 66820 */ GIM_Try, /*On fail goto*//*Label 1968*/ GIMT_Encode4(66956),
25472 /* 66825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25473 /* 66829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1969*/ GIMT_Encode4(66881), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2495 //
25474 /* 66836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25475 /* 66840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25476 /* 66844 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25477 /* 66848 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25478 /* 66852 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25479 /* 66857 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25480 /* 66862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25481 /* 66864 */ // (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)
25482 /* 66864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
25483 /* 66867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25484 /* 66869 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
25485 /* 66871 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25486 /* 66875 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25487 /* 66879 */ GIR_RootConstrainSelectedInstOperands,
25488 /* 66880 */ // GIR_Coverage, 2495,
25489 /* 66880 */ GIR_EraseRootFromParent_Done,
25490 /* 66881 */ // Label 1969: @66881
25491 /* 66881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1970*/ GIMT_Encode4(66933), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2494 //
25492 /* 66888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25493 /* 66892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25494 /* 66896 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25495 /* 66900 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25496 /* 66904 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25497 /* 66909 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25498 /* 66914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25499 /* 66916 */ // (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)
25500 /* 66916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_S),
25501 /* 66919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25502 /* 66921 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
25503 /* 66923 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25504 /* 66927 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25505 /* 66931 */ GIR_RootConstrainSelectedInstOperands,
25506 /* 66932 */ // GIR_Coverage, 2494,
25507 /* 66932 */ GIR_EraseRootFromParent_Done,
25508 /* 66933 */ // Label 1970: @66933
25509 /* 66933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1971*/ GIMT_Encode4(66955), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 154 //
25510 /* 66940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25511 /* 66944 */ // (strict_fadd:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FADD_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25512 /* 66944 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_S),
25513 /* 66949 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25514 /* 66953 */ GIR_RootConstrainSelectedInstOperands,
25515 /* 66954 */ // GIR_Coverage, 154,
25516 /* 66954 */ GIR_Done,
25517 /* 66955 */ // Label 1971: @66955
25518 /* 66955 */ GIM_Reject,
25519 /* 66956 */ // Label 1968: @66956
25520 /* 66956 */ GIM_Reject,
25521 /* 66957 */ // Label 1964: @66957
25522 /* 66957 */ GIM_Reject,
25523 /* 66958 */ // Label 1962: @66958
25524 /* 66958 */ GIM_Try, /*On fail goto*//*Label 1972*/ GIMT_Encode4(67510),
25525 /* 66963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25526 /* 66966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
25527 /* 66969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1973*/ GIMT_Encode4(67029), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 187 //
25528 /* 66976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25529 /* 66980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25530 /* 66984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25531 /* 66988 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25532 /* 66992 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25533 /* 66996 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25534 /* 67001 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25535 /* 67006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25536 /* 67010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25537 /* 67012 */ // (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)
25538 /* 67012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
25539 /* 67015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25540 /* 67017 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25541 /* 67019 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25542 /* 67023 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25543 /* 67027 */ GIR_RootConstrainSelectedInstOperands,
25544 /* 67028 */ // GIR_Coverage, 187,
25545 /* 67028 */ GIR_EraseRootFromParent_Done,
25546 /* 67029 */ // Label 1973: @67029
25547 /* 67029 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1974*/ GIMT_Encode4(67089), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 195 //
25548 /* 67036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25549 /* 67040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25550 /* 67044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25551 /* 67048 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25552 /* 67052 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25553 /* 67056 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25554 /* 67061 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25555 /* 67066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25556 /* 67070 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25557 /* 67072 */ // (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)
25558 /* 67072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
25559 /* 67075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25560 /* 67077 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25561 /* 67079 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25562 /* 67083 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25563 /* 67087 */ GIR_RootConstrainSelectedInstOperands,
25564 /* 67088 */ // GIR_Coverage, 195,
25565 /* 67088 */ GIR_EraseRootFromParent_Done,
25566 /* 67089 */ // Label 1974: @67089
25567 /* 67089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1975*/ GIMT_Encode4(67149), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 186 //
25568 /* 67096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25569 /* 67100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25570 /* 67104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25571 /* 67108 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25572 /* 67112 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25573 /* 67116 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25574 /* 67121 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25575 /* 67126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25576 /* 67130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25577 /* 67132 */ // (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)
25578 /* 67132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
25579 /* 67135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25580 /* 67137 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25581 /* 67139 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25582 /* 67143 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25583 /* 67147 */ GIR_RootConstrainSelectedInstOperands,
25584 /* 67148 */ // GIR_Coverage, 186,
25585 /* 67148 */ GIR_EraseRootFromParent_Done,
25586 /* 67149 */ // Label 1975: @67149
25587 /* 67149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1976*/ GIMT_Encode4(67209), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 194 //
25588 /* 67156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25589 /* 67160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25590 /* 67164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25591 /* 67168 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25592 /* 67172 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25593 /* 67176 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25594 /* 67181 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25595 /* 67186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25596 /* 67190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25597 /* 67192 */ // (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)
25598 /* 67192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
25599 /* 67195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25600 /* 67197 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25601 /* 67199 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25602 /* 67203 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25603 /* 67207 */ GIR_RootConstrainSelectedInstOperands,
25604 /* 67208 */ // GIR_Coverage, 194,
25605 /* 67208 */ GIR_EraseRootFromParent_Done,
25606 /* 67209 */ // Label 1976: @67209
25607 /* 67209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1977*/ GIMT_Encode4(67269), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2499 //
25608 /* 67216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25609 /* 67220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25610 /* 67224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25611 /* 67228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25612 /* 67232 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25613 /* 67236 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25614 /* 67240 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25615 /* 67245 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25616 /* 67250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25617 /* 67252 */ // (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)
25618 /* 67252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
25619 /* 67255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25620 /* 67257 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
25621 /* 67259 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25622 /* 67263 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25623 /* 67267 */ GIR_RootConstrainSelectedInstOperands,
25624 /* 67268 */ // GIR_Coverage, 2499,
25625 /* 67268 */ GIR_EraseRootFromParent_Done,
25626 /* 67269 */ // Label 1977: @67269
25627 /* 67269 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1978*/ GIMT_Encode4(67329), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2503 //
25628 /* 67276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25629 /* 67280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25630 /* 67284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25631 /* 67288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25632 /* 67292 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25633 /* 67296 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25634 /* 67300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25635 /* 67305 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25636 /* 67310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25637 /* 67312 */ // (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)
25638 /* 67312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
25639 /* 67315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25640 /* 67317 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
25641 /* 67319 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25642 /* 67323 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25643 /* 67327 */ GIR_RootConstrainSelectedInstOperands,
25644 /* 67328 */ // GIR_Coverage, 2503,
25645 /* 67328 */ GIR_EraseRootFromParent_Done,
25646 /* 67329 */ // Label 1978: @67329
25647 /* 67329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1979*/ GIMT_Encode4(67389), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2498 //
25648 /* 67336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25649 /* 67340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25650 /* 67344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25651 /* 67348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25652 /* 67352 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25653 /* 67356 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25654 /* 67360 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25655 /* 67365 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25656 /* 67370 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25657 /* 67372 */ // (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)
25658 /* 67372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D32),
25659 /* 67375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25660 /* 67377 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
25661 /* 67379 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25662 /* 67383 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25663 /* 67387 */ GIR_RootConstrainSelectedInstOperands,
25664 /* 67388 */ // GIR_Coverage, 2498,
25665 /* 67388 */ GIR_EraseRootFromParent_Done,
25666 /* 67389 */ // Label 1979: @67389
25667 /* 67389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1980*/ GIMT_Encode4(67449), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 2502 //
25668 /* 67396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25669 /* 67400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25670 /* 67404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
25671 /* 67408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25672 /* 67412 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25673 /* 67416 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25674 /* 67420 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25675 /* 67425 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25676 /* 67430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25677 /* 67432 */ // (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)
25678 /* 67432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MADD_D64),
25679 /* 67435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25680 /* 67437 */ GIR_RootToRootCopy, /*OpIdx*/1, // fr
25681 /* 67439 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25682 /* 67443 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25683 /* 67447 */ GIR_RootConstrainSelectedInstOperands,
25684 /* 67448 */ // GIR_Coverage, 2502,
25685 /* 67448 */ GIR_EraseRootFromParent_Done,
25686 /* 67449 */ // Label 1980: @67449
25687 /* 67449 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1981*/ GIMT_Encode4(67479), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 156 //
25688 /* 67456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25689 /* 67460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25690 /* 67464 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25691 /* 67468 */ // (strict_fadd:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FADD_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25692 /* 67468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D32),
25693 /* 67473 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25694 /* 67477 */ GIR_RootConstrainSelectedInstOperands,
25695 /* 67478 */ // GIR_Coverage, 156,
25696 /* 67478 */ GIR_Done,
25697 /* 67479 */ // Label 1981: @67479
25698 /* 67479 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1982*/ GIMT_Encode4(67509), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 158 //
25699 /* 67486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25700 /* 67490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25701 /* 67494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25702 /* 67498 */ // (strict_fadd:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FADD_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25703 /* 67498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FADD_D64),
25704 /* 67503 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25705 /* 67507 */ GIR_RootConstrainSelectedInstOperands,
25706 /* 67508 */ // GIR_Coverage, 158,
25707 /* 67508 */ GIR_Done,
25708 /* 67509 */ // Label 1982: @67509
25709 /* 67509 */ GIM_Reject,
25710 /* 67510 */ // Label 1972: @67510
25711 /* 67510 */ GIM_Reject,
25712 /* 67511 */ // Label 1963: @67511
25713 /* 67511 */ GIM_Reject,
25714 /* 67512 */ // Label 80: @67512
25715 /* 67512 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 1985*/ GIMT_Encode4(68001),
25716 /* 67523 */ /*GILLT_s32*//*Label 1983*/ GIMT_Encode4(67531),
25717 /* 67527 */ /*GILLT_s64*//*Label 1984*/ GIMT_Encode4(67688),
25718 /* 67531 */ // Label 1983: @67531
25719 /* 67531 */ GIM_Try, /*On fail goto*//*Label 1986*/ GIMT_Encode4(67687),
25720 /* 67536 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25721 /* 67539 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
25722 /* 67542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25723 /* 67546 */ GIM_Try, /*On fail goto*//*Label 1987*/ GIMT_Encode4(67660),
25724 /* 67551 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25725 /* 67555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1988*/ GIMT_Encode4(67607), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 183 //
25726 /* 67562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25727 /* 67566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25728 /* 67570 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25729 /* 67574 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25730 /* 67578 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25731 /* 67583 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25732 /* 67588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25733 /* 67590 */ // (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)
25734 /* 67590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_S),
25735 /* 67593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25736 /* 67595 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25737 /* 67597 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25738 /* 67601 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25739 /* 67605 */ GIR_RootConstrainSelectedInstOperands,
25740 /* 67606 */ // GIR_Coverage, 183,
25741 /* 67606 */ GIR_EraseRootFromParent_Done,
25742 /* 67607 */ // Label 1988: @67607
25743 /* 67607 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1989*/ GIMT_Encode4(67659), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 182 //
25744 /* 67614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25745 /* 67618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25746 /* 67622 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25747 /* 67626 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25748 /* 67630 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25749 /* 67635 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25750 /* 67640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25751 /* 67642 */ // (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)
25752 /* 67642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_S),
25753 /* 67645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25754 /* 67647 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25755 /* 67649 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25756 /* 67653 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25757 /* 67657 */ GIR_RootConstrainSelectedInstOperands,
25758 /* 67658 */ // GIR_Coverage, 182,
25759 /* 67658 */ GIR_EraseRootFromParent_Done,
25760 /* 67659 */ // Label 1989: @67659
25761 /* 67659 */ GIM_Reject,
25762 /* 67660 */ // Label 1987: @67660
25763 /* 67660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1990*/ GIMT_Encode4(67686), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 172 //
25764 /* 67667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25765 /* 67671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25766 /* 67675 */ // (strict_fsub:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FSUB_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25767 /* 67675 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_S),
25768 /* 67680 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25769 /* 67684 */ GIR_RootConstrainSelectedInstOperands,
25770 /* 67685 */ // GIR_Coverage, 172,
25771 /* 67685 */ GIR_Done,
25772 /* 67686 */ // Label 1990: @67686
25773 /* 67686 */ GIM_Reject,
25774 /* 67687 */ // Label 1986: @67687
25775 /* 67687 */ GIM_Reject,
25776 /* 67688 */ // Label 1984: @67688
25777 /* 67688 */ GIM_Try, /*On fail goto*//*Label 1991*/ GIMT_Encode4(68000),
25778 /* 67693 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25779 /* 67696 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
25780 /* 67699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1992*/ GIMT_Encode4(67759), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 191 //
25781 /* 67706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25782 /* 67710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25783 /* 67714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25784 /* 67718 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25785 /* 67722 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25786 /* 67726 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25787 /* 67731 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25788 /* 67736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25789 /* 67740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25790 /* 67742 */ // (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)
25791 /* 67742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D32),
25792 /* 67745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25793 /* 67747 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25794 /* 67749 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25795 /* 67753 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25796 /* 67757 */ GIR_RootConstrainSelectedInstOperands,
25797 /* 67758 */ // GIR_Coverage, 191,
25798 /* 67758 */ GIR_EraseRootFromParent_Done,
25799 /* 67759 */ // Label 1992: @67759
25800 /* 67759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1993*/ GIMT_Encode4(67819), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 199 //
25801 /* 67766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25802 /* 67770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25803 /* 67774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FMUL),
25804 /* 67778 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25805 /* 67782 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25806 /* 67786 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25807 /* 67791 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25808 /* 67796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25809 /* 67800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25810 /* 67802 */ // (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)
25811 /* 67802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D64),
25812 /* 67805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25813 /* 67807 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25814 /* 67809 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25815 /* 67813 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25816 /* 67817 */ GIR_RootConstrainSelectedInstOperands,
25817 /* 67818 */ // GIR_Coverage, 199,
25818 /* 67818 */ GIR_EraseRootFromParent_Done,
25819 /* 67819 */ // Label 1993: @67819
25820 /* 67819 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1994*/ GIMT_Encode4(67879), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 190 //
25821 /* 67826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25822 /* 67830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25823 /* 67834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25824 /* 67838 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25825 /* 67842 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25826 /* 67846 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25827 /* 67851 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25828 /* 67856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25829 /* 67860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25830 /* 67862 */ // (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)
25831 /* 67862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D32),
25832 /* 67865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25833 /* 67867 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25834 /* 67869 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25835 /* 67873 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25836 /* 67877 */ GIR_RootConstrainSelectedInstOperands,
25837 /* 67878 */ // GIR_Coverage, 190,
25838 /* 67878 */ GIR_EraseRootFromParent_Done,
25839 /* 67879 */ // Label 1994: @67879
25840 /* 67879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1995*/ GIMT_Encode4(67939), GIMT_Encode2(GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6), // Rule ID 198 //
25841 /* 67886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25842 /* 67890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
25843 /* 67894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_STRICT_FMUL),
25844 /* 67898 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
25845 /* 67902 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
25846 /* 67906 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25847 /* 67911 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25848 /* 67916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25849 /* 67920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25850 /* 67922 */ // (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)
25851 /* 67922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(Mips::MSUB_D64),
25852 /* 67925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[fd]
25853 /* 67927 */ GIR_RootToRootCopy, /*OpIdx*/2, // fr
25854 /* 67929 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // fs
25855 /* 67933 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // ft
25856 /* 67937 */ GIR_RootConstrainSelectedInstOperands,
25857 /* 67938 */ // GIR_Coverage, 198,
25858 /* 67938 */ GIR_EraseRootFromParent_Done,
25859 /* 67939 */ // Label 1995: @67939
25860 /* 67939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1996*/ GIMT_Encode4(67969), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 174 //
25861 /* 67946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25862 /* 67950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25863 /* 67954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25864 /* 67958 */ // (strict_fsub:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25865 /* 67958 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D32),
25866 /* 67963 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25867 /* 67967 */ GIR_RootConstrainSelectedInstOperands,
25868 /* 67968 */ // GIR_Coverage, 174,
25869 /* 67968 */ GIR_Done,
25870 /* 67969 */ // Label 1996: @67969
25871 /* 67969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1997*/ GIMT_Encode4(67999), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 176 //
25872 /* 67976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25873 /* 67980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25874 /* 67984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25875 /* 67988 */ // (strict_fsub:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FSUB_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25876 /* 67988 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSUB_D64),
25877 /* 67993 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25878 /* 67997 */ GIR_RootConstrainSelectedInstOperands,
25879 /* 67998 */ // GIR_Coverage, 176,
25880 /* 67998 */ GIR_Done,
25881 /* 67999 */ // Label 1997: @67999
25882 /* 67999 */ GIM_Reject,
25883 /* 68000 */ // Label 1991: @68000
25884 /* 68000 */ GIM_Reject,
25885 /* 68001 */ // Label 1985: @68001
25886 /* 68001 */ GIM_Reject,
25887 /* 68002 */ // Label 81: @68002
25888 /* 68002 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 2000*/ GIMT_Encode4(68131),
25889 /* 68013 */ /*GILLT_s32*//*Label 1998*/ GIMT_Encode4(68021),
25890 /* 68017 */ /*GILLT_s64*//*Label 1999*/ GIMT_Encode4(68058),
25891 /* 68021 */ // Label 1998: @68021
25892 /* 68021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2001*/ GIMT_Encode4(68057), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 166 //
25893 /* 68028 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25894 /* 68031 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
25895 /* 68034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25896 /* 68038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25897 /* 68042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25898 /* 68046 */ // (strict_fmul:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FMUL_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25899 /* 68046 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_S),
25900 /* 68051 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25901 /* 68055 */ GIR_RootConstrainSelectedInstOperands,
25902 /* 68056 */ // GIR_Coverage, 166,
25903 /* 68056 */ GIR_Done,
25904 /* 68057 */ // Label 2001: @68057
25905 /* 68057 */ GIM_Reject,
25906 /* 68058 */ // Label 1999: @68058
25907 /* 68058 */ GIM_Try, /*On fail goto*//*Label 2002*/ GIMT_Encode4(68130),
25908 /* 68063 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25909 /* 68066 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
25910 /* 68069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2003*/ GIMT_Encode4(68099), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 168 //
25911 /* 68076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25912 /* 68080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25913 /* 68084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25914 /* 68088 */ // (strict_fmul:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25915 /* 68088 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D32),
25916 /* 68093 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25917 /* 68097 */ GIR_RootConstrainSelectedInstOperands,
25918 /* 68098 */ // GIR_Coverage, 168,
25919 /* 68098 */ GIR_Done,
25920 /* 68099 */ // Label 2003: @68099
25921 /* 68099 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2004*/ GIMT_Encode4(68129), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 170 //
25922 /* 68106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25923 /* 68110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25924 /* 68114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25925 /* 68118 */ // (strict_fmul:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FMUL_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25926 /* 68118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FMUL_D64),
25927 /* 68123 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25928 /* 68127 */ GIR_RootConstrainSelectedInstOperands,
25929 /* 68128 */ // GIR_Coverage, 170,
25930 /* 68128 */ GIR_Done,
25931 /* 68129 */ // Label 2004: @68129
25932 /* 68129 */ GIM_Reject,
25933 /* 68130 */ // Label 2002: @68130
25934 /* 68130 */ GIM_Reject,
25935 /* 68131 */ // Label 2000: @68131
25936 /* 68131 */ GIM_Reject,
25937 /* 68132 */ // Label 82: @68132
25938 /* 68132 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 2007*/ GIMT_Encode4(68261),
25939 /* 68143 */ /*GILLT_s32*//*Label 2005*/ GIMT_Encode4(68151),
25940 /* 68147 */ /*GILLT_s64*//*Label 2006*/ GIMT_Encode4(68188),
25941 /* 68151 */ // Label 2005: @68151
25942 /* 68151 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2008*/ GIMT_Encode4(68187), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 160 //
25943 /* 68158 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25944 /* 68161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
25945 /* 68164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25946 /* 68168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25947 /* 68172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25948 /* 68176 */ // (strict_fdiv:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft) => (FDIV_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs, FGR32Opnd:{ *:[f32] }:$ft)
25949 /* 68176 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_S),
25950 /* 68181 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25951 /* 68185 */ GIR_RootConstrainSelectedInstOperands,
25952 /* 68186 */ // GIR_Coverage, 160,
25953 /* 68186 */ GIR_Done,
25954 /* 68187 */ // Label 2008: @68187
25955 /* 68187 */ GIM_Reject,
25956 /* 68188 */ // Label 2006: @68188
25957 /* 68188 */ GIM_Try, /*On fail goto*//*Label 2009*/ GIMT_Encode4(68260),
25958 /* 68193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
25959 /* 68196 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
25960 /* 68199 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2010*/ GIMT_Encode4(68229), GIMT_Encode2(GIFBS_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 162 //
25961 /* 68206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25962 /* 68210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25963 /* 68214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
25964 /* 68218 */ // (strict_fdiv:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs, AFGR64Opnd:{ *:[f64] }:$ft)
25965 /* 68218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D32),
25966 /* 68223 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25967 /* 68227 */ GIR_RootConstrainSelectedInstOperands,
25968 /* 68228 */ // GIR_Coverage, 162,
25969 /* 68228 */ GIR_Done,
25970 /* 68229 */ // Label 2010: @68229
25971 /* 68229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2011*/ GIMT_Encode4(68259), GIMT_Encode2(GIFBS_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 164 //
25972 /* 68236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25973 /* 68240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25974 /* 68244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
25975 /* 68248 */ // (strict_fdiv:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft) => (FDIV_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs, FGR64Opnd:{ *:[f64] }:$ft)
25976 /* 68248 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FDIV_D64),
25977 /* 68253 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25978 /* 68257 */ GIR_RootConstrainSelectedInstOperands,
25979 /* 68258 */ // GIR_Coverage, 164,
25980 /* 68258 */ GIR_Done,
25981 /* 68259 */ // Label 2011: @68259
25982 /* 68259 */ GIM_Reject,
25983 /* 68260 */ // Label 2009: @68260
25984 /* 68260 */ GIM_Reject,
25985 /* 68261 */ // Label 2007: @68261
25986 /* 68261 */ GIM_Reject,
25987 /* 68262 */ // Label 83: @68262
25988 /* 68262 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(2), /*)*//*default:*//*Label 2014*/ GIMT_Encode4(68373),
25989 /* 68273 */ /*GILLT_s32*//*Label 2012*/ GIMT_Encode4(68281),
25990 /* 68277 */ /*GILLT_s64*//*Label 2013*/ GIMT_Encode4(68311),
25991 /* 68281 */ // Label 2012: @68281
25992 /* 68281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2015*/ GIMT_Encode4(68310), GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotInMicroMips), // Rule ID 132 //
25993 /* 68288 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
25994 /* 68291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25995 /* 68295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR32RegClassID),
25996 /* 68299 */ // (strict_fsqrt:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs) => (FSQRT_S:{ *:[f32] } FGR32Opnd:{ *:[f32] }:$fs)
25997 /* 68299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_S),
25998 /* 68304 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
25999 /* 68308 */ GIR_RootConstrainSelectedInstOperands,
26000 /* 68309 */ // GIR_Coverage, 132,
26001 /* 68309 */ GIR_Done,
26002 /* 68310 */ // Label 2015: @68310
26003 /* 68310 */ GIM_Reject,
26004 /* 68311 */ // Label 2013: @68311
26005 /* 68311 */ GIM_Try, /*On fail goto*//*Label 2016*/ GIMT_Encode4(68372),
26006 /* 68316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
26007 /* 68319 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2017*/ GIMT_Encode4(68345), GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsNotSingleFloat_IsNotSoftFloat_NotFP64bit_NotInMicroMips), // Rule ID 134 //
26008 /* 68326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26009 /* 68330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::AFGR64RegClassID),
26010 /* 68334 */ // (strict_fsqrt:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D32:{ *:[f64] } AFGR64Opnd:{ *:[f64] }:$fs)
26011 /* 68334 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D32),
26012 /* 68339 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
26013 /* 68343 */ GIR_RootConstrainSelectedInstOperands,
26014 /* 68344 */ // GIR_Coverage, 134,
26015 /* 68344 */ GIR_Done,
26016 /* 68345 */ // Label 2017: @68345
26017 /* 68345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2018*/ GIMT_Encode4(68371), GIMT_Encode2(GIFBS_HasMips2_HasStdEnc_IsFP64bit_IsNotSingleFloat_IsNotSoftFloat_NotInMicroMips), // Rule ID 136 //
26018 /* 68352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26019 /* 68356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(Mips::FGR64RegClassID),
26020 /* 68360 */ // (strict_fsqrt:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs) => (FSQRT_D64:{ *:[f64] } FGR64Opnd:{ *:[f64] }:$fs)
26021 /* 68360 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::FSQRT_D64),
26022 /* 68365 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(Mips::FCR31),
26023 /* 68369 */ GIR_RootConstrainSelectedInstOperands,
26024 /* 68370 */ // GIR_Coverage, 136,
26025 /* 68370 */ GIR_Done,
26026 /* 68371 */ // Label 2018: @68371
26027 /* 68371 */ GIM_Reject,
26028 /* 68372 */ // Label 2016: @68372
26029 /* 68372 */ GIM_Reject,
26030 /* 68373 */ // Label 2014: @68373
26031 /* 68373 */ GIM_Reject,
26032 /* 68374 */ // Label 84: @68374
26033 /* 68374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2019*/ GIMT_Encode4(68388), GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips), // Rule ID 90 //
26034 /* 68381 */ // (trap) => (TRAP)
26035 /* 68381 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::TRAP),
26036 /* 68386 */ GIR_RootConstrainSelectedInstOperands,
26037 /* 68387 */ // GIR_Coverage, 90,
26038 /* 68387 */ GIR_Done,
26039 /* 68388 */ // Label 2019: @68388
26040 /* 68388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2020*/ GIMT_Encode4(68402), GIMT_Encode2(GIFBS_InMicroMips), // Rule ID 1137 //
26041 /* 68395 */ // (trap) => (TRAP_MM)
26042 /* 68395 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::TRAP_MM),
26043 /* 68400 */ GIR_RootConstrainSelectedInstOperands,
26044 /* 68401 */ // GIR_Coverage, 1137,
26045 /* 68401 */ GIR_Done,
26046 /* 68402 */ // Label 2020: @68402
26047 /* 68402 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2021*/ GIMT_Encode4(68416), GIMT_Encode2(GIFBS_InMips16Mode), // Rule ID 2040 //
26048 /* 68409 */ // (trap) => (Break16)
26049 /* 68409 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(Mips::Break16),
26050 /* 68414 */ GIR_RootConstrainSelectedInstOperands,
26051 /* 68415 */ // GIR_Coverage, 2040,
26052 /* 68415 */ GIR_Done,
26053 /* 68416 */ // Label 2021: @68416
26054 /* 68416 */ GIM_Reject,
26055 /* 68417 */ // Label 85: @68417
26056 /* 68417 */ GIM_Reject,
26057 /* 68418 */ }; // Size: 68418 bytes
26058 return MatchTable0;
26059}
26060#undef GIMT_Encode2
26061#undef GIMT_Encode4
26062#undef GIMT_Encode8
26063
26064
26065#endif // GET_GLOBALISEL_IMPL
26066
26067#ifdef GET_GLOBALISEL_PREDICATES_DECL
26068
26069PredicateBitset AvailableModuleFeatures;
26070mutable PredicateBitset AvailableFunctionFeatures;
26071PredicateBitset getAvailableFeatures() const {
26072 return AvailableModuleFeatures | AvailableFunctionFeatures;
26073}
26074PredicateBitset
26075computeAvailableModuleFeatures(const MipsSubtarget *Subtarget) const;
26076PredicateBitset
26077computeAvailableFunctionFeatures(const MipsSubtarget *Subtarget,
26078 const MachineFunction *MF) const;
26079void setupGeneratedPerFunctionState(MachineFunction &MF) override;
26080
26081#endif // GET_GLOBALISEL_PREDICATES_DECL
26082
26083#ifdef GET_GLOBALISEL_PREDICATES_INIT
26084
26085AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
26086AvailableFunctionFeatures()
26087
26088#endif // GET_GLOBALISEL_PREDICATES_INIT
26089
26090