1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* DAG Instruction Selector for the Mips target *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9// *** NOTE: This file is #included into the middle of the target
10// *** instruction selector class. These functions are really methods.
11
12// If GET_DAGISEL_DECL is #defined with any value, only function
13// declarations will be included when this file is included.
14// If GET_DAGISEL_BODY is #defined, its value should be the name of
15// the instruction selector class. Function bodies will be emitted
16// and each function's name will be qualified with the name of the
17// class.
18//
19// When neither of the GET_DAGISEL* macros is defined, the functions
20// are emitted inline.
21
22#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
23#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
24#endif
25
26#ifdef GET_DAGISEL_BODY
27#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
28#define LOCAL_DAGISEL_STRINGIZE_(X) #X
29static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
30 "GET_DAGISEL_BODY is empty: it should be defined with the class name");
31#undef LOCAL_DAGISEL_STRINGIZE_
32#undef LOCAL_DAGISEL_STRINGIZE
33#endif
34
35#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
36#define DAGISEL_INLINE 1
37#else
38#define DAGISEL_INLINE 0
39#endif
40
41#if !DAGISEL_INLINE
42#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
43#else
44#define DAGISEL_CLASS_COLONCOLON
45#endif
46
47#ifdef GET_DAGISEL_DECL
48void SelectCode(SDNode *N);
49#endif
50#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52{
53 // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 // this. Coverage indexes are emitted as 4 bytes,
55 // COVERAGE_IDX_VAL handles this.
56 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
57 #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255
58 static const uint8_t MatcherTable[] = {
59 OPC_SwitchOpcode , 43|128,6, TARGET_VAL(ISD::STORE),
60 OPC_RecordMemRef,
61 OPC_RecordNode,
62 OPC_Scope, 51|128,1,
63 OPC_RecordChild1,
64 OPC_Scope, 106,
65 OPC_CheckChild1Type, MVT::f64,
66 OPC_Scope, 67,
67 OPC_RecordChild2,
68 OPC_CheckPredicate, 13,
69 OPC_CheckPredicate, 10,
70 OPC_Scope, 11,
71 OPC_CheckPatternPredicate, 79,
72 OPC_CheckComplexPat3, /*#*/2,
73 OPC_EmitMergeInputChains1_0,
74 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
75 3, 108,
76 11,
77 OPC_CheckPatternPredicate, 52,
78 OPC_CheckComplexPat3, /*#*/2,
79 OPC_EmitMergeInputChains1_0,
80 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
81 3, 108,
82 11,
83 OPC_CheckPatternPredicate, 53,
84 OPC_CheckComplexPat3, /*#*/2,
85 OPC_EmitMergeInputChains1_0,
86 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
87 3, 108,
88 11,
89 OPC_CheckPatternPredicate, 63,
90 OPC_CheckComplexPat3, /*#*/2,
91 OPC_EmitMergeInputChains1_0,
92 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
93 3, 108,
94 11,
95 OPC_CheckPatternPredicate, 59,
96 OPC_CheckComplexPat3, /*#*/2,
97 OPC_EmitMergeInputChains1_0,
98 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
99 3, 108,
100 0,
101 33,
102 OPC_MoveChild2,
103 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
104 OPC_RecordChild0,
105 OPC_RecordChild1,
106 OPC_MoveParent,
107 OPC_CheckPredicate, 13,
108 OPC_CheckPredicate, 10,
109 OPC_Scope, 9,
110 OPC_CheckPatternPredicate, 80,
111 OPC_EmitMergeInputChains1_0,
112 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC1), 0|OPFL_Chain|OPFL_MemRefs,
113 3, 58,
114 9,
115 OPC_CheckPatternPredicate, 81,
116 OPC_EmitMergeInputChains1_0,
117 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC164), 0|OPFL_Chain|OPFL_MemRefs,
118 3, 58,
119 0,
120 0,
121 68,
122 OPC_CheckChild1Type, MVT::f32,
123 OPC_Scope, 29,
124 OPC_RecordChild2,
125 OPC_CheckPredicate, 13,
126 OPC_CheckPredicate, 10,
127 OPC_Scope, 10,
128 OPC_CheckPatternPredicate2,
129 OPC_CheckComplexPat3, /*#*/2,
130 OPC_EmitMergeInputChains1_0,
131 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
132 3, 108,
133 10,
134 OPC_CheckPatternPredicate4,
135 OPC_CheckComplexPat3, /*#*/2,
136 OPC_EmitMergeInputChains1_0,
137 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
138 3, 108,
139 0,
140 33,
141 OPC_MoveChild2,
142 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
143 OPC_RecordChild0,
144 OPC_RecordChild1,
145 OPC_MoveParent,
146 OPC_CheckPredicate, 13,
147 OPC_CheckPredicate, 10,
148 OPC_Scope, 9,
149 OPC_CheckPatternPredicate, 82,
150 OPC_EmitMergeInputChains1_0,
151 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1), 0|OPFL_Chain|OPFL_MemRefs,
152 3, 58,
153 9,
154 OPC_CheckPatternPredicate, 44,
155 OPC_EmitMergeInputChains1_0,
156 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
157 3, 58,
158 0,
159 0,
160 0,
161 20,
162 OPC_CheckChild1Integer, 0,
163 OPC_CheckChild1TypeI32,
164 OPC_RecordChild2,
165 OPC_CheckPredicate, 13,
166 OPC_CheckPredicate, 10,
167 OPC_CheckPatternPredicate2,
168 OPC_CheckComplexPat0, /*#*/1,
169 OPC_EmitMergeInputChains1_0,
170 OPC_EmitRegisterI32, Mips::ZERO,
171 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
172 3, 61,
173 91|128,4,
174 OPC_RecordChild1,
175 OPC_Scope, 112|128,1,
176 OPC_CheckChild1TypeI32,
177 OPC_RecordChild2,
178 OPC_CheckPredicate, 13,
179 OPC_Scope, 28,
180 OPC_CheckPredicate, 30,
181 OPC_Scope, 11,
182 OPC_CheckPredicate5,
183 OPC_CheckPatternPredicate2,
184 OPC_CheckComplexPat0, /*#*/2,
185 OPC_EmitMergeInputChains1_0,
186 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
187 3, 108,
188 11,
189 OPC_CheckPredicate4,
190 OPC_CheckPatternPredicate2,
191 OPC_CheckComplexPat0, /*#*/2,
192 OPC_EmitMergeInputChains1_0,
193 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
194 3, 108,
195 0,
196 63,
197 OPC_CheckPredicate, 10,
198 OPC_Scope, 10,
199 OPC_CheckPatternPredicate2,
200 OPC_CheckComplexPat0, /*#*/2,
201 OPC_EmitMergeInputChains1_0,
202 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
203 3, 108,
204 11,
205 OPC_CheckPatternPredicate, 50,
206 OPC_CheckComplexPat2, /*#*/2,
207 OPC_EmitMergeInputChains1_0,
208 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2), 0|OPFL_Chain|OPFL_MemRefs,
209 3, 108,
210 11,
211 OPC_CheckPatternPredicate, 83,
212 OPC_CheckComplexPat2, /*#*/2,
213 OPC_EmitMergeInputChains1_0,
214 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2), 0|OPFL_Chain|OPFL_MemRefs,
215 3, 108,
216 11,
217 OPC_CheckPatternPredicate, 84,
218 OPC_CheckComplexPat2, /*#*/2,
219 OPC_EmitMergeInputChains1_0,
220 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC3), 0|OPFL_Chain|OPFL_MemRefs,
221 3, 108,
222 11,
223 OPC_CheckPatternPredicate, 85,
224 OPC_CheckComplexPat2, /*#*/2,
225 OPC_EmitMergeInputChains1_0,
226 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC3), 0|OPFL_Chain|OPFL_MemRefs,
227 3, 108,
228 0,
229 30,
230 OPC_CheckPredicate, 30,
231 OPC_Scope, 12,
232 OPC_CheckPredicate5,
233 OPC_CheckPatternPredicate5,
234 OPC_CheckComplexPat, /*CP*/11, /*#*/2,
235 OPC_EmitMergeInputChains1_0,
236 OPC_MorphNodeTo0, TARGET_VAL(Mips::SbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
237 3, 108,
238 12,
239 OPC_CheckPredicate4,
240 OPC_CheckPatternPredicate5,
241 OPC_CheckComplexPat, /*CP*/11, /*#*/2,
242 OPC_EmitMergeInputChains1_0,
243 OPC_MorphNodeTo0, TARGET_VAL(Mips::ShRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
244 3, 108,
245 0,
246 13,
247 OPC_CheckPredicate, 10,
248 OPC_CheckPatternPredicate5,
249 OPC_CheckComplexPat, /*CP*/20, /*#*/2,
250 OPC_EmitMergeInputChains1_0,
251 OPC_MorphNodeTo0, TARGET_VAL(Mips::SwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
252 3, 108,
253 28,
254 OPC_CheckPredicate, 30,
255 OPC_Scope, 11,
256 OPC_CheckPredicate5,
257 OPC_CheckPatternPredicate4,
258 OPC_CheckComplexPat0, /*#*/2,
259 OPC_EmitMergeInputChains1_0,
260 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB_MM), 0|OPFL_Chain|OPFL_MemRefs,
261 3, 108,
262 11,
263 OPC_CheckPredicate4,
264 OPC_CheckPatternPredicate4,
265 OPC_CheckComplexPat0, /*#*/2,
266 OPC_EmitMergeInputChains1_0,
267 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH_MM), 0|OPFL_Chain|OPFL_MemRefs,
268 3, 108,
269 0,
270 66,
271 OPC_CheckPredicate, 10,
272 OPC_Scope, 24,
273 OPC_CheckPatternPredicate4,
274 OPC_Scope, 10,
275 OPC_CheckComplexPat, /*CP*/21, /*#*/2,
276 OPC_EmitMergeInputChains1_0,
277 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
278 3, 108,
279 9,
280 OPC_CheckComplexPat0, /*#*/2,
281 OPC_EmitMergeInputChains1_0,
282 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW_MM), 0|OPFL_Chain|OPFL_MemRefs,
283 3, 108,
284 0,
285 36,
286 OPC_CheckPatternPredicate, 8,
287 OPC_Scope, 20,
288 OPC_CheckComplexPat, /*CP*/25, /*#*/2,
289 OPC_EmitMergeInputChains1_0,
290 OPC_Scope, 6,
291 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
292 3, 108,
293 6,
294 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
295 3, 108,
296 0,
297 10,
298 OPC_CheckComplexPat, /*CP*/21, /*#*/2,
299 OPC_EmitMergeInputChains1_0,
300 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
301 3, 108,
302 0,
303 0,
304 0,
305 33,
306 OPC_CheckChild1Type, MVT::f32,
307 OPC_RecordChild2,
308 OPC_CheckPredicate, 13,
309 OPC_CheckPredicate, 10,
310 OPC_Scope, 11,
311 OPC_CheckPatternPredicate, 32,
312 OPC_CheckComplexPat2, /*#*/2,
313 OPC_EmitMergeInputChains1_0,
314 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
315 3, 108,
316 11,
317 OPC_CheckPatternPredicate, 41,
318 OPC_CheckComplexPat2, /*#*/2,
319 OPC_EmitMergeInputChains1_0,
320 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
321 3, 108,
322 0,
323 70,
324 OPC_CheckChild1Type, MVT::f64,
325 OPC_RecordChild2,
326 OPC_CheckPredicate, 13,
327 OPC_CheckPredicate, 10,
328 OPC_Scope, 11,
329 OPC_CheckPatternPredicate, 64,
330 OPC_CheckComplexPat2, /*#*/2,
331 OPC_EmitMergeInputChains1_0,
332 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
333 3, 108,
334 11,
335 OPC_CheckPatternPredicate, 65,
336 OPC_CheckComplexPat2, /*#*/2,
337 OPC_EmitMergeInputChains1_0,
338 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
339 3, 108,
340 11,
341 OPC_CheckPatternPredicate, 45,
342 OPC_CheckComplexPat2, /*#*/2,
343 OPC_EmitMergeInputChains1_0,
344 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
345 3, 108,
346 11,
347 OPC_CheckPatternPredicate, 46,
348 OPC_CheckComplexPat2, /*#*/2,
349 OPC_EmitMergeInputChains1_0,
350 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
351 3, 108,
352 12,
353 OPC_CheckPatternPredicate, 86,
354 OPC_CheckComplexPat, /*CP*/26, /*#*/2,
355 OPC_EmitMergeInputChains1_0,
356 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
357 3, 108,
358 0,
359 65,
360 OPC_CheckChild1TypeI64,
361 OPC_RecordChild2,
362 OPC_CheckPredicate, 13,
363 OPC_Scope, 44,
364 OPC_CheckPredicate, 30,
365 OPC_Scope, 12,
366 OPC_CheckPredicate5,
367 OPC_CheckPatternPredicate, 21,
368 OPC_CheckComplexPat0, /*#*/2,
369 OPC_EmitMergeInputChains1_0,
370 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
371 3, 108,
372 12,
373 OPC_CheckPredicate4,
374 OPC_CheckPatternPredicate, 21,
375 OPC_CheckComplexPat0, /*#*/2,
376 OPC_EmitMergeInputChains1_0,
377 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
378 3, 108,
379 13,
380 OPC_CheckPredicate, 9,
381 OPC_CheckPatternPredicate, 21,
382 OPC_CheckComplexPat0, /*#*/2,
383 OPC_EmitMergeInputChains1_0,
384 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
385 3, 108,
386 0,
387 13,
388 OPC_CheckPredicate, 10,
389 OPC_CheckPatternPredicate, 26,
390 OPC_CheckComplexPat0, /*#*/2,
391 OPC_EmitMergeInputChains1_0,
392 OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
393 3, 108,
394 0,
395 18,
396 OPC_CheckChild1Type, MVT::v16i8,
397 OPC_RecordChild2,
398 OPC_CheckPredicate, 13,
399 OPC_CheckPredicate, 10,
400 OPC_CheckPatternPredicate0,
401 OPC_CheckComplexPat, /*CP*/27, /*#*/2,
402 OPC_EmitMergeInputChains1_0,
403 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
404 3, 108,
405 18,
406 OPC_CheckChild1Type, MVT::v8i16,
407 OPC_RecordChild2,
408 OPC_CheckPredicate, 13,
409 OPC_CheckPredicate, 10,
410 OPC_CheckPatternPredicate0,
411 OPC_CheckComplexPat, /*CP*/17, /*#*/2,
412 OPC_EmitMergeInputChains1_0,
413 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
414 3, 108,
415 18,
416 OPC_CheckChild1Type, MVT::v4i32,
417 OPC_RecordChild2,
418 OPC_CheckPredicate, 13,
419 OPC_CheckPredicate, 10,
420 OPC_CheckPatternPredicate0,
421 OPC_CheckComplexPat, /*CP*/18, /*#*/2,
422 OPC_EmitMergeInputChains1_0,
423 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
424 3, 108,
425 18,
426 OPC_CheckChild1Type, MVT::v2i64,
427 OPC_RecordChild2,
428 OPC_CheckPredicate, 13,
429 OPC_CheckPredicate, 10,
430 OPC_CheckPatternPredicate0,
431 OPC_CheckComplexPat, /*CP*/19, /*#*/2,
432 OPC_EmitMergeInputChains1_0,
433 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
434 3, 108,
435 18,
436 OPC_CheckChild1Type, MVT::v8f16,
437 OPC_RecordChild2,
438 OPC_CheckPredicate, 13,
439 OPC_CheckPredicate, 10,
440 OPC_CheckPatternPredicate3,
441 OPC_CheckComplexPat, /*CP*/17, /*#*/2,
442 OPC_EmitMergeInputChains1_0,
443 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
444 3, 108,
445 19,
446 OPC_CheckChild1Type, 8|128,1,
447 OPC_RecordChild2,
448 OPC_CheckPredicate, 13,
449 OPC_CheckPredicate, 10,
450 OPC_CheckPatternPredicate3,
451 OPC_CheckComplexPat, /*CP*/18, /*#*/2,
452 OPC_EmitMergeInputChains1_0,
453 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
454 3, 108,
455 19,
456 OPC_CheckChild1Type, 26|128,1,
457 OPC_RecordChild2,
458 OPC_CheckPredicate, 13,
459 OPC_CheckPredicate, 10,
460 OPC_CheckPatternPredicate3,
461 OPC_CheckComplexPat, /*CP*/19, /*#*/2,
462 OPC_EmitMergeInputChains1_0,
463 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
464 3, 108,
465 25,
466 OPC_CheckChild1Type, MVT::v2i16,
467 OPC_RecordChild2,
468 OPC_CheckPredicate, 13,
469 OPC_CheckPredicate, 10,
470 OPC_CheckPatternPredicate1,
471 OPC_CheckComplexPat0, /*#*/2,
472 OPC_EmitMergeInputChains1_0,
473 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
474 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
475 MVT::i32, 2, 125,
476 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
477 3, 117,
478 25,
479 OPC_CheckChild1Type, MVT::v4i8,
480 OPC_RecordChild2,
481 OPC_CheckPredicate, 13,
482 OPC_CheckPredicate, 10,
483 OPC_CheckPatternPredicate1,
484 OPC_CheckComplexPat0, /*#*/2,
485 OPC_EmitMergeInputChains1_0,
486 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
487 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
488 MVT::i32, 2, 125,
489 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
490 3, 117,
491 0,
492 0,
493 112|128,9, TARGET_VAL(ISD::LOAD),
494 OPC_RecordMemRef,
495 OPC_RecordNode,
496 OPC_Scope, 97,
497 OPC_RecordChild1,
498 OPC_CheckPredicate, 29,
499 OPC_CheckTypeI32,
500 OPC_Scope, 30,
501 OPC_CheckPredicate, 21,
502 OPC_Scope, 12,
503 OPC_CheckPredicate5,
504 OPC_CheckPatternPredicate2,
505 OPC_CheckComplexPat3, /*#*/1,
506 OPC_EmitMergeInputChains1_0,
507 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
508 MVT::i32, 2, 56,
509 12,
510 OPC_CheckPredicate4,
511 OPC_CheckPatternPredicate2,
512 OPC_CheckComplexPat3, /*#*/1,
513 OPC_EmitMergeInputChains1_0,
514 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
515 MVT::i32, 2, 56,
516 0,
517 30,
518 OPC_CheckPredicate, 20,
519 OPC_Scope, 12,
520 OPC_CheckPredicate5,
521 OPC_CheckPatternPredicate2,
522 OPC_CheckComplexPat3, /*#*/1,
523 OPC_EmitMergeInputChains1_0,
524 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
525 MVT::i32, 2, 56,
526 12,
527 OPC_CheckPredicate4,
528 OPC_CheckPatternPredicate2,
529 OPC_CheckComplexPat3, /*#*/1,
530 OPC_EmitMergeInputChains1_0,
531 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
532 MVT::i32, 2, 56,
533 0,
534 13,
535 OPC_CheckPredicate, 23,
536 OPC_CheckPatternPredicate2,
537 OPC_CheckComplexPat3, /*#*/1,
538 OPC_EmitMergeInputChains1_0,
539 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
540 MVT::i32, 2, 56,
541 14,
542 OPC_CheckPredicate, 20,
543 OPC_CheckPredicate4,
544 OPC_CheckPatternPredicate4,
545 OPC_CheckComplexPat3, /*#*/1,
546 OPC_EmitMergeInputChains1_0,
547 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
548 MVT::i32, 2, 56,
549 0,
550 51,
551 OPC_MoveChild1,
552 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
553 OPC_RecordChild0,
554 OPC_RecordChild1,
555 OPC_CheckTypeI32,
556 OPC_MoveParent,
557 OPC_CheckPredicate, 29,
558 OPC_CheckTypeI32,
559 OPC_Scope, 12,
560 OPC_CheckPredicate, 21,
561 OPC_CheckPredicate5,
562 OPC_CheckPatternPredicate1,
563 OPC_EmitMergeInputChains1_0,
564 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBUX), 0|OPFL_Chain|OPFL_MemRefs,
565 MVT::i32, 2, 32,
566 12,
567 OPC_CheckPredicate, 20,
568 OPC_CheckPredicate4,
569 OPC_CheckPatternPredicate1,
570 OPC_EmitMergeInputChains1_0,
571 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHX), 0|OPFL_Chain|OPFL_MemRefs,
572 MVT::i32, 2, 32,
573 11,
574 OPC_CheckPredicate, 23,
575 OPC_CheckPatternPredicate1,
576 OPC_EmitMergeInputChains1_0,
577 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWX), 0|OPFL_Chain|OPFL_MemRefs,
578 MVT::i32, 2, 32,
579 0,
580 19|128,6,
581 OPC_RecordChild1,
582 OPC_CheckPredicate, 29,
583 OPC_Scope, 15,
584 OPC_CheckPredicate, 20,
585 OPC_CheckPredicate5,
586 OPC_CheckTypeI32,
587 OPC_CheckPatternPredicate2,
588 OPC_CheckComplexPat0, /*#*/1,
589 OPC_EmitMergeInputChains1_0,
590 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
591 MVT::i32, 2, 56,
592 15,
593 OPC_CheckPredicate, 21,
594 OPC_CheckPredicate5,
595 OPC_CheckTypeI32,
596 OPC_CheckPatternPredicate2,
597 OPC_CheckComplexPat2, /*#*/1,
598 OPC_EmitMergeInputChains1_0,
599 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
600 MVT::i32, 2, 56,
601 15,
602 OPC_CheckPredicate, 20,
603 OPC_CheckPredicate4,
604 OPC_CheckTypeI32,
605 OPC_CheckPatternPredicate2,
606 OPC_CheckComplexPat2, /*#*/1,
607 OPC_EmitMergeInputChains1_0,
608 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
609 MVT::i32, 2, 56,
610 15,
611 OPC_CheckPredicate, 21,
612 OPC_CheckPredicate4,
613 OPC_CheckTypeI32,
614 OPC_CheckPatternPredicate2,
615 OPC_CheckComplexPat0, /*#*/1,
616 OPC_EmitMergeInputChains1_0,
617 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
618 MVT::i32, 2, 56,
619 69,
620 OPC_CheckPredicate, 23,
621 OPC_CheckTypeI32,
622 OPC_Scope, 11,
623 OPC_CheckPatternPredicate2,
624 OPC_CheckComplexPat2, /*#*/1,
625 OPC_EmitMergeInputChains1_0,
626 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
627 MVT::i32, 2, 56,
628 12,
629 OPC_CheckPatternPredicate, 50,
630 OPC_CheckComplexPat2, /*#*/1,
631 OPC_EmitMergeInputChains1_0,
632 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2), 0|OPFL_Chain|OPFL_MemRefs,
633 MVT::i32, 2, 56,
634 12,
635 OPC_CheckPatternPredicate, 83,
636 OPC_CheckComplexPat2, /*#*/1,
637 OPC_EmitMergeInputChains1_0,
638 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2), 0|OPFL_Chain|OPFL_MemRefs,
639 MVT::i32, 2, 56,
640 12,
641 OPC_CheckPatternPredicate, 84,
642 OPC_CheckComplexPat2, /*#*/1,
643 OPC_EmitMergeInputChains1_0,
644 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC3), 0|OPFL_Chain|OPFL_MemRefs,
645 MVT::i32, 2, 56,
646 12,
647 OPC_CheckPatternPredicate, 85,
648 OPC_CheckComplexPat2, /*#*/1,
649 OPC_EmitMergeInputChains1_0,
650 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC3), 0|OPFL_Chain|OPFL_MemRefs,
651 MVT::i32, 2, 56,
652 0,
653 45,
654 OPC_CheckPredicate, 31,
655 OPC_CheckTypeI32,
656 OPC_Scope, 13,
657 OPC_CheckPredicate, 33,
658 OPC_CheckPatternPredicate2,
659 OPC_CheckComplexPat0, /*#*/1,
660 OPC_EmitMergeInputChains1_0,
661 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
662 MVT::i32, 2, 56,
663 12,
664 OPC_CheckPredicate5,
665 OPC_CheckPatternPredicate2,
666 OPC_CheckComplexPat0, /*#*/1,
667 OPC_EmitMergeInputChains1_0,
668 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
669 MVT::i32, 2, 56,
670 12,
671 OPC_CheckPredicate4,
672 OPC_CheckPatternPredicate2,
673 OPC_CheckComplexPat0, /*#*/1,
674 OPC_EmitMergeInputChains1_0,
675 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
676 MVT::i32, 2, 56,
677 0,
678 16,
679 OPC_CheckPredicate, 20,
680 OPC_CheckPredicate5,
681 OPC_CheckTypeI64,
682 OPC_CheckPatternPredicate, 21,
683 OPC_CheckComplexPat0, /*#*/1,
684 OPC_EmitMergeInputChains1_0,
685 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
686 MVT::i64, 2, 56,
687 16,
688 OPC_CheckPredicate, 21,
689 OPC_CheckPredicate5,
690 OPC_CheckTypeI64,
691 OPC_CheckPatternPredicate, 21,
692 OPC_CheckComplexPat0, /*#*/1,
693 OPC_EmitMergeInputChains1_0,
694 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu64), 0|OPFL_Chain|OPFL_MemRefs,
695 MVT::i64, 2, 56,
696 16,
697 OPC_CheckPredicate, 20,
698 OPC_CheckPredicate4,
699 OPC_CheckTypeI64,
700 OPC_CheckPatternPredicate, 21,
701 OPC_CheckComplexPat0, /*#*/1,
702 OPC_EmitMergeInputChains1_0,
703 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
704 MVT::i64, 2, 56,
705 16,
706 OPC_CheckPredicate, 21,
707 OPC_CheckPredicate4,
708 OPC_CheckTypeI64,
709 OPC_CheckPatternPredicate, 21,
710 OPC_CheckComplexPat0, /*#*/1,
711 OPC_EmitMergeInputChains1_0,
712 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu64), 0|OPFL_Chain|OPFL_MemRefs,
713 MVT::i64, 2, 56,
714 17,
715 OPC_CheckPredicate, 20,
716 OPC_CheckPredicate, 9,
717 OPC_CheckTypeI64,
718 OPC_CheckPatternPredicate, 21,
719 OPC_CheckComplexPat0, /*#*/1,
720 OPC_EmitMergeInputChains1_0,
721 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
722 MVT::i64, 2, 56,
723 17,
724 OPC_CheckPredicate, 21,
725 OPC_CheckPredicate, 9,
726 OPC_CheckTypeI64,
727 OPC_CheckPatternPredicate, 26,
728 OPC_CheckComplexPat0, /*#*/1,
729 OPC_EmitMergeInputChains1_0,
730 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWu), 0|OPFL_Chain|OPFL_MemRefs,
731 MVT::i64, 2, 56,
732 15,
733 OPC_CheckPredicate, 23,
734 OPC_CheckTypeI64,
735 OPC_CheckPatternPredicate, 26,
736 OPC_CheckComplexPat0, /*#*/1,
737 OPC_EmitMergeInputChains1_0,
738 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
739 MVT::i64, 2, 56,
740 63,
741 OPC_CheckPredicate, 31,
742 OPC_CheckTypeI64,
743 OPC_Scope, 14,
744 OPC_CheckPredicate, 33,
745 OPC_CheckPatternPredicate, 9,
746 OPC_CheckComplexPat0, /*#*/1,
747 OPC_EmitMergeInputChains1_0,
748 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
749 MVT::i64, 2, 56,
750 13,
751 OPC_CheckPredicate5,
752 OPC_CheckPatternPredicate, 9,
753 OPC_CheckComplexPat0, /*#*/1,
754 OPC_EmitMergeInputChains1_0,
755 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
756 MVT::i64, 2, 56,
757 13,
758 OPC_CheckPredicate4,
759 OPC_CheckPatternPredicate, 9,
760 OPC_CheckComplexPat0, /*#*/1,
761 OPC_EmitMergeInputChains1_0,
762 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
763 MVT::i64, 2, 56,
764 14,
765 OPC_CheckPredicate, 9,
766 OPC_CheckPatternPredicate, 9,
767 OPC_CheckComplexPat0, /*#*/1,
768 OPC_EmitMergeInputChains1_0,
769 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
770 MVT::i64, 2, 56,
771 0,
772 16,
773 OPC_CheckPredicate, 20,
774 OPC_CheckPredicate5,
775 OPC_CheckTypeI32,
776 OPC_CheckPatternPredicate5,
777 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
778 OPC_EmitMergeInputChains1_0,
779 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
780 MVT::i32, 2, 56,
781 16,
782 OPC_CheckPredicate, 21,
783 OPC_CheckPredicate5,
784 OPC_CheckTypeI32,
785 OPC_CheckPatternPredicate5,
786 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
787 OPC_EmitMergeInputChains1_0,
788 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
789 MVT::i32, 2, 56,
790 16,
791 OPC_CheckPredicate, 20,
792 OPC_CheckPredicate4,
793 OPC_CheckTypeI32,
794 OPC_CheckPatternPredicate5,
795 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
796 OPC_EmitMergeInputChains1_0,
797 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
798 MVT::i32, 2, 56,
799 16,
800 OPC_CheckPredicate, 21,
801 OPC_CheckPredicate4,
802 OPC_CheckTypeI32,
803 OPC_CheckPatternPredicate5,
804 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
805 OPC_EmitMergeInputChains1_0,
806 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
807 MVT::i32, 2, 56,
808 15,
809 OPC_CheckPredicate, 23,
810 OPC_CheckTypeI32,
811 OPC_CheckPatternPredicate5,
812 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
813 OPC_EmitMergeInputChains1_0,
814 OPC_MorphNodeTo1, TARGET_VAL(Mips::LwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
815 MVT::i32, 2, 56,
816 33,
817 OPC_CheckPredicate, 31,
818 OPC_CheckTypeI32,
819 OPC_Scope, 13,
820 OPC_CheckPredicate5,
821 OPC_CheckPatternPredicate5,
822 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
823 OPC_EmitMergeInputChains1_0,
824 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
825 MVT::i32, 2, 56,
826 13,
827 OPC_CheckPredicate4,
828 OPC_CheckPatternPredicate5,
829 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
830 OPC_EmitMergeInputChains1_0,
831 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
832 MVT::i32, 2, 56,
833 0,
834 15,
835 OPC_CheckPredicate, 20,
836 OPC_CheckPredicate5,
837 OPC_CheckTypeI32,
838 OPC_CheckPatternPredicate4,
839 OPC_CheckComplexPat0, /*#*/1,
840 OPC_EmitMergeInputChains1_0,
841 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
842 MVT::i32, 2, 56,
843 15,
844 OPC_CheckPredicate, 21,
845 OPC_CheckPredicate5,
846 OPC_CheckTypeI32,
847 OPC_CheckPatternPredicate4,
848 OPC_CheckComplexPat0, /*#*/1,
849 OPC_EmitMergeInputChains1_0,
850 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
851 MVT::i32, 2, 56,
852 15,
853 OPC_CheckPredicate, 20,
854 OPC_CheckPredicate4,
855 OPC_CheckTypeI32,
856 OPC_CheckPatternPredicate4,
857 OPC_CheckComplexPat2, /*#*/1,
858 OPC_EmitMergeInputChains1_0,
859 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
860 MVT::i32, 2, 56,
861 32,
862 OPC_CheckPredicate, 21,
863 OPC_CheckTypeI32,
864 OPC_Scope, 12,
865 OPC_CheckPredicate4,
866 OPC_CheckPatternPredicate4,
867 OPC_CheckComplexPat0, /*#*/1,
868 OPC_EmitMergeInputChains1_0,
869 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
870 MVT::i32, 2, 56,
871 13,
872 OPC_CheckPredicate, 9,
873 OPC_CheckPatternPredicate7,
874 OPC_CheckComplexPat7, /*#*/1,
875 OPC_EmitMergeInputChains1_0,
876 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWU_MM), 0|OPFL_Chain|OPFL_MemRefs,
877 MVT::i32, 2, 56,
878 0,
879 29,
880 OPC_CheckPredicate, 23,
881 OPC_CheckTypeI32,
882 OPC_CheckPatternPredicate4,
883 OPC_Scope, 11,
884 OPC_CheckComplexPat, /*CP*/21, /*#*/1,
885 OPC_EmitMergeInputChains1_0,
886 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
887 MVT::i32, 2, 56,
888 10,
889 OPC_CheckComplexPat0, /*#*/1,
890 OPC_EmitMergeInputChains1_0,
891 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
892 MVT::i32, 2, 56,
893 0,
894 45,
895 OPC_CheckPredicate, 31,
896 OPC_CheckTypeI32,
897 OPC_Scope, 13,
898 OPC_CheckPredicate, 33,
899 OPC_CheckPatternPredicate4,
900 OPC_CheckComplexPat0, /*#*/1,
901 OPC_EmitMergeInputChains1_0,
902 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
903 MVT::i32, 2, 56,
904 12,
905 OPC_CheckPredicate5,
906 OPC_CheckPatternPredicate4,
907 OPC_CheckComplexPat0, /*#*/1,
908 OPC_EmitMergeInputChains1_0,
909 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
910 MVT::i32, 2, 56,
911 12,
912 OPC_CheckPredicate4,
913 OPC_CheckPatternPredicate4,
914 OPC_CheckComplexPat0, /*#*/1,
915 OPC_EmitMergeInputChains1_0,
916 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
917 MVT::i32, 2, 56,
918 0,
919 13|128,1,
920 OPC_CheckPredicate, 23,
921 OPC_SwitchType , 38, MVT::i32,
922 OPC_CheckPatternPredicate, 8,
923 OPC_Scope, 10,
924 OPC_CheckComplexPat2, /*#*/1,
925 OPC_EmitMergeInputChains1_0,
926 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
927 MVT::i32, 2, 56,
928 22,
929 OPC_CheckComplexPat, /*CP*/25, /*#*/1,
930 OPC_EmitMergeInputChains1_0,
931 OPC_Scope, 7,
932 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
933 MVT::i32, 2, 56,
934 7,
935 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
936 MVT::i32, 2, 56,
937 0,
938 0,
939 67, MVT::f64,
940 OPC_Scope, 12,
941 OPC_CheckPatternPredicate, 79,
942 OPC_CheckComplexPat3, /*#*/1,
943 OPC_EmitMergeInputChains1_0,
944 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
945 MVT::f64, 2, 56,
946 12,
947 OPC_CheckPatternPredicate, 52,
948 OPC_CheckComplexPat3, /*#*/1,
949 OPC_EmitMergeInputChains1_0,
950 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
951 MVT::f64, 2, 56,
952 12,
953 OPC_CheckPatternPredicate, 53,
954 OPC_CheckComplexPat3, /*#*/1,
955 OPC_EmitMergeInputChains1_0,
956 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
957 MVT::f64, 2, 56,
958 12,
959 OPC_CheckPatternPredicate, 63,
960 OPC_CheckComplexPat3, /*#*/1,
961 OPC_EmitMergeInputChains1_0,
962 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
963 MVT::f64, 2, 56,
964 12,
965 OPC_CheckPatternPredicate, 59,
966 OPC_CheckComplexPat3, /*#*/1,
967 OPC_EmitMergeInputChains1_0,
968 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
969 MVT::f64, 2, 56,
970 0,
971 26, MVT::f32,
972 OPC_Scope, 11,
973 OPC_CheckPatternPredicate2,
974 OPC_CheckComplexPat3, /*#*/1,
975 OPC_EmitMergeInputChains1_0,
976 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
977 MVT::f32, 2, 56,
978 11,
979 OPC_CheckPatternPredicate4,
980 OPC_CheckComplexPat3, /*#*/1,
981 OPC_EmitMergeInputChains1_0,
982 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
983 MVT::f32, 2, 56,
984 0,
985 0,
986 0,
987 65,
988 OPC_MoveChild1,
989 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
990 OPC_RecordChild0,
991 OPC_RecordChild1,
992 OPC_MoveParent,
993 OPC_CheckPredicate, 29,
994 OPC_CheckPredicate, 23,
995 OPC_SwitchType , 24, MVT::f32,
996 OPC_Scope, 10,
997 OPC_CheckPatternPredicate, 82,
998 OPC_EmitMergeInputChains1_0,
999 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1), 0|OPFL_Chain|OPFL_MemRefs,
1000 MVT::f32, 2, 32,
1001 10,
1002 OPC_CheckPatternPredicate, 44,
1003 OPC_EmitMergeInputChains1_0,
1004 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
1005 MVT::f32, 2, 32,
1006 0,
1007 24, MVT::f64,
1008 OPC_Scope, 10,
1009 OPC_CheckPatternPredicate, 80,
1010 OPC_EmitMergeInputChains1_0,
1011 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC1), 0|OPFL_Chain|OPFL_MemRefs,
1012 MVT::f64, 2, 32,
1013 10,
1014 OPC_CheckPatternPredicate, 81,
1015 OPC_EmitMergeInputChains1_0,
1016 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC164), 0|OPFL_Chain|OPFL_MemRefs,
1017 MVT::f64, 2, 32,
1018 0,
1019 0,
1020 125|128,1,
1021 OPC_RecordChild1,
1022 OPC_CheckPredicate, 29,
1023 OPC_CheckPredicate, 23,
1024 OPC_SwitchType , 28, MVT::f32,
1025 OPC_Scope, 12,
1026 OPC_CheckPatternPredicate, 32,
1027 OPC_CheckComplexPat2, /*#*/1,
1028 OPC_EmitMergeInputChains1_0,
1029 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
1030 MVT::f32, 2, 56,
1031 12,
1032 OPC_CheckPatternPredicate, 41,
1033 OPC_CheckComplexPat2, /*#*/1,
1034 OPC_EmitMergeInputChains1_0,
1035 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
1036 MVT::f32, 2, 56,
1037 0,
1038 68, MVT::f64,
1039 OPC_Scope, 12,
1040 OPC_CheckPatternPredicate, 64,
1041 OPC_CheckComplexPat2, /*#*/1,
1042 OPC_EmitMergeInputChains1_0,
1043 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
1044 MVT::f64, 2, 56,
1045 12,
1046 OPC_CheckPatternPredicate, 65,
1047 OPC_CheckComplexPat2, /*#*/1,
1048 OPC_EmitMergeInputChains1_0,
1049 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
1050 MVT::f64, 2, 56,
1051 12,
1052 OPC_CheckPatternPredicate, 45,
1053 OPC_CheckComplexPat2, /*#*/1,
1054 OPC_EmitMergeInputChains1_0,
1055 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
1056 MVT::f64, 2, 56,
1057 12,
1058 OPC_CheckPatternPredicate, 46,
1059 OPC_CheckComplexPat2, /*#*/1,
1060 OPC_EmitMergeInputChains1_0,
1061 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
1062 MVT::f64, 2, 56,
1063 13,
1064 OPC_CheckPatternPredicate, 86,
1065 OPC_CheckComplexPat, /*CP*/26, /*#*/1,
1066 OPC_EmitMergeInputChains1_0,
1067 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
1068 MVT::f64, 2, 56,
1069 0,
1070 12, MVT::v16i8,
1071 OPC_CheckPatternPredicate0,
1072 OPC_CheckComplexPat, /*CP*/27, /*#*/1,
1073 OPC_EmitMergeInputChains1_0,
1074 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
1075 MVT::v16i8, 2, 56,
1076 12, MVT::v8i16,
1077 OPC_CheckPatternPredicate0,
1078 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
1079 OPC_EmitMergeInputChains1_0,
1080 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
1081 MVT::v8i16, 2, 56,
1082 12, MVT::v4i32,
1083 OPC_CheckPatternPredicate0,
1084 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
1085 OPC_EmitMergeInputChains1_0,
1086 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
1087 MVT::v4i32, 2, 56,
1088 12, MVT::v2i64,
1089 OPC_CheckPatternPredicate0,
1090 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
1091 OPC_EmitMergeInputChains1_0,
1092 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
1093 MVT::v2i64, 2, 56,
1094 20, MVT::v2i16,
1095 OPC_CheckPatternPredicate1,
1096 OPC_CheckComplexPat0, /*#*/1,
1097 OPC_EmitMergeInputChains1_0,
1098 OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
1099 MVT::i32, 2, 56,
1100 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
1101 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1102 MVT::v2i16, 2, 5|128,1,
1103 20, MVT::v4i8,
1104 OPC_CheckPatternPredicate1,
1105 OPC_CheckComplexPat0, /*#*/1,
1106 OPC_EmitMergeInputChains1_0,
1107 OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
1108 MVT::i32, 2, 56,
1109 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
1110 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1111 MVT::v4i8, 2, 5|128,1,
1112 12, MVT::v8f16,
1113 OPC_CheckPatternPredicate3,
1114 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
1115 OPC_EmitMergeInputChains1_0,
1116 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
1117 MVT::v8f16, 2, 56,
1118 13, 8|128,1,
1119 OPC_CheckPatternPredicate3,
1120 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
1121 OPC_EmitMergeInputChains1_0,
1122 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
1123 8|128,1, 2, 56,
1124 13, 26|128,1,
1125 OPC_CheckPatternPredicate3,
1126 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
1127 OPC_EmitMergeInputChains1_0,
1128 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
1129 26|128,1, 2, 56,
1130 0,
1131 0,
1132 64|128,19, TARGET_VAL(ISD::BRCOND),
1133 OPC_RecordNode,
1134 OPC_Scope, 116|128,18,
1135 OPC_MoveChild1,
1136 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
1137 OPC_Scope, 76|128,3,
1138 OPC_MoveChild0,
1139 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
1140 OPC_Scope, 123,
1141 OPC_RecordChild0,
1142 OPC_MoveChild1,
1143 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1144 OPC_Scope, 55,
1145 OPC_CheckChild0Integer, 1,
1146 OPC_RecordChild1,
1147 OPC_MoveChild1,
1148 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1149 OPC_CheckPredicate, 32,
1150 OPC_CheckTypeI64,
1151 OPC_MoveParent,
1152 OPC_MoveParent,
1153 OPC_CheckTypeI64,
1154 OPC_MoveParent,
1155 OPC_CheckChild1Integer, 0,
1156 OPC_CheckTypeI32,
1157 OPC_Scope, 17,
1158 OPC_CheckChild2CondCode, ISD::SETEQ,
1159 OPC_MoveSibling2,
1160 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1161 OPC_RecordNode,
1162 OPC_MoveParent,
1163 OPC_CheckPatternPredicate, 28,
1164 OPC_EmitMergeInputChains1_0,
1165 OPC_EmitConvertToTarget2,
1166 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1167 3, 64,
1168 17,
1169 OPC_CheckChild2CondCode, ISD::SETNE,
1170 OPC_MoveSibling2,
1171 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1172 OPC_RecordNode,
1173 OPC_MoveParent,
1174 OPC_CheckPatternPredicate, 28,
1175 OPC_EmitMergeInputChains1_0,
1176 OPC_EmitConvertToTarget2,
1177 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1178 3, 64,
1179 0,
1180 59,
1181 OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,16,
1182 OPC_RecordChild1,
1183 OPC_MoveChild1,
1184 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1185 OPC_CheckPredicate, 32,
1186 OPC_CheckTypeI64,
1187 OPC_MoveParent,
1188 OPC_MoveParent,
1189 OPC_CheckTypeI64,
1190 OPC_MoveParent,
1191 OPC_CheckChild1Integer, 0,
1192 OPC_CheckTypeI32,
1193 OPC_Scope, 17,
1194 OPC_CheckChild2CondCode, ISD::SETEQ,
1195 OPC_MoveSibling2,
1196 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1197 OPC_RecordNode,
1198 OPC_MoveParent,
1199 OPC_CheckPatternPredicate, 28,
1200 OPC_EmitMergeInputChains1_0,
1201 OPC_EmitConvertToTarget2,
1202 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1203 3, 64,
1204 17,
1205 OPC_CheckChild2CondCode, ISD::SETNE,
1206 OPC_MoveSibling2,
1207 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1208 OPC_RecordNode,
1209 OPC_MoveParent,
1210 OPC_CheckPatternPredicate, 28,
1211 OPC_EmitMergeInputChains1_0,
1212 OPC_EmitConvertToTarget2,
1213 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1214 3, 64,
1215 0,
1216 0,
1217 124,
1218 OPC_MoveChild0,
1219 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1220 OPC_Scope, 56,
1221 OPC_CheckChild0Integer, 1,
1222 OPC_RecordChild1,
1223 OPC_MoveChild1,
1224 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1225 OPC_CheckPredicate, 32,
1226 OPC_CheckTypeI64,
1227 OPC_MoveParent,
1228 OPC_MoveParent,
1229 OPC_RecordChild1,
1230 OPC_CheckTypeI64,
1231 OPC_MoveParent,
1232 OPC_CheckChild1Integer, 0,
1233 OPC_CheckTypeI32,
1234 OPC_Scope, 17,
1235 OPC_CheckChild2CondCode, ISD::SETEQ,
1236 OPC_MoveSibling2,
1237 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1238 OPC_RecordNode,
1239 OPC_MoveParent,
1240 OPC_CheckPatternPredicate, 28,
1241 OPC_EmitMergeInputChains1_0,
1242 OPC_EmitConvertToTarget1,
1243 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1244 3, 67,
1245 17,
1246 OPC_CheckChild2CondCode, ISD::SETNE,
1247 OPC_MoveSibling2,
1248 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1249 OPC_RecordNode,
1250 OPC_MoveParent,
1251 OPC_CheckPatternPredicate, 28,
1252 OPC_EmitMergeInputChains1_0,
1253 OPC_EmitConvertToTarget1,
1254 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1255 3, 67,
1256 0,
1257 60,
1258 OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,16,
1259 OPC_RecordChild1,
1260 OPC_MoveChild1,
1261 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1262 OPC_CheckPredicate, 32,
1263 OPC_CheckTypeI64,
1264 OPC_MoveParent,
1265 OPC_MoveParent,
1266 OPC_RecordChild1,
1267 OPC_CheckTypeI64,
1268 OPC_MoveParent,
1269 OPC_CheckChild1Integer, 0,
1270 OPC_CheckTypeI32,
1271 OPC_Scope, 17,
1272 OPC_CheckChild2CondCode, ISD::SETEQ,
1273 OPC_MoveSibling2,
1274 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1275 OPC_RecordNode,
1276 OPC_MoveParent,
1277 OPC_CheckPatternPredicate, 28,
1278 OPC_EmitMergeInputChains1_0,
1279 OPC_EmitConvertToTarget1,
1280 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1281 3, 67,
1282 17,
1283 OPC_CheckChild2CondCode, ISD::SETNE,
1284 OPC_MoveSibling2,
1285 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1286 OPC_RecordNode,
1287 OPC_MoveParent,
1288 OPC_CheckPatternPredicate, 28,
1289 OPC_EmitMergeInputChains1_0,
1290 OPC_EmitConvertToTarget1,
1291 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1292 3, 67,
1293 0,
1294 0,
1295 75|128,1,
1296 OPC_RecordChild0,
1297 OPC_RecordChild1,
1298 OPC_MoveChild1,
1299 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1300 OPC_Scope, 28,
1301 OPC_CheckPredicate, 40,
1302 OPC_MoveParent,
1303 OPC_CheckTypeI64,
1304 OPC_MoveParent,
1305 OPC_CheckChild1Integer, 0,
1306 OPC_CheckChild2CondCode, ISD::SETEQ,
1307 OPC_CheckTypeI32,
1308 OPC_MoveSibling2,
1309 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1310 OPC_RecordNode,
1311 OPC_MoveParent,
1312 OPC_CheckPatternPredicate, 54,
1313 OPC_EmitMergeInputChains1_0,
1314 OPC_EmitConvertToTarget2,
1315 OPC_EmitNodeXForm, 0, 4,
1316 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1317 3, 70,
1318 28,
1319 OPC_CheckPredicate, 41,
1320 OPC_MoveParent,
1321 OPC_CheckTypeI64,
1322 OPC_MoveParent,
1323 OPC_CheckChild1Integer, 0,
1324 OPC_CheckChild2CondCode, ISD::SETEQ,
1325 OPC_CheckTypeI32,
1326 OPC_MoveSibling2,
1327 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1328 OPC_RecordNode,
1329 OPC_MoveParent,
1330 OPC_CheckPatternPredicate, 54,
1331 OPC_EmitMergeInputChains1_0,
1332 OPC_EmitConvertToTarget2,
1333 OPC_EmitNodeXForm, 1, 4,
1334 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1335 3, 70,
1336 28,
1337 OPC_CheckPredicate, 40,
1338 OPC_MoveParent,
1339 OPC_CheckTypeI64,
1340 OPC_MoveParent,
1341 OPC_CheckChild1Integer, 0,
1342 OPC_CheckChild2CondCode, ISD::SETNE,
1343 OPC_CheckTypeI32,
1344 OPC_MoveSibling2,
1345 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1346 OPC_RecordNode,
1347 OPC_MoveParent,
1348 OPC_CheckPatternPredicate, 54,
1349 OPC_EmitMergeInputChains1_0,
1350 OPC_EmitConvertToTarget2,
1351 OPC_EmitNodeXForm, 0, 4,
1352 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1353 3, 70,
1354 28,
1355 OPC_CheckPredicate, 41,
1356 OPC_MoveParent,
1357 OPC_CheckTypeI64,
1358 OPC_MoveParent,
1359 OPC_CheckChild1Integer, 0,
1360 OPC_CheckChild2CondCode, ISD::SETNE,
1361 OPC_CheckTypeI32,
1362 OPC_MoveSibling2,
1363 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1364 OPC_RecordNode,
1365 OPC_MoveParent,
1366 OPC_CheckPatternPredicate, 54,
1367 OPC_EmitMergeInputChains1_0,
1368 OPC_EmitConvertToTarget2,
1369 OPC_EmitNodeXForm, 1, 4,
1370 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1371 3, 70,
1372 78,
1373 OPC_CheckPredicate, 50,
1374 OPC_MoveParent,
1375 OPC_CheckTypeI32,
1376 OPC_MoveParent,
1377 OPC_CheckChild1Integer, 0,
1378 OPC_CheckTypeI32,
1379 OPC_Scope, 33,
1380 OPC_CheckChild2CondCode, ISD::SETEQ,
1381 OPC_MoveSibling2,
1382 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1383 OPC_RecordNode,
1384 OPC_MoveParent,
1385 OPC_CheckPatternPredicate, 54,
1386 OPC_EmitMergeInputChains1_0,
1387 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
1388 MVT::i64, 0,
1389 OPC_EmitIntegerI32, Mips::sub_32,
1390 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
1391 MVT::i64, 3, 124,
1392 OPC_EmitConvertToTarget2,
1393 OPC_EmitNodeXForm, 0, 7,
1394 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1395 3, 89,
1396 33,
1397 OPC_CheckChild2CondCode, ISD::SETNE,
1398 OPC_MoveSibling2,
1399 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1400 OPC_RecordNode,
1401 OPC_MoveParent,
1402 OPC_CheckPatternPredicate, 54,
1403 OPC_EmitMergeInputChains1_0,
1404 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
1405 MVT::i64, 0,
1406 OPC_EmitIntegerI32, Mips::sub_32,
1407 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
1408 MVT::i64, 3, 124,
1409 OPC_EmitConvertToTarget2,
1410 OPC_EmitNodeXForm, 0, 7,
1411 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1412 3, 89,
1413 0,
1414 0,
1415 0,
1416 30|128,15,
1417 OPC_RecordChild0,
1418 OPC_Scope, 122|128,9,
1419 OPC_CheckChild0TypeI32,
1420 OPC_Scope, 117|128,1,
1421 OPC_CheckChild1Integer, 0,
1422 OPC_CheckTypeI32,
1423 OPC_Scope, 35,
1424 OPC_CheckChild2CondCode, ISD::SETGE,
1425 OPC_MoveSibling2,
1426 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1427 OPC_RecordNode,
1428 OPC_MoveParent,
1429 OPC_Scope, 7,
1430 OPC_CheckPatternPredicate2,
1431 OPC_EmitMergeInputChains1_0,
1432 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
1433 2, 32,
1434 8,
1435 OPC_CheckPatternPredicate, 29,
1436 OPC_EmitMergeInputChains1_0,
1437 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC),
1438 2, 32,
1439 7,
1440 OPC_CheckPatternPredicate7,
1441 OPC_EmitMergeInputChains1_0,
1442 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
1443 2, 32,
1444 0,
1445 35,
1446 OPC_CheckChild2CondCode, ISD::SETGT,
1447 OPC_MoveSibling2,
1448 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1449 OPC_RecordNode,
1450 OPC_MoveParent,
1451 OPC_Scope, 7,
1452 OPC_CheckPatternPredicate2,
1453 OPC_EmitMergeInputChains1_0,
1454 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ),
1455 2, 32,
1456 8,
1457 OPC_CheckPatternPredicate, 29,
1458 OPC_EmitMergeInputChains1_0,
1459 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC),
1460 2, 32,
1461 7,
1462 OPC_CheckPatternPredicate7,
1463 OPC_EmitMergeInputChains1_0,
1464 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ_MM),
1465 2, 32,
1466 0,
1467 35,
1468 OPC_CheckChild2CondCode, ISD::SETLE,
1469 OPC_MoveSibling2,
1470 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1471 OPC_RecordNode,
1472 OPC_MoveParent,
1473 OPC_Scope, 7,
1474 OPC_CheckPatternPredicate2,
1475 OPC_EmitMergeInputChains1_0,
1476 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
1477 2, 32,
1478 8,
1479 OPC_CheckPatternPredicate, 29,
1480 OPC_EmitMergeInputChains1_0,
1481 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC),
1482 2, 32,
1483 7,
1484 OPC_CheckPatternPredicate7,
1485 OPC_EmitMergeInputChains1_0,
1486 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
1487 2, 32,
1488 0,
1489 35,
1490 OPC_CheckChild2CondCode, ISD::SETLT,
1491 OPC_MoveSibling2,
1492 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1493 OPC_RecordNode,
1494 OPC_MoveParent,
1495 OPC_Scope, 7,
1496 OPC_CheckPatternPredicate2,
1497 OPC_EmitMergeInputChains1_0,
1498 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ),
1499 2, 32,
1500 8,
1501 OPC_CheckPatternPredicate, 29,
1502 OPC_EmitMergeInputChains1_0,
1503 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC),
1504 2, 32,
1505 7,
1506 OPC_CheckPatternPredicate7,
1507 OPC_EmitMergeInputChains1_0,
1508 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ_MM),
1509 2, 32,
1510 0,
1511 47,
1512 OPC_CheckChild2CondCode, ISD::SETNE,
1513 OPC_MoveSibling2,
1514 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1515 OPC_RecordNode,
1516 OPC_MoveParent,
1517 OPC_Scope, 9,
1518 OPC_CheckPatternPredicate2,
1519 OPC_EmitMergeInputChains1_0,
1520 OPC_EmitRegisterI32, Mips::ZERO,
1521 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
1522 3, 37,
1523 7,
1524 OPC_CheckPatternPredicate5,
1525 OPC_EmitMergeInputChains1_0,
1526 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
1527 2, 32,
1528 9,
1529 OPC_CheckPatternPredicate7,
1530 OPC_EmitMergeInputChains1_0,
1531 OPC_EmitRegisterI32, Mips::ZERO,
1532 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
1533 3, 37,
1534 8,
1535 OPC_CheckPatternPredicate, 8,
1536 OPC_EmitMergeInputChains1_0,
1537 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
1538 2, 32,
1539 0,
1540 47,
1541 OPC_CheckChild2CondCode, ISD::SETEQ,
1542 OPC_MoveSibling2,
1543 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1544 OPC_RecordNode,
1545 OPC_MoveParent,
1546 OPC_Scope, 9,
1547 OPC_CheckPatternPredicate2,
1548 OPC_EmitMergeInputChains1_0,
1549 OPC_EmitRegisterI32, Mips::ZERO,
1550 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1551 3, 37,
1552 7,
1553 OPC_CheckPatternPredicate5,
1554 OPC_EmitMergeInputChains1_0,
1555 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BeqzRxImm16),
1556 2, 32,
1557 9,
1558 OPC_CheckPatternPredicate7,
1559 OPC_EmitMergeInputChains1_0,
1560 OPC_EmitRegisterI32, Mips::ZERO,
1561 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1562 3, 37,
1563 8,
1564 OPC_CheckPatternPredicate, 8,
1565 OPC_EmitMergeInputChains1_0,
1566 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1567 2, 32,
1568 0,
1569 0,
1570 58,
1571 OPC_CheckChild1Integer, 1,
1572 OPC_CheckTypeI32,
1573 OPC_Scope, 35,
1574 OPC_CheckChild2CondCode, ISD::SETLT,
1575 OPC_MoveSibling2,
1576 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1577 OPC_RecordNode,
1578 OPC_MoveParent,
1579 OPC_Scope, 7,
1580 OPC_CheckPatternPredicate2,
1581 OPC_EmitMergeInputChains1_0,
1582 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
1583 2, 32,
1584 8,
1585 OPC_CheckPatternPredicate, 29,
1586 OPC_EmitMergeInputChains1_0,
1587 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC),
1588 2, 32,
1589 7,
1590 OPC_CheckPatternPredicate7,
1591 OPC_EmitMergeInputChains1_0,
1592 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
1593 2, 32,
1594 0,
1595 16,
1596 OPC_CheckChild2CondCode, ISD::SETGE,
1597 OPC_MoveSibling2,
1598 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1599 OPC_RecordNode,
1600 OPC_MoveParent,
1601 OPC_CheckPatternPredicate, 29,
1602 OPC_EmitMergeInputChains1_0,
1603 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC),
1604 2, 32,
1605 0,
1606 58,
1607 OPC_CheckChild1Integer, 127,
1608 OPC_CheckTypeI32,
1609 OPC_Scope, 35,
1610 OPC_CheckChild2CondCode, ISD::SETGT,
1611 OPC_MoveSibling2,
1612 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1613 OPC_RecordNode,
1614 OPC_MoveParent,
1615 OPC_Scope, 7,
1616 OPC_CheckPatternPredicate2,
1617 OPC_EmitMergeInputChains1_0,
1618 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
1619 2, 32,
1620 8,
1621 OPC_CheckPatternPredicate, 29,
1622 OPC_EmitMergeInputChains1_0,
1623 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC),
1624 2, 32,
1625 7,
1626 OPC_CheckPatternPredicate7,
1627 OPC_EmitMergeInputChains1_0,
1628 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
1629 2, 32,
1630 0,
1631 16,
1632 OPC_CheckChild2CondCode, ISD::SETLE,
1633 OPC_MoveSibling2,
1634 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1635 OPC_RecordNode,
1636 OPC_MoveParent,
1637 OPC_CheckPatternPredicate, 29,
1638 OPC_EmitMergeInputChains1_0,
1639 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC),
1640 2, 32,
1641 0,
1642 8|128,7,
1643 OPC_RecordChild1,
1644 OPC_Scope, 61|128,3,
1645 OPC_MoveChild1,
1646 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1647 OPC_Scope, 56,
1648 OPC_CheckPredicate, 8,
1649 OPC_MoveParent,
1650 OPC_CheckTypeI32,
1651 OPC_Scope, 24,
1652 OPC_CheckChild2CondCode, ISD::SETGE,
1653 OPC_MoveSibling2,
1654 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1655 OPC_RecordNode,
1656 OPC_MoveParent,
1657 OPC_CheckPatternPredicate2,
1658 OPC_EmitMergeInputChains1_0,
1659 OPC_EmitConvertToTarget2,
1660 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
1661 MVT::i32, 2, 96,
1662 OPC_EmitRegisterI32, Mips::ZERO,
1663 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1664 3, 83,
1665 24,
1666 OPC_CheckChild2CondCode, ISD::SETUGE,
1667 OPC_MoveSibling2,
1668 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1669 OPC_RecordNode,
1670 OPC_MoveParent,
1671 OPC_CheckPatternPredicate2,
1672 OPC_EmitMergeInputChains1_0,
1673 OPC_EmitConvertToTarget2,
1674 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
1675 MVT::i32, 2, 96,
1676 OPC_EmitRegisterI32, Mips::ZERO,
1677 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1678 3, 83,
1679 0,
1680 62,
1681 OPC_CheckPredicate, 11,
1682 OPC_MoveParent,
1683 OPC_CheckTypeI32,
1684 OPC_Scope, 27,
1685 OPC_CheckChild2CondCode, ISD::SETGT,
1686 OPC_MoveSibling2,
1687 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1688 OPC_RecordNode,
1689 OPC_MoveParent,
1690 OPC_CheckPatternPredicate2,
1691 OPC_EmitMergeInputChains1_0,
1692 OPC_EmitConvertToTarget2,
1693 OPC_EmitNodeXForm, 2, 4,
1694 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
1695 MVT::i32, 2, 125,
1696 OPC_EmitRegisterI32, Mips::ZERO,
1697 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1698 3, 86,
1699 27,
1700 OPC_CheckChild2CondCode, ISD::SETUGT,
1701 OPC_MoveSibling2,
1702 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1703 OPC_RecordNode,
1704 OPC_MoveParent,
1705 OPC_CheckPatternPredicate2,
1706 OPC_EmitMergeInputChains1_0,
1707 OPC_EmitConvertToTarget2,
1708 OPC_EmitNodeXForm, 2, 4,
1709 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
1710 MVT::i32, 2, 125,
1711 OPC_EmitRegisterI32, Mips::ZERO,
1712 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1713 3, 86,
1714 0,
1715 56,
1716 OPC_CheckPredicate, 8,
1717 OPC_MoveParent,
1718 OPC_CheckTypeI32,
1719 OPC_Scope, 24,
1720 OPC_CheckChild2CondCode, ISD::SETGE,
1721 OPC_MoveSibling2,
1722 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1723 OPC_RecordNode,
1724 OPC_MoveParent,
1725 OPC_CheckPatternPredicate7,
1726 OPC_EmitMergeInputChains1_0,
1727 OPC_EmitConvertToTarget2,
1728 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1729 MVT::i32, 2, 96,
1730 OPC_EmitRegisterI32, Mips::ZERO,
1731 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1732 3, 83,
1733 24,
1734 OPC_CheckChild2CondCode, ISD::SETUGE,
1735 OPC_MoveSibling2,
1736 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1737 OPC_RecordNode,
1738 OPC_MoveParent,
1739 OPC_CheckPatternPredicate7,
1740 OPC_EmitMergeInputChains1_0,
1741 OPC_EmitConvertToTarget2,
1742 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1743 MVT::i32, 2, 96,
1744 OPC_EmitRegisterI32, Mips::ZERO,
1745 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1746 3, 83,
1747 0,
1748 62,
1749 OPC_CheckPredicate, 11,
1750 OPC_MoveParent,
1751 OPC_CheckTypeI32,
1752 OPC_Scope, 27,
1753 OPC_CheckChild2CondCode, ISD::SETGT,
1754 OPC_MoveSibling2,
1755 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1756 OPC_RecordNode,
1757 OPC_MoveParent,
1758 OPC_CheckPatternPredicate7,
1759 OPC_EmitMergeInputChains1_0,
1760 OPC_EmitConvertToTarget2,
1761 OPC_EmitNodeXForm, 2, 4,
1762 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1763 MVT::i32, 2, 125,
1764 OPC_EmitRegisterI32, Mips::ZERO,
1765 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1766 3, 86,
1767 27,
1768 OPC_CheckChild2CondCode, ISD::SETUGT,
1769 OPC_MoveSibling2,
1770 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1771 OPC_RecordNode,
1772 OPC_MoveParent,
1773 OPC_CheckPatternPredicate7,
1774 OPC_EmitMergeInputChains1_0,
1775 OPC_EmitConvertToTarget2,
1776 OPC_EmitNodeXForm, 2, 4,
1777 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1778 MVT::i32, 2, 125,
1779 OPC_EmitRegisterI32, Mips::ZERO,
1780 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1781 3, 86,
1782 0,
1783 54,
1784 OPC_CheckPredicate, 8,
1785 OPC_MoveParent,
1786 OPC_CheckTypeI32,
1787 OPC_Scope, 23,
1788 OPC_CheckChild2CondCode, ISD::SETGE,
1789 OPC_MoveSibling2,
1790 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1791 OPC_RecordNode,
1792 OPC_MoveParent,
1793 OPC_CheckPatternPredicate, 8,
1794 OPC_EmitMergeInputChains1_0,
1795 OPC_EmitConvertToTarget2,
1796 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1797 MVT::i32, 2, 96,
1798 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1799 2, 71,
1800 23,
1801 OPC_CheckChild2CondCode, ISD::SETUGE,
1802 OPC_MoveSibling2,
1803 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1804 OPC_RecordNode,
1805 OPC_MoveParent,
1806 OPC_CheckPatternPredicate, 8,
1807 OPC_EmitMergeInputChains1_0,
1808 OPC_EmitConvertToTarget2,
1809 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1810 MVT::i32, 2, 96,
1811 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1812 2, 71,
1813 0,
1814 60,
1815 OPC_CheckPredicate, 11,
1816 OPC_MoveParent,
1817 OPC_CheckTypeI32,
1818 OPC_Scope, 26,
1819 OPC_CheckChild2CondCode, ISD::SETGT,
1820 OPC_MoveSibling2,
1821 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1822 OPC_RecordNode,
1823 OPC_MoveParent,
1824 OPC_CheckPatternPredicate, 8,
1825 OPC_EmitMergeInputChains1_0,
1826 OPC_EmitConvertToTarget2,
1827 OPC_EmitNodeXForm, 2, 4,
1828 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1829 MVT::i32, 2, 125,
1830 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1831 2, 81,
1832 26,
1833 OPC_CheckChild2CondCode, ISD::SETUGT,
1834 OPC_MoveSibling2,
1835 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1836 OPC_RecordNode,
1837 OPC_MoveParent,
1838 OPC_CheckPatternPredicate, 8,
1839 OPC_EmitMergeInputChains1_0,
1840 OPC_EmitConvertToTarget2,
1841 OPC_EmitNodeXForm, 2, 4,
1842 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1843 MVT::i32, 2, 125,
1844 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1845 2, 81,
1846 0,
1847 20,
1848 OPC_CheckPredicate, 12,
1849 OPC_MoveParent,
1850 OPC_CheckChild2CondCode, ISD::SETEQ,
1851 OPC_CheckTypeI32,
1852 OPC_MoveSibling2,
1853 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1854 OPC_RecordNode,
1855 OPC_MoveParent,
1856 OPC_CheckPatternPredicate5,
1857 OPC_EmitMergeInputChains1_0,
1858 OPC_EmitConvertToTarget2,
1859 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpiX16),
1860 3, 64,
1861 40,
1862 OPC_CheckPredicate, 8,
1863 OPC_MoveParent,
1864 OPC_CheckTypeI32,
1865 OPC_Scope, 16,
1866 OPC_CheckChild2CondCode, ISD::SETGE,
1867 OPC_MoveSibling2,
1868 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1869 OPC_RecordNode,
1870 OPC_MoveParent,
1871 OPC_CheckPatternPredicate5,
1872 OPC_EmitMergeInputChains1_0,
1873 OPC_EmitConvertToTarget2,
1874 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltiX16),
1875 3, 64,
1876 16,
1877 OPC_CheckChild2CondCode, ISD::SETLT,
1878 OPC_MoveSibling2,
1879 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1880 OPC_RecordNode,
1881 OPC_MoveParent,
1882 OPC_CheckPatternPredicate5,
1883 OPC_EmitMergeInputChains1_0,
1884 OPC_EmitConvertToTarget2,
1885 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltiX16),
1886 3, 64,
1887 0,
1888 20,
1889 OPC_CheckPredicate, 12,
1890 OPC_MoveParent,
1891 OPC_CheckChild2CondCode, ISD::SETNE,
1892 OPC_CheckTypeI32,
1893 OPC_MoveSibling2,
1894 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1895 OPC_RecordNode,
1896 OPC_MoveParent,
1897 OPC_CheckPatternPredicate5,
1898 OPC_EmitMergeInputChains1_0,
1899 OPC_EmitConvertToTarget2,
1900 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpiX16),
1901 3, 64,
1902 0,
1903 35,
1904 OPC_CheckChild2CondCode, ISD::SETEQ,
1905 OPC_CheckTypeI32,
1906 OPC_MoveSibling2,
1907 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1908 OPC_RecordNode,
1909 OPC_MoveParent,
1910 OPC_Scope, 7,
1911 OPC_CheckPatternPredicate2,
1912 OPC_EmitMergeInputChains1_0,
1913 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1914 3, 58,
1915 7,
1916 OPC_CheckPatternPredicate7,
1917 OPC_EmitMergeInputChains1_0,
1918 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1919 3, 58,
1920 7,
1921 OPC_CheckPatternPredicate5,
1922 OPC_EmitMergeInputChains1_0,
1923 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpX16),
1924 3, 58,
1925 0,
1926 35,
1927 OPC_CheckChild2CondCode, ISD::SETNE,
1928 OPC_CheckTypeI32,
1929 OPC_MoveSibling2,
1930 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1931 OPC_RecordNode,
1932 OPC_MoveParent,
1933 OPC_Scope, 7,
1934 OPC_CheckPatternPredicate2,
1935 OPC_EmitMergeInputChains1_0,
1936 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
1937 3, 58,
1938 7,
1939 OPC_CheckPatternPredicate7,
1940 OPC_EmitMergeInputChains1_0,
1941 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
1942 3, 58,
1943 7,
1944 OPC_CheckPatternPredicate5,
1945 OPC_EmitMergeInputChains1_0,
1946 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpX16),
1947 3, 58,
1948 0,
1949 28,
1950 OPC_CheckChild2CondCode, ISD::SETLT,
1951 OPC_CheckTypeI32,
1952 OPC_MoveSibling2,
1953 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1954 OPC_RecordNode,
1955 OPC_MoveParent,
1956 OPC_Scope, 8,
1957 OPC_CheckPatternPredicate, 29,
1958 OPC_EmitMergeInputChains1_0,
1959 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC),
1960 3, 58,
1961 7,
1962 OPC_CheckPatternPredicate5,
1963 OPC_EmitMergeInputChains1_0,
1964 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
1965 3, 58,
1966 0,
1967 75,
1968 OPC_CheckChild2CondCode, ISD::SETGE,
1969 OPC_CheckTypeI32,
1970 OPC_MoveSibling2,
1971 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1972 OPC_RecordNode,
1973 OPC_MoveParent,
1974 OPC_Scope, 8,
1975 OPC_CheckPatternPredicate, 29,
1976 OPC_EmitMergeInputChains1_0,
1977 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC),
1978 3, 58,
1979 15,
1980 OPC_CheckPatternPredicate2,
1981 OPC_EmitMergeInputChains1_0,
1982 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
1983 MVT::i32, 2, 32,
1984 OPC_EmitRegisterI32, Mips::ZERO,
1985 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1986 3, 77,
1987 15,
1988 OPC_CheckPatternPredicate7,
1989 OPC_EmitMergeInputChains1_0,
1990 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
1991 MVT::i32, 2, 32,
1992 OPC_EmitRegisterI32, Mips::ZERO,
1993 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1994 3, 77,
1995 14,
1996 OPC_CheckPatternPredicate, 8,
1997 OPC_EmitMergeInputChains1_0,
1998 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
1999 MVT::i32, 2, 32,
2000 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2001 2, 65,
2002 7,
2003 OPC_CheckPatternPredicate5,
2004 OPC_EmitMergeInputChains1_0,
2005 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
2006 3, 58,
2007 0,
2008 28,
2009 OPC_CheckChild2CondCode, ISD::SETGT,
2010 OPC_CheckTypeI32,
2011 OPC_MoveSibling2,
2012 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2013 OPC_RecordNode,
2014 OPC_MoveParent,
2015 OPC_Scope, 8,
2016 OPC_CheckPatternPredicate, 29,
2017 OPC_EmitMergeInputChains1_0,
2018 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC),
2019 3, 52,
2020 7,
2021 OPC_CheckPatternPredicate5,
2022 OPC_EmitMergeInputChains1_0,
2023 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
2024 3, 52,
2025 0,
2026 75,
2027 OPC_CheckChild2CondCode, ISD::SETLE,
2028 OPC_CheckTypeI32,
2029 OPC_MoveSibling2,
2030 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2031 OPC_RecordNode,
2032 OPC_MoveParent,
2033 OPC_Scope, 8,
2034 OPC_CheckPatternPredicate, 29,
2035 OPC_EmitMergeInputChains1_0,
2036 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC),
2037 3, 52,
2038 15,
2039 OPC_CheckPatternPredicate2,
2040 OPC_EmitMergeInputChains1_0,
2041 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
2042 MVT::i32, 2, 23,
2043 OPC_EmitRegisterI32, Mips::ZERO,
2044 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2045 3, 77,
2046 15,
2047 OPC_CheckPatternPredicate7,
2048 OPC_EmitMergeInputChains1_0,
2049 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
2050 MVT::i32, 2, 23,
2051 OPC_EmitRegisterI32, Mips::ZERO,
2052 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2053 3, 77,
2054 14,
2055 OPC_CheckPatternPredicate, 8,
2056 OPC_EmitMergeInputChains1_0,
2057 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
2058 MVT::i32, 2, 23,
2059 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2060 2, 65,
2061 7,
2062 OPC_CheckPatternPredicate5,
2063 OPC_EmitMergeInputChains1_0,
2064 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
2065 3, 52,
2066 0,
2067 17,
2068 OPC_CheckChild2CondCode, ISD::SETULT,
2069 OPC_CheckTypeI32,
2070 OPC_MoveSibling2,
2071 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2072 OPC_RecordNode,
2073 OPC_MoveParent,
2074 OPC_CheckPatternPredicate, 29,
2075 OPC_EmitMergeInputChains1_0,
2076 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC),
2077 3, 58,
2078 67,
2079 OPC_CheckChild2CondCode, ISD::SETUGE,
2080 OPC_CheckTypeI32,
2081 OPC_MoveSibling2,
2082 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2083 OPC_RecordNode,
2084 OPC_MoveParent,
2085 OPC_Scope, 8,
2086 OPC_CheckPatternPredicate, 29,
2087 OPC_EmitMergeInputChains1_0,
2088 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC),
2089 3, 58,
2090 15,
2091 OPC_CheckPatternPredicate2,
2092 OPC_EmitMergeInputChains1_0,
2093 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
2094 MVT::i32, 2, 32,
2095 OPC_EmitRegisterI32, Mips::ZERO,
2096 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2097 3, 77,
2098 15,
2099 OPC_CheckPatternPredicate7,
2100 OPC_EmitMergeInputChains1_0,
2101 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2102 MVT::i32, 2, 32,
2103 OPC_EmitRegisterI32, Mips::ZERO,
2104 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2105 3, 77,
2106 14,
2107 OPC_CheckPatternPredicate, 8,
2108 OPC_EmitMergeInputChains1_0,
2109 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2110 MVT::i32, 2, 32,
2111 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2112 2, 65,
2113 0,
2114 17,
2115 OPC_CheckChild2CondCode, ISD::SETUGT,
2116 OPC_CheckTypeI32,
2117 OPC_MoveSibling2,
2118 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2119 OPC_RecordNode,
2120 OPC_MoveParent,
2121 OPC_CheckPatternPredicate, 29,
2122 OPC_EmitMergeInputChains1_0,
2123 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC),
2124 3, 52,
2125 67,
2126 OPC_CheckChild2CondCode, ISD::SETULE,
2127 OPC_CheckTypeI32,
2128 OPC_MoveSibling2,
2129 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2130 OPC_RecordNode,
2131 OPC_MoveParent,
2132 OPC_Scope, 8,
2133 OPC_CheckPatternPredicate, 29,
2134 OPC_EmitMergeInputChains1_0,
2135 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC),
2136 3, 52,
2137 15,
2138 OPC_CheckPatternPredicate2,
2139 OPC_EmitMergeInputChains1_0,
2140 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
2141 MVT::i32, 2, 23,
2142 OPC_EmitRegisterI32, Mips::ZERO,
2143 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2144 3, 77,
2145 15,
2146 OPC_CheckPatternPredicate7,
2147 OPC_EmitMergeInputChains1_0,
2148 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2149 MVT::i32, 2, 23,
2150 OPC_EmitRegisterI32, Mips::ZERO,
2151 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2152 3, 77,
2153 14,
2154 OPC_CheckPatternPredicate, 8,
2155 OPC_EmitMergeInputChains1_0,
2156 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2157 MVT::i32, 2, 23,
2158 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2159 2, 65,
2160 0,
2161 0,
2162 0,
2163 29|128,5,
2164 OPC_CheckChild0TypeI64,
2165 OPC_Scope, 35|128,1,
2166 OPC_CheckChild1Integer, 0,
2167 OPC_CheckTypeI32,
2168 OPC_Scope, 28,
2169 OPC_CheckChild2CondCode, ISD::SETGE,
2170 OPC_MoveSibling2,
2171 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2172 OPC_RecordNode,
2173 OPC_MoveParent,
2174 OPC_Scope, 8,
2175 OPC_CheckPatternPredicate, 21,
2176 OPC_EmitMergeInputChains1_0,
2177 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
2178 2, 32,
2179 8,
2180 OPC_CheckPatternPredicate, 30,
2181 OPC_EmitMergeInputChains1_0,
2182 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC64),
2183 2, 32,
2184 0,
2185 28,
2186 OPC_CheckChild2CondCode, ISD::SETGT,
2187 OPC_MoveSibling2,
2188 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2189 OPC_RecordNode,
2190 OPC_MoveParent,
2191 OPC_Scope, 8,
2192 OPC_CheckPatternPredicate, 21,
2193 OPC_EmitMergeInputChains1_0,
2194 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ64),
2195 2, 32,
2196 8,
2197 OPC_CheckPatternPredicate, 30,
2198 OPC_EmitMergeInputChains1_0,
2199 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC64),
2200 2, 32,
2201 0,
2202 28,
2203 OPC_CheckChild2CondCode, ISD::SETLE,
2204 OPC_MoveSibling2,
2205 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2206 OPC_RecordNode,
2207 OPC_MoveParent,
2208 OPC_Scope, 8,
2209 OPC_CheckPatternPredicate, 21,
2210 OPC_EmitMergeInputChains1_0,
2211 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
2212 2, 32,
2213 8,
2214 OPC_CheckPatternPredicate, 30,
2215 OPC_EmitMergeInputChains1_0,
2216 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC64),
2217 2, 32,
2218 0,
2219 28,
2220 OPC_CheckChild2CondCode, ISD::SETLT,
2221 OPC_MoveSibling2,
2222 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2223 OPC_RecordNode,
2224 OPC_MoveParent,
2225 OPC_Scope, 8,
2226 OPC_CheckPatternPredicate, 21,
2227 OPC_EmitMergeInputChains1_0,
2228 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ64),
2229 2, 32,
2230 8,
2231 OPC_CheckPatternPredicate, 30,
2232 OPC_EmitMergeInputChains1_0,
2233 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC64),
2234 2, 32,
2235 0,
2236 20,
2237 OPC_CheckChild2CondCode, ISD::SETNE,
2238 OPC_MoveSibling2,
2239 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2240 OPC_RecordNode,
2241 OPC_MoveParent,
2242 OPC_CheckPatternPredicate, 9,
2243 OPC_EmitMergeInputChains1_0,
2244 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2245 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2246 3, 37,
2247 20,
2248 OPC_CheckChild2CondCode, ISD::SETEQ,
2249 OPC_MoveSibling2,
2250 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2251 OPC_RecordNode,
2252 OPC_MoveParent,
2253 OPC_CheckPatternPredicate, 9,
2254 OPC_EmitMergeInputChains1_0,
2255 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2256 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
2257 3, 37,
2258 0,
2259 51,
2260 OPC_CheckChild1Integer, 1,
2261 OPC_CheckTypeI32,
2262 OPC_Scope, 28,
2263 OPC_CheckChild2CondCode, ISD::SETLT,
2264 OPC_MoveSibling2,
2265 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2266 OPC_RecordNode,
2267 OPC_MoveParent,
2268 OPC_Scope, 8,
2269 OPC_CheckPatternPredicate, 9,
2270 OPC_EmitMergeInputChains1_0,
2271 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
2272 2, 32,
2273 8,
2274 OPC_CheckPatternPredicate, 30,
2275 OPC_EmitMergeInputChains1_0,
2276 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC64),
2277 2, 32,
2278 0,
2279 16,
2280 OPC_CheckChild2CondCode, ISD::SETGE,
2281 OPC_MoveSibling2,
2282 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2283 OPC_RecordNode,
2284 OPC_MoveParent,
2285 OPC_CheckPatternPredicate, 30,
2286 OPC_EmitMergeInputChains1_0,
2287 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC64),
2288 2, 32,
2289 0,
2290 51,
2291 OPC_CheckChild1Integer, 127,
2292 OPC_CheckTypeI32,
2293 OPC_Scope, 28,
2294 OPC_CheckChild2CondCode, ISD::SETGT,
2295 OPC_MoveSibling2,
2296 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2297 OPC_RecordNode,
2298 OPC_MoveParent,
2299 OPC_Scope, 8,
2300 OPC_CheckPatternPredicate, 9,
2301 OPC_EmitMergeInputChains1_0,
2302 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
2303 2, 32,
2304 8,
2305 OPC_CheckPatternPredicate, 30,
2306 OPC_EmitMergeInputChains1_0,
2307 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC64),
2308 2, 32,
2309 0,
2310 16,
2311 OPC_CheckChild2CondCode, ISD::SETLE,
2312 OPC_MoveSibling2,
2313 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2314 OPC_RecordNode,
2315 OPC_MoveParent,
2316 OPC_CheckPatternPredicate, 30,
2317 OPC_EmitMergeInputChains1_0,
2318 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC64),
2319 2, 32,
2320 0,
2321 11|128,3,
2322 OPC_RecordChild1,
2323 OPC_Scope, 2|128,1,
2324 OPC_MoveChild1,
2325 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2326 OPC_Scope, 58,
2327 OPC_CheckPredicate, 8,
2328 OPC_MoveParent,
2329 OPC_CheckTypeI32,
2330 OPC_Scope, 25,
2331 OPC_CheckChild2CondCode, ISD::SETGE,
2332 OPC_MoveSibling2,
2333 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2334 OPC_RecordNode,
2335 OPC_MoveParent,
2336 OPC_CheckPatternPredicate, 9,
2337 OPC_EmitMergeInputChains1_0,
2338 OPC_EmitConvertToTarget2,
2339 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
2340 MVT::i32, 2, 96,
2341 OPC_EmitRegisterI32, Mips::ZERO,
2342 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2343 3, 83,
2344 25,
2345 OPC_CheckChild2CondCode, ISD::SETUGE,
2346 OPC_MoveSibling2,
2347 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2348 OPC_RecordNode,
2349 OPC_MoveParent,
2350 OPC_CheckPatternPredicate, 9,
2351 OPC_EmitMergeInputChains1_0,
2352 OPC_EmitConvertToTarget2,
2353 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
2354 MVT::i32, 2, 96,
2355 OPC_EmitRegisterI32, Mips::ZERO,
2356 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2357 3, 83,
2358 0,
2359 64,
2360 OPC_CheckPredicate, 11,
2361 OPC_MoveParent,
2362 OPC_CheckTypeI32,
2363 OPC_Scope, 28,
2364 OPC_CheckChild2CondCode, ISD::SETGT,
2365 OPC_MoveSibling2,
2366 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2367 OPC_RecordNode,
2368 OPC_MoveParent,
2369 OPC_CheckPatternPredicate, 9,
2370 OPC_EmitMergeInputChains1_0,
2371 OPC_EmitConvertToTarget2,
2372 OPC_EmitNodeXForm, 2, 4,
2373 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
2374 MVT::i32, 2, 125,
2375 OPC_EmitRegisterI32, Mips::ZERO,
2376 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2377 3, 86,
2378 28,
2379 OPC_CheckChild2CondCode, ISD::SETUGT,
2380 OPC_MoveSibling2,
2381 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2382 OPC_RecordNode,
2383 OPC_MoveParent,
2384 OPC_CheckPatternPredicate, 9,
2385 OPC_EmitMergeInputChains1_0,
2386 OPC_EmitConvertToTarget2,
2387 OPC_EmitNodeXForm, 2, 4,
2388 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
2389 MVT::i32, 2, 125,
2390 OPC_EmitRegisterI32, Mips::ZERO,
2391 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2392 3, 86,
2393 0,
2394 0,
2395 17,
2396 OPC_CheckChild2CondCode, ISD::SETEQ,
2397 OPC_CheckTypeI32,
2398 OPC_MoveSibling2,
2399 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2400 OPC_RecordNode,
2401 OPC_MoveParent,
2402 OPC_CheckPatternPredicate, 21,
2403 OPC_EmitMergeInputChains1_0,
2404 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
2405 3, 58,
2406 17,
2407 OPC_CheckChild2CondCode, ISD::SETNE,
2408 OPC_CheckTypeI32,
2409 OPC_MoveSibling2,
2410 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2411 OPC_RecordNode,
2412 OPC_MoveParent,
2413 OPC_CheckPatternPredicate, 21,
2414 OPC_EmitMergeInputChains1_0,
2415 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2416 3, 58,
2417 17,
2418 OPC_CheckChild2CondCode, ISD::SETLT,
2419 OPC_CheckTypeI32,
2420 OPC_MoveSibling2,
2421 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2422 OPC_RecordNode,
2423 OPC_MoveParent,
2424 OPC_CheckPatternPredicate, 30,
2425 OPC_EmitMergeInputChains1_0,
2426 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC64),
2427 3, 58,
2428 37,
2429 OPC_CheckChild2CondCode, ISD::SETGE,
2430 OPC_CheckTypeI32,
2431 OPC_MoveSibling2,
2432 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2433 OPC_RecordNode,
2434 OPC_MoveParent,
2435 OPC_Scope, 8,
2436 OPC_CheckPatternPredicate, 30,
2437 OPC_EmitMergeInputChains1_0,
2438 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC64),
2439 3, 58,
2440 16,
2441 OPC_CheckPatternPredicate, 9,
2442 OPC_EmitMergeInputChains1_0,
2443 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
2444 MVT::i32, 2, 32,
2445 OPC_EmitRegisterI32, Mips::ZERO,
2446 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2447 3, 77,
2448 0,
2449 17,
2450 OPC_CheckChild2CondCode, ISD::SETGT,
2451 OPC_CheckTypeI32,
2452 OPC_MoveSibling2,
2453 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2454 OPC_RecordNode,
2455 OPC_MoveParent,
2456 OPC_CheckPatternPredicate, 30,
2457 OPC_EmitMergeInputChains1_0,
2458 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC64),
2459 3, 52,
2460 37,
2461 OPC_CheckChild2CondCode, ISD::SETLE,
2462 OPC_CheckTypeI32,
2463 OPC_MoveSibling2,
2464 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2465 OPC_RecordNode,
2466 OPC_MoveParent,
2467 OPC_Scope, 8,
2468 OPC_CheckPatternPredicate, 30,
2469 OPC_EmitMergeInputChains1_0,
2470 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC64),
2471 3, 52,
2472 16,
2473 OPC_CheckPatternPredicate, 9,
2474 OPC_EmitMergeInputChains1_0,
2475 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
2476 MVT::i32, 2, 23,
2477 OPC_EmitRegisterI32, Mips::ZERO,
2478 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2479 3, 77,
2480 0,
2481 17,
2482 OPC_CheckChild2CondCode, ISD::SETULT,
2483 OPC_CheckTypeI32,
2484 OPC_MoveSibling2,
2485 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2486 OPC_RecordNode,
2487 OPC_MoveParent,
2488 OPC_CheckPatternPredicate, 30,
2489 OPC_EmitMergeInputChains1_0,
2490 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC64),
2491 3, 58,
2492 37,
2493 OPC_CheckChild2CondCode, ISD::SETUGE,
2494 OPC_CheckTypeI32,
2495 OPC_MoveSibling2,
2496 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2497 OPC_RecordNode,
2498 OPC_MoveParent,
2499 OPC_Scope, 8,
2500 OPC_CheckPatternPredicate, 30,
2501 OPC_EmitMergeInputChains1_0,
2502 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC64),
2503 3, 58,
2504 16,
2505 OPC_CheckPatternPredicate, 9,
2506 OPC_EmitMergeInputChains1_0,
2507 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
2508 MVT::i32, 2, 32,
2509 OPC_EmitRegisterI32, Mips::ZERO,
2510 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2511 3, 77,
2512 0,
2513 17,
2514 OPC_CheckChild2CondCode, ISD::SETUGT,
2515 OPC_CheckTypeI32,
2516 OPC_MoveSibling2,
2517 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2518 OPC_RecordNode,
2519 OPC_MoveParent,
2520 OPC_CheckPatternPredicate, 30,
2521 OPC_EmitMergeInputChains1_0,
2522 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC64),
2523 3, 52,
2524 37,
2525 OPC_CheckChild2CondCode, ISD::SETULE,
2526 OPC_CheckTypeI32,
2527 OPC_MoveSibling2,
2528 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2529 OPC_RecordNode,
2530 OPC_MoveParent,
2531 OPC_Scope, 8,
2532 OPC_CheckPatternPredicate, 30,
2533 OPC_EmitMergeInputChains1_0,
2534 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC64),
2535 3, 52,
2536 16,
2537 OPC_CheckPatternPredicate, 9,
2538 OPC_EmitMergeInputChains1_0,
2539 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
2540 MVT::i32, 2, 23,
2541 OPC_EmitRegisterI32, Mips::ZERO,
2542 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2543 3, 77,
2544 0,
2545 0,
2546 0,
2547 0,
2548 0,
2549 70,
2550 OPC_RecordChild1,
2551 OPC_Scope, 46,
2552 OPC_CheckChild1TypeI32,
2553 OPC_RecordChild2,
2554 OPC_MoveChild2,
2555 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2556 OPC_MoveParent,
2557 OPC_Scope, 9,
2558 OPC_CheckPatternPredicate2,
2559 OPC_EmitMergeInputChains1_0,
2560 OPC_EmitRegisterI32, Mips::ZERO,
2561 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
2562 3, 37,
2563 7,
2564 OPC_CheckPatternPredicate5,
2565 OPC_EmitMergeInputChains1_0,
2566 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
2567 2, 32,
2568 9,
2569 OPC_CheckPatternPredicate7,
2570 OPC_EmitMergeInputChains1_0,
2571 OPC_EmitRegisterI32, Mips::ZERO,
2572 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
2573 3, 37,
2574 8,
2575 OPC_CheckPatternPredicate, 8,
2576 OPC_EmitMergeInputChains1_0,
2577 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
2578 2, 32,
2579 0,
2580 19,
2581 OPC_CheckChild1TypeI64,
2582 OPC_RecordChild2,
2583 OPC_MoveChild2,
2584 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2585 OPC_MoveParent,
2586 OPC_CheckPatternPredicate, 9,
2587 OPC_EmitMergeInputChains1_0,
2588 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2589 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2590 3, 37,
2591 0,
2592 0,
2593 43|128,14, TARGET_VAL(ISD::AND),
2594 OPC_Scope, 55,
2595 OPC_MoveChild0,
2596 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2597 OPC_MoveChild0,
2598 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2599 OPC_RecordChild0,
2600 OPC_MoveSibling1,
2601 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2602 OPC_RecordNode,
2603 OPC_CheckPredicate3,
2604 OPC_CheckTypeI32,
2605 OPC_MoveParent,
2606 OPC_MoveSibling1,
2607 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2608 OPC_RecordNode,
2609 OPC_CheckPredicate, 12,
2610 OPC_MoveParent,
2611 OPC_CheckTypeI32,
2612 OPC_CheckPatternPredicate, 9,
2613 OPC_EmitConvertToTarget1,
2614 OPC_EmitNode1None, TARGET_VAL(Mips::DSRL),
2615 MVT::i64, 2, 47,
2616 OPC_EmitIntegerI32, Mips::sub_32,
2617 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
2618 MVT::i32, 2, 5|128,1,
2619 OPC_EmitConvertToTarget2,
2620 OPC_EmitNodeXForm, 3, 7,
2621 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi),
2622 MVT::i32, 2, 24|128,1,
2623 19,
2624 OPC_CheckAndImm, 127|128,1,
2625 OPC_MoveChild0,
2626 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2627 OPC_RecordChild0,
2628 OPC_RecordChild1,
2629 OPC_MoveParent,
2630 OPC_CheckTypeI64,
2631 OPC_CheckPatternPredicate, 28,
2632 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BADDu),
2633 MVT::i64, 2, 16,
2634 51|128,3,
2635 OPC_RecordChild0,
2636 OPC_Scope, 29|128,1,
2637 OPC_RecordChild1,
2638 OPC_Scope, 96,
2639 OPC_MoveChild1,
2640 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2641 OPC_Scope, 12,
2642 OPC_CheckPredicate, 34,
2643 OPC_MoveParent,
2644 OPC_CheckTypeI32,
2645 OPC_CheckPatternPredicate2,
2646 OPC_EmitConvertToTarget1,
2647 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi),
2648 MVT::i32, 2, 29,
2649 16,
2650 OPC_CheckPredicate, 12,
2651 OPC_MoveParent,
2652 OPC_CheckTypeI64,
2653 OPC_CheckPatternPredicate, 21,
2654 OPC_EmitConvertToTarget1,
2655 OPC_EmitNodeXForm, 3, 2,
2656 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi64),
2657 MVT::i64, 2, 47,
2658 12,
2659 OPC_CheckPredicate, 42,
2660 OPC_MoveParent,
2661 OPC_CheckTypeI32,
2662 OPC_CheckPatternPredicate4,
2663 OPC_EmitConvertToTarget1,
2664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MM),
2665 MVT::i32, 2, 29,
2666 15,
2667 OPC_CheckPredicate, 12,
2668 OPC_MoveParent,
2669 OPC_CheckTypeI32,
2670 OPC_CheckPatternPredicate4,
2671 OPC_EmitConvertToTarget1,
2672 OPC_EmitNodeXForm, 3, 2,
2673 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi_MM),
2674 MVT::i32, 2, 47,
2675 13,
2676 OPC_CheckPredicate, 42,
2677 OPC_MoveParent,
2678 OPC_CheckTypeI32,
2679 OPC_CheckPatternPredicate, 8,
2680 OPC_EmitConvertToTarget1,
2681 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MMR6),
2682 MVT::i32, 2, 29,
2683 16,
2684 OPC_CheckPredicate, 12,
2685 OPC_MoveParent,
2686 OPC_CheckTypeI32,
2687 OPC_CheckPatternPredicate, 8,
2688 OPC_EmitConvertToTarget1,
2689 OPC_EmitNodeXForm, 3, 2,
2690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_MMR6),
2691 MVT::i32, 2, 47,
2692 0,
2693 46,
2694 OPC_CheckTypeI32,
2695 OPC_Scope, 7,
2696 OPC_CheckPatternPredicate2,
2697 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND),
2698 MVT::i32, 2, 16,
2699 7,
2700 OPC_CheckPatternPredicate5,
2701 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AndRxRxRy16),
2702 MVT::i32, 2, 16,
2703 17,
2704 OPC_CheckPatternPredicate7,
2705 OPC_Scope, 6,
2706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND16_MM),
2707 MVT::i32, 2, 16,
2708 6,
2709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MM),
2710 MVT::i32, 2, 16,
2711 0,
2712 8,
2713 OPC_CheckPatternPredicate, 8,
2714 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MMR6),
2715 MVT::i32, 2, 16,
2716 0,
2717 9,
2718 OPC_CheckTypeI64,
2719 OPC_CheckPatternPredicate, 21,
2720 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND64),
2721 MVT::i64, 2, 16,
2722 0,
2723 15|128,2,
2724 OPC_MoveChild1,
2725 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2726 OPC_MoveChild0,
2727 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2728 OPC_RecordChild0,
2729 OPC_MoveChild1,
2730 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2731 OPC_Scope, 127,
2732 OPC_RecordChild0,
2733 OPC_MoveChild1,
2734 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2735 OPC_MoveChild0,
2736 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2737 OPC_CheckPredicate0,
2738 OPC_CheckTypeI32,
2739 OPC_MoveSibling1,
2740 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2741 OPC_CheckPredicate0,
2742 OPC_CheckTypeI32,
2743 OPC_MoveSibling2,
2744 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2745 OPC_CheckPredicate0,
2746 OPC_CheckTypeI32,
2747 OPC_MoveSibling3,
2748 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2749 OPC_CheckPredicate0,
2750 OPC_CheckTypeI32,
2751 OPC_MoveSibling4,
2752 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2753 OPC_CheckPredicate0,
2754 OPC_CheckTypeI32,
2755 OPC_MoveSibling5,
2756 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2757 OPC_CheckPredicate0,
2758 OPC_CheckTypeI32,
2759 OPC_MoveSibling6,
2760 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2761 OPC_CheckPredicate0,
2762 OPC_CheckTypeI32,
2763 OPC_MoveSibling7,
2764 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2765 OPC_CheckPredicate0,
2766 OPC_CheckTypeI32,
2767 OPC_MoveSibling, 8,
2768 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2769 OPC_CheckPredicate0,
2770 OPC_CheckTypeI32,
2771 OPC_MoveSibling, 9,
2772 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2773 OPC_CheckPredicate0,
2774 OPC_CheckTypeI32,
2775 OPC_MoveSibling, 10,
2776 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2777 OPC_CheckPredicate0,
2778 OPC_CheckTypeI32,
2779 OPC_MoveSibling, 11,
2780 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2781 OPC_CheckPredicate0,
2782 OPC_CheckTypeI32,
2783 OPC_MoveSibling, 12,
2784 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2785 OPC_CheckPredicate0,
2786 OPC_CheckTypeI32,
2787 OPC_MoveSibling, 13,
2788 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2789 OPC_CheckPredicate0,
2790 OPC_CheckTypeI32,
2791 OPC_MoveSibling, 14,
2792 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2793 OPC_CheckPredicate0,
2794 OPC_CheckTypeI32,
2795 OPC_MoveSibling, 15,
2796 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2797 OPC_CheckPredicate0,
2798 OPC_CheckTypeI32,
2799 OPC_MoveParent,
2800 OPC_MoveParent,
2801 OPC_MoveParent,
2802 OPC_MoveSibling1,
2803 OPC_CheckImmAllOnesV,
2804 OPC_MoveParent,
2805 OPC_MoveParent,
2806 OPC_CheckType, MVT::v16i8,
2807 OPC_CheckPatternPredicate3,
2808 OPC_CheckComplexPat1, /*#*/1,
2809 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
2810 MVT::v16i8, 2, 29,
2811 127,
2812 OPC_MoveChild0,
2813 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2814 OPC_MoveChild0,
2815 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2816 OPC_CheckPredicate0,
2817 OPC_CheckTypeI32,
2818 OPC_MoveSibling1,
2819 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2820 OPC_CheckPredicate0,
2821 OPC_CheckTypeI32,
2822 OPC_MoveSibling2,
2823 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2824 OPC_CheckPredicate0,
2825 OPC_CheckTypeI32,
2826 OPC_MoveSibling3,
2827 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2828 OPC_CheckPredicate0,
2829 OPC_CheckTypeI32,
2830 OPC_MoveSibling4,
2831 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2832 OPC_CheckPredicate0,
2833 OPC_CheckTypeI32,
2834 OPC_MoveSibling5,
2835 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2836 OPC_CheckPredicate0,
2837 OPC_CheckTypeI32,
2838 OPC_MoveSibling6,
2839 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2840 OPC_CheckPredicate0,
2841 OPC_CheckTypeI32,
2842 OPC_MoveSibling7,
2843 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2844 OPC_CheckPredicate0,
2845 OPC_CheckTypeI32,
2846 OPC_MoveSibling, 8,
2847 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2848 OPC_CheckPredicate0,
2849 OPC_CheckTypeI32,
2850 OPC_MoveSibling, 9,
2851 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2852 OPC_CheckPredicate0,
2853 OPC_CheckTypeI32,
2854 OPC_MoveSibling, 10,
2855 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2856 OPC_CheckPredicate0,
2857 OPC_CheckTypeI32,
2858 OPC_MoveSibling, 11,
2859 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2860 OPC_CheckPredicate0,
2861 OPC_CheckTypeI32,
2862 OPC_MoveSibling, 12,
2863 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2864 OPC_CheckPredicate0,
2865 OPC_CheckTypeI32,
2866 OPC_MoveSibling, 13,
2867 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2868 OPC_CheckPredicate0,
2869 OPC_CheckTypeI32,
2870 OPC_MoveSibling, 14,
2871 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2872 OPC_CheckPredicate0,
2873 OPC_CheckTypeI32,
2874 OPC_MoveSibling, 15,
2875 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2876 OPC_CheckPredicate0,
2877 OPC_CheckTypeI32,
2878 OPC_MoveParent,
2879 OPC_MoveParent,
2880 OPC_RecordChild1,
2881 OPC_MoveParent,
2882 OPC_MoveSibling1,
2883 OPC_CheckImmAllOnesV,
2884 OPC_MoveParent,
2885 OPC_MoveParent,
2886 OPC_CheckType, MVT::v16i8,
2887 OPC_CheckPatternPredicate3,
2888 OPC_CheckComplexPat1, /*#*/1,
2889 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
2890 MVT::v16i8, 2, 29,
2891 0,
2892 0,
2893 19|128,2,
2894 OPC_MoveChild0,
2895 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2896 OPC_MoveChild0,
2897 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2898 OPC_RecordChild0,
2899 OPC_MoveChild1,
2900 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2901 OPC_Scope, 0|128,1,
2902 OPC_RecordChild0,
2903 OPC_MoveChild1,
2904 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2905 OPC_MoveChild0,
2906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2907 OPC_CheckPredicate0,
2908 OPC_CheckTypeI32,
2909 OPC_MoveSibling1,
2910 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2911 OPC_CheckPredicate0,
2912 OPC_CheckTypeI32,
2913 OPC_MoveSibling2,
2914 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2915 OPC_CheckPredicate0,
2916 OPC_CheckTypeI32,
2917 OPC_MoveSibling3,
2918 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2919 OPC_CheckPredicate0,
2920 OPC_CheckTypeI32,
2921 OPC_MoveSibling4,
2922 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2923 OPC_CheckPredicate0,
2924 OPC_CheckTypeI32,
2925 OPC_MoveSibling5,
2926 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2927 OPC_CheckPredicate0,
2928 OPC_CheckTypeI32,
2929 OPC_MoveSibling6,
2930 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2931 OPC_CheckPredicate0,
2932 OPC_CheckTypeI32,
2933 OPC_MoveSibling7,
2934 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2935 OPC_CheckPredicate0,
2936 OPC_CheckTypeI32,
2937 OPC_MoveSibling, 8,
2938 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2939 OPC_CheckPredicate0,
2940 OPC_CheckTypeI32,
2941 OPC_MoveSibling, 9,
2942 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2943 OPC_CheckPredicate0,
2944 OPC_CheckTypeI32,
2945 OPC_MoveSibling, 10,
2946 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2947 OPC_CheckPredicate0,
2948 OPC_CheckTypeI32,
2949 OPC_MoveSibling, 11,
2950 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2951 OPC_CheckPredicate0,
2952 OPC_CheckTypeI32,
2953 OPC_MoveSibling, 12,
2954 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2955 OPC_CheckPredicate0,
2956 OPC_CheckTypeI32,
2957 OPC_MoveSibling, 13,
2958 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2959 OPC_CheckPredicate0,
2960 OPC_CheckTypeI32,
2961 OPC_MoveSibling, 14,
2962 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2963 OPC_CheckPredicate0,
2964 OPC_CheckTypeI32,
2965 OPC_MoveSibling, 15,
2966 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2967 OPC_CheckPredicate0,
2968 OPC_CheckTypeI32,
2969 OPC_MoveParent,
2970 OPC_MoveParent,
2971 OPC_MoveParent,
2972 OPC_MoveSibling1,
2973 OPC_CheckImmAllOnesV,
2974 OPC_MoveParent,
2975 OPC_MoveParent,
2976 OPC_RecordChild1,
2977 OPC_CheckType, MVT::v16i8,
2978 OPC_CheckPatternPredicate3,
2979 OPC_CheckComplexPat1, /*#*/0,
2980 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
2981 MVT::v16i8, 2, 23,
2982 0|128,1,
2983 OPC_MoveChild0,
2984 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2985 OPC_MoveChild0,
2986 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2987 OPC_CheckPredicate0,
2988 OPC_CheckTypeI32,
2989 OPC_MoveSibling1,
2990 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2991 OPC_CheckPredicate0,
2992 OPC_CheckTypeI32,
2993 OPC_MoveSibling2,
2994 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2995 OPC_CheckPredicate0,
2996 OPC_CheckTypeI32,
2997 OPC_MoveSibling3,
2998 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2999 OPC_CheckPredicate0,
3000 OPC_CheckTypeI32,
3001 OPC_MoveSibling4,
3002 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3003 OPC_CheckPredicate0,
3004 OPC_CheckTypeI32,
3005 OPC_MoveSibling5,
3006 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3007 OPC_CheckPredicate0,
3008 OPC_CheckTypeI32,
3009 OPC_MoveSibling6,
3010 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3011 OPC_CheckPredicate0,
3012 OPC_CheckTypeI32,
3013 OPC_MoveSibling7,
3014 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3015 OPC_CheckPredicate0,
3016 OPC_CheckTypeI32,
3017 OPC_MoveSibling, 8,
3018 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3019 OPC_CheckPredicate0,
3020 OPC_CheckTypeI32,
3021 OPC_MoveSibling, 9,
3022 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3023 OPC_CheckPredicate0,
3024 OPC_CheckTypeI32,
3025 OPC_MoveSibling, 10,
3026 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3027 OPC_CheckPredicate0,
3028 OPC_CheckTypeI32,
3029 OPC_MoveSibling, 11,
3030 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3031 OPC_CheckPredicate0,
3032 OPC_CheckTypeI32,
3033 OPC_MoveSibling, 12,
3034 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3035 OPC_CheckPredicate0,
3036 OPC_CheckTypeI32,
3037 OPC_MoveSibling, 13,
3038 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3039 OPC_CheckPredicate0,
3040 OPC_CheckTypeI32,
3041 OPC_MoveSibling, 14,
3042 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3043 OPC_CheckPredicate0,
3044 OPC_CheckTypeI32,
3045 OPC_MoveSibling, 15,
3046 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3047 OPC_CheckPredicate0,
3048 OPC_CheckTypeI32,
3049 OPC_MoveParent,
3050 OPC_MoveParent,
3051 OPC_RecordChild1,
3052 OPC_MoveParent,
3053 OPC_MoveSibling1,
3054 OPC_CheckImmAllOnesV,
3055 OPC_MoveParent,
3056 OPC_MoveParent,
3057 OPC_RecordChild1,
3058 OPC_CheckType, MVT::v16i8,
3059 OPC_CheckPatternPredicate3,
3060 OPC_CheckComplexPat1, /*#*/0,
3061 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
3062 MVT::v16i8, 2, 23,
3063 0,
3064 32|128,1,
3065 OPC_RecordChild0,
3066 OPC_MoveChild1,
3067 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3068 OPC_MoveChild0,
3069 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3070 OPC_RecordChild0,
3071 OPC_MoveChild1,
3072 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3073 OPC_Scope, 71,
3074 OPC_RecordChild0,
3075 OPC_MoveChild1,
3076 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3077 OPC_MoveChild0,
3078 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3079 OPC_CheckPredicate1,
3080 OPC_CheckTypeI32,
3081 OPC_MoveSibling1,
3082 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3083 OPC_CheckPredicate1,
3084 OPC_CheckTypeI32,
3085 OPC_MoveSibling2,
3086 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3087 OPC_CheckPredicate1,
3088 OPC_CheckTypeI32,
3089 OPC_MoveSibling3,
3090 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3091 OPC_CheckPredicate1,
3092 OPC_CheckTypeI32,
3093 OPC_MoveSibling4,
3094 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3095 OPC_CheckPredicate1,
3096 OPC_CheckTypeI32,
3097 OPC_MoveSibling5,
3098 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3099 OPC_CheckPredicate1,
3100 OPC_CheckTypeI32,
3101 OPC_MoveSibling6,
3102 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3103 OPC_CheckPredicate1,
3104 OPC_CheckTypeI32,
3105 OPC_MoveSibling7,
3106 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3107 OPC_CheckPredicate1,
3108 OPC_CheckTypeI32,
3109 OPC_MoveParent,
3110 OPC_MoveParent,
3111 OPC_MoveParent,
3112 OPC_MoveSibling1,
3113 OPC_CheckImmAllOnesV,
3114 OPC_MoveParent,
3115 OPC_MoveParent,
3116 OPC_CheckType, MVT::v8i16,
3117 OPC_CheckPatternPredicate3,
3118 OPC_CheckComplexPat1, /*#*/1,
3119 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3120 MVT::v8i16, 2, 29,
3121 71,
3122 OPC_MoveChild0,
3123 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3124 OPC_MoveChild0,
3125 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3126 OPC_CheckPredicate1,
3127 OPC_CheckTypeI32,
3128 OPC_MoveSibling1,
3129 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3130 OPC_CheckPredicate1,
3131 OPC_CheckTypeI32,
3132 OPC_MoveSibling2,
3133 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3134 OPC_CheckPredicate1,
3135 OPC_CheckTypeI32,
3136 OPC_MoveSibling3,
3137 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3138 OPC_CheckPredicate1,
3139 OPC_CheckTypeI32,
3140 OPC_MoveSibling4,
3141 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3142 OPC_CheckPredicate1,
3143 OPC_CheckTypeI32,
3144 OPC_MoveSibling5,
3145 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3146 OPC_CheckPredicate1,
3147 OPC_CheckTypeI32,
3148 OPC_MoveSibling6,
3149 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3150 OPC_CheckPredicate1,
3151 OPC_CheckTypeI32,
3152 OPC_MoveSibling7,
3153 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3154 OPC_CheckPredicate1,
3155 OPC_CheckTypeI32,
3156 OPC_MoveParent,
3157 OPC_MoveParent,
3158 OPC_RecordChild1,
3159 OPC_MoveParent,
3160 OPC_MoveSibling1,
3161 OPC_CheckImmAllOnesV,
3162 OPC_MoveParent,
3163 OPC_MoveParent,
3164 OPC_CheckType, MVT::v8i16,
3165 OPC_CheckPatternPredicate3,
3166 OPC_CheckComplexPat1, /*#*/1,
3167 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3168 MVT::v8i16, 2, 29,
3169 0,
3170 33|128,1,
3171 OPC_MoveChild0,
3172 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3173 OPC_MoveChild0,
3174 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3175 OPC_RecordChild0,
3176 OPC_MoveChild1,
3177 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3178 OPC_Scope, 72,
3179 OPC_RecordChild0,
3180 OPC_MoveChild1,
3181 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3182 OPC_MoveChild0,
3183 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3184 OPC_CheckPredicate1,
3185 OPC_CheckTypeI32,
3186 OPC_MoveSibling1,
3187 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3188 OPC_CheckPredicate1,
3189 OPC_CheckTypeI32,
3190 OPC_MoveSibling2,
3191 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3192 OPC_CheckPredicate1,
3193 OPC_CheckTypeI32,
3194 OPC_MoveSibling3,
3195 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3196 OPC_CheckPredicate1,
3197 OPC_CheckTypeI32,
3198 OPC_MoveSibling4,
3199 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3200 OPC_CheckPredicate1,
3201 OPC_CheckTypeI32,
3202 OPC_MoveSibling5,
3203 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3204 OPC_CheckPredicate1,
3205 OPC_CheckTypeI32,
3206 OPC_MoveSibling6,
3207 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3208 OPC_CheckPredicate1,
3209 OPC_CheckTypeI32,
3210 OPC_MoveSibling7,
3211 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3212 OPC_CheckPredicate1,
3213 OPC_CheckTypeI32,
3214 OPC_MoveParent,
3215 OPC_MoveParent,
3216 OPC_MoveParent,
3217 OPC_MoveSibling1,
3218 OPC_CheckImmAllOnesV,
3219 OPC_MoveParent,
3220 OPC_MoveParent,
3221 OPC_RecordChild1,
3222 OPC_CheckType, MVT::v8i16,
3223 OPC_CheckPatternPredicate3,
3224 OPC_CheckComplexPat1, /*#*/0,
3225 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3226 MVT::v8i16, 2, 23,
3227 72,
3228 OPC_MoveChild0,
3229 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3230 OPC_MoveChild0,
3231 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3232 OPC_CheckPredicate1,
3233 OPC_CheckTypeI32,
3234 OPC_MoveSibling1,
3235 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3236 OPC_CheckPredicate1,
3237 OPC_CheckTypeI32,
3238 OPC_MoveSibling2,
3239 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3240 OPC_CheckPredicate1,
3241 OPC_CheckTypeI32,
3242 OPC_MoveSibling3,
3243 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3244 OPC_CheckPredicate1,
3245 OPC_CheckTypeI32,
3246 OPC_MoveSibling4,
3247 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3248 OPC_CheckPredicate1,
3249 OPC_CheckTypeI32,
3250 OPC_MoveSibling5,
3251 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3252 OPC_CheckPredicate1,
3253 OPC_CheckTypeI32,
3254 OPC_MoveSibling6,
3255 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3256 OPC_CheckPredicate1,
3257 OPC_CheckTypeI32,
3258 OPC_MoveSibling7,
3259 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3260 OPC_CheckPredicate1,
3261 OPC_CheckTypeI32,
3262 OPC_MoveParent,
3263 OPC_MoveParent,
3264 OPC_RecordChild1,
3265 OPC_MoveParent,
3266 OPC_MoveSibling1,
3267 OPC_CheckImmAllOnesV,
3268 OPC_MoveParent,
3269 OPC_MoveParent,
3270 OPC_RecordChild1,
3271 OPC_CheckType, MVT::v8i16,
3272 OPC_CheckPatternPredicate3,
3273 OPC_CheckComplexPat1, /*#*/0,
3274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3275 MVT::v8i16, 2, 23,
3276 0,
3277 116,
3278 OPC_RecordChild0,
3279 OPC_MoveChild1,
3280 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3281 OPC_MoveChild0,
3282 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3283 OPC_RecordChild0,
3284 OPC_MoveChild1,
3285 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3286 OPC_Scope, 49,
3287 OPC_RecordChild0,
3288 OPC_MoveChild1,
3289 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3290 OPC_MoveChild0,
3291 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3292 OPC_CheckPredicate2,
3293 OPC_CheckTypeI32,
3294 OPC_MoveSibling1,
3295 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3296 OPC_CheckPredicate2,
3297 OPC_CheckTypeI32,
3298 OPC_MoveSibling2,
3299 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3300 OPC_CheckPredicate2,
3301 OPC_CheckTypeI32,
3302 OPC_MoveSibling3,
3303 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3304 OPC_CheckPredicate2,
3305 OPC_CheckTypeI32,
3306 OPC_MoveParent,
3307 OPC_MoveParent,
3308 OPC_CheckType, MVT::v4i32,
3309 OPC_MoveParent,
3310 OPC_MoveSibling1,
3311 OPC_CheckImmAllOnesV,
3312 OPC_MoveParent,
3313 OPC_MoveParent,
3314 OPC_CheckType, MVT::v4i32,
3315 OPC_CheckPatternPredicate3,
3316 OPC_CheckComplexPat1, /*#*/1,
3317 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3318 MVT::v4i32, 2, 29,
3319 49,
3320 OPC_MoveChild0,
3321 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3322 OPC_MoveChild0,
3323 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3324 OPC_CheckPredicate2,
3325 OPC_CheckTypeI32,
3326 OPC_MoveSibling1,
3327 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3328 OPC_CheckPredicate2,
3329 OPC_CheckTypeI32,
3330 OPC_MoveSibling2,
3331 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3332 OPC_CheckPredicate2,
3333 OPC_CheckTypeI32,
3334 OPC_MoveSibling3,
3335 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3336 OPC_CheckPredicate2,
3337 OPC_CheckTypeI32,
3338 OPC_MoveParent,
3339 OPC_MoveParent,
3340 OPC_RecordChild1,
3341 OPC_CheckType, MVT::v4i32,
3342 OPC_MoveParent,
3343 OPC_MoveSibling1,
3344 OPC_CheckImmAllOnesV,
3345 OPC_MoveParent,
3346 OPC_MoveParent,
3347 OPC_CheckType, MVT::v4i32,
3348 OPC_CheckPatternPredicate3,
3349 OPC_CheckComplexPat1, /*#*/1,
3350 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3351 MVT::v4i32, 2, 29,
3352 0,
3353 117,
3354 OPC_MoveChild0,
3355 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3356 OPC_MoveChild0,
3357 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3358 OPC_RecordChild0,
3359 OPC_MoveChild1,
3360 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3361 OPC_Scope, 50,
3362 OPC_RecordChild0,
3363 OPC_MoveChild1,
3364 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3365 OPC_MoveChild0,
3366 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3367 OPC_CheckPredicate2,
3368 OPC_CheckTypeI32,
3369 OPC_MoveSibling1,
3370 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3371 OPC_CheckPredicate2,
3372 OPC_CheckTypeI32,
3373 OPC_MoveSibling2,
3374 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3375 OPC_CheckPredicate2,
3376 OPC_CheckTypeI32,
3377 OPC_MoveSibling3,
3378 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3379 OPC_CheckPredicate2,
3380 OPC_CheckTypeI32,
3381 OPC_MoveParent,
3382 OPC_MoveParent,
3383 OPC_CheckType, MVT::v4i32,
3384 OPC_MoveParent,
3385 OPC_MoveSibling1,
3386 OPC_CheckImmAllOnesV,
3387 OPC_MoveParent,
3388 OPC_MoveParent,
3389 OPC_RecordChild1,
3390 OPC_CheckType, MVT::v4i32,
3391 OPC_CheckPatternPredicate3,
3392 OPC_CheckComplexPat1, /*#*/0,
3393 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3394 MVT::v4i32, 2, 23,
3395 50,
3396 OPC_MoveChild0,
3397 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3398 OPC_MoveChild0,
3399 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3400 OPC_CheckPredicate2,
3401 OPC_CheckTypeI32,
3402 OPC_MoveSibling1,
3403 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3404 OPC_CheckPredicate2,
3405 OPC_CheckTypeI32,
3406 OPC_MoveSibling2,
3407 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3408 OPC_CheckPredicate2,
3409 OPC_CheckTypeI32,
3410 OPC_MoveSibling3,
3411 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3412 OPC_CheckPredicate2,
3413 OPC_CheckTypeI32,
3414 OPC_MoveParent,
3415 OPC_MoveParent,
3416 OPC_RecordChild1,
3417 OPC_CheckType, MVT::v4i32,
3418 OPC_MoveParent,
3419 OPC_MoveSibling1,
3420 OPC_CheckImmAllOnesV,
3421 OPC_MoveParent,
3422 OPC_MoveParent,
3423 OPC_RecordChild1,
3424 OPC_CheckType, MVT::v4i32,
3425 OPC_CheckPatternPredicate3,
3426 OPC_CheckComplexPat1, /*#*/0,
3427 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3428 MVT::v4i32, 2, 23,
3429 0,
3430 84,
3431 OPC_RecordChild0,
3432 OPC_MoveChild1,
3433 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3434 OPC_MoveChild0,
3435 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3436 OPC_RecordChild0,
3437 OPC_MoveChild1,
3438 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3439 OPC_Scope, 33,
3440 OPC_RecordChild0,
3441 OPC_MoveChild1,
3442 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3443 OPC_MoveChild0,
3444 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3445 OPC_CheckType, MVT::v4i32,
3446 OPC_MoveParent,
3447 OPC_CheckPredicate, 14,
3448 OPC_MoveParent,
3449 OPC_CheckType, MVT::v2i64,
3450 OPC_MoveParent,
3451 OPC_MoveSibling1,
3452 OPC_CheckImmAllOnesV,
3453 OPC_MoveParent,
3454 OPC_MoveParent,
3455 OPC_CheckType, MVT::v2i64,
3456 OPC_CheckPatternPredicate3,
3457 OPC_CheckComplexPat1, /*#*/1,
3458 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3459 MVT::v2i64, 2, 29,
3460 33,
3461 OPC_MoveChild0,
3462 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3463 OPC_MoveChild0,
3464 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3465 OPC_CheckType, MVT::v4i32,
3466 OPC_MoveParent,
3467 OPC_CheckPredicate, 14,
3468 OPC_MoveParent,
3469 OPC_RecordChild1,
3470 OPC_CheckType, MVT::v2i64,
3471 OPC_MoveParent,
3472 OPC_MoveSibling1,
3473 OPC_CheckImmAllOnesV,
3474 OPC_MoveParent,
3475 OPC_MoveParent,
3476 OPC_CheckType, MVT::v2i64,
3477 OPC_CheckPatternPredicate3,
3478 OPC_CheckComplexPat1, /*#*/1,
3479 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3480 MVT::v2i64, 2, 29,
3481 0,
3482 85,
3483 OPC_MoveChild0,
3484 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3485 OPC_MoveChild0,
3486 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3487 OPC_RecordChild0,
3488 OPC_MoveChild1,
3489 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3490 OPC_Scope, 34,
3491 OPC_RecordChild0,
3492 OPC_MoveChild1,
3493 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3494 OPC_MoveChild0,
3495 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3496 OPC_CheckType, MVT::v4i32,
3497 OPC_MoveParent,
3498 OPC_CheckPredicate, 14,
3499 OPC_MoveParent,
3500 OPC_CheckType, MVT::v2i64,
3501 OPC_MoveParent,
3502 OPC_MoveSibling1,
3503 OPC_CheckImmAllOnesV,
3504 OPC_MoveParent,
3505 OPC_MoveParent,
3506 OPC_RecordChild1,
3507 OPC_CheckType, MVT::v2i64,
3508 OPC_CheckPatternPredicate3,
3509 OPC_CheckComplexPat1, /*#*/0,
3510 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3511 MVT::v2i64, 2, 23,
3512 34,
3513 OPC_MoveChild0,
3514 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3515 OPC_MoveChild0,
3516 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3517 OPC_CheckType, MVT::v4i32,
3518 OPC_MoveParent,
3519 OPC_CheckPredicate, 14,
3520 OPC_MoveParent,
3521 OPC_RecordChild1,
3522 OPC_CheckType, MVT::v2i64,
3523 OPC_MoveParent,
3524 OPC_MoveSibling1,
3525 OPC_CheckImmAllOnesV,
3526 OPC_MoveParent,
3527 OPC_MoveParent,
3528 OPC_RecordChild1,
3529 OPC_CheckType, MVT::v2i64,
3530 OPC_CheckPatternPredicate3,
3531 OPC_CheckComplexPat1, /*#*/0,
3532 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3533 MVT::v2i64, 2, 23,
3534 0,
3535 78,
3536 OPC_RecordChild0,
3537 OPC_MoveChild1,
3538 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3539 OPC_MoveChild0,
3540 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3541 OPC_RecordChild0,
3542 OPC_RecordChild1,
3543 OPC_Scope, 28,
3544 OPC_MoveSibling1,
3545 OPC_CheckImmAllOnesV,
3546 OPC_MoveParent,
3547 OPC_MoveParent,
3548 OPC_SwitchType , 9, MVT::v16i8,
3549 OPC_CheckPatternPredicate0,
3550 OPC_CheckComplexPat1, /*#*/1,
3551 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
3552 MVT::v16i8, 2, 29,
3553 9, MVT::v8i16,
3554 OPC_CheckPatternPredicate0,
3555 OPC_CheckComplexPat1, /*#*/1,
3556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3557 MVT::v8i16, 2, 29,
3558 0,
3559 17,
3560 OPC_CheckChild1Type, MVT::v4i32,
3561 OPC_MoveSibling1,
3562 OPC_CheckImmAllOnesV,
3563 OPC_MoveParent,
3564 OPC_MoveParent,
3565 OPC_CheckType, MVT::v4i32,
3566 OPC_CheckPatternPredicate0,
3567 OPC_CheckComplexPat1, /*#*/1,
3568 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3569 MVT::v4i32, 2, 29,
3570 17,
3571 OPC_CheckChild1Type, MVT::v2i64,
3572 OPC_MoveSibling1,
3573 OPC_CheckImmAllOnesV,
3574 OPC_MoveParent,
3575 OPC_MoveParent,
3576 OPC_CheckType, MVT::v2i64,
3577 OPC_CheckPatternPredicate0,
3578 OPC_CheckComplexPat1, /*#*/1,
3579 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3580 MVT::v2i64, 2, 29,
3581 0,
3582 80,
3583 OPC_MoveChild0,
3584 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3585 OPC_MoveChild0,
3586 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3587 OPC_RecordChild0,
3588 OPC_RecordChild1,
3589 OPC_Scope, 29,
3590 OPC_MoveSibling1,
3591 OPC_CheckImmAllOnesV,
3592 OPC_MoveParent,
3593 OPC_MoveParent,
3594 OPC_RecordChild1,
3595 OPC_SwitchType , 9, MVT::v16i8,
3596 OPC_CheckPatternPredicate0,
3597 OPC_CheckComplexPat1, /*#*/0,
3598 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
3599 MVT::v16i8, 2, 23,
3600 9, MVT::v8i16,
3601 OPC_CheckPatternPredicate0,
3602 OPC_CheckComplexPat1, /*#*/0,
3603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3604 MVT::v8i16, 2, 23,
3605 0,
3606 18,
3607 OPC_CheckChild1Type, MVT::v4i32,
3608 OPC_MoveSibling1,
3609 OPC_CheckImmAllOnesV,
3610 OPC_MoveParent,
3611 OPC_MoveParent,
3612 OPC_RecordChild1,
3613 OPC_CheckType, MVT::v4i32,
3614 OPC_CheckPatternPredicate0,
3615 OPC_CheckComplexPat1, /*#*/0,
3616 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3617 MVT::v4i32, 2, 23,
3618 18,
3619 OPC_CheckChild1Type, MVT::v2i64,
3620 OPC_MoveSibling1,
3621 OPC_CheckImmAllOnesV,
3622 OPC_MoveParent,
3623 OPC_MoveParent,
3624 OPC_RecordChild1,
3625 OPC_CheckType, MVT::v2i64,
3626 OPC_CheckPatternPredicate0,
3627 OPC_CheckComplexPat1, /*#*/0,
3628 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3629 MVT::v2i64, 2, 23,
3630 0,
3631 22|128,1,
3632 OPC_RecordChild0,
3633 OPC_RecordChild1,
3634 OPC_SwitchType , 48, MVT::v16i8,
3635 OPC_CheckPatternPredicate0,
3636 OPC_Scope, 8,
3637 OPC_CheckComplexPat6, /*#*/1,
3638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
3639 MVT::v16i8, 2, 29,
3640 9,
3641 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
3642 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
3643 MVT::v16i8, 2, 29,
3644 8,
3645 OPC_CheckComplexPat6, /*#*/0,
3646 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
3647 MVT::v16i8, 2, 32,
3648 9,
3649 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
3650 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
3651 MVT::v16i8, 2, 32,
3652 6,
3653 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V),
3654 MVT::v16i8, 2, 16,
3655 0,
3656 30, MVT::v8i16,
3657 OPC_CheckPatternPredicate0,
3658 OPC_Scope, 9,
3659 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
3660 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
3661 MVT::v8i16, 2, 29,
3662 9,
3663 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
3664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
3665 MVT::v8i16, 2, 32,
3666 6,
3667 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_H_PSEUDO),
3668 MVT::v8i16, 2, 16,
3669 0,
3670 30, MVT::v4i32,
3671 OPC_CheckPatternPredicate0,
3672 OPC_Scope, 9,
3673 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
3674 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
3675 MVT::v4i32, 2, 29,
3676 9,
3677 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
3678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
3679 MVT::v4i32, 2, 32,
3680 6,
3681 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_W_PSEUDO),
3682 MVT::v4i32, 2, 16,
3683 0,
3684 30, MVT::v2i64,
3685 OPC_CheckPatternPredicate0,
3686 OPC_Scope, 9,
3687 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
3688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
3689 MVT::v2i64, 2, 29,
3690 9,
3691 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
3692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
3693 MVT::v2i64, 2, 32,
3694 6,
3695 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_D_PSEUDO),
3696 MVT::v2i64, 2, 16,
3697 0,
3698 0,
3699 0,
3700 8|128,7, TARGET_VAL(ISD::SHL),
3701 OPC_RecordChild0,
3702 OPC_Scope, 9|128,1,
3703 OPC_MoveChild1,
3704 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3705 OPC_Scope, 49,
3706 OPC_RecordChild0,
3707 OPC_MoveChild0,
3708 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3709 OPC_Scope, 19,
3710 OPC_CheckPredicate3,
3711 OPC_MoveSibling1,
3712 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3713 OPC_MoveParent,
3714 OPC_CheckPredicate, 24,
3715 OPC_CheckTypeI32,
3716 OPC_MoveParent,
3717 OPC_CheckTypeI32,
3718 OPC_CheckPatternPredicate2,
3719 OPC_EmitConvertToTarget1,
3720 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
3721 MVT::i32, 2, 29,
3722 21,
3723 OPC_CheckPredicate, 16,
3724 OPC_MoveSibling1,
3725 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3726 OPC_MoveParent,
3727 OPC_CheckPredicate, 25,
3728 OPC_CheckTypeI32,
3729 OPC_MoveParent,
3730 OPC_CheckTypeI64,
3731 OPC_CheckPatternPredicate, 26,
3732 OPC_EmitConvertToTarget1,
3733 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
3734 MVT::i64, 2, 29,
3735 0,
3736 45,
3737 OPC_MoveChild0,
3738 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3739 OPC_MoveSibling1,
3740 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3741 OPC_RecordNode,
3742 OPC_Scope, 15,
3743 OPC_CheckPredicate3,
3744 OPC_MoveParent,
3745 OPC_CheckPredicate, 24,
3746 OPC_CheckTypeI32,
3747 OPC_MoveParent,
3748 OPC_CheckTypeI32,
3749 OPC_CheckPatternPredicate2,
3750 OPC_EmitConvertToTarget1,
3751 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
3752 MVT::i32, 2, 29,
3753 17,
3754 OPC_CheckPredicate, 16,
3755 OPC_MoveParent,
3756 OPC_CheckPredicate, 25,
3757 OPC_CheckTypeI32,
3758 OPC_MoveParent,
3759 OPC_CheckTypeI64,
3760 OPC_CheckPatternPredicate, 26,
3761 OPC_EmitConvertToTarget1,
3762 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
3763 MVT::i64, 2, 29,
3764 0,
3765 34,
3766 OPC_RecordChild0,
3767 OPC_MoveChild1,
3768 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3769 OPC_MoveParent,
3770 OPC_CheckTypeI32,
3771 OPC_Scope, 11,
3772 OPC_CheckPredicate, 24,
3773 OPC_MoveParent,
3774 OPC_CheckTypeI32,
3775 OPC_CheckPatternPredicate2,
3776 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
3777 MVT::i32, 2, 16,
3778 12,
3779 OPC_CheckPredicate, 25,
3780 OPC_MoveParent,
3781 OPC_CheckTypeI64,
3782 OPC_CheckPatternPredicate, 26,
3783 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
3784 MVT::i64, 2, 16,
3785 0,
3786 0,
3787 71,
3788 OPC_RecordChild1,
3789 OPC_MoveChild1,
3790 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3791 OPC_CheckTypeI32,
3792 OPC_Scope, 11,
3793 OPC_CheckPredicate3,
3794 OPC_MoveParent,
3795 OPC_CheckTypeI32,
3796 OPC_CheckPatternPredicate2,
3797 OPC_EmitConvertToTarget1,
3798 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
3799 MVT::i32, 2, 29,
3800 13,
3801 OPC_CheckPredicate, 16,
3802 OPC_MoveParent,
3803 OPC_CheckTypeI64,
3804 OPC_CheckPatternPredicate, 26,
3805 OPC_EmitConvertToTarget1,
3806 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
3807 MVT::i64, 2, 29,
3808 11,
3809 OPC_CheckPredicate3,
3810 OPC_MoveParent,
3811 OPC_CheckTypeI32,
3812 OPC_CheckPatternPredicate5,
3813 OPC_EmitConvertToTarget1,
3814 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
3815 MVT::i32, 2, 29,
3816 12,
3817 OPC_CheckPredicate, 43,
3818 OPC_MoveParent,
3819 OPC_CheckTypeI32,
3820 OPC_CheckPatternPredicate4,
3821 OPC_EmitConvertToTarget1,
3822 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL16_MM),
3823 MVT::i32, 2, 29,
3824 11,
3825 OPC_CheckPredicate3,
3826 OPC_MoveParent,
3827 OPC_CheckTypeI32,
3828 OPC_CheckPatternPredicate4,
3829 OPC_EmitConvertToTarget1,
3830 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_MM),
3831 MVT::i32, 2, 29,
3832 0,
3833 23,
3834 OPC_MoveChild1,
3835 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3836 OPC_RecordChild0,
3837 OPC_MoveParent,
3838 OPC_CheckTypeI64,
3839 OPC_CheckPatternPredicate, 9,
3840 OPC_EmitIntegerI32, Mips::sub_32,
3841 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3842 MVT::i32, 2, 32,
3843 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
3844 MVT::i64, 2, 47,
3845 42,
3846 OPC_RecordChild1,
3847 OPC_CheckChild1TypeI32,
3848 OPC_SwitchType , 26, MVT::i32,
3849 OPC_Scope, 7,
3850 OPC_CheckPatternPredicate2,
3851 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
3852 MVT::i32, 2, 16,
3853 7,
3854 OPC_CheckPatternPredicate5,
3855 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllvRxRy16),
3856 MVT::i32, 2, 16,
3857 7,
3858 OPC_CheckPatternPredicate4,
3859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV_MM),
3860 MVT::i32, 2, 16,
3861 0,
3862 8, MVT::i64,
3863 OPC_CheckPatternPredicate, 26,
3864 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
3865 MVT::i64, 2, 16,
3866 0,
3867 14|128,4,
3868 OPC_MoveChild1,
3869 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3870 OPC_Scope, 121,
3871 OPC_RecordChild0,
3872 OPC_MoveChild1,
3873 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3874 OPC_MoveChild0,
3875 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3876 OPC_CheckPredicate0,
3877 OPC_CheckTypeI32,
3878 OPC_MoveSibling1,
3879 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3880 OPC_CheckPredicate0,
3881 OPC_CheckTypeI32,
3882 OPC_MoveSibling2,
3883 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3884 OPC_CheckPredicate0,
3885 OPC_CheckTypeI32,
3886 OPC_MoveSibling3,
3887 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3888 OPC_CheckPredicate0,
3889 OPC_CheckTypeI32,
3890 OPC_MoveSibling4,
3891 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3892 OPC_CheckPredicate0,
3893 OPC_CheckTypeI32,
3894 OPC_MoveSibling5,
3895 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3896 OPC_CheckPredicate0,
3897 OPC_CheckTypeI32,
3898 OPC_MoveSibling6,
3899 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3900 OPC_CheckPredicate0,
3901 OPC_CheckTypeI32,
3902 OPC_MoveSibling7,
3903 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3904 OPC_CheckPredicate0,
3905 OPC_CheckTypeI32,
3906 OPC_MoveSibling, 8,
3907 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3908 OPC_CheckPredicate0,
3909 OPC_CheckTypeI32,
3910 OPC_MoveSibling, 9,
3911 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3912 OPC_CheckPredicate0,
3913 OPC_CheckTypeI32,
3914 OPC_MoveSibling, 10,
3915 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3916 OPC_CheckPredicate0,
3917 OPC_CheckTypeI32,
3918 OPC_MoveSibling, 11,
3919 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3920 OPC_CheckPredicate0,
3921 OPC_CheckTypeI32,
3922 OPC_MoveSibling, 12,
3923 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3924 OPC_CheckPredicate0,
3925 OPC_CheckTypeI32,
3926 OPC_MoveSibling, 13,
3927 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3928 OPC_CheckPredicate0,
3929 OPC_CheckTypeI32,
3930 OPC_MoveSibling, 14,
3931 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3932 OPC_CheckPredicate0,
3933 OPC_CheckTypeI32,
3934 OPC_MoveSibling, 15,
3935 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3936 OPC_CheckPredicate0,
3937 OPC_CheckTypeI32,
3938 OPC_MoveParent,
3939 OPC_MoveParent,
3940 OPC_MoveParent,
3941 OPC_CheckType, MVT::v16i8,
3942 OPC_CheckPatternPredicate3,
3943 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
3944 MVT::v16i8, 2, 16,
3945 121,
3946 OPC_MoveChild0,
3947 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3948 OPC_MoveChild0,
3949 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3950 OPC_CheckPredicate0,
3951 OPC_CheckTypeI32,
3952 OPC_MoveSibling1,
3953 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3954 OPC_CheckPredicate0,
3955 OPC_CheckTypeI32,
3956 OPC_MoveSibling2,
3957 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3958 OPC_CheckPredicate0,
3959 OPC_CheckTypeI32,
3960 OPC_MoveSibling3,
3961 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3962 OPC_CheckPredicate0,
3963 OPC_CheckTypeI32,
3964 OPC_MoveSibling4,
3965 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3966 OPC_CheckPredicate0,
3967 OPC_CheckTypeI32,
3968 OPC_MoveSibling5,
3969 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3970 OPC_CheckPredicate0,
3971 OPC_CheckTypeI32,
3972 OPC_MoveSibling6,
3973 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3974 OPC_CheckPredicate0,
3975 OPC_CheckTypeI32,
3976 OPC_MoveSibling7,
3977 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3978 OPC_CheckPredicate0,
3979 OPC_CheckTypeI32,
3980 OPC_MoveSibling, 8,
3981 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3982 OPC_CheckPredicate0,
3983 OPC_CheckTypeI32,
3984 OPC_MoveSibling, 9,
3985 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3986 OPC_CheckPredicate0,
3987 OPC_CheckTypeI32,
3988 OPC_MoveSibling, 10,
3989 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3990 OPC_CheckPredicate0,
3991 OPC_CheckTypeI32,
3992 OPC_MoveSibling, 11,
3993 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3994 OPC_CheckPredicate0,
3995 OPC_CheckTypeI32,
3996 OPC_MoveSibling, 12,
3997 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3998 OPC_CheckPredicate0,
3999 OPC_CheckTypeI32,
4000 OPC_MoveSibling, 13,
4001 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4002 OPC_CheckPredicate0,
4003 OPC_CheckTypeI32,
4004 OPC_MoveSibling, 14,
4005 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4006 OPC_CheckPredicate0,
4007 OPC_CheckTypeI32,
4008 OPC_MoveSibling, 15,
4009 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4010 OPC_CheckPredicate0,
4011 OPC_CheckTypeI32,
4012 OPC_MoveParent,
4013 OPC_MoveParent,
4014 OPC_RecordChild1,
4015 OPC_MoveParent,
4016 OPC_CheckType, MVT::v16i8,
4017 OPC_CheckPatternPredicate3,
4018 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
4019 MVT::v16i8, 2, 16,
4020 65,
4021 OPC_RecordChild0,
4022 OPC_MoveChild1,
4023 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4024 OPC_MoveChild0,
4025 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4026 OPC_CheckPredicate1,
4027 OPC_CheckTypeI32,
4028 OPC_MoveSibling1,
4029 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4030 OPC_CheckPredicate1,
4031 OPC_CheckTypeI32,
4032 OPC_MoveSibling2,
4033 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4034 OPC_CheckPredicate1,
4035 OPC_CheckTypeI32,
4036 OPC_MoveSibling3,
4037 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4038 OPC_CheckPredicate1,
4039 OPC_CheckTypeI32,
4040 OPC_MoveSibling4,
4041 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4042 OPC_CheckPredicate1,
4043 OPC_CheckTypeI32,
4044 OPC_MoveSibling5,
4045 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4046 OPC_CheckPredicate1,
4047 OPC_CheckTypeI32,
4048 OPC_MoveSibling6,
4049 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4050 OPC_CheckPredicate1,
4051 OPC_CheckTypeI32,
4052 OPC_MoveSibling7,
4053 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4054 OPC_CheckPredicate1,
4055 OPC_CheckTypeI32,
4056 OPC_MoveParent,
4057 OPC_MoveParent,
4058 OPC_MoveParent,
4059 OPC_CheckType, MVT::v8i16,
4060 OPC_CheckPatternPredicate3,
4061 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
4062 MVT::v8i16, 2, 16,
4063 65,
4064 OPC_MoveChild0,
4065 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4066 OPC_MoveChild0,
4067 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4068 OPC_CheckPredicate1,
4069 OPC_CheckTypeI32,
4070 OPC_MoveSibling1,
4071 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4072 OPC_CheckPredicate1,
4073 OPC_CheckTypeI32,
4074 OPC_MoveSibling2,
4075 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4076 OPC_CheckPredicate1,
4077 OPC_CheckTypeI32,
4078 OPC_MoveSibling3,
4079 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4080 OPC_CheckPredicate1,
4081 OPC_CheckTypeI32,
4082 OPC_MoveSibling4,
4083 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4084 OPC_CheckPredicate1,
4085 OPC_CheckTypeI32,
4086 OPC_MoveSibling5,
4087 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4088 OPC_CheckPredicate1,
4089 OPC_CheckTypeI32,
4090 OPC_MoveSibling6,
4091 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4092 OPC_CheckPredicate1,
4093 OPC_CheckTypeI32,
4094 OPC_MoveSibling7,
4095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4096 OPC_CheckPredicate1,
4097 OPC_CheckTypeI32,
4098 OPC_MoveParent,
4099 OPC_MoveParent,
4100 OPC_RecordChild1,
4101 OPC_MoveParent,
4102 OPC_CheckType, MVT::v8i16,
4103 OPC_CheckPatternPredicate3,
4104 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
4105 MVT::v8i16, 2, 16,
4106 43,
4107 OPC_RecordChild0,
4108 OPC_MoveChild1,
4109 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4110 OPC_MoveChild0,
4111 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4112 OPC_CheckPredicate2,
4113 OPC_CheckTypeI32,
4114 OPC_MoveSibling1,
4115 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4116 OPC_CheckPredicate2,
4117 OPC_CheckTypeI32,
4118 OPC_MoveSibling2,
4119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4120 OPC_CheckPredicate2,
4121 OPC_CheckTypeI32,
4122 OPC_MoveSibling3,
4123 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4124 OPC_CheckPredicate2,
4125 OPC_CheckTypeI32,
4126 OPC_MoveParent,
4127 OPC_MoveParent,
4128 OPC_CheckType, MVT::v4i32,
4129 OPC_MoveParent,
4130 OPC_CheckType, MVT::v4i32,
4131 OPC_CheckPatternPredicate3,
4132 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
4133 MVT::v4i32, 2, 16,
4134 43,
4135 OPC_MoveChild0,
4136 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4137 OPC_MoveChild0,
4138 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4139 OPC_CheckPredicate2,
4140 OPC_CheckTypeI32,
4141 OPC_MoveSibling1,
4142 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4143 OPC_CheckPredicate2,
4144 OPC_CheckTypeI32,
4145 OPC_MoveSibling2,
4146 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4147 OPC_CheckPredicate2,
4148 OPC_CheckTypeI32,
4149 OPC_MoveSibling3,
4150 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4151 OPC_CheckPredicate2,
4152 OPC_CheckTypeI32,
4153 OPC_MoveParent,
4154 OPC_MoveParent,
4155 OPC_RecordChild1,
4156 OPC_CheckType, MVT::v4i32,
4157 OPC_MoveParent,
4158 OPC_CheckType, MVT::v4i32,
4159 OPC_CheckPatternPredicate3,
4160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
4161 MVT::v4i32, 2, 16,
4162 27,
4163 OPC_RecordChild0,
4164 OPC_MoveChild1,
4165 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
4166 OPC_MoveChild0,
4167 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4168 OPC_CheckType, MVT::v4i32,
4169 OPC_MoveParent,
4170 OPC_CheckPredicate, 14,
4171 OPC_MoveParent,
4172 OPC_CheckType, MVT::v2i64,
4173 OPC_MoveParent,
4174 OPC_CheckType, MVT::v2i64,
4175 OPC_CheckPatternPredicate3,
4176 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
4177 MVT::v2i64, 2, 16,
4178 27,
4179 OPC_MoveChild0,
4180 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
4181 OPC_MoveChild0,
4182 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4183 OPC_CheckType, MVT::v4i32,
4184 OPC_MoveParent,
4185 OPC_CheckPredicate, 14,
4186 OPC_MoveParent,
4187 OPC_RecordChild1,
4188 OPC_CheckType, MVT::v2i64,
4189 OPC_MoveParent,
4190 OPC_CheckType, MVT::v2i64,
4191 OPC_CheckPatternPredicate3,
4192 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
4193 MVT::v2i64, 2, 16,
4194 0,
4195 94,
4196 OPC_RecordChild1,
4197 OPC_SwitchType , 20, MVT::v16i8,
4198 OPC_CheckPatternPredicate0,
4199 OPC_Scope, 9,
4200 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
4201 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_B),
4202 MVT::v16i8, 2, 29,
4203 6,
4204 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
4205 MVT::v16i8, 2, 16,
4206 0,
4207 20, MVT::v8i16,
4208 OPC_CheckPatternPredicate0,
4209 OPC_Scope, 9,
4210 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
4211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_H),
4212 MVT::v8i16, 2, 29,
4213 6,
4214 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
4215 MVT::v8i16, 2, 16,
4216 0,
4217 21, MVT::v4i32,
4218 OPC_CheckChild1Type, MVT::v4i32,
4219 OPC_CheckPatternPredicate0,
4220 OPC_Scope, 8,
4221 OPC_CheckComplexPat5, /*#*/1,
4222 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_W),
4223 MVT::v4i32, 2, 29,
4224 6,
4225 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
4226 MVT::v4i32, 2, 16,
4227 0,
4228 22, MVT::v2i64,
4229 OPC_CheckChild1Type, MVT::v2i64,
4230 OPC_CheckPatternPredicate0,
4231 OPC_Scope, 9,
4232 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
4233 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_D),
4234 MVT::v2i64, 2, 29,
4235 6,
4236 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
4237 MVT::v2i64, 2, 16,
4238 0,
4239 0,
4240 0,
4241 8|128,7, TARGET_VAL(ISD::SRL),
4242 OPC_RecordChild0,
4243 OPC_Scope, 9|128,1,
4244 OPC_MoveChild1,
4245 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4246 OPC_Scope, 49,
4247 OPC_RecordChild0,
4248 OPC_MoveChild0,
4249 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4250 OPC_Scope, 19,
4251 OPC_CheckPredicate3,
4252 OPC_MoveSibling1,
4253 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4254 OPC_MoveParent,
4255 OPC_CheckPredicate, 24,
4256 OPC_CheckTypeI32,
4257 OPC_MoveParent,
4258 OPC_CheckTypeI32,
4259 OPC_CheckPatternPredicate2,
4260 OPC_EmitConvertToTarget1,
4261 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
4262 MVT::i32, 2, 29,
4263 21,
4264 OPC_CheckPredicate, 16,
4265 OPC_MoveSibling1,
4266 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4267 OPC_MoveParent,
4268 OPC_CheckPredicate, 25,
4269 OPC_CheckTypeI32,
4270 OPC_MoveParent,
4271 OPC_CheckTypeI64,
4272 OPC_CheckPatternPredicate, 26,
4273 OPC_EmitConvertToTarget1,
4274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
4275 MVT::i64, 2, 29,
4276 0,
4277 45,
4278 OPC_MoveChild0,
4279 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4280 OPC_MoveSibling1,
4281 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4282 OPC_RecordNode,
4283 OPC_Scope, 15,
4284 OPC_CheckPredicate3,
4285 OPC_MoveParent,
4286 OPC_CheckPredicate, 24,
4287 OPC_CheckTypeI32,
4288 OPC_MoveParent,
4289 OPC_CheckTypeI32,
4290 OPC_CheckPatternPredicate2,
4291 OPC_EmitConvertToTarget1,
4292 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
4293 MVT::i32, 2, 29,
4294 17,
4295 OPC_CheckPredicate, 16,
4296 OPC_MoveParent,
4297 OPC_CheckPredicate, 25,
4298 OPC_CheckTypeI32,
4299 OPC_MoveParent,
4300 OPC_CheckTypeI64,
4301 OPC_CheckPatternPredicate, 26,
4302 OPC_EmitConvertToTarget1,
4303 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
4304 MVT::i64, 2, 29,
4305 0,
4306 34,
4307 OPC_RecordChild0,
4308 OPC_MoveChild1,
4309 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4310 OPC_MoveParent,
4311 OPC_CheckTypeI32,
4312 OPC_Scope, 11,
4313 OPC_CheckPredicate, 24,
4314 OPC_MoveParent,
4315 OPC_CheckTypeI32,
4316 OPC_CheckPatternPredicate2,
4317 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
4318 MVT::i32, 2, 16,
4319 12,
4320 OPC_CheckPredicate, 25,
4321 OPC_MoveParent,
4322 OPC_CheckTypeI64,
4323 OPC_CheckPatternPredicate, 26,
4324 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
4325 MVT::i64, 2, 16,
4326 0,
4327 0,
4328 71,
4329 OPC_RecordChild1,
4330 OPC_MoveChild1,
4331 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4332 OPC_CheckTypeI32,
4333 OPC_Scope, 11,
4334 OPC_CheckPredicate3,
4335 OPC_MoveParent,
4336 OPC_CheckTypeI32,
4337 OPC_CheckPatternPredicate2,
4338 OPC_EmitConvertToTarget1,
4339 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
4340 MVT::i32, 2, 29,
4341 13,
4342 OPC_CheckPredicate, 16,
4343 OPC_MoveParent,
4344 OPC_CheckTypeI64,
4345 OPC_CheckPatternPredicate, 26,
4346 OPC_EmitConvertToTarget1,
4347 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
4348 MVT::i64, 2, 29,
4349 11,
4350 OPC_CheckPredicate3,
4351 OPC_MoveParent,
4352 OPC_CheckTypeI32,
4353 OPC_CheckPatternPredicate5,
4354 OPC_EmitConvertToTarget1,
4355 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlX16),
4356 MVT::i32, 2, 29,
4357 12,
4358 OPC_CheckPredicate, 43,
4359 OPC_MoveParent,
4360 OPC_CheckTypeI32,
4361 OPC_CheckPatternPredicate4,
4362 OPC_EmitConvertToTarget1,
4363 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL16_MM),
4364 MVT::i32, 2, 29,
4365 11,
4366 OPC_CheckPredicate3,
4367 OPC_MoveParent,
4368 OPC_CheckTypeI32,
4369 OPC_CheckPatternPredicate4,
4370 OPC_EmitConvertToTarget1,
4371 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_MM),
4372 MVT::i32, 2, 29,
4373 0,
4374 23,
4375 OPC_MoveChild1,
4376 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4377 OPC_RecordChild0,
4378 OPC_MoveParent,
4379 OPC_CheckTypeI64,
4380 OPC_CheckPatternPredicate, 9,
4381 OPC_EmitIntegerI32, Mips::sub_32,
4382 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4383 MVT::i32, 2, 32,
4384 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
4385 MVT::i64, 2, 47,
4386 42,
4387 OPC_RecordChild1,
4388 OPC_CheckChild1TypeI32,
4389 OPC_SwitchType , 26, MVT::i32,
4390 OPC_Scope, 7,
4391 OPC_CheckPatternPredicate2,
4392 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
4393 MVT::i32, 2, 16,
4394 7,
4395 OPC_CheckPatternPredicate5,
4396 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlvRxRy16),
4397 MVT::i32, 2, 16,
4398 7,
4399 OPC_CheckPatternPredicate4,
4400 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV_MM),
4401 MVT::i32, 2, 16,
4402 0,
4403 8, MVT::i64,
4404 OPC_CheckPatternPredicate, 26,
4405 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
4406 MVT::i64, 2, 16,
4407 0,
4408 14|128,4,
4409 OPC_MoveChild1,
4410 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4411 OPC_Scope, 121,
4412 OPC_RecordChild0,
4413 OPC_MoveChild1,
4414 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4415 OPC_MoveChild0,
4416 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4417 OPC_CheckPredicate0,
4418 OPC_CheckTypeI32,
4419 OPC_MoveSibling1,
4420 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4421 OPC_CheckPredicate0,
4422 OPC_CheckTypeI32,
4423 OPC_MoveSibling2,
4424 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4425 OPC_CheckPredicate0,
4426 OPC_CheckTypeI32,
4427 OPC_MoveSibling3,
4428 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4429 OPC_CheckPredicate0,
4430 OPC_CheckTypeI32,
4431 OPC_MoveSibling4,
4432 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4433 OPC_CheckPredicate0,
4434 OPC_CheckTypeI32,
4435 OPC_MoveSibling5,
4436 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4437 OPC_CheckPredicate0,
4438 OPC_CheckTypeI32,
4439 OPC_MoveSibling6,
4440 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4441 OPC_CheckPredicate0,
4442 OPC_CheckTypeI32,
4443 OPC_MoveSibling7,
4444 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4445 OPC_CheckPredicate0,
4446 OPC_CheckTypeI32,
4447 OPC_MoveSibling, 8,
4448 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4449 OPC_CheckPredicate0,
4450 OPC_CheckTypeI32,
4451 OPC_MoveSibling, 9,
4452 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4453 OPC_CheckPredicate0,
4454 OPC_CheckTypeI32,
4455 OPC_MoveSibling, 10,
4456 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4457 OPC_CheckPredicate0,
4458 OPC_CheckTypeI32,
4459 OPC_MoveSibling, 11,
4460 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4461 OPC_CheckPredicate0,
4462 OPC_CheckTypeI32,
4463 OPC_MoveSibling, 12,
4464 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4465 OPC_CheckPredicate0,
4466 OPC_CheckTypeI32,
4467 OPC_MoveSibling, 13,
4468 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4469 OPC_CheckPredicate0,
4470 OPC_CheckTypeI32,
4471 OPC_MoveSibling, 14,
4472 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4473 OPC_CheckPredicate0,
4474 OPC_CheckTypeI32,
4475 OPC_MoveSibling, 15,
4476 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4477 OPC_CheckPredicate0,
4478 OPC_CheckTypeI32,
4479 OPC_MoveParent,
4480 OPC_MoveParent,
4481 OPC_MoveParent,
4482 OPC_CheckType, MVT::v16i8,
4483 OPC_CheckPatternPredicate3,
4484 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
4485 MVT::v16i8, 2, 16,
4486 121,
4487 OPC_MoveChild0,
4488 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4489 OPC_MoveChild0,
4490 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4491 OPC_CheckPredicate0,
4492 OPC_CheckTypeI32,
4493 OPC_MoveSibling1,
4494 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4495 OPC_CheckPredicate0,
4496 OPC_CheckTypeI32,
4497 OPC_MoveSibling2,
4498 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4499 OPC_CheckPredicate0,
4500 OPC_CheckTypeI32,
4501 OPC_MoveSibling3,
4502 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4503 OPC_CheckPredicate0,
4504 OPC_CheckTypeI32,
4505 OPC_MoveSibling4,
4506 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4507 OPC_CheckPredicate0,
4508 OPC_CheckTypeI32,
4509 OPC_MoveSibling5,
4510 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4511 OPC_CheckPredicate0,
4512 OPC_CheckTypeI32,
4513 OPC_MoveSibling6,
4514 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4515 OPC_CheckPredicate0,
4516 OPC_CheckTypeI32,
4517 OPC_MoveSibling7,
4518 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4519 OPC_CheckPredicate0,
4520 OPC_CheckTypeI32,
4521 OPC_MoveSibling, 8,
4522 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4523 OPC_CheckPredicate0,
4524 OPC_CheckTypeI32,
4525 OPC_MoveSibling, 9,
4526 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4527 OPC_CheckPredicate0,
4528 OPC_CheckTypeI32,
4529 OPC_MoveSibling, 10,
4530 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4531 OPC_CheckPredicate0,
4532 OPC_CheckTypeI32,
4533 OPC_MoveSibling, 11,
4534 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4535 OPC_CheckPredicate0,
4536 OPC_CheckTypeI32,
4537 OPC_MoveSibling, 12,
4538 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4539 OPC_CheckPredicate0,
4540 OPC_CheckTypeI32,
4541 OPC_MoveSibling, 13,
4542 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4543 OPC_CheckPredicate0,
4544 OPC_CheckTypeI32,
4545 OPC_MoveSibling, 14,
4546 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4547 OPC_CheckPredicate0,
4548 OPC_CheckTypeI32,
4549 OPC_MoveSibling, 15,
4550 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4551 OPC_CheckPredicate0,
4552 OPC_CheckTypeI32,
4553 OPC_MoveParent,
4554 OPC_MoveParent,
4555 OPC_RecordChild1,
4556 OPC_MoveParent,
4557 OPC_CheckType, MVT::v16i8,
4558 OPC_CheckPatternPredicate3,
4559 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
4560 MVT::v16i8, 2, 16,
4561 65,
4562 OPC_RecordChild0,
4563 OPC_MoveChild1,
4564 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4565 OPC_MoveChild0,
4566 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4567 OPC_CheckPredicate1,
4568 OPC_CheckTypeI32,
4569 OPC_MoveSibling1,
4570 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4571 OPC_CheckPredicate1,
4572 OPC_CheckTypeI32,
4573 OPC_MoveSibling2,
4574 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4575 OPC_CheckPredicate1,
4576 OPC_CheckTypeI32,
4577 OPC_MoveSibling3,
4578 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4579 OPC_CheckPredicate1,
4580 OPC_CheckTypeI32,
4581 OPC_MoveSibling4,
4582 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4583 OPC_CheckPredicate1,
4584 OPC_CheckTypeI32,
4585 OPC_MoveSibling5,
4586 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4587 OPC_CheckPredicate1,
4588 OPC_CheckTypeI32,
4589 OPC_MoveSibling6,
4590 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4591 OPC_CheckPredicate1,
4592 OPC_CheckTypeI32,
4593 OPC_MoveSibling7,
4594 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4595 OPC_CheckPredicate1,
4596 OPC_CheckTypeI32,
4597 OPC_MoveParent,
4598 OPC_MoveParent,
4599 OPC_MoveParent,
4600 OPC_CheckType, MVT::v8i16,
4601 OPC_CheckPatternPredicate3,
4602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
4603 MVT::v8i16, 2, 16,
4604 65,
4605 OPC_MoveChild0,
4606 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4607 OPC_MoveChild0,
4608 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4609 OPC_CheckPredicate1,
4610 OPC_CheckTypeI32,
4611 OPC_MoveSibling1,
4612 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4613 OPC_CheckPredicate1,
4614 OPC_CheckTypeI32,
4615 OPC_MoveSibling2,
4616 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4617 OPC_CheckPredicate1,
4618 OPC_CheckTypeI32,
4619 OPC_MoveSibling3,
4620 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4621 OPC_CheckPredicate1,
4622 OPC_CheckTypeI32,
4623 OPC_MoveSibling4,
4624 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4625 OPC_CheckPredicate1,
4626 OPC_CheckTypeI32,
4627 OPC_MoveSibling5,
4628 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4629 OPC_CheckPredicate1,
4630 OPC_CheckTypeI32,
4631 OPC_MoveSibling6,
4632 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4633 OPC_CheckPredicate1,
4634 OPC_CheckTypeI32,
4635 OPC_MoveSibling7,
4636 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4637 OPC_CheckPredicate1,
4638 OPC_CheckTypeI32,
4639 OPC_MoveParent,
4640 OPC_MoveParent,
4641 OPC_RecordChild1,
4642 OPC_MoveParent,
4643 OPC_CheckType, MVT::v8i16,
4644 OPC_CheckPatternPredicate3,
4645 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
4646 MVT::v8i16, 2, 16,
4647 43,
4648 OPC_RecordChild0,
4649 OPC_MoveChild1,
4650 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4651 OPC_MoveChild0,
4652 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4653 OPC_CheckPredicate2,
4654 OPC_CheckTypeI32,
4655 OPC_MoveSibling1,
4656 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4657 OPC_CheckPredicate2,
4658 OPC_CheckTypeI32,
4659 OPC_MoveSibling2,
4660 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4661 OPC_CheckPredicate2,
4662 OPC_CheckTypeI32,
4663 OPC_MoveSibling3,
4664 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4665 OPC_CheckPredicate2,
4666 OPC_CheckTypeI32,
4667 OPC_MoveParent,
4668 OPC_MoveParent,
4669 OPC_CheckType, MVT::v4i32,
4670 OPC_MoveParent,
4671 OPC_CheckType, MVT::v4i32,
4672 OPC_CheckPatternPredicate3,
4673 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
4674 MVT::v4i32, 2, 16,
4675 43,
4676 OPC_MoveChild0,
4677 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4678 OPC_MoveChild0,
4679 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4680 OPC_CheckPredicate2,
4681 OPC_CheckTypeI32,
4682 OPC_MoveSibling1,
4683 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4684 OPC_CheckPredicate2,
4685 OPC_CheckTypeI32,
4686 OPC_MoveSibling2,
4687 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4688 OPC_CheckPredicate2,
4689 OPC_CheckTypeI32,
4690 OPC_MoveSibling3,
4691 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4692 OPC_CheckPredicate2,
4693 OPC_CheckTypeI32,
4694 OPC_MoveParent,
4695 OPC_MoveParent,
4696 OPC_RecordChild1,
4697 OPC_CheckType, MVT::v4i32,
4698 OPC_MoveParent,
4699 OPC_CheckType, MVT::v4i32,
4700 OPC_CheckPatternPredicate3,
4701 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
4702 MVT::v4i32, 2, 16,
4703 27,
4704 OPC_RecordChild0,
4705 OPC_MoveChild1,
4706 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
4707 OPC_MoveChild0,
4708 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4709 OPC_CheckType, MVT::v4i32,
4710 OPC_MoveParent,
4711 OPC_CheckPredicate, 14,
4712 OPC_MoveParent,
4713 OPC_CheckType, MVT::v2i64,
4714 OPC_MoveParent,
4715 OPC_CheckType, MVT::v2i64,
4716 OPC_CheckPatternPredicate3,
4717 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
4718 MVT::v2i64, 2, 16,
4719 27,
4720 OPC_MoveChild0,
4721 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
4722 OPC_MoveChild0,
4723 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4724 OPC_CheckType, MVT::v4i32,
4725 OPC_MoveParent,
4726 OPC_CheckPredicate, 14,
4727 OPC_MoveParent,
4728 OPC_RecordChild1,
4729 OPC_CheckType, MVT::v2i64,
4730 OPC_MoveParent,
4731 OPC_CheckType, MVT::v2i64,
4732 OPC_CheckPatternPredicate3,
4733 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
4734 MVT::v2i64, 2, 16,
4735 0,
4736 94,
4737 OPC_RecordChild1,
4738 OPC_SwitchType , 20, MVT::v16i8,
4739 OPC_CheckPatternPredicate0,
4740 OPC_Scope, 9,
4741 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
4742 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_B),
4743 MVT::v16i8, 2, 29,
4744 6,
4745 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
4746 MVT::v16i8, 2, 16,
4747 0,
4748 20, MVT::v8i16,
4749 OPC_CheckPatternPredicate0,
4750 OPC_Scope, 9,
4751 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
4752 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_H),
4753 MVT::v8i16, 2, 29,
4754 6,
4755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
4756 MVT::v8i16, 2, 16,
4757 0,
4758 21, MVT::v4i32,
4759 OPC_CheckChild1Type, MVT::v4i32,
4760 OPC_CheckPatternPredicate0,
4761 OPC_Scope, 8,
4762 OPC_CheckComplexPat5, /*#*/1,
4763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_W),
4764 MVT::v4i32, 2, 29,
4765 6,
4766 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
4767 MVT::v4i32, 2, 16,
4768 0,
4769 22, MVT::v2i64,
4770 OPC_CheckChild1Type, MVT::v2i64,
4771 OPC_CheckPatternPredicate0,
4772 OPC_Scope, 9,
4773 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
4774 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_D),
4775 MVT::v2i64, 2, 29,
4776 6,
4777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
4778 MVT::v2i64, 2, 16,
4779 0,
4780 0,
4781 0,
4782 123|128,6, TARGET_VAL(ISD::SRA),
4783 OPC_RecordChild0,
4784 OPC_Scope, 9|128,1,
4785 OPC_MoveChild1,
4786 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4787 OPC_Scope, 49,
4788 OPC_RecordChild0,
4789 OPC_MoveChild0,
4790 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4791 OPC_Scope, 19,
4792 OPC_CheckPredicate3,
4793 OPC_MoveSibling1,
4794 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4795 OPC_MoveParent,
4796 OPC_CheckPredicate, 24,
4797 OPC_CheckTypeI32,
4798 OPC_MoveParent,
4799 OPC_CheckTypeI32,
4800 OPC_CheckPatternPredicate2,
4801 OPC_EmitConvertToTarget1,
4802 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
4803 MVT::i32, 2, 29,
4804 21,
4805 OPC_CheckPredicate, 16,
4806 OPC_MoveSibling1,
4807 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4808 OPC_MoveParent,
4809 OPC_CheckPredicate, 25,
4810 OPC_CheckTypeI32,
4811 OPC_MoveParent,
4812 OPC_CheckTypeI64,
4813 OPC_CheckPatternPredicate, 26,
4814 OPC_EmitConvertToTarget1,
4815 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
4816 MVT::i64, 2, 29,
4817 0,
4818 45,
4819 OPC_MoveChild0,
4820 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4821 OPC_MoveSibling1,
4822 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4823 OPC_RecordNode,
4824 OPC_Scope, 15,
4825 OPC_CheckPredicate3,
4826 OPC_MoveParent,
4827 OPC_CheckPredicate, 24,
4828 OPC_CheckTypeI32,
4829 OPC_MoveParent,
4830 OPC_CheckTypeI32,
4831 OPC_CheckPatternPredicate2,
4832 OPC_EmitConvertToTarget1,
4833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
4834 MVT::i32, 2, 29,
4835 17,
4836 OPC_CheckPredicate, 16,
4837 OPC_MoveParent,
4838 OPC_CheckPredicate, 25,
4839 OPC_CheckTypeI32,
4840 OPC_MoveParent,
4841 OPC_CheckTypeI64,
4842 OPC_CheckPatternPredicate, 26,
4843 OPC_EmitConvertToTarget1,
4844 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
4845 MVT::i64, 2, 29,
4846 0,
4847 34,
4848 OPC_RecordChild0,
4849 OPC_MoveChild1,
4850 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4851 OPC_MoveParent,
4852 OPC_CheckTypeI32,
4853 OPC_Scope, 11,
4854 OPC_CheckPredicate, 24,
4855 OPC_MoveParent,
4856 OPC_CheckTypeI32,
4857 OPC_CheckPatternPredicate2,
4858 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
4859 MVT::i32, 2, 16,
4860 12,
4861 OPC_CheckPredicate, 25,
4862 OPC_MoveParent,
4863 OPC_CheckTypeI64,
4864 OPC_CheckPatternPredicate, 26,
4865 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
4866 MVT::i64, 2, 16,
4867 0,
4868 0,
4869 58,
4870 OPC_RecordChild1,
4871 OPC_MoveChild1,
4872 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4873 OPC_CheckTypeI32,
4874 OPC_Scope, 11,
4875 OPC_CheckPredicate3,
4876 OPC_MoveParent,
4877 OPC_CheckTypeI32,
4878 OPC_CheckPatternPredicate2,
4879 OPC_EmitConvertToTarget1,
4880 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
4881 MVT::i32, 2, 29,
4882 13,
4883 OPC_CheckPredicate, 16,
4884 OPC_MoveParent,
4885 OPC_CheckTypeI64,
4886 OPC_CheckPatternPredicate, 26,
4887 OPC_EmitConvertToTarget1,
4888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
4889 MVT::i64, 2, 29,
4890 23,
4891 OPC_CheckPredicate3,
4892 OPC_MoveParent,
4893 OPC_CheckTypeI32,
4894 OPC_Scope, 8,
4895 OPC_CheckPatternPredicate5,
4896 OPC_EmitConvertToTarget1,
4897 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SraX16),
4898 MVT::i32, 2, 29,
4899 8,
4900 OPC_CheckPatternPredicate4,
4901 OPC_EmitConvertToTarget1,
4902 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_MM),
4903 MVT::i32, 2, 29,
4904 0,
4905 0,
4906 23,
4907 OPC_MoveChild1,
4908 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4909 OPC_RecordChild0,
4910 OPC_MoveParent,
4911 OPC_CheckTypeI64,
4912 OPC_CheckPatternPredicate, 9,
4913 OPC_EmitIntegerI32, Mips::sub_32,
4914 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4915 MVT::i32, 2, 32,
4916 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
4917 MVT::i64, 2, 47,
4918 42,
4919 OPC_RecordChild1,
4920 OPC_CheckChild1TypeI32,
4921 OPC_SwitchType , 26, MVT::i32,
4922 OPC_Scope, 7,
4923 OPC_CheckPatternPredicate2,
4924 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
4925 MVT::i32, 2, 16,
4926 7,
4927 OPC_CheckPatternPredicate5,
4928 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SravRxRy16),
4929 MVT::i32, 2, 16,
4930 7,
4931 OPC_CheckPatternPredicate4,
4932 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV_MM),
4933 MVT::i32, 2, 16,
4934 0,
4935 8, MVT::i64,
4936 OPC_CheckPatternPredicate, 26,
4937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
4938 MVT::i64, 2, 16,
4939 0,
4940 14|128,4,
4941 OPC_MoveChild1,
4942 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4943 OPC_Scope, 121,
4944 OPC_RecordChild0,
4945 OPC_MoveChild1,
4946 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4947 OPC_MoveChild0,
4948 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4949 OPC_CheckPredicate0,
4950 OPC_CheckTypeI32,
4951 OPC_MoveSibling1,
4952 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4953 OPC_CheckPredicate0,
4954 OPC_CheckTypeI32,
4955 OPC_MoveSibling2,
4956 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4957 OPC_CheckPredicate0,
4958 OPC_CheckTypeI32,
4959 OPC_MoveSibling3,
4960 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4961 OPC_CheckPredicate0,
4962 OPC_CheckTypeI32,
4963 OPC_MoveSibling4,
4964 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4965 OPC_CheckPredicate0,
4966 OPC_CheckTypeI32,
4967 OPC_MoveSibling5,
4968 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4969 OPC_CheckPredicate0,
4970 OPC_CheckTypeI32,
4971 OPC_MoveSibling6,
4972 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4973 OPC_CheckPredicate0,
4974 OPC_CheckTypeI32,
4975 OPC_MoveSibling7,
4976 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4977 OPC_CheckPredicate0,
4978 OPC_CheckTypeI32,
4979 OPC_MoveSibling, 8,
4980 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4981 OPC_CheckPredicate0,
4982 OPC_CheckTypeI32,
4983 OPC_MoveSibling, 9,
4984 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4985 OPC_CheckPredicate0,
4986 OPC_CheckTypeI32,
4987 OPC_MoveSibling, 10,
4988 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4989 OPC_CheckPredicate0,
4990 OPC_CheckTypeI32,
4991 OPC_MoveSibling, 11,
4992 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4993 OPC_CheckPredicate0,
4994 OPC_CheckTypeI32,
4995 OPC_MoveSibling, 12,
4996 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4997 OPC_CheckPredicate0,
4998 OPC_CheckTypeI32,
4999 OPC_MoveSibling, 13,
5000 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5001 OPC_CheckPredicate0,
5002 OPC_CheckTypeI32,
5003 OPC_MoveSibling, 14,
5004 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5005 OPC_CheckPredicate0,
5006 OPC_CheckTypeI32,
5007 OPC_MoveSibling, 15,
5008 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5009 OPC_CheckPredicate0,
5010 OPC_CheckTypeI32,
5011 OPC_MoveParent,
5012 OPC_MoveParent,
5013 OPC_MoveParent,
5014 OPC_CheckType, MVT::v16i8,
5015 OPC_CheckPatternPredicate3,
5016 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
5017 MVT::v16i8, 2, 16,
5018 121,
5019 OPC_MoveChild0,
5020 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5021 OPC_MoveChild0,
5022 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5023 OPC_CheckPredicate0,
5024 OPC_CheckTypeI32,
5025 OPC_MoveSibling1,
5026 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5027 OPC_CheckPredicate0,
5028 OPC_CheckTypeI32,
5029 OPC_MoveSibling2,
5030 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5031 OPC_CheckPredicate0,
5032 OPC_CheckTypeI32,
5033 OPC_MoveSibling3,
5034 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5035 OPC_CheckPredicate0,
5036 OPC_CheckTypeI32,
5037 OPC_MoveSibling4,
5038 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5039 OPC_CheckPredicate0,
5040 OPC_CheckTypeI32,
5041 OPC_MoveSibling5,
5042 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5043 OPC_CheckPredicate0,
5044 OPC_CheckTypeI32,
5045 OPC_MoveSibling6,
5046 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5047 OPC_CheckPredicate0,
5048 OPC_CheckTypeI32,
5049 OPC_MoveSibling7,
5050 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5051 OPC_CheckPredicate0,
5052 OPC_CheckTypeI32,
5053 OPC_MoveSibling, 8,
5054 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5055 OPC_CheckPredicate0,
5056 OPC_CheckTypeI32,
5057 OPC_MoveSibling, 9,
5058 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5059 OPC_CheckPredicate0,
5060 OPC_CheckTypeI32,
5061 OPC_MoveSibling, 10,
5062 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5063 OPC_CheckPredicate0,
5064 OPC_CheckTypeI32,
5065 OPC_MoveSibling, 11,
5066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5067 OPC_CheckPredicate0,
5068 OPC_CheckTypeI32,
5069 OPC_MoveSibling, 12,
5070 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5071 OPC_CheckPredicate0,
5072 OPC_CheckTypeI32,
5073 OPC_MoveSibling, 13,
5074 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5075 OPC_CheckPredicate0,
5076 OPC_CheckTypeI32,
5077 OPC_MoveSibling, 14,
5078 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5079 OPC_CheckPredicate0,
5080 OPC_CheckTypeI32,
5081 OPC_MoveSibling, 15,
5082 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5083 OPC_CheckPredicate0,
5084 OPC_CheckTypeI32,
5085 OPC_MoveParent,
5086 OPC_MoveParent,
5087 OPC_RecordChild1,
5088 OPC_MoveParent,
5089 OPC_CheckType, MVT::v16i8,
5090 OPC_CheckPatternPredicate3,
5091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
5092 MVT::v16i8, 2, 16,
5093 65,
5094 OPC_RecordChild0,
5095 OPC_MoveChild1,
5096 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5097 OPC_MoveChild0,
5098 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5099 OPC_CheckPredicate1,
5100 OPC_CheckTypeI32,
5101 OPC_MoveSibling1,
5102 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5103 OPC_CheckPredicate1,
5104 OPC_CheckTypeI32,
5105 OPC_MoveSibling2,
5106 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5107 OPC_CheckPredicate1,
5108 OPC_CheckTypeI32,
5109 OPC_MoveSibling3,
5110 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5111 OPC_CheckPredicate1,
5112 OPC_CheckTypeI32,
5113 OPC_MoveSibling4,
5114 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5115 OPC_CheckPredicate1,
5116 OPC_CheckTypeI32,
5117 OPC_MoveSibling5,
5118 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5119 OPC_CheckPredicate1,
5120 OPC_CheckTypeI32,
5121 OPC_MoveSibling6,
5122 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5123 OPC_CheckPredicate1,
5124 OPC_CheckTypeI32,
5125 OPC_MoveSibling7,
5126 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5127 OPC_CheckPredicate1,
5128 OPC_CheckTypeI32,
5129 OPC_MoveParent,
5130 OPC_MoveParent,
5131 OPC_MoveParent,
5132 OPC_CheckType, MVT::v8i16,
5133 OPC_CheckPatternPredicate3,
5134 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
5135 MVT::v8i16, 2, 16,
5136 65,
5137 OPC_MoveChild0,
5138 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5139 OPC_MoveChild0,
5140 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5141 OPC_CheckPredicate1,
5142 OPC_CheckTypeI32,
5143 OPC_MoveSibling1,
5144 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5145 OPC_CheckPredicate1,
5146 OPC_CheckTypeI32,
5147 OPC_MoveSibling2,
5148 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5149 OPC_CheckPredicate1,
5150 OPC_CheckTypeI32,
5151 OPC_MoveSibling3,
5152 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5153 OPC_CheckPredicate1,
5154 OPC_CheckTypeI32,
5155 OPC_MoveSibling4,
5156 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5157 OPC_CheckPredicate1,
5158 OPC_CheckTypeI32,
5159 OPC_MoveSibling5,
5160 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5161 OPC_CheckPredicate1,
5162 OPC_CheckTypeI32,
5163 OPC_MoveSibling6,
5164 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5165 OPC_CheckPredicate1,
5166 OPC_CheckTypeI32,
5167 OPC_MoveSibling7,
5168 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5169 OPC_CheckPredicate1,
5170 OPC_CheckTypeI32,
5171 OPC_MoveParent,
5172 OPC_MoveParent,
5173 OPC_RecordChild1,
5174 OPC_MoveParent,
5175 OPC_CheckType, MVT::v8i16,
5176 OPC_CheckPatternPredicate3,
5177 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
5178 MVT::v8i16, 2, 16,
5179 43,
5180 OPC_RecordChild0,
5181 OPC_MoveChild1,
5182 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5183 OPC_MoveChild0,
5184 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5185 OPC_CheckPredicate2,
5186 OPC_CheckTypeI32,
5187 OPC_MoveSibling1,
5188 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5189 OPC_CheckPredicate2,
5190 OPC_CheckTypeI32,
5191 OPC_MoveSibling2,
5192 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5193 OPC_CheckPredicate2,
5194 OPC_CheckTypeI32,
5195 OPC_MoveSibling3,
5196 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5197 OPC_CheckPredicate2,
5198 OPC_CheckTypeI32,
5199 OPC_MoveParent,
5200 OPC_MoveParent,
5201 OPC_CheckType, MVT::v4i32,
5202 OPC_MoveParent,
5203 OPC_CheckType, MVT::v4i32,
5204 OPC_CheckPatternPredicate3,
5205 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
5206 MVT::v4i32, 2, 16,
5207 43,
5208 OPC_MoveChild0,
5209 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5210 OPC_MoveChild0,
5211 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5212 OPC_CheckPredicate2,
5213 OPC_CheckTypeI32,
5214 OPC_MoveSibling1,
5215 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5216 OPC_CheckPredicate2,
5217 OPC_CheckTypeI32,
5218 OPC_MoveSibling2,
5219 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5220 OPC_CheckPredicate2,
5221 OPC_CheckTypeI32,
5222 OPC_MoveSibling3,
5223 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5224 OPC_CheckPredicate2,
5225 OPC_CheckTypeI32,
5226 OPC_MoveParent,
5227 OPC_MoveParent,
5228 OPC_RecordChild1,
5229 OPC_CheckType, MVT::v4i32,
5230 OPC_MoveParent,
5231 OPC_CheckType, MVT::v4i32,
5232 OPC_CheckPatternPredicate3,
5233 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
5234 MVT::v4i32, 2, 16,
5235 27,
5236 OPC_RecordChild0,
5237 OPC_MoveChild1,
5238 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
5239 OPC_MoveChild0,
5240 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5241 OPC_CheckType, MVT::v4i32,
5242 OPC_MoveParent,
5243 OPC_CheckPredicate, 14,
5244 OPC_MoveParent,
5245 OPC_CheckType, MVT::v2i64,
5246 OPC_MoveParent,
5247 OPC_CheckType, MVT::v2i64,
5248 OPC_CheckPatternPredicate3,
5249 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
5250 MVT::v2i64, 2, 16,
5251 27,
5252 OPC_MoveChild0,
5253 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
5254 OPC_MoveChild0,
5255 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5256 OPC_CheckType, MVT::v4i32,
5257 OPC_MoveParent,
5258 OPC_CheckPredicate, 14,
5259 OPC_MoveParent,
5260 OPC_RecordChild1,
5261 OPC_CheckType, MVT::v2i64,
5262 OPC_MoveParent,
5263 OPC_CheckType, MVT::v2i64,
5264 OPC_CheckPatternPredicate3,
5265 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
5266 MVT::v2i64, 2, 16,
5267 0,
5268 94,
5269 OPC_RecordChild1,
5270 OPC_SwitchType , 20, MVT::v16i8,
5271 OPC_CheckPatternPredicate0,
5272 OPC_Scope, 9,
5273 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
5274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_B),
5275 MVT::v16i8, 2, 29,
5276 6,
5277 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
5278 MVT::v16i8, 2, 16,
5279 0,
5280 20, MVT::v8i16,
5281 OPC_CheckPatternPredicate0,
5282 OPC_Scope, 9,
5283 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
5284 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_H),
5285 MVT::v8i16, 2, 29,
5286 6,
5287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
5288 MVT::v8i16, 2, 16,
5289 0,
5290 21, MVT::v4i32,
5291 OPC_CheckChild1Type, MVT::v4i32,
5292 OPC_CheckPatternPredicate0,
5293 OPC_Scope, 8,
5294 OPC_CheckComplexPat5, /*#*/1,
5295 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_W),
5296 MVT::v4i32, 2, 29,
5297 6,
5298 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
5299 MVT::v4i32, 2, 16,
5300 0,
5301 22, MVT::v2i64,
5302 OPC_CheckChild1Type, MVT::v2i64,
5303 OPC_CheckPatternPredicate0,
5304 OPC_Scope, 9,
5305 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
5306 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_D),
5307 MVT::v2i64, 2, 29,
5308 6,
5309 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
5310 MVT::v2i64, 2, 16,
5311 0,
5312 0,
5313 0,
5314 5|128,43, TARGET_VAL(ISD::SELECT),
5315 OPC_Scope, 95|128,19,
5316 OPC_MoveChild0,
5317 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5318 OPC_RecordChild0,
5319 OPC_Scope, 106|128,13,
5320 OPC_CheckChild0TypeI32,
5321 OPC_Scope, 125|128,1,
5322 OPC_MoveChild1,
5323 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5324 OPC_CheckPredicate7,
5325 OPC_MoveParent,
5326 OPC_CheckTypeI32,
5327 OPC_Scope, 121,
5328 OPC_CheckChild2CondCode, ISD::SETEQ,
5329 OPC_Scope, 17,
5330 OPC_MoveParent,
5331 OPC_RecordChild1,
5332 OPC_MoveChild2,
5333 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5334 OPC_CheckPredicate7,
5335 OPC_MoveParent,
5336 OPC_CheckTypeI32,
5337 OPC_CheckPatternPredicate, 15,
5338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
5339 MVT::i32, 2, 3,
5340 16,
5341 OPC_MoveSibling1,
5342 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5343 OPC_CheckPredicate7,
5344 OPC_MoveParent,
5345 OPC_RecordChild2,
5346 OPC_CheckTypeI32,
5347 OPC_CheckPatternPredicate, 15,
5348 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
5349 MVT::i32, 2, 3,
5350 17,
5351 OPC_MoveParent,
5352 OPC_RecordChild1,
5353 OPC_MoveChild2,
5354 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5355 OPC_CheckPredicate7,
5356 OPC_MoveParent,
5357 OPC_CheckTypeI32,
5358 OPC_CheckPatternPredicate, 8,
5359 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5360 MVT::i32, 2, 3,
5361 16,
5362 OPC_MoveSibling1,
5363 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5364 OPC_CheckPredicate7,
5365 OPC_MoveParent,
5366 OPC_RecordChild2,
5367 OPC_CheckTypeI32,
5368 OPC_CheckPatternPredicate, 8,
5369 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5370 MVT::i32, 2, 3,
5371 23,
5372 OPC_MoveParent,
5373 OPC_RecordChild1,
5374 OPC_MoveChild2,
5375 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5376 OPC_CheckPredicate7,
5377 OPC_MoveParent,
5378 OPC_CheckTypeI64,
5379 OPC_CheckPatternPredicate, 22,
5380 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5381 MVT::i64, 1, 1,
5382 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
5383 MVT::i64, 2, 32,
5384 22,
5385 OPC_MoveSibling1,
5386 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5387 OPC_CheckPredicate7,
5388 OPC_MoveParent,
5389 OPC_RecordChild2,
5390 OPC_CheckTypeI64,
5391 OPC_CheckPatternPredicate, 22,
5392 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5393 MVT::i64, 1, 1,
5394 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
5395 MVT::i64, 2, 32,
5396 0,
5397 121,
5398 OPC_CheckChild2CondCode, ISD::SETNE,
5399 OPC_Scope, 17,
5400 OPC_MoveParent,
5401 OPC_RecordChild1,
5402 OPC_MoveChild2,
5403 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5404 OPC_CheckPredicate7,
5405 OPC_MoveParent,
5406 OPC_CheckTypeI32,
5407 OPC_CheckPatternPredicate, 15,
5408 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
5409 MVT::i32, 2, 3,
5410 16,
5411 OPC_MoveSibling1,
5412 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5413 OPC_CheckPredicate7,
5414 OPC_MoveParent,
5415 OPC_RecordChild2,
5416 OPC_CheckTypeI32,
5417 OPC_CheckPatternPredicate, 15,
5418 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
5419 MVT::i32, 2, 3,
5420 17,
5421 OPC_MoveParent,
5422 OPC_RecordChild1,
5423 OPC_MoveChild2,
5424 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5425 OPC_CheckPredicate7,
5426 OPC_MoveParent,
5427 OPC_CheckTypeI32,
5428 OPC_CheckPatternPredicate, 8,
5429 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5430 MVT::i32, 2, 3,
5431 16,
5432 OPC_MoveSibling1,
5433 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5434 OPC_CheckPredicate7,
5435 OPC_MoveParent,
5436 OPC_RecordChild2,
5437 OPC_CheckTypeI32,
5438 OPC_CheckPatternPredicate, 8,
5439 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5440 MVT::i32, 2, 3,
5441 23,
5442 OPC_MoveParent,
5443 OPC_RecordChild1,
5444 OPC_MoveChild2,
5445 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5446 OPC_CheckPredicate7,
5447 OPC_MoveParent,
5448 OPC_CheckTypeI64,
5449 OPC_CheckPatternPredicate, 22,
5450 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5451 MVT::i64, 1, 1,
5452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
5453 MVT::i64, 2, 32,
5454 22,
5455 OPC_MoveSibling1,
5456 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5457 OPC_CheckPredicate7,
5458 OPC_MoveParent,
5459 OPC_RecordChild2,
5460 OPC_CheckTypeI64,
5461 OPC_CheckPatternPredicate, 22,
5462 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5463 MVT::i64, 1, 1,
5464 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
5465 MVT::i64, 2, 32,
5466 0,
5467 0,
5468 108,
5469 OPC_CheckChild1Integer, 0,
5470 OPC_CheckTypeI32,
5471 OPC_Scope, 46,
5472 OPC_CheckChild2CondCode, ISD::SETEQ,
5473 OPC_MoveParent,
5474 OPC_RecordChild1,
5475 OPC_RecordChild2,
5476 OPC_SwitchType , 27, MVT::i32,
5477 OPC_Scope, 8,
5478 OPC_CheckPatternPredicate, 23,
5479 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5480 MVT::i32, 3, 28,
5481 7,
5482 OPC_CheckPatternPredicate7,
5483 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5484 MVT::i32, 3, 28,
5485 7,
5486 OPC_CheckPatternPredicate5,
5487 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBeqZ),
5488 MVT::i32, 3, 9,
5489 0,
5490 8, MVT::i64,
5491 OPC_CheckPatternPredicate, 10,
5492 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5493 MVT::i64, 3, 28,
5494 0,
5495 55,
5496 OPC_CheckChild2CondCode, ISD::SETNE,
5497 OPC_MoveParent,
5498 OPC_RecordChild1,
5499 OPC_RecordChild2,
5500 OPC_SwitchType , 36, MVT::i32,
5501 OPC_Scope, 8,
5502 OPC_CheckPatternPredicate, 23,
5503 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
5504 MVT::i32, 3, 28,
5505 8,
5506 OPC_CheckPatternPredicate, 73,
5507 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5508 MVT::i32, 3, 28,
5509 7,
5510 OPC_CheckPatternPredicate7,
5511 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5512 MVT::i32, 3, 28,
5513 7,
5514 OPC_CheckPatternPredicate5,
5515 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
5516 MVT::i32, 3, 9,
5517 0,
5518 8, MVT::i64,
5519 OPC_CheckPatternPredicate, 10,
5520 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
5521 MVT::i64, 3, 28,
5522 0,
5523 0,
5524 33|128,4,
5525 OPC_RecordChild1,
5526 OPC_MoveChild1,
5527 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5528 OPC_Scope, 50,
5529 OPC_CheckPredicate, 8,
5530 OPC_MoveParent,
5531 OPC_CheckTypeI32,
5532 OPC_Scope, 21,
5533 OPC_CheckChild2CondCode, ISD::SETGE,
5534 OPC_MoveParent,
5535 OPC_RecordChild1,
5536 OPC_RecordChild2,
5537 OPC_CheckTypeI32,
5538 OPC_CheckPatternPredicate, 23,
5539 OPC_EmitConvertToTarget1,
5540 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5541 MVT::i32, 2, 94,
5542 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5543 MVT::i32, 3, 73,
5544 21,
5545 OPC_CheckChild2CondCode, ISD::SETUGE,
5546 OPC_MoveParent,
5547 OPC_RecordChild1,
5548 OPC_RecordChild2,
5549 OPC_CheckTypeI32,
5550 OPC_CheckPatternPredicate, 23,
5551 OPC_EmitConvertToTarget1,
5552 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5553 MVT::i32, 2, 94,
5554 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5555 MVT::i32, 3, 73,
5556 0,
5557 56,
5558 OPC_CheckPredicate, 11,
5559 OPC_MoveParent,
5560 OPC_CheckTypeI32,
5561 OPC_Scope, 24,
5562 OPC_CheckChild2CondCode, ISD::SETGT,
5563 OPC_MoveParent,
5564 OPC_RecordChild1,
5565 OPC_RecordChild2,
5566 OPC_CheckTypeI32,
5567 OPC_CheckPatternPredicate, 23,
5568 OPC_EmitConvertToTarget1,
5569 OPC_EmitNodeXForm, 2, 4,
5570 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5571 MVT::i32, 2, 122,
5572 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5573 MVT::i32, 3, 80,
5574 24,
5575 OPC_CheckChild2CondCode, ISD::SETUGT,
5576 OPC_MoveParent,
5577 OPC_RecordChild1,
5578 OPC_RecordChild2,
5579 OPC_CheckTypeI32,
5580 OPC_CheckPatternPredicate, 23,
5581 OPC_EmitConvertToTarget1,
5582 OPC_EmitNodeXForm, 2, 4,
5583 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5584 MVT::i32, 2, 122,
5585 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5586 MVT::i32, 3, 80,
5587 0,
5588 28,
5589 OPC_CheckPredicate, 12,
5590 OPC_MoveParent,
5591 OPC_CheckChild2CondCode, ISD::SETEQ,
5592 OPC_CheckTypeI32,
5593 OPC_MoveParent,
5594 OPC_RecordChild1,
5595 OPC_RecordChild2,
5596 OPC_CheckTypeI32,
5597 OPC_CheckPatternPredicate, 23,
5598 OPC_EmitConvertToTarget1,
5599 OPC_EmitNodeXForm, 3, 4,
5600 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5601 MVT::i32, 2, 122,
5602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5603 MVT::i32, 3, 80,
5604 50,
5605 OPC_CheckPredicate, 8,
5606 OPC_MoveParent,
5607 OPC_CheckTypeI32,
5608 OPC_Scope, 21,
5609 OPC_CheckChild2CondCode, ISD::SETGE,
5610 OPC_MoveParent,
5611 OPC_RecordChild1,
5612 OPC_RecordChild2,
5613 OPC_CheckTypeI64,
5614 OPC_CheckPatternPredicate, 10,
5615 OPC_EmitConvertToTarget1,
5616 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5617 MVT::i32, 2, 94,
5618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5619 MVT::i64, 3, 73,
5620 21,
5621 OPC_CheckChild2CondCode, ISD::SETUGE,
5622 OPC_MoveParent,
5623 OPC_RecordChild1,
5624 OPC_RecordChild2,
5625 OPC_CheckTypeI64,
5626 OPC_CheckPatternPredicate, 10,
5627 OPC_EmitConvertToTarget1,
5628 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5629 MVT::i32, 2, 94,
5630 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5631 MVT::i64, 3, 73,
5632 0,
5633 56,
5634 OPC_CheckPredicate, 11,
5635 OPC_MoveParent,
5636 OPC_CheckTypeI32,
5637 OPC_Scope, 24,
5638 OPC_CheckChild2CondCode, ISD::SETGT,
5639 OPC_MoveParent,
5640 OPC_RecordChild1,
5641 OPC_RecordChild2,
5642 OPC_CheckTypeI64,
5643 OPC_CheckPatternPredicate, 10,
5644 OPC_EmitConvertToTarget1,
5645 OPC_EmitNodeXForm, 2, 4,
5646 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5647 MVT::i32, 2, 122,
5648 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5649 MVT::i64, 3, 80,
5650 24,
5651 OPC_CheckChild2CondCode, ISD::SETUGT,
5652 OPC_MoveParent,
5653 OPC_RecordChild1,
5654 OPC_RecordChild2,
5655 OPC_CheckTypeI64,
5656 OPC_CheckPatternPredicate, 10,
5657 OPC_EmitConvertToTarget1,
5658 OPC_EmitNodeXForm, 2, 4,
5659 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5660 MVT::i32, 2, 122,
5661 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5662 MVT::i64, 3, 80,
5663 0,
5664 28,
5665 OPC_CheckPredicate, 12,
5666 OPC_MoveParent,
5667 OPC_CheckChild2CondCode, ISD::SETEQ,
5668 OPC_CheckTypeI32,
5669 OPC_MoveParent,
5670 OPC_RecordChild1,
5671 OPC_RecordChild2,
5672 OPC_CheckTypeI64,
5673 OPC_CheckPatternPredicate, 10,
5674 OPC_EmitConvertToTarget1,
5675 OPC_EmitNodeXForm, 3, 4,
5676 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5677 MVT::i32, 2, 122,
5678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5679 MVT::i64, 3, 80,
5680 48,
5681 OPC_CheckPredicate, 8,
5682 OPC_MoveParent,
5683 OPC_CheckTypeI32,
5684 OPC_Scope, 20,
5685 OPC_CheckChild2CondCode, ISD::SETGE,
5686 OPC_MoveParent,
5687 OPC_RecordChild1,
5688 OPC_RecordChild2,
5689 OPC_CheckTypeI32,
5690 OPC_CheckPatternPredicate7,
5691 OPC_EmitConvertToTarget1,
5692 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
5693 MVT::i32, 2, 94,
5694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5695 MVT::i32, 3, 73,
5696 20,
5697 OPC_CheckChild2CondCode, ISD::SETUGE,
5698 OPC_MoveParent,
5699 OPC_RecordChild1,
5700 OPC_RecordChild2,
5701 OPC_CheckTypeI32,
5702 OPC_CheckPatternPredicate7,
5703 OPC_EmitConvertToTarget1,
5704 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
5705 MVT::i32, 2, 94,
5706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5707 MVT::i32, 3, 73,
5708 0,
5709 54,
5710 OPC_CheckPredicate, 11,
5711 OPC_MoveParent,
5712 OPC_CheckTypeI32,
5713 OPC_Scope, 23,
5714 OPC_CheckChild2CondCode, ISD::SETGT,
5715 OPC_MoveParent,
5716 OPC_RecordChild1,
5717 OPC_RecordChild2,
5718 OPC_CheckTypeI32,
5719 OPC_CheckPatternPredicate7,
5720 OPC_EmitConvertToTarget1,
5721 OPC_EmitNodeXForm, 2, 4,
5722 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
5723 MVT::i32, 2, 122,
5724 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5725 MVT::i32, 3, 80,
5726 23,
5727 OPC_CheckChild2CondCode, ISD::SETUGT,
5728 OPC_MoveParent,
5729 OPC_RecordChild1,
5730 OPC_RecordChild2,
5731 OPC_CheckTypeI32,
5732 OPC_CheckPatternPredicate7,
5733 OPC_EmitConvertToTarget1,
5734 OPC_EmitNodeXForm, 2, 4,
5735 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
5736 MVT::i32, 2, 122,
5737 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5738 MVT::i32, 3, 80,
5739 0,
5740 27,
5741 OPC_CheckPredicate, 12,
5742 OPC_MoveParent,
5743 OPC_CheckChild2CondCode, ISD::SETEQ,
5744 OPC_CheckTypeI32,
5745 OPC_MoveParent,
5746 OPC_RecordChild1,
5747 OPC_RecordChild2,
5748 OPC_CheckTypeI32,
5749 OPC_CheckPatternPredicate7,
5750 OPC_EmitConvertToTarget1,
5751 OPC_EmitNodeXForm, 3, 4,
5752 OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
5753 MVT::i32, 2, 122,
5754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5755 MVT::i32, 3, 80,
5756 48,
5757 OPC_CheckPredicate, 8,
5758 OPC_MoveParent,
5759 OPC_CheckTypeI32,
5760 OPC_Scope, 20,
5761 OPC_CheckChild2CondCode, ISD::SETGE,
5762 OPC_MoveParent,
5763 OPC_RecordChild1,
5764 OPC_RecordChild2,
5765 OPC_CheckTypeI32,
5766 OPC_CheckPatternPredicate7,
5767 OPC_EmitConvertToTarget1,
5768 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
5769 MVT::i32, 2, 94,
5770 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5771 MVT::i32, 3, 73,
5772 20,
5773 OPC_CheckChild2CondCode, ISD::SETUGE,
5774 OPC_MoveParent,
5775 OPC_RecordChild1,
5776 OPC_RecordChild2,
5777 OPC_CheckTypeI32,
5778 OPC_CheckPatternPredicate7,
5779 OPC_EmitConvertToTarget1,
5780 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
5781 MVT::i32, 2, 94,
5782 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5783 MVT::i32, 3, 73,
5784 0,
5785 54,
5786 OPC_CheckPredicate, 11,
5787 OPC_MoveParent,
5788 OPC_CheckTypeI32,
5789 OPC_Scope, 23,
5790 OPC_CheckChild2CondCode, ISD::SETGT,
5791 OPC_MoveParent,
5792 OPC_RecordChild1,
5793 OPC_RecordChild2,
5794 OPC_CheckTypeI32,
5795 OPC_CheckPatternPredicate7,
5796 OPC_EmitConvertToTarget1,
5797 OPC_EmitNodeXForm, 2, 4,
5798 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
5799 MVT::i32, 2, 122,
5800 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5801 MVT::i32, 3, 80,
5802 23,
5803 OPC_CheckChild2CondCode, ISD::SETUGT,
5804 OPC_MoveParent,
5805 OPC_RecordChild1,
5806 OPC_RecordChild2,
5807 OPC_CheckTypeI32,
5808 OPC_CheckPatternPredicate7,
5809 OPC_EmitConvertToTarget1,
5810 OPC_EmitNodeXForm, 2, 4,
5811 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
5812 MVT::i32, 2, 122,
5813 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5814 MVT::i32, 3, 80,
5815 0,
5816 27,
5817 OPC_CheckPredicate, 12,
5818 OPC_MoveParent,
5819 OPC_CheckChild2CondCode, ISD::SETEQ,
5820 OPC_CheckTypeI32,
5821 OPC_MoveParent,
5822 OPC_RecordChild1,
5823 OPC_RecordChild2,
5824 OPC_CheckTypeI32,
5825 OPC_CheckPatternPredicate7,
5826 OPC_EmitConvertToTarget1,
5827 OPC_EmitNodeXForm, 3, 4,
5828 OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
5829 MVT::i32, 2, 122,
5830 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5831 MVT::i32, 3, 80,
5832 0,
5833 111,
5834 OPC_MoveChild1,
5835 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5836 OPC_CheckPredicate7,
5837 OPC_MoveParent,
5838 OPC_CheckTypeI32,
5839 OPC_Scope, 50,
5840 OPC_CheckChild2CondCode, ISD::SETEQ,
5841 OPC_MoveParent,
5842 OPC_RecordChild1,
5843 OPC_RecordChild2,
5844 OPC_CheckTypeI32,
5845 OPC_Scope, 20,
5846 OPC_CheckPatternPredicate, 15,
5847 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5848 MVT::i32, 2, 3,
5849 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5850 MVT::i32, 2, 10,
5851 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5852 MVT::i32, 2, 106,
5853 20,
5854 OPC_CheckPatternPredicate, 8,
5855 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5856 MVT::i32, 2, 3,
5857 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5858 MVT::i32, 2, 10,
5859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
5860 MVT::i32, 2, 106,
5861 0,
5862 50,
5863 OPC_CheckChild2CondCode, ISD::SETNE,
5864 OPC_MoveParent,
5865 OPC_RecordChild1,
5866 OPC_RecordChild2,
5867 OPC_CheckTypeI32,
5868 OPC_Scope, 20,
5869 OPC_CheckPatternPredicate, 15,
5870 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5871 MVT::i32, 2, 3,
5872 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5873 MVT::i32, 2, 10,
5874 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5875 MVT::i32, 2, 106,
5876 20,
5877 OPC_CheckPatternPredicate, 8,
5878 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5879 MVT::i32, 2, 3,
5880 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5881 MVT::i32, 2, 10,
5882 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
5883 MVT::i32, 2, 106,
5884 0,
5885 0,
5886 97|128,1,
5887 OPC_RecordChild1,
5888 OPC_MoveChild1,
5889 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5890 OPC_Scope, 108,
5891 OPC_CheckPredicate, 12,
5892 OPC_MoveParent,
5893 OPC_CheckTypeI32,
5894 OPC_Scope, 50,
5895 OPC_CheckChild2CondCode, ISD::SETEQ,
5896 OPC_MoveParent,
5897 OPC_RecordChild1,
5898 OPC_RecordChild2,
5899 OPC_CheckTypeI32,
5900 OPC_CheckPatternPredicate, 15,
5901 OPC_EmitConvertToTarget1,
5902 OPC_EmitNodeXForm, 3, 4,
5903 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5904 MVT::i32, 2, 122,
5905 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5906 MVT::i32, 2, 7|128,1,
5907 OPC_EmitConvertToTarget1,
5908 OPC_EmitNodeXForm, 3, 8,
5909 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5910 MVT::i32, 2, 29|128,1,
5911 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5912 MVT::i32, 2, 37|128,1,
5913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5914 MVT::i32, 2, 41|128,1,
5915 50,
5916 OPC_CheckChild2CondCode, ISD::SETNE,
5917 OPC_MoveParent,
5918 OPC_RecordChild1,
5919 OPC_RecordChild2,
5920 OPC_CheckTypeI32,
5921 OPC_CheckPatternPredicate, 15,
5922 OPC_EmitConvertToTarget1,
5923 OPC_EmitNodeXForm, 3, 4,
5924 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5925 MVT::i32, 2, 122,
5926 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5927 MVT::i32, 2, 7|128,1,
5928 OPC_EmitConvertToTarget1,
5929 OPC_EmitNodeXForm, 3, 8,
5930 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5931 MVT::i32, 2, 29|128,1,
5932 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5933 MVT::i32, 2, 37|128,1,
5934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5935 MVT::i32, 2, 41|128,1,
5936 0,
5937 108,
5938 OPC_CheckPredicate, 11,
5939 OPC_MoveParent,
5940 OPC_CheckTypeI32,
5941 OPC_Scope, 50,
5942 OPC_CheckChild2CondCode, ISD::SETGT,
5943 OPC_MoveParent,
5944 OPC_RecordChild1,
5945 OPC_RecordChild2,
5946 OPC_CheckTypeI32,
5947 OPC_CheckPatternPredicate, 15,
5948 OPC_EmitConvertToTarget1,
5949 OPC_EmitNodeXForm, 2, 4,
5950 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5951 MVT::i32, 2, 122,
5952 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5953 MVT::i32, 2, 7|128,1,
5954 OPC_EmitConvertToTarget1,
5955 OPC_EmitNodeXForm, 2, 8,
5956 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5957 MVT::i32, 2, 29|128,1,
5958 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5959 MVT::i32, 2, 37|128,1,
5960 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5961 MVT::i32, 2, 41|128,1,
5962 50,
5963 OPC_CheckChild2CondCode, ISD::SETUGT,
5964 OPC_MoveParent,
5965 OPC_RecordChild1,
5966 OPC_RecordChild2,
5967 OPC_CheckTypeI32,
5968 OPC_CheckPatternPredicate, 15,
5969 OPC_EmitConvertToTarget1,
5970 OPC_EmitNodeXForm, 2, 4,
5971 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5972 MVT::i32, 2, 122,
5973 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5974 MVT::i32, 2, 7|128,1,
5975 OPC_EmitConvertToTarget1,
5976 OPC_EmitNodeXForm, 2, 8,
5977 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5978 MVT::i32, 2, 29|128,1,
5979 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5980 MVT::i32, 2, 37|128,1,
5981 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5982 MVT::i32, 2, 41|128,1,
5983 0,
5984 0,
5985 89,
5986 OPC_MoveChild1,
5987 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5988 OPC_CheckPredicate7,
5989 OPC_MoveParent,
5990 OPC_CheckTypeI32,
5991 OPC_Scope, 39,
5992 OPC_CheckChild2CondCode, ISD::SETEQ,
5993 OPC_MoveParent,
5994 OPC_RecordChild1,
5995 OPC_RecordChild2,
5996 OPC_CheckTypeI64,
5997 OPC_CheckPatternPredicate, 22,
5998 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5999 MVT::i64, 1, 1,
6000 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6001 MVT::i64, 2, 50,
6002 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6003 MVT::i64, 1, 1,
6004 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6005 MVT::i64, 2, 127,
6006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6007 MVT::i64, 2, 9|128,1,
6008 39,
6009 OPC_CheckChild2CondCode, ISD::SETNE,
6010 OPC_MoveParent,
6011 OPC_RecordChild1,
6012 OPC_RecordChild2,
6013 OPC_CheckTypeI64,
6014 OPC_CheckPatternPredicate, 22,
6015 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6016 MVT::i64, 1, 1,
6017 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6018 MVT::i64, 2, 50,
6019 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6020 MVT::i64, 1, 1,
6021 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6022 MVT::i64, 2, 127,
6023 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6024 MVT::i64, 2, 9|128,1,
6025 0,
6026 41|128,3,
6027 OPC_RecordChild1,
6028 OPC_MoveChild1,
6029 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6030 OPC_Scope, 108,
6031 OPC_CheckPredicate, 12,
6032 OPC_MoveParent,
6033 OPC_CheckTypeI32,
6034 OPC_Scope, 50,
6035 OPC_CheckChild2CondCode, ISD::SETEQ,
6036 OPC_MoveParent,
6037 OPC_RecordChild1,
6038 OPC_RecordChild2,
6039 OPC_CheckTypeI32,
6040 OPC_CheckPatternPredicate, 8,
6041 OPC_EmitConvertToTarget1,
6042 OPC_EmitNodeXForm, 3, 4,
6043 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
6044 MVT::i32, 2, 122,
6045 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6046 MVT::i32, 2, 7|128,1,
6047 OPC_EmitConvertToTarget1,
6048 OPC_EmitNodeXForm, 3, 8,
6049 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
6050 MVT::i32, 2, 29|128,1,
6051 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6052 MVT::i32, 2, 37|128,1,
6053 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
6054 MVT::i32, 2, 41|128,1,
6055 50,
6056 OPC_CheckChild2CondCode, ISD::SETNE,
6057 OPC_MoveParent,
6058 OPC_RecordChild1,
6059 OPC_RecordChild2,
6060 OPC_CheckTypeI32,
6061 OPC_CheckPatternPredicate, 8,
6062 OPC_EmitConvertToTarget1,
6063 OPC_EmitNodeXForm, 3, 4,
6064 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
6065 MVT::i32, 2, 122,
6066 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6067 MVT::i32, 2, 7|128,1,
6068 OPC_EmitConvertToTarget1,
6069 OPC_EmitNodeXForm, 3, 8,
6070 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
6071 MVT::i32, 2, 29|128,1,
6072 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6073 MVT::i32, 2, 37|128,1,
6074 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
6075 MVT::i32, 2, 41|128,1,
6076 0,
6077 108,
6078 OPC_CheckPredicate, 11,
6079 OPC_MoveParent,
6080 OPC_CheckTypeI32,
6081 OPC_Scope, 50,
6082 OPC_CheckChild2CondCode, ISD::SETGT,
6083 OPC_MoveParent,
6084 OPC_RecordChild1,
6085 OPC_RecordChild2,
6086 OPC_CheckTypeI32,
6087 OPC_CheckPatternPredicate, 8,
6088 OPC_EmitConvertToTarget1,
6089 OPC_EmitNodeXForm, 2, 4,
6090 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6091 MVT::i32, 2, 122,
6092 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6093 MVT::i32, 2, 7|128,1,
6094 OPC_EmitConvertToTarget1,
6095 OPC_EmitNodeXForm, 2, 8,
6096 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6097 MVT::i32, 2, 29|128,1,
6098 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6099 MVT::i32, 2, 37|128,1,
6100 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
6101 MVT::i32, 2, 41|128,1,
6102 50,
6103 OPC_CheckChild2CondCode, ISD::SETUGT,
6104 OPC_MoveParent,
6105 OPC_RecordChild1,
6106 OPC_RecordChild2,
6107 OPC_CheckTypeI32,
6108 OPC_CheckPatternPredicate, 8,
6109 OPC_EmitConvertToTarget1,
6110 OPC_EmitNodeXForm, 2, 4,
6111 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6112 MVT::i32, 2, 122,
6113 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6114 MVT::i32, 2, 7|128,1,
6115 OPC_EmitConvertToTarget1,
6116 OPC_EmitNodeXForm, 2, 8,
6117 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6118 MVT::i32, 2, 29|128,1,
6119 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6120 MVT::i32, 2, 37|128,1,
6121 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
6122 MVT::i32, 2, 41|128,1,
6123 0,
6124 8|128,1,
6125 OPC_CheckPredicate, 12,
6126 OPC_MoveParent,
6127 OPC_CheckTypeI32,
6128 OPC_Scope, 64,
6129 OPC_CheckChild2CondCode, ISD::SETEQ,
6130 OPC_MoveParent,
6131 OPC_RecordChild1,
6132 OPC_RecordChild2,
6133 OPC_CheckTypeI64,
6134 OPC_CheckPatternPredicate, 22,
6135 OPC_EmitConvertToTarget1,
6136 OPC_EmitNodeXForm, 3, 4,
6137 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
6138 MVT::i32, 2, 122,
6139 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6140 MVT::i64, 1, 8|128,1,
6141 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6142 MVT::i64, 2, 15|128,1,
6143 OPC_EmitConvertToTarget1,
6144 OPC_EmitNodeXForm, 3, 9,
6145 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
6146 MVT::i32, 2, 35|128,1,
6147 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6148 MVT::i64, 1, 40|128,1,
6149 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6150 MVT::i64, 2, 45|128,1,
6151 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6152 MVT::i64, 2, 47|128,1,
6153 64,
6154 OPC_CheckChild2CondCode, ISD::SETNE,
6155 OPC_MoveParent,
6156 OPC_RecordChild1,
6157 OPC_RecordChild2,
6158 OPC_CheckTypeI64,
6159 OPC_CheckPatternPredicate, 22,
6160 OPC_EmitConvertToTarget1,
6161 OPC_EmitNodeXForm, 3, 4,
6162 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
6163 MVT::i32, 2, 122,
6164 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6165 MVT::i64, 1, 8|128,1,
6166 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6167 MVT::i64, 2, 15|128,1,
6168 OPC_EmitConvertToTarget1,
6169 OPC_EmitNodeXForm, 3, 9,
6170 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
6171 MVT::i32, 2, 35|128,1,
6172 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6173 MVT::i64, 1, 40|128,1,
6174 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6175 MVT::i64, 2, 45|128,1,
6176 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6177 MVT::i64, 2, 47|128,1,
6178 0,
6179 18,
6180 OPC_CheckPredicate, 8,
6181 OPC_MoveParent,
6182 OPC_CheckChild2CondCode, ISD::SETLT,
6183 OPC_CheckTypeI32,
6184 OPC_MoveParent,
6185 OPC_RecordChild1,
6186 OPC_RecordChild2,
6187 OPC_CheckTypeI32,
6188 OPC_CheckPatternPredicate5,
6189 OPC_EmitConvertToTarget1,
6190 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlti),
6191 MVT::i32, 4, 92,
6192 42,
6193 OPC_CheckPredicate, 12,
6194 OPC_MoveParent,
6195 OPC_CheckTypeI32,
6196 OPC_Scope, 17,
6197 OPC_CheckChild2CondCode, ISD::SETEQ,
6198 OPC_MoveParent,
6199 OPC_RecordChild1,
6200 OPC_RecordChild2,
6201 OPC_CheckTypeI32,
6202 OPC_CheckPatternPredicate5,
6203 OPC_EmitConvertToTarget1,
6204 OPC_EmitNodeXForm, 3, 4,
6205 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmpi),
6206 MVT::i32, 4, 120,
6207 17,
6208 OPC_CheckChild2CondCode, ISD::SETNE,
6209 OPC_MoveParent,
6210 OPC_RecordChild1,
6211 OPC_RecordChild2,
6212 OPC_CheckTypeI32,
6213 OPC_CheckPatternPredicate5,
6214 OPC_EmitConvertToTarget1,
6215 OPC_EmitNodeXForm, 3, 4,
6216 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmpi),
6217 MVT::i32, 4, 120,
6218 0,
6219 0,
6220 0,
6221 106|128,5,
6222 OPC_CheckChild0TypeI64,
6223 OPC_Scope, 89,
6224 OPC_MoveChild1,
6225 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6226 OPC_CheckPredicate7,
6227 OPC_MoveParent,
6228 OPC_CheckTypeI32,
6229 OPC_Scope, 39,
6230 OPC_CheckChild2CondCode, ISD::SETNE,
6231 OPC_Scope, 17,
6232 OPC_MoveParent,
6233 OPC_RecordChild1,
6234 OPC_MoveChild2,
6235 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6236 OPC_CheckPredicate7,
6237 OPC_MoveParent,
6238 OPC_CheckTypeI64,
6239 OPC_CheckPatternPredicate, 22,
6240 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
6241 MVT::i64, 2, 3,
6242 16,
6243 OPC_MoveSibling1,
6244 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6245 OPC_CheckPredicate7,
6246 OPC_MoveParent,
6247 OPC_RecordChild2,
6248 OPC_CheckTypeI64,
6249 OPC_CheckPatternPredicate, 22,
6250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
6251 MVT::i64, 2, 3,
6252 0,
6253 39,
6254 OPC_CheckChild2CondCode, ISD::SETEQ,
6255 OPC_Scope, 17,
6256 OPC_MoveParent,
6257 OPC_RecordChild1,
6258 OPC_MoveChild2,
6259 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6260 OPC_CheckPredicate7,
6261 OPC_MoveParent,
6262 OPC_CheckTypeI64,
6263 OPC_CheckPatternPredicate, 22,
6264 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
6265 MVT::i64, 2, 3,
6266 16,
6267 OPC_MoveSibling1,
6268 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6269 OPC_CheckPredicate7,
6270 OPC_MoveParent,
6271 OPC_RecordChild2,
6272 OPC_CheckTypeI64,
6273 OPC_CheckPatternPredicate, 22,
6274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
6275 MVT::i64, 2, 3,
6276 0,
6277 0,
6278 61,
6279 OPC_CheckChild1Integer, 0,
6280 OPC_CheckTypeI32,
6281 OPC_Scope, 27,
6282 OPC_CheckChild2CondCode, ISD::SETEQ,
6283 OPC_MoveParent,
6284 OPC_RecordChild1,
6285 OPC_RecordChild2,
6286 OPC_SwitchType , 8, MVT::i32,
6287 OPC_CheckPatternPredicate, 10,
6288 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
6289 MVT::i32, 3, 28,
6290 8, MVT::i64,
6291 OPC_CheckPatternPredicate, 10,
6292 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
6293 MVT::i64, 3, 28,
6294 0,
6295 27,
6296 OPC_CheckChild2CondCode, ISD::SETNE,
6297 OPC_MoveParent,
6298 OPC_RecordChild1,
6299 OPC_RecordChild2,
6300 OPC_SwitchType , 8, MVT::i32,
6301 OPC_CheckPatternPredicate, 10,
6302 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
6303 MVT::i32, 3, 28,
6304 8, MVT::i64,
6305 OPC_CheckPatternPredicate, 10,
6306 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
6307 MVT::i64, 3, 28,
6308 0,
6309 0,
6310 19|128,2,
6311 OPC_RecordChild1,
6312 OPC_MoveChild1,
6313 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6314 OPC_Scope, 50,
6315 OPC_CheckPredicate, 8,
6316 OPC_MoveParent,
6317 OPC_CheckTypeI32,
6318 OPC_Scope, 21,
6319 OPC_CheckChild2CondCode, ISD::SETGE,
6320 OPC_MoveParent,
6321 OPC_RecordChild1,
6322 OPC_RecordChild2,
6323 OPC_CheckTypeI32,
6324 OPC_CheckPatternPredicate, 10,
6325 OPC_EmitConvertToTarget1,
6326 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6327 MVT::i32, 2, 94,
6328 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6329 MVT::i32, 3, 73,
6330 21,
6331 OPC_CheckChild2CondCode, ISD::SETUGE,
6332 OPC_MoveParent,
6333 OPC_RecordChild1,
6334 OPC_RecordChild2,
6335 OPC_CheckTypeI32,
6336 OPC_CheckPatternPredicate, 10,
6337 OPC_EmitConvertToTarget1,
6338 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6339 MVT::i32, 2, 94,
6340 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6341 MVT::i32, 3, 73,
6342 0,
6343 56,
6344 OPC_CheckPredicate, 11,
6345 OPC_MoveParent,
6346 OPC_CheckTypeI32,
6347 OPC_Scope, 24,
6348 OPC_CheckChild2CondCode, ISD::SETGT,
6349 OPC_MoveParent,
6350 OPC_RecordChild1,
6351 OPC_RecordChild2,
6352 OPC_CheckTypeI32,
6353 OPC_CheckPatternPredicate, 10,
6354 OPC_EmitConvertToTarget1,
6355 OPC_EmitNodeXForm, 2, 4,
6356 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6357 MVT::i32, 2, 122,
6358 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6359 MVT::i32, 3, 80,
6360 24,
6361 OPC_CheckChild2CondCode, ISD::SETUGT,
6362 OPC_MoveParent,
6363 OPC_RecordChild1,
6364 OPC_RecordChild2,
6365 OPC_CheckTypeI32,
6366 OPC_CheckPatternPredicate, 10,
6367 OPC_EmitConvertToTarget1,
6368 OPC_EmitNodeXForm, 2, 4,
6369 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6370 MVT::i32, 2, 122,
6371 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6372 MVT::i32, 3, 80,
6373 0,
6374 50,
6375 OPC_CheckPredicate, 8,
6376 OPC_MoveParent,
6377 OPC_CheckTypeI32,
6378 OPC_Scope, 21,
6379 OPC_CheckChild2CondCode, ISD::SETGE,
6380 OPC_MoveParent,
6381 OPC_RecordChild1,
6382 OPC_RecordChild2,
6383 OPC_CheckTypeI64,
6384 OPC_CheckPatternPredicate, 10,
6385 OPC_EmitConvertToTarget1,
6386 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6387 MVT::i32, 2, 94,
6388 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6389 MVT::i64, 3, 73,
6390 21,
6391 OPC_CheckChild2CondCode, ISD::SETUGE,
6392 OPC_MoveParent,
6393 OPC_RecordChild1,
6394 OPC_RecordChild2,
6395 OPC_CheckTypeI64,
6396 OPC_CheckPatternPredicate, 10,
6397 OPC_EmitConvertToTarget1,
6398 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6399 MVT::i32, 2, 94,
6400 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6401 MVT::i64, 3, 73,
6402 0,
6403 56,
6404 OPC_CheckPredicate, 11,
6405 OPC_MoveParent,
6406 OPC_CheckTypeI32,
6407 OPC_Scope, 24,
6408 OPC_CheckChild2CondCode, ISD::SETGT,
6409 OPC_MoveParent,
6410 OPC_RecordChild1,
6411 OPC_RecordChild2,
6412 OPC_CheckTypeI64,
6413 OPC_CheckPatternPredicate, 10,
6414 OPC_EmitConvertToTarget1,
6415 OPC_EmitNodeXForm, 2, 4,
6416 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6417 MVT::i32, 2, 122,
6418 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6419 MVT::i64, 3, 80,
6420 24,
6421 OPC_CheckChild2CondCode, ISD::SETUGT,
6422 OPC_MoveParent,
6423 OPC_RecordChild1,
6424 OPC_RecordChild2,
6425 OPC_CheckTypeI64,
6426 OPC_CheckPatternPredicate, 10,
6427 OPC_EmitConvertToTarget1,
6428 OPC_EmitNodeXForm, 2, 4,
6429 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6430 MVT::i32, 2, 122,
6431 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6432 MVT::i64, 3, 80,
6433 0,
6434 51,
6435 OPC_CheckPredicate, 12,
6436 OPC_MoveParent,
6437 OPC_CheckChild2CondCode, ISD::SETEQ,
6438 OPC_CheckTypeI32,
6439 OPC_MoveParent,
6440 OPC_RecordChild1,
6441 OPC_RecordChild2,
6442 OPC_SwitchType , 18, MVT::i32,
6443 OPC_CheckPatternPredicate, 10,
6444 OPC_EmitConvertToTarget1,
6445 OPC_EmitNodeXForm, 3, 4,
6446 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6447 MVT::i64, 2, 122,
6448 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
6449 MVT::i32, 3, 80,
6450 18, MVT::i64,
6451 OPC_CheckPatternPredicate, 10,
6452 OPC_EmitConvertToTarget1,
6453 OPC_EmitNodeXForm, 3, 4,
6454 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6455 MVT::i64, 2, 122,
6456 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
6457 MVT::i64, 3, 80,
6458 0,
6459 0,
6460 63,
6461 OPC_MoveChild1,
6462 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6463 OPC_CheckPredicate7,
6464 OPC_MoveParent,
6465 OPC_CheckTypeI32,
6466 OPC_Scope, 26,
6467 OPC_CheckChild2CondCode, ISD::SETEQ,
6468 OPC_MoveParent,
6469 OPC_RecordChild1,
6470 OPC_RecordChild2,
6471 OPC_CheckTypeI64,
6472 OPC_CheckPatternPredicate, 22,
6473 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6474 MVT::i64, 2, 3,
6475 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6476 MVT::i64, 2, 10,
6477 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6478 MVT::i64, 2, 106,
6479 26,
6480 OPC_CheckChild2CondCode, ISD::SETNE,
6481 OPC_MoveParent,
6482 OPC_RecordChild1,
6483 OPC_RecordChild2,
6484 OPC_CheckTypeI64,
6485 OPC_CheckPatternPredicate, 22,
6486 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6487 MVT::i64, 2, 3,
6488 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6489 MVT::i64, 2, 10,
6490 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6491 MVT::i64, 2, 106,
6492 0,
6493 120|128,1,
6494 OPC_RecordChild1,
6495 OPC_MoveChild1,
6496 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6497 OPC_Scope, 94,
6498 OPC_CheckPredicate, 51,
6499 OPC_MoveParent,
6500 OPC_CheckTypeI32,
6501 OPC_Scope, 43,
6502 OPC_CheckChild2CondCode, ISD::SETEQ,
6503 OPC_MoveParent,
6504 OPC_RecordChild1,
6505 OPC_RecordChild2,
6506 OPC_CheckTypeI64,
6507 OPC_CheckPatternPredicate, 22,
6508 OPC_EmitConvertToTarget1,
6509 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6510 MVT::i64, 2, 94,
6511 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6512 MVT::i64, 2, 127,
6513 OPC_EmitConvertToTarget1,
6514 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6515 MVT::i64, 2, 13|128,1,
6516 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6517 MVT::i64, 2, 22|128,1,
6518 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6519 MVT::i64, 2, 31|128,1,
6520 43,
6521 OPC_CheckChild2CondCode, ISD::SETNE,
6522 OPC_MoveParent,
6523 OPC_RecordChild1,
6524 OPC_RecordChild2,
6525 OPC_CheckTypeI64,
6526 OPC_CheckPatternPredicate, 22,
6527 OPC_EmitConvertToTarget1,
6528 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6529 MVT::i64, 2, 94,
6530 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6531 MVT::i64, 2, 127,
6532 OPC_EmitConvertToTarget1,
6533 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6534 MVT::i64, 2, 13|128,1,
6535 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6536 MVT::i64, 2, 22|128,1,
6537 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6538 MVT::i64, 2, 31|128,1,
6539 0,
6540 16|128,1,
6541 OPC_CheckPredicate, 11,
6542 OPC_MoveParent,
6543 OPC_CheckTypeI32,
6544 OPC_Scope, 68,
6545 OPC_CheckChild2CondCode, ISD::SETGT,
6546 OPC_MoveParent,
6547 OPC_RecordChild1,
6548 OPC_RecordChild2,
6549 OPC_CheckTypeI64,
6550 OPC_CheckPatternPredicate, 22,
6551 OPC_EmitConvertToTarget1,
6552 OPC_EmitNodeXForm, 2, 4,
6553 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6554 MVT::i32, 2, 122,
6555 OPC_EmitIntegerI32, Mips::sub_32,
6556 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
6557 MVT::i64, 2, 17|128,1,
6558 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6559 MVT::i64, 2, 19|128,1,
6560 OPC_EmitConvertToTarget1,
6561 OPC_EmitNodeXForm, 2, 10,
6562 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6563 MVT::i32, 2, 39|128,1,
6564 OPC_EmitIntegerI32, Mips::sub_32,
6565 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
6566 MVT::i64, 2, 49|128,1,
6567 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6568 MVT::i64, 2, 51|128,1,
6569 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6570 MVT::i64, 2, 53|128,1,
6571 68,
6572 OPC_CheckChild2CondCode, ISD::SETUGT,
6573 OPC_MoveParent,
6574 OPC_RecordChild1,
6575 OPC_RecordChild2,
6576 OPC_CheckTypeI64,
6577 OPC_CheckPatternPredicate, 22,
6578 OPC_EmitConvertToTarget1,
6579 OPC_EmitNodeXForm, 2, 4,
6580 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6581 MVT::i32, 2, 122,
6582 OPC_EmitIntegerI32, Mips::sub_32,
6583 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
6584 MVT::i64, 2, 17|128,1,
6585 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6586 MVT::i64, 2, 19|128,1,
6587 OPC_EmitConvertToTarget1,
6588 OPC_EmitNodeXForm, 2, 10,
6589 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6590 MVT::i32, 2, 39|128,1,
6591 OPC_EmitIntegerI32, Mips::sub_32,
6592 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
6593 MVT::i64, 2, 49|128,1,
6594 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6595 MVT::i64, 2, 51|128,1,
6596 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6597 MVT::i64, 2, 53|128,1,
6598 0,
6599 0,
6600 0,
6601 0,
6602 118,
6603 OPC_RecordChild0,
6604 OPC_CheckChild0TypeI32,
6605 OPC_Scope, 16,
6606 OPC_RecordChild1,
6607 OPC_MoveChild2,
6608 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6609 OPC_CheckPredicate7,
6610 OPC_MoveParent,
6611 OPC_CheckTypeI32,
6612 OPC_CheckPatternPredicate, 15,
6613 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
6614 MVT::i32, 2, 3,
6615 16,
6616 OPC_MoveChild1,
6617 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6618 OPC_CheckPredicate7,
6619 OPC_MoveParent,
6620 OPC_RecordChild2,
6621 OPC_CheckTypeI32,
6622 OPC_CheckPatternPredicate, 15,
6623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
6624 MVT::i32, 2, 3,
6625 16,
6626 OPC_RecordChild1,
6627 OPC_MoveChild2,
6628 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6629 OPC_CheckPredicate7,
6630 OPC_MoveParent,
6631 OPC_CheckTypeI32,
6632 OPC_CheckPatternPredicate, 8,
6633 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6634 MVT::i32, 2, 3,
6635 16,
6636 OPC_MoveChild1,
6637 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6638 OPC_CheckPredicate7,
6639 OPC_MoveParent,
6640 OPC_RecordChild2,
6641 OPC_CheckTypeI32,
6642 OPC_CheckPatternPredicate, 8,
6643 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6644 MVT::i32, 2, 3,
6645 22,
6646 OPC_RecordChild1,
6647 OPC_MoveChild2,
6648 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6649 OPC_CheckPredicate7,
6650 OPC_MoveParent,
6651 OPC_CheckTypeI64,
6652 OPC_CheckPatternPredicate, 22,
6653 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6654 MVT::i64, 1, 1,
6655 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
6656 MVT::i64, 2, 32,
6657 22,
6658 OPC_MoveChild1,
6659 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6660 OPC_CheckPredicate7,
6661 OPC_MoveParent,
6662 OPC_RecordChild2,
6663 OPC_CheckTypeI64,
6664 OPC_CheckPatternPredicate, 22,
6665 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6666 MVT::i64, 1, 1,
6667 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
6668 MVT::i64, 2, 32,
6669 0,
6670 53|128,5,
6671 OPC_MoveChild0,
6672 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
6673 OPC_RecordChild0,
6674 OPC_CheckTypeI32,
6675 OPC_Scope, 53|128,3,
6676 OPC_CheckChild0TypeI32,
6677 OPC_RecordChild1,
6678 OPC_Scope, 64,
6679 OPC_CheckChild2CondCode, ISD::SETGE,
6680 OPC_MoveParent,
6681 OPC_RecordChild1,
6682 OPC_RecordChild2,
6683 OPC_SwitchType , 39, MVT::i32,
6684 OPC_Scope, 14,
6685 OPC_CheckPatternPredicate, 23,
6686 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6687 MVT::i32, 2, 16,
6688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6689 MVT::i32, 3, 67,
6690 13,
6691 OPC_CheckPatternPredicate7,
6692 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6693 MVT::i32, 2, 16,
6694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6695 MVT::i32, 3, 67,
6696 7,
6697 OPC_CheckPatternPredicate5,
6698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
6699 MVT::i32, 4, 18,
6700 0,
6701 14, MVT::i64,
6702 OPC_CheckPatternPredicate, 10,
6703 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6704 MVT::i32, 2, 16,
6705 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6706 MVT::i64, 3, 67,
6707 0,
6708 64,
6709 OPC_CheckChild2CondCode, ISD::SETUGE,
6710 OPC_MoveParent,
6711 OPC_RecordChild1,
6712 OPC_RecordChild2,
6713 OPC_SwitchType , 39, MVT::i32,
6714 OPC_Scope, 14,
6715 OPC_CheckPatternPredicate, 23,
6716 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6717 MVT::i32, 2, 16,
6718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6719 MVT::i32, 3, 67,
6720 13,
6721 OPC_CheckPatternPredicate7,
6722 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6723 MVT::i32, 2, 16,
6724 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6725 MVT::i32, 3, 67,
6726 7,
6727 OPC_CheckPatternPredicate5,
6728 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
6729 MVT::i32, 4, 18,
6730 0,
6731 14, MVT::i64,
6732 OPC_CheckPatternPredicate, 10,
6733 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6734 MVT::i32, 2, 16,
6735 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6736 MVT::i64, 3, 67,
6737 0,
6738 64,
6739 OPC_CheckChild2CondCode, ISD::SETLE,
6740 OPC_MoveParent,
6741 OPC_RecordChild1,
6742 OPC_RecordChild2,
6743 OPC_SwitchType , 39, MVT::i32,
6744 OPC_Scope, 14,
6745 OPC_CheckPatternPredicate, 23,
6746 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6747 MVT::i32, 2, 3,
6748 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6749 MVT::i32, 3, 67,
6750 13,
6751 OPC_CheckPatternPredicate7,
6752 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6753 MVT::i32, 2, 3,
6754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6755 MVT::i32, 3, 67,
6756 7,
6757 OPC_CheckPatternPredicate5,
6758 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
6759 MVT::i32, 4, 5,
6760 0,
6761 14, MVT::i64,
6762 OPC_CheckPatternPredicate, 10,
6763 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6764 MVT::i32, 2, 3,
6765 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6766 MVT::i64, 3, 67,
6767 0,
6768 64,
6769 OPC_CheckChild2CondCode, ISD::SETULE,
6770 OPC_MoveParent,
6771 OPC_RecordChild1,
6772 OPC_RecordChild2,
6773 OPC_SwitchType , 39, MVT::i32,
6774 OPC_Scope, 14,
6775 OPC_CheckPatternPredicate, 23,
6776 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6777 MVT::i32, 2, 3,
6778 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6779 MVT::i32, 3, 67,
6780 13,
6781 OPC_CheckPatternPredicate7,
6782 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6783 MVT::i32, 2, 3,
6784 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6785 MVT::i32, 3, 67,
6786 7,
6787 OPC_CheckPatternPredicate5,
6788 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
6789 MVT::i32, 4, 5,
6790 0,
6791 14, MVT::i64,
6792 OPC_CheckPatternPredicate, 10,
6793 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6794 MVT::i32, 2, 3,
6795 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6796 MVT::i64, 3, 67,
6797 0,
6798 64,
6799 OPC_CheckChild2CondCode, ISD::SETEQ,
6800 OPC_MoveParent,
6801 OPC_RecordChild1,
6802 OPC_RecordChild2,
6803 OPC_SwitchType , 39, MVT::i32,
6804 OPC_Scope, 14,
6805 OPC_CheckPatternPredicate, 23,
6806 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6807 MVT::i32, 2, 16,
6808 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6809 MVT::i32, 3, 67,
6810 13,
6811 OPC_CheckPatternPredicate7,
6812 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6813 MVT::i32, 2, 16,
6814 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6815 MVT::i32, 3, 67,
6816 7,
6817 OPC_CheckPatternPredicate5,
6818 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmp),
6819 MVT::i32, 4, 5,
6820 0,
6821 14, MVT::i64,
6822 OPC_CheckPatternPredicate, 10,
6823 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6824 MVT::i32, 2, 16,
6825 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6826 MVT::i64, 3, 67,
6827 0,
6828 79,
6829 OPC_CheckChild2CondCode, ISD::SETNE,
6830 OPC_MoveParent,
6831 OPC_RecordChild1,
6832 OPC_RecordChild2,
6833 OPC_SwitchType , 54, MVT::i32,
6834 OPC_Scope, 14,
6835 OPC_CheckPatternPredicate, 23,
6836 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6837 MVT::i32, 2, 16,
6838 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
6839 MVT::i32, 3, 67,
6840 14,
6841 OPC_CheckPatternPredicate, 73,
6842 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6843 MVT::i32, 2, 16,
6844 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
6845 MVT::i32, 3, 67,
6846 13,
6847 OPC_CheckPatternPredicate7,
6848 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6849 MVT::i32, 2, 16,
6850 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
6851 MVT::i32, 3, 67,
6852 7,
6853 OPC_CheckPatternPredicate5,
6854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmp),
6855 MVT::i32, 4, 5,
6856 0,
6857 14, MVT::i64,
6858 OPC_CheckPatternPredicate, 10,
6859 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6860 MVT::i32, 2, 16,
6861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
6862 MVT::i64, 3, 67,
6863 0,
6864 13,
6865 OPC_CheckChild2CondCode, ISD::SETGT,
6866 OPC_MoveParent,
6867 OPC_RecordChild1,
6868 OPC_RecordChild2,
6869 OPC_CheckTypeI32,
6870 OPC_CheckPatternPredicate5,
6871 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlt),
6872 MVT::i32, 4, 5,
6873 13,
6874 OPC_CheckChild2CondCode, ISD::SETUGT,
6875 OPC_MoveParent,
6876 OPC_RecordChild1,
6877 OPC_RecordChild2,
6878 OPC_CheckTypeI32,
6879 OPC_CheckPatternPredicate5,
6880 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSltu),
6881 MVT::i32, 4, 5,
6882 0,
6883 116|128,1,
6884 OPC_CheckChild0TypeI64,
6885 OPC_RecordChild1,
6886 OPC_Scope, 39,
6887 OPC_CheckChild2CondCode, ISD::SETGE,
6888 OPC_MoveParent,
6889 OPC_RecordChild1,
6890 OPC_RecordChild2,
6891 OPC_SwitchType , 14, MVT::i32,
6892 OPC_CheckPatternPredicate, 10,
6893 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6894 MVT::i32, 2, 16,
6895 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6896 MVT::i32, 3, 67,
6897 14, MVT::i64,
6898 OPC_CheckPatternPredicate, 10,
6899 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6900 MVT::i32, 2, 16,
6901 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6902 MVT::i64, 3, 67,
6903 0,
6904 39,
6905 OPC_CheckChild2CondCode, ISD::SETUGE,
6906 OPC_MoveParent,
6907 OPC_RecordChild1,
6908 OPC_RecordChild2,
6909 OPC_SwitchType , 14, MVT::i32,
6910 OPC_CheckPatternPredicate, 10,
6911 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6912 MVT::i32, 2, 16,
6913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6914 MVT::i32, 3, 67,
6915 14, MVT::i64,
6916 OPC_CheckPatternPredicate, 10,
6917 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6918 MVT::i32, 2, 16,
6919 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6920 MVT::i64, 3, 67,
6921 0,
6922 39,
6923 OPC_CheckChild2CondCode, ISD::SETLE,
6924 OPC_MoveParent,
6925 OPC_RecordChild1,
6926 OPC_RecordChild2,
6927 OPC_SwitchType , 14, MVT::i32,
6928 OPC_CheckPatternPredicate, 10,
6929 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6930 MVT::i32, 2, 3,
6931 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6932 MVT::i32, 3, 67,
6933 14, MVT::i64,
6934 OPC_CheckPatternPredicate, 10,
6935 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6936 MVT::i32, 2, 3,
6937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6938 MVT::i64, 3, 67,
6939 0,
6940 39,
6941 OPC_CheckChild2CondCode, ISD::SETULE,
6942 OPC_MoveParent,
6943 OPC_RecordChild1,
6944 OPC_RecordChild2,
6945 OPC_SwitchType , 14, MVT::i32,
6946 OPC_CheckPatternPredicate, 10,
6947 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6948 MVT::i32, 2, 3,
6949 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6950 MVT::i32, 3, 67,
6951 14, MVT::i64,
6952 OPC_CheckPatternPredicate, 10,
6953 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6954 MVT::i32, 2, 3,
6955 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6956 MVT::i64, 3, 67,
6957 0,
6958 39,
6959 OPC_CheckChild2CondCode, ISD::SETEQ,
6960 OPC_MoveParent,
6961 OPC_RecordChild1,
6962 OPC_RecordChild2,
6963 OPC_SwitchType , 14, MVT::i32,
6964 OPC_CheckPatternPredicate, 10,
6965 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6966 MVT::i64, 2, 16,
6967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
6968 MVT::i32, 3, 67,
6969 14, MVT::i64,
6970 OPC_CheckPatternPredicate, 10,
6971 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6972 MVT::i64, 2, 16,
6973 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
6974 MVT::i64, 3, 67,
6975 0,
6976 39,
6977 OPC_CheckChild2CondCode, ISD::SETNE,
6978 OPC_MoveParent,
6979 OPC_RecordChild1,
6980 OPC_RecordChild2,
6981 OPC_SwitchType , 14, MVT::i32,
6982 OPC_CheckPatternPredicate, 10,
6983 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6984 MVT::i64, 2, 16,
6985 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
6986 MVT::i32, 3, 67,
6987 14, MVT::i64,
6988 OPC_CheckPatternPredicate, 10,
6989 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6990 MVT::i64, 2, 16,
6991 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
6992 MVT::i64, 3, 67,
6993 0,
6994 0,
6995 0,
6996 77|128,1,
6997 OPC_RecordChild0,
6998 OPC_Scope, 22|128,1,
6999 OPC_CheckChild0TypeI32,
7000 OPC_RecordChild1,
7001 OPC_RecordChild2,
7002 OPC_SwitchType , 87, MVT::i32,
7003 OPC_Scope, 8,
7004 OPC_CheckPatternPredicate, 23,
7005 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
7006 MVT::i32, 3, 28,
7007 8,
7008 OPC_CheckPatternPredicate, 73,
7009 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
7010 MVT::i32, 3, 28,
7011 7,
7012 OPC_CheckPatternPredicate7,
7013 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
7014 MVT::i32, 3, 28,
7015 20,
7016 OPC_CheckPatternPredicate, 15,
7017 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
7018 MVT::i32, 2, 3,
7019 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
7020 MVT::i32, 2, 10,
7021 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
7022 MVT::i32, 2, 106,
7023 20,
7024 OPC_CheckPatternPredicate, 8,
7025 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
7026 MVT::i32, 2, 3,
7027 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
7028 MVT::i32, 2, 10,
7029 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
7030 MVT::i32, 2, 106,
7031 8,
7032 OPC_CheckPatternPredicate, 47,
7033 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I),
7034 MVT::i32, 3, 31,
7035 7,
7036 OPC_CheckPatternPredicate5,
7037 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
7038 MVT::i32, 3, 9,
7039 0,
7040 54, MVT::i64,
7041 OPC_Scope, 8,
7042 OPC_CheckPatternPredicate, 10,
7043 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
7044 MVT::i64, 3, 28,
7045 33,
7046 OPC_CheckPatternPredicate, 22,
7047 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
7048 MVT::i64, 1, 1,
7049 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
7050 MVT::i64, 2, 50,
7051 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
7052 MVT::i64, 1, 1,
7053 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
7054 MVT::i64, 2, 127,
7055 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
7056 MVT::i64, 2, 9|128,1,
7057 8,
7058 OPC_CheckPatternPredicate, 47,
7059 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I64),
7060 MVT::i64, 3, 31,
7061 0,
7062 0,
7063 49,
7064 OPC_CheckChild0TypeI64,
7065 OPC_RecordChild1,
7066 OPC_RecordChild2,
7067 OPC_SwitchType , 8, MVT::i32,
7068 OPC_CheckPatternPredicate, 10,
7069 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
7070 MVT::i32, 3, 28,
7071 32, MVT::i64,
7072 OPC_Scope, 8,
7073 OPC_CheckPatternPredicate, 10,
7074 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
7075 MVT::i64, 3, 28,
7076 20,
7077 OPC_CheckPatternPredicate, 22,
7078 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
7079 MVT::i64, 2, 3,
7080 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
7081 MVT::i64, 2, 10,
7082 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
7083 MVT::i64, 2, 106,
7084 0,
7085 0,
7086 0,
7087 11|128,14,
7088 OPC_MoveChild0,
7089 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
7090 OPC_RecordChild0,
7091 OPC_Scope, 92|128,9,
7092 OPC_CheckChild0TypeI32,
7093 OPC_Scope, 125,
7094 OPC_CheckChild1Integer, 0,
7095 OPC_CheckTypeI32,
7096 OPC_Scope, 59,
7097 OPC_CheckChild2CondCode, ISD::SETEQ,
7098 OPC_MoveParent,
7099 OPC_RecordChild1,
7100 OPC_RecordChild2,
7101 OPC_SwitchType , 19, MVT::f32,
7102 OPC_Scope, 8,
7103 OPC_CheckPatternPredicate, 23,
7104 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7105 MVT::f32, 3, 28,
7106 7,
7107 OPC_CheckPatternPredicate7,
7108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7109 MVT::f32, 3, 28,
7110 0,
7111 29, MVT::f64,
7112 OPC_Scope, 8,
7113 OPC_CheckPatternPredicate, 34,
7114 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7115 MVT::f64, 3, 28,
7116 8,
7117 OPC_CheckPatternPredicate, 24,
7118 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7119 MVT::f64, 3, 28,
7120 8,
7121 OPC_CheckPatternPredicate, 33,
7122 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7123 MVT::f64, 3, 28,
7124 0,
7125 0,
7126 59,
7127 OPC_CheckChild2CondCode, ISD::SETNE,
7128 OPC_MoveParent,
7129 OPC_RecordChild1,
7130 OPC_RecordChild2,
7131 OPC_SwitchType , 19, MVT::f32,
7132 OPC_Scope, 8,
7133 OPC_CheckPatternPredicate, 23,
7134 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
7135 MVT::f32, 3, 28,
7136 7,
7137 OPC_CheckPatternPredicate7,
7138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
7139 MVT::f32, 3, 28,
7140 0,
7141 29, MVT::f64,
7142 OPC_Scope, 8,
7143 OPC_CheckPatternPredicate, 34,
7144 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
7145 MVT::f64, 3, 28,
7146 8,
7147 OPC_CheckPatternPredicate, 24,
7148 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
7149 MVT::f64, 3, 28,
7150 8,
7151 OPC_CheckPatternPredicate, 33,
7152 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
7153 MVT::f64, 3, 28,
7154 0,
7155 0,
7156 0,
7157 89|128,8,
7158 OPC_RecordChild1,
7159 OPC_Scope, 50|128,4,
7160 OPC_MoveChild1,
7161 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7162 OPC_Scope, 52,
7163 OPC_CheckPredicate, 8,
7164 OPC_MoveParent,
7165 OPC_CheckTypeI32,
7166 OPC_Scope, 22,
7167 OPC_CheckChild2CondCode, ISD::SETGE,
7168 OPC_MoveParent,
7169 OPC_RecordChild1,
7170 OPC_RecordChild2,
7171 OPC_CheckType, MVT::f32,
7172 OPC_CheckPatternPredicate, 23,
7173 OPC_EmitConvertToTarget1,
7174 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7175 MVT::i32, 2, 94,
7176 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7177 MVT::f32, 3, 73,
7178 22,
7179 OPC_CheckChild2CondCode, ISD::SETUGE,
7180 OPC_MoveParent,
7181 OPC_RecordChild1,
7182 OPC_RecordChild2,
7183 OPC_CheckType, MVT::f32,
7184 OPC_CheckPatternPredicate, 23,
7185 OPC_EmitConvertToTarget1,
7186 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7187 MVT::i32, 2, 94,
7188 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7189 MVT::f32, 3, 73,
7190 0,
7191 58,
7192 OPC_CheckPredicate, 11,
7193 OPC_MoveParent,
7194 OPC_CheckTypeI32,
7195 OPC_Scope, 25,
7196 OPC_CheckChild2CondCode, ISD::SETGT,
7197 OPC_MoveParent,
7198 OPC_RecordChild1,
7199 OPC_RecordChild2,
7200 OPC_CheckType, MVT::f32,
7201 OPC_CheckPatternPredicate, 23,
7202 OPC_EmitConvertToTarget1,
7203 OPC_EmitNodeXForm, 2, 4,
7204 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7205 MVT::i32, 2, 122,
7206 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7207 MVT::f32, 3, 80,
7208 25,
7209 OPC_CheckChild2CondCode, ISD::SETUGT,
7210 OPC_MoveParent,
7211 OPC_RecordChild1,
7212 OPC_RecordChild2,
7213 OPC_CheckType, MVT::f32,
7214 OPC_CheckPatternPredicate, 23,
7215 OPC_EmitConvertToTarget1,
7216 OPC_EmitNodeXForm, 2, 4,
7217 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7218 MVT::i32, 2, 122,
7219 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7220 MVT::f32, 3, 80,
7221 0,
7222 52,
7223 OPC_CheckPredicate, 8,
7224 OPC_MoveParent,
7225 OPC_CheckTypeI32,
7226 OPC_Scope, 22,
7227 OPC_CheckChild2CondCode, ISD::SETGE,
7228 OPC_MoveParent,
7229 OPC_RecordChild1,
7230 OPC_RecordChild2,
7231 OPC_CheckType, MVT::f64,
7232 OPC_CheckPatternPredicate, 34,
7233 OPC_EmitConvertToTarget1,
7234 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7235 MVT::i32, 2, 94,
7236 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7237 MVT::f64, 3, 73,
7238 22,
7239 OPC_CheckChild2CondCode, ISD::SETUGE,
7240 OPC_MoveParent,
7241 OPC_RecordChild1,
7242 OPC_RecordChild2,
7243 OPC_CheckType, MVT::f64,
7244 OPC_CheckPatternPredicate, 34,
7245 OPC_EmitConvertToTarget1,
7246 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7247 MVT::i32, 2, 94,
7248 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7249 MVT::f64, 3, 73,
7250 0,
7251 58,
7252 OPC_CheckPredicate, 11,
7253 OPC_MoveParent,
7254 OPC_CheckTypeI32,
7255 OPC_Scope, 25,
7256 OPC_CheckChild2CondCode, ISD::SETGT,
7257 OPC_MoveParent,
7258 OPC_RecordChild1,
7259 OPC_RecordChild2,
7260 OPC_CheckType, MVT::f64,
7261 OPC_CheckPatternPredicate, 34,
7262 OPC_EmitConvertToTarget1,
7263 OPC_EmitNodeXForm, 2, 4,
7264 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7265 MVT::i32, 2, 122,
7266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7267 MVT::f64, 3, 80,
7268 25,
7269 OPC_CheckChild2CondCode, ISD::SETUGT,
7270 OPC_MoveParent,
7271 OPC_RecordChild1,
7272 OPC_RecordChild2,
7273 OPC_CheckType, MVT::f64,
7274 OPC_CheckPatternPredicate, 34,
7275 OPC_EmitConvertToTarget1,
7276 OPC_EmitNodeXForm, 2, 4,
7277 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7278 MVT::i32, 2, 122,
7279 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7280 MVT::f64, 3, 80,
7281 0,
7282 52,
7283 OPC_CheckPredicate, 8,
7284 OPC_MoveParent,
7285 OPC_CheckTypeI32,
7286 OPC_Scope, 22,
7287 OPC_CheckChild2CondCode, ISD::SETGE,
7288 OPC_MoveParent,
7289 OPC_RecordChild1,
7290 OPC_RecordChild2,
7291 OPC_CheckType, MVT::f64,
7292 OPC_CheckPatternPredicate, 24,
7293 OPC_EmitConvertToTarget1,
7294 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7295 MVT::i32, 2, 94,
7296 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7297 MVT::f64, 3, 73,
7298 22,
7299 OPC_CheckChild2CondCode, ISD::SETUGE,
7300 OPC_MoveParent,
7301 OPC_RecordChild1,
7302 OPC_RecordChild2,
7303 OPC_CheckType, MVT::f64,
7304 OPC_CheckPatternPredicate, 24,
7305 OPC_EmitConvertToTarget1,
7306 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7307 MVT::i32, 2, 94,
7308 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7309 MVT::f64, 3, 73,
7310 0,
7311 58,
7312 OPC_CheckPredicate, 11,
7313 OPC_MoveParent,
7314 OPC_CheckTypeI32,
7315 OPC_Scope, 25,
7316 OPC_CheckChild2CondCode, ISD::SETGT,
7317 OPC_MoveParent,
7318 OPC_RecordChild1,
7319 OPC_RecordChild2,
7320 OPC_CheckType, MVT::f64,
7321 OPC_CheckPatternPredicate, 24,
7322 OPC_EmitConvertToTarget1,
7323 OPC_EmitNodeXForm, 2, 4,
7324 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7325 MVT::i32, 2, 122,
7326 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7327 MVT::f64, 3, 80,
7328 25,
7329 OPC_CheckChild2CondCode, ISD::SETUGT,
7330 OPC_MoveParent,
7331 OPC_RecordChild1,
7332 OPC_RecordChild2,
7333 OPC_CheckType, MVT::f64,
7334 OPC_CheckPatternPredicate, 24,
7335 OPC_EmitConvertToTarget1,
7336 OPC_EmitNodeXForm, 2, 4,
7337 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7338 MVT::i32, 2, 122,
7339 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7340 MVT::f64, 3, 80,
7341 0,
7342 50,
7343 OPC_CheckPredicate, 8,
7344 OPC_MoveParent,
7345 OPC_CheckTypeI32,
7346 OPC_Scope, 21,
7347 OPC_CheckChild2CondCode, ISD::SETGE,
7348 OPC_MoveParent,
7349 OPC_RecordChild1,
7350 OPC_RecordChild2,
7351 OPC_CheckType, MVT::f32,
7352 OPC_CheckPatternPredicate7,
7353 OPC_EmitConvertToTarget1,
7354 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
7355 MVT::i32, 2, 94,
7356 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7357 MVT::f32, 3, 73,
7358 21,
7359 OPC_CheckChild2CondCode, ISD::SETUGE,
7360 OPC_MoveParent,
7361 OPC_RecordChild1,
7362 OPC_RecordChild2,
7363 OPC_CheckType, MVT::f32,
7364 OPC_CheckPatternPredicate7,
7365 OPC_EmitConvertToTarget1,
7366 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
7367 MVT::i32, 2, 94,
7368 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7369 MVT::f32, 3, 73,
7370 0,
7371 56,
7372 OPC_CheckPredicate, 11,
7373 OPC_MoveParent,
7374 OPC_CheckTypeI32,
7375 OPC_Scope, 24,
7376 OPC_CheckChild2CondCode, ISD::SETGT,
7377 OPC_MoveParent,
7378 OPC_RecordChild1,
7379 OPC_RecordChild2,
7380 OPC_CheckType, MVT::f32,
7381 OPC_CheckPatternPredicate7,
7382 OPC_EmitConvertToTarget1,
7383 OPC_EmitNodeXForm, 2, 4,
7384 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
7385 MVT::i32, 2, 122,
7386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7387 MVT::f32, 3, 80,
7388 24,
7389 OPC_CheckChild2CondCode, ISD::SETUGT,
7390 OPC_MoveParent,
7391 OPC_RecordChild1,
7392 OPC_RecordChild2,
7393 OPC_CheckType, MVT::f32,
7394 OPC_CheckPatternPredicate7,
7395 OPC_EmitConvertToTarget1,
7396 OPC_EmitNodeXForm, 2, 4,
7397 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
7398 MVT::i32, 2, 122,
7399 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7400 MVT::f32, 3, 80,
7401 0,
7402 52,
7403 OPC_CheckPredicate, 8,
7404 OPC_MoveParent,
7405 OPC_CheckTypeI32,
7406 OPC_Scope, 22,
7407 OPC_CheckChild2CondCode, ISD::SETGE,
7408 OPC_MoveParent,
7409 OPC_RecordChild1,
7410 OPC_RecordChild2,
7411 OPC_CheckType, MVT::f64,
7412 OPC_CheckPatternPredicate, 33,
7413 OPC_EmitConvertToTarget1,
7414 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
7415 MVT::i32, 2, 94,
7416 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7417 MVT::f64, 3, 73,
7418 22,
7419 OPC_CheckChild2CondCode, ISD::SETUGE,
7420 OPC_MoveParent,
7421 OPC_RecordChild1,
7422 OPC_RecordChild2,
7423 OPC_CheckType, MVT::f64,
7424 OPC_CheckPatternPredicate, 33,
7425 OPC_EmitConvertToTarget1,
7426 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
7427 MVT::i32, 2, 94,
7428 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7429 MVT::f64, 3, 73,
7430 0,
7431 58,
7432 OPC_CheckPredicate, 11,
7433 OPC_MoveParent,
7434 OPC_CheckTypeI32,
7435 OPC_Scope, 25,
7436 OPC_CheckChild2CondCode, ISD::SETGT,
7437 OPC_MoveParent,
7438 OPC_RecordChild1,
7439 OPC_RecordChild2,
7440 OPC_CheckType, MVT::f64,
7441 OPC_CheckPatternPredicate, 33,
7442 OPC_EmitConvertToTarget1,
7443 OPC_EmitNodeXForm, 2, 4,
7444 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
7445 MVT::i32, 2, 122,
7446 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7447 MVT::f64, 3, 80,
7448 25,
7449 OPC_CheckChild2CondCode, ISD::SETUGT,
7450 OPC_MoveParent,
7451 OPC_RecordChild1,
7452 OPC_RecordChild2,
7453 OPC_CheckType, MVT::f64,
7454 OPC_CheckPatternPredicate, 33,
7455 OPC_EmitConvertToTarget1,
7456 OPC_EmitNodeXForm, 2, 4,
7457 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
7458 MVT::i32, 2, 122,
7459 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7460 MVT::f64, 3, 80,
7461 0,
7462 0,
7463 90,
7464 OPC_CheckChild2CondCode, ISD::SETGE,
7465 OPC_CheckTypeI32,
7466 OPC_MoveParent,
7467 OPC_RecordChild1,
7468 OPC_RecordChild2,
7469 OPC_SwitchType , 31, MVT::f32,
7470 OPC_Scope, 14,
7471 OPC_CheckPatternPredicate, 23,
7472 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7473 MVT::i32, 2, 16,
7474 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7475 MVT::f32, 3, 67,
7476 13,
7477 OPC_CheckPatternPredicate7,
7478 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
7479 MVT::i32, 2, 16,
7480 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7481 MVT::f32, 3, 67,
7482 0,
7483 47, MVT::f64,
7484 OPC_Scope, 14,
7485 OPC_CheckPatternPredicate, 34,
7486 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7487 MVT::i32, 2, 16,
7488 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7489 MVT::f64, 3, 67,
7490 14,
7491 OPC_CheckPatternPredicate, 24,
7492 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7493 MVT::i32, 2, 16,
7494 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7495 MVT::f64, 3, 67,
7496 14,
7497 OPC_CheckPatternPredicate, 33,
7498 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
7499 MVT::i32, 2, 16,
7500 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7501 MVT::f64, 3, 67,
7502 0,
7503 0,
7504 90,
7505 OPC_CheckChild2CondCode, ISD::SETUGE,
7506 OPC_CheckTypeI32,
7507 OPC_MoveParent,
7508 OPC_RecordChild1,
7509 OPC_RecordChild2,
7510 OPC_SwitchType , 31, MVT::f32,
7511 OPC_Scope, 14,
7512 OPC_CheckPatternPredicate, 23,
7513 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7514 MVT::i32, 2, 16,
7515 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7516 MVT::f32, 3, 67,
7517 13,
7518 OPC_CheckPatternPredicate7,
7519 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
7520 MVT::i32, 2, 16,
7521 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7522 MVT::f32, 3, 67,
7523 0,
7524 47, MVT::f64,
7525 OPC_Scope, 14,
7526 OPC_CheckPatternPredicate, 34,
7527 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7528 MVT::i32, 2, 16,
7529 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7530 MVT::f64, 3, 67,
7531 14,
7532 OPC_CheckPatternPredicate, 24,
7533 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7534 MVT::i32, 2, 16,
7535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7536 MVT::f64, 3, 67,
7537 14,
7538 OPC_CheckPatternPredicate, 33,
7539 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
7540 MVT::i32, 2, 16,
7541 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7542 MVT::f64, 3, 67,
7543 0,
7544 0,
7545 90,
7546 OPC_CheckChild2CondCode, ISD::SETLE,
7547 OPC_CheckTypeI32,
7548 OPC_MoveParent,
7549 OPC_RecordChild1,
7550 OPC_RecordChild2,
7551 OPC_SwitchType , 31, MVT::f32,
7552 OPC_Scope, 14,
7553 OPC_CheckPatternPredicate, 23,
7554 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7555 MVT::i32, 2, 3,
7556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7557 MVT::f32, 3, 67,
7558 13,
7559 OPC_CheckPatternPredicate7,
7560 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
7561 MVT::i32, 2, 3,
7562 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7563 MVT::f32, 3, 67,
7564 0,
7565 47, MVT::f64,
7566 OPC_Scope, 14,
7567 OPC_CheckPatternPredicate, 34,
7568 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7569 MVT::i32, 2, 3,
7570 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7571 MVT::f64, 3, 67,
7572 14,
7573 OPC_CheckPatternPredicate, 24,
7574 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7575 MVT::i32, 2, 3,
7576 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7577 MVT::f64, 3, 67,
7578 14,
7579 OPC_CheckPatternPredicate, 33,
7580 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
7581 MVT::i32, 2, 3,
7582 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7583 MVT::f64, 3, 67,
7584 0,
7585 0,
7586 90,
7587 OPC_CheckChild2CondCode, ISD::SETULE,
7588 OPC_CheckTypeI32,
7589 OPC_MoveParent,
7590 OPC_RecordChild1,
7591 OPC_RecordChild2,
7592 OPC_SwitchType , 31, MVT::f32,
7593 OPC_Scope, 14,
7594 OPC_CheckPatternPredicate, 23,
7595 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7596 MVT::i32, 2, 3,
7597 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7598 MVT::f32, 3, 67,
7599 13,
7600 OPC_CheckPatternPredicate7,
7601 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
7602 MVT::i32, 2, 3,
7603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7604 MVT::f32, 3, 67,
7605 0,
7606 47, MVT::f64,
7607 OPC_Scope, 14,
7608 OPC_CheckPatternPredicate, 34,
7609 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7610 MVT::i32, 2, 3,
7611 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7612 MVT::f64, 3, 67,
7613 14,
7614 OPC_CheckPatternPredicate, 24,
7615 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7616 MVT::i32, 2, 3,
7617 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7618 MVT::f64, 3, 67,
7619 14,
7620 OPC_CheckPatternPredicate, 33,
7621 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
7622 MVT::i32, 2, 3,
7623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7624 MVT::f64, 3, 67,
7625 0,
7626 0,
7627 90,
7628 OPC_CheckChild2CondCode, ISD::SETEQ,
7629 OPC_CheckTypeI32,
7630 OPC_MoveParent,
7631 OPC_RecordChild1,
7632 OPC_RecordChild2,
7633 OPC_SwitchType , 31, MVT::f32,
7634 OPC_Scope, 14,
7635 OPC_CheckPatternPredicate, 23,
7636 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7637 MVT::i32, 2, 16,
7638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7639 MVT::f32, 3, 67,
7640 13,
7641 OPC_CheckPatternPredicate7,
7642 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
7643 MVT::i32, 2, 16,
7644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7645 MVT::f32, 3, 67,
7646 0,
7647 47, MVT::f64,
7648 OPC_Scope, 14,
7649 OPC_CheckPatternPredicate, 34,
7650 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7651 MVT::i32, 2, 16,
7652 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7653 MVT::f64, 3, 67,
7654 14,
7655 OPC_CheckPatternPredicate, 24,
7656 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7657 MVT::i32, 2, 16,
7658 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7659 MVT::f64, 3, 67,
7660 14,
7661 OPC_CheckPatternPredicate, 33,
7662 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
7663 MVT::i32, 2, 16,
7664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7665 MVT::f64, 3, 67,
7666 0,
7667 0,
7668 90,
7669 OPC_CheckChild2CondCode, ISD::SETNE,
7670 OPC_CheckTypeI32,
7671 OPC_MoveParent,
7672 OPC_RecordChild1,
7673 OPC_RecordChild2,
7674 OPC_SwitchType , 31, MVT::f32,
7675 OPC_Scope, 14,
7676 OPC_CheckPatternPredicate, 23,
7677 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7678 MVT::i32, 2, 16,
7679 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
7680 MVT::f32, 3, 67,
7681 13,
7682 OPC_CheckPatternPredicate7,
7683 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
7684 MVT::i32, 2, 16,
7685 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
7686 MVT::f32, 3, 67,
7687 0,
7688 47, MVT::f64,
7689 OPC_Scope, 14,
7690 OPC_CheckPatternPredicate, 34,
7691 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7692 MVT::i32, 2, 16,
7693 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
7694 MVT::f64, 3, 67,
7695 14,
7696 OPC_CheckPatternPredicate, 24,
7697 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7698 MVT::i32, 2, 16,
7699 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
7700 MVT::f64, 3, 67,
7701 14,
7702 OPC_CheckPatternPredicate, 33,
7703 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
7704 MVT::i32, 2, 16,
7705 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
7706 MVT::f64, 3, 67,
7707 0,
7708 0,
7709 0,
7710 0,
7711 36|128,4,
7712 OPC_CheckChild0TypeI64,
7713 OPC_Scope, 61,
7714 OPC_CheckChild1Integer, 0,
7715 OPC_CheckTypeI32,
7716 OPC_Scope, 27,
7717 OPC_CheckChild2CondCode, ISD::SETEQ,
7718 OPC_MoveParent,
7719 OPC_RecordChild1,
7720 OPC_RecordChild2,
7721 OPC_SwitchType , 8, MVT::f32,
7722 OPC_CheckPatternPredicate, 10,
7723 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
7724 MVT::f32, 3, 28,
7725 8, MVT::f64,
7726 OPC_CheckPatternPredicate, 24,
7727 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
7728 MVT::f64, 3, 28,
7729 0,
7730 27,
7731 OPC_CheckChild2CondCode, ISD::SETNE,
7732 OPC_MoveParent,
7733 OPC_RecordChild1,
7734 OPC_RecordChild2,
7735 OPC_SwitchType , 8, MVT::f32,
7736 OPC_CheckPatternPredicate, 10,
7737 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
7738 MVT::f32, 3, 28,
7739 8, MVT::f64,
7740 OPC_CheckPatternPredicate, 24,
7741 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
7742 MVT::f64, 3, 28,
7743 0,
7744 0,
7745 97|128,3,
7746 OPC_RecordChild1,
7747 OPC_Scope, 102|128,1,
7748 OPC_MoveChild1,
7749 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7750 OPC_Scope, 52,
7751 OPC_CheckPredicate, 8,
7752 OPC_MoveParent,
7753 OPC_CheckTypeI32,
7754 OPC_Scope, 22,
7755 OPC_CheckChild2CondCode, ISD::SETGE,
7756 OPC_MoveParent,
7757 OPC_RecordChild1,
7758 OPC_RecordChild2,
7759 OPC_CheckType, MVT::f32,
7760 OPC_CheckPatternPredicate, 10,
7761 OPC_EmitConvertToTarget1,
7762 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
7763 MVT::i32, 2, 94,
7764 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7765 MVT::f32, 3, 73,
7766 22,
7767 OPC_CheckChild2CondCode, ISD::SETUGE,
7768 OPC_MoveParent,
7769 OPC_RecordChild1,
7770 OPC_RecordChild2,
7771 OPC_CheckType, MVT::f32,
7772 OPC_CheckPatternPredicate, 10,
7773 OPC_EmitConvertToTarget1,
7774 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
7775 MVT::i32, 2, 94,
7776 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7777 MVT::f32, 3, 73,
7778 0,
7779 58,
7780 OPC_CheckPredicate, 11,
7781 OPC_MoveParent,
7782 OPC_CheckTypeI32,
7783 OPC_Scope, 25,
7784 OPC_CheckChild2CondCode, ISD::SETGT,
7785 OPC_MoveParent,
7786 OPC_RecordChild1,
7787 OPC_RecordChild2,
7788 OPC_CheckType, MVT::f32,
7789 OPC_CheckPatternPredicate, 10,
7790 OPC_EmitConvertToTarget1,
7791 OPC_EmitNodeXForm, 2, 4,
7792 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
7793 MVT::i32, 2, 122,
7794 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7795 MVT::f32, 3, 80,
7796 25,
7797 OPC_CheckChild2CondCode, ISD::SETUGT,
7798 OPC_MoveParent,
7799 OPC_RecordChild1,
7800 OPC_RecordChild2,
7801 OPC_CheckType, MVT::f32,
7802 OPC_CheckPatternPredicate, 10,
7803 OPC_EmitConvertToTarget1,
7804 OPC_EmitNodeXForm, 2, 4,
7805 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
7806 MVT::i32, 2, 122,
7807 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7808 MVT::f32, 3, 80,
7809 0,
7810 52,
7811 OPC_CheckPredicate, 8,
7812 OPC_MoveParent,
7813 OPC_CheckTypeI32,
7814 OPC_Scope, 22,
7815 OPC_CheckChild2CondCode, ISD::SETGE,
7816 OPC_MoveParent,
7817 OPC_RecordChild1,
7818 OPC_RecordChild2,
7819 OPC_CheckType, MVT::f64,
7820 OPC_CheckPatternPredicate, 24,
7821 OPC_EmitConvertToTarget1,
7822 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
7823 MVT::i32, 2, 94,
7824 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7825 MVT::f64, 3, 73,
7826 22,
7827 OPC_CheckChild2CondCode, ISD::SETUGE,
7828 OPC_MoveParent,
7829 OPC_RecordChild1,
7830 OPC_RecordChild2,
7831 OPC_CheckType, MVT::f64,
7832 OPC_CheckPatternPredicate, 24,
7833 OPC_EmitConvertToTarget1,
7834 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
7835 MVT::i32, 2, 94,
7836 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7837 MVT::f64, 3, 73,
7838 0,
7839 58,
7840 OPC_CheckPredicate, 11,
7841 OPC_MoveParent,
7842 OPC_CheckTypeI32,
7843 OPC_Scope, 25,
7844 OPC_CheckChild2CondCode, ISD::SETGT,
7845 OPC_MoveParent,
7846 OPC_RecordChild1,
7847 OPC_RecordChild2,
7848 OPC_CheckType, MVT::f64,
7849 OPC_CheckPatternPredicate, 24,
7850 OPC_EmitConvertToTarget1,
7851 OPC_EmitNodeXForm, 2, 4,
7852 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
7853 MVT::i32, 2, 122,
7854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7855 MVT::f64, 3, 80,
7856 25,
7857 OPC_CheckChild2CondCode, ISD::SETUGT,
7858 OPC_MoveParent,
7859 OPC_RecordChild1,
7860 OPC_RecordChild2,
7861 OPC_CheckType, MVT::f64,
7862 OPC_CheckPatternPredicate, 24,
7863 OPC_EmitConvertToTarget1,
7864 OPC_EmitNodeXForm, 2, 4,
7865 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
7866 MVT::i32, 2, 122,
7867 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7868 MVT::f64, 3, 80,
7869 0,
7870 0,
7871 40,
7872 OPC_CheckChild2CondCode, ISD::SETGE,
7873 OPC_CheckTypeI32,
7874 OPC_MoveParent,
7875 OPC_RecordChild1,
7876 OPC_RecordChild2,
7877 OPC_SwitchType , 14, MVT::f32,
7878 OPC_CheckPatternPredicate, 10,
7879 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
7880 MVT::i32, 2, 16,
7881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7882 MVT::f32, 3, 67,
7883 14, MVT::f64,
7884 OPC_CheckPatternPredicate, 24,
7885 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
7886 MVT::i32, 2, 16,
7887 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7888 MVT::f64, 3, 67,
7889 0,
7890 40,
7891 OPC_CheckChild2CondCode, ISD::SETUGE,
7892 OPC_CheckTypeI32,
7893 OPC_MoveParent,
7894 OPC_RecordChild1,
7895 OPC_RecordChild2,
7896 OPC_SwitchType , 14, MVT::f32,
7897 OPC_CheckPatternPredicate, 10,
7898 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
7899 MVT::i32, 2, 16,
7900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7901 MVT::f32, 3, 67,
7902 14, MVT::f64,
7903 OPC_CheckPatternPredicate, 24,
7904 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
7905 MVT::i32, 2, 16,
7906 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7907 MVT::f64, 3, 67,
7908 0,
7909 40,
7910 OPC_CheckChild2CondCode, ISD::SETLE,
7911 OPC_CheckTypeI32,
7912 OPC_MoveParent,
7913 OPC_RecordChild1,
7914 OPC_RecordChild2,
7915 OPC_SwitchType , 14, MVT::f32,
7916 OPC_CheckPatternPredicate, 10,
7917 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
7918 MVT::i32, 2, 3,
7919 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7920 MVT::f32, 3, 67,
7921 14, MVT::f64,
7922 OPC_CheckPatternPredicate, 24,
7923 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
7924 MVT::i32, 2, 3,
7925 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7926 MVT::f64, 3, 67,
7927 0,
7928 40,
7929 OPC_CheckChild2CondCode, ISD::SETULE,
7930 OPC_CheckTypeI32,
7931 OPC_MoveParent,
7932 OPC_RecordChild1,
7933 OPC_RecordChild2,
7934 OPC_SwitchType , 14, MVT::f32,
7935 OPC_CheckPatternPredicate, 10,
7936 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
7937 MVT::i32, 2, 3,
7938 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7939 MVT::f32, 3, 67,
7940 14, MVT::f64,
7941 OPC_CheckPatternPredicate, 24,
7942 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
7943 MVT::i32, 2, 3,
7944 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7945 MVT::f64, 3, 67,
7946 0,
7947 40,
7948 OPC_CheckChild2CondCode, ISD::SETEQ,
7949 OPC_CheckTypeI32,
7950 OPC_MoveParent,
7951 OPC_RecordChild1,
7952 OPC_RecordChild2,
7953 OPC_SwitchType , 14, MVT::f32,
7954 OPC_CheckPatternPredicate, 10,
7955 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7956 MVT::i64, 2, 16,
7957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
7958 MVT::f32, 3, 67,
7959 14, MVT::f64,
7960 OPC_CheckPatternPredicate, 24,
7961 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7962 MVT::i64, 2, 16,
7963 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
7964 MVT::f64, 3, 67,
7965 0,
7966 40,
7967 OPC_CheckChild2CondCode, ISD::SETNE,
7968 OPC_CheckTypeI32,
7969 OPC_MoveParent,
7970 OPC_RecordChild1,
7971 OPC_RecordChild2,
7972 OPC_SwitchType , 14, MVT::f32,
7973 OPC_CheckPatternPredicate, 10,
7974 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7975 MVT::i64, 2, 16,
7976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
7977 MVT::f32, 3, 67,
7978 14, MVT::f64,
7979 OPC_CheckPatternPredicate, 24,
7980 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7981 MVT::i64, 2, 16,
7982 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
7983 MVT::f64, 3, 67,
7984 0,
7985 0,
7986 0,
7987 0,
7988 22|128,1,
7989 OPC_RecordChild0,
7990 OPC_Scope, 120,
7991 OPC_CheckChild0TypeI32,
7992 OPC_RecordChild1,
7993 OPC_RecordChild2,
7994 OPC_SwitchType , 46, MVT::f32,
7995 OPC_Scope, 8,
7996 OPC_CheckPatternPredicate, 23,
7997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
7998 MVT::f32, 3, 28,
7999 8,
8000 OPC_CheckPatternPredicate, 31,
8001 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S),
8002 MVT::f32, 3, 22,
8003 7,
8004 OPC_CheckPatternPredicate7,
8005 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
8006 MVT::f32, 3, 28,
8007 8,
8008 OPC_CheckPatternPredicate, 8,
8009 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S_MMR6),
8010 MVT::f32, 3, 22,
8011 8,
8012 OPC_CheckPatternPredicate, 47,
8013 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_S),
8014 MVT::f32, 3, 31,
8015 0,
8016 65, MVT::f64,
8017 OPC_Scope, 8,
8018 OPC_CheckPatternPredicate, 34,
8019 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
8020 MVT::f64, 3, 28,
8021 8,
8022 OPC_CheckPatternPredicate, 24,
8023 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
8024 MVT::f64, 3, 28,
8025 8,
8026 OPC_CheckPatternPredicate, 31,
8027 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D),
8028 MVT::f64, 3, 22,
8029 8,
8030 OPC_CheckPatternPredicate, 33,
8031 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
8032 MVT::f64, 3, 28,
8033 8,
8034 OPC_CheckPatternPredicate, 8,
8035 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D_MMR6),
8036 MVT::f64, 3, 22,
8037 8,
8038 OPC_CheckPatternPredicate, 74,
8039 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D32),
8040 MVT::f64, 3, 31,
8041 8,
8042 OPC_CheckPatternPredicate, 75,
8043 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D64),
8044 MVT::f64, 3, 31,
8045 0,
8046 0,
8047 25,
8048 OPC_CheckChild0TypeI64,
8049 OPC_RecordChild1,
8050 OPC_RecordChild2,
8051 OPC_SwitchType , 8, MVT::f32,
8052 OPC_CheckPatternPredicate, 10,
8053 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
8054 MVT::f32, 3, 28,
8055 8, MVT::f64,
8056 OPC_CheckPatternPredicate, 24,
8057 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
8058 MVT::f64, 3, 28,
8059 0,
8060 0,
8061 0,
8062 13|128,19, TARGET_VAL(ISD::SETCC),
8063 OPC_Scope, 53,
8064 OPC_MoveChild0,
8065 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
8066 OPC_MoveChild0,
8067 OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
8068 OPC_RecordChild0,
8069 OPC_MoveParent,
8070 OPC_CheckTypeI32,
8071 OPC_MoveParent,
8072 OPC_CheckChild1Integer, 0,
8073 OPC_CheckChild2CondCode, ISD::SETLT,
8074 OPC_CheckTypeI32,
8075 OPC_Scope, 16,
8076 OPC_CheckPatternPredicate, 110,
8077 OPC_EmitNode1None, TARGET_VAL(Mips::MFHC1_D32),
8078 MVT::i32, 1, 1,
8079 OPC_EmitIntegerI32, 0,
8080 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi),
8081 MVT::i32, 2, 32,
8082 16,
8083 OPC_CheckPatternPredicate, 111,
8084 OPC_EmitNode1None, TARGET_VAL(Mips::MFHC1_D64),
8085 MVT::i32, 1, 1,
8086 OPC_EmitIntegerI32, 0,
8087 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi),
8088 MVT::i32, 2, 32,
8089 0,
8090 83|128,18,
8091 OPC_RecordChild0,
8092 OPC_Scope, 95|128,5,
8093 OPC_CheckChild0TypeI32,
8094 OPC_Scope, 65,
8095 OPC_CheckChild1Integer, 0,
8096 OPC_CheckTypeI32,
8097 OPC_Scope, 34,
8098 OPC_CheckChild2CondCode, ISD::SETEQ,
8099 OPC_Scope, 9,
8100 OPC_CheckPatternPredicate2,
8101 OPC_EmitIntegerI32, 1,
8102 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
8103 MVT::i32, 2, 16,
8104 9,
8105 OPC_CheckPatternPredicate4,
8106 OPC_EmitIntegerI32, 1,
8107 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
8108 MVT::i32, 2, 16,
8109 9,
8110 OPC_CheckPatternPredicate5,
8111 OPC_EmitIntegerI32, 1,
8112 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
8113 MVT::i32, 2, 16,
8114 0,
8115 24,
8116 OPC_CheckChild2CondCode, ISD::SETNE,
8117 OPC_Scope, 9,
8118 OPC_CheckPatternPredicate2,
8119 OPC_EmitRegisterI32, Mips::ZERO,
8120 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
8121 MVT::i32, 2, 3,
8122 9,
8123 OPC_CheckPatternPredicate4,
8124 OPC_EmitRegisterI32, Mips::ZERO,
8125 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
8126 MVT::i32, 2, 3,
8127 0,
8128 0,
8129 32,
8130 OPC_CheckChild1Integer, 127|128,127|128,125,
8131 OPC_CheckChild2CondCode, ISD::SETGT,
8132 OPC_CheckTypeI32,
8133 OPC_CheckPatternPredicate5,
8134 OPC_EmitIntegerI32, 0|128,0|128,126,
8135 OPC_EmitNode1None, TARGET_VAL(Mips::SltiCCRxImmX16),
8136 MVT::i32, 2, 16,
8137 OPC_EmitIntegerI32, 1,
8138 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
8139 MVT::i32, 1, 48,
8140 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
8141 MVT::i32, 2, 99,
8142 119|128,4,
8143 OPC_RecordChild1,
8144 OPC_Scope, 24|128,1,
8145 OPC_MoveChild1,
8146 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8147 OPC_CheckPredicate, 8,
8148 OPC_MoveParent,
8149 OPC_CheckTypeI32,
8150 OPC_Scope, 31,
8151 OPC_CheckChild2CondCode, ISD::SETLT,
8152 OPC_Scope, 8,
8153 OPC_CheckPatternPredicate2,
8154 OPC_EmitConvertToTarget1,
8155 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi),
8156 MVT::i32, 2, 29,
8157 8,
8158 OPC_CheckPatternPredicate4,
8159 OPC_EmitConvertToTarget1,
8160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi_MM),
8161 MVT::i32, 2, 29,
8162 8,
8163 OPC_CheckPatternPredicate5,
8164 OPC_EmitConvertToTarget1,
8165 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiCCRxImmX16),
8166 MVT::i32, 2, 29,
8167 0,
8168 31,
8169 OPC_CheckChild2CondCode, ISD::SETULT,
8170 OPC_Scope, 8,
8171 OPC_CheckPatternPredicate2,
8172 OPC_EmitConvertToTarget1,
8173 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
8174 MVT::i32, 2, 29,
8175 8,
8176 OPC_CheckPatternPredicate4,
8177 OPC_EmitConvertToTarget1,
8178 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
8179 MVT::i32, 2, 29,
8180 8,
8181 OPC_CheckPatternPredicate5,
8182 OPC_EmitConvertToTarget1,
8183 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
8184 MVT::i32, 2, 29,
8185 0,
8186 38,
8187 OPC_CheckChild2CondCode, ISD::SETGE,
8188 OPC_Scope, 16,
8189 OPC_CheckPatternPredicate2,
8190 OPC_EmitConvertToTarget1,
8191 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
8192 MVT::i32, 2, 29,
8193 OPC_EmitIntegerI32, 1,
8194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8195 MVT::i32, 2, 106,
8196 16,
8197 OPC_CheckPatternPredicate4,
8198 OPC_EmitConvertToTarget1,
8199 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
8200 MVT::i32, 2, 29,
8201 OPC_EmitIntegerI32, 1,
8202 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
8203 MVT::i32, 2, 106,
8204 0,
8205 38,
8206 OPC_CheckChild2CondCode, ISD::SETUGE,
8207 OPC_Scope, 16,
8208 OPC_CheckPatternPredicate2,
8209 OPC_EmitConvertToTarget1,
8210 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
8211 MVT::i32, 2, 29,
8212 OPC_EmitIntegerI32, 1,
8213 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8214 MVT::i32, 2, 106,
8215 16,
8216 OPC_CheckPatternPredicate4,
8217 OPC_EmitConvertToTarget1,
8218 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
8219 MVT::i32, 2, 29,
8220 OPC_EmitIntegerI32, 1,
8221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
8222 MVT::i32, 2, 106,
8223 0,
8224 0,
8225 29,
8226 OPC_CheckChild2CondCode, ISD::SETLT,
8227 OPC_CheckTypeI32,
8228 OPC_Scope, 7,
8229 OPC_CheckPatternPredicate2,
8230 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
8231 MVT::i32, 2, 16,
8232 7,
8233 OPC_CheckPatternPredicate4,
8234 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
8235 MVT::i32, 2, 16,
8236 7,
8237 OPC_CheckPatternPredicate5,
8238 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
8239 MVT::i32, 2, 16,
8240 0,
8241 29,
8242 OPC_CheckChild2CondCode, ISD::SETULT,
8243 OPC_CheckTypeI32,
8244 OPC_Scope, 7,
8245 OPC_CheckPatternPredicate2,
8246 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
8247 MVT::i32, 2, 16,
8248 7,
8249 OPC_CheckPatternPredicate4,
8250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
8251 MVT::i32, 2, 16,
8252 7,
8253 OPC_CheckPatternPredicate5,
8254 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
8255 MVT::i32, 2, 16,
8256 0,
8257 29,
8258 OPC_CheckChild2CondCode, ISD::SETGT,
8259 OPC_CheckTypeI32,
8260 OPC_Scope, 7,
8261 OPC_CheckPatternPredicate2,
8262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
8263 MVT::i32, 2, 3,
8264 7,
8265 OPC_CheckPatternPredicate4,
8266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
8267 MVT::i32, 2, 3,
8268 7,
8269 OPC_CheckPatternPredicate5,
8270 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
8271 MVT::i32, 2, 3,
8272 0,
8273 29,
8274 OPC_CheckChild2CondCode, ISD::SETUGT,
8275 OPC_CheckTypeI32,
8276 OPC_Scope, 7,
8277 OPC_CheckPatternPredicate2,
8278 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
8279 MVT::i32, 2, 3,
8280 7,
8281 OPC_CheckPatternPredicate4,
8282 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
8283 MVT::i32, 2, 3,
8284 7,
8285 OPC_CheckPatternPredicate5,
8286 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
8287 MVT::i32, 2, 3,
8288 0,
8289 53,
8290 OPC_CheckChild2CondCode, ISD::SETEQ,
8291 OPC_CheckTypeI32,
8292 OPC_Scope, 15,
8293 OPC_CheckPatternPredicate2,
8294 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
8295 MVT::i32, 2, 16,
8296 OPC_EmitIntegerI32, 1,
8297 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
8298 MVT::i32, 2, 56,
8299 15,
8300 OPC_CheckPatternPredicate4,
8301 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
8302 MVT::i32, 2, 16,
8303 OPC_EmitIntegerI32, 1,
8304 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
8305 MVT::i32, 2, 56,
8306 15,
8307 OPC_CheckPatternPredicate5,
8308 OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
8309 MVT::i32, 2, 16,
8310 OPC_EmitIntegerI32, 1,
8311 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
8312 MVT::i32, 2, 56,
8313 0,
8314 59,
8315 OPC_CheckChild2CondCode, ISD::SETNE,
8316 OPC_CheckTypeI32,
8317 OPC_Scope, 15,
8318 OPC_CheckPatternPredicate2,
8319 OPC_EmitRegisterI32, Mips::ZERO,
8320 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
8321 MVT::i32, 2, 16,
8322 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
8323 MVT::i32, 2, 56,
8324 15,
8325 OPC_CheckPatternPredicate4,
8326 OPC_EmitRegisterI32, Mips::ZERO,
8327 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
8328 MVT::i32, 2, 16,
8329 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
8330 MVT::i32, 2, 56,
8331 21,
8332 OPC_CheckPatternPredicate5,
8333 OPC_EmitIntegerI32, 0,
8334 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
8335 MVT::i32, 1, 30,
8336 OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
8337 MVT::i32, 2, 16,
8338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
8339 MVT::i32, 2, 106,
8340 0,
8341 59,
8342 OPC_CheckChild2CondCode, ISD::SETLE,
8343 OPC_CheckTypeI32,
8344 OPC_Scope, 15,
8345 OPC_CheckPatternPredicate2,
8346 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
8347 MVT::i32, 2, 3,
8348 OPC_EmitIntegerI32, 1,
8349 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8350 MVT::i32, 2, 56,
8351 15,
8352 OPC_CheckPatternPredicate4,
8353 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
8354 MVT::i32, 2, 3,
8355 OPC_EmitIntegerI32, 1,
8356 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
8357 MVT::i32, 2, 56,
8358 21,
8359 OPC_CheckPatternPredicate5,
8360 OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
8361 MVT::i32, 2, 3,
8362 OPC_EmitIntegerI32, 1,
8363 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImm16),
8364 MVT::i32, 1, 48,
8365 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
8366 MVT::i32, 2, 99,
8367 0,
8368 59,
8369 OPC_CheckChild2CondCode, ISD::SETULE,
8370 OPC_CheckTypeI32,
8371 OPC_Scope, 15,
8372 OPC_CheckPatternPredicate2,
8373 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
8374 MVT::i32, 2, 3,
8375 OPC_EmitIntegerI32, 1,
8376 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8377 MVT::i32, 2, 56,
8378 15,
8379 OPC_CheckPatternPredicate4,
8380 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
8381 MVT::i32, 2, 3,
8382 OPC_EmitIntegerI32, 1,
8383 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
8384 MVT::i32, 2, 56,
8385 21,
8386 OPC_CheckPatternPredicate5,
8387 OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
8388 MVT::i32, 2, 3,
8389 OPC_EmitIntegerI32, 1,
8390 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
8391 MVT::i32, 1, 48,
8392 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
8393 MVT::i32, 2, 99,
8394 0,
8395 59,
8396 OPC_CheckChild2CondCode, ISD::SETGE,
8397 OPC_CheckTypeI32,
8398 OPC_Scope, 15,
8399 OPC_CheckPatternPredicate2,
8400 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
8401 MVT::i32, 2, 16,
8402 OPC_EmitIntegerI32, 1,
8403 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8404 MVT::i32, 2, 56,
8405 15,
8406 OPC_CheckPatternPredicate4,
8407 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
8408 MVT::i32, 2, 16,
8409 OPC_EmitIntegerI32, 1,
8410 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
8411 MVT::i32, 2, 56,
8412 21,
8413 OPC_CheckPatternPredicate5,
8414 OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
8415 MVT::i32, 2, 16,
8416 OPC_EmitIntegerI32, 1,
8417 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
8418 MVT::i32, 1, 48,
8419 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
8420 MVT::i32, 2, 99,
8421 0,
8422 59,
8423 OPC_CheckChild2CondCode, ISD::SETUGE,
8424 OPC_CheckTypeI32,
8425 OPC_Scope, 15,
8426 OPC_CheckPatternPredicate2,
8427 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
8428 MVT::i32, 2, 16,
8429 OPC_EmitIntegerI32, 1,
8430 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8431 MVT::i32, 2, 56,
8432 15,
8433 OPC_CheckPatternPredicate4,
8434 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
8435 MVT::i32, 2, 16,
8436 OPC_EmitIntegerI32, 1,
8437 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
8438 MVT::i32, 2, 56,
8439 21,
8440 OPC_CheckPatternPredicate5,
8441 OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
8442 MVT::i32, 2, 16,
8443 OPC_EmitIntegerI32, 1,
8444 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
8445 MVT::i32, 1, 48,
8446 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
8447 MVT::i32, 2, 99,
8448 0,
8449 0,
8450 0,
8451 31|128,2,
8452 OPC_CheckChild0TypeI64,
8453 OPC_Scope, 33,
8454 OPC_CheckChild1Integer, 0,
8455 OPC_CheckTypeI32,
8456 OPC_Scope, 12,
8457 OPC_CheckChild2CondCode, ISD::SETEQ,
8458 OPC_CheckPatternPredicate, 35,
8459 OPC_EmitIntegerI64, 1,
8460 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
8461 MVT::i32, 2, 16,
8462 14,
8463 OPC_CheckChild2CondCode, ISD::SETNE,
8464 OPC_CheckPatternPredicate, 35,
8465 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
8466 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
8467 MVT::i32, 2, 3,
8468 0,
8469 120|128,1,
8470 OPC_RecordChild1,
8471 OPC_Scope, 74,
8472 OPC_MoveChild1,
8473 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8474 OPC_CheckPredicate, 8,
8475 OPC_MoveParent,
8476 OPC_CheckTypeI32,
8477 OPC_Scope, 11,
8478 OPC_CheckChild2CondCode, ISD::SETLT,
8479 OPC_CheckPatternPredicate, 21,
8480 OPC_EmitConvertToTarget1,
8481 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi64),
8482 MVT::i32, 2, 29,
8483 11,
8484 OPC_CheckChild2CondCode, ISD::SETULT,
8485 OPC_CheckPatternPredicate, 21,
8486 OPC_EmitConvertToTarget1,
8487 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
8488 MVT::i32, 2, 29,
8489 19,
8490 OPC_CheckChild2CondCode, ISD::SETGE,
8491 OPC_CheckPatternPredicate, 35,
8492 OPC_EmitConvertToTarget1,
8493 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
8494 MVT::i32, 2, 29,
8495 OPC_EmitIntegerI32, 1,
8496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8497 MVT::i32, 2, 106,
8498 19,
8499 OPC_CheckChild2CondCode, ISD::SETUGE,
8500 OPC_CheckPatternPredicate, 35,
8501 OPC_EmitConvertToTarget1,
8502 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
8503 MVT::i32, 2, 29,
8504 OPC_EmitIntegerI32, 1,
8505 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8506 MVT::i32, 2, 106,
8507 0,
8508 11,
8509 OPC_CheckChild2CondCode, ISD::SETLT,
8510 OPC_CheckTypeI32,
8511 OPC_CheckPatternPredicate, 21,
8512 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
8513 MVT::i32, 2, 16,
8514 11,
8515 OPC_CheckChild2CondCode, ISD::SETULT,
8516 OPC_CheckTypeI32,
8517 OPC_CheckPatternPredicate, 21,
8518 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
8519 MVT::i32, 2, 16,
8520 11,
8521 OPC_CheckChild2CondCode, ISD::SETGT,
8522 OPC_CheckTypeI32,
8523 OPC_CheckPatternPredicate, 35,
8524 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
8525 MVT::i32, 2, 3,
8526 11,
8527 OPC_CheckChild2CondCode, ISD::SETUGT,
8528 OPC_CheckTypeI32,
8529 OPC_CheckPatternPredicate, 35,
8530 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
8531 MVT::i32, 2, 3,
8532 19,
8533 OPC_CheckChild2CondCode, ISD::SETEQ,
8534 OPC_CheckTypeI32,
8535 OPC_CheckPatternPredicate, 35,
8536 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
8537 MVT::i64, 2, 16,
8538 OPC_EmitIntegerI64, 1,
8539 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
8540 MVT::i32, 2, 56,
8541 21,
8542 OPC_CheckChild2CondCode, ISD::SETNE,
8543 OPC_CheckTypeI32,
8544 OPC_CheckPatternPredicate, 35,
8545 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
8546 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
8547 MVT::i64, 2, 16,
8548 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
8549 MVT::i32, 2, 56,
8550 19,
8551 OPC_CheckChild2CondCode, ISD::SETLE,
8552 OPC_CheckTypeI32,
8553 OPC_CheckPatternPredicate, 35,
8554 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
8555 MVT::i32, 2, 3,
8556 OPC_EmitIntegerI32, 1,
8557 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8558 MVT::i32, 2, 56,
8559 19,
8560 OPC_CheckChild2CondCode, ISD::SETULE,
8561 OPC_CheckTypeI32,
8562 OPC_CheckPatternPredicate, 35,
8563 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
8564 MVT::i32, 2, 3,
8565 OPC_EmitIntegerI32, 1,
8566 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8567 MVT::i32, 2, 56,
8568 19,
8569 OPC_CheckChild2CondCode, ISD::SETGE,
8570 OPC_CheckTypeI32,
8571 OPC_CheckPatternPredicate, 35,
8572 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
8573 MVT::i32, 2, 16,
8574 OPC_EmitIntegerI32, 1,
8575 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8576 MVT::i32, 2, 56,
8577 19,
8578 OPC_CheckChild2CondCode, ISD::SETUGE,
8579 OPC_CheckTypeI32,
8580 OPC_CheckPatternPredicate, 35,
8581 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
8582 MVT::i32, 2, 16,
8583 OPC_EmitIntegerI32, 1,
8584 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
8585 MVT::i32, 2, 56,
8586 0,
8587 0,
8588 26|128,2,
8589 OPC_CheckChild0Type, MVT::f32,
8590 OPC_RecordChild1,
8591 OPC_CheckTypeI32,
8592 OPC_Scope, 22,
8593 OPC_CheckChild2CondCode, ISD::SETUO,
8594 OPC_Scope, 8,
8595 OPC_CheckPatternPredicate, 31,
8596 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S),
8597 MVT::i32, 2, 16,
8598 8,
8599 OPC_CheckPatternPredicate, 27,
8600 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S_MMR6),
8601 MVT::i32, 2, 16,
8602 0,
8603 22,
8604 OPC_CheckChild2CondCode, ISD::SETOEQ,
8605 OPC_Scope, 8,
8606 OPC_CheckPatternPredicate, 31,
8607 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
8608 MVT::i32, 2, 16,
8609 8,
8610 OPC_CheckPatternPredicate, 27,
8611 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
8612 MVT::i32, 2, 16,
8613 0,
8614 22,
8615 OPC_CheckChild2CondCode, ISD::SETUEQ,
8616 OPC_Scope, 8,
8617 OPC_CheckPatternPredicate, 31,
8618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S),
8619 MVT::i32, 2, 16,
8620 8,
8621 OPC_CheckPatternPredicate, 27,
8622 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S_MMR6),
8623 MVT::i32, 2, 16,
8624 0,
8625 22,
8626 OPC_CheckChild2CondCode, ISD::SETOLT,
8627 OPC_Scope, 8,
8628 OPC_CheckPatternPredicate, 31,
8629 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
8630 MVT::i32, 2, 16,
8631 8,
8632 OPC_CheckPatternPredicate, 27,
8633 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
8634 MVT::i32, 2, 16,
8635 0,
8636 22,
8637 OPC_CheckChild2CondCode, ISD::SETULT,
8638 OPC_Scope, 8,
8639 OPC_CheckPatternPredicate, 31,
8640 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S),
8641 MVT::i32, 2, 16,
8642 8,
8643 OPC_CheckPatternPredicate, 27,
8644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S_MMR6),
8645 MVT::i32, 2, 16,
8646 0,
8647 22,
8648 OPC_CheckChild2CondCode, ISD::SETOLE,
8649 OPC_Scope, 8,
8650 OPC_CheckPatternPredicate, 31,
8651 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
8652 MVT::i32, 2, 16,
8653 8,
8654 OPC_CheckPatternPredicate, 27,
8655 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
8656 MVT::i32, 2, 16,
8657 0,
8658 22,
8659 OPC_CheckChild2CondCode, ISD::SETULE,
8660 OPC_Scope, 8,
8661 OPC_CheckPatternPredicate, 31,
8662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S),
8663 MVT::i32, 2, 16,
8664 8,
8665 OPC_CheckPatternPredicate, 27,
8666 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S_MMR6),
8667 MVT::i32, 2, 16,
8668 0,
8669 22,
8670 OPC_CheckChild2CondCode, ISD::SETEQ,
8671 OPC_Scope, 8,
8672 OPC_CheckPatternPredicate, 15,
8673 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
8674 MVT::i32, 2, 16,
8675 8,
8676 OPC_CheckPatternPredicate, 8,
8677 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
8678 MVT::i32, 2, 16,
8679 0,
8680 22,
8681 OPC_CheckChild2CondCode, ISD::SETGT,
8682 OPC_Scope, 8,
8683 OPC_CheckPatternPredicate, 15,
8684 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
8685 MVT::i32, 2, 3,
8686 8,
8687 OPC_CheckPatternPredicate, 8,
8688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
8689 MVT::i32, 2, 3,
8690 0,
8691 22,
8692 OPC_CheckChild2CondCode, ISD::SETGE,
8693 OPC_Scope, 8,
8694 OPC_CheckPatternPredicate, 15,
8695 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
8696 MVT::i32, 2, 3,
8697 8,
8698 OPC_CheckPatternPredicate, 8,
8699 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
8700 MVT::i32, 2, 3,
8701 0,
8702 22,
8703 OPC_CheckChild2CondCode, ISD::SETLT,
8704 OPC_Scope, 8,
8705 OPC_CheckPatternPredicate, 15,
8706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
8707 MVT::i32, 2, 16,
8708 8,
8709 OPC_CheckPatternPredicate, 8,
8710 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
8711 MVT::i32, 2, 16,
8712 0,
8713 22,
8714 OPC_CheckChild2CondCode, ISD::SETLE,
8715 OPC_Scope, 8,
8716 OPC_CheckPatternPredicate, 15,
8717 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
8718 MVT::i32, 2, 16,
8719 8,
8720 OPC_CheckPatternPredicate, 8,
8721 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
8722 MVT::i32, 2, 16,
8723 0,
8724 0,
8725 26|128,2,
8726 OPC_CheckChild0Type, MVT::f64,
8727 OPC_RecordChild1,
8728 OPC_CheckTypeI32,
8729 OPC_Scope, 22,
8730 OPC_CheckChild2CondCode, ISD::SETUO,
8731 OPC_Scope, 8,
8732 OPC_CheckPatternPredicate, 31,
8733 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D),
8734 MVT::i32, 2, 16,
8735 8,
8736 OPC_CheckPatternPredicate, 27,
8737 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D_MMR6),
8738 MVT::i32, 2, 16,
8739 0,
8740 22,
8741 OPC_CheckChild2CondCode, ISD::SETOEQ,
8742 OPC_Scope, 8,
8743 OPC_CheckPatternPredicate, 31,
8744 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
8745 MVT::i32, 2, 16,
8746 8,
8747 OPC_CheckPatternPredicate, 27,
8748 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
8749 MVT::i32, 2, 16,
8750 0,
8751 22,
8752 OPC_CheckChild2CondCode, ISD::SETUEQ,
8753 OPC_Scope, 8,
8754 OPC_CheckPatternPredicate, 31,
8755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D),
8756 MVT::i32, 2, 16,
8757 8,
8758 OPC_CheckPatternPredicate, 27,
8759 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D_MMR6),
8760 MVT::i32, 2, 16,
8761 0,
8762 22,
8763 OPC_CheckChild2CondCode, ISD::SETOLT,
8764 OPC_Scope, 8,
8765 OPC_CheckPatternPredicate, 31,
8766 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
8767 MVT::i32, 2, 16,
8768 8,
8769 OPC_CheckPatternPredicate, 27,
8770 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
8771 MVT::i32, 2, 16,
8772 0,
8773 22,
8774 OPC_CheckChild2CondCode, ISD::SETULT,
8775 OPC_Scope, 8,
8776 OPC_CheckPatternPredicate, 31,
8777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D),
8778 MVT::i32, 2, 16,
8779 8,
8780 OPC_CheckPatternPredicate, 27,
8781 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D_MMR6),
8782 MVT::i32, 2, 16,
8783 0,
8784 22,
8785 OPC_CheckChild2CondCode, ISD::SETOLE,
8786 OPC_Scope, 8,
8787 OPC_CheckPatternPredicate, 31,
8788 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
8789 MVT::i32, 2, 16,
8790 8,
8791 OPC_CheckPatternPredicate, 27,
8792 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
8793 MVT::i32, 2, 16,
8794 0,
8795 22,
8796 OPC_CheckChild2CondCode, ISD::SETULE,
8797 OPC_Scope, 8,
8798 OPC_CheckPatternPredicate, 31,
8799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D),
8800 MVT::i32, 2, 16,
8801 8,
8802 OPC_CheckPatternPredicate, 27,
8803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D_MMR6),
8804 MVT::i32, 2, 16,
8805 0,
8806 22,
8807 OPC_CheckChild2CondCode, ISD::SETEQ,
8808 OPC_Scope, 8,
8809 OPC_CheckPatternPredicate, 15,
8810 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
8811 MVT::i32, 2, 16,
8812 8,
8813 OPC_CheckPatternPredicate, 8,
8814 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
8815 MVT::i32, 2, 16,
8816 0,
8817 22,
8818 OPC_CheckChild2CondCode, ISD::SETGT,
8819 OPC_Scope, 8,
8820 OPC_CheckPatternPredicate, 15,
8821 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
8822 MVT::i32, 2, 3,
8823 8,
8824 OPC_CheckPatternPredicate, 8,
8825 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
8826 MVT::i32, 2, 3,
8827 0,
8828 22,
8829 OPC_CheckChild2CondCode, ISD::SETGE,
8830 OPC_Scope, 8,
8831 OPC_CheckPatternPredicate, 15,
8832 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
8833 MVT::i32, 2, 3,
8834 8,
8835 OPC_CheckPatternPredicate, 8,
8836 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
8837 MVT::i32, 2, 3,
8838 0,
8839 22,
8840 OPC_CheckChild2CondCode, ISD::SETLT,
8841 OPC_Scope, 8,
8842 OPC_CheckPatternPredicate, 15,
8843 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
8844 MVT::i32, 2, 16,
8845 8,
8846 OPC_CheckPatternPredicate, 8,
8847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
8848 MVT::i32, 2, 16,
8849 0,
8850 22,
8851 OPC_CheckChild2CondCode, ISD::SETLE,
8852 OPC_Scope, 8,
8853 OPC_CheckPatternPredicate, 15,
8854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
8855 MVT::i32, 2, 16,
8856 8,
8857 OPC_CheckPatternPredicate, 8,
8858 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
8859 MVT::i32, 2, 16,
8860 0,
8861 0,
8862 122,
8863 OPC_CheckChild0Type, MVT::v16i8,
8864 OPC_RecordChild1,
8865 OPC_CheckType, MVT::v16i8,
8866 OPC_Scope, 22,
8867 OPC_CheckChild2CondCode, ISD::SETEQ,
8868 OPC_CheckPatternPredicate0,
8869 OPC_Scope, 9,
8870 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
8871 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_B),
8872 MVT::v16i8, 2, 29,
8873 6,
8874 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_B),
8875 MVT::v16i8, 2, 16,
8876 0,
8877 22,
8878 OPC_CheckChild2CondCode, ISD::SETLE,
8879 OPC_CheckPatternPredicate0,
8880 OPC_Scope, 9,
8881 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
8882 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_B),
8883 MVT::v16i8, 2, 29,
8884 6,
8885 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_B),
8886 MVT::v16i8, 2, 16,
8887 0,
8888 22,
8889 OPC_CheckChild2CondCode, ISD::SETULE,
8890 OPC_CheckPatternPredicate0,
8891 OPC_Scope, 9,
8892 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
8893 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_B),
8894 MVT::v16i8, 2, 29,
8895 6,
8896 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_B),
8897 MVT::v16i8, 2, 16,
8898 0,
8899 22,
8900 OPC_CheckChild2CondCode, ISD::SETLT,
8901 OPC_CheckPatternPredicate0,
8902 OPC_Scope, 9,
8903 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
8904 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_B),
8905 MVT::v16i8, 2, 29,
8906 6,
8907 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_B),
8908 MVT::v16i8, 2, 16,
8909 0,
8910 22,
8911 OPC_CheckChild2CondCode, ISD::SETULT,
8912 OPC_CheckPatternPredicate0,
8913 OPC_Scope, 9,
8914 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
8915 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_B),
8916 MVT::v16i8, 2, 29,
8917 6,
8918 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_B),
8919 MVT::v16i8, 2, 16,
8920 0,
8921 0,
8922 122,
8923 OPC_CheckChild0Type, MVT::v8i16,
8924 OPC_RecordChild1,
8925 OPC_CheckType, MVT::v8i16,
8926 OPC_Scope, 22,
8927 OPC_CheckChild2CondCode, ISD::SETEQ,
8928 OPC_CheckPatternPredicate0,
8929 OPC_Scope, 9,
8930 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
8931 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_H),
8932 MVT::v8i16, 2, 29,
8933 6,
8934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_H),
8935 MVT::v8i16, 2, 16,
8936 0,
8937 22,
8938 OPC_CheckChild2CondCode, ISD::SETLE,
8939 OPC_CheckPatternPredicate0,
8940 OPC_Scope, 9,
8941 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
8942 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_H),
8943 MVT::v8i16, 2, 29,
8944 6,
8945 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_H),
8946 MVT::v8i16, 2, 16,
8947 0,
8948 22,
8949 OPC_CheckChild2CondCode, ISD::SETULE,
8950 OPC_CheckPatternPredicate0,
8951 OPC_Scope, 9,
8952 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
8953 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_H),
8954 MVT::v8i16, 2, 29,
8955 6,
8956 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_H),
8957 MVT::v8i16, 2, 16,
8958 0,
8959 22,
8960 OPC_CheckChild2CondCode, ISD::SETLT,
8961 OPC_CheckPatternPredicate0,
8962 OPC_Scope, 9,
8963 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
8964 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_H),
8965 MVT::v8i16, 2, 29,
8966 6,
8967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_H),
8968 MVT::v8i16, 2, 16,
8969 0,
8970 22,
8971 OPC_CheckChild2CondCode, ISD::SETULT,
8972 OPC_CheckPatternPredicate0,
8973 OPC_Scope, 9,
8974 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
8975 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_H),
8976 MVT::v8i16, 2, 29,
8977 6,
8978 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_H),
8979 MVT::v8i16, 2, 16,
8980 0,
8981 0,
8982 120,
8983 OPC_CheckChild0Type, MVT::v4i32,
8984 OPC_RecordChild1,
8985 OPC_CheckType, MVT::v4i32,
8986 OPC_Scope, 22,
8987 OPC_CheckChild2CondCode, ISD::SETEQ,
8988 OPC_CheckPatternPredicate0,
8989 OPC_Scope, 9,
8990 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
8991 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_W),
8992 MVT::v4i32, 2, 29,
8993 6,
8994 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_W),
8995 MVT::v4i32, 2, 16,
8996 0,
8997 22,
8998 OPC_CheckChild2CondCode, ISD::SETLE,
8999 OPC_CheckPatternPredicate0,
9000 OPC_Scope, 9,
9001 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
9002 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_W),
9003 MVT::v4i32, 2, 29,
9004 6,
9005 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_W),
9006 MVT::v4i32, 2, 16,
9007 0,
9008 21,
9009 OPC_CheckChild2CondCode, ISD::SETULE,
9010 OPC_CheckPatternPredicate0,
9011 OPC_Scope, 8,
9012 OPC_CheckComplexPat5, /*#*/1,
9013 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_W),
9014 MVT::v4i32, 2, 29,
9015 6,
9016 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_W),
9017 MVT::v4i32, 2, 16,
9018 0,
9019 22,
9020 OPC_CheckChild2CondCode, ISD::SETLT,
9021 OPC_CheckPatternPredicate0,
9022 OPC_Scope, 9,
9023 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
9024 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_W),
9025 MVT::v4i32, 2, 29,
9026 6,
9027 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_W),
9028 MVT::v4i32, 2, 16,
9029 0,
9030 21,
9031 OPC_CheckChild2CondCode, ISD::SETULT,
9032 OPC_CheckPatternPredicate0,
9033 OPC_Scope, 8,
9034 OPC_CheckComplexPat5, /*#*/1,
9035 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_W),
9036 MVT::v4i32, 2, 29,
9037 6,
9038 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_W),
9039 MVT::v4i32, 2, 16,
9040 0,
9041 0,
9042 122,
9043 OPC_CheckChild0Type, MVT::v2i64,
9044 OPC_RecordChild1,
9045 OPC_CheckType, MVT::v2i64,
9046 OPC_Scope, 22,
9047 OPC_CheckChild2CondCode, ISD::SETEQ,
9048 OPC_CheckPatternPredicate0,
9049 OPC_Scope, 9,
9050 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
9051 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_D),
9052 MVT::v2i64, 2, 29,
9053 6,
9054 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_D),
9055 MVT::v2i64, 2, 16,
9056 0,
9057 22,
9058 OPC_CheckChild2CondCode, ISD::SETLE,
9059 OPC_CheckPatternPredicate0,
9060 OPC_Scope, 9,
9061 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
9062 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_D),
9063 MVT::v2i64, 2, 29,
9064 6,
9065 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_D),
9066 MVT::v2i64, 2, 16,
9067 0,
9068 22,
9069 OPC_CheckChild2CondCode, ISD::SETULE,
9070 OPC_CheckPatternPredicate0,
9071 OPC_Scope, 9,
9072 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
9073 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_D),
9074 MVT::v2i64, 2, 29,
9075 6,
9076 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_D),
9077 MVT::v2i64, 2, 16,
9078 0,
9079 22,
9080 OPC_CheckChild2CondCode, ISD::SETLT,
9081 OPC_CheckPatternPredicate0,
9082 OPC_Scope, 9,
9083 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
9084 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_D),
9085 MVT::v2i64, 2, 29,
9086 6,
9087 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_D),
9088 MVT::v2i64, 2, 16,
9089 0,
9090 22,
9091 OPC_CheckChild2CondCode, ISD::SETULT,
9092 OPC_CheckPatternPredicate0,
9093 OPC_Scope, 9,
9094 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
9095 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_D),
9096 MVT::v2i64, 2, 29,
9097 6,
9098 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_D),
9099 MVT::v2i64, 2, 16,
9100 0,
9101 0,
9102 20|128,1,
9103 OPC_CheckChild0Type, 8|128,1,
9104 OPC_RecordChild1,
9105 OPC_CheckType, MVT::v4i32,
9106 OPC_Scope, 9,
9107 OPC_CheckChild2CondCode, ISD::SETOEQ,
9108 OPC_CheckPatternPredicate0,
9109 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
9110 MVT::v4i32, 2, 16,
9111 9,
9112 OPC_CheckChild2CondCode, ISD::SETOLE,
9113 OPC_CheckPatternPredicate0,
9114 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
9115 MVT::v4i32, 2, 16,
9116 9,
9117 OPC_CheckChild2CondCode, ISD::SETOLT,
9118 OPC_CheckPatternPredicate0,
9119 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
9120 MVT::v4i32, 2, 16,
9121 9,
9122 OPC_CheckChild2CondCode, ISD::SETONE,
9123 OPC_CheckPatternPredicate0,
9124 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
9125 MVT::v4i32, 2, 16,
9126 9,
9127 OPC_CheckChild2CondCode, ISD::SETO,
9128 OPC_CheckPatternPredicate0,
9129 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_W),
9130 MVT::v4i32, 2, 16,
9131 9,
9132 OPC_CheckChild2CondCode, ISD::SETUEQ,
9133 OPC_CheckPatternPredicate0,
9134 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_W),
9135 MVT::v4i32, 2, 16,
9136 9,
9137 OPC_CheckChild2CondCode, ISD::SETULE,
9138 OPC_CheckPatternPredicate0,
9139 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_W),
9140 MVT::v4i32, 2, 16,
9141 9,
9142 OPC_CheckChild2CondCode, ISD::SETULT,
9143 OPC_CheckPatternPredicate0,
9144 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_W),
9145 MVT::v4i32, 2, 16,
9146 9,
9147 OPC_CheckChild2CondCode, ISD::SETUO,
9148 OPC_CheckPatternPredicate0,
9149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_W),
9150 MVT::v4i32, 2, 16,
9151 9,
9152 OPC_CheckChild2CondCode, ISD::SETUNE,
9153 OPC_CheckPatternPredicate0,
9154 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_W),
9155 MVT::v4i32, 2, 16,
9156 9,
9157 OPC_CheckChild2CondCode, ISD::SETEQ,
9158 OPC_CheckPatternPredicate3,
9159 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
9160 MVT::v4i32, 2, 16,
9161 9,
9162 OPC_CheckChild2CondCode, ISD::SETLE,
9163 OPC_CheckPatternPredicate3,
9164 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
9165 MVT::v4i32, 2, 16,
9166 9,
9167 OPC_CheckChild2CondCode, ISD::SETLT,
9168 OPC_CheckPatternPredicate3,
9169 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
9170 MVT::v4i32, 2, 16,
9171 9,
9172 OPC_CheckChild2CondCode, ISD::SETNE,
9173 OPC_CheckPatternPredicate3,
9174 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
9175 MVT::v4i32, 2, 16,
9176 0,
9177 20|128,1,
9178 OPC_CheckChild0Type, 26|128,1,
9179 OPC_RecordChild1,
9180 OPC_CheckType, MVT::v2i64,
9181 OPC_Scope, 9,
9182 OPC_CheckChild2CondCode, ISD::SETOEQ,
9183 OPC_CheckPatternPredicate0,
9184 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
9185 MVT::v2i64, 2, 16,
9186 9,
9187 OPC_CheckChild2CondCode, ISD::SETOLE,
9188 OPC_CheckPatternPredicate0,
9189 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
9190 MVT::v2i64, 2, 16,
9191 9,
9192 OPC_CheckChild2CondCode, ISD::SETOLT,
9193 OPC_CheckPatternPredicate0,
9194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
9195 MVT::v2i64, 2, 16,
9196 9,
9197 OPC_CheckChild2CondCode, ISD::SETONE,
9198 OPC_CheckPatternPredicate0,
9199 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
9200 MVT::v2i64, 2, 16,
9201 9,
9202 OPC_CheckChild2CondCode, ISD::SETO,
9203 OPC_CheckPatternPredicate0,
9204 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_D),
9205 MVT::v2i64, 2, 16,
9206 9,
9207 OPC_CheckChild2CondCode, ISD::SETUEQ,
9208 OPC_CheckPatternPredicate0,
9209 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_D),
9210 MVT::v2i64, 2, 16,
9211 9,
9212 OPC_CheckChild2CondCode, ISD::SETULE,
9213 OPC_CheckPatternPredicate0,
9214 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_D),
9215 MVT::v2i64, 2, 16,
9216 9,
9217 OPC_CheckChild2CondCode, ISD::SETULT,
9218 OPC_CheckPatternPredicate0,
9219 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_D),
9220 MVT::v2i64, 2, 16,
9221 9,
9222 OPC_CheckChild2CondCode, ISD::SETUO,
9223 OPC_CheckPatternPredicate0,
9224 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_D),
9225 MVT::v2i64, 2, 16,
9226 9,
9227 OPC_CheckChild2CondCode, ISD::SETUNE,
9228 OPC_CheckPatternPredicate0,
9229 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_D),
9230 MVT::v2i64, 2, 16,
9231 9,
9232 OPC_CheckChild2CondCode, ISD::SETEQ,
9233 OPC_CheckPatternPredicate3,
9234 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
9235 MVT::v2i64, 2, 16,
9236 9,
9237 OPC_CheckChild2CondCode, ISD::SETLE,
9238 OPC_CheckPatternPredicate3,
9239 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
9240 MVT::v2i64, 2, 16,
9241 9,
9242 OPC_CheckChild2CondCode, ISD::SETLT,
9243 OPC_CheckPatternPredicate3,
9244 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
9245 MVT::v2i64, 2, 16,
9246 9,
9247 OPC_CheckChild2CondCode, ISD::SETNE,
9248 OPC_CheckPatternPredicate3,
9249 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
9250 MVT::v2i64, 2, 16,
9251 0,
9252 0,
9253 0,
9254 36|128,1, TARGET_VAL(MipsISD::Ext),
9255 OPC_Scope, 38,
9256 OPC_MoveChild0,
9257 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9258 OPC_RecordChild0,
9259 OPC_MoveSibling1,
9260 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9261 OPC_RecordNode,
9262 OPC_CheckPredicate3,
9263 OPC_MoveSibling2,
9264 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9265 OPC_RecordNode,
9266 OPC_CheckPredicate3,
9267 OPC_MoveParent,
9268 OPC_CheckTypeI32,
9269 OPC_CheckPatternPredicate, 9,
9270 OPC_EmitConvertToTarget1,
9271 OPC_EmitConvertToTarget2,
9272 OPC_EmitNode1None, TARGET_VAL(Mips::DEXT),
9273 MVT::i64, 3, 105,
9274 OPC_EmitIntegerI32, Mips::sub_32,
9275 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9276 MVT::i32, 2, 11|128,1,
9277 122,
9278 OPC_RecordChild0,
9279 OPC_RecordChild1,
9280 OPC_MoveChild1,
9281 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9282 OPC_Scope, 53,
9283 OPC_CheckPredicate3,
9284 OPC_MoveSibling2,
9285 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9286 OPC_RecordNode,
9287 OPC_Scope, 29,
9288 OPC_CheckPredicate, 35,
9289 OPC_MoveParent,
9290 OPC_SwitchType , 10, MVT::i32,
9291 OPC_CheckPatternPredicate, 55,
9292 OPC_EmitConvertToTarget1,
9293 OPC_EmitConvertToTarget2,
9294 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT),
9295 MVT::i32, 3, 105,
9296 10, MVT::i64,
9297 OPC_CheckPatternPredicate, 60,
9298 OPC_EmitConvertToTarget1,
9299 OPC_EmitConvertToTarget2,
9300 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT),
9301 MVT::i64, 3, 105,
9302 0,
9303 14,
9304 OPC_CheckPredicate, 52,
9305 OPC_MoveParent,
9306 OPC_CheckTypeI64,
9307 OPC_CheckPatternPredicate, 60,
9308 OPC_EmitConvertToTarget1,
9309 OPC_EmitConvertToTarget2,
9310 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTM),
9311 MVT::i64, 3, 105,
9312 0,
9313 21,
9314 OPC_CheckPredicate, 44,
9315 OPC_MoveSibling2,
9316 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9317 OPC_RecordNode,
9318 OPC_CheckPredicate, 35,
9319 OPC_MoveParent,
9320 OPC_CheckTypeI64,
9321 OPC_CheckPatternPredicate, 60,
9322 OPC_EmitConvertToTarget1,
9323 OPC_EmitConvertToTarget2,
9324 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTU),
9325 MVT::i64, 3, 105,
9326 19,
9327 OPC_CheckPredicate3,
9328 OPC_MoveSibling2,
9329 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9330 OPC_RecordNode,
9331 OPC_CheckPredicate, 35,
9332 OPC_MoveParent,
9333 OPC_CheckTypeI32,
9334 OPC_CheckPatternPredicate7,
9335 OPC_EmitConvertToTarget1,
9336 OPC_EmitConvertToTarget2,
9337 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MM),
9338 MVT::i32, 3, 105,
9339 17,
9340 OPC_MoveSibling2,
9341 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9342 OPC_RecordNode,
9343 OPC_MoveParent,
9344 OPC_CheckTypeI32,
9345 OPC_CheckPatternPredicate, 8,
9346 OPC_EmitConvertToTarget1,
9347 OPC_EmitConvertToTarget2,
9348 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MMR6),
9349 MVT::i32, 3, 105,
9350 0,
9351 0,
9352 25|128,2, TARGET_VAL(ISD::ATOMIC_LOAD),
9353 OPC_RecordMemRef,
9354 OPC_RecordNode,
9355 OPC_RecordChild1,
9356 OPC_SwitchType , 26|128,1, MVT::i32,
9357 OPC_Scope, 14,
9358 OPC_CheckPredicate, 27,
9359 OPC_CheckPredicate5,
9360 OPC_CheckPatternPredicate2,
9361 OPC_CheckComplexPat0, /*#*/1,
9362 OPC_EmitMergeInputChains1_0,
9363 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
9364 MVT::i32, 2, 56,
9365 14,
9366 OPC_CheckPredicate, 28,
9367 OPC_CheckPredicate5,
9368 OPC_CheckPatternPredicate2,
9369 OPC_CheckComplexPat0, /*#*/1,
9370 OPC_EmitMergeInputChains1_0,
9371 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
9372 MVT::i32, 2, 56,
9373 14,
9374 OPC_CheckPredicate, 27,
9375 OPC_CheckPredicate4,
9376 OPC_CheckPatternPredicate2,
9377 OPC_CheckComplexPat0, /*#*/1,
9378 OPC_EmitMergeInputChains1_0,
9379 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
9380 MVT::i32, 2, 56,
9381 14,
9382 OPC_CheckPredicate, 28,
9383 OPC_CheckPredicate4,
9384 OPC_CheckPatternPredicate2,
9385 OPC_CheckComplexPat0, /*#*/1,
9386 OPC_EmitMergeInputChains1_0,
9387 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
9388 MVT::i32, 2, 56,
9389 15,
9390 OPC_CheckPredicate, 36,
9391 OPC_CheckPredicate, 9,
9392 OPC_CheckPatternPredicate2,
9393 OPC_CheckComplexPat0, /*#*/1,
9394 OPC_EmitMergeInputChains1_0,
9395 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
9396 MVT::i32, 2, 56,
9397 14,
9398 OPC_CheckPredicate, 27,
9399 OPC_CheckPredicate5,
9400 OPC_CheckPatternPredicate4,
9401 OPC_CheckComplexPat0, /*#*/1,
9402 OPC_EmitMergeInputChains1_0,
9403 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
9404 MVT::i32, 2, 56,
9405 14,
9406 OPC_CheckPredicate, 28,
9407 OPC_CheckPredicate5,
9408 OPC_CheckPatternPredicate4,
9409 OPC_CheckComplexPat0, /*#*/1,
9410 OPC_EmitMergeInputChains1_0,
9411 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
9412 MVT::i32, 2, 56,
9413 14,
9414 OPC_CheckPredicate, 27,
9415 OPC_CheckPredicate4,
9416 OPC_CheckPatternPredicate4,
9417 OPC_CheckComplexPat0, /*#*/1,
9418 OPC_EmitMergeInputChains1_0,
9419 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
9420 MVT::i32, 2, 56,
9421 14,
9422 OPC_CheckPredicate, 28,
9423 OPC_CheckPredicate4,
9424 OPC_CheckPatternPredicate4,
9425 OPC_CheckComplexPat0, /*#*/1,
9426 OPC_EmitMergeInputChains1_0,
9427 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
9428 MVT::i32, 2, 56,
9429 15,
9430 OPC_CheckPredicate, 36,
9431 OPC_CheckPredicate, 9,
9432 OPC_CheckPatternPredicate4,
9433 OPC_CheckComplexPat0, /*#*/1,
9434 OPC_EmitMergeInputChains1_0,
9435 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
9436 MVT::i32, 2, 56,
9437 0,
9438 117, MVT::i64,
9439 OPC_Scope, 15,
9440 OPC_CheckPredicate, 27,
9441 OPC_CheckPredicate5,
9442 OPC_CheckPatternPredicate, 9,
9443 OPC_CheckComplexPat0, /*#*/1,
9444 OPC_EmitMergeInputChains1_0,
9445 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
9446 MVT::i64, 2, 56,
9447 15,
9448 OPC_CheckPredicate, 28,
9449 OPC_CheckPredicate5,
9450 OPC_CheckPatternPredicate, 9,
9451 OPC_CheckComplexPat0, /*#*/1,
9452 OPC_EmitMergeInputChains1_0,
9453 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
9454 MVT::i64, 2, 56,
9455 15,
9456 OPC_CheckPredicate, 27,
9457 OPC_CheckPredicate4,
9458 OPC_CheckPatternPredicate, 9,
9459 OPC_CheckComplexPat0, /*#*/1,
9460 OPC_EmitMergeInputChains1_0,
9461 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
9462 MVT::i64, 2, 56,
9463 15,
9464 OPC_CheckPredicate, 28,
9465 OPC_CheckPredicate4,
9466 OPC_CheckPatternPredicate, 9,
9467 OPC_CheckComplexPat0, /*#*/1,
9468 OPC_EmitMergeInputChains1_0,
9469 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
9470 MVT::i64, 2, 56,
9471 16,
9472 OPC_CheckPredicate, 27,
9473 OPC_CheckPredicate, 9,
9474 OPC_CheckPatternPredicate, 9,
9475 OPC_CheckComplexPat0, /*#*/1,
9476 OPC_EmitMergeInputChains1_0,
9477 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
9478 MVT::i64, 2, 56,
9479 16,
9480 OPC_CheckPredicate, 28,
9481 OPC_CheckPredicate, 9,
9482 OPC_CheckPatternPredicate, 9,
9483 OPC_CheckComplexPat0, /*#*/1,
9484 OPC_EmitMergeInputChains1_0,
9485 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
9486 MVT::i64, 2, 56,
9487 16,
9488 OPC_CheckPredicate, 36,
9489 OPC_CheckPredicate, 17,
9490 OPC_CheckPatternPredicate, 9,
9491 OPC_CheckComplexPat0, /*#*/1,
9492 OPC_EmitMergeInputChains1_0,
9493 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
9494 MVT::i64, 2, 56,
9495 0,
9496 0,
9497 106, TARGET_VAL(ISD::ATOMIC_STORE),
9498 OPC_RecordMemRef,
9499 OPC_RecordNode,
9500 OPC_RecordChild1,
9501 OPC_Scope, 41,
9502 OPC_CheckChild1TypeI32,
9503 OPC_RecordChild2,
9504 OPC_Scope, 11,
9505 OPC_CheckPredicate5,
9506 OPC_CheckPatternPredicate2,
9507 OPC_CheckComplexPat0, /*#*/2,
9508 OPC_EmitMergeInputChains1_0,
9509 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
9510 3, 108,
9511 11,
9512 OPC_CheckPredicate4,
9513 OPC_CheckPatternPredicate2,
9514 OPC_CheckComplexPat0, /*#*/2,
9515 OPC_EmitMergeInputChains1_0,
9516 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
9517 3, 108,
9518 12,
9519 OPC_CheckPredicate, 9,
9520 OPC_CheckPatternPredicate2,
9521 OPC_CheckComplexPat0, /*#*/2,
9522 OPC_EmitMergeInputChains1_0,
9523 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
9524 3, 108,
9525 0,
9526 58,
9527 OPC_CheckChild1TypeI64,
9528 OPC_RecordChild2,
9529 OPC_Scope, 12,
9530 OPC_CheckPredicate5,
9531 OPC_CheckPatternPredicate, 9,
9532 OPC_CheckComplexPat0, /*#*/2,
9533 OPC_EmitMergeInputChains1_0,
9534 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
9535 3, 108,
9536 12,
9537 OPC_CheckPredicate4,
9538 OPC_CheckPatternPredicate, 9,
9539 OPC_CheckComplexPat0, /*#*/2,
9540 OPC_EmitMergeInputChains1_0,
9541 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
9542 3, 108,
9543 13,
9544 OPC_CheckPredicate, 9,
9545 OPC_CheckPatternPredicate, 9,
9546 OPC_CheckComplexPat0, /*#*/2,
9547 OPC_EmitMergeInputChains1_0,
9548 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
9549 3, 108,
9550 13,
9551 OPC_CheckPredicate, 17,
9552 OPC_CheckPatternPredicate, 9,
9553 OPC_CheckComplexPat0, /*#*/2,
9554 OPC_EmitMergeInputChains1_0,
9555 OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
9556 3, 108,
9557 0,
9558 0,
9559 62, TARGET_VAL(MipsISD::LWL),
9560 OPC_RecordMemRef,
9561 OPC_RecordNode,
9562 OPC_RecordChild1,
9563 OPC_RecordChild2,
9564 OPC_SwitchType , 40, MVT::i32,
9565 OPC_Scope, 12,
9566 OPC_CheckPatternPredicate, 50,
9567 OPC_CheckComplexPat0, /*#*/1,
9568 OPC_EmitMergeInputChains1_0,
9569 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL), 0|OPFL_Chain|OPFL_MemRefs,
9570 MVT::i32, 3, 43,
9571 12,
9572 OPC_CheckPatternPredicate, 66,
9573 OPC_CheckComplexPat7, /*#*/1,
9574 OPC_EmitMergeInputChains1_0,
9575 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
9576 MVT::i32, 3, 43,
9577 11,
9578 OPC_CheckPatternPredicate7,
9579 OPC_CheckComplexPat7, /*#*/1,
9580 OPC_EmitMergeInputChains1_0,
9581 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
9582 MVT::i32, 3, 43,
9583 0,
9584 12, MVT::i64,
9585 OPC_CheckPatternPredicate, 21,
9586 OPC_CheckComplexPat0, /*#*/1,
9587 OPC_EmitMergeInputChains1_0,
9588 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL64), 0|OPFL_Chain|OPFL_MemRefs,
9589 MVT::i64, 3, 43,
9590 0,
9591 62, TARGET_VAL(MipsISD::LWR),
9592 OPC_RecordMemRef,
9593 OPC_RecordNode,
9594 OPC_RecordChild1,
9595 OPC_RecordChild2,
9596 OPC_SwitchType , 40, MVT::i32,
9597 OPC_Scope, 12,
9598 OPC_CheckPatternPredicate, 50,
9599 OPC_CheckComplexPat0, /*#*/1,
9600 OPC_EmitMergeInputChains1_0,
9601 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR), 0|OPFL_Chain|OPFL_MemRefs,
9602 MVT::i32, 3, 43,
9603 12,
9604 OPC_CheckPatternPredicate, 66,
9605 OPC_CheckComplexPat7, /*#*/1,
9606 OPC_EmitMergeInputChains1_0,
9607 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
9608 MVT::i32, 3, 43,
9609 11,
9610 OPC_CheckPatternPredicate7,
9611 OPC_CheckComplexPat7, /*#*/1,
9612 OPC_EmitMergeInputChains1_0,
9613 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
9614 MVT::i32, 3, 43,
9615 0,
9616 12, MVT::i64,
9617 OPC_CheckPatternPredicate, 21,
9618 OPC_CheckComplexPat0, /*#*/1,
9619 OPC_EmitMergeInputChains1_0,
9620 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR64), 0|OPFL_Chain|OPFL_MemRefs,
9621 MVT::i64, 3, 43,
9622 0,
9623 59, TARGET_VAL(MipsISD::SWL),
9624 OPC_RecordMemRef,
9625 OPC_RecordNode,
9626 OPC_RecordChild1,
9627 OPC_Scope, 39,
9628 OPC_CheckChild1TypeI32,
9629 OPC_RecordChild2,
9630 OPC_Scope, 11,
9631 OPC_CheckPatternPredicate, 50,
9632 OPC_CheckComplexPat0, /*#*/2,
9633 OPC_EmitMergeInputChains1_0,
9634 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL), 0|OPFL_Chain|OPFL_MemRefs,
9635 3, 108,
9636 11,
9637 OPC_CheckPatternPredicate, 66,
9638 OPC_CheckComplexPat7, /*#*/2,
9639 OPC_EmitMergeInputChains1_0,
9640 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
9641 3, 108,
9642 10,
9643 OPC_CheckPatternPredicate7,
9644 OPC_CheckComplexPat7, /*#*/2,
9645 OPC_EmitMergeInputChains1_0,
9646 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
9647 3, 108,
9648 0,
9649 13,
9650 OPC_CheckChild1TypeI64,
9651 OPC_RecordChild2,
9652 OPC_CheckPatternPredicate, 21,
9653 OPC_CheckComplexPat0, /*#*/2,
9654 OPC_EmitMergeInputChains1_0,
9655 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL64), 0|OPFL_Chain|OPFL_MemRefs,
9656 3, 108,
9657 0,
9658 59, TARGET_VAL(MipsISD::SWR),
9659 OPC_RecordMemRef,
9660 OPC_RecordNode,
9661 OPC_RecordChild1,
9662 OPC_Scope, 39,
9663 OPC_CheckChild1TypeI32,
9664 OPC_RecordChild2,
9665 OPC_Scope, 11,
9666 OPC_CheckPatternPredicate, 50,
9667 OPC_CheckComplexPat0, /*#*/2,
9668 OPC_EmitMergeInputChains1_0,
9669 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR), 0|OPFL_Chain|OPFL_MemRefs,
9670 3, 108,
9671 11,
9672 OPC_CheckPatternPredicate, 66,
9673 OPC_CheckComplexPat7, /*#*/2,
9674 OPC_EmitMergeInputChains1_0,
9675 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
9676 3, 108,
9677 10,
9678 OPC_CheckPatternPredicate7,
9679 OPC_CheckComplexPat7, /*#*/2,
9680 OPC_EmitMergeInputChains1_0,
9681 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
9682 3, 108,
9683 0,
9684 13,
9685 OPC_CheckChild1TypeI64,
9686 OPC_RecordChild2,
9687 OPC_CheckPatternPredicate, 21,
9688 OPC_CheckComplexPat0, /*#*/2,
9689 OPC_EmitMergeInputChains1_0,
9690 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR64), 0|OPFL_Chain|OPFL_MemRefs,
9691 3, 108,
9692 0,
9693 17, TARGET_VAL(MipsISD::LDL),
9694 OPC_RecordMemRef,
9695 OPC_RecordNode,
9696 OPC_RecordChild1,
9697 OPC_RecordChild2,
9698 OPC_CheckTypeI64,
9699 OPC_CheckPatternPredicate, 51,
9700 OPC_CheckComplexPat0, /*#*/1,
9701 OPC_EmitMergeInputChains1_0,
9702 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDL), 0|OPFL_Chain|OPFL_MemRefs,
9703 MVT::i64, 3, 43,
9704 17, TARGET_VAL(MipsISD::LDR),
9705 OPC_RecordMemRef,
9706 OPC_RecordNode,
9707 OPC_RecordChild1,
9708 OPC_RecordChild2,
9709 OPC_CheckTypeI64,
9710 OPC_CheckPatternPredicate, 51,
9711 OPC_CheckComplexPat0, /*#*/1,
9712 OPC_EmitMergeInputChains1_0,
9713 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDR), 0|OPFL_Chain|OPFL_MemRefs,
9714 MVT::i64, 3, 43,
9715 16, TARGET_VAL(MipsISD::SDL),
9716 OPC_RecordMemRef,
9717 OPC_RecordNode,
9718 OPC_RecordChild1,
9719 OPC_CheckChild1TypeI64,
9720 OPC_RecordChild2,
9721 OPC_CheckPatternPredicate, 51,
9722 OPC_CheckComplexPat0, /*#*/2,
9723 OPC_EmitMergeInputChains1_0,
9724 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDL), 0|OPFL_Chain|OPFL_MemRefs,
9725 3, 108,
9726 16, TARGET_VAL(MipsISD::SDR),
9727 OPC_RecordMemRef,
9728 OPC_RecordNode,
9729 OPC_RecordChild1,
9730 OPC_CheckChild1TypeI64,
9731 OPC_RecordChild2,
9732 OPC_CheckPatternPredicate, 51,
9733 OPC_CheckComplexPat0, /*#*/2,
9734 OPC_EmitMergeInputChains1_0,
9735 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDR), 0|OPFL_Chain|OPFL_MemRefs,
9736 3, 108,
9737 77|128,9, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
9738 OPC_RecordNode,
9739 OPC_Scope, 55,
9740 OPC_CheckChild1Integer, 124|128,66|128,0,
9741 OPC_RecordChild2,
9742 OPC_RecordChild3,
9743 OPC_Scope, 28,
9744 OPC_MoveChild3,
9745 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9746 OPC_CheckPredicate3,
9747 OPC_MoveParent,
9748 OPC_Scope, 9,
9749 OPC_CheckPatternPredicate1,
9750 OPC_EmitMergeInputChains1_0,
9751 OPC_EmitConvertToTarget2,
9752 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W),
9753 MVT::i32, 2, 50,
9754 9,
9755 OPC_CheckPatternPredicate6,
9756 OPC_EmitMergeInputChains1_0,
9757 OPC_EmitConvertToTarget2,
9758 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W_MM),
9759 MVT::i32, 2, 50,
9760 0,
9761 8,
9762 OPC_CheckPatternPredicate1,
9763 OPC_EmitMergeInputChains1_0,
9764 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W),
9765 MVT::i32, 2, 32,
9766 8,
9767 OPC_CheckPatternPredicate6,
9768 OPC_EmitMergeInputChains1_0,
9769 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W_MM),
9770 MVT::i32, 2, 32,
9771 0,
9772 35,
9773 OPC_CheckChild1Integer, 106|128,66|128,0,
9774 OPC_RecordChild2,
9775 OPC_MoveChild2,
9776 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9777 OPC_Scope, 11,
9778 OPC_CheckPredicate, 45,
9779 OPC_MoveParent,
9780 OPC_CheckPatternPredicate1,
9781 OPC_EmitMergeInputChains1_0,
9782 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP),
9783 MVT::i32, 1, 17,
9784 11,
9785 OPC_CheckPredicate, 46,
9786 OPC_MoveParent,
9787 OPC_CheckPatternPredicate6,
9788 OPC_EmitMergeInputChains1_0,
9789 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP_MM),
9790 MVT::i32, 1, 17,
9791 0,
9792 25,
9793 OPC_CheckChild1Integer, 88|128,62,
9794 OPC_RecordChild2,
9795 OPC_RecordChild3,
9796 OPC_Scope, 8,
9797 OPC_CheckPatternPredicate1,
9798 OPC_EmitMergeInputChains1_0,
9799 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W),
9800 MVT::i32, 2, 32,
9801 8,
9802 OPC_CheckPatternPredicate6,
9803 OPC_EmitMergeInputChains1_0,
9804 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W_MM),
9805 MVT::i32, 2, 32,
9806 0,
9807 26,
9808 OPC_CheckChild1Integer, 68|128,67|128,0,
9809 OPC_RecordChild2,
9810 OPC_RecordChild3,
9811 OPC_Scope, 8,
9812 OPC_CheckPatternPredicate1,
9813 OPC_EmitMergeInputChains1_0,
9814 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W),
9815 MVT::i32, 2, 32,
9816 8,
9817 OPC_CheckPatternPredicate6,
9818 OPC_EmitMergeInputChains1_0,
9819 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W_MM),
9820 MVT::i32, 2, 32,
9821 0,
9822 24,
9823 OPC_CheckChild1Integer, 81|128,62,
9824 OPC_RecordChild2,
9825 OPC_Scope, 8,
9826 OPC_CheckPatternPredicate1,
9827 OPC_EmitMergeInputChains1_0,
9828 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W),
9829 MVT::i32, 1, 17,
9830 8,
9831 OPC_CheckPatternPredicate6,
9832 OPC_EmitMergeInputChains1_0,
9833 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W_MM),
9834 MVT::i32, 1, 17,
9835 0,
9836 26,
9837 OPC_CheckChild1Integer, 42|128,66|128,0,
9838 OPC_RecordChild2,
9839 OPC_RecordChild3,
9840 OPC_Scope, 8,
9841 OPC_CheckPatternPredicate1,
9842 OPC_EmitMergeInputChains1_0,
9843 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL),
9844 MVT::i32, 2, 32,
9845 8,
9846 OPC_CheckPatternPredicate6,
9847 OPC_EmitMergeInputChains1_0,
9848 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL_MM),
9849 MVT::i32, 2, 32,
9850 0,
9851 26,
9852 OPC_CheckChild1Integer, 43|128,66|128,0,
9853 OPC_RecordChild2,
9854 OPC_RecordChild3,
9855 OPC_Scope, 8,
9856 OPC_CheckPatternPredicate1,
9857 OPC_EmitMergeInputChains1_0,
9858 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR),
9859 MVT::i32, 2, 32,
9860 8,
9861 OPC_CheckPatternPredicate6,
9862 OPC_EmitMergeInputChains1_0,
9863 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR_MM),
9864 MVT::i32, 2, 32,
9865 0,
9866 25,
9867 OPC_CheckChild1Integer, 126|128,63,
9868 OPC_RecordChild2,
9869 OPC_RecordChild3,
9870 OPC_Scope, 8,
9871 OPC_CheckPatternPredicate1,
9872 OPC_EmitMergeInputChains1_0,
9873 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB),
9874 MVT::i32, 2, 32,
9875 8,
9876 OPC_CheckPatternPredicate6,
9877 OPC_EmitMergeInputChains1_0,
9878 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB_MM),
9879 MVT::i32, 2, 32,
9880 0,
9881 26,
9882 OPC_CheckChild1Integer, 0|128,64|128,0,
9883 OPC_RecordChild2,
9884 OPC_RecordChild3,
9885 OPC_Scope, 8,
9886 OPC_CheckPatternPredicate1,
9887 OPC_EmitMergeInputChains1_0,
9888 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB),
9889 MVT::i32, 2, 32,
9890 8,
9891 OPC_CheckPatternPredicate6,
9892 OPC_EmitMergeInputChains1_0,
9893 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB_MM),
9894 MVT::i32, 2, 32,
9895 0,
9896 25,
9897 OPC_CheckChild1Integer, 127|128,63,
9898 OPC_RecordChild2,
9899 OPC_RecordChild3,
9900 OPC_Scope, 8,
9901 OPC_CheckPatternPredicate1,
9902 OPC_EmitMergeInputChains1_0,
9903 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB),
9904 MVT::i32, 2, 32,
9905 8,
9906 OPC_CheckPatternPredicate6,
9907 OPC_EmitMergeInputChains1_0,
9908 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB_MM),
9909 MVT::i32, 2, 32,
9910 0,
9911 26,
9912 OPC_CheckChild1Integer, 90|128,65|128,0,
9913 OPC_RecordChild2,
9914 OPC_RecordChild3,
9915 OPC_Scope, 8,
9916 OPC_CheckPatternPredicate1,
9917 OPC_EmitMergeInputChains1_0,
9918 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX),
9919 MVT::i32, 2, 32,
9920 8,
9921 OPC_CheckPatternPredicate6,
9922 OPC_EmitMergeInputChains1_0,
9923 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX_MM),
9924 MVT::i32, 2, 32,
9925 0,
9926 26,
9927 OPC_CheckChild1Integer, 88|128,65|128,0,
9928 OPC_RecordChild2,
9929 OPC_RecordChild3,
9930 OPC_Scope, 8,
9931 OPC_CheckPatternPredicate1,
9932 OPC_EmitMergeInputChains1_0,
9933 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX),
9934 MVT::i32, 2, 32,
9935 8,
9936 OPC_CheckPatternPredicate6,
9937 OPC_EmitMergeInputChains1_0,
9938 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX_MM),
9939 MVT::i32, 2, 32,
9940 0,
9941 26,
9942 OPC_CheckChild1Integer, 77|128,65|128,0,
9943 OPC_RecordChild2,
9944 OPC_RecordChild3,
9945 OPC_Scope, 8,
9946 OPC_CheckPatternPredicate1,
9947 OPC_EmitMergeInputChains1_0,
9948 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX),
9949 MVT::i32, 2, 32,
9950 8,
9951 OPC_CheckPatternPredicate6,
9952 OPC_EmitMergeInputChains1_0,
9953 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX_MM),
9954 MVT::i32, 2, 32,
9955 0,
9956 26,
9957 OPC_CheckChild1Integer, 72|128,65|128,0,
9958 OPC_RecordChild2,
9959 OPC_RecordChild3,
9960 OPC_Scope, 8,
9961 OPC_CheckPatternPredicate1,
9962 OPC_EmitMergeInputChains1_0,
9963 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV),
9964 MVT::i32, 2, 32,
9965 8,
9966 OPC_CheckPatternPredicate6,
9967 OPC_EmitMergeInputChains1_0,
9968 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV_MM),
9969 MVT::i32, 2, 32,
9970 0,
9971 27,
9972 OPC_CheckChild1Integer, 123|128,63,
9973 OPC_RecordChild2,
9974 OPC_RecordChild3,
9975 OPC_Scope, 9,
9976 OPC_CheckPatternPredicate, 13,
9977 OPC_EmitMergeInputChains1_0,
9978 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB),
9979 MVT::i32, 2, 32,
9980 9,
9981 OPC_CheckPatternPredicate, 14,
9982 OPC_EmitMergeInputChains1_0,
9983 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB_MMR2),
9984 MVT::i32, 2, 32,
9985 0,
9986 27,
9987 OPC_CheckChild1Integer, 125|128,63,
9988 OPC_RecordChild2,
9989 OPC_RecordChild3,
9990 OPC_Scope, 9,
9991 OPC_CheckPatternPredicate, 13,
9992 OPC_EmitMergeInputChains1_0,
9993 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB),
9994 MVT::i32, 2, 32,
9995 9,
9996 OPC_CheckPatternPredicate, 14,
9997 OPC_EmitMergeInputChains1_0,
9998 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB_MMR2),
9999 MVT::i32, 2, 32,
10000 0,
10001 27,
10002 OPC_CheckChild1Integer, 124|128,63,
10003 OPC_RecordChild2,
10004 OPC_RecordChild3,
10005 OPC_Scope, 9,
10006 OPC_CheckPatternPredicate, 13,
10007 OPC_EmitMergeInputChains1_0,
10008 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB),
10009 MVT::i32, 2, 32,
10010 9,
10011 OPC_CheckPatternPredicate, 14,
10012 OPC_EmitMergeInputChains1_0,
10013 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB_MMR2),
10014 MVT::i32, 2, 32,
10015 0,
10016 28,
10017 OPC_CheckChild1Integer, 49|128,66|128,0,
10018 OPC_RecordChild2,
10019 OPC_RecordChild3,
10020 OPC_Scope, 9,
10021 OPC_CheckPatternPredicate, 13,
10022 OPC_EmitMergeInputChains1_0,
10023 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W),
10024 MVT::i32, 2, 32,
10025 9,
10026 OPC_CheckPatternPredicate, 14,
10027 OPC_EmitMergeInputChains1_0,
10028 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W_MMR2),
10029 MVT::i32, 2, 32,
10030 0,
10031 28,
10032 OPC_CheckChild1Integer, 47|128,66|128,0,
10033 OPC_RecordChild2,
10034 OPC_RecordChild3,
10035 OPC_Scope, 9,
10036 OPC_CheckPatternPredicate, 13,
10037 OPC_EmitMergeInputChains1_0,
10038 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W),
10039 MVT::i32, 2, 32,
10040 9,
10041 OPC_CheckPatternPredicate, 14,
10042 OPC_EmitMergeInputChains1_0,
10043 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W_MMR2),
10044 MVT::i32, 2, 32,
10045 0,
10046 13,
10047 OPC_CheckChild1Integer, 105|128,62,
10048 OPC_RecordChild2,
10049 OPC_RecordChild3,
10050 OPC_CheckPatternPredicate1,
10051 OPC_EmitMergeInputChains1_0,
10052 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDSC),
10053 MVT::i32, 2, 32,
10054 13,
10055 OPC_CheckChild1Integer, 120|128,62,
10056 OPC_RecordChild2,
10057 OPC_RecordChild3,
10058 OPC_CheckPatternPredicate1,
10059 OPC_EmitMergeInputChains1_0,
10060 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDWC),
10061 MVT::i32, 2, 32,
10062 9,
10063 OPC_CheckChild1Integer, 63|128,63,
10064 OPC_EmitMergeInputChains1_0,
10065 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::BPOSGE32_PSEUDO),
10066 MVT::i32, 0,
10067 56,
10068 OPC_CheckChild1Integer, 123|128,66|128,0,
10069 OPC_RecordChild2,
10070 OPC_RecordChild3,
10071 OPC_Scope, 29,
10072 OPC_MoveChild3,
10073 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10074 OPC_CheckPredicate, 15,
10075 OPC_MoveParent,
10076 OPC_Scope, 9,
10077 OPC_CheckPatternPredicate1,
10078 OPC_EmitMergeInputChains1_0,
10079 OPC_EmitConvertToTarget2,
10080 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH),
10081 MVT::v2i16, 2, 50,
10082 9,
10083 OPC_CheckPatternPredicate6,
10084 OPC_EmitMergeInputChains1_0,
10085 OPC_EmitConvertToTarget2,
10086 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH_MM),
10087 MVT::v2i16, 2, 50,
10088 0,
10089 8,
10090 OPC_CheckPatternPredicate1,
10091 OPC_EmitMergeInputChains1_0,
10092 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH),
10093 MVT::v2i16, 2, 32,
10094 8,
10095 OPC_CheckPatternPredicate6,
10096 OPC_EmitMergeInputChains1_0,
10097 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH_MM),
10098 MVT::v2i16, 2, 32,
10099 0,
10100 43,
10101 OPC_CheckChild1Integer, 121|128,66|128,0,
10102 OPC_RecordChild2,
10103 OPC_RecordChild3,
10104 OPC_Scope, 16,
10105 OPC_MoveChild3,
10106 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10107 OPC_CheckPredicate, 15,
10108 OPC_MoveParent,
10109 OPC_CheckPatternPredicate1,
10110 OPC_EmitMergeInputChains1_0,
10111 OPC_EmitConvertToTarget2,
10112 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_PH),
10113 MVT::v2i16, 2, 50,
10114 8,
10115 OPC_CheckPatternPredicate1,
10116 OPC_EmitMergeInputChains1_0,
10117 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH),
10118 MVT::v2i16, 2, 32,
10119 8,
10120 OPC_CheckPatternPredicate6,
10121 OPC_EmitMergeInputChains1_0,
10122 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH_MM),
10123 MVT::v2i16, 2, 32,
10124 0,
10125 43,
10126 OPC_CheckChild1Integer, 122|128,66|128,0,
10127 OPC_RecordChild2,
10128 OPC_RecordChild3,
10129 OPC_Scope, 16,
10130 OPC_MoveChild3,
10131 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10132 OPC_CheckPredicate, 18,
10133 OPC_MoveParent,
10134 OPC_CheckPatternPredicate1,
10135 OPC_EmitMergeInputChains1_0,
10136 OPC_EmitConvertToTarget2,
10137 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_QB),
10138 MVT::v4i8, 2, 50,
10139 8,
10140 OPC_CheckPatternPredicate1,
10141 OPC_EmitMergeInputChains1_0,
10142 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB),
10143 MVT::v4i8, 2, 32,
10144 8,
10145 OPC_CheckPatternPredicate6,
10146 OPC_EmitMergeInputChains1_0,
10147 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB_MM),
10148 MVT::v4i8, 2, 32,
10149 0,
10150 24,
10151 OPC_CheckChild1Integer, 79|128,62,
10152 OPC_RecordChild2,
10153 OPC_Scope, 8,
10154 OPC_CheckPatternPredicate1,
10155 OPC_EmitMergeInputChains1_0,
10156 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH),
10157 MVT::v2i16, 1, 17,
10158 8,
10159 OPC_CheckPatternPredicate6,
10160 OPC_EmitMergeInputChains1_0,
10161 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH_MM),
10162 MVT::v2i16, 1, 17,
10163 0,
10164 26,
10165 OPC_CheckChild1Integer, 102|128,66|128,0,
10166 OPC_RecordChild2,
10167 OPC_RecordChild3,
10168 OPC_Scope, 8,
10169 OPC_CheckPatternPredicate1,
10170 OPC_EmitMergeInputChains1_0,
10171 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W),
10172 MVT::v2i16, 2, 32,
10173 8,
10174 OPC_CheckPatternPredicate6,
10175 OPC_EmitMergeInputChains1_0,
10176 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W_MM),
10177 MVT::v2i16, 2, 32,
10178 0,
10179 26,
10180 OPC_CheckChild1Integer, 103|128,66|128,0,
10181 OPC_RecordChild2,
10182 OPC_RecordChild3,
10183 OPC_Scope, 8,
10184 OPC_CheckPatternPredicate1,
10185 OPC_EmitMergeInputChains1_0,
10186 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH),
10187 MVT::v4i8, 2, 32,
10188 8,
10189 OPC_CheckPatternPredicate6,
10190 OPC_EmitMergeInputChains1_0,
10191 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH_MM),
10192 MVT::v4i8, 2, 32,
10193 0,
10194 26,
10195 OPC_CheckChild1Integer, 44|128,66|128,0,
10196 OPC_RecordChild2,
10197 OPC_RecordChild3,
10198 OPC_Scope, 8,
10199 OPC_CheckPatternPredicate1,
10200 OPC_EmitMergeInputChains1_0,
10201 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL),
10202 MVT::v2i16, 2, 32,
10203 8,
10204 OPC_CheckPatternPredicate6,
10205 OPC_EmitMergeInputChains1_0,
10206 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL_MM),
10207 MVT::v2i16, 2, 32,
10208 0,
10209 26,
10210 OPC_CheckChild1Integer, 45|128,66|128,0,
10211 OPC_RecordChild2,
10212 OPC_RecordChild3,
10213 OPC_Scope, 8,
10214 OPC_CheckPatternPredicate1,
10215 OPC_EmitMergeInputChains1_0,
10216 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR),
10217 MVT::v2i16, 2, 32,
10218 8,
10219 OPC_CheckPatternPredicate6,
10220 OPC_EmitMergeInputChains1_0,
10221 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR_MM),
10222 MVT::v2i16, 2, 32,
10223 0,
10224 26,
10225 OPC_CheckChild1Integer, 46|128,66|128,0,
10226 OPC_RecordChild2,
10227 OPC_RecordChild3,
10228 OPC_Scope, 8,
10229 OPC_CheckPatternPredicate1,
10230 OPC_EmitMergeInputChains1_0,
10231 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH),
10232 MVT::v2i16, 2, 32,
10233 8,
10234 OPC_CheckPatternPredicate6,
10235 OPC_EmitMergeInputChains1_0,
10236 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH_MM),
10237 MVT::v2i16, 2, 32,
10238 0,
10239 26,
10240 OPC_CheckChild1Integer, 86|128,66|128,0,
10241 OPC_RecordChild2,
10242 OPC_RecordChild3,
10243 OPC_Scope, 8,
10244 OPC_CheckPatternPredicate1,
10245 OPC_EmitMergeInputChains1_0,
10246 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB),
10247 MVT::v4i8, 2, 32,
10248 8,
10249 OPC_CheckPatternPredicate6,
10250 OPC_EmitMergeInputChains1_0,
10251 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB_MM),
10252 MVT::v4i8, 2, 32,
10253 0,
10254 26,
10255 OPC_CheckChild1Integer, 85|128,66|128,0,
10256 OPC_RecordChild2,
10257 OPC_RecordChild3,
10258 OPC_Scope, 8,
10259 OPC_CheckPatternPredicate1,
10260 OPC_EmitMergeInputChains1_0,
10261 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH),
10262 MVT::v2i16, 2, 32,
10263 8,
10264 OPC_CheckPatternPredicate6,
10265 OPC_EmitMergeInputChains1_0,
10266 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH_MM),
10267 MVT::v2i16, 2, 32,
10268 0,
10269 27,
10270 OPC_CheckChild1Integer, 106|128,62,
10271 OPC_RecordChild2,
10272 OPC_RecordChild3,
10273 OPC_Scope, 9,
10274 OPC_CheckPatternPredicate, 13,
10275 OPC_EmitMergeInputChains1_0,
10276 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH),
10277 MVT::v2i16, 2, 32,
10278 9,
10279 OPC_CheckPatternPredicate, 14,
10280 OPC_EmitMergeInputChains1_0,
10281 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH_MMR2),
10282 MVT::v2i16, 2, 32,
10283 0,
10284 27,
10285 OPC_CheckChild1Integer, 108|128,62,
10286 OPC_RecordChild2,
10287 OPC_RecordChild3,
10288 OPC_Scope, 9,
10289 OPC_CheckPatternPredicate, 13,
10290 OPC_EmitMergeInputChains1_0,
10291 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH),
10292 MVT::v2i16, 2, 32,
10293 9,
10294 OPC_CheckPatternPredicate, 14,
10295 OPC_EmitMergeInputChains1_0,
10296 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH_MMR2),
10297 MVT::v2i16, 2, 32,
10298 0,
10299 28,
10300 OPC_CheckChild1Integer, 89|128,67|128,0,
10301 OPC_RecordChild2,
10302 OPC_RecordChild3,
10303 OPC_Scope, 9,
10304 OPC_CheckPatternPredicate, 13,
10305 OPC_EmitMergeInputChains1_0,
10306 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH),
10307 MVT::v2i16, 2, 32,
10308 9,
10309 OPC_CheckPatternPredicate, 14,
10310 OPC_EmitMergeInputChains1_0,
10311 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH_MMR2),
10312 MVT::v2i16, 2, 32,
10313 0,
10314 28,
10315 OPC_CheckChild1Integer, 91|128,67|128,0,
10316 OPC_RecordChild2,
10317 OPC_RecordChild3,
10318 OPC_Scope, 9,
10319 OPC_CheckPatternPredicate, 13,
10320 OPC_EmitMergeInputChains1_0,
10321 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH),
10322 MVT::v2i16, 2, 32,
10323 9,
10324 OPC_CheckPatternPredicate, 14,
10325 OPC_EmitMergeInputChains1_0,
10326 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH_MMR2),
10327 MVT::v2i16, 2, 32,
10328 0,
10329 26,
10330 OPC_CheckChild1Integer, 80|128,62,
10331 OPC_RecordChild2,
10332 OPC_Scope, 9,
10333 OPC_CheckPatternPredicate, 13,
10334 OPC_EmitMergeInputChains1_0,
10335 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB),
10336 MVT::v4i8, 1, 17,
10337 9,
10338 OPC_CheckPatternPredicate, 14,
10339 OPC_EmitMergeInputChains1_0,
10340 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB_MMR2),
10341 MVT::v4i8, 1, 17,
10342 0,
10343 28,
10344 OPC_CheckChild1Integer, 41|128,66|128,0,
10345 OPC_RecordChild2,
10346 OPC_RecordChild3,
10347 OPC_Scope, 9,
10348 OPC_CheckPatternPredicate, 13,
10349 OPC_EmitMergeInputChains1_0,
10350 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH),
10351 MVT::v2i16, 2, 32,
10352 9,
10353 OPC_CheckPatternPredicate, 14,
10354 OPC_EmitMergeInputChains1_0,
10355 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH_MMR2),
10356 MVT::v2i16, 2, 32,
10357 0,
10358 28,
10359 OPC_CheckChild1Integer, 48|128,66|128,0,
10360 OPC_RecordChild2,
10361 OPC_RecordChild3,
10362 OPC_Scope, 9,
10363 OPC_CheckPatternPredicate, 13,
10364 OPC_EmitMergeInputChains1_0,
10365 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH),
10366 MVT::v2i16, 2, 32,
10367 9,
10368 OPC_CheckPatternPredicate, 14,
10369 OPC_EmitMergeInputChains1_0,
10370 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH_MMR2),
10371 MVT::v2i16, 2, 32,
10372 0,
10373 28,
10374 OPC_CheckChild1Integer, 97|128,66|128,0,
10375 OPC_RecordChild2,
10376 OPC_RecordChild3,
10377 OPC_Scope, 9,
10378 OPC_CheckPatternPredicate, 13,
10379 OPC_EmitMergeInputChains1_0,
10380 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH),
10381 MVT::v4i8, 2, 32,
10382 9,
10383 OPC_CheckPatternPredicate, 14,
10384 OPC_EmitMergeInputChains1_0,
10385 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH_MMR2),
10386 MVT::v4i8, 2, 32,
10387 0,
10388 15,
10389 OPC_CheckChild1Integer, 38|128,66|128,0,
10390 OPC_RecordChild2,
10391 OPC_RecordChild3,
10392 OPC_CheckPatternPredicate, 13,
10393 OPC_EmitMergeInputChains1_0,
10394 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_PH),
10395 MVT::v2i16, 2, 32,
10396 15,
10397 OPC_CheckChild1Integer, 86|128,65|128,0,
10398 OPC_RecordChild2,
10399 OPC_RecordChild3,
10400 OPC_CheckPatternPredicate, 11,
10401 OPC_EmitMergeInputChains1_0,
10402 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_D),
10403 MVT::v2i64, 2, 32,
10404 15,
10405 OPC_CheckChild1Integer, 87|128,65|128,0,
10406 OPC_RecordChild2,
10407 OPC_RecordChild3,
10408 OPC_CheckPatternPredicate, 11,
10409 OPC_EmitMergeInputChains1_0,
10410 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_W),
10411 MVT::v4i32, 2, 32,
10412 0,
10413 96|128,34, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
10414 OPC_Scope, 51,
10415 OPC_CheckChild0Integer, 1|128,67|128,0,
10416 OPC_RecordChild1,
10417 OPC_RecordChild2,
10418 OPC_Scope, 26,
10419 OPC_MoveChild2,
10420 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10421 OPC_CheckPredicate3,
10422 OPC_MoveParent,
10423 OPC_Scope, 8,
10424 OPC_CheckPatternPredicate1,
10425 OPC_EmitConvertToTarget1,
10426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W),
10427 MVT::i32, 2, 29,
10428 8,
10429 OPC_CheckPatternPredicate6,
10430 OPC_EmitConvertToTarget1,
10431 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W_MM),
10432 MVT::i32, 2, 29,
10433 0,
10434 7,
10435 OPC_CheckPatternPredicate1,
10436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W),
10437 MVT::i32, 2, 16,
10438 7,
10439 OPC_CheckPatternPredicate6,
10440 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W_MM),
10441 MVT::i32, 2, 16,
10442 0,
10443 32,
10444 OPC_CheckChild0Integer, 123|128,62,
10445 OPC_RecordChild1,
10446 OPC_RecordChild2,
10447 OPC_RecordChild3,
10448 OPC_MoveChild3,
10449 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10450 OPC_CheckPredicate3,
10451 OPC_MoveParent,
10452 OPC_Scope, 8,
10453 OPC_CheckPatternPredicate, 13,
10454 OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND),
10455 MVT::i32, 3, 9,
10456 8,
10457 OPC_CheckPatternPredicate, 14,
10458 OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND_MMR2),
10459 MVT::i32, 3, 9,
10460 0,
10461 38,
10462 OPC_CheckChild0Integer, 20|128,63,
10463 OPC_RecordChild1,
10464 OPC_RecordChild2,
10465 OPC_RecordChild3,
10466 OPC_MoveChild3,
10467 OPC_SwitchOpcode , 11, TARGET_VAL(ISD::TargetConstant),
10468 OPC_CheckPredicate, 22,
10469 OPC_MoveParent,
10470 OPC_CheckPatternPredicate, 13,
10471 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN),
10472 MVT::i32, 3, 9,
10473 12, TARGET_VAL(ISD::Constant),
10474 OPC_CheckPredicate, 22,
10475 OPC_MoveParent,
10476 OPC_CheckPatternPredicate, 14,
10477 OPC_EmitConvertToTarget2,
10478 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN_MMR2),
10479 MVT::i32, 3, 12,
10480 0,
10481 33,
10482 OPC_CheckChild0Integer, 104|128,66|128,0,
10483 OPC_RecordChild1,
10484 OPC_RecordChild2,
10485 OPC_RecordChild3,
10486 OPC_MoveChild3,
10487 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10488 OPC_CheckPredicate3,
10489 OPC_MoveParent,
10490 OPC_Scope, 8,
10491 OPC_CheckPatternPredicate, 13,
10492 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND),
10493 MVT::i32, 3, 9,
10494 8,
10495 OPC_CheckPatternPredicate, 14,
10496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND_MMR2),
10497 MVT::i32, 3, 9,
10498 0,
10499 24,
10500 OPC_CheckChild0Integer, 25|128,66|128,0,
10501 OPC_RecordChild1,
10502 OPC_RecordChild2,
10503 OPC_Scope, 7,
10504 OPC_CheckPatternPredicate1,
10505 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB),
10506 MVT::i32, 2, 16,
10507 7,
10508 OPC_CheckPatternPredicate6,
10509 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB_MM),
10510 MVT::i32, 2, 16,
10511 0,
10512 23,
10513 OPC_CheckChild0Integer, 105|128,66|128,0,
10514 OPC_RecordChild1,
10515 OPC_Scope, 7,
10516 OPC_CheckPatternPredicate1,
10517 OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB),
10518 MVT::i32, 1, 1,
10519 7,
10520 OPC_CheckPatternPredicate6,
10521 OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB_MM),
10522 MVT::i32, 1, 1,
10523 0,
10524 23,
10525 OPC_CheckChild0Integer, 87|128,66|128,0,
10526 OPC_RecordChild1,
10527 OPC_Scope, 7,
10528 OPC_CheckPatternPredicate1,
10529 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL),
10530 MVT::i32, 1, 1,
10531 7,
10532 OPC_CheckPatternPredicate6,
10533 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL_MM),
10534 MVT::i32, 1, 1,
10535 0,
10536 23,
10537 OPC_CheckChild0Integer, 88|128,66|128,0,
10538 OPC_RecordChild1,
10539 OPC_Scope, 7,
10540 OPC_CheckPatternPredicate1,
10541 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR),
10542 MVT::i32, 1, 1,
10543 7,
10544 OPC_CheckPatternPredicate6,
10545 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR_MM),
10546 MVT::i32, 1, 1,
10547 0,
10548 22,
10549 OPC_CheckChild0Integer, 45|128,63,
10550 OPC_RecordChild1,
10551 OPC_Scope, 7,
10552 OPC_CheckPatternPredicate1,
10553 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV),
10554 MVT::i32, 1, 1,
10555 7,
10556 OPC_CheckPatternPredicate6,
10557 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV_MM),
10558 MVT::i32, 1, 1,
10559 0,
10560 25,
10561 OPC_CheckChild0Integer, 92|128,62,
10562 OPC_RecordChild1,
10563 OPC_RecordChild2,
10564 OPC_Scope, 8,
10565 OPC_CheckPatternPredicate, 13,
10566 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W),
10567 MVT::i32, 2, 16,
10568 8,
10569 OPC_CheckPatternPredicate, 14,
10570 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W_MMR2),
10571 MVT::i32, 2, 16,
10572 0,
10573 25,
10574 OPC_CheckChild0Integer, 91|128,62,
10575 OPC_RecordChild1,
10576 OPC_RecordChild2,
10577 OPC_Scope, 8,
10578 OPC_CheckPatternPredicate, 13,
10579 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W),
10580 MVT::i32, 2, 16,
10581 8,
10582 OPC_CheckPatternPredicate, 14,
10583 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W_MMR2),
10584 MVT::i32, 2, 16,
10585 0,
10586 26,
10587 OPC_CheckChild0Integer, 72|128,67|128,0,
10588 OPC_RecordChild1,
10589 OPC_RecordChild2,
10590 OPC_Scope, 8,
10591 OPC_CheckPatternPredicate, 13,
10592 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W),
10593 MVT::i32, 2, 16,
10594 8,
10595 OPC_CheckPatternPredicate, 14,
10596 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W_MMR2),
10597 MVT::i32, 2, 16,
10598 0,
10599 26,
10600 OPC_CheckChild0Integer, 71|128,67|128,0,
10601 OPC_RecordChild1,
10602 OPC_RecordChild2,
10603 OPC_Scope, 8,
10604 OPC_CheckPatternPredicate, 13,
10605 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W),
10606 MVT::i32, 2, 16,
10607 8,
10608 OPC_CheckPatternPredicate, 14,
10609 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W_MMR2),
10610 MVT::i32, 2, 16,
10611 0,
10612 52,
10613 OPC_CheckChild0Integer, 127|128,66|128,0,
10614 OPC_RecordChild1,
10615 OPC_RecordChild2,
10616 OPC_Scope, 27,
10617 OPC_MoveChild2,
10618 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10619 OPC_CheckPredicate, 15,
10620 OPC_MoveParent,
10621 OPC_Scope, 8,
10622 OPC_CheckPatternPredicate1,
10623 OPC_EmitConvertToTarget1,
10624 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH),
10625 MVT::v2i16, 2, 29,
10626 8,
10627 OPC_CheckPatternPredicate6,
10628 OPC_EmitConvertToTarget1,
10629 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH_MM),
10630 MVT::v2i16, 2, 29,
10631 0,
10632 7,
10633 OPC_CheckPatternPredicate1,
10634 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH),
10635 MVT::v2i16, 2, 16,
10636 7,
10637 OPC_CheckPatternPredicate6,
10638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH_MM),
10639 MVT::v2i16, 2, 16,
10640 0,
10641 51,
10642 OPC_CheckChild0Integer, 108|128,66|128,0,
10643 OPC_RecordChild1,
10644 OPC_Scope, 27,
10645 OPC_MoveChild1,
10646 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10647 OPC_CheckPredicate, 47,
10648 OPC_MoveParent,
10649 OPC_Scope, 8,
10650 OPC_CheckPatternPredicate1,
10651 OPC_EmitConvertToTarget0,
10652 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB),
10653 MVT::v4i8, 1, 17,
10654 8,
10655 OPC_CheckPatternPredicate6,
10656 OPC_EmitConvertToTarget0,
10657 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB_MM),
10658 MVT::v4i8, 1, 17,
10659 0,
10660 7,
10661 OPC_CheckPatternPredicate1,
10662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB),
10663 MVT::v4i8, 1, 1,
10664 7,
10665 OPC_CheckPatternPredicate6,
10666 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB_MM),
10667 MVT::v4i8, 1, 1,
10668 0,
10669 51,
10670 OPC_CheckChild0Integer, 107|128,66|128,0,
10671 OPC_RecordChild1,
10672 OPC_Scope, 27,
10673 OPC_MoveChild1,
10674 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10675 OPC_CheckPredicate, 53,
10676 OPC_MoveParent,
10677 OPC_Scope, 8,
10678 OPC_CheckPatternPredicate1,
10679 OPC_EmitConvertToTarget0,
10680 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH),
10681 MVT::v2i16, 1, 17,
10682 8,
10683 OPC_CheckPatternPredicate6,
10684 OPC_EmitConvertToTarget0,
10685 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH_MM),
10686 MVT::v2i16, 1, 17,
10687 0,
10688 7,
10689 OPC_CheckPatternPredicate1,
10690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH),
10691 MVT::v2i16, 1, 1,
10692 7,
10693 OPC_CheckPatternPredicate6,
10694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH_MM),
10695 MVT::v2i16, 1, 1,
10696 0,
10697 33,
10698 OPC_CheckChild0Integer, 98|128,66|128,0,
10699 OPC_RecordChild1,
10700 OPC_RecordChild2,
10701 OPC_RecordChild3,
10702 OPC_MoveChild3,
10703 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10704 OPC_CheckPredicate3,
10705 OPC_MoveParent,
10706 OPC_Scope, 8,
10707 OPC_CheckPatternPredicate, 13,
10708 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W),
10709 MVT::v2i16, 3, 9,
10710 8,
10711 OPC_CheckPatternPredicate, 14,
10712 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W_MMR2),
10713 MVT::v2i16, 3, 9,
10714 0,
10715 33,
10716 OPC_CheckChild0Integer, 99|128,66|128,0,
10717 OPC_RecordChild1,
10718 OPC_RecordChild2,
10719 OPC_RecordChild3,
10720 OPC_MoveChild3,
10721 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10722 OPC_CheckPredicate3,
10723 OPC_MoveParent,
10724 OPC_Scope, 8,
10725 OPC_CheckPatternPredicate, 13,
10726 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W),
10727 MVT::v2i16, 3, 9,
10728 8,
10729 OPC_CheckPatternPredicate, 14,
10730 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W_MMR2),
10731 MVT::v2i16, 3, 9,
10732 0,
10733 56,
10734 OPC_CheckChild0Integer, 0|128,67|128,0,
10735 OPC_RecordChild1,
10736 OPC_RecordChild2,
10737 OPC_Scope, 29,
10738 OPC_MoveChild2,
10739 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10740 OPC_CheckPredicate, 18,
10741 OPC_MoveParent,
10742 OPC_Scope, 9,
10743 OPC_CheckPatternPredicate, 13,
10744 OPC_EmitConvertToTarget1,
10745 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB),
10746 MVT::v4i8, 2, 29,
10747 9,
10748 OPC_CheckPatternPredicate, 14,
10749 OPC_EmitConvertToTarget1,
10750 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB_MMR2),
10751 MVT::v4i8, 2, 29,
10752 0,
10753 8,
10754 OPC_CheckPatternPredicate, 13,
10755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB),
10756 MVT::v4i8, 2, 16,
10757 8,
10758 OPC_CheckPatternPredicate, 14,
10759 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB_MMR2),
10760 MVT::v4i8, 2, 16,
10761 0,
10762 40,
10763 OPC_CheckChild0Integer, 125|128,66|128,0,
10764 OPC_RecordChild1,
10765 OPC_RecordChild2,
10766 OPC_Scope, 15,
10767 OPC_MoveChild2,
10768 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10769 OPC_CheckPredicate, 15,
10770 OPC_MoveParent,
10771 OPC_CheckPatternPredicate1,
10772 OPC_EmitConvertToTarget1,
10773 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
10774 MVT::v2i16, 2, 29,
10775 7,
10776 OPC_CheckPatternPredicate1,
10777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH),
10778 MVT::v2i16, 2, 16,
10779 7,
10780 OPC_CheckPatternPredicate6,
10781 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH_MM),
10782 MVT::v2i16, 2, 16,
10783 0,
10784 43,
10785 OPC_CheckChild0Integer, 2|128,67|128,0,
10786 OPC_RecordChild1,
10787 OPC_RecordChild2,
10788 OPC_Scope, 16,
10789 OPC_MoveChild2,
10790 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10791 OPC_CheckPredicate, 15,
10792 OPC_MoveParent,
10793 OPC_CheckPatternPredicate, 13,
10794 OPC_EmitConvertToTarget1,
10795 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
10796 MVT::v2i16, 2, 29,
10797 8,
10798 OPC_CheckPatternPredicate, 13,
10799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH),
10800 MVT::v2i16, 2, 16,
10801 8,
10802 OPC_CheckPatternPredicate, 14,
10803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH_MMR2),
10804 MVT::v2i16, 2, 16,
10805 0,
10806 43,
10807 OPC_CheckChild0Integer, 126|128,66|128,0,
10808 OPC_RecordChild1,
10809 OPC_RecordChild2,
10810 OPC_Scope, 16,
10811 OPC_MoveChild2,
10812 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10813 OPC_CheckPredicate, 18,
10814 OPC_MoveParent,
10815 OPC_CheckPatternPredicate, 13,
10816 OPC_EmitConvertToTarget1,
10817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
10818 MVT::v4i8, 2, 29,
10819 8,
10820 OPC_CheckPatternPredicate, 13,
10821 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB),
10822 MVT::v4i8, 2, 16,
10823 8,
10824 OPC_CheckPatternPredicate, 14,
10825 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB_MMR2),
10826 MVT::v4i8, 2, 16,
10827 0,
10828 40,
10829 OPC_CheckChild0Integer, 3|128,67|128,0,
10830 OPC_RecordChild1,
10831 OPC_RecordChild2,
10832 OPC_Scope, 15,
10833 OPC_MoveChild2,
10834 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10835 OPC_CheckPredicate, 18,
10836 OPC_MoveParent,
10837 OPC_CheckPatternPredicate1,
10838 OPC_EmitConvertToTarget1,
10839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
10840 MVT::v4i8, 2, 29,
10841 7,
10842 OPC_CheckPatternPredicate1,
10843 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB),
10844 MVT::v4i8, 2, 16,
10845 7,
10846 OPC_CheckPatternPredicate6,
10847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB_MM),
10848 MVT::v4i8, 2, 16,
10849 0,
10850 20,
10851 OPC_CheckChild0Integer, 109|128,66|128,0,
10852 OPC_RecordChild1,
10853 OPC_RecordChild2,
10854 OPC_MoveChild2,
10855 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10856 OPC_CheckPredicate, 18,
10857 OPC_MoveParent,
10858 OPC_CheckPatternPredicate0,
10859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_B),
10860 MVT::v16i8, 2, 16,
10861 20,
10862 OPC_CheckChild0Integer, 111|128,66|128,0,
10863 OPC_RecordChild1,
10864 OPC_RecordChild2,
10865 OPC_MoveChild2,
10866 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10867 OPC_CheckPredicate, 15,
10868 OPC_MoveParent,
10869 OPC_CheckPatternPredicate0,
10870 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_H),
10871 MVT::v8i16, 2, 16,
10872 19,
10873 OPC_CheckChild0Integer, 112|128,66|128,0,
10874 OPC_RecordChild1,
10875 OPC_RecordChild2,
10876 OPC_MoveChild2,
10877 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10878 OPC_CheckPredicate3,
10879 OPC_MoveParent,
10880 OPC_CheckPatternPredicate0,
10881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_W),
10882 MVT::v4i32, 2, 16,
10883 20,
10884 OPC_CheckChild0Integer, 110|128,66|128,0,
10885 OPC_RecordChild1,
10886 OPC_RecordChild2,
10887 OPC_MoveChild2,
10888 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10889 OPC_CheckPredicate, 16,
10890 OPC_MoveParent,
10891 OPC_CheckPatternPredicate0,
10892 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_D),
10893 MVT::v2i64, 2, 16,
10894 20,
10895 OPC_CheckChild0Integer, 113|128,66|128,0,
10896 OPC_RecordChild1,
10897 OPC_RecordChild2,
10898 OPC_MoveChild2,
10899 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10900 OPC_CheckPredicate, 18,
10901 OPC_MoveParent,
10902 OPC_CheckPatternPredicate0,
10903 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_B),
10904 MVT::v16i8, 2, 16,
10905 20,
10906 OPC_CheckChild0Integer, 115|128,66|128,0,
10907 OPC_RecordChild1,
10908 OPC_RecordChild2,
10909 OPC_MoveChild2,
10910 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10911 OPC_CheckPredicate, 15,
10912 OPC_MoveParent,
10913 OPC_CheckPatternPredicate0,
10914 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_H),
10915 MVT::v8i16, 2, 16,
10916 19,
10917 OPC_CheckChild0Integer, 116|128,66|128,0,
10918 OPC_RecordChild1,
10919 OPC_RecordChild2,
10920 OPC_MoveChild2,
10921 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10922 OPC_CheckPredicate3,
10923 OPC_MoveParent,
10924 OPC_CheckPatternPredicate0,
10925 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_W),
10926 MVT::v4i32, 2, 16,
10927 20,
10928 OPC_CheckChild0Integer, 114|128,66|128,0,
10929 OPC_RecordChild1,
10930 OPC_RecordChild2,
10931 OPC_MoveChild2,
10932 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10933 OPC_CheckPredicate, 16,
10934 OPC_MoveParent,
10935 OPC_CheckPatternPredicate0,
10936 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_D),
10937 MVT::v2i64, 2, 16,
10938 21,
10939 OPC_CheckChild0Integer, 8|128,67|128,0,
10940 OPC_RecordChild1,
10941 OPC_RecordChild2,
10942 OPC_RecordChild3,
10943 OPC_MoveChild3,
10944 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10945 OPC_CheckPredicate, 15,
10946 OPC_MoveParent,
10947 OPC_CheckPatternPredicate0,
10948 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_B),
10949 MVT::v16i8, 3, 31,
10950 21,
10951 OPC_CheckChild0Integer, 10|128,67|128,0,
10952 OPC_RecordChild1,
10953 OPC_RecordChild2,
10954 OPC_RecordChild3,
10955 OPC_MoveChild3,
10956 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10957 OPC_CheckPredicate, 18,
10958 OPC_MoveParent,
10959 OPC_CheckPatternPredicate0,
10960 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_H),
10961 MVT::v8i16, 3, 31,
10962 21,
10963 OPC_CheckChild0Integer, 11|128,67|128,0,
10964 OPC_RecordChild1,
10965 OPC_RecordChild2,
10966 OPC_RecordChild3,
10967 OPC_MoveChild3,
10968 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10969 OPC_CheckPredicate, 22,
10970 OPC_MoveParent,
10971 OPC_CheckPatternPredicate0,
10972 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_W),
10973 MVT::v4i32, 3, 31,
10974 21,
10975 OPC_CheckChild0Integer, 9|128,67|128,0,
10976 OPC_RecordChild1,
10977 OPC_RecordChild2,
10978 OPC_RecordChild3,
10979 OPC_MoveChild3,
10980 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10981 OPC_CheckPredicate, 26,
10982 OPC_MoveParent,
10983 OPC_CheckPatternPredicate0,
10984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_D),
10985 MVT::v2i64, 3, 31,
10986 20,
10987 OPC_CheckChild0Integer, 40|128,67|128,0,
10988 OPC_RecordChild1,
10989 OPC_RecordChild2,
10990 OPC_MoveChild2,
10991 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10992 OPC_CheckPredicate, 18,
10993 OPC_MoveParent,
10994 OPC_CheckPatternPredicate0,
10995 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_B),
10996 MVT::v16i8, 2, 16,
10997 20,
10998 OPC_CheckChild0Integer, 42|128,67|128,0,
10999 OPC_RecordChild1,
11000 OPC_RecordChild2,
11001 OPC_MoveChild2,
11002 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11003 OPC_CheckPredicate, 15,
11004 OPC_MoveParent,
11005 OPC_CheckPatternPredicate0,
11006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_H),
11007 MVT::v8i16, 2, 16,
11008 19,
11009 OPC_CheckChild0Integer, 43|128,67|128,0,
11010 OPC_RecordChild1,
11011 OPC_RecordChild2,
11012 OPC_MoveChild2,
11013 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11014 OPC_CheckPredicate3,
11015 OPC_MoveParent,
11016 OPC_CheckPatternPredicate0,
11017 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_W),
11018 MVT::v4i32, 2, 16,
11019 20,
11020 OPC_CheckChild0Integer, 41|128,67|128,0,
11021 OPC_RecordChild1,
11022 OPC_RecordChild2,
11023 OPC_MoveChild2,
11024 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11025 OPC_CheckPredicate, 16,
11026 OPC_MoveParent,
11027 OPC_CheckPatternPredicate0,
11028 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_D),
11029 MVT::v2i64, 2, 16,
11030 20,
11031 OPC_CheckChild0Integer, 56|128,67|128,0,
11032 OPC_RecordChild1,
11033 OPC_RecordChild2,
11034 OPC_MoveChild2,
11035 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11036 OPC_CheckPredicate, 18,
11037 OPC_MoveParent,
11038 OPC_CheckPatternPredicate0,
11039 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_B),
11040 MVT::v16i8, 2, 16,
11041 20,
11042 OPC_CheckChild0Integer, 58|128,67|128,0,
11043 OPC_RecordChild1,
11044 OPC_RecordChild2,
11045 OPC_MoveChild2,
11046 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11047 OPC_CheckPredicate, 15,
11048 OPC_MoveParent,
11049 OPC_CheckPatternPredicate0,
11050 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_H),
11051 MVT::v8i16, 2, 16,
11052 19,
11053 OPC_CheckChild0Integer, 59|128,67|128,0,
11054 OPC_RecordChild1,
11055 OPC_RecordChild2,
11056 OPC_MoveChild2,
11057 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11058 OPC_CheckPredicate3,
11059 OPC_MoveParent,
11060 OPC_CheckPatternPredicate0,
11061 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_W),
11062 MVT::v4i32, 2, 16,
11063 20,
11064 OPC_CheckChild0Integer, 57|128,67|128,0,
11065 OPC_RecordChild1,
11066 OPC_RecordChild2,
11067 OPC_MoveChild2,
11068 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11069 OPC_CheckPredicate, 16,
11070 OPC_MoveParent,
11071 OPC_CheckPatternPredicate0,
11072 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_D),
11073 MVT::v2i64, 2, 16,
11074 23,
11075 OPC_CheckChild0Integer, 109|128,62,
11076 OPC_RecordChild1,
11077 OPC_RecordChild2,
11078 OPC_Scope, 7,
11079 OPC_CheckPatternPredicate1,
11080 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB),
11081 MVT::v4i8, 2, 16,
11082 7,
11083 OPC_CheckPatternPredicate6,
11084 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB_MM),
11085 MVT::v4i8, 2, 16,
11086 0,
11087 24,
11088 OPC_CheckChild0Integer, 92|128,67|128,0,
11089 OPC_RecordChild1,
11090 OPC_RecordChild2,
11091 OPC_Scope, 7,
11092 OPC_CheckPatternPredicate1,
11093 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB),
11094 MVT::v4i8, 2, 16,
11095 7,
11096 OPC_CheckPatternPredicate6,
11097 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB_MM),
11098 MVT::v4i8, 2, 16,
11099 0,
11100 23,
11101 OPC_CheckChild0Integer, 87|128,62,
11102 OPC_RecordChild1,
11103 OPC_RecordChild2,
11104 OPC_Scope, 7,
11105 OPC_CheckPatternPredicate1,
11106 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH),
11107 MVT::v2i16, 2, 16,
11108 7,
11109 OPC_CheckPatternPredicate6,
11110 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH_MM),
11111 MVT::v2i16, 2, 16,
11112 0,
11113 24,
11114 OPC_CheckChild0Integer, 67|128,67|128,0,
11115 OPC_RecordChild1,
11116 OPC_RecordChild2,
11117 OPC_Scope, 7,
11118 OPC_CheckPatternPredicate1,
11119 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH),
11120 MVT::v2i16, 2, 16,
11121 7,
11122 OPC_CheckPatternPredicate6,
11123 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH_MM),
11124 MVT::v2i16, 2, 16,
11125 0,
11126 24,
11127 OPC_CheckChild0Integer, 101|128,66|128,0,
11128 OPC_RecordChild1,
11129 OPC_RecordChild2,
11130 OPC_Scope, 7,
11131 OPC_CheckPatternPredicate1,
11132 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH),
11133 MVT::v4i8, 2, 16,
11134 7,
11135 OPC_CheckPatternPredicate6,
11136 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH_MM),
11137 MVT::v4i8, 2, 16,
11138 0,
11139 24,
11140 OPC_CheckChild0Integer, 100|128,66|128,0,
11141 OPC_RecordChild1,
11142 OPC_RecordChild2,
11143 OPC_Scope, 7,
11144 OPC_CheckPatternPredicate1,
11145 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W),
11146 MVT::v2i16, 2, 16,
11147 7,
11148 OPC_CheckPatternPredicate6,
11149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W_MM),
11150 MVT::v2i16, 2, 16,
11151 0,
11152 23,
11153 OPC_CheckChild0Integer, 89|128,66|128,0,
11154 OPC_RecordChild1,
11155 OPC_Scope, 7,
11156 OPC_CheckPatternPredicate1,
11157 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL),
11158 MVT::v2i16, 1, 1,
11159 7,
11160 OPC_CheckPatternPredicate6,
11161 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL_MM),
11162 MVT::v2i16, 1, 1,
11163 0,
11164 23,
11165 OPC_CheckChild0Integer, 91|128,66|128,0,
11166 OPC_RecordChild1,
11167 OPC_Scope, 7,
11168 OPC_CheckPatternPredicate1,
11169 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR),
11170 MVT::v2i16, 1, 1,
11171 7,
11172 OPC_CheckPatternPredicate6,
11173 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR_MM),
11174 MVT::v2i16, 1, 1,
11175 0,
11176 23,
11177 OPC_CheckChild0Integer, 90|128,66|128,0,
11178 OPC_RecordChild1,
11179 OPC_Scope, 7,
11180 OPC_CheckPatternPredicate1,
11181 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA),
11182 MVT::v2i16, 1, 1,
11183 7,
11184 OPC_CheckPatternPredicate6,
11185 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA_MM),
11186 MVT::v2i16, 1, 1,
11187 0,
11188 23,
11189 OPC_CheckChild0Integer, 92|128,66|128,0,
11190 OPC_RecordChild1,
11191 OPC_Scope, 7,
11192 OPC_CheckPatternPredicate1,
11193 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA),
11194 MVT::v2i16, 1, 1,
11195 7,
11196 OPC_CheckPatternPredicate6,
11197 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA_MM),
11198 MVT::v2i16, 1, 1,
11199 0,
11200 23,
11201 OPC_CheckChild0Integer, 93|128,66|128,0,
11202 OPC_RecordChild1,
11203 OPC_Scope, 7,
11204 OPC_CheckPatternPredicate1,
11205 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL),
11206 MVT::v2i16, 1, 1,
11207 7,
11208 OPC_CheckPatternPredicate6,
11209 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL_MM),
11210 MVT::v2i16, 1, 1,
11211 0,
11212 23,
11213 OPC_CheckChild0Integer, 95|128,66|128,0,
11214 OPC_RecordChild1,
11215 OPC_Scope, 7,
11216 OPC_CheckPatternPredicate1,
11217 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR),
11218 MVT::v2i16, 1, 1,
11219 7,
11220 OPC_CheckPatternPredicate6,
11221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR_MM),
11222 MVT::v2i16, 1, 1,
11223 0,
11224 23,
11225 OPC_CheckChild0Integer, 94|128,66|128,0,
11226 OPC_RecordChild1,
11227 OPC_Scope, 7,
11228 OPC_CheckPatternPredicate1,
11229 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA),
11230 MVT::v2i16, 1, 1,
11231 7,
11232 OPC_CheckPatternPredicate6,
11233 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA_MM),
11234 MVT::v2i16, 1, 1,
11235 0,
11236 23,
11237 OPC_CheckChild0Integer, 96|128,66|128,0,
11238 OPC_RecordChild1,
11239 OPC_Scope, 7,
11240 OPC_CheckPatternPredicate1,
11241 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA),
11242 MVT::v2i16, 1, 1,
11243 7,
11244 OPC_CheckPatternPredicate6,
11245 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA_MM),
11246 MVT::v2i16, 1, 1,
11247 0,
11248 24,
11249 OPC_CheckChild0Integer, 72|128,66|128,0,
11250 OPC_RecordChild1,
11251 OPC_RecordChild2,
11252 OPC_Scope, 7,
11253 OPC_CheckPatternPredicate1,
11254 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH),
11255 MVT::v2i16, 2, 16,
11256 7,
11257 OPC_CheckPatternPredicate6,
11258 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH_MM),
11259 MVT::v2i16, 2, 16,
11260 0,
11261 25,
11262 OPC_CheckChild0Integer, 110|128,62,
11263 OPC_RecordChild1,
11264 OPC_RecordChild2,
11265 OPC_Scope, 8,
11266 OPC_CheckPatternPredicate, 13,
11267 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB),
11268 MVT::v4i8, 2, 16,
11269 8,
11270 OPC_CheckPatternPredicate, 14,
11271 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB_MMR2),
11272 MVT::v4i8, 2, 16,
11273 0,
11274 25,
11275 OPC_CheckChild0Integer, 111|128,62,
11276 OPC_RecordChild1,
11277 OPC_RecordChild2,
11278 OPC_Scope, 8,
11279 OPC_CheckPatternPredicate, 13,
11280 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB),
11281 MVT::v4i8, 2, 16,
11282 8,
11283 OPC_CheckPatternPredicate, 14,
11284 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB_MMR2),
11285 MVT::v4i8, 2, 16,
11286 0,
11287 26,
11288 OPC_CheckChild0Integer, 93|128,67|128,0,
11289 OPC_RecordChild1,
11290 OPC_RecordChild2,
11291 OPC_Scope, 8,
11292 OPC_CheckPatternPredicate, 13,
11293 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB),
11294 MVT::v4i8, 2, 16,
11295 8,
11296 OPC_CheckPatternPredicate, 14,
11297 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB_MMR2),
11298 MVT::v4i8, 2, 16,
11299 0,
11300 26,
11301 OPC_CheckChild0Integer, 94|128,67|128,0,
11302 OPC_RecordChild1,
11303 OPC_RecordChild2,
11304 OPC_Scope, 8,
11305 OPC_CheckPatternPredicate, 13,
11306 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB),
11307 MVT::v4i8, 2, 16,
11308 8,
11309 OPC_CheckPatternPredicate, 14,
11310 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB_MMR2),
11311 MVT::v4i8, 2, 16,
11312 0,
11313 25,
11314 OPC_CheckChild0Integer, 89|128,62,
11315 OPC_RecordChild1,
11316 OPC_RecordChild2,
11317 OPC_Scope, 8,
11318 OPC_CheckPatternPredicate, 13,
11319 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH),
11320 MVT::v2i16, 2, 16,
11321 8,
11322 OPC_CheckPatternPredicate, 14,
11323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH_MMR2),
11324 MVT::v2i16, 2, 16,
11325 0,
11326 25,
11327 OPC_CheckChild0Integer, 90|128,62,
11328 OPC_RecordChild1,
11329 OPC_RecordChild2,
11330 OPC_Scope, 8,
11331 OPC_CheckPatternPredicate, 13,
11332 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH),
11333 MVT::v2i16, 2, 16,
11334 8,
11335 OPC_CheckPatternPredicate, 14,
11336 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH_MMR2),
11337 MVT::v2i16, 2, 16,
11338 0,
11339 26,
11340 OPC_CheckChild0Integer, 69|128,67|128,0,
11341 OPC_RecordChild1,
11342 OPC_RecordChild2,
11343 OPC_Scope, 8,
11344 OPC_CheckPatternPredicate, 13,
11345 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH),
11346 MVT::v2i16, 2, 16,
11347 8,
11348 OPC_CheckPatternPredicate, 14,
11349 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH_MMR2),
11350 MVT::v2i16, 2, 16,
11351 0,
11352 26,
11353 OPC_CheckChild0Integer, 70|128,67|128,0,
11354 OPC_RecordChild1,
11355 OPC_RecordChild2,
11356 OPC_Scope, 8,
11357 OPC_CheckPatternPredicate, 13,
11358 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH),
11359 MVT::v2i16, 2, 16,
11360 8,
11361 OPC_CheckPatternPredicate, 14,
11362 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH_MMR2),
11363 MVT::v2i16, 2, 16,
11364 0,
11365 12,
11366 OPC_CheckChild0Integer, 86|128,62,
11367 OPC_RecordChild1,
11368 OPC_RecordChild2,
11369 OPC_CheckPatternPredicate1,
11370 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
11371 MVT::v2i16, 2, 16,
11372 13,
11373 OPC_CheckChild0Integer, 66|128,67|128,0,
11374 OPC_RecordChild1,
11375 OPC_RecordChild2,
11376 OPC_CheckPatternPredicate1,
11377 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
11378 MVT::v2i16, 2, 16,
11379 12,
11380 OPC_CheckChild0Integer, 107|128,62,
11381 OPC_RecordChild1,
11382 OPC_RecordChild2,
11383 OPC_CheckPatternPredicate1,
11384 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
11385 MVT::v4i8, 2, 16,
11386 13,
11387 OPC_CheckChild0Integer, 90|128,67|128,0,
11388 OPC_RecordChild1,
11389 OPC_RecordChild2,
11390 OPC_CheckPatternPredicate1,
11391 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
11392 MVT::v4i8, 2, 16,
11393 12,
11394 OPC_CheckChild0Integer, 82|128,62,
11395 OPC_RecordChild1,
11396 OPC_RecordChild2,
11397 OPC_CheckPatternPredicate0,
11398 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_B),
11399 MVT::v16i8, 2, 16,
11400 12,
11401 OPC_CheckChild0Integer, 84|128,62,
11402 OPC_RecordChild1,
11403 OPC_RecordChild2,
11404 OPC_CheckPatternPredicate0,
11405 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_H),
11406 MVT::v8i16, 2, 16,
11407 12,
11408 OPC_CheckChild0Integer, 85|128,62,
11409 OPC_RecordChild1,
11410 OPC_RecordChild2,
11411 OPC_CheckPatternPredicate0,
11412 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_W),
11413 MVT::v4i32, 2, 16,
11414 12,
11415 OPC_CheckChild0Integer, 83|128,62,
11416 OPC_RecordChild1,
11417 OPC_RecordChild2,
11418 OPC_CheckPatternPredicate0,
11419 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_D),
11420 MVT::v2i64, 2, 16,
11421 12,
11422 OPC_CheckChild0Integer, 93|128,62,
11423 OPC_RecordChild1,
11424 OPC_RecordChild2,
11425 OPC_CheckPatternPredicate0,
11426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_B),
11427 MVT::v16i8, 2, 16,
11428 12,
11429 OPC_CheckChild0Integer, 95|128,62,
11430 OPC_RecordChild1,
11431 OPC_RecordChild2,
11432 OPC_CheckPatternPredicate0,
11433 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_H),
11434 MVT::v8i16, 2, 16,
11435 12,
11436 OPC_CheckChild0Integer, 96|128,62,
11437 OPC_RecordChild1,
11438 OPC_RecordChild2,
11439 OPC_CheckPatternPredicate0,
11440 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_W),
11441 MVT::v4i32, 2, 16,
11442 12,
11443 OPC_CheckChild0Integer, 94|128,62,
11444 OPC_RecordChild1,
11445 OPC_RecordChild2,
11446 OPC_CheckPatternPredicate0,
11447 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_D),
11448 MVT::v2i64, 2, 16,
11449 12,
11450 OPC_CheckChild0Integer, 97|128,62,
11451 OPC_RecordChild1,
11452 OPC_RecordChild2,
11453 OPC_CheckPatternPredicate0,
11454 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_B),
11455 MVT::v16i8, 2, 16,
11456 12,
11457 OPC_CheckChild0Integer, 99|128,62,
11458 OPC_RecordChild1,
11459 OPC_RecordChild2,
11460 OPC_CheckPatternPredicate0,
11461 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_H),
11462 MVT::v8i16, 2, 16,
11463 12,
11464 OPC_CheckChild0Integer, 100|128,62,
11465 OPC_RecordChild1,
11466 OPC_RecordChild2,
11467 OPC_CheckPatternPredicate0,
11468 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_W),
11469 MVT::v4i32, 2, 16,
11470 12,
11471 OPC_CheckChild0Integer, 98|128,62,
11472 OPC_RecordChild1,
11473 OPC_RecordChild2,
11474 OPC_CheckPatternPredicate0,
11475 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_D),
11476 MVT::v2i64, 2, 16,
11477 12,
11478 OPC_CheckChild0Integer, 101|128,62,
11479 OPC_RecordChild1,
11480 OPC_RecordChild2,
11481 OPC_CheckPatternPredicate0,
11482 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_B),
11483 MVT::v16i8, 2, 16,
11484 12,
11485 OPC_CheckChild0Integer, 103|128,62,
11486 OPC_RecordChild1,
11487 OPC_RecordChild2,
11488 OPC_CheckPatternPredicate0,
11489 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_H),
11490 MVT::v8i16, 2, 16,
11491 12,
11492 OPC_CheckChild0Integer, 104|128,62,
11493 OPC_RecordChild1,
11494 OPC_RecordChild2,
11495 OPC_CheckPatternPredicate0,
11496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_W),
11497 MVT::v4i32, 2, 16,
11498 12,
11499 OPC_CheckChild0Integer, 102|128,62,
11500 OPC_RecordChild1,
11501 OPC_RecordChild2,
11502 OPC_CheckPatternPredicate0,
11503 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_D),
11504 MVT::v2i64, 2, 16,
11505 12,
11506 OPC_CheckChild0Integer, 124|128,62,
11507 OPC_RecordChild1,
11508 OPC_RecordChild2,
11509 OPC_CheckPatternPredicate0,
11510 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_B),
11511 MVT::v16i8, 2, 16,
11512 12,
11513 OPC_CheckChild0Integer, 126|128,62,
11514 OPC_RecordChild1,
11515 OPC_RecordChild2,
11516 OPC_CheckPatternPredicate0,
11517 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_H),
11518 MVT::v8i16, 2, 16,
11519 12,
11520 OPC_CheckChild0Integer, 127|128,62,
11521 OPC_RecordChild1,
11522 OPC_RecordChild2,
11523 OPC_CheckPatternPredicate0,
11524 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_W),
11525 MVT::v4i32, 2, 16,
11526 12,
11527 OPC_CheckChild0Integer, 125|128,62,
11528 OPC_RecordChild1,
11529 OPC_RecordChild2,
11530 OPC_CheckPatternPredicate0,
11531 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_D),
11532 MVT::v2i64, 2, 16,
11533 12,
11534 OPC_CheckChild0Integer, 0|128,63,
11535 OPC_RecordChild1,
11536 OPC_RecordChild2,
11537 OPC_CheckPatternPredicate0,
11538 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_B),
11539 MVT::v16i8, 2, 16,
11540 12,
11541 OPC_CheckChild0Integer, 2|128,63,
11542 OPC_RecordChild1,
11543 OPC_RecordChild2,
11544 OPC_CheckPatternPredicate0,
11545 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_H),
11546 MVT::v8i16, 2, 16,
11547 12,
11548 OPC_CheckChild0Integer, 3|128,63,
11549 OPC_RecordChild1,
11550 OPC_RecordChild2,
11551 OPC_CheckPatternPredicate0,
11552 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_W),
11553 MVT::v4i32, 2, 16,
11554 12,
11555 OPC_CheckChild0Integer, 1|128,63,
11556 OPC_RecordChild1,
11557 OPC_RecordChild2,
11558 OPC_CheckPatternPredicate0,
11559 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_D),
11560 MVT::v2i64, 2, 16,
11561 12,
11562 OPC_CheckChild0Integer, 4|128,63,
11563 OPC_RecordChild1,
11564 OPC_RecordChild2,
11565 OPC_CheckPatternPredicate0,
11566 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_B),
11567 MVT::v16i8, 2, 16,
11568 12,
11569 OPC_CheckChild0Integer, 6|128,63,
11570 OPC_RecordChild1,
11571 OPC_RecordChild2,
11572 OPC_CheckPatternPredicate0,
11573 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_H),
11574 MVT::v8i16, 2, 16,
11575 12,
11576 OPC_CheckChild0Integer, 7|128,63,
11577 OPC_RecordChild1,
11578 OPC_RecordChild2,
11579 OPC_CheckPatternPredicate0,
11580 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_W),
11581 MVT::v4i32, 2, 16,
11582 12,
11583 OPC_CheckChild0Integer, 5|128,63,
11584 OPC_RecordChild1,
11585 OPC_RecordChild2,
11586 OPC_CheckPatternPredicate0,
11587 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_D),
11588 MVT::v2i64, 2, 16,
11589 12,
11590 OPC_CheckChild0Integer, 8|128,63,
11591 OPC_RecordChild1,
11592 OPC_RecordChild2,
11593 OPC_CheckPatternPredicate0,
11594 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_B),
11595 MVT::v16i8, 2, 16,
11596 12,
11597 OPC_CheckChild0Integer, 10|128,63,
11598 OPC_RecordChild1,
11599 OPC_RecordChild2,
11600 OPC_CheckPatternPredicate0,
11601 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_H),
11602 MVT::v8i16, 2, 16,
11603 12,
11604 OPC_CheckChild0Integer, 11|128,63,
11605 OPC_RecordChild1,
11606 OPC_RecordChild2,
11607 OPC_CheckPatternPredicate0,
11608 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_W),
11609 MVT::v4i32, 2, 16,
11610 12,
11611 OPC_CheckChild0Integer, 9|128,63,
11612 OPC_RecordChild1,
11613 OPC_RecordChild2,
11614 OPC_CheckPatternPredicate0,
11615 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_D),
11616 MVT::v2i64, 2, 16,
11617 12,
11618 OPC_CheckChild0Integer, 12|128,63,
11619 OPC_RecordChild1,
11620 OPC_RecordChild2,
11621 OPC_CheckPatternPredicate0,
11622 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_B),
11623 MVT::v16i8, 2, 16,
11624 12,
11625 OPC_CheckChild0Integer, 14|128,63,
11626 OPC_RecordChild1,
11627 OPC_RecordChild2,
11628 OPC_CheckPatternPredicate0,
11629 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_H),
11630 MVT::v8i16, 2, 16,
11631 12,
11632 OPC_CheckChild0Integer, 15|128,63,
11633 OPC_RecordChild1,
11634 OPC_RecordChild2,
11635 OPC_CheckPatternPredicate0,
11636 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_W),
11637 MVT::v4i32, 2, 16,
11638 12,
11639 OPC_CheckChild0Integer, 13|128,63,
11640 OPC_RecordChild1,
11641 OPC_RecordChild2,
11642 OPC_CheckPatternPredicate0,
11643 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_D),
11644 MVT::v2i64, 2, 16,
11645 12,
11646 OPC_CheckChild0Integer, 16|128,63,
11647 OPC_RecordChild1,
11648 OPC_RecordChild2,
11649 OPC_CheckPatternPredicate0,
11650 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_B),
11651 MVT::v16i8, 2, 16,
11652 12,
11653 OPC_CheckChild0Integer, 18|128,63,
11654 OPC_RecordChild1,
11655 OPC_RecordChild2,
11656 OPC_CheckPatternPredicate0,
11657 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_H),
11658 MVT::v8i16, 2, 16,
11659 12,
11660 OPC_CheckChild0Integer, 19|128,63,
11661 OPC_RecordChild1,
11662 OPC_RecordChild2,
11663 OPC_CheckPatternPredicate0,
11664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_W),
11665 MVT::v4i32, 2, 16,
11666 12,
11667 OPC_CheckChild0Integer, 17|128,63,
11668 OPC_RecordChild1,
11669 OPC_RecordChild2,
11670 OPC_CheckPatternPredicate0,
11671 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_D),
11672 MVT::v2i64, 2, 16,
11673 13,
11674 OPC_CheckChild0Integer, 29|128,63,
11675 OPC_RecordChild1,
11676 OPC_RecordChild2,
11677 OPC_RecordChild3,
11678 OPC_CheckPatternPredicate0,
11679 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_B),
11680 MVT::v16i8, 3, 31,
11681 13,
11682 OPC_CheckChild0Integer, 31|128,63,
11683 OPC_RecordChild1,
11684 OPC_RecordChild2,
11685 OPC_RecordChild3,
11686 OPC_CheckPatternPredicate0,
11687 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_H),
11688 MVT::v8i16, 3, 31,
11689 13,
11690 OPC_CheckChild0Integer, 32|128,63,
11691 OPC_RecordChild1,
11692 OPC_RecordChild2,
11693 OPC_RecordChild3,
11694 OPC_CheckPatternPredicate0,
11695 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_W),
11696 MVT::v4i32, 3, 31,
11697 13,
11698 OPC_CheckChild0Integer, 30|128,63,
11699 OPC_RecordChild1,
11700 OPC_RecordChild2,
11701 OPC_RecordChild3,
11702 OPC_CheckPatternPredicate0,
11703 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_D),
11704 MVT::v2i64, 3, 31,
11705 13,
11706 OPC_CheckChild0Integer, 37|128,63,
11707 OPC_RecordChild1,
11708 OPC_RecordChild2,
11709 OPC_RecordChild3,
11710 OPC_CheckPatternPredicate0,
11711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_B),
11712 MVT::v16i8, 3, 31,
11713 13,
11714 OPC_CheckChild0Integer, 39|128,63,
11715 OPC_RecordChild1,
11716 OPC_RecordChild2,
11717 OPC_RecordChild3,
11718 OPC_CheckPatternPredicate0,
11719 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_H),
11720 MVT::v8i16, 3, 31,
11721 13,
11722 OPC_CheckChild0Integer, 40|128,63,
11723 OPC_RecordChild1,
11724 OPC_RecordChild2,
11725 OPC_RecordChild3,
11726 OPC_CheckPatternPredicate0,
11727 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_W),
11728 MVT::v4i32, 3, 31,
11729 13,
11730 OPC_CheckChild0Integer, 38|128,63,
11731 OPC_RecordChild1,
11732 OPC_RecordChild2,
11733 OPC_RecordChild3,
11734 OPC_CheckPatternPredicate0,
11735 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_D),
11736 MVT::v2i64, 3, 31,
11737 13,
11738 OPC_CheckChild0Integer, 23|128,64|128,0,
11739 OPC_RecordChild1,
11740 OPC_RecordChild2,
11741 OPC_CheckPatternPredicate0,
11742 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_H),
11743 MVT::v8i16, 2, 16,
11744 13,
11745 OPC_CheckChild0Integer, 24|128,64|128,0,
11746 OPC_RecordChild1,
11747 OPC_RecordChild2,
11748 OPC_CheckPatternPredicate0,
11749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_W),
11750 MVT::v4i32, 2, 16,
11751 13,
11752 OPC_CheckChild0Integer, 22|128,64|128,0,
11753 OPC_RecordChild1,
11754 OPC_RecordChild2,
11755 OPC_CheckPatternPredicate0,
11756 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_D),
11757 MVT::v2i64, 2, 16,
11758 13,
11759 OPC_CheckChild0Integer, 26|128,64|128,0,
11760 OPC_RecordChild1,
11761 OPC_RecordChild2,
11762 OPC_CheckPatternPredicate0,
11763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_H),
11764 MVT::v8i16, 2, 16,
11765 13,
11766 OPC_CheckChild0Integer, 27|128,64|128,0,
11767 OPC_RecordChild1,
11768 OPC_RecordChild2,
11769 OPC_CheckPatternPredicate0,
11770 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_W),
11771 MVT::v4i32, 2, 16,
11772 13,
11773 OPC_CheckChild0Integer, 25|128,64|128,0,
11774 OPC_RecordChild1,
11775 OPC_RecordChild2,
11776 OPC_CheckPatternPredicate0,
11777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_D),
11778 MVT::v2i64, 2, 16,
11779 14,
11780 OPC_CheckChild0Integer, 30|128,64|128,0,
11781 OPC_RecordChild1,
11782 OPC_RecordChild2,
11783 OPC_RecordChild3,
11784 OPC_CheckPatternPredicate0,
11785 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_H),
11786 MVT::v8i16, 3, 31,
11787 14,
11788 OPC_CheckChild0Integer, 31|128,64|128,0,
11789 OPC_RecordChild1,
11790 OPC_RecordChild2,
11791 OPC_RecordChild3,
11792 OPC_CheckPatternPredicate0,
11793 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_W),
11794 MVT::v4i32, 3, 31,
11795 14,
11796 OPC_CheckChild0Integer, 29|128,64|128,0,
11797 OPC_RecordChild1,
11798 OPC_RecordChild2,
11799 OPC_RecordChild3,
11800 OPC_CheckPatternPredicate0,
11801 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_D),
11802 MVT::v2i64, 3, 31,
11803 14,
11804 OPC_CheckChild0Integer, 33|128,64|128,0,
11805 OPC_RecordChild1,
11806 OPC_RecordChild2,
11807 OPC_RecordChild3,
11808 OPC_CheckPatternPredicate0,
11809 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_H),
11810 MVT::v8i16, 3, 31,
11811 14,
11812 OPC_CheckChild0Integer, 34|128,64|128,0,
11813 OPC_RecordChild1,
11814 OPC_RecordChild2,
11815 OPC_RecordChild3,
11816 OPC_CheckPatternPredicate0,
11817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_W),
11818 MVT::v4i32, 3, 31,
11819 14,
11820 OPC_CheckChild0Integer, 32|128,64|128,0,
11821 OPC_RecordChild1,
11822 OPC_RecordChild2,
11823 OPC_RecordChild3,
11824 OPC_CheckPatternPredicate0,
11825 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_D),
11826 MVT::v2i64, 3, 31,
11827 14,
11828 OPC_CheckChild0Integer, 50|128,64|128,0,
11829 OPC_RecordChild1,
11830 OPC_RecordChild2,
11831 OPC_RecordChild3,
11832 OPC_CheckPatternPredicate0,
11833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_H),
11834 MVT::v8i16, 3, 31,
11835 14,
11836 OPC_CheckChild0Integer, 51|128,64|128,0,
11837 OPC_RecordChild1,
11838 OPC_RecordChild2,
11839 OPC_RecordChild3,
11840 OPC_CheckPatternPredicate0,
11841 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_W),
11842 MVT::v4i32, 3, 31,
11843 14,
11844 OPC_CheckChild0Integer, 49|128,64|128,0,
11845 OPC_RecordChild1,
11846 OPC_RecordChild2,
11847 OPC_RecordChild3,
11848 OPC_CheckPatternPredicate0,
11849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_D),
11850 MVT::v2i64, 3, 31,
11851 14,
11852 OPC_CheckChild0Integer, 53|128,64|128,0,
11853 OPC_RecordChild1,
11854 OPC_RecordChild2,
11855 OPC_RecordChild3,
11856 OPC_CheckPatternPredicate0,
11857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_H),
11858 MVT::v8i16, 3, 31,
11859 14,
11860 OPC_CheckChild0Integer, 54|128,64|128,0,
11861 OPC_RecordChild1,
11862 OPC_RecordChild2,
11863 OPC_RecordChild3,
11864 OPC_CheckPatternPredicate0,
11865 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_W),
11866 MVT::v4i32, 3, 31,
11867 14,
11868 OPC_CheckChild0Integer, 52|128,64|128,0,
11869 OPC_RecordChild1,
11870 OPC_RecordChild2,
11871 OPC_RecordChild3,
11872 OPC_CheckPatternPredicate0,
11873 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_D),
11874 MVT::v2i64, 3, 31,
11875 13,
11876 OPC_CheckChild0Integer, 65|128,64|128,0,
11877 OPC_RecordChild1,
11878 OPC_RecordChild2,
11879 OPC_CheckPatternPredicate0,
11880 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_W),
11881 MVT::v4i32, 2, 16,
11882 13,
11883 OPC_CheckChild0Integer, 64|128,64|128,0,
11884 OPC_RecordChild1,
11885 OPC_RecordChild2,
11886 OPC_CheckPatternPredicate0,
11887 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_D),
11888 MVT::v2i64, 2, 16,
11889 12,
11890 OPC_CheckChild0Integer, 69|128,64|128,0,
11891 OPC_RecordChild1,
11892 OPC_CheckPatternPredicate0,
11893 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_W),
11894 MVT::v4i32, 1, 1,
11895 12,
11896 OPC_CheckChild0Integer, 68|128,64|128,0,
11897 OPC_RecordChild1,
11898 OPC_CheckPatternPredicate0,
11899 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_D),
11900 MVT::v2i64, 1, 1,
11901 13,
11902 OPC_CheckChild0Integer, 5|128,65|128,0,
11903 OPC_RecordChild1,
11904 OPC_RecordChild2,
11905 OPC_CheckPatternPredicate0,
11906 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_W),
11907 MVT::v4i32, 2, 16,
11908 13,
11909 OPC_CheckChild0Integer, 4|128,65|128,0,
11910 OPC_RecordChild1,
11911 OPC_RecordChild2,
11912 OPC_CheckPatternPredicate0,
11913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_D),
11914 MVT::v2i64, 2, 16,
11915 13,
11916 OPC_CheckChild0Integer, 7|128,65|128,0,
11917 OPC_RecordChild1,
11918 OPC_RecordChild2,
11919 OPC_CheckPatternPredicate0,
11920 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_W),
11921 MVT::v4i32, 2, 16,
11922 13,
11923 OPC_CheckChild0Integer, 6|128,65|128,0,
11924 OPC_RecordChild1,
11925 OPC_RecordChild2,
11926 OPC_CheckPatternPredicate0,
11927 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_D),
11928 MVT::v2i64, 2, 16,
11929 13,
11930 OPC_CheckChild0Integer, 9|128,65|128,0,
11931 OPC_RecordChild1,
11932 OPC_RecordChild2,
11933 OPC_CheckPatternPredicate0,
11934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_W),
11935 MVT::v4i32, 2, 16,
11936 13,
11937 OPC_CheckChild0Integer, 8|128,65|128,0,
11938 OPC_RecordChild1,
11939 OPC_RecordChild2,
11940 OPC_CheckPatternPredicate0,
11941 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_D),
11942 MVT::v2i64, 2, 16,
11943 13,
11944 OPC_CheckChild0Integer, 11|128,65|128,0,
11945 OPC_RecordChild1,
11946 OPC_RecordChild2,
11947 OPC_CheckPatternPredicate0,
11948 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_W),
11949 MVT::v4i32, 2, 16,
11950 13,
11951 OPC_CheckChild0Integer, 10|128,65|128,0,
11952 OPC_RecordChild1,
11953 OPC_RecordChild2,
11954 OPC_CheckPatternPredicate0,
11955 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_D),
11956 MVT::v2i64, 2, 16,
11957 13,
11958 OPC_CheckChild0Integer, 13|128,65|128,0,
11959 OPC_RecordChild1,
11960 OPC_RecordChild2,
11961 OPC_CheckPatternPredicate0,
11962 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_W),
11963 MVT::v4i32, 2, 16,
11964 13,
11965 OPC_CheckChild0Integer, 12|128,65|128,0,
11966 OPC_RecordChild1,
11967 OPC_RecordChild2,
11968 OPC_CheckPatternPredicate0,
11969 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_D),
11970 MVT::v2i64, 2, 16,
11971 13,
11972 OPC_CheckChild0Integer, 15|128,65|128,0,
11973 OPC_RecordChild1,
11974 OPC_RecordChild2,
11975 OPC_CheckPatternPredicate0,
11976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_W),
11977 MVT::v4i32, 2, 16,
11978 13,
11979 OPC_CheckChild0Integer, 14|128,65|128,0,
11980 OPC_RecordChild1,
11981 OPC_RecordChild2,
11982 OPC_CheckPatternPredicate0,
11983 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_D),
11984 MVT::v2i64, 2, 16,
11985 13,
11986 OPC_CheckChild0Integer, 21|128,65|128,0,
11987 OPC_RecordChild1,
11988 OPC_RecordChild2,
11989 OPC_CheckPatternPredicate0,
11990 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_W),
11991 MVT::v4i32, 2, 16,
11992 13,
11993 OPC_CheckChild0Integer, 20|128,65|128,0,
11994 OPC_RecordChild1,
11995 OPC_RecordChild2,
11996 OPC_CheckPatternPredicate0,
11997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_D),
11998 MVT::v2i64, 2, 16,
11999 13,
12000 OPC_CheckChild0Integer, 23|128,65|128,0,
12001 OPC_RecordChild1,
12002 OPC_RecordChild2,
12003 OPC_CheckPatternPredicate0,
12004 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_W),
12005 MVT::v4i32, 2, 16,
12006 13,
12007 OPC_CheckChild0Integer, 22|128,65|128,0,
12008 OPC_RecordChild1,
12009 OPC_RecordChild2,
12010 OPC_CheckPatternPredicate0,
12011 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_D),
12012 MVT::v2i64, 2, 16,
12013 13,
12014 OPC_CheckChild0Integer, 25|128,65|128,0,
12015 OPC_RecordChild1,
12016 OPC_RecordChild2,
12017 OPC_CheckPatternPredicate0,
12018 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_W),
12019 MVT::v4i32, 2, 16,
12020 13,
12021 OPC_CheckChild0Integer, 24|128,65|128,0,
12022 OPC_RecordChild1,
12023 OPC_RecordChild2,
12024 OPC_CheckPatternPredicate0,
12025 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_D),
12026 MVT::v2i64, 2, 16,
12027 13,
12028 OPC_CheckChild0Integer, 27|128,65|128,0,
12029 OPC_RecordChild1,
12030 OPC_RecordChild2,
12031 OPC_CheckPatternPredicate0,
12032 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_W),
12033 MVT::v4i32, 2, 16,
12034 13,
12035 OPC_CheckChild0Integer, 26|128,65|128,0,
12036 OPC_RecordChild1,
12037 OPC_RecordChild2,
12038 OPC_CheckPatternPredicate0,
12039 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_D),
12040 MVT::v2i64, 2, 16,
12041 13,
12042 OPC_CheckChild0Integer, 29|128,65|128,0,
12043 OPC_RecordChild1,
12044 OPC_RecordChild2,
12045 OPC_CheckPatternPredicate0,
12046 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_W),
12047 MVT::v4i32, 2, 16,
12048 13,
12049 OPC_CheckChild0Integer, 28|128,65|128,0,
12050 OPC_RecordChild1,
12051 OPC_RecordChild2,
12052 OPC_CheckPatternPredicate0,
12053 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_D),
12054 MVT::v2i64, 2, 16,
12055 12,
12056 OPC_CheckChild0Integer, 31|128,65|128,0,
12057 OPC_RecordChild1,
12058 OPC_CheckPatternPredicate0,
12059 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_W),
12060 MVT::v4i32, 1, 1,
12061 12,
12062 OPC_CheckChild0Integer, 30|128,65|128,0,
12063 OPC_RecordChild1,
12064 OPC_CheckPatternPredicate0,
12065 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_D),
12066 MVT::v2i64, 1, 1,
12067 12,
12068 OPC_CheckChild0Integer, 33|128,65|128,0,
12069 OPC_RecordChild1,
12070 OPC_CheckPatternPredicate0,
12071 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_W),
12072 MVT::v4i32, 1, 1,
12073 12,
12074 OPC_CheckChild0Integer, 32|128,65|128,0,
12075 OPC_RecordChild1,
12076 OPC_CheckPatternPredicate0,
12077 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_D),
12078 MVT::v2i64, 1, 1,
12079 13,
12080 OPC_CheckChild0Integer, 34|128,65|128,0,
12081 OPC_RecordChild1,
12082 OPC_RecordChild2,
12083 OPC_CheckPatternPredicate0,
12084 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_H),
12085 MVT::v8i16, 2, 16,
12086 13,
12087 OPC_CheckChild0Integer, 35|128,65|128,0,
12088 OPC_RecordChild1,
12089 OPC_RecordChild2,
12090 OPC_CheckPatternPredicate0,
12091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_W),
12092 MVT::v4i32, 2, 16,
12093 13,
12094 OPC_CheckChild0Integer, 41|128,65|128,0,
12095 OPC_RecordChild1,
12096 OPC_RecordChild2,
12097 OPC_CheckPatternPredicate0,
12098 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_H),
12099 MVT::v8i16, 2, 16,
12100 13,
12101 OPC_CheckChild0Integer, 42|128,65|128,0,
12102 OPC_RecordChild1,
12103 OPC_RecordChild2,
12104 OPC_CheckPatternPredicate0,
12105 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_W),
12106 MVT::v4i32, 2, 16,
12107 13,
12108 OPC_CheckChild0Integer, 40|128,65|128,0,
12109 OPC_RecordChild1,
12110 OPC_RecordChild2,
12111 OPC_CheckPatternPredicate0,
12112 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_D),
12113 MVT::v2i64, 2, 16,
12114 13,
12115 OPC_CheckChild0Integer, 44|128,65|128,0,
12116 OPC_RecordChild1,
12117 OPC_RecordChild2,
12118 OPC_CheckPatternPredicate0,
12119 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_H),
12120 MVT::v8i16, 2, 16,
12121 13,
12122 OPC_CheckChild0Integer, 45|128,65|128,0,
12123 OPC_RecordChild1,
12124 OPC_RecordChild2,
12125 OPC_CheckPatternPredicate0,
12126 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_W),
12127 MVT::v4i32, 2, 16,
12128 13,
12129 OPC_CheckChild0Integer, 43|128,65|128,0,
12130 OPC_RecordChild1,
12131 OPC_RecordChild2,
12132 OPC_CheckPatternPredicate0,
12133 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_D),
12134 MVT::v2i64, 2, 16,
12135 13,
12136 OPC_CheckChild0Integer, 47|128,65|128,0,
12137 OPC_RecordChild1,
12138 OPC_RecordChild2,
12139 OPC_CheckPatternPredicate0,
12140 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_H),
12141 MVT::v8i16, 2, 16,
12142 13,
12143 OPC_CheckChild0Integer, 48|128,65|128,0,
12144 OPC_RecordChild1,
12145 OPC_RecordChild2,
12146 OPC_CheckPatternPredicate0,
12147 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_W),
12148 MVT::v4i32, 2, 16,
12149 13,
12150 OPC_CheckChild0Integer, 46|128,65|128,0,
12151 OPC_RecordChild1,
12152 OPC_RecordChild2,
12153 OPC_CheckPatternPredicate0,
12154 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_D),
12155 MVT::v2i64, 2, 16,
12156 13,
12157 OPC_CheckChild0Integer, 50|128,65|128,0,
12158 OPC_RecordChild1,
12159 OPC_RecordChild2,
12160 OPC_CheckPatternPredicate0,
12161 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_H),
12162 MVT::v8i16, 2, 16,
12163 13,
12164 OPC_CheckChild0Integer, 51|128,65|128,0,
12165 OPC_RecordChild1,
12166 OPC_RecordChild2,
12167 OPC_CheckPatternPredicate0,
12168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_W),
12169 MVT::v4i32, 2, 16,
12170 13,
12171 OPC_CheckChild0Integer, 49|128,65|128,0,
12172 OPC_RecordChild1,
12173 OPC_RecordChild2,
12174 OPC_CheckPatternPredicate0,
12175 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_D),
12176 MVT::v2i64, 2, 16,
12177 14,
12178 OPC_CheckChild0Integer, 92|128,65|128,0,
12179 OPC_RecordChild1,
12180 OPC_RecordChild2,
12181 OPC_RecordChild3,
12182 OPC_CheckPatternPredicate0,
12183 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_H),
12184 MVT::v8i16, 3, 31,
12185 14,
12186 OPC_CheckChild0Integer, 93|128,65|128,0,
12187 OPC_RecordChild1,
12188 OPC_RecordChild2,
12189 OPC_RecordChild3,
12190 OPC_CheckPatternPredicate0,
12191 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_W),
12192 MVT::v4i32, 3, 31,
12193 14,
12194 OPC_CheckChild0Integer, 94|128,65|128,0,
12195 OPC_RecordChild1,
12196 OPC_RecordChild2,
12197 OPC_RecordChild3,
12198 OPC_CheckPatternPredicate0,
12199 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_H),
12200 MVT::v8i16, 3, 31,
12201 14,
12202 OPC_CheckChild0Integer, 95|128,65|128,0,
12203 OPC_RecordChild1,
12204 OPC_RecordChild2,
12205 OPC_RecordChild3,
12206 OPC_CheckPatternPredicate0,
12207 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_W),
12208 MVT::v4i32, 3, 31,
12209 13,
12210 OPC_CheckChild0Integer, 105|128,65|128,0,
12211 OPC_RecordChild1,
12212 OPC_RecordChild2,
12213 OPC_CheckPatternPredicate0,
12214 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_B),
12215 MVT::v16i8, 2, 16,
12216 13,
12217 OPC_CheckChild0Integer, 107|128,65|128,0,
12218 OPC_RecordChild1,
12219 OPC_RecordChild2,
12220 OPC_CheckPatternPredicate0,
12221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_H),
12222 MVT::v8i16, 2, 16,
12223 13,
12224 OPC_CheckChild0Integer, 108|128,65|128,0,
12225 OPC_RecordChild1,
12226 OPC_RecordChild2,
12227 OPC_CheckPatternPredicate0,
12228 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_W),
12229 MVT::v4i32, 2, 16,
12230 13,
12231 OPC_CheckChild0Integer, 106|128,65|128,0,
12232 OPC_RecordChild1,
12233 OPC_RecordChild2,
12234 OPC_CheckPatternPredicate0,
12235 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_D),
12236 MVT::v2i64, 2, 16,
12237 13,
12238 OPC_CheckChild0Integer, 125|128,65|128,0,
12239 OPC_RecordChild1,
12240 OPC_RecordChild2,
12241 OPC_CheckPatternPredicate0,
12242 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_B),
12243 MVT::v16i8, 2, 16,
12244 13,
12245 OPC_CheckChild0Integer, 127|128,65|128,0,
12246 OPC_RecordChild1,
12247 OPC_RecordChild2,
12248 OPC_CheckPatternPredicate0,
12249 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_H),
12250 MVT::v8i16, 2, 16,
12251 13,
12252 OPC_CheckChild0Integer, 0|128,66|128,0,
12253 OPC_RecordChild1,
12254 OPC_RecordChild2,
12255 OPC_CheckPatternPredicate0,
12256 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_W),
12257 MVT::v4i32, 2, 16,
12258 13,
12259 OPC_CheckChild0Integer, 126|128,65|128,0,
12260 OPC_RecordChild1,
12261 OPC_RecordChild2,
12262 OPC_CheckPatternPredicate0,
12263 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_D),
12264 MVT::v2i64, 2, 16,
12265 14,
12266 OPC_CheckChild0Integer, 28|128,66|128,0,
12267 OPC_RecordChild1,
12268 OPC_RecordChild2,
12269 OPC_RecordChild3,
12270 OPC_CheckPatternPredicate0,
12271 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_H),
12272 MVT::v8i16, 3, 31,
12273 14,
12274 OPC_CheckChild0Integer, 29|128,66|128,0,
12275 OPC_RecordChild1,
12276 OPC_RecordChild2,
12277 OPC_RecordChild3,
12278 OPC_CheckPatternPredicate0,
12279 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_W),
12280 MVT::v4i32, 3, 31,
12281 14,
12282 OPC_CheckChild0Integer, 30|128,66|128,0,
12283 OPC_RecordChild1,
12284 OPC_RecordChild2,
12285 OPC_RecordChild3,
12286 OPC_CheckPatternPredicate0,
12287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_H),
12288 MVT::v8i16, 3, 31,
12289 14,
12290 OPC_CheckChild0Integer, 31|128,66|128,0,
12291 OPC_RecordChild1,
12292 OPC_RecordChild2,
12293 OPC_RecordChild3,
12294 OPC_CheckPatternPredicate0,
12295 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_W),
12296 MVT::v4i32, 3, 31,
12297 13,
12298 OPC_CheckChild0Integer, 39|128,66|128,0,
12299 OPC_RecordChild1,
12300 OPC_RecordChild2,
12301 OPC_CheckPatternPredicate0,
12302 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_H),
12303 MVT::v8i16, 2, 16,
12304 13,
12305 OPC_CheckChild0Integer, 40|128,66|128,0,
12306 OPC_RecordChild1,
12307 OPC_RecordChild2,
12308 OPC_CheckPatternPredicate0,
12309 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_W),
12310 MVT::v4i32, 2, 16,
12311 13,
12312 OPC_CheckChild0Integer, 50|128,66|128,0,
12313 OPC_RecordChild1,
12314 OPC_RecordChild2,
12315 OPC_CheckPatternPredicate0,
12316 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_H),
12317 MVT::v8i16, 2, 16,
12318 13,
12319 OPC_CheckChild0Integer, 51|128,66|128,0,
12320 OPC_RecordChild1,
12321 OPC_RecordChild2,
12322 OPC_CheckPatternPredicate0,
12323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_W),
12324 MVT::v4i32, 2, 16,
12325 12,
12326 OPC_CheckChild0Integer, 60|128,66|128,0,
12327 OPC_RecordChild1,
12328 OPC_CheckPatternPredicate0,
12329 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_B),
12330 MVT::v16i8, 1, 1,
12331 12,
12332 OPC_CheckChild0Integer, 62|128,66|128,0,
12333 OPC_RecordChild1,
12334 OPC_CheckPatternPredicate0,
12335 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_H),
12336 MVT::v8i16, 1, 1,
12337 12,
12338 OPC_CheckChild0Integer, 63|128,66|128,0,
12339 OPC_RecordChild1,
12340 OPC_CheckPatternPredicate0,
12341 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_W),
12342 MVT::v4i32, 1, 1,
12343 12,
12344 OPC_CheckChild0Integer, 61|128,66|128,0,
12345 OPC_RecordChild1,
12346 OPC_CheckPatternPredicate0,
12347 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_D),
12348 MVT::v2i64, 1, 1,
12349 14,
12350 OPC_CheckChild0Integer, 4|128,67|128,0,
12351 OPC_RecordChild1,
12352 OPC_RecordChild2,
12353 OPC_RecordChild3,
12354 OPC_CheckPatternPredicate0,
12355 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_B),
12356 MVT::v16i8, 3, 31,
12357 14,
12358 OPC_CheckChild0Integer, 6|128,67|128,0,
12359 OPC_RecordChild1,
12360 OPC_RecordChild2,
12361 OPC_RecordChild3,
12362 OPC_CheckPatternPredicate0,
12363 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_H),
12364 MVT::v8i16, 3, 31,
12365 14,
12366 OPC_CheckChild0Integer, 7|128,67|128,0,
12367 OPC_RecordChild1,
12368 OPC_RecordChild2,
12369 OPC_RecordChild3,
12370 OPC_CheckPatternPredicate0,
12371 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_W),
12372 MVT::v4i32, 3, 31,
12373 14,
12374 OPC_CheckChild0Integer, 5|128,67|128,0,
12375 OPC_RecordChild1,
12376 OPC_RecordChild2,
12377 OPC_RecordChild3,
12378 OPC_CheckPatternPredicate0,
12379 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_D),
12380 MVT::v2i64, 3, 31,
12381 13,
12382 OPC_CheckChild0Integer, 36|128,67|128,0,
12383 OPC_RecordChild1,
12384 OPC_RecordChild2,
12385 OPC_CheckPatternPredicate0,
12386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_B),
12387 MVT::v16i8, 2, 16,
12388 13,
12389 OPC_CheckChild0Integer, 38|128,67|128,0,
12390 OPC_RecordChild1,
12391 OPC_RecordChild2,
12392 OPC_CheckPatternPredicate0,
12393 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_H),
12394 MVT::v8i16, 2, 16,
12395 13,
12396 OPC_CheckChild0Integer, 39|128,67|128,0,
12397 OPC_RecordChild1,
12398 OPC_RecordChild2,
12399 OPC_CheckPatternPredicate0,
12400 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_W),
12401 MVT::v4i32, 2, 16,
12402 13,
12403 OPC_CheckChild0Integer, 37|128,67|128,0,
12404 OPC_RecordChild1,
12405 OPC_RecordChild2,
12406 OPC_CheckPatternPredicate0,
12407 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_D),
12408 MVT::v2i64, 2, 16,
12409 13,
12410 OPC_CheckChild0Integer, 52|128,67|128,0,
12411 OPC_RecordChild1,
12412 OPC_RecordChild2,
12413 OPC_CheckPatternPredicate0,
12414 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_B),
12415 MVT::v16i8, 2, 16,
12416 13,
12417 OPC_CheckChild0Integer, 54|128,67|128,0,
12418 OPC_RecordChild1,
12419 OPC_RecordChild2,
12420 OPC_CheckPatternPredicate0,
12421 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_H),
12422 MVT::v8i16, 2, 16,
12423 13,
12424 OPC_CheckChild0Integer, 55|128,67|128,0,
12425 OPC_RecordChild1,
12426 OPC_RecordChild2,
12427 OPC_CheckPatternPredicate0,
12428 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_W),
12429 MVT::v4i32, 2, 16,
12430 13,
12431 OPC_CheckChild0Integer, 53|128,67|128,0,
12432 OPC_RecordChild1,
12433 OPC_RecordChild2,
12434 OPC_CheckPatternPredicate0,
12435 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_D),
12436 MVT::v2i64, 2, 16,
12437 13,
12438 OPC_CheckChild0Integer, 73|128,67|128,0,
12439 OPC_RecordChild1,
12440 OPC_RecordChild2,
12441 OPC_CheckPatternPredicate0,
12442 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_B),
12443 MVT::v16i8, 2, 16,
12444 13,
12445 OPC_CheckChild0Integer, 75|128,67|128,0,
12446 OPC_RecordChild1,
12447 OPC_RecordChild2,
12448 OPC_CheckPatternPredicate0,
12449 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_H),
12450 MVT::v8i16, 2, 16,
12451 13,
12452 OPC_CheckChild0Integer, 76|128,67|128,0,
12453 OPC_RecordChild1,
12454 OPC_RecordChild2,
12455 OPC_CheckPatternPredicate0,
12456 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_W),
12457 MVT::v4i32, 2, 16,
12458 13,
12459 OPC_CheckChild0Integer, 74|128,67|128,0,
12460 OPC_RecordChild1,
12461 OPC_RecordChild2,
12462 OPC_CheckPatternPredicate0,
12463 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_D),
12464 MVT::v2i64, 2, 16,
12465 13,
12466 OPC_CheckChild0Integer, 77|128,67|128,0,
12467 OPC_RecordChild1,
12468 OPC_RecordChild2,
12469 OPC_CheckPatternPredicate0,
12470 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_B),
12471 MVT::v16i8, 2, 16,
12472 13,
12473 OPC_CheckChild0Integer, 79|128,67|128,0,
12474 OPC_RecordChild1,
12475 OPC_RecordChild2,
12476 OPC_CheckPatternPredicate0,
12477 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_H),
12478 MVT::v8i16, 2, 16,
12479 13,
12480 OPC_CheckChild0Integer, 80|128,67|128,0,
12481 OPC_RecordChild1,
12482 OPC_RecordChild2,
12483 OPC_CheckPatternPredicate0,
12484 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_W),
12485 MVT::v4i32, 2, 16,
12486 13,
12487 OPC_CheckChild0Integer, 78|128,67|128,0,
12488 OPC_RecordChild1,
12489 OPC_RecordChild2,
12490 OPC_CheckPatternPredicate0,
12491 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_D),
12492 MVT::v2i64, 2, 16,
12493 13,
12494 OPC_CheckChild0Integer, 81|128,67|128,0,
12495 OPC_RecordChild1,
12496 OPC_RecordChild2,
12497 OPC_CheckPatternPredicate0,
12498 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_B),
12499 MVT::v16i8, 2, 16,
12500 13,
12501 OPC_CheckChild0Integer, 83|128,67|128,0,
12502 OPC_RecordChild1,
12503 OPC_RecordChild2,
12504 OPC_CheckPatternPredicate0,
12505 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_H),
12506 MVT::v8i16, 2, 16,
12507 13,
12508 OPC_CheckChild0Integer, 84|128,67|128,0,
12509 OPC_RecordChild1,
12510 OPC_RecordChild2,
12511 OPC_CheckPatternPredicate0,
12512 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_W),
12513 MVT::v4i32, 2, 16,
12514 13,
12515 OPC_CheckChild0Integer, 82|128,67|128,0,
12516 OPC_RecordChild1,
12517 OPC_RecordChild2,
12518 OPC_CheckPatternPredicate0,
12519 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_D),
12520 MVT::v2i64, 2, 16,
12521 13,
12522 OPC_CheckChild0Integer, 85|128,67|128,0,
12523 OPC_RecordChild1,
12524 OPC_RecordChild2,
12525 OPC_CheckPatternPredicate0,
12526 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_B),
12527 MVT::v16i8, 2, 16,
12528 13,
12529 OPC_CheckChild0Integer, 87|128,67|128,0,
12530 OPC_RecordChild1,
12531 OPC_RecordChild2,
12532 OPC_CheckPatternPredicate0,
12533 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_H),
12534 MVT::v8i16, 2, 16,
12535 13,
12536 OPC_CheckChild0Integer, 88|128,67|128,0,
12537 OPC_RecordChild1,
12538 OPC_RecordChild2,
12539 OPC_CheckPatternPredicate0,
12540 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_W),
12541 MVT::v4i32, 2, 16,
12542 13,
12543 OPC_CheckChild0Integer, 86|128,67|128,0,
12544 OPC_RecordChild1,
12545 OPC_RecordChild2,
12546 OPC_CheckPatternPredicate0,
12547 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_D),
12548 MVT::v2i64, 2, 16,
12549 13,
12550 OPC_CheckChild0Integer, 90|128,64|128,0,
12551 OPC_RecordChild1,
12552 OPC_RecordChild2,
12553 OPC_CheckPatternPredicate0,
12554 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_H),
12555 MVT::v8f16, 2, 16,
12556 14,
12557 OPC_CheckChild0Integer, 91|128,64|128,0,
12558 OPC_RecordChild1,
12559 OPC_RecordChild2,
12560 OPC_CheckPatternPredicate0,
12561 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_W),
12562 8|128,1, 2, 16,
12563 13,
12564 OPC_CheckChild0Integer, 95|128,64|128,0,
12565 OPC_RecordChild1,
12566 OPC_CheckPatternPredicate0,
12567 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_W),
12568 8|128,1, 1, 1,
12569 13,
12570 OPC_CheckChild0Integer, 94|128,64|128,0,
12571 OPC_RecordChild1,
12572 OPC_CheckPatternPredicate0,
12573 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_D),
12574 26|128,1, 1, 1,
12575 13,
12576 OPC_CheckChild0Integer, 97|128,64|128,0,
12577 OPC_RecordChild1,
12578 OPC_CheckPatternPredicate0,
12579 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_W),
12580 8|128,1, 1, 1,
12581 13,
12582 OPC_CheckChild0Integer, 96|128,64|128,0,
12583 OPC_RecordChild1,
12584 OPC_CheckPatternPredicate0,
12585 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_D),
12586 26|128,1, 1, 1,
12587 13,
12588 OPC_CheckChild0Integer, 103|128,64|128,0,
12589 OPC_RecordChild1,
12590 OPC_CheckPatternPredicate0,
12591 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_W),
12592 8|128,1, 1, 1,
12593 13,
12594 OPC_CheckChild0Integer, 102|128,64|128,0,
12595 OPC_RecordChild1,
12596 OPC_CheckPatternPredicate0,
12597 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_D),
12598 26|128,1, 1, 1,
12599 13,
12600 OPC_CheckChild0Integer, 105|128,64|128,0,
12601 OPC_RecordChild1,
12602 OPC_CheckPatternPredicate0,
12603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_W),
12604 8|128,1, 1, 1,
12605 13,
12606 OPC_CheckChild0Integer, 104|128,64|128,0,
12607 OPC_RecordChild1,
12608 OPC_CheckPatternPredicate0,
12609 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_D),
12610 26|128,1, 1, 1,
12611 14,
12612 OPC_CheckChild0Integer, 117|128,64|128,0,
12613 OPC_RecordChild1,
12614 OPC_RecordChild2,
12615 OPC_CheckPatternPredicate0,
12616 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_W),
12617 8|128,1, 2, 16,
12618 14,
12619 OPC_CheckChild0Integer, 116|128,64|128,0,
12620 OPC_RecordChild1,
12621 OPC_RecordChild2,
12622 OPC_CheckPatternPredicate0,
12623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_D),
12624 26|128,1, 2, 16,
12625 14,
12626 OPC_CheckChild0Integer, 115|128,64|128,0,
12627 OPC_RecordChild1,
12628 OPC_RecordChild2,
12629 OPC_CheckPatternPredicate0,
12630 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_W),
12631 8|128,1, 2, 16,
12632 14,
12633 OPC_CheckChild0Integer, 114|128,64|128,0,
12634 OPC_RecordChild1,
12635 OPC_RecordChild2,
12636 OPC_CheckPatternPredicate0,
12637 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_D),
12638 26|128,1, 2, 16,
12639 14,
12640 OPC_CheckChild0Integer, 121|128,64|128,0,
12641 OPC_RecordChild1,
12642 OPC_RecordChild2,
12643 OPC_CheckPatternPredicate0,
12644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_W),
12645 8|128,1, 2, 16,
12646 14,
12647 OPC_CheckChild0Integer, 120|128,64|128,0,
12648 OPC_RecordChild1,
12649 OPC_RecordChild2,
12650 OPC_CheckPatternPredicate0,
12651 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_D),
12652 26|128,1, 2, 16,
12653 14,
12654 OPC_CheckChild0Integer, 119|128,64|128,0,
12655 OPC_RecordChild1,
12656 OPC_RecordChild2,
12657 OPC_CheckPatternPredicate0,
12658 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_W),
12659 8|128,1, 2, 16,
12660 14,
12661 OPC_CheckChild0Integer, 118|128,64|128,0,
12662 OPC_RecordChild1,
12663 OPC_RecordChild2,
12664 OPC_CheckPatternPredicate0,
12665 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_D),
12666 26|128,1, 2, 16,
12667 13,
12668 OPC_CheckChild0Integer, 127|128,64|128,0,
12669 OPC_RecordChild1,
12670 OPC_CheckPatternPredicate0,
12671 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_W),
12672 8|128,1, 1, 1,
12673 13,
12674 OPC_CheckChild0Integer, 126|128,64|128,0,
12675 OPC_RecordChild1,
12676 OPC_CheckPatternPredicate0,
12677 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_D),
12678 26|128,1, 1, 1,
12679 13,
12680 OPC_CheckChild0Integer, 3|128,65|128,0,
12681 OPC_RecordChild1,
12682 OPC_CheckPatternPredicate0,
12683 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_W),
12684 8|128,1, 1, 1,
12685 13,
12686 OPC_CheckChild0Integer, 2|128,65|128,0,
12687 OPC_RecordChild1,
12688 OPC_CheckPatternPredicate0,
12689 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_D),
12690 26|128,1, 1, 1,
12691 0,
12692 90|128,1, TARGET_VAL(ISD::INTRINSIC_VOID),
12693 OPC_RecordNode,
12694 OPC_Scope, 35,
12695 OPC_CheckChild1Integer, 107|128,67|128,0,
12696 OPC_RecordChild2,
12697 OPC_RecordChild3,
12698 OPC_MoveChild3,
12699 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12700 OPC_Scope, 11,
12701 OPC_CheckPredicate, 45,
12702 OPC_MoveParent,
12703 OPC_CheckPatternPredicate, 112,
12704 OPC_EmitMergeInputChains1_0,
12705 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP),
12706 2, 32,
12707 10,
12708 OPC_CheckPredicate, 46,
12709 OPC_MoveParent,
12710 OPC_CheckPatternPredicate6,
12711 OPC_EmitMergeInputChains1_0,
12712 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP_MM),
12713 2, 32,
12714 0,
12715 24,
12716 OPC_CheckChild1Integer, 1|128,64|128,0,
12717 OPC_RecordChild2,
12718 OPC_RecordChild3,
12719 OPC_Scope, 7,
12720 OPC_CheckPatternPredicate1,
12721 OPC_EmitMergeInputChains1_0,
12722 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB),
12723 2, 32,
12724 7,
12725 OPC_CheckPatternPredicate6,
12726 OPC_EmitMergeInputChains1_0,
12727 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB_MM),
12728 2, 32,
12729 0,
12730 24,
12731 OPC_CheckChild1Integer, 3|128,64|128,0,
12732 OPC_RecordChild2,
12733 OPC_RecordChild3,
12734 OPC_Scope, 7,
12735 OPC_CheckPatternPredicate1,
12736 OPC_EmitMergeInputChains1_0,
12737 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB),
12738 2, 32,
12739 7,
12740 OPC_CheckPatternPredicate6,
12741 OPC_EmitMergeInputChains1_0,
12742 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB_MM),
12743 2, 32,
12744 0,
12745 24,
12746 OPC_CheckChild1Integer, 2|128,64|128,0,
12747 OPC_RecordChild2,
12748 OPC_RecordChild3,
12749 OPC_Scope, 7,
12750 OPC_CheckPatternPredicate1,
12751 OPC_EmitMergeInputChains1_0,
12752 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB),
12753 2, 32,
12754 7,
12755 OPC_CheckPatternPredicate6,
12756 OPC_EmitMergeInputChains1_0,
12757 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB_MM),
12758 2, 32,
12759 0,
12760 23,
12761 OPC_CheckChild1Integer, 120|128,63,
12762 OPC_RecordChild2,
12763 OPC_RecordChild3,
12764 OPC_Scope, 7,
12765 OPC_CheckPatternPredicate1,
12766 OPC_EmitMergeInputChains1_0,
12767 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH),
12768 2, 32,
12769 7,
12770 OPC_CheckPatternPredicate6,
12771 OPC_EmitMergeInputChains1_0,
12772 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH_MM),
12773 2, 32,
12774 0,
12775 23,
12776 OPC_CheckChild1Integer, 122|128,63,
12777 OPC_RecordChild2,
12778 OPC_RecordChild3,
12779 OPC_Scope, 7,
12780 OPC_CheckPatternPredicate1,
12781 OPC_EmitMergeInputChains1_0,
12782 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH),
12783 2, 32,
12784 7,
12785 OPC_CheckPatternPredicate6,
12786 OPC_EmitMergeInputChains1_0,
12787 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH_MM),
12788 2, 32,
12789 0,
12790 23,
12791 OPC_CheckChild1Integer, 121|128,63,
12792 OPC_RecordChild2,
12793 OPC_RecordChild3,
12794 OPC_Scope, 7,
12795 OPC_CheckPatternPredicate1,
12796 OPC_EmitMergeInputChains1_0,
12797 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH),
12798 2, 32,
12799 7,
12800 OPC_CheckPatternPredicate6,
12801 OPC_EmitMergeInputChains1_0,
12802 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH_MM),
12803 2, 32,
12804 0,
12805 15,
12806 OPC_CheckChild1Integer, 64|128,67|128,0,
12807 OPC_RecordChild2,
12808 OPC_RecordChild3,
12809 OPC_RecordChild4,
12810 OPC_CheckPatternPredicate, 11,
12811 OPC_EmitMergeInputChains1_0,
12812 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_D),
12813 3, 58,
12814 15,
12815 OPC_CheckChild1Integer, 65|128,67|128,0,
12816 OPC_RecordChild2,
12817 OPC_RecordChild3,
12818 OPC_RecordChild4,
12819 OPC_CheckPatternPredicate, 11,
12820 OPC_EmitMergeInputChains1_0,
12821 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_W),
12822 3, 58,
12823 0,
12824 102|128,13, TARGET_VAL(ISD::XOR),
12825 OPC_Scope, 50,
12826 OPC_MoveChild0,
12827 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
12828 OPC_RecordChild0,
12829 OPC_RecordChild1,
12830 OPC_MoveParent,
12831 OPC_CheckChild1Integer, 127,
12832 OPC_SwitchType , 27, MVT::i32,
12833 OPC_Scope, 7,
12834 OPC_CheckPatternPredicate2,
12835 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
12836 MVT::i32, 2, 16,
12837 7,
12838 OPC_CheckPatternPredicate7,
12839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
12840 MVT::i32, 2, 16,
12841 8,
12842 OPC_CheckPatternPredicate, 8,
12843 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
12844 MVT::i32, 2, 16,
12845 0,
12846 8, MVT::i64,
12847 OPC_CheckPatternPredicate, 21,
12848 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR64),
12849 MVT::i64, 2, 16,
12850 0,
12851 95|128,3,
12852 OPC_RecordChild0,
12853 OPC_Scope, 81,
12854 OPC_CheckChild1Integer, 127,
12855 OPC_CheckTypeI32,
12856 OPC_Scope, 8,
12857 OPC_CheckPatternPredicate, 8,
12858 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
12859 MVT::i32, 1, 1,
12860 9,
12861 OPC_CheckPatternPredicate2,
12862 OPC_EmitRegisterI32, Mips::ZERO,
12863 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
12864 MVT::i32, 2, 16,
12865 7,
12866 OPC_CheckPatternPredicate5,
12867 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NotRxRy16),
12868 MVT::i32, 1, 1,
12869 7,
12870 OPC_CheckPatternPredicate7,
12871 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
12872 MVT::i32, 1, 1,
12873 19,
12874 OPC_CheckPatternPredicate4,
12875 OPC_Scope, 6,
12876 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
12877 MVT::i32, 1, 1,
12878 8,
12879 OPC_EmitRegisterI32, Mips::ZERO,
12880 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
12881 MVT::i32, 2, 16,
12882 0,
12883 20,
12884 OPC_CheckPatternPredicate, 8,
12885 OPC_Scope, 6,
12886 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
12887 MVT::i32, 1, 1,
12888 8,
12889 OPC_EmitRegisterI32, Mips::ZERO,
12890 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
12891 MVT::i32, 2, 16,
12892 0,
12893 0,
12894 1|128,1,
12895 OPC_RecordChild1,
12896 OPC_Scope, 68,
12897 OPC_MoveChild1,
12898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12899 OPC_Scope, 12,
12900 OPC_CheckPredicate, 34,
12901 OPC_MoveParent,
12902 OPC_CheckTypeI32,
12903 OPC_CheckPatternPredicate2,
12904 OPC_EmitConvertToTarget1,
12905 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
12906 MVT::i32, 2, 29,
12907 48,
12908 OPC_CheckPredicate, 12,
12909 OPC_MoveParent,
12910 OPC_SwitchType , 12, MVT::i64,
12911 OPC_CheckPatternPredicate, 21,
12912 OPC_EmitConvertToTarget1,
12913 OPC_EmitNodeXForm, 3, 2,
12914 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi64),
12915 MVT::i64, 2, 47,
12916 27, MVT::i32,
12917 OPC_Scope, 11,
12918 OPC_CheckPatternPredicate7,
12919 OPC_EmitConvertToTarget1,
12920 OPC_EmitNodeXForm, 3, 2,
12921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
12922 MVT::i32, 2, 47,
12923 12,
12924 OPC_CheckPatternPredicate, 8,
12925 OPC_EmitConvertToTarget1,
12926 OPC_EmitNodeXForm, 3, 2,
12927 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
12928 MVT::i32, 2, 47,
12929 0,
12930 0,
12931 0,
12932 46,
12933 OPC_CheckTypeI32,
12934 OPC_Scope, 7,
12935 OPC_CheckPatternPredicate2,
12936 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR),
12937 MVT::i32, 2, 16,
12938 7,
12939 OPC_CheckPatternPredicate5,
12940 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
12941 MVT::i32, 2, 16,
12942 17,
12943 OPC_CheckPatternPredicate7,
12944 OPC_Scope, 6,
12945 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR16_MM),
12946 MVT::i32, 2, 16,
12947 6,
12948 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MM),
12949 MVT::i32, 2, 16,
12950 0,
12951 8,
12952 OPC_CheckPatternPredicate, 8,
12953 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MMR6),
12954 MVT::i32, 2, 16,
12955 0,
12956 9,
12957 OPC_CheckTypeI64,
12958 OPC_CheckPatternPredicate, 21,
12959 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR64),
12960 MVT::i64, 2, 16,
12961 0,
12962 5|128,2,
12963 OPC_MoveChild1,
12964 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12965 OPC_RecordChild0,
12966 OPC_MoveChild1,
12967 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12968 OPC_Scope, 124,
12969 OPC_RecordChild0,
12970 OPC_MoveChild1,
12971 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12972 OPC_MoveChild0,
12973 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12974 OPC_CheckPredicate0,
12975 OPC_CheckTypeI32,
12976 OPC_MoveSibling1,
12977 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12978 OPC_CheckPredicate0,
12979 OPC_CheckTypeI32,
12980 OPC_MoveSibling2,
12981 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12982 OPC_CheckPredicate0,
12983 OPC_CheckTypeI32,
12984 OPC_MoveSibling3,
12985 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12986 OPC_CheckPredicate0,
12987 OPC_CheckTypeI32,
12988 OPC_MoveSibling4,
12989 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12990 OPC_CheckPredicate0,
12991 OPC_CheckTypeI32,
12992 OPC_MoveSibling5,
12993 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12994 OPC_CheckPredicate0,
12995 OPC_CheckTypeI32,
12996 OPC_MoveSibling6,
12997 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12998 OPC_CheckPredicate0,
12999 OPC_CheckTypeI32,
13000 OPC_MoveSibling7,
13001 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13002 OPC_CheckPredicate0,
13003 OPC_CheckTypeI32,
13004 OPC_MoveSibling, 8,
13005 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13006 OPC_CheckPredicate0,
13007 OPC_CheckTypeI32,
13008 OPC_MoveSibling, 9,
13009 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13010 OPC_CheckPredicate0,
13011 OPC_CheckTypeI32,
13012 OPC_MoveSibling, 10,
13013 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13014 OPC_CheckPredicate0,
13015 OPC_CheckTypeI32,
13016 OPC_MoveSibling, 11,
13017 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13018 OPC_CheckPredicate0,
13019 OPC_CheckTypeI32,
13020 OPC_MoveSibling, 12,
13021 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13022 OPC_CheckPredicate0,
13023 OPC_CheckTypeI32,
13024 OPC_MoveSibling, 13,
13025 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13026 OPC_CheckPredicate0,
13027 OPC_CheckTypeI32,
13028 OPC_MoveSibling, 14,
13029 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13030 OPC_CheckPredicate0,
13031 OPC_CheckTypeI32,
13032 OPC_MoveSibling, 15,
13033 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13034 OPC_CheckPredicate0,
13035 OPC_CheckTypeI32,
13036 OPC_MoveParent,
13037 OPC_MoveParent,
13038 OPC_MoveParent,
13039 OPC_MoveParent,
13040 OPC_CheckType, MVT::v16i8,
13041 OPC_CheckPatternPredicate3,
13042 OPC_CheckComplexPat1, /*#*/1,
13043 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
13044 MVT::v16i8, 2, 29,
13045 124,
13046 OPC_MoveChild0,
13047 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13048 OPC_MoveChild0,
13049 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13050 OPC_CheckPredicate0,
13051 OPC_CheckTypeI32,
13052 OPC_MoveSibling1,
13053 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13054 OPC_CheckPredicate0,
13055 OPC_CheckTypeI32,
13056 OPC_MoveSibling2,
13057 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13058 OPC_CheckPredicate0,
13059 OPC_CheckTypeI32,
13060 OPC_MoveSibling3,
13061 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13062 OPC_CheckPredicate0,
13063 OPC_CheckTypeI32,
13064 OPC_MoveSibling4,
13065 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13066 OPC_CheckPredicate0,
13067 OPC_CheckTypeI32,
13068 OPC_MoveSibling5,
13069 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13070 OPC_CheckPredicate0,
13071 OPC_CheckTypeI32,
13072 OPC_MoveSibling6,
13073 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13074 OPC_CheckPredicate0,
13075 OPC_CheckTypeI32,
13076 OPC_MoveSibling7,
13077 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13078 OPC_CheckPredicate0,
13079 OPC_CheckTypeI32,
13080 OPC_MoveSibling, 8,
13081 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13082 OPC_CheckPredicate0,
13083 OPC_CheckTypeI32,
13084 OPC_MoveSibling, 9,
13085 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13086 OPC_CheckPredicate0,
13087 OPC_CheckTypeI32,
13088 OPC_MoveSibling, 10,
13089 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13090 OPC_CheckPredicate0,
13091 OPC_CheckTypeI32,
13092 OPC_MoveSibling, 11,
13093 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13094 OPC_CheckPredicate0,
13095 OPC_CheckTypeI32,
13096 OPC_MoveSibling, 12,
13097 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13098 OPC_CheckPredicate0,
13099 OPC_CheckTypeI32,
13100 OPC_MoveSibling, 13,
13101 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13102 OPC_CheckPredicate0,
13103 OPC_CheckTypeI32,
13104 OPC_MoveSibling, 14,
13105 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13106 OPC_CheckPredicate0,
13107 OPC_CheckTypeI32,
13108 OPC_MoveSibling, 15,
13109 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13110 OPC_CheckPredicate0,
13111 OPC_CheckTypeI32,
13112 OPC_MoveParent,
13113 OPC_MoveParent,
13114 OPC_RecordChild1,
13115 OPC_MoveParent,
13116 OPC_MoveParent,
13117 OPC_CheckType, MVT::v16i8,
13118 OPC_CheckPatternPredicate3,
13119 OPC_CheckComplexPat1, /*#*/1,
13120 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
13121 MVT::v16i8, 2, 29,
13122 0,
13123 0,
13124 7|128,2,
13125 OPC_MoveChild0,
13126 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13127 OPC_RecordChild0,
13128 OPC_MoveChild1,
13129 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13130 OPC_Scope, 125,
13131 OPC_RecordChild0,
13132 OPC_MoveChild1,
13133 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13134 OPC_MoveChild0,
13135 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13136 OPC_CheckPredicate0,
13137 OPC_CheckTypeI32,
13138 OPC_MoveSibling1,
13139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13140 OPC_CheckPredicate0,
13141 OPC_CheckTypeI32,
13142 OPC_MoveSibling2,
13143 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13144 OPC_CheckPredicate0,
13145 OPC_CheckTypeI32,
13146 OPC_MoveSibling3,
13147 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13148 OPC_CheckPredicate0,
13149 OPC_CheckTypeI32,
13150 OPC_MoveSibling4,
13151 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13152 OPC_CheckPredicate0,
13153 OPC_CheckTypeI32,
13154 OPC_MoveSibling5,
13155 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13156 OPC_CheckPredicate0,
13157 OPC_CheckTypeI32,
13158 OPC_MoveSibling6,
13159 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13160 OPC_CheckPredicate0,
13161 OPC_CheckTypeI32,
13162 OPC_MoveSibling7,
13163 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13164 OPC_CheckPredicate0,
13165 OPC_CheckTypeI32,
13166 OPC_MoveSibling, 8,
13167 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13168 OPC_CheckPredicate0,
13169 OPC_CheckTypeI32,
13170 OPC_MoveSibling, 9,
13171 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13172 OPC_CheckPredicate0,
13173 OPC_CheckTypeI32,
13174 OPC_MoveSibling, 10,
13175 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13176 OPC_CheckPredicate0,
13177 OPC_CheckTypeI32,
13178 OPC_MoveSibling, 11,
13179 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13180 OPC_CheckPredicate0,
13181 OPC_CheckTypeI32,
13182 OPC_MoveSibling, 12,
13183 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13184 OPC_CheckPredicate0,
13185 OPC_CheckTypeI32,
13186 OPC_MoveSibling, 13,
13187 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13188 OPC_CheckPredicate0,
13189 OPC_CheckTypeI32,
13190 OPC_MoveSibling, 14,
13191 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13192 OPC_CheckPredicate0,
13193 OPC_CheckTypeI32,
13194 OPC_MoveSibling, 15,
13195 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13196 OPC_CheckPredicate0,
13197 OPC_CheckTypeI32,
13198 OPC_MoveParent,
13199 OPC_MoveParent,
13200 OPC_MoveParent,
13201 OPC_MoveParent,
13202 OPC_RecordChild1,
13203 OPC_CheckType, MVT::v16i8,
13204 OPC_CheckPatternPredicate3,
13205 OPC_CheckComplexPat1, /*#*/0,
13206 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
13207 MVT::v16i8, 2, 23,
13208 125,
13209 OPC_MoveChild0,
13210 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13211 OPC_MoveChild0,
13212 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13213 OPC_CheckPredicate0,
13214 OPC_CheckTypeI32,
13215 OPC_MoveSibling1,
13216 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13217 OPC_CheckPredicate0,
13218 OPC_CheckTypeI32,
13219 OPC_MoveSibling2,
13220 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13221 OPC_CheckPredicate0,
13222 OPC_CheckTypeI32,
13223 OPC_MoveSibling3,
13224 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13225 OPC_CheckPredicate0,
13226 OPC_CheckTypeI32,
13227 OPC_MoveSibling4,
13228 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13229 OPC_CheckPredicate0,
13230 OPC_CheckTypeI32,
13231 OPC_MoveSibling5,
13232 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13233 OPC_CheckPredicate0,
13234 OPC_CheckTypeI32,
13235 OPC_MoveSibling6,
13236 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13237 OPC_CheckPredicate0,
13238 OPC_CheckTypeI32,
13239 OPC_MoveSibling7,
13240 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13241 OPC_CheckPredicate0,
13242 OPC_CheckTypeI32,
13243 OPC_MoveSibling, 8,
13244 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13245 OPC_CheckPredicate0,
13246 OPC_CheckTypeI32,
13247 OPC_MoveSibling, 9,
13248 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13249 OPC_CheckPredicate0,
13250 OPC_CheckTypeI32,
13251 OPC_MoveSibling, 10,
13252 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13253 OPC_CheckPredicate0,
13254 OPC_CheckTypeI32,
13255 OPC_MoveSibling, 11,
13256 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13257 OPC_CheckPredicate0,
13258 OPC_CheckTypeI32,
13259 OPC_MoveSibling, 12,
13260 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13261 OPC_CheckPredicate0,
13262 OPC_CheckTypeI32,
13263 OPC_MoveSibling, 13,
13264 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13265 OPC_CheckPredicate0,
13266 OPC_CheckTypeI32,
13267 OPC_MoveSibling, 14,
13268 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13269 OPC_CheckPredicate0,
13270 OPC_CheckTypeI32,
13271 OPC_MoveSibling, 15,
13272 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13273 OPC_CheckPredicate0,
13274 OPC_CheckTypeI32,
13275 OPC_MoveParent,
13276 OPC_MoveParent,
13277 OPC_RecordChild1,
13278 OPC_MoveParent,
13279 OPC_MoveParent,
13280 OPC_RecordChild1,
13281 OPC_CheckType, MVT::v16i8,
13282 OPC_CheckPatternPredicate3,
13283 OPC_CheckComplexPat1, /*#*/0,
13284 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
13285 MVT::v16i8, 2, 23,
13286 0,
13287 22|128,1,
13288 OPC_RecordChild0,
13289 OPC_MoveChild1,
13290 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13291 OPC_RecordChild0,
13292 OPC_MoveChild1,
13293 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13294 OPC_Scope, 68,
13295 OPC_RecordChild0,
13296 OPC_MoveChild1,
13297 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13298 OPC_MoveChild0,
13299 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13300 OPC_CheckPredicate1,
13301 OPC_CheckTypeI32,
13302 OPC_MoveSibling1,
13303 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13304 OPC_CheckPredicate1,
13305 OPC_CheckTypeI32,
13306 OPC_MoveSibling2,
13307 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13308 OPC_CheckPredicate1,
13309 OPC_CheckTypeI32,
13310 OPC_MoveSibling3,
13311 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13312 OPC_CheckPredicate1,
13313 OPC_CheckTypeI32,
13314 OPC_MoveSibling4,
13315 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13316 OPC_CheckPredicate1,
13317 OPC_CheckTypeI32,
13318 OPC_MoveSibling5,
13319 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13320 OPC_CheckPredicate1,
13321 OPC_CheckTypeI32,
13322 OPC_MoveSibling6,
13323 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13324 OPC_CheckPredicate1,
13325 OPC_CheckTypeI32,
13326 OPC_MoveSibling7,
13327 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13328 OPC_CheckPredicate1,
13329 OPC_CheckTypeI32,
13330 OPC_MoveParent,
13331 OPC_MoveParent,
13332 OPC_MoveParent,
13333 OPC_MoveParent,
13334 OPC_CheckType, MVT::v8i16,
13335 OPC_CheckPatternPredicate3,
13336 OPC_CheckComplexPat1, /*#*/1,
13337 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
13338 MVT::v8i16, 2, 29,
13339 68,
13340 OPC_MoveChild0,
13341 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13342 OPC_MoveChild0,
13343 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13344 OPC_CheckPredicate1,
13345 OPC_CheckTypeI32,
13346 OPC_MoveSibling1,
13347 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13348 OPC_CheckPredicate1,
13349 OPC_CheckTypeI32,
13350 OPC_MoveSibling2,
13351 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13352 OPC_CheckPredicate1,
13353 OPC_CheckTypeI32,
13354 OPC_MoveSibling3,
13355 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13356 OPC_CheckPredicate1,
13357 OPC_CheckTypeI32,
13358 OPC_MoveSibling4,
13359 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13360 OPC_CheckPredicate1,
13361 OPC_CheckTypeI32,
13362 OPC_MoveSibling5,
13363 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13364 OPC_CheckPredicate1,
13365 OPC_CheckTypeI32,
13366 OPC_MoveSibling6,
13367 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13368 OPC_CheckPredicate1,
13369 OPC_CheckTypeI32,
13370 OPC_MoveSibling7,
13371 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13372 OPC_CheckPredicate1,
13373 OPC_CheckTypeI32,
13374 OPC_MoveParent,
13375 OPC_MoveParent,
13376 OPC_RecordChild1,
13377 OPC_MoveParent,
13378 OPC_MoveParent,
13379 OPC_CheckType, MVT::v8i16,
13380 OPC_CheckPatternPredicate3,
13381 OPC_CheckComplexPat1, /*#*/1,
13382 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
13383 MVT::v8i16, 2, 29,
13384 0,
13385 23|128,1,
13386 OPC_MoveChild0,
13387 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13388 OPC_RecordChild0,
13389 OPC_MoveChild1,
13390 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13391 OPC_Scope, 69,
13392 OPC_RecordChild0,
13393 OPC_MoveChild1,
13394 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13395 OPC_MoveChild0,
13396 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13397 OPC_CheckPredicate1,
13398 OPC_CheckTypeI32,
13399 OPC_MoveSibling1,
13400 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13401 OPC_CheckPredicate1,
13402 OPC_CheckTypeI32,
13403 OPC_MoveSibling2,
13404 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13405 OPC_CheckPredicate1,
13406 OPC_CheckTypeI32,
13407 OPC_MoveSibling3,
13408 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13409 OPC_CheckPredicate1,
13410 OPC_CheckTypeI32,
13411 OPC_MoveSibling4,
13412 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13413 OPC_CheckPredicate1,
13414 OPC_CheckTypeI32,
13415 OPC_MoveSibling5,
13416 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13417 OPC_CheckPredicate1,
13418 OPC_CheckTypeI32,
13419 OPC_MoveSibling6,
13420 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13421 OPC_CheckPredicate1,
13422 OPC_CheckTypeI32,
13423 OPC_MoveSibling7,
13424 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13425 OPC_CheckPredicate1,
13426 OPC_CheckTypeI32,
13427 OPC_MoveParent,
13428 OPC_MoveParent,
13429 OPC_MoveParent,
13430 OPC_MoveParent,
13431 OPC_RecordChild1,
13432 OPC_CheckType, MVT::v8i16,
13433 OPC_CheckPatternPredicate3,
13434 OPC_CheckComplexPat1, /*#*/0,
13435 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
13436 MVT::v8i16, 2, 23,
13437 69,
13438 OPC_MoveChild0,
13439 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13440 OPC_MoveChild0,
13441 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13442 OPC_CheckPredicate1,
13443 OPC_CheckTypeI32,
13444 OPC_MoveSibling1,
13445 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13446 OPC_CheckPredicate1,
13447 OPC_CheckTypeI32,
13448 OPC_MoveSibling2,
13449 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13450 OPC_CheckPredicate1,
13451 OPC_CheckTypeI32,
13452 OPC_MoveSibling3,
13453 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13454 OPC_CheckPredicate1,
13455 OPC_CheckTypeI32,
13456 OPC_MoveSibling4,
13457 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13458 OPC_CheckPredicate1,
13459 OPC_CheckTypeI32,
13460 OPC_MoveSibling5,
13461 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13462 OPC_CheckPredicate1,
13463 OPC_CheckTypeI32,
13464 OPC_MoveSibling6,
13465 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13466 OPC_CheckPredicate1,
13467 OPC_CheckTypeI32,
13468 OPC_MoveSibling7,
13469 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13470 OPC_CheckPredicate1,
13471 OPC_CheckTypeI32,
13472 OPC_MoveParent,
13473 OPC_MoveParent,
13474 OPC_RecordChild1,
13475 OPC_MoveParent,
13476 OPC_MoveParent,
13477 OPC_RecordChild1,
13478 OPC_CheckType, MVT::v8i16,
13479 OPC_CheckPatternPredicate3,
13480 OPC_CheckComplexPat1, /*#*/0,
13481 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
13482 MVT::v8i16, 2, 23,
13483 0,
13484 106,
13485 OPC_RecordChild0,
13486 OPC_MoveChild1,
13487 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13488 OPC_RecordChild0,
13489 OPC_MoveChild1,
13490 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13491 OPC_Scope, 46,
13492 OPC_RecordChild0,
13493 OPC_MoveChild1,
13494 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13495 OPC_MoveChild0,
13496 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13497 OPC_CheckPredicate2,
13498 OPC_CheckTypeI32,
13499 OPC_MoveSibling1,
13500 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13501 OPC_CheckPredicate2,
13502 OPC_CheckTypeI32,
13503 OPC_MoveSibling2,
13504 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13505 OPC_CheckPredicate2,
13506 OPC_CheckTypeI32,
13507 OPC_MoveSibling3,
13508 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13509 OPC_CheckPredicate2,
13510 OPC_CheckTypeI32,
13511 OPC_MoveParent,
13512 OPC_MoveParent,
13513 OPC_CheckType, MVT::v4i32,
13514 OPC_MoveParent,
13515 OPC_MoveParent,
13516 OPC_CheckType, MVT::v4i32,
13517 OPC_CheckPatternPredicate3,
13518 OPC_CheckComplexPat1, /*#*/1,
13519 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
13520 MVT::v4i32, 2, 29,
13521 46,
13522 OPC_MoveChild0,
13523 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13524 OPC_MoveChild0,
13525 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13526 OPC_CheckPredicate2,
13527 OPC_CheckTypeI32,
13528 OPC_MoveSibling1,
13529 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13530 OPC_CheckPredicate2,
13531 OPC_CheckTypeI32,
13532 OPC_MoveSibling2,
13533 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13534 OPC_CheckPredicate2,
13535 OPC_CheckTypeI32,
13536 OPC_MoveSibling3,
13537 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13538 OPC_CheckPredicate2,
13539 OPC_CheckTypeI32,
13540 OPC_MoveParent,
13541 OPC_MoveParent,
13542 OPC_RecordChild1,
13543 OPC_CheckType, MVT::v4i32,
13544 OPC_MoveParent,
13545 OPC_MoveParent,
13546 OPC_CheckType, MVT::v4i32,
13547 OPC_CheckPatternPredicate3,
13548 OPC_CheckComplexPat1, /*#*/1,
13549 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
13550 MVT::v4i32, 2, 29,
13551 0,
13552 107,
13553 OPC_MoveChild0,
13554 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13555 OPC_RecordChild0,
13556 OPC_MoveChild1,
13557 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13558 OPC_Scope, 47,
13559 OPC_RecordChild0,
13560 OPC_MoveChild1,
13561 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13562 OPC_MoveChild0,
13563 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13564 OPC_CheckPredicate2,
13565 OPC_CheckTypeI32,
13566 OPC_MoveSibling1,
13567 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13568 OPC_CheckPredicate2,
13569 OPC_CheckTypeI32,
13570 OPC_MoveSibling2,
13571 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13572 OPC_CheckPredicate2,
13573 OPC_CheckTypeI32,
13574 OPC_MoveSibling3,
13575 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13576 OPC_CheckPredicate2,
13577 OPC_CheckTypeI32,
13578 OPC_MoveParent,
13579 OPC_MoveParent,
13580 OPC_CheckType, MVT::v4i32,
13581 OPC_MoveParent,
13582 OPC_MoveParent,
13583 OPC_RecordChild1,
13584 OPC_CheckType, MVT::v4i32,
13585 OPC_CheckPatternPredicate3,
13586 OPC_CheckComplexPat1, /*#*/0,
13587 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
13588 MVT::v4i32, 2, 23,
13589 47,
13590 OPC_MoveChild0,
13591 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13592 OPC_MoveChild0,
13593 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13594 OPC_CheckPredicate2,
13595 OPC_CheckTypeI32,
13596 OPC_MoveSibling1,
13597 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13598 OPC_CheckPredicate2,
13599 OPC_CheckTypeI32,
13600 OPC_MoveSibling2,
13601 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13602 OPC_CheckPredicate2,
13603 OPC_CheckTypeI32,
13604 OPC_MoveSibling3,
13605 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13606 OPC_CheckPredicate2,
13607 OPC_CheckTypeI32,
13608 OPC_MoveParent,
13609 OPC_MoveParent,
13610 OPC_RecordChild1,
13611 OPC_CheckType, MVT::v4i32,
13612 OPC_MoveParent,
13613 OPC_MoveParent,
13614 OPC_RecordChild1,
13615 OPC_CheckType, MVT::v4i32,
13616 OPC_CheckPatternPredicate3,
13617 OPC_CheckComplexPat1, /*#*/0,
13618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
13619 MVT::v4i32, 2, 23,
13620 0,
13621 74,
13622 OPC_RecordChild0,
13623 OPC_MoveChild1,
13624 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13625 OPC_RecordChild0,
13626 OPC_MoveChild1,
13627 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13628 OPC_Scope, 30,
13629 OPC_RecordChild0,
13630 OPC_MoveChild1,
13631 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13632 OPC_MoveChild0,
13633 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13634 OPC_CheckType, MVT::v4i32,
13635 OPC_MoveParent,
13636 OPC_CheckPredicate, 14,
13637 OPC_MoveParent,
13638 OPC_CheckType, MVT::v2i64,
13639 OPC_MoveParent,
13640 OPC_MoveParent,
13641 OPC_CheckType, MVT::v2i64,
13642 OPC_CheckPatternPredicate3,
13643 OPC_CheckComplexPat1, /*#*/1,
13644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
13645 MVT::v2i64, 2, 29,
13646 30,
13647 OPC_MoveChild0,
13648 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13649 OPC_MoveChild0,
13650 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13651 OPC_CheckType, MVT::v4i32,
13652 OPC_MoveParent,
13653 OPC_CheckPredicate, 14,
13654 OPC_MoveParent,
13655 OPC_RecordChild1,
13656 OPC_CheckType, MVT::v2i64,
13657 OPC_MoveParent,
13658 OPC_MoveParent,
13659 OPC_CheckType, MVT::v2i64,
13660 OPC_CheckPatternPredicate3,
13661 OPC_CheckComplexPat1, /*#*/1,
13662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
13663 MVT::v2i64, 2, 29,
13664 0,
13665 75,
13666 OPC_MoveChild0,
13667 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13668 OPC_RecordChild0,
13669 OPC_MoveChild1,
13670 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13671 OPC_Scope, 31,
13672 OPC_RecordChild0,
13673 OPC_MoveChild1,
13674 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13675 OPC_MoveChild0,
13676 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13677 OPC_CheckType, MVT::v4i32,
13678 OPC_MoveParent,
13679 OPC_CheckPredicate, 14,
13680 OPC_MoveParent,
13681 OPC_CheckType, MVT::v2i64,
13682 OPC_MoveParent,
13683 OPC_MoveParent,
13684 OPC_RecordChild1,
13685 OPC_CheckType, MVT::v2i64,
13686 OPC_CheckPatternPredicate3,
13687 OPC_CheckComplexPat1, /*#*/0,
13688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
13689 MVT::v2i64, 2, 23,
13690 31,
13691 OPC_MoveChild0,
13692 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13693 OPC_MoveChild0,
13694 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13695 OPC_CheckType, MVT::v4i32,
13696 OPC_MoveParent,
13697 OPC_CheckPredicate, 14,
13698 OPC_MoveParent,
13699 OPC_RecordChild1,
13700 OPC_CheckType, MVT::v2i64,
13701 OPC_MoveParent,
13702 OPC_MoveParent,
13703 OPC_RecordChild1,
13704 OPC_CheckType, MVT::v2i64,
13705 OPC_CheckPatternPredicate3,
13706 OPC_CheckComplexPat1, /*#*/0,
13707 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
13708 MVT::v2i64, 2, 23,
13709 0,
13710 0|128,1,
13711 OPC_RecordChild0,
13712 OPC_Scope, 64,
13713 OPC_MoveChild1,
13714 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13715 OPC_RecordChild0,
13716 OPC_RecordChild1,
13717 OPC_Scope, 25,
13718 OPC_MoveParent,
13719 OPC_SwitchType , 9, MVT::v16i8,
13720 OPC_CheckPatternPredicate0,
13721 OPC_CheckComplexPat1, /*#*/1,
13722 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
13723 MVT::v16i8, 2, 29,
13724 9, MVT::v8i16,
13725 OPC_CheckPatternPredicate0,
13726 OPC_CheckComplexPat1, /*#*/1,
13727 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
13728 MVT::v8i16, 2, 29,
13729 0,
13730 14,
13731 OPC_CheckChild1Type, MVT::v4i32,
13732 OPC_MoveParent,
13733 OPC_CheckType, MVT::v4i32,
13734 OPC_CheckPatternPredicate0,
13735 OPC_CheckComplexPat1, /*#*/1,
13736 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
13737 MVT::v4i32, 2, 29,
13738 14,
13739 OPC_CheckChild1Type, MVT::v2i64,
13740 OPC_MoveParent,
13741 OPC_CheckType, MVT::v2i64,
13742 OPC_CheckPatternPredicate0,
13743 OPC_CheckComplexPat1, /*#*/1,
13744 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
13745 MVT::v2i64, 2, 29,
13746 0,
13747 59,
13748 OPC_RecordChild1,
13749 OPC_SwitchType , 21, MVT::v16i8,
13750 OPC_CheckPatternPredicate0,
13751 OPC_Scope, 8,
13752 OPC_CheckComplexPat4, /*#*/1,
13753 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
13754 MVT::v16i8, 2, 29,
13755 8,
13756 OPC_CheckComplexPat6, /*#*/1,
13757 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
13758 MVT::v16i8, 2, 29,
13759 0,
13760 9, MVT::v8i16,
13761 OPC_CheckPatternPredicate0,
13762 OPC_CheckComplexPat4, /*#*/1,
13763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
13764 MVT::v8i16, 2, 29,
13765 9, MVT::v4i32,
13766 OPC_CheckPatternPredicate0,
13767 OPC_CheckComplexPat4, /*#*/1,
13768 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
13769 MVT::v4i32, 2, 29,
13770 9, MVT::v2i64,
13771 OPC_CheckPatternPredicate0,
13772 OPC_CheckComplexPat4, /*#*/1,
13773 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
13774 MVT::v2i64, 2, 29,
13775 0,
13776 0,
13777 67,
13778 OPC_MoveChild0,
13779 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13780 OPC_RecordChild0,
13781 OPC_RecordChild1,
13782 OPC_Scope, 26,
13783 OPC_MoveParent,
13784 OPC_RecordChild1,
13785 OPC_SwitchType , 9, MVT::v16i8,
13786 OPC_CheckPatternPredicate0,
13787 OPC_CheckComplexPat1, /*#*/0,
13788 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
13789 MVT::v16i8, 2, 23,
13790 9, MVT::v8i16,
13791 OPC_CheckPatternPredicate0,
13792 OPC_CheckComplexPat1, /*#*/0,
13793 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
13794 MVT::v8i16, 2, 23,
13795 0,
13796 15,
13797 OPC_CheckChild1Type, MVT::v4i32,
13798 OPC_MoveParent,
13799 OPC_RecordChild1,
13800 OPC_CheckType, MVT::v4i32,
13801 OPC_CheckPatternPredicate0,
13802 OPC_CheckComplexPat1, /*#*/0,
13803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
13804 MVT::v4i32, 2, 23,
13805 15,
13806 OPC_CheckChild1Type, MVT::v2i64,
13807 OPC_MoveParent,
13808 OPC_RecordChild1,
13809 OPC_CheckType, MVT::v2i64,
13810 OPC_CheckPatternPredicate0,
13811 OPC_CheckComplexPat1, /*#*/0,
13812 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
13813 MVT::v2i64, 2, 23,
13814 0,
13815 97,
13816 OPC_RecordChild0,
13817 OPC_RecordChild1,
13818 OPC_SwitchType , 28, MVT::v16i8,
13819 OPC_CheckPatternPredicate0,
13820 OPC_Scope, 8,
13821 OPC_CheckComplexPat4, /*#*/0,
13822 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
13823 MVT::v16i8, 2, 32,
13824 8,
13825 OPC_CheckComplexPat6, /*#*/0,
13826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
13827 MVT::v16i8, 2, 32,
13828 6,
13829 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V),
13830 MVT::v16i8, 2, 16,
13831 0,
13832 19, MVT::v8i16,
13833 OPC_CheckPatternPredicate0,
13834 OPC_Scope, 8,
13835 OPC_CheckComplexPat4, /*#*/0,
13836 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
13837 MVT::v8i16, 2, 32,
13838 6,
13839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_H_PSEUDO),
13840 MVT::v8i16, 2, 16,
13841 0,
13842 19, MVT::v4i32,
13843 OPC_CheckPatternPredicate0,
13844 OPC_Scope, 8,
13845 OPC_CheckComplexPat4, /*#*/0,
13846 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
13847 MVT::v4i32, 2, 32,
13848 6,
13849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_W_PSEUDO),
13850 MVT::v4i32, 2, 16,
13851 0,
13852 19, MVT::v2i64,
13853 OPC_CheckPatternPredicate0,
13854 OPC_Scope, 8,
13855 OPC_CheckComplexPat4, /*#*/0,
13856 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
13857 MVT::v2i64, 2, 32,
13858 6,
13859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_D_PSEUDO),
13860 MVT::v2i64, 2, 16,
13861 0,
13862 0,
13863 0,
13864 38|128,1, TARGET_VAL(ISD::CTLZ),
13865 OPC_Scope, 65,
13866 OPC_MoveChild0,
13867 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13868 OPC_RecordChild0,
13869 OPC_CheckChild1Integer, 127,
13870 OPC_SwitchType , 30, MVT::i32,
13871 OPC_MoveParent,
13872 OPC_CheckTypeI32,
13873 OPC_Scope, 8,
13874 OPC_CheckPatternPredicate, 67,
13875 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO),
13876 MVT::i32, 1, 1,
13877 8,
13878 OPC_CheckPatternPredicate, 87,
13879 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_R6),
13880 MVT::i32, 1, 1,
13881 7,
13882 OPC_CheckPatternPredicate4,
13883 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_MM),
13884 MVT::i32, 1, 1,
13885 0,
13886 22, MVT::i64,
13887 OPC_MoveParent,
13888 OPC_CheckTypeI64,
13889 OPC_Scope, 8,
13890 OPC_CheckPatternPredicate, 88,
13891 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO),
13892 MVT::i64, 1, 1,
13893 8,
13894 OPC_CheckPatternPredicate, 48,
13895 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO_R6),
13896 MVT::i64, 1, 1,
13897 0,
13898 0,
13899 97,
13900 OPC_RecordChild0,
13901 OPC_SwitchType , 29, MVT::i32,
13902 OPC_CheckChild0TypeI32,
13903 OPC_Scope, 8,
13904 OPC_CheckPatternPredicate, 67,
13905 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ),
13906 MVT::i32, 1, 1,
13907 8,
13908 OPC_CheckPatternPredicate, 87,
13909 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_R6),
13910 MVT::i32, 1, 1,
13911 7,
13912 OPC_CheckPatternPredicate4,
13913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_MM),
13914 MVT::i32, 1, 1,
13915 0,
13916 21, MVT::i64,
13917 OPC_CheckChild0TypeI64,
13918 OPC_Scope, 8,
13919 OPC_CheckPatternPredicate, 88,
13920 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ),
13921 MVT::i64, 1, 1,
13922 8,
13923 OPC_CheckPatternPredicate, 48,
13924 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ_R6),
13925 MVT::i64, 1, 1,
13926 0,
13927 7, MVT::v16i8,
13928 OPC_CheckPatternPredicate0,
13929 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_B),
13930 MVT::v16i8, 1, 1,
13931 7, MVT::v8i16,
13932 OPC_CheckPatternPredicate0,
13933 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_H),
13934 MVT::v8i16, 1, 1,
13935 9, MVT::v4i32,
13936 OPC_CheckChild0Type, MVT::v4i32,
13937 OPC_CheckPatternPredicate0,
13938 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_W),
13939 MVT::v4i32, 1, 1,
13940 9, MVT::v2i64,
13941 OPC_CheckChild0Type, MVT::v2i64,
13942 OPC_CheckPatternPredicate0,
13943 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_D),
13944 MVT::v2i64, 1, 1,
13945 0,
13946 0,
13947 3|128,4, TARGET_VAL(ISD::ZERO_EXTEND),
13948 OPC_Scope, 81|128,3,
13949 OPC_MoveChild0,
13950 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::ADD),
13951 OPC_RecordChild0,
13952 OPC_RecordChild1,
13953 OPC_Scope, 32,
13954 OPC_MoveChild1,
13955 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13956 OPC_CheckPredicate, 8,
13957 OPC_MoveParent,
13958 OPC_MoveParent,
13959 OPC_CheckPredicate, 19,
13960 OPC_CheckTypeI64,
13961 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13962 MVT::i64, 0,
13963 OPC_EmitConvertToTarget1,
13964 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
13965 MVT::i32, 2, 47,
13966 OPC_EmitIntegerI32, Mips::sub_32,
13967 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13968 MVT::i64, 3, 4|128,1,
13969 23,
13970 OPC_MoveParent,
13971 OPC_CheckPredicate, 19,
13972 OPC_CheckTypeI64,
13973 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13974 MVT::i64, 0,
13975 OPC_EmitNode1None, TARGET_VAL(Mips::ADDu),
13976 MVT::i32, 2, 16,
13977 OPC_EmitIntegerI32, Mips::sub_32,
13978 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13979 MVT::i64, 3, 111,
13980 0,
13981 79, TARGET_VAL(ISD::SHL),
13982 OPC_RecordChild0,
13983 OPC_RecordChild1,
13984 OPC_Scope, 49,
13985 OPC_MoveChild1,
13986 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13987 OPC_CheckPredicate3,
13988 OPC_CheckTypeI32,
13989 OPC_MoveParent,
13990 OPC_MoveParent,
13991 OPC_CheckTypeI64,
13992 OPC_Scope, 23,
13993 OPC_CheckPredicate, 19,
13994 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13995 MVT::i64, 0,
13996 OPC_EmitConvertToTarget1,
13997 OPC_EmitNode1None, TARGET_VAL(Mips::SLL),
13998 MVT::i32, 2, 47,
13999 OPC_EmitIntegerI32, Mips::sub_32,
14000 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14001 MVT::i64, 3, 4|128,1,
14002 13,
14003 OPC_CheckPatternPredicate, 113,
14004 OPC_EmitConvertToTarget1,
14005 OPC_EmitConvertToTarget1,
14006 OPC_EmitNodeXForm, 4, 3,
14007 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS64_32),
14008 MVT::i64, 3, 98,
14009 0,
14010 24,
14011 OPC_CheckChild1TypeI32,
14012 OPC_MoveParent,
14013 OPC_CheckPredicate, 19,
14014 OPC_CheckTypeI64,
14015 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14016 MVT::i64, 0,
14017 OPC_EmitNode1None, TARGET_VAL(Mips::SLLV),
14018 MVT::i32, 2, 16,
14019 OPC_EmitIntegerI32, Mips::sub_32,
14020 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14021 MVT::i64, 3, 111,
14022 0,
14023 62, TARGET_VAL(ISD::SRL),
14024 OPC_RecordChild0,
14025 OPC_RecordChild1,
14026 OPC_Scope, 32,
14027 OPC_MoveChild1,
14028 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14029 OPC_CheckPredicate3,
14030 OPC_CheckTypeI32,
14031 OPC_MoveParent,
14032 OPC_MoveParent,
14033 OPC_CheckPredicate, 19,
14034 OPC_CheckTypeI64,
14035 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14036 MVT::i64, 0,
14037 OPC_EmitConvertToTarget1,
14038 OPC_EmitNode1None, TARGET_VAL(Mips::SRL),
14039 MVT::i32, 2, 47,
14040 OPC_EmitIntegerI32, Mips::sub_32,
14041 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14042 MVT::i64, 3, 4|128,1,
14043 24,
14044 OPC_CheckChild1TypeI32,
14045 OPC_MoveParent,
14046 OPC_CheckPredicate, 19,
14047 OPC_CheckTypeI64,
14048 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14049 MVT::i64, 0,
14050 OPC_EmitNode1None, TARGET_VAL(Mips::SRLV),
14051 MVT::i32, 2, 16,
14052 OPC_EmitIntegerI32, Mips::sub_32,
14053 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14054 MVT::i64, 3, 111,
14055 0,
14056 62, TARGET_VAL(ISD::SRA),
14057 OPC_RecordChild0,
14058 OPC_RecordChild1,
14059 OPC_Scope, 32,
14060 OPC_MoveChild1,
14061 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14062 OPC_CheckPredicate3,
14063 OPC_CheckTypeI32,
14064 OPC_MoveParent,
14065 OPC_MoveParent,
14066 OPC_CheckPredicate, 19,
14067 OPC_CheckTypeI64,
14068 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14069 MVT::i64, 0,
14070 OPC_EmitConvertToTarget1,
14071 OPC_EmitNode1None, TARGET_VAL(Mips::SRA),
14072 MVT::i32, 2, 47,
14073 OPC_EmitIntegerI32, Mips::sub_32,
14074 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14075 MVT::i64, 3, 4|128,1,
14076 24,
14077 OPC_CheckChild1TypeI32,
14078 OPC_MoveParent,
14079 OPC_CheckPredicate, 19,
14080 OPC_CheckTypeI64,
14081 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14082 MVT::i64, 0,
14083 OPC_EmitNode1None, TARGET_VAL(Mips::SRAV),
14084 MVT::i32, 2, 16,
14085 OPC_EmitIntegerI32, Mips::sub_32,
14086 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14087 MVT::i64, 3, 111,
14088 0,
14089 69, TARGET_VAL(ISD::SETCC),
14090 OPC_RecordChild0,
14091 OPC_CheckChild0TypeI64,
14092 OPC_RecordChild1,
14093 OPC_Scope, 37,
14094 OPC_MoveChild1,
14095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14096 OPC_CheckPredicate, 54,
14097 OPC_MoveParent,
14098 OPC_Scope, 13,
14099 OPC_CheckChild2CondCode, ISD::SETEQ,
14100 OPC_MoveParent,
14101 OPC_CheckTypeI64,
14102 OPC_CheckPatternPredicate, 28,
14103 OPC_EmitConvertToTarget1,
14104 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQi),
14105 MVT::i64, 2, 29,
14106 13,
14107 OPC_CheckChild2CondCode, ISD::SETNE,
14108 OPC_MoveParent,
14109 OPC_CheckTypeI64,
14110 OPC_CheckPatternPredicate, 28,
14111 OPC_EmitConvertToTarget1,
14112 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNEi),
14113 MVT::i64, 2, 29,
14114 0,
14115 12,
14116 OPC_CheckChild2CondCode, ISD::SETEQ,
14117 OPC_MoveParent,
14118 OPC_CheckTypeI64,
14119 OPC_CheckPatternPredicate, 28,
14120 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQ),
14121 MVT::i64, 2, 16,
14122 12,
14123 OPC_CheckChild2CondCode, ISD::SETNE,
14124 OPC_MoveParent,
14125 OPC_CheckTypeI64,
14126 OPC_CheckPatternPredicate, 28,
14127 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNE),
14128 MVT::i64, 2, 16,
14129 0,
14130 25, TARGET_VAL(ISD::SUB),
14131 OPC_RecordChild0,
14132 OPC_RecordChild1,
14133 OPC_MoveParent,
14134 OPC_CheckPredicate, 19,
14135 OPC_CheckTypeI64,
14136 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14137 MVT::i64, 0,
14138 OPC_EmitNode1None, TARGET_VAL(Mips::SUBu),
14139 MVT::i32, 2, 16,
14140 OPC_EmitIntegerI32, Mips::sub_32,
14141 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14142 MVT::i64, 3, 111,
14143 29, TARGET_VAL(ISD::MUL),
14144 OPC_RecordChild0,
14145 OPC_RecordChild1,
14146 OPC_MoveParent,
14147 OPC_CheckPredicate, 19,
14148 OPC_CheckTypeI64,
14149 OPC_CheckPatternPredicate, 89,
14150 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14151 MVT::i64, 0,
14152 OPC_EmitNode2None, TARGET_VAL(Mips::MUL),
14153 MVT::i32, MVT::i32, 2, 16,
14154 OPC_EmitIntegerI32, Mips::sub_32,
14155 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14156 MVT::i64, 3, 1|128,1,
14157 24, TARGET_VAL(MipsISD::MFHI),
14158 OPC_RecordChild0,
14159 OPC_MoveParent,
14160 OPC_CheckPredicate, 19,
14161 OPC_CheckTypeI64,
14162 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14163 MVT::i64, 0,
14164 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFHI),
14165 MVT::i32, 1, 1,
14166 OPC_EmitIntegerI32, Mips::sub_32,
14167 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14168 MVT::i64, 3, 58,
14169 24, TARGET_VAL(MipsISD::MFLO),
14170 OPC_RecordChild0,
14171 OPC_MoveParent,
14172 OPC_CheckPredicate, 19,
14173 OPC_CheckTypeI64,
14174 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14175 MVT::i64, 0,
14176 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFLO),
14177 MVT::i32, 1, 1,
14178 OPC_EmitIntegerI32, Mips::sub_32,
14179 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14180 MVT::i64, 3, 58,
14181 0,
14182 45,
14183 OPC_RecordChild0,
14184 OPC_CheckTypeI64,
14185 OPC_Scope, 10,
14186 OPC_CheckPredicate, 19,
14187 OPC_CheckPatternPredicate, 9,
14188 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_32),
14189 MVT::i64, 1, 1,
14190 12,
14191 OPC_CheckPatternPredicate, 114,
14192 OPC_EmitIntegerI32, 0,
14193 OPC_EmitIntegerI32, 32,
14194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT64_32),
14195 MVT::i64, 3, 31,
14196 16,
14197 OPC_CheckPatternPredicate, 9,
14198 OPC_EmitNode1None, TARGET_VAL(Mips::DSLL64_32),
14199 MVT::i64, 1, 1,
14200 OPC_EmitIntegerI32, 32,
14201 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
14202 MVT::i64, 2, 32,
14203 0,
14204 0,
14205 66, TARGET_VAL(MipsISD::CIns),
14206 OPC_RecordChild0,
14207 OPC_RecordChild1,
14208 OPC_MoveChild1,
14209 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14210 OPC_Scope, 18,
14211 OPC_CheckPredicate3,
14212 OPC_MoveSibling2,
14213 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14214 OPC_RecordNode,
14215 OPC_MoveParent,
14216 OPC_CheckTypeI64,
14217 OPC_CheckPatternPredicate, 76,
14218 OPC_EmitConvertToTarget1,
14219 OPC_EmitConvertToTarget2,
14220 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS),
14221 MVT::i64, 3, 105,
14222 19,
14223 OPC_CheckPredicate, 44,
14224 OPC_MoveSibling2,
14225 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14226 OPC_RecordNode,
14227 OPC_MoveParent,
14228 OPC_CheckTypeI64,
14229 OPC_CheckPatternPredicate, 76,
14230 OPC_EmitConvertToTarget1,
14231 OPC_EmitConvertToTarget2,
14232 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS32),
14233 MVT::i64, 3, 105,
14234 18,
14235 OPC_CheckPredicate3,
14236 OPC_MoveSibling2,
14237 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14238 OPC_RecordNode,
14239 OPC_MoveParent,
14240 OPC_CheckTypeI32,
14241 OPC_CheckPatternPredicate, 76,
14242 OPC_EmitConvertToTarget1,
14243 OPC_EmitConvertToTarget2,
14244 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS_i32),
14245 MVT::i32, 3, 105,
14246 0,
14247 98|128,12, TARGET_VAL(ISD::ADD),
14248 OPC_Scope, 39,
14249 OPC_RecordChild0,
14250 OPC_MoveChild1,
14251 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14252 OPC_RecordChild0,
14253 OPC_RecordChild1,
14254 OPC_MoveChild1,
14255 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14256 OPC_CheckPredicate, 48,
14257 OPC_CheckTypeI32,
14258 OPC_MoveParent,
14259 OPC_MoveParent,
14260 OPC_SwitchType , 8, MVT::i32,
14261 OPC_CheckPatternPredicate0,
14262 OPC_EmitConvertToTarget2,
14263 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
14264 MVT::i32, 3, 46,
14265 9, MVT::i64,
14266 OPC_CheckPatternPredicate, 56,
14267 OPC_EmitConvertToTarget2,
14268 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
14269 MVT::i64, 3, 46,
14270 0,
14271 39,
14272 OPC_MoveChild0,
14273 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14274 OPC_RecordChild0,
14275 OPC_RecordChild1,
14276 OPC_MoveChild1,
14277 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14278 OPC_CheckPredicate, 48,
14279 OPC_CheckTypeI32,
14280 OPC_MoveParent,
14281 OPC_MoveParent,
14282 OPC_RecordChild1,
14283 OPC_SwitchType , 8, MVT::i32,
14284 OPC_CheckPatternPredicate0,
14285 OPC_EmitConvertToTarget1,
14286 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
14287 MVT::i32, 3, 55,
14288 9, MVT::i64,
14289 OPC_CheckPatternPredicate, 56,
14290 OPC_EmitConvertToTarget1,
14291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
14292 MVT::i64, 3, 55,
14293 0,
14294 37|128,4,
14295 OPC_RecordChild0,
14296 OPC_MoveChild1,
14297 OPC_SwitchOpcode , 50|128,2, TARGET_VAL(MipsISD::Lo),
14298 OPC_RecordChild0,
14299 OPC_MoveChild0,
14300 OPC_SwitchOpcode , 54, TARGET_VAL(ISD::TargetGlobalAddress),
14301 OPC_MoveParent,
14302 OPC_MoveParent,
14303 OPC_SwitchType , 26, MVT::i32,
14304 OPC_Scope, 7,
14305 OPC_CheckPatternPredicate2,
14306 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14307 MVT::i32, 2, 16,
14308 7,
14309 OPC_CheckPatternPredicate5,
14310 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
14311 MVT::i32, 2, 16,
14312 7,
14313 OPC_CheckPatternPredicate4,
14314 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14315 MVT::i32, 2, 16,
14316 0,
14317 20, MVT::i64,
14318 OPC_Scope, 8,
14319 OPC_CheckPatternPredicate, 25,
14320 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14321 MVT::i64, 2, 16,
14322 8,
14323 OPC_CheckPatternPredicate, 12,
14324 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14325 MVT::i64, 2, 16,
14326 0,
14327 0,
14328 46, TARGET_VAL(ISD::TargetBlockAddress),
14329 OPC_MoveParent,
14330 OPC_MoveParent,
14331 OPC_SwitchType , 18, MVT::i32,
14332 OPC_Scope, 7,
14333 OPC_CheckPatternPredicate2,
14334 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14335 MVT::i32, 2, 16,
14336 7,
14337 OPC_CheckPatternPredicate4,
14338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14339 MVT::i32, 2, 16,
14340 0,
14341 20, MVT::i64,
14342 OPC_Scope, 8,
14343 OPC_CheckPatternPredicate, 25,
14344 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14345 MVT::i64, 2, 16,
14346 8,
14347 OPC_CheckPatternPredicate, 12,
14348 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14349 MVT::i64, 2, 16,
14350 0,
14351 0,
14352 46, TARGET_VAL(ISD::TargetJumpTable),
14353 OPC_MoveParent,
14354 OPC_MoveParent,
14355 OPC_SwitchType , 18, MVT::i32,
14356 OPC_Scope, 7,
14357 OPC_CheckPatternPredicate2,
14358 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14359 MVT::i32, 2, 16,
14360 7,
14361 OPC_CheckPatternPredicate4,
14362 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14363 MVT::i32, 2, 16,
14364 0,
14365 20, MVT::i64,
14366 OPC_Scope, 8,
14367 OPC_CheckPatternPredicate, 25,
14368 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14369 MVT::i64, 2, 16,
14370 8,
14371 OPC_CheckPatternPredicate, 12,
14372 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14373 MVT::i64, 2, 16,
14374 0,
14375 0,
14376 46, TARGET_VAL(ISD::TargetConstantPool),
14377 OPC_MoveParent,
14378 OPC_MoveParent,
14379 OPC_SwitchType , 18, MVT::i32,
14380 OPC_Scope, 7,
14381 OPC_CheckPatternPredicate2,
14382 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14383 MVT::i32, 2, 16,
14384 7,
14385 OPC_CheckPatternPredicate4,
14386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14387 MVT::i32, 2, 16,
14388 0,
14389 20, MVT::i64,
14390 OPC_Scope, 8,
14391 OPC_CheckPatternPredicate, 25,
14392 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14393 MVT::i64, 2, 16,
14394 8,
14395 OPC_CheckPatternPredicate, 12,
14396 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14397 MVT::i64, 2, 16,
14398 0,
14399 0,
14400 46, TARGET_VAL(ISD::TargetGlobalTLSAddress),
14401 OPC_MoveParent,
14402 OPC_MoveParent,
14403 OPC_SwitchType , 18, MVT::i32,
14404 OPC_Scope, 7,
14405 OPC_CheckPatternPredicate2,
14406 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14407 MVT::i32, 2, 16,
14408 7,
14409 OPC_CheckPatternPredicate4,
14410 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14411 MVT::i32, 2, 16,
14412 0,
14413 20, MVT::i64,
14414 OPC_Scope, 8,
14415 OPC_CheckPatternPredicate, 25,
14416 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14417 MVT::i64, 2, 16,
14418 8,
14419 OPC_CheckPatternPredicate, 12,
14420 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14421 MVT::i64, 2, 16,
14422 0,
14423 0,
14424 46, TARGET_VAL(ISD::TargetExternalSymbol),
14425 OPC_MoveParent,
14426 OPC_MoveParent,
14427 OPC_SwitchType , 18, MVT::i32,
14428 OPC_Scope, 7,
14429 OPC_CheckPatternPredicate2,
14430 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14431 MVT::i32, 2, 16,
14432 7,
14433 OPC_CheckPatternPredicate4,
14434 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14435 MVT::i32, 2, 16,
14436 0,
14437 20, MVT::i64,
14438 OPC_Scope, 8,
14439 OPC_CheckPatternPredicate, 25,
14440 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14441 MVT::i64, 2, 16,
14442 8,
14443 OPC_CheckPatternPredicate, 12,
14444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14445 MVT::i64, 2, 16,
14446 0,
14447 0,
14448 0,
14449 78, TARGET_VAL(MipsISD::GPRel),
14450 OPC_RecordChild0,
14451 OPC_MoveChild0,
14452 OPC_SwitchOpcode , 34, TARGET_VAL(ISD::TargetGlobalAddress),
14453 OPC_MoveParent,
14454 OPC_MoveParent,
14455 OPC_SwitchType , 18, MVT::i32,
14456 OPC_Scope, 7,
14457 OPC_CheckPatternPredicate2,
14458 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14459 MVT::i32, 2, 16,
14460 7,
14461 OPC_CheckPatternPredicate4,
14462 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14463 MVT::i32, 2, 16,
14464 0,
14465 8, MVT::i64,
14466 OPC_CheckPatternPredicate, 61,
14467 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14468 MVT::i64, 2, 16,
14469 0,
14470 34, TARGET_VAL(ISD::TargetConstantPool),
14471 OPC_MoveParent,
14472 OPC_MoveParent,
14473 OPC_SwitchType , 18, MVT::i32,
14474 OPC_Scope, 7,
14475 OPC_CheckPatternPredicate2,
14476 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14477 MVT::i32, 2, 16,
14478 7,
14479 OPC_CheckPatternPredicate4,
14480 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14481 MVT::i32, 2, 16,
14482 0,
14483 8, MVT::i64,
14484 OPC_CheckPatternPredicate, 61,
14485 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14486 MVT::i64, 2, 16,
14487 0,
14488 0,
14489 74, TARGET_VAL(MipsISD::Higher),
14490 OPC_RecordChild0,
14491 OPC_MoveChild0,
14492 OPC_SwitchOpcode , 11, TARGET_VAL(ISD::TargetGlobalAddress),
14493 OPC_MoveParent,
14494 OPC_MoveParent,
14495 OPC_CheckTypeI64,
14496 OPC_CheckPatternPredicate, 12,
14497 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14498 MVT::i64, 2, 16,
14499 11, TARGET_VAL(ISD::TargetBlockAddress),
14500 OPC_MoveParent,
14501 OPC_MoveParent,
14502 OPC_CheckTypeI64,
14503 OPC_CheckPatternPredicate, 12,
14504 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14505 MVT::i64, 2, 16,
14506 11, TARGET_VAL(ISD::TargetJumpTable),
14507 OPC_MoveParent,
14508 OPC_MoveParent,
14509 OPC_CheckTypeI64,
14510 OPC_CheckPatternPredicate, 12,
14511 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14512 MVT::i64, 2, 16,
14513 11, TARGET_VAL(ISD::TargetConstantPool),
14514 OPC_MoveParent,
14515 OPC_MoveParent,
14516 OPC_CheckTypeI64,
14517 OPC_CheckPatternPredicate, 12,
14518 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14519 MVT::i64, 2, 16,
14520 11, TARGET_VAL(ISD::TargetExternalSymbol),
14521 OPC_MoveParent,
14522 OPC_MoveParent,
14523 OPC_CheckTypeI64,
14524 OPC_CheckPatternPredicate, 12,
14525 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14526 MVT::i64, 2, 16,
14527 0,
14528 74, TARGET_VAL(MipsISD::Hi),
14529 OPC_RecordChild0,
14530 OPC_MoveChild0,
14531 OPC_SwitchOpcode , 11, TARGET_VAL(ISD::TargetGlobalAddress),
14532 OPC_MoveParent,
14533 OPC_MoveParent,
14534 OPC_CheckTypeI64,
14535 OPC_CheckPatternPredicate, 12,
14536 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14537 MVT::i64, 2, 16,
14538 11, TARGET_VAL(ISD::TargetBlockAddress),
14539 OPC_MoveParent,
14540 OPC_MoveParent,
14541 OPC_CheckTypeI64,
14542 OPC_CheckPatternPredicate, 12,
14543 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14544 MVT::i64, 2, 16,
14545 11, TARGET_VAL(ISD::TargetJumpTable),
14546 OPC_MoveParent,
14547 OPC_MoveParent,
14548 OPC_CheckTypeI64,
14549 OPC_CheckPatternPredicate, 12,
14550 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14551 MVT::i64, 2, 16,
14552 11, TARGET_VAL(ISD::TargetConstantPool),
14553 OPC_MoveParent,
14554 OPC_MoveParent,
14555 OPC_CheckTypeI64,
14556 OPC_CheckPatternPredicate, 12,
14557 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14558 MVT::i64, 2, 16,
14559 11, TARGET_VAL(ISD::TargetExternalSymbol),
14560 OPC_MoveParent,
14561 OPC_MoveParent,
14562 OPC_CheckTypeI64,
14563 OPC_CheckPatternPredicate, 12,
14564 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14565 MVT::i64, 2, 16,
14566 0,
14567 0,
14568 54|128,4,
14569 OPC_MoveChild0,
14570 OPC_SwitchOpcode , 56|128,2, TARGET_VAL(MipsISD::Lo),
14571 OPC_RecordChild0,
14572 OPC_MoveChild0,
14573 OPC_SwitchOpcode , 55, TARGET_VAL(ISD::TargetGlobalAddress),
14574 OPC_MoveParent,
14575 OPC_MoveParent,
14576 OPC_RecordChild1,
14577 OPC_SwitchType , 26, MVT::i32,
14578 OPC_Scope, 7,
14579 OPC_CheckPatternPredicate2,
14580 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14581 MVT::i32, 2, 3,
14582 7,
14583 OPC_CheckPatternPredicate5,
14584 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
14585 MVT::i32, 2, 3,
14586 7,
14587 OPC_CheckPatternPredicate4,
14588 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14589 MVT::i32, 2, 3,
14590 0,
14591 20, MVT::i64,
14592 OPC_Scope, 8,
14593 OPC_CheckPatternPredicate, 25,
14594 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14595 MVT::i64, 2, 3,
14596 8,
14597 OPC_CheckPatternPredicate, 12,
14598 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14599 MVT::i64, 2, 3,
14600 0,
14601 0,
14602 47, TARGET_VAL(ISD::TargetBlockAddress),
14603 OPC_MoveParent,
14604 OPC_MoveParent,
14605 OPC_RecordChild1,
14606 OPC_SwitchType , 18, MVT::i32,
14607 OPC_Scope, 7,
14608 OPC_CheckPatternPredicate2,
14609 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14610 MVT::i32, 2, 3,
14611 7,
14612 OPC_CheckPatternPredicate4,
14613 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14614 MVT::i32, 2, 3,
14615 0,
14616 20, MVT::i64,
14617 OPC_Scope, 8,
14618 OPC_CheckPatternPredicate, 25,
14619 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14620 MVT::i64, 2, 3,
14621 8,
14622 OPC_CheckPatternPredicate, 12,
14623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14624 MVT::i64, 2, 3,
14625 0,
14626 0,
14627 47, TARGET_VAL(ISD::TargetJumpTable),
14628 OPC_MoveParent,
14629 OPC_MoveParent,
14630 OPC_RecordChild1,
14631 OPC_SwitchType , 18, MVT::i32,
14632 OPC_Scope, 7,
14633 OPC_CheckPatternPredicate2,
14634 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14635 MVT::i32, 2, 3,
14636 7,
14637 OPC_CheckPatternPredicate4,
14638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14639 MVT::i32, 2, 3,
14640 0,
14641 20, MVT::i64,
14642 OPC_Scope, 8,
14643 OPC_CheckPatternPredicate, 25,
14644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14645 MVT::i64, 2, 3,
14646 8,
14647 OPC_CheckPatternPredicate, 12,
14648 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14649 MVT::i64, 2, 3,
14650 0,
14651 0,
14652 47, TARGET_VAL(ISD::TargetConstantPool),
14653 OPC_MoveParent,
14654 OPC_MoveParent,
14655 OPC_RecordChild1,
14656 OPC_SwitchType , 18, MVT::i32,
14657 OPC_Scope, 7,
14658 OPC_CheckPatternPredicate2,
14659 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14660 MVT::i32, 2, 3,
14661 7,
14662 OPC_CheckPatternPredicate4,
14663 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14664 MVT::i32, 2, 3,
14665 0,
14666 20, MVT::i64,
14667 OPC_Scope, 8,
14668 OPC_CheckPatternPredicate, 25,
14669 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14670 MVT::i64, 2, 3,
14671 8,
14672 OPC_CheckPatternPredicate, 12,
14673 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14674 MVT::i64, 2, 3,
14675 0,
14676 0,
14677 47, TARGET_VAL(ISD::TargetGlobalTLSAddress),
14678 OPC_MoveParent,
14679 OPC_MoveParent,
14680 OPC_RecordChild1,
14681 OPC_SwitchType , 18, MVT::i32,
14682 OPC_Scope, 7,
14683 OPC_CheckPatternPredicate2,
14684 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14685 MVT::i32, 2, 3,
14686 7,
14687 OPC_CheckPatternPredicate4,
14688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14689 MVT::i32, 2, 3,
14690 0,
14691 20, MVT::i64,
14692 OPC_Scope, 8,
14693 OPC_CheckPatternPredicate, 25,
14694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14695 MVT::i64, 2, 3,
14696 8,
14697 OPC_CheckPatternPredicate, 12,
14698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14699 MVT::i64, 2, 3,
14700 0,
14701 0,
14702 47, TARGET_VAL(ISD::TargetExternalSymbol),
14703 OPC_MoveParent,
14704 OPC_MoveParent,
14705 OPC_RecordChild1,
14706 OPC_SwitchType , 18, MVT::i32,
14707 OPC_Scope, 7,
14708 OPC_CheckPatternPredicate2,
14709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14710 MVT::i32, 2, 3,
14711 7,
14712 OPC_CheckPatternPredicate4,
14713 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14714 MVT::i32, 2, 3,
14715 0,
14716 20, MVT::i64,
14717 OPC_Scope, 8,
14718 OPC_CheckPatternPredicate, 25,
14719 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14720 MVT::i64, 2, 3,
14721 8,
14722 OPC_CheckPatternPredicate, 12,
14723 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14724 MVT::i64, 2, 3,
14725 0,
14726 0,
14727 0,
14728 80, TARGET_VAL(MipsISD::GPRel),
14729 OPC_RecordChild0,
14730 OPC_MoveChild0,
14731 OPC_SwitchOpcode , 35, TARGET_VAL(ISD::TargetGlobalAddress),
14732 OPC_MoveParent,
14733 OPC_MoveParent,
14734 OPC_RecordChild1,
14735 OPC_SwitchType , 18, MVT::i32,
14736 OPC_Scope, 7,
14737 OPC_CheckPatternPredicate2,
14738 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14739 MVT::i32, 2, 3,
14740 7,
14741 OPC_CheckPatternPredicate4,
14742 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14743 MVT::i32, 2, 3,
14744 0,
14745 8, MVT::i64,
14746 OPC_CheckPatternPredicate, 61,
14747 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14748 MVT::i64, 2, 3,
14749 0,
14750 35, TARGET_VAL(ISD::TargetConstantPool),
14751 OPC_MoveParent,
14752 OPC_MoveParent,
14753 OPC_RecordChild1,
14754 OPC_SwitchType , 18, MVT::i32,
14755 OPC_Scope, 7,
14756 OPC_CheckPatternPredicate2,
14757 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14758 MVT::i32, 2, 3,
14759 7,
14760 OPC_CheckPatternPredicate4,
14761 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14762 MVT::i32, 2, 3,
14763 0,
14764 8, MVT::i64,
14765 OPC_CheckPatternPredicate, 61,
14766 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14767 MVT::i64, 2, 3,
14768 0,
14769 0,
14770 79, TARGET_VAL(MipsISD::Higher),
14771 OPC_RecordChild0,
14772 OPC_MoveChild0,
14773 OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
14774 OPC_MoveParent,
14775 OPC_MoveParent,
14776 OPC_RecordChild1,
14777 OPC_CheckTypeI64,
14778 OPC_CheckPatternPredicate, 12,
14779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14780 MVT::i64, 2, 3,
14781 12, TARGET_VAL(ISD::TargetBlockAddress),
14782 OPC_MoveParent,
14783 OPC_MoveParent,
14784 OPC_RecordChild1,
14785 OPC_CheckTypeI64,
14786 OPC_CheckPatternPredicate, 12,
14787 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14788 MVT::i64, 2, 3,
14789 12, TARGET_VAL(ISD::TargetJumpTable),
14790 OPC_MoveParent,
14791 OPC_MoveParent,
14792 OPC_RecordChild1,
14793 OPC_CheckTypeI64,
14794 OPC_CheckPatternPredicate, 12,
14795 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14796 MVT::i64, 2, 3,
14797 12, TARGET_VAL(ISD::TargetConstantPool),
14798 OPC_MoveParent,
14799 OPC_MoveParent,
14800 OPC_RecordChild1,
14801 OPC_CheckTypeI64,
14802 OPC_CheckPatternPredicate, 12,
14803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14804 MVT::i64, 2, 3,
14805 12, TARGET_VAL(ISD::TargetExternalSymbol),
14806 OPC_MoveParent,
14807 OPC_MoveParent,
14808 OPC_RecordChild1,
14809 OPC_CheckTypeI64,
14810 OPC_CheckPatternPredicate, 12,
14811 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14812 MVT::i64, 2, 3,
14813 0,
14814 79, TARGET_VAL(MipsISD::Hi),
14815 OPC_RecordChild0,
14816 OPC_MoveChild0,
14817 OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
14818 OPC_MoveParent,
14819 OPC_MoveParent,
14820 OPC_RecordChild1,
14821 OPC_CheckTypeI64,
14822 OPC_CheckPatternPredicate, 12,
14823 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14824 MVT::i64, 2, 3,
14825 12, TARGET_VAL(ISD::TargetBlockAddress),
14826 OPC_MoveParent,
14827 OPC_MoveParent,
14828 OPC_RecordChild1,
14829 OPC_CheckTypeI64,
14830 OPC_CheckPatternPredicate, 12,
14831 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14832 MVT::i64, 2, 3,
14833 12, TARGET_VAL(ISD::TargetJumpTable),
14834 OPC_MoveParent,
14835 OPC_MoveParent,
14836 OPC_RecordChild1,
14837 OPC_CheckTypeI64,
14838 OPC_CheckPatternPredicate, 12,
14839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14840 MVT::i64, 2, 3,
14841 12, TARGET_VAL(ISD::TargetConstantPool),
14842 OPC_MoveParent,
14843 OPC_MoveParent,
14844 OPC_RecordChild1,
14845 OPC_CheckTypeI64,
14846 OPC_CheckPatternPredicate, 12,
14847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14848 MVT::i64, 2, 3,
14849 12, TARGET_VAL(ISD::TargetExternalSymbol),
14850 OPC_MoveParent,
14851 OPC_MoveParent,
14852 OPC_RecordChild1,
14853 OPC_CheckTypeI64,
14854 OPC_CheckPatternPredicate, 12,
14855 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14856 MVT::i64, 2, 3,
14857 0,
14858 0,
14859 69|128,2,
14860 OPC_RecordChild0,
14861 OPC_Scope, 18|128,2,
14862 OPC_RecordChild1,
14863 OPC_Scope, 111,
14864 OPC_MoveChild1,
14865 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14866 OPC_Scope, 12,
14867 OPC_CheckPredicate, 55,
14868 OPC_MoveParent,
14869 OPC_CheckTypeI32,
14870 OPC_CheckPatternPredicate2,
14871 OPC_EmitConvertToTarget1,
14872 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
14873 MVT::i32, 2, 29,
14874 13,
14875 OPC_CheckPredicate, 8,
14876 OPC_MoveParent,
14877 OPC_CheckTypeI64,
14878 OPC_CheckPatternPredicate, 26,
14879 OPC_EmitConvertToTarget1,
14880 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
14881 MVT::i64, 2, 29,
14882 12,
14883 OPC_CheckPredicate, 56,
14884 OPC_MoveParent,
14885 OPC_CheckTypeI32,
14886 OPC_CheckPatternPredicate5,
14887 OPC_EmitConvertToTarget1,
14888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImm16),
14889 MVT::i32, 2, 29,
14890 12,
14891 OPC_CheckPredicate, 8,
14892 OPC_MoveParent,
14893 OPC_CheckTypeI32,
14894 OPC_CheckPatternPredicate5,
14895 OPC_EmitConvertToTarget1,
14896 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
14897 MVT::i32, 2, 29,
14898 12,
14899 OPC_CheckPredicate, 57,
14900 OPC_MoveParent,
14901 OPC_CheckTypeI32,
14902 OPC_CheckPatternPredicate4,
14903 OPC_EmitConvertToTarget1,
14904 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUR2_MM),
14905 MVT::i32, 2, 29,
14906 12,
14907 OPC_CheckPredicate, 58,
14908 OPC_MoveParent,
14909 OPC_CheckTypeI32,
14910 OPC_CheckPatternPredicate4,
14911 OPC_EmitConvertToTarget1,
14912 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUS5_MM),
14913 MVT::i32, 2, 29,
14914 25,
14915 OPC_CheckPredicate, 8,
14916 OPC_MoveParent,
14917 OPC_CheckTypeI32,
14918 OPC_Scope, 8,
14919 OPC_CheckPatternPredicate4,
14920 OPC_EmitConvertToTarget1,
14921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
14922 MVT::i32, 2, 29,
14923 9,
14924 OPC_CheckPatternPredicate, 8,
14925 OPC_EmitConvertToTarget1,
14926 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIU_MMR6),
14927 MVT::i32, 2, 29,
14928 0,
14929 0,
14930 46,
14931 OPC_CheckTypeI32,
14932 OPC_Scope, 8,
14933 OPC_CheckPatternPredicate, 8,
14934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MMR6),
14935 MVT::i32, 2, 16,
14936 7,
14937 OPC_CheckPatternPredicate2,
14938 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu),
14939 MVT::i32, 2, 16,
14940 7,
14941 OPC_CheckPatternPredicate5,
14942 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AdduRxRyRz16),
14943 MVT::i32, 2, 16,
14944 17,
14945 OPC_CheckPatternPredicate7,
14946 OPC_Scope, 6,
14947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MM),
14948 MVT::i32, 2, 16,
14949 6,
14950 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu_MM),
14951 MVT::i32, 2, 16,
14952 0,
14953 0,
14954 9,
14955 OPC_CheckTypeI64,
14956 OPC_CheckPatternPredicate, 26,
14957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDu),
14958 MVT::i64, 2, 16,
14959 25,
14960 OPC_CheckType, MVT::v16i8,
14961 OPC_CheckPatternPredicate0,
14962 OPC_Scope, 9,
14963 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
14964 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
14965 MVT::v16i8, 2, 29,
14966 9,
14967 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
14968 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
14969 MVT::v16i8, 2, 32,
14970 0,
14971 25,
14972 OPC_CheckType, MVT::v8i16,
14973 OPC_CheckPatternPredicate0,
14974 OPC_Scope, 9,
14975 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
14976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
14977 MVT::v8i16, 2, 29,
14978 9,
14979 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
14980 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
14981 MVT::v8i16, 2, 32,
14982 0,
14983 23,
14984 OPC_CheckType, MVT::v4i32,
14985 OPC_CheckPatternPredicate0,
14986 OPC_Scope, 8,
14987 OPC_CheckComplexPat5, /*#*/1,
14988 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
14989 MVT::v4i32, 2, 29,
14990 8,
14991 OPC_CheckComplexPat5, /*#*/0,
14992 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
14993 MVT::v4i32, 2, 32,
14994 0,
14995 25,
14996 OPC_CheckType, MVT::v2i64,
14997 OPC_CheckPatternPredicate0,
14998 OPC_Scope, 9,
14999 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15000 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
15001 MVT::v2i64, 2, 29,
15002 9,
15003 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
15004 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
15005 MVT::v2i64, 2, 32,
15006 0,
15007 0,
15008 45,
15009 OPC_MoveChild1,
15010 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
15011 OPC_RecordChild0,
15012 OPC_RecordChild1,
15013 OPC_MoveParent,
15014 OPC_SwitchType , 7, MVT::v16i8,
15015 OPC_CheckPatternPredicate0,
15016 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
15017 MVT::v16i8, 3, 31,
15018 7, MVT::v8i16,
15019 OPC_CheckPatternPredicate0,
15020 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
15021 MVT::v8i16, 3, 31,
15022 7, MVT::v4i32,
15023 OPC_CheckPatternPredicate0,
15024 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
15025 MVT::v4i32, 3, 31,
15026 7, MVT::v2i64,
15027 OPC_CheckPatternPredicate0,
15028 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
15029 MVT::v2i64, 3, 31,
15030 0,
15031 0,
15032 46,
15033 OPC_MoveChild0,
15034 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
15035 OPC_RecordChild0,
15036 OPC_RecordChild1,
15037 OPC_MoveParent,
15038 OPC_RecordChild1,
15039 OPC_SwitchType , 7, MVT::v16i8,
15040 OPC_CheckPatternPredicate0,
15041 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
15042 MVT::v16i8, 3, 15,
15043 7, MVT::v8i16,
15044 OPC_CheckPatternPredicate0,
15045 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
15046 MVT::v8i16, 3, 15,
15047 7, MVT::v4i32,
15048 OPC_CheckPatternPredicate0,
15049 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
15050 MVT::v4i32, 3, 15,
15051 7, MVT::v2i64,
15052 OPC_CheckPatternPredicate0,
15053 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
15054 MVT::v2i64, 3, 15,
15055 0,
15056 58,
15057 OPC_RecordChild0,
15058 OPC_RecordChild1,
15059 OPC_SwitchType , 7, MVT::v2i16,
15060 OPC_CheckPatternPredicate1,
15061 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
15062 MVT::v2i16, 2, 16,
15063 7, MVT::v4i8,
15064 OPC_CheckPatternPredicate1,
15065 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
15066 MVT::v4i8, 2, 16,
15067 7, MVT::v16i8,
15068 OPC_CheckPatternPredicate0,
15069 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_B),
15070 MVT::v16i8, 2, 16,
15071 7, MVT::v8i16,
15072 OPC_CheckPatternPredicate0,
15073 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_H),
15074 MVT::v8i16, 2, 16,
15075 7, MVT::v4i32,
15076 OPC_CheckPatternPredicate0,
15077 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_W),
15078 MVT::v4i32, 2, 16,
15079 7, MVT::v2i64,
15080 OPC_CheckPatternPredicate0,
15081 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_D),
15082 MVT::v2i64, 2, 16,
15083 0,
15084 0,
15085 120|128,3, TARGET_VAL(ISD::SIGN_EXTEND),
15086 OPC_Scope, 105|128,3,
15087 OPC_MoveChild0,
15088 OPC_SwitchOpcode , 57, TARGET_VAL(ISD::ADD),
15089 OPC_RecordChild0,
15090 OPC_RecordChild1,
15091 OPC_Scope, 30,
15092 OPC_MoveChild1,
15093 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15094 OPC_CheckPredicate, 8,
15095 OPC_MoveParent,
15096 OPC_MoveParent,
15097 OPC_CheckTypeI64,
15098 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15099 MVT::i64, 0,
15100 OPC_EmitConvertToTarget1,
15101 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
15102 MVT::i32, 2, 47,
15103 OPC_EmitIntegerI32, Mips::sub_32,
15104 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15105 MVT::i64, 3, 4|128,1,
15106 21,
15107 OPC_MoveParent,
15108 OPC_CheckTypeI64,
15109 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15110 MVT::i64, 0,
15111 OPC_EmitNode1None, TARGET_VAL(Mips::ADDu),
15112 MVT::i32, 2, 16,
15113 OPC_EmitIntegerI32, Mips::sub_32,
15114 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15115 MVT::i64, 3, 111,
15116 0,
15117 58, TARGET_VAL(ISD::SHL),
15118 OPC_RecordChild0,
15119 OPC_RecordChild1,
15120 OPC_Scope, 30,
15121 OPC_MoveChild1,
15122 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15123 OPC_CheckPredicate3,
15124 OPC_CheckTypeI32,
15125 OPC_MoveParent,
15126 OPC_MoveParent,
15127 OPC_CheckTypeI64,
15128 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15129 MVT::i64, 0,
15130 OPC_EmitConvertToTarget1,
15131 OPC_EmitNode1None, TARGET_VAL(Mips::SLL),
15132 MVT::i32, 2, 47,
15133 OPC_EmitIntegerI32, Mips::sub_32,
15134 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15135 MVT::i64, 3, 4|128,1,
15136 22,
15137 OPC_CheckChild1TypeI32,
15138 OPC_MoveParent,
15139 OPC_CheckTypeI64,
15140 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15141 MVT::i64, 0,
15142 OPC_EmitNode1None, TARGET_VAL(Mips::SLLV),
15143 MVT::i32, 2, 16,
15144 OPC_EmitIntegerI32, Mips::sub_32,
15145 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15146 MVT::i64, 3, 111,
15147 0,
15148 58, TARGET_VAL(ISD::SRL),
15149 OPC_RecordChild0,
15150 OPC_RecordChild1,
15151 OPC_Scope, 30,
15152 OPC_MoveChild1,
15153 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15154 OPC_CheckPredicate3,
15155 OPC_CheckTypeI32,
15156 OPC_MoveParent,
15157 OPC_MoveParent,
15158 OPC_CheckTypeI64,
15159 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15160 MVT::i64, 0,
15161 OPC_EmitConvertToTarget1,
15162 OPC_EmitNode1None, TARGET_VAL(Mips::SRL),
15163 MVT::i32, 2, 47,
15164 OPC_EmitIntegerI32, Mips::sub_32,
15165 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15166 MVT::i64, 3, 4|128,1,
15167 22,
15168 OPC_CheckChild1TypeI32,
15169 OPC_MoveParent,
15170 OPC_CheckTypeI64,
15171 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15172 MVT::i64, 0,
15173 OPC_EmitNode1None, TARGET_VAL(Mips::SRLV),
15174 MVT::i32, 2, 16,
15175 OPC_EmitIntegerI32, Mips::sub_32,
15176 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15177 MVT::i64, 3, 111,
15178 0,
15179 58, TARGET_VAL(ISD::SRA),
15180 OPC_RecordChild0,
15181 OPC_RecordChild1,
15182 OPC_Scope, 30,
15183 OPC_MoveChild1,
15184 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15185 OPC_CheckPredicate3,
15186 OPC_CheckTypeI32,
15187 OPC_MoveParent,
15188 OPC_MoveParent,
15189 OPC_CheckTypeI64,
15190 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15191 MVT::i64, 0,
15192 OPC_EmitConvertToTarget1,
15193 OPC_EmitNode1None, TARGET_VAL(Mips::SRA),
15194 MVT::i32, 2, 47,
15195 OPC_EmitIntegerI32, Mips::sub_32,
15196 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15197 MVT::i64, 3, 4|128,1,
15198 22,
15199 OPC_CheckChild1TypeI32,
15200 OPC_MoveParent,
15201 OPC_CheckTypeI64,
15202 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15203 MVT::i64, 0,
15204 OPC_EmitNode1None, TARGET_VAL(Mips::SRAV),
15205 MVT::i32, 2, 16,
15206 OPC_EmitIntegerI32, Mips::sub_32,
15207 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15208 MVT::i64, 3, 111,
15209 0,
15210 23, TARGET_VAL(ISD::SUB),
15211 OPC_RecordChild0,
15212 OPC_RecordChild1,
15213 OPC_MoveParent,
15214 OPC_CheckTypeI64,
15215 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15216 MVT::i64, 0,
15217 OPC_EmitNode1None, TARGET_VAL(Mips::SUBu),
15218 MVT::i32, 2, 16,
15219 OPC_EmitIntegerI32, Mips::sub_32,
15220 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15221 MVT::i64, 3, 111,
15222 52, TARGET_VAL(ISD::MUL),
15223 OPC_RecordChild0,
15224 OPC_RecordChild1,
15225 OPC_MoveParent,
15226 OPC_CheckTypeI64,
15227 OPC_Scope, 23,
15228 OPC_CheckPatternPredicate, 89,
15229 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15230 MVT::i64, 0,
15231 OPC_EmitNode2None, TARGET_VAL(Mips::MUL),
15232 MVT::i32, MVT::i32, 2, 16,
15233 OPC_EmitIntegerI32, Mips::sub_32,
15234 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15235 MVT::i64, 3, 1|128,1,
15236 21,
15237 OPC_CheckPatternPredicate, 22,
15238 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15239 MVT::i64, 0,
15240 OPC_EmitNode1None, TARGET_VAL(Mips::MUL_R6),
15241 MVT::i32, 2, 16,
15242 OPC_EmitIntegerI32, Mips::sub_32,
15243 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15244 MVT::i64, 3, 111,
15245 0,
15246 22, TARGET_VAL(MipsISD::MFHI),
15247 OPC_RecordChild0,
15248 OPC_MoveParent,
15249 OPC_CheckTypeI64,
15250 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15251 MVT::i64, 0,
15252 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFHI),
15253 MVT::i32, 1, 1,
15254 OPC_EmitIntegerI32, Mips::sub_32,
15255 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15256 MVT::i64, 3, 58,
15257 22, TARGET_VAL(MipsISD::MFLO),
15258 OPC_RecordChild0,
15259 OPC_MoveParent,
15260 OPC_CheckTypeI64,
15261 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15262 MVT::i64, 0,
15263 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFLO),
15264 MVT::i32, 1, 1,
15265 OPC_EmitIntegerI32, Mips::sub_32,
15266 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15267 MVT::i64, 3, 58,
15268 25, TARGET_VAL(ISD::SDIV),
15269 OPC_RecordChild0,
15270 OPC_RecordChild1,
15271 OPC_MoveParent,
15272 OPC_CheckTypeI64,
15273 OPC_CheckPatternPredicate, 22,
15274 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15275 MVT::i64, 0,
15276 OPC_EmitNode1None, TARGET_VAL(Mips::DIV),
15277 MVT::i32, 2, 16,
15278 OPC_EmitIntegerI32, Mips::sub_32,
15279 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15280 MVT::i64, 3, 111,
15281 25, TARGET_VAL(ISD::UDIV),
15282 OPC_RecordChild0,
15283 OPC_RecordChild1,
15284 OPC_MoveParent,
15285 OPC_CheckTypeI64,
15286 OPC_CheckPatternPredicate, 22,
15287 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15288 MVT::i64, 0,
15289 OPC_EmitNode1None, TARGET_VAL(Mips::DIVU),
15290 MVT::i32, 2, 16,
15291 OPC_EmitIntegerI32, Mips::sub_32,
15292 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15293 MVT::i64, 3, 111,
15294 25, TARGET_VAL(ISD::SREM),
15295 OPC_RecordChild0,
15296 OPC_RecordChild1,
15297 OPC_MoveParent,
15298 OPC_CheckTypeI64,
15299 OPC_CheckPatternPredicate, 22,
15300 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15301 MVT::i64, 0,
15302 OPC_EmitNode1None, TARGET_VAL(Mips::MOD),
15303 MVT::i32, 2, 16,
15304 OPC_EmitIntegerI32, Mips::sub_32,
15305 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15306 MVT::i64, 3, 111,
15307 25, TARGET_VAL(ISD::UREM),
15308 OPC_RecordChild0,
15309 OPC_RecordChild1,
15310 OPC_MoveParent,
15311 OPC_CheckTypeI64,
15312 OPC_CheckPatternPredicate, 22,
15313 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15314 MVT::i64, 0,
15315 OPC_EmitNode1None, TARGET_VAL(Mips::MODU),
15316 MVT::i32, 2, 16,
15317 OPC_EmitIntegerI32, Mips::sub_32,
15318 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15319 MVT::i64, 3, 111,
15320 0,
15321 10,
15322 OPC_RecordChild0,
15323 OPC_CheckTypeI64,
15324 OPC_CheckPatternPredicate, 9,
15325 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_32),
15326 MVT::i64, 1, 1,
15327 0,
15328 19, TARGET_VAL(ISD::CALLSEQ_START),
15329 OPC_RecordNode,
15330 OPC_RecordChild1,
15331 OPC_MoveChild1,
15332 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15333 OPC_MoveSibling2,
15334 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15335 OPC_RecordNode,
15336 OPC_MoveParent,
15337 OPC_EmitMergeInputChains1_0,
15338 OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
15339 2, 32,
15340 20, TARGET_VAL(ISD::CALLSEQ_END),
15341 OPC_RecordNode,
15342 OPC_CaptureGlueInput,
15343 OPC_RecordChild1,
15344 OPC_MoveChild1,
15345 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15346 OPC_MoveSibling2,
15347 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15348 OPC_RecordNode,
15349 OPC_MoveParent,
15350 OPC_EmitMergeInputChains1_0,
15351 OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
15352 2, 32,
15353 50, TARGET_VAL(ISD::FrameIndex),
15354 OPC_RecordNode,
15355 OPC_SwitchType , 33, MVT::i32,
15356 OPC_Scope, 9,
15357 OPC_CheckPatternPredicate2,
15358 OPC_CheckComplexPat0, /*#*/0,
15359 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu),
15360 MVT::i32, 2, 32,
15361 10,
15362 OPC_CheckPatternPredicate5,
15363 OPC_CheckComplexPat, /*CP*/20, /*#*/0,
15364 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRyOffMemX16),
15365 MVT::i32, 2, 32,
15366 9,
15367 OPC_CheckPatternPredicate4,
15368 OPC_CheckComplexPat0, /*#*/0,
15369 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu_MM),
15370 MVT::i32, 2, 32,
15371 0,
15372 10, MVT::i64,
15373 OPC_CheckPatternPredicate, 115,
15374 OPC_CheckComplexPat0, /*#*/0,
15375 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu64),
15376 MVT::i64, 2, 32,
15377 0,
15378 24, TARGET_VAL(MipsISD::Ins),
15379 OPC_RecordChild0,
15380 OPC_RecordChild1,
15381 OPC_MoveChild1,
15382 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15383 OPC_MoveSibling2,
15384 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15385 OPC_RecordNode,
15386 OPC_MoveParent,
15387 OPC_RecordChild3,
15388 OPC_CheckTypeI32,
15389 OPC_CheckPatternPredicate, 8,
15390 OPC_EmitConvertToTarget1,
15391 OPC_EmitConvertToTarget2,
15392 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INS_MMR6),
15393 MVT::i32, 4, 76,
15394 70, TARGET_VAL(MipsISD::FPBrcond),
15395 OPC_RecordNode,
15396 OPC_CaptureGlueInput,
15397 OPC_Scope, 32,
15398 OPC_CheckChild1Integer, 0,
15399 OPC_CheckChild1TypeI32,
15400 OPC_RecordChild2,
15401 OPC_RecordChild3,
15402 OPC_MoveChild3,
15403 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15404 OPC_MoveParent,
15405 OPC_Scope, 9,
15406 OPC_CheckPatternPredicate, 77,
15407 OPC_EmitMergeInputChains1_0,
15408 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F), 0|OPFL_Chain|OPFL_GlueInput,
15409 2, 32,
15410 9,
15411 OPC_CheckPatternPredicate, 44,
15412 OPC_EmitMergeInputChains1_0,
15413 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F_MM), 0|OPFL_Chain|OPFL_GlueInput,
15414 2, 32,
15415 0,
15416 32,
15417 OPC_CheckChild1Integer, 1,
15418 OPC_CheckChild1TypeI32,
15419 OPC_RecordChild2,
15420 OPC_RecordChild3,
15421 OPC_MoveChild3,
15422 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15423 OPC_MoveParent,
15424 OPC_Scope, 9,
15425 OPC_CheckPatternPredicate, 77,
15426 OPC_EmitMergeInputChains1_0,
15427 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T), 0|OPFL_Chain|OPFL_GlueInput,
15428 2, 32,
15429 9,
15430 OPC_CheckPatternPredicate, 44,
15431 OPC_EmitMergeInputChains1_0,
15432 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T_MM), 0|OPFL_Chain|OPFL_GlueInput,
15433 2, 32,
15434 0,
15435 0,
15436 103|128,1, TARGET_VAL(ISD::SUB),
15437 OPC_Scope, 11,
15438 OPC_CheckChild0Integer, 0,
15439 OPC_RecordChild1,
15440 OPC_CheckTypeI32,
15441 OPC_CheckPatternPredicate5,
15442 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NegRxRy16),
15443 MVT::i32, 1, 1,
15444 87|128,1,
15445 OPC_RecordChild0,
15446 OPC_Scope, 107,
15447 OPC_RecordChild1,
15448 OPC_SwitchType , 45, MVT::i32,
15449 OPC_Scope, 8,
15450 OPC_CheckPatternPredicate, 8,
15451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MMR6),
15452 MVT::i32, 2, 16,
15453 7,
15454 OPC_CheckPatternPredicate2,
15455 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu),
15456 MVT::i32, 2, 16,
15457 7,
15458 OPC_CheckPatternPredicate5,
15459 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SubuRxRyRz16),
15460 MVT::i32, 2, 16,
15461 17,
15462 OPC_CheckPatternPredicate7,
15463 OPC_Scope, 6,
15464 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MM),
15465 MVT::i32, 2, 16,
15466 6,
15467 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu_MM),
15468 MVT::i32, 2, 16,
15469 0,
15470 0,
15471 8, MVT::i64,
15472 OPC_CheckPatternPredicate, 26,
15473 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSUBu),
15474 MVT::i64, 2, 16,
15475 10, MVT::v16i8,
15476 OPC_CheckPatternPredicate0,
15477 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
15478 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_B),
15479 MVT::v16i8, 2, 29,
15480 10, MVT::v8i16,
15481 OPC_CheckPatternPredicate0,
15482 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
15483 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_H),
15484 MVT::v8i16, 2, 29,
15485 9, MVT::v4i32,
15486 OPC_CheckPatternPredicate0,
15487 OPC_CheckComplexPat5, /*#*/1,
15488 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_W),
15489 MVT::v4i32, 2, 29,
15490 10, MVT::v2i64,
15491 OPC_CheckPatternPredicate0,
15492 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15493 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_D),
15494 MVT::v2i64, 2, 29,
15495 0,
15496 45,
15497 OPC_MoveChild1,
15498 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
15499 OPC_RecordChild0,
15500 OPC_RecordChild1,
15501 OPC_MoveParent,
15502 OPC_SwitchType , 7, MVT::v16i8,
15503 OPC_CheckPatternPredicate0,
15504 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_B),
15505 MVT::v16i8, 3, 31,
15506 7, MVT::v8i16,
15507 OPC_CheckPatternPredicate0,
15508 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_H),
15509 MVT::v8i16, 3, 31,
15510 7, MVT::v4i32,
15511 OPC_CheckPatternPredicate0,
15512 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_W),
15513 MVT::v4i32, 3, 31,
15514 7, MVT::v2i64,
15515 OPC_CheckPatternPredicate0,
15516 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_D),
15517 MVT::v2i64, 3, 31,
15518 0,
15519 57,
15520 OPC_RecordChild1,
15521 OPC_SwitchType , 7, MVT::v2i16,
15522 OPC_CheckPatternPredicate1,
15523 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
15524 MVT::v2i16, 2, 16,
15525 7, MVT::v4i8,
15526 OPC_CheckPatternPredicate1,
15527 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
15528 MVT::v4i8, 2, 16,
15529 7, MVT::v16i8,
15530 OPC_CheckPatternPredicate0,
15531 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_B),
15532 MVT::v16i8, 2, 16,
15533 7, MVT::v8i16,
15534 OPC_CheckPatternPredicate0,
15535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_H),
15536 MVT::v8i16, 2, 16,
15537 7, MVT::v4i32,
15538 OPC_CheckPatternPredicate0,
15539 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_W),
15540 MVT::v4i32, 2, 16,
15541 7, MVT::v2i64,
15542 OPC_CheckPatternPredicate0,
15543 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_D),
15544 MVT::v2i64, 2, 16,
15545 0,
15546 0,
15547 0,
15548 98|128,12, TARGET_VAL(ISD::OR),
15549 OPC_Scope, 14|128,3,
15550 OPC_RecordChild0,
15551 OPC_Scope, 2|128,1,
15552 OPC_RecordChild1,
15553 OPC_Scope, 69,
15554 OPC_MoveChild1,
15555 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15556 OPC_Scope, 16,
15557 OPC_CheckPredicate, 12,
15558 OPC_MoveParent,
15559 OPC_CheckTypeI32,
15560 OPC_CheckPatternPredicate, 8,
15561 OPC_EmitConvertToTarget1,
15562 OPC_EmitNodeXForm, 3, 2,
15563 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_MMR6),
15564 MVT::i32, 2, 47,
15565 12,
15566 OPC_CheckPredicate, 34,
15567 OPC_MoveParent,
15568 OPC_CheckTypeI32,
15569 OPC_CheckPatternPredicate2,
15570 OPC_EmitConvertToTarget1,
15571 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
15572 MVT::i32, 2, 29,
15573 32,
15574 OPC_CheckPredicate, 12,
15575 OPC_MoveParent,
15576 OPC_SwitchType , 12, MVT::i64,
15577 OPC_CheckPatternPredicate, 21,
15578 OPC_EmitConvertToTarget1,
15579 OPC_EmitNodeXForm, 3, 2,
15580 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
15581 MVT::i64, 2, 47,
15582 11, MVT::i32,
15583 OPC_CheckPatternPredicate7,
15584 OPC_EmitConvertToTarget1,
15585 OPC_EmitNodeXForm, 3, 2,
15586 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
15587 MVT::i32, 2, 47,
15588 0,
15589 0,
15590 46,
15591 OPC_CheckTypeI32,
15592 OPC_Scope, 7,
15593 OPC_CheckPatternPredicate2,
15594 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
15595 MVT::i32, 2, 16,
15596 7,
15597 OPC_CheckPatternPredicate5,
15598 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OrRxRxRy16),
15599 MVT::i32, 2, 16,
15600 17,
15601 OPC_CheckPatternPredicate7,
15602 OPC_Scope, 6,
15603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR16_MM),
15604 MVT::i32, 2, 16,
15605 6,
15606 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
15607 MVT::i32, 2, 16,
15608 0,
15609 8,
15610 OPC_CheckPatternPredicate, 8,
15611 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MMR6),
15612 MVT::i32, 2, 16,
15613 0,
15614 9,
15615 OPC_CheckTypeI64,
15616 OPC_CheckPatternPredicate, 21,
15617 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
15618 MVT::i64, 2, 16,
15619 0,
15620 5|128,2,
15621 OPC_MoveChild1,
15622 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15623 OPC_RecordChild0,
15624 OPC_MoveChild1,
15625 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15626 OPC_Scope, 124,
15627 OPC_RecordChild0,
15628 OPC_MoveChild1,
15629 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15630 OPC_MoveChild0,
15631 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15632 OPC_CheckPredicate0,
15633 OPC_CheckTypeI32,
15634 OPC_MoveSibling1,
15635 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15636 OPC_CheckPredicate0,
15637 OPC_CheckTypeI32,
15638 OPC_MoveSibling2,
15639 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15640 OPC_CheckPredicate0,
15641 OPC_CheckTypeI32,
15642 OPC_MoveSibling3,
15643 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15644 OPC_CheckPredicate0,
15645 OPC_CheckTypeI32,
15646 OPC_MoveSibling4,
15647 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15648 OPC_CheckPredicate0,
15649 OPC_CheckTypeI32,
15650 OPC_MoveSibling5,
15651 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15652 OPC_CheckPredicate0,
15653 OPC_CheckTypeI32,
15654 OPC_MoveSibling6,
15655 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15656 OPC_CheckPredicate0,
15657 OPC_CheckTypeI32,
15658 OPC_MoveSibling7,
15659 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15660 OPC_CheckPredicate0,
15661 OPC_CheckTypeI32,
15662 OPC_MoveSibling, 8,
15663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15664 OPC_CheckPredicate0,
15665 OPC_CheckTypeI32,
15666 OPC_MoveSibling, 9,
15667 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15668 OPC_CheckPredicate0,
15669 OPC_CheckTypeI32,
15670 OPC_MoveSibling, 10,
15671 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15672 OPC_CheckPredicate0,
15673 OPC_CheckTypeI32,
15674 OPC_MoveSibling, 11,
15675 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15676 OPC_CheckPredicate0,
15677 OPC_CheckTypeI32,
15678 OPC_MoveSibling, 12,
15679 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15680 OPC_CheckPredicate0,
15681 OPC_CheckTypeI32,
15682 OPC_MoveSibling, 13,
15683 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15684 OPC_CheckPredicate0,
15685 OPC_CheckTypeI32,
15686 OPC_MoveSibling, 14,
15687 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15688 OPC_CheckPredicate0,
15689 OPC_CheckTypeI32,
15690 OPC_MoveSibling, 15,
15691 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15692 OPC_CheckPredicate0,
15693 OPC_CheckTypeI32,
15694 OPC_MoveParent,
15695 OPC_MoveParent,
15696 OPC_MoveParent,
15697 OPC_MoveParent,
15698 OPC_CheckType, MVT::v16i8,
15699 OPC_CheckPatternPredicate3,
15700 OPC_CheckComplexPat1, /*#*/1,
15701 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15702 MVT::v16i8, 2, 29,
15703 124,
15704 OPC_MoveChild0,
15705 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15706 OPC_MoveChild0,
15707 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15708 OPC_CheckPredicate0,
15709 OPC_CheckTypeI32,
15710 OPC_MoveSibling1,
15711 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15712 OPC_CheckPredicate0,
15713 OPC_CheckTypeI32,
15714 OPC_MoveSibling2,
15715 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15716 OPC_CheckPredicate0,
15717 OPC_CheckTypeI32,
15718 OPC_MoveSibling3,
15719 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15720 OPC_CheckPredicate0,
15721 OPC_CheckTypeI32,
15722 OPC_MoveSibling4,
15723 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15724 OPC_CheckPredicate0,
15725 OPC_CheckTypeI32,
15726 OPC_MoveSibling5,
15727 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15728 OPC_CheckPredicate0,
15729 OPC_CheckTypeI32,
15730 OPC_MoveSibling6,
15731 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15732 OPC_CheckPredicate0,
15733 OPC_CheckTypeI32,
15734 OPC_MoveSibling7,
15735 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15736 OPC_CheckPredicate0,
15737 OPC_CheckTypeI32,
15738 OPC_MoveSibling, 8,
15739 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15740 OPC_CheckPredicate0,
15741 OPC_CheckTypeI32,
15742 OPC_MoveSibling, 9,
15743 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15744 OPC_CheckPredicate0,
15745 OPC_CheckTypeI32,
15746 OPC_MoveSibling, 10,
15747 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15748 OPC_CheckPredicate0,
15749 OPC_CheckTypeI32,
15750 OPC_MoveSibling, 11,
15751 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15752 OPC_CheckPredicate0,
15753 OPC_CheckTypeI32,
15754 OPC_MoveSibling, 12,
15755 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15756 OPC_CheckPredicate0,
15757 OPC_CheckTypeI32,
15758 OPC_MoveSibling, 13,
15759 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15760 OPC_CheckPredicate0,
15761 OPC_CheckTypeI32,
15762 OPC_MoveSibling, 14,
15763 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15764 OPC_CheckPredicate0,
15765 OPC_CheckTypeI32,
15766 OPC_MoveSibling, 15,
15767 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15768 OPC_CheckPredicate0,
15769 OPC_CheckTypeI32,
15770 OPC_MoveParent,
15771 OPC_MoveParent,
15772 OPC_RecordChild1,
15773 OPC_MoveParent,
15774 OPC_MoveParent,
15775 OPC_CheckType, MVT::v16i8,
15776 OPC_CheckPatternPredicate3,
15777 OPC_CheckComplexPat1, /*#*/1,
15778 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15779 MVT::v16i8, 2, 29,
15780 0,
15781 0,
15782 7|128,2,
15783 OPC_MoveChild0,
15784 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15785 OPC_RecordChild0,
15786 OPC_MoveChild1,
15787 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15788 OPC_Scope, 125,
15789 OPC_RecordChild0,
15790 OPC_MoveChild1,
15791 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15792 OPC_MoveChild0,
15793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15794 OPC_CheckPredicate0,
15795 OPC_CheckTypeI32,
15796 OPC_MoveSibling1,
15797 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15798 OPC_CheckPredicate0,
15799 OPC_CheckTypeI32,
15800 OPC_MoveSibling2,
15801 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15802 OPC_CheckPredicate0,
15803 OPC_CheckTypeI32,
15804 OPC_MoveSibling3,
15805 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15806 OPC_CheckPredicate0,
15807 OPC_CheckTypeI32,
15808 OPC_MoveSibling4,
15809 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15810 OPC_CheckPredicate0,
15811 OPC_CheckTypeI32,
15812 OPC_MoveSibling5,
15813 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15814 OPC_CheckPredicate0,
15815 OPC_CheckTypeI32,
15816 OPC_MoveSibling6,
15817 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15818 OPC_CheckPredicate0,
15819 OPC_CheckTypeI32,
15820 OPC_MoveSibling7,
15821 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15822 OPC_CheckPredicate0,
15823 OPC_CheckTypeI32,
15824 OPC_MoveSibling, 8,
15825 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15826 OPC_CheckPredicate0,
15827 OPC_CheckTypeI32,
15828 OPC_MoveSibling, 9,
15829 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15830 OPC_CheckPredicate0,
15831 OPC_CheckTypeI32,
15832 OPC_MoveSibling, 10,
15833 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15834 OPC_CheckPredicate0,
15835 OPC_CheckTypeI32,
15836 OPC_MoveSibling, 11,
15837 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15838 OPC_CheckPredicate0,
15839 OPC_CheckTypeI32,
15840 OPC_MoveSibling, 12,
15841 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15842 OPC_CheckPredicate0,
15843 OPC_CheckTypeI32,
15844 OPC_MoveSibling, 13,
15845 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15846 OPC_CheckPredicate0,
15847 OPC_CheckTypeI32,
15848 OPC_MoveSibling, 14,
15849 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15850 OPC_CheckPredicate0,
15851 OPC_CheckTypeI32,
15852 OPC_MoveSibling, 15,
15853 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15854 OPC_CheckPredicate0,
15855 OPC_CheckTypeI32,
15856 OPC_MoveParent,
15857 OPC_MoveParent,
15858 OPC_MoveParent,
15859 OPC_MoveParent,
15860 OPC_RecordChild1,
15861 OPC_CheckType, MVT::v16i8,
15862 OPC_CheckPatternPredicate3,
15863 OPC_CheckComplexPat1, /*#*/0,
15864 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15865 MVT::v16i8, 2, 23,
15866 125,
15867 OPC_MoveChild0,
15868 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15869 OPC_MoveChild0,
15870 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15871 OPC_CheckPredicate0,
15872 OPC_CheckTypeI32,
15873 OPC_MoveSibling1,
15874 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15875 OPC_CheckPredicate0,
15876 OPC_CheckTypeI32,
15877 OPC_MoveSibling2,
15878 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15879 OPC_CheckPredicate0,
15880 OPC_CheckTypeI32,
15881 OPC_MoveSibling3,
15882 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15883 OPC_CheckPredicate0,
15884 OPC_CheckTypeI32,
15885 OPC_MoveSibling4,
15886 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15887 OPC_CheckPredicate0,
15888 OPC_CheckTypeI32,
15889 OPC_MoveSibling5,
15890 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15891 OPC_CheckPredicate0,
15892 OPC_CheckTypeI32,
15893 OPC_MoveSibling6,
15894 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15895 OPC_CheckPredicate0,
15896 OPC_CheckTypeI32,
15897 OPC_MoveSibling7,
15898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15899 OPC_CheckPredicate0,
15900 OPC_CheckTypeI32,
15901 OPC_MoveSibling, 8,
15902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15903 OPC_CheckPredicate0,
15904 OPC_CheckTypeI32,
15905 OPC_MoveSibling, 9,
15906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15907 OPC_CheckPredicate0,
15908 OPC_CheckTypeI32,
15909 OPC_MoveSibling, 10,
15910 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15911 OPC_CheckPredicate0,
15912 OPC_CheckTypeI32,
15913 OPC_MoveSibling, 11,
15914 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15915 OPC_CheckPredicate0,
15916 OPC_CheckTypeI32,
15917 OPC_MoveSibling, 12,
15918 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15919 OPC_CheckPredicate0,
15920 OPC_CheckTypeI32,
15921 OPC_MoveSibling, 13,
15922 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15923 OPC_CheckPredicate0,
15924 OPC_CheckTypeI32,
15925 OPC_MoveSibling, 14,
15926 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15927 OPC_CheckPredicate0,
15928 OPC_CheckTypeI32,
15929 OPC_MoveSibling, 15,
15930 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15931 OPC_CheckPredicate0,
15932 OPC_CheckTypeI32,
15933 OPC_MoveParent,
15934 OPC_MoveParent,
15935 OPC_RecordChild1,
15936 OPC_MoveParent,
15937 OPC_MoveParent,
15938 OPC_RecordChild1,
15939 OPC_CheckType, MVT::v16i8,
15940 OPC_CheckPatternPredicate3,
15941 OPC_CheckComplexPat1, /*#*/0,
15942 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15943 MVT::v16i8, 2, 23,
15944 0,
15945 22|128,1,
15946 OPC_RecordChild0,
15947 OPC_MoveChild1,
15948 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15949 OPC_RecordChild0,
15950 OPC_MoveChild1,
15951 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15952 OPC_Scope, 68,
15953 OPC_RecordChild0,
15954 OPC_MoveChild1,
15955 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15956 OPC_MoveChild0,
15957 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15958 OPC_CheckPredicate1,
15959 OPC_CheckTypeI32,
15960 OPC_MoveSibling1,
15961 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15962 OPC_CheckPredicate1,
15963 OPC_CheckTypeI32,
15964 OPC_MoveSibling2,
15965 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15966 OPC_CheckPredicate1,
15967 OPC_CheckTypeI32,
15968 OPC_MoveSibling3,
15969 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15970 OPC_CheckPredicate1,
15971 OPC_CheckTypeI32,
15972 OPC_MoveSibling4,
15973 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15974 OPC_CheckPredicate1,
15975 OPC_CheckTypeI32,
15976 OPC_MoveSibling5,
15977 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15978 OPC_CheckPredicate1,
15979 OPC_CheckTypeI32,
15980 OPC_MoveSibling6,
15981 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15982 OPC_CheckPredicate1,
15983 OPC_CheckTypeI32,
15984 OPC_MoveSibling7,
15985 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15986 OPC_CheckPredicate1,
15987 OPC_CheckTypeI32,
15988 OPC_MoveParent,
15989 OPC_MoveParent,
15990 OPC_MoveParent,
15991 OPC_MoveParent,
15992 OPC_CheckType, MVT::v8i16,
15993 OPC_CheckPatternPredicate3,
15994 OPC_CheckComplexPat1, /*#*/1,
15995 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15996 MVT::v8i16, 2, 29,
15997 68,
15998 OPC_MoveChild0,
15999 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16000 OPC_MoveChild0,
16001 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16002 OPC_CheckPredicate1,
16003 OPC_CheckTypeI32,
16004 OPC_MoveSibling1,
16005 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16006 OPC_CheckPredicate1,
16007 OPC_CheckTypeI32,
16008 OPC_MoveSibling2,
16009 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16010 OPC_CheckPredicate1,
16011 OPC_CheckTypeI32,
16012 OPC_MoveSibling3,
16013 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16014 OPC_CheckPredicate1,
16015 OPC_CheckTypeI32,
16016 OPC_MoveSibling4,
16017 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16018 OPC_CheckPredicate1,
16019 OPC_CheckTypeI32,
16020 OPC_MoveSibling5,
16021 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16022 OPC_CheckPredicate1,
16023 OPC_CheckTypeI32,
16024 OPC_MoveSibling6,
16025 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16026 OPC_CheckPredicate1,
16027 OPC_CheckTypeI32,
16028 OPC_MoveSibling7,
16029 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16030 OPC_CheckPredicate1,
16031 OPC_CheckTypeI32,
16032 OPC_MoveParent,
16033 OPC_MoveParent,
16034 OPC_RecordChild1,
16035 OPC_MoveParent,
16036 OPC_MoveParent,
16037 OPC_CheckType, MVT::v8i16,
16038 OPC_CheckPatternPredicate3,
16039 OPC_CheckComplexPat1, /*#*/1,
16040 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16041 MVT::v8i16, 2, 29,
16042 0,
16043 23|128,1,
16044 OPC_MoveChild0,
16045 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16046 OPC_RecordChild0,
16047 OPC_MoveChild1,
16048 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16049 OPC_Scope, 69,
16050 OPC_RecordChild0,
16051 OPC_MoveChild1,
16052 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16053 OPC_MoveChild0,
16054 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16055 OPC_CheckPredicate1,
16056 OPC_CheckTypeI32,
16057 OPC_MoveSibling1,
16058 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16059 OPC_CheckPredicate1,
16060 OPC_CheckTypeI32,
16061 OPC_MoveSibling2,
16062 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16063 OPC_CheckPredicate1,
16064 OPC_CheckTypeI32,
16065 OPC_MoveSibling3,
16066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16067 OPC_CheckPredicate1,
16068 OPC_CheckTypeI32,
16069 OPC_MoveSibling4,
16070 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16071 OPC_CheckPredicate1,
16072 OPC_CheckTypeI32,
16073 OPC_MoveSibling5,
16074 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16075 OPC_CheckPredicate1,
16076 OPC_CheckTypeI32,
16077 OPC_MoveSibling6,
16078 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16079 OPC_CheckPredicate1,
16080 OPC_CheckTypeI32,
16081 OPC_MoveSibling7,
16082 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16083 OPC_CheckPredicate1,
16084 OPC_CheckTypeI32,
16085 OPC_MoveParent,
16086 OPC_MoveParent,
16087 OPC_MoveParent,
16088 OPC_MoveParent,
16089 OPC_RecordChild1,
16090 OPC_CheckType, MVT::v8i16,
16091 OPC_CheckPatternPredicate3,
16092 OPC_CheckComplexPat1, /*#*/0,
16093 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16094 MVT::v8i16, 2, 23,
16095 69,
16096 OPC_MoveChild0,
16097 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16098 OPC_MoveChild0,
16099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16100 OPC_CheckPredicate1,
16101 OPC_CheckTypeI32,
16102 OPC_MoveSibling1,
16103 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16104 OPC_CheckPredicate1,
16105 OPC_CheckTypeI32,
16106 OPC_MoveSibling2,
16107 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16108 OPC_CheckPredicate1,
16109 OPC_CheckTypeI32,
16110 OPC_MoveSibling3,
16111 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16112 OPC_CheckPredicate1,
16113 OPC_CheckTypeI32,
16114 OPC_MoveSibling4,
16115 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16116 OPC_CheckPredicate1,
16117 OPC_CheckTypeI32,
16118 OPC_MoveSibling5,
16119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16120 OPC_CheckPredicate1,
16121 OPC_CheckTypeI32,
16122 OPC_MoveSibling6,
16123 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16124 OPC_CheckPredicate1,
16125 OPC_CheckTypeI32,
16126 OPC_MoveSibling7,
16127 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16128 OPC_CheckPredicate1,
16129 OPC_CheckTypeI32,
16130 OPC_MoveParent,
16131 OPC_MoveParent,
16132 OPC_RecordChild1,
16133 OPC_MoveParent,
16134 OPC_MoveParent,
16135 OPC_RecordChild1,
16136 OPC_CheckType, MVT::v8i16,
16137 OPC_CheckPatternPredicate3,
16138 OPC_CheckComplexPat1, /*#*/0,
16139 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16140 MVT::v8i16, 2, 23,
16141 0,
16142 106,
16143 OPC_RecordChild0,
16144 OPC_MoveChild1,
16145 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16146 OPC_RecordChild0,
16147 OPC_MoveChild1,
16148 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16149 OPC_Scope, 46,
16150 OPC_RecordChild0,
16151 OPC_MoveChild1,
16152 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16153 OPC_MoveChild0,
16154 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16155 OPC_CheckPredicate2,
16156 OPC_CheckTypeI32,
16157 OPC_MoveSibling1,
16158 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16159 OPC_CheckPredicate2,
16160 OPC_CheckTypeI32,
16161 OPC_MoveSibling2,
16162 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16163 OPC_CheckPredicate2,
16164 OPC_CheckTypeI32,
16165 OPC_MoveSibling3,
16166 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16167 OPC_CheckPredicate2,
16168 OPC_CheckTypeI32,
16169 OPC_MoveParent,
16170 OPC_MoveParent,
16171 OPC_CheckType, MVT::v4i32,
16172 OPC_MoveParent,
16173 OPC_MoveParent,
16174 OPC_CheckType, MVT::v4i32,
16175 OPC_CheckPatternPredicate3,
16176 OPC_CheckComplexPat1, /*#*/1,
16177 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16178 MVT::v4i32, 2, 29,
16179 46,
16180 OPC_MoveChild0,
16181 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16182 OPC_MoveChild0,
16183 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16184 OPC_CheckPredicate2,
16185 OPC_CheckTypeI32,
16186 OPC_MoveSibling1,
16187 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16188 OPC_CheckPredicate2,
16189 OPC_CheckTypeI32,
16190 OPC_MoveSibling2,
16191 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16192 OPC_CheckPredicate2,
16193 OPC_CheckTypeI32,
16194 OPC_MoveSibling3,
16195 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16196 OPC_CheckPredicate2,
16197 OPC_CheckTypeI32,
16198 OPC_MoveParent,
16199 OPC_MoveParent,
16200 OPC_RecordChild1,
16201 OPC_CheckType, MVT::v4i32,
16202 OPC_MoveParent,
16203 OPC_MoveParent,
16204 OPC_CheckType, MVT::v4i32,
16205 OPC_CheckPatternPredicate3,
16206 OPC_CheckComplexPat1, /*#*/1,
16207 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16208 MVT::v4i32, 2, 29,
16209 0,
16210 107,
16211 OPC_MoveChild0,
16212 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16213 OPC_RecordChild0,
16214 OPC_MoveChild1,
16215 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16216 OPC_Scope, 47,
16217 OPC_RecordChild0,
16218 OPC_MoveChild1,
16219 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16220 OPC_MoveChild0,
16221 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16222 OPC_CheckPredicate2,
16223 OPC_CheckTypeI32,
16224 OPC_MoveSibling1,
16225 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16226 OPC_CheckPredicate2,
16227 OPC_CheckTypeI32,
16228 OPC_MoveSibling2,
16229 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16230 OPC_CheckPredicate2,
16231 OPC_CheckTypeI32,
16232 OPC_MoveSibling3,
16233 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16234 OPC_CheckPredicate2,
16235 OPC_CheckTypeI32,
16236 OPC_MoveParent,
16237 OPC_MoveParent,
16238 OPC_CheckType, MVT::v4i32,
16239 OPC_MoveParent,
16240 OPC_MoveParent,
16241 OPC_RecordChild1,
16242 OPC_CheckType, MVT::v4i32,
16243 OPC_CheckPatternPredicate3,
16244 OPC_CheckComplexPat1, /*#*/0,
16245 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16246 MVT::v4i32, 2, 23,
16247 47,
16248 OPC_MoveChild0,
16249 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16250 OPC_MoveChild0,
16251 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16252 OPC_CheckPredicate2,
16253 OPC_CheckTypeI32,
16254 OPC_MoveSibling1,
16255 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16256 OPC_CheckPredicate2,
16257 OPC_CheckTypeI32,
16258 OPC_MoveSibling2,
16259 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16260 OPC_CheckPredicate2,
16261 OPC_CheckTypeI32,
16262 OPC_MoveSibling3,
16263 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16264 OPC_CheckPredicate2,
16265 OPC_CheckTypeI32,
16266 OPC_MoveParent,
16267 OPC_MoveParent,
16268 OPC_RecordChild1,
16269 OPC_CheckType, MVT::v4i32,
16270 OPC_MoveParent,
16271 OPC_MoveParent,
16272 OPC_RecordChild1,
16273 OPC_CheckType, MVT::v4i32,
16274 OPC_CheckPatternPredicate3,
16275 OPC_CheckComplexPat1, /*#*/0,
16276 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16277 MVT::v4i32, 2, 23,
16278 0,
16279 74,
16280 OPC_RecordChild0,
16281 OPC_MoveChild1,
16282 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16283 OPC_RecordChild0,
16284 OPC_MoveChild1,
16285 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16286 OPC_Scope, 30,
16287 OPC_RecordChild0,
16288 OPC_MoveChild1,
16289 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16290 OPC_MoveChild0,
16291 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16292 OPC_CheckType, MVT::v4i32,
16293 OPC_MoveParent,
16294 OPC_CheckPredicate, 14,
16295 OPC_MoveParent,
16296 OPC_CheckType, MVT::v2i64,
16297 OPC_MoveParent,
16298 OPC_MoveParent,
16299 OPC_CheckType, MVT::v2i64,
16300 OPC_CheckPatternPredicate3,
16301 OPC_CheckComplexPat1, /*#*/1,
16302 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16303 MVT::v2i64, 2, 29,
16304 30,
16305 OPC_MoveChild0,
16306 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16307 OPC_MoveChild0,
16308 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16309 OPC_CheckType, MVT::v4i32,
16310 OPC_MoveParent,
16311 OPC_CheckPredicate, 14,
16312 OPC_MoveParent,
16313 OPC_RecordChild1,
16314 OPC_CheckType, MVT::v2i64,
16315 OPC_MoveParent,
16316 OPC_MoveParent,
16317 OPC_CheckType, MVT::v2i64,
16318 OPC_CheckPatternPredicate3,
16319 OPC_CheckComplexPat1, /*#*/1,
16320 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16321 MVT::v2i64, 2, 29,
16322 0,
16323 75,
16324 OPC_MoveChild0,
16325 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16326 OPC_RecordChild0,
16327 OPC_MoveChild1,
16328 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16329 OPC_Scope, 31,
16330 OPC_RecordChild0,
16331 OPC_MoveChild1,
16332 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16333 OPC_MoveChild0,
16334 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16335 OPC_CheckType, MVT::v4i32,
16336 OPC_MoveParent,
16337 OPC_CheckPredicate, 14,
16338 OPC_MoveParent,
16339 OPC_CheckType, MVT::v2i64,
16340 OPC_MoveParent,
16341 OPC_MoveParent,
16342 OPC_RecordChild1,
16343 OPC_CheckType, MVT::v2i64,
16344 OPC_CheckPatternPredicate3,
16345 OPC_CheckComplexPat1, /*#*/0,
16346 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16347 MVT::v2i64, 2, 23,
16348 31,
16349 OPC_MoveChild0,
16350 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16351 OPC_MoveChild0,
16352 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16353 OPC_CheckType, MVT::v4i32,
16354 OPC_MoveParent,
16355 OPC_CheckPredicate, 14,
16356 OPC_MoveParent,
16357 OPC_RecordChild1,
16358 OPC_CheckType, MVT::v2i64,
16359 OPC_MoveParent,
16360 OPC_MoveParent,
16361 OPC_RecordChild1,
16362 OPC_CheckType, MVT::v2i64,
16363 OPC_CheckPatternPredicate3,
16364 OPC_CheckComplexPat1, /*#*/0,
16365 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16366 MVT::v2i64, 2, 23,
16367 0,
16368 0|128,1,
16369 OPC_RecordChild0,
16370 OPC_Scope, 64,
16371 OPC_MoveChild1,
16372 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16373 OPC_RecordChild0,
16374 OPC_RecordChild1,
16375 OPC_Scope, 25,
16376 OPC_MoveParent,
16377 OPC_SwitchType , 9, MVT::v16i8,
16378 OPC_CheckPatternPredicate0,
16379 OPC_CheckComplexPat1, /*#*/1,
16380 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
16381 MVT::v16i8, 2, 29,
16382 9, MVT::v8i16,
16383 OPC_CheckPatternPredicate0,
16384 OPC_CheckComplexPat1, /*#*/1,
16385 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16386 MVT::v8i16, 2, 29,
16387 0,
16388 14,
16389 OPC_CheckChild1Type, MVT::v4i32,
16390 OPC_MoveParent,
16391 OPC_CheckType, MVT::v4i32,
16392 OPC_CheckPatternPredicate0,
16393 OPC_CheckComplexPat1, /*#*/1,
16394 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16395 MVT::v4i32, 2, 29,
16396 14,
16397 OPC_CheckChild1Type, MVT::v2i64,
16398 OPC_MoveParent,
16399 OPC_CheckType, MVT::v2i64,
16400 OPC_CheckPatternPredicate0,
16401 OPC_CheckComplexPat1, /*#*/1,
16402 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16403 MVT::v2i64, 2, 29,
16404 0,
16405 59,
16406 OPC_RecordChild1,
16407 OPC_SwitchType , 21, MVT::v16i8,
16408 OPC_CheckPatternPredicate0,
16409 OPC_Scope, 8,
16410 OPC_CheckComplexPat4, /*#*/1,
16411 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
16412 MVT::v16i8, 2, 29,
16413 8,
16414 OPC_CheckComplexPat6, /*#*/1,
16415 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
16416 MVT::v16i8, 2, 29,
16417 0,
16418 9, MVT::v8i16,
16419 OPC_CheckPatternPredicate0,
16420 OPC_CheckComplexPat4, /*#*/1,
16421 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
16422 MVT::v8i16, 2, 29,
16423 9, MVT::v4i32,
16424 OPC_CheckPatternPredicate0,
16425 OPC_CheckComplexPat4, /*#*/1,
16426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
16427 MVT::v4i32, 2, 29,
16428 9, MVT::v2i64,
16429 OPC_CheckPatternPredicate0,
16430 OPC_CheckComplexPat4, /*#*/1,
16431 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
16432 MVT::v2i64, 2, 29,
16433 0,
16434 0,
16435 67,
16436 OPC_MoveChild0,
16437 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16438 OPC_RecordChild0,
16439 OPC_RecordChild1,
16440 OPC_Scope, 26,
16441 OPC_MoveParent,
16442 OPC_RecordChild1,
16443 OPC_SwitchType , 9, MVT::v16i8,
16444 OPC_CheckPatternPredicate0,
16445 OPC_CheckComplexPat1, /*#*/0,
16446 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
16447 MVT::v16i8, 2, 23,
16448 9, MVT::v8i16,
16449 OPC_CheckPatternPredicate0,
16450 OPC_CheckComplexPat1, /*#*/0,
16451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16452 MVT::v8i16, 2, 23,
16453 0,
16454 15,
16455 OPC_CheckChild1Type, MVT::v4i32,
16456 OPC_MoveParent,
16457 OPC_RecordChild1,
16458 OPC_CheckType, MVT::v4i32,
16459 OPC_CheckPatternPredicate0,
16460 OPC_CheckComplexPat1, /*#*/0,
16461 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16462 MVT::v4i32, 2, 23,
16463 15,
16464 OPC_CheckChild1Type, MVT::v2i64,
16465 OPC_MoveParent,
16466 OPC_RecordChild1,
16467 OPC_CheckType, MVT::v2i64,
16468 OPC_CheckPatternPredicate0,
16469 OPC_CheckComplexPat1, /*#*/0,
16470 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16471 MVT::v2i64, 2, 23,
16472 0,
16473 97,
16474 OPC_RecordChild0,
16475 OPC_RecordChild1,
16476 OPC_SwitchType , 28, MVT::v16i8,
16477 OPC_CheckPatternPredicate0,
16478 OPC_Scope, 8,
16479 OPC_CheckComplexPat4, /*#*/0,
16480 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
16481 MVT::v16i8, 2, 32,
16482 8,
16483 OPC_CheckComplexPat6, /*#*/0,
16484 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
16485 MVT::v16i8, 2, 32,
16486 6,
16487 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V),
16488 MVT::v16i8, 2, 16,
16489 0,
16490 19, MVT::v8i16,
16491 OPC_CheckPatternPredicate0,
16492 OPC_Scope, 8,
16493 OPC_CheckComplexPat4, /*#*/0,
16494 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
16495 MVT::v8i16, 2, 32,
16496 6,
16497 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_H_PSEUDO),
16498 MVT::v8i16, 2, 16,
16499 0,
16500 19, MVT::v4i32,
16501 OPC_CheckPatternPredicate0,
16502 OPC_Scope, 8,
16503 OPC_CheckComplexPat4, /*#*/0,
16504 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
16505 MVT::v4i32, 2, 32,
16506 6,
16507 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_W_PSEUDO),
16508 MVT::v4i32, 2, 16,
16509 0,
16510 19, MVT::v2i64,
16511 OPC_CheckPatternPredicate0,
16512 OPC_Scope, 8,
16513 OPC_CheckComplexPat4, /*#*/0,
16514 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
16515 MVT::v2i64, 2, 32,
16516 6,
16517 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_D_PSEUDO),
16518 MVT::v2i64, 2, 16,
16519 0,
16520 0,
16521 0,
16522 111, TARGET_VAL(ISD::ROTR),
16523 OPC_RecordChild0,
16524 OPC_Scope, 47,
16525 OPC_RecordChild1,
16526 OPC_MoveChild1,
16527 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16528 OPC_CheckTypeI32,
16529 OPC_Scope, 12,
16530 OPC_CheckPredicate3,
16531 OPC_MoveParent,
16532 OPC_CheckTypeI32,
16533 OPC_CheckPatternPredicate, 55,
16534 OPC_EmitConvertToTarget1,
16535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
16536 MVT::i32, 2, 29,
16537 13,
16538 OPC_CheckPredicate, 16,
16539 OPC_MoveParent,
16540 OPC_CheckTypeI64,
16541 OPC_CheckPatternPredicate, 60,
16542 OPC_EmitConvertToTarget1,
16543 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTR),
16544 MVT::i64, 2, 29,
16545 11,
16546 OPC_CheckPredicate3,
16547 OPC_MoveParent,
16548 OPC_CheckTypeI32,
16549 OPC_CheckPatternPredicate4,
16550 OPC_EmitConvertToTarget1,
16551 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
16552 MVT::i32, 2, 29,
16553 0,
16554 23,
16555 OPC_MoveChild1,
16556 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
16557 OPC_RecordChild0,
16558 OPC_MoveParent,
16559 OPC_CheckTypeI64,
16560 OPC_CheckPatternPredicate, 9,
16561 OPC_EmitIntegerI32, Mips::sub_32,
16562 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16563 MVT::i32, 2, 32,
16564 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
16565 MVT::i64, 2, 47,
16566 35,
16567 OPC_RecordChild1,
16568 OPC_CheckChild1TypeI32,
16569 OPC_SwitchType , 19, MVT::i32,
16570 OPC_Scope, 8,
16571 OPC_CheckPatternPredicate, 55,
16572 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV),
16573 MVT::i32, 2, 16,
16574 7,
16575 OPC_CheckPatternPredicate4,
16576 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV_MM),
16577 MVT::i32, 2, 16,
16578 0,
16579 8, MVT::i64,
16580 OPC_CheckPatternPredicate, 60,
16581 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
16582 MVT::i64, 2, 16,
16583 0,
16584 0,
16585 67, TARGET_VAL(MipsISD::Sync),
16586 OPC_RecordNode,
16587 OPC_Scope, 15,
16588 OPC_RecordChild1,
16589 OPC_MoveChild1,
16590 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16591 OPC_CheckPredicate3,
16592 OPC_MoveParent,
16593 OPC_CheckPatternPredicate, 116,
16594 OPC_EmitMergeInputChains1_0,
16595 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
16596 1, 17,
16597 16,
16598 OPC_MoveChild1,
16599 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16600 OPC_CheckPredicate7,
16601 OPC_MoveParent,
16602 OPC_CheckPatternPredicate, 117,
16603 OPC_EmitMergeInputChains1_0,
16604 OPC_EmitIntegerI32, 0,
16605 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
16606 1, 17,
16607 30,
16608 OPC_RecordChild1,
16609 OPC_MoveChild1,
16610 OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetConstant),
16611 OPC_CheckPredicate3,
16612 OPC_MoveParent,
16613 OPC_CheckPatternPredicate4,
16614 OPC_EmitMergeInputChains1_0,
16615 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MM),
16616 1, 17,
16617 11, TARGET_VAL(ISD::Constant),
16618 OPC_CheckPredicate3,
16619 OPC_MoveParent,
16620 OPC_CheckPatternPredicate, 8,
16621 OPC_EmitMergeInputChains1_0,
16622 OPC_EmitConvertToTarget1,
16623 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MMR6),
16624 1, 30,
16625 0,
16626 0,
16627 67, TARGET_VAL(ISD::ADDC),
16628 OPC_RecordChild0,
16629 OPC_RecordChild1,
16630 OPC_Scope, 31,
16631 OPC_MoveChild1,
16632 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16633 OPC_CheckPredicate, 8,
16634 OPC_MoveParent,
16635 OPC_SwitchType , 9, MVT::i32,
16636 OPC_CheckPatternPredicate, 90,
16637 OPC_EmitConvertToTarget1,
16638 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDiu),
16639 MVT::i32, 2, 29,
16640 9, MVT::i64,
16641 OPC_CheckPatternPredicate, 91,
16642 OPC_EmitConvertToTarget1,
16643 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDiu),
16644 MVT::i64, 2, 29,
16645 0,
16646 20,
16647 OPC_CheckTypeI32,
16648 OPC_Scope, 8,
16649 OPC_CheckPatternPredicate, 90,
16650 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDu),
16651 MVT::i32, 2, 16,
16652 7,
16653 OPC_CheckPatternPredicate1,
16654 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDSC),
16655 MVT::i32, 2, 16,
16656 0,
16657 9,
16658 OPC_CheckTypeI64,
16659 OPC_CheckPatternPredicate, 91,
16660 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDu),
16661 MVT::i64, 2, 16,
16662 0,
16663 61, TARGET_VAL(ISD::TRUNCATE),
16664 OPC_Scope, 37,
16665 OPC_MoveChild0,
16666 OPC_SwitchOpcode , 15, TARGET_VAL(ISD::AssertZext),
16667 OPC_RecordChild0,
16668 OPC_CheckPredicate, 59,
16669 OPC_MoveParent,
16670 OPC_CheckTypeI32,
16671 OPC_CheckPatternPredicate, 9,
16672 OPC_EmitIntegerI32, Mips::sub_32,
16673 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16674 MVT::i32, 2, 16,
16675 13, TARGET_VAL(ISD::AssertSext),
16676 OPC_RecordChild0,
16677 OPC_MoveParent,
16678 OPC_CheckTypeI32,
16679 OPC_CheckPatternPredicate, 9,
16680 OPC_EmitIntegerI32, Mips::sub_32,
16681 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16682 MVT::i32, 2, 16,
16683 0,
16684 20,
16685 OPC_RecordChild0,
16686 OPC_CheckTypeI32,
16687 OPC_CheckPatternPredicate, 9,
16688 OPC_EmitIntegerI32, Mips::sub_32,
16689 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16690 MVT::i32, 2, 16,
16691 OPC_EmitIntegerI32, 0,
16692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
16693 MVT::i32, 2, 56,
16694 0,
16695 56, TARGET_VAL(MipsISD::SHILO),
16696 OPC_RecordChild0,
16697 OPC_Scope, 30,
16698 OPC_MoveChild0,
16699 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16700 OPC_CheckPredicate, 60,
16701 OPC_MoveParent,
16702 OPC_RecordChild1,
16703 OPC_Scope, 9,
16704 OPC_CheckPatternPredicate1,
16705 OPC_EmitConvertToTarget0,
16706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO),
16707 123|128,1, 2, 23,
16708 9,
16709 OPC_CheckPatternPredicate6,
16710 OPC_EmitConvertToTarget0,
16711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO_MM),
16712 123|128,1, 2, 23,
16713 0,
16714 21,
16715 OPC_RecordChild1,
16716 OPC_Scope, 8,
16717 OPC_CheckPatternPredicate1,
16718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV),
16719 123|128,1, 2, 16,
16720 8,
16721 OPC_CheckPatternPredicate6,
16722 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV_MM),
16723 123|128,1, 2, 16,
16724 0,
16725 0,
16726 31, TARGET_VAL(MipsISD::EXTP),
16727 OPC_RecordNode,
16728 OPC_RecordChild1,
16729 OPC_Scope, 16,
16730 OPC_MoveChild1,
16731 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16732 OPC_CheckPredicate3,
16733 OPC_MoveParent,
16734 OPC_RecordChild2,
16735 OPC_CheckPatternPredicate1,
16736 OPC_EmitMergeInputChains1_0,
16737 OPC_EmitConvertToTarget1,
16738 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTP),
16739 MVT::i32, 2, 56,
16740 9,
16741 OPC_RecordChild2,
16742 OPC_CheckPatternPredicate1,
16743 OPC_EmitMergeInputChains1_0,
16744 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPV),
16745 MVT::i32, 2, 23,
16746 0,
16747 31, TARGET_VAL(MipsISD::EXTPDP),
16748 OPC_RecordNode,
16749 OPC_RecordChild1,
16750 OPC_Scope, 16,
16751 OPC_MoveChild1,
16752 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16753 OPC_CheckPredicate3,
16754 OPC_MoveParent,
16755 OPC_RecordChild2,
16756 OPC_CheckPatternPredicate1,
16757 OPC_EmitMergeInputChains1_0,
16758 OPC_EmitConvertToTarget1,
16759 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDP),
16760 MVT::i32, 2, 56,
16761 9,
16762 OPC_RecordChild2,
16763 OPC_CheckPatternPredicate1,
16764 OPC_EmitMergeInputChains1_0,
16765 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDPV),
16766 MVT::i32, 2, 23,
16767 0,
16768 31, TARGET_VAL(MipsISD::EXTR_W),
16769 OPC_RecordNode,
16770 OPC_RecordChild1,
16771 OPC_Scope, 16,
16772 OPC_MoveChild1,
16773 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16774 OPC_CheckPredicate3,
16775 OPC_MoveParent,
16776 OPC_RecordChild2,
16777 OPC_CheckPatternPredicate1,
16778 OPC_EmitMergeInputChains1_0,
16779 OPC_EmitConvertToTarget1,
16780 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_W),
16781 MVT::i32, 2, 56,
16782 9,
16783 OPC_RecordChild2,
16784 OPC_CheckPatternPredicate1,
16785 OPC_EmitMergeInputChains1_0,
16786 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_W),
16787 MVT::i32, 2, 23,
16788 0,
16789 31, TARGET_VAL(MipsISD::EXTR_R_W),
16790 OPC_RecordNode,
16791 OPC_RecordChild1,
16792 OPC_Scope, 16,
16793 OPC_MoveChild1,
16794 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16795 OPC_CheckPredicate3,
16796 OPC_MoveParent,
16797 OPC_RecordChild2,
16798 OPC_CheckPatternPredicate1,
16799 OPC_EmitMergeInputChains1_0,
16800 OPC_EmitConvertToTarget1,
16801 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_R_W),
16802 MVT::i32, 2, 56,
16803 9,
16804 OPC_RecordChild2,
16805 OPC_CheckPatternPredicate1,
16806 OPC_EmitMergeInputChains1_0,
16807 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_R_W),
16808 MVT::i32, 2, 23,
16809 0,
16810 31, TARGET_VAL(MipsISD::EXTR_RS_W),
16811 OPC_RecordNode,
16812 OPC_RecordChild1,
16813 OPC_Scope, 16,
16814 OPC_MoveChild1,
16815 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16816 OPC_CheckPredicate3,
16817 OPC_MoveParent,
16818 OPC_RecordChild2,
16819 OPC_CheckPatternPredicate1,
16820 OPC_EmitMergeInputChains1_0,
16821 OPC_EmitConvertToTarget1,
16822 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_RS_W),
16823 MVT::i32, 2, 56,
16824 9,
16825 OPC_RecordChild2,
16826 OPC_CheckPatternPredicate1,
16827 OPC_EmitMergeInputChains1_0,
16828 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_RS_W),
16829 MVT::i32, 2, 23,
16830 0,
16831 31, TARGET_VAL(MipsISD::EXTR_S_H),
16832 OPC_RecordNode,
16833 OPC_RecordChild1,
16834 OPC_Scope, 16,
16835 OPC_MoveChild1,
16836 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16837 OPC_CheckPredicate3,
16838 OPC_MoveParent,
16839 OPC_RecordChild2,
16840 OPC_CheckPatternPredicate1,
16841 OPC_EmitMergeInputChains1_0,
16842 OPC_EmitConvertToTarget1,
16843 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_S_H),
16844 MVT::i32, 2, 56,
16845 9,
16846 OPC_RecordChild2,
16847 OPC_CheckPatternPredicate1,
16848 OPC_EmitMergeInputChains1_0,
16849 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_S_H),
16850 MVT::i32, 2, 23,
16851 0,
16852 78|128,3, TARGET_VAL(MipsISD::VEXTRACT_SEXT_ELT),
16853 OPC_RecordChild0,
16854 OPC_Scope, 122,
16855 OPC_CheckChild0Type, MVT::v16i8,
16856 OPC_RecordChild1,
16857 OPC_Scope, 19,
16858 OPC_MoveChild1,
16859 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16860 OPC_CheckPredicate, 15,
16861 OPC_MoveSibling2,
16862 OPC_CheckValueType, MVT::i8,
16863 OPC_MoveParent,
16864 OPC_CheckTypeI32,
16865 OPC_CheckPatternPredicate0,
16866 OPC_EmitConvertToTarget1,
16867 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_B),
16868 MVT::i32, 2, 29,
16869 39,
16870 OPC_CheckChild1TypeI32,
16871 OPC_MoveChild2,
16872 OPC_CheckValueType, MVT::i8,
16873 OPC_MoveParent,
16874 OPC_CheckTypeI32,
16875 OPC_CheckPatternPredicate3,
16876 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16877 MVT::v16i8, 2, 16,
16878 OPC_EmitIntegerI32, Mips::sub_lo,
16879 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16880 MVT::i32, 2, 56,
16881 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16882 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16883 MVT::i32, 2, 5|128,1,
16884 OPC_EmitIntegerI32, 24,
16885 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16886 MVT::i32, 2, 17|128,1,
16887 56,
16888 OPC_CheckChild1TypeI64,
16889 OPC_MoveChild2,
16890 OPC_CheckValueType, MVT::i8,
16891 OPC_MoveParent,
16892 OPC_CheckTypeI32,
16893 OPC_CheckPatternPredicate3,
16894 OPC_EmitIntegerI32, Mips::sub_32,
16895 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16896 MVT::i32, 2, 32,
16897 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16898 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16899 MVT::i32, 2, 106,
16900 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16901 MVT::v16i8, 2, 122,
16902 OPC_EmitIntegerI32, Mips::sub_lo,
16903 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16904 MVT::i32, 2, 17|128,1,
16905 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16906 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16907 MVT::i32, 2, 33|128,1,
16908 OPC_EmitIntegerI32, 24,
16909 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16910 MVT::i32, 2, 43|128,1,
16911 0,
16912 122,
16913 OPC_CheckChild0Type, MVT::v8i16,
16914 OPC_RecordChild1,
16915 OPC_Scope, 19,
16916 OPC_MoveChild1,
16917 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16918 OPC_CheckPredicate, 18,
16919 OPC_MoveSibling2,
16920 OPC_CheckValueType, MVT::i16,
16921 OPC_MoveParent,
16922 OPC_CheckTypeI32,
16923 OPC_CheckPatternPredicate0,
16924 OPC_EmitConvertToTarget1,
16925 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_H),
16926 MVT::i32, 2, 29,
16927 39,
16928 OPC_CheckChild1TypeI32,
16929 OPC_MoveChild2,
16930 OPC_CheckValueType, MVT::i16,
16931 OPC_MoveParent,
16932 OPC_CheckTypeI32,
16933 OPC_CheckPatternPredicate3,
16934 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16935 MVT::v8i16, 2, 16,
16936 OPC_EmitIntegerI32, Mips::sub_lo,
16937 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16938 MVT::i32, 2, 56,
16939 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16940 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16941 MVT::i32, 2, 5|128,1,
16942 OPC_EmitIntegerI32, 16,
16943 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16944 MVT::i32, 2, 17|128,1,
16945 56,
16946 OPC_CheckChild1TypeI64,
16947 OPC_MoveChild2,
16948 OPC_CheckValueType, MVT::i16,
16949 OPC_MoveParent,
16950 OPC_CheckTypeI32,
16951 OPC_CheckPatternPredicate3,
16952 OPC_EmitIntegerI32, Mips::sub_32,
16953 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16954 MVT::i32, 2, 32,
16955 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16956 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16957 MVT::i32, 2, 106,
16958 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16959 MVT::v8i16, 2, 122,
16960 OPC_EmitIntegerI32, Mips::sub_lo,
16961 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16962 MVT::i32, 2, 17|128,1,
16963 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16964 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16965 MVT::i32, 2, 33|128,1,
16966 OPC_EmitIntegerI32, 16,
16967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16968 MVT::i32, 2, 43|128,1,
16969 0,
16970 104,
16971 OPC_CheckChild0Type, MVT::v4i32,
16972 OPC_RecordChild1,
16973 OPC_Scope, 19,
16974 OPC_MoveChild1,
16975 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16976 OPC_CheckPredicate, 22,
16977 OPC_MoveSibling2,
16978 OPC_CheckValueType, MVT::i32,
16979 OPC_MoveParent,
16980 OPC_CheckTypeI32,
16981 OPC_CheckPatternPredicate0,
16982 OPC_EmitConvertToTarget1,
16983 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
16984 MVT::i32, 2, 29,
16985 30,
16986 OPC_CheckChild1TypeI32,
16987 OPC_MoveChild2,
16988 OPC_CheckValueType, MVT::i32,
16989 OPC_MoveParent,
16990 OPC_CheckTypeI32,
16991 OPC_CheckPatternPredicate3,
16992 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16993 MVT::v4i32, 2, 16,
16994 OPC_EmitIntegerI32, Mips::sub_lo,
16995 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16996 MVT::i32, 2, 56,
16997 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16998 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16999 MVT::i32, 2, 5|128,1,
17000 47,
17001 OPC_CheckChild1TypeI64,
17002 OPC_MoveChild2,
17003 OPC_CheckValueType, MVT::i32,
17004 OPC_MoveParent,
17005 OPC_CheckTypeI32,
17006 OPC_CheckPatternPredicate3,
17007 OPC_EmitIntegerI32, Mips::sub_32,
17008 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17009 MVT::i32, 2, 32,
17010 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17011 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17012 MVT::i32, 2, 106,
17013 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17014 MVT::v4i32, 2, 122,
17015 OPC_EmitIntegerI32, Mips::sub_lo,
17016 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17017 MVT::i32, 2, 17|128,1,
17018 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17019 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17020 MVT::i32, 2, 33|128,1,
17021 0,
17022 107,
17023 OPC_CheckChild0Type, MVT::v2i64,
17024 OPC_RecordChild1,
17025 OPC_Scope, 20,
17026 OPC_MoveChild1,
17027 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17028 OPC_CheckPredicate, 26,
17029 OPC_MoveSibling2,
17030 OPC_CheckValueType, MVT::i64,
17031 OPC_MoveParent,
17032 OPC_CheckTypeI64,
17033 OPC_CheckPatternPredicate, 56,
17034 OPC_EmitConvertToTarget1,
17035 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
17036 MVT::i64, 2, 29,
17037 31,
17038 OPC_CheckChild1TypeI32,
17039 OPC_MoveChild2,
17040 OPC_CheckValueType, MVT::i64,
17041 OPC_MoveParent,
17042 OPC_CheckTypeI64,
17043 OPC_CheckPatternPredicate, 68,
17044 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17045 MVT::v2i64, 2, 16,
17046 OPC_EmitIntegerI32, Mips::sub_64,
17047 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17048 MVT::i64, 2, 56,
17049 OPC_EmitIntegerI32, Mips::GPR64RegClassID,
17050 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17051 MVT::i64, 2, 5|128,1,
17052 48,
17053 OPC_CheckChild1TypeI64,
17054 OPC_MoveChild2,
17055 OPC_CheckValueType, MVT::i64,
17056 OPC_MoveParent,
17057 OPC_CheckTypeI64,
17058 OPC_CheckPatternPredicate, 68,
17059 OPC_EmitIntegerI32, Mips::sub_32,
17060 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17061 MVT::i32, 2, 32,
17062 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17063 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17064 MVT::i32, 2, 106,
17065 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17066 MVT::v2i64, 2, 122,
17067 OPC_EmitIntegerI32, Mips::sub_64,
17068 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17069 MVT::i64, 2, 17|128,1,
17070 OPC_EmitIntegerI32, Mips::GPR64RegClassID,
17071 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17072 MVT::i64, 2, 33|128,1,
17073 0,
17074 0,
17075 10|128,4, TARGET_VAL(MipsISD::VEXTRACT_ZEXT_ELT),
17076 OPC_RecordChild0,
17077 OPC_Scope, 122,
17078 OPC_CheckChild0Type, MVT::v16i8,
17079 OPC_RecordChild1,
17080 OPC_Scope, 19,
17081 OPC_MoveChild1,
17082 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17083 OPC_CheckPredicate, 15,
17084 OPC_MoveSibling2,
17085 OPC_CheckValueType, MVT::i8,
17086 OPC_MoveParent,
17087 OPC_CheckTypeI32,
17088 OPC_CheckPatternPredicate0,
17089 OPC_EmitConvertToTarget1,
17090 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_B),
17091 MVT::i32, 2, 29,
17092 39,
17093 OPC_CheckChild1TypeI32,
17094 OPC_MoveChild2,
17095 OPC_CheckValueType, MVT::i8,
17096 OPC_MoveParent,
17097 OPC_CheckTypeI32,
17098 OPC_CheckPatternPredicate3,
17099 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
17100 MVT::v16i8, 2, 16,
17101 OPC_EmitIntegerI32, Mips::sub_lo,
17102 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17103 MVT::i32, 2, 56,
17104 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17105 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17106 MVT::i32, 2, 5|128,1,
17107 OPC_EmitIntegerI32, 24,
17108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
17109 MVT::i32, 2, 17|128,1,
17110 56,
17111 OPC_CheckChild1TypeI64,
17112 OPC_MoveChild2,
17113 OPC_CheckValueType, MVT::i8,
17114 OPC_MoveParent,
17115 OPC_CheckTypeI32,
17116 OPC_CheckPatternPredicate3,
17117 OPC_EmitIntegerI32, Mips::sub_32,
17118 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17119 MVT::i32, 2, 32,
17120 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17121 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17122 MVT::i32, 2, 106,
17123 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
17124 MVT::v16i8, 2, 122,
17125 OPC_EmitIntegerI32, Mips::sub_lo,
17126 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17127 MVT::i32, 2, 17|128,1,
17128 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17129 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17130 MVT::i32, 2, 33|128,1,
17131 OPC_EmitIntegerI32, 24,
17132 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
17133 MVT::i32, 2, 43|128,1,
17134 0,
17135 122,
17136 OPC_CheckChild0Type, MVT::v8i16,
17137 OPC_RecordChild1,
17138 OPC_Scope, 19,
17139 OPC_MoveChild1,
17140 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17141 OPC_CheckPredicate, 18,
17142 OPC_MoveSibling2,
17143 OPC_CheckValueType, MVT::i16,
17144 OPC_MoveParent,
17145 OPC_CheckTypeI32,
17146 OPC_CheckPatternPredicate0,
17147 OPC_EmitConvertToTarget1,
17148 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_H),
17149 MVT::i32, 2, 29,
17150 39,
17151 OPC_CheckChild1TypeI32,
17152 OPC_MoveChild2,
17153 OPC_CheckValueType, MVT::i16,
17154 OPC_MoveParent,
17155 OPC_CheckTypeI32,
17156 OPC_CheckPatternPredicate3,
17157 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
17158 MVT::v8i16, 2, 16,
17159 OPC_EmitIntegerI32, Mips::sub_lo,
17160 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17161 MVT::i32, 2, 56,
17162 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17163 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17164 MVT::i32, 2, 5|128,1,
17165 OPC_EmitIntegerI32, 16,
17166 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
17167 MVT::i32, 2, 17|128,1,
17168 56,
17169 OPC_CheckChild1TypeI64,
17170 OPC_MoveChild2,
17171 OPC_CheckValueType, MVT::i16,
17172 OPC_MoveParent,
17173 OPC_CheckTypeI32,
17174 OPC_CheckPatternPredicate3,
17175 OPC_EmitIntegerI32, Mips::sub_32,
17176 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17177 MVT::i32, 2, 32,
17178 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17179 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17180 MVT::i32, 2, 106,
17181 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
17182 MVT::v8i16, 2, 122,
17183 OPC_EmitIntegerI32, Mips::sub_lo,
17184 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17185 MVT::i32, 2, 17|128,1,
17186 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17187 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17188 MVT::i32, 2, 33|128,1,
17189 OPC_EmitIntegerI32, 16,
17190 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
17191 MVT::i32, 2, 43|128,1,
17192 0,
17193 117,
17194 OPC_CheckChild0Type, MVT::v4i32,
17195 OPC_RecordChild1,
17196 OPC_Scope, 32,
17197 OPC_MoveChild1,
17198 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17199 OPC_CheckPredicate, 22,
17200 OPC_MoveSibling2,
17201 OPC_CheckValueType, MVT::i32,
17202 OPC_MoveParent,
17203 OPC_CheckTypeI32,
17204 OPC_Scope, 9,
17205 OPC_CheckPatternPredicate, 56,
17206 OPC_EmitConvertToTarget1,
17207 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_W),
17208 MVT::i32, 2, 29,
17209 8,
17210 OPC_CheckPatternPredicate3,
17211 OPC_EmitConvertToTarget1,
17212 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
17213 MVT::i32, 2, 29,
17214 0,
17215 30,
17216 OPC_CheckChild1TypeI32,
17217 OPC_MoveChild2,
17218 OPC_CheckValueType, MVT::i32,
17219 OPC_MoveParent,
17220 OPC_CheckTypeI32,
17221 OPC_CheckPatternPredicate3,
17222 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17223 MVT::v4i32, 2, 16,
17224 OPC_EmitIntegerI32, Mips::sub_lo,
17225 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17226 MVT::i32, 2, 56,
17227 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17228 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17229 MVT::i32, 2, 5|128,1,
17230 47,
17231 OPC_CheckChild1TypeI64,
17232 OPC_MoveChild2,
17233 OPC_CheckValueType, MVT::i32,
17234 OPC_MoveParent,
17235 OPC_CheckTypeI32,
17236 OPC_CheckPatternPredicate3,
17237 OPC_EmitIntegerI32, Mips::sub_32,
17238 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17239 MVT::i32, 2, 32,
17240 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17241 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17242 MVT::i32, 2, 106,
17243 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17244 MVT::v4i32, 2, 122,
17245 OPC_EmitIntegerI32, Mips::sub_lo,
17246 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17247 MVT::i32, 2, 17|128,1,
17248 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17249 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17250 MVT::i32, 2, 33|128,1,
17251 0,
17252 23,
17253 OPC_CheckChild0Type, 8|128,1,
17254 OPC_RecordChild1,
17255 OPC_MoveChild1,
17256 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17257 OPC_CheckPredicate, 22,
17258 OPC_MoveSibling2,
17259 OPC_CheckValueType, MVT::i32,
17260 OPC_MoveParent,
17261 OPC_CheckTypeI32,
17262 OPC_CheckPatternPredicate3,
17263 OPC_EmitConvertToTarget1,
17264 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
17265 MVT::i32, 2, 29,
17266 106,
17267 OPC_CheckChild0Type, MVT::v2i64,
17268 OPC_RecordChild1,
17269 OPC_Scope, 19,
17270 OPC_MoveChild1,
17271 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17272 OPC_CheckPredicate, 26,
17273 OPC_MoveSibling2,
17274 OPC_CheckValueType, MVT::i64,
17275 OPC_MoveParent,
17276 OPC_CheckTypeI64,
17277 OPC_CheckPatternPredicate3,
17278 OPC_EmitConvertToTarget1,
17279 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
17280 MVT::i64, 2, 29,
17281 31,
17282 OPC_CheckChild1TypeI32,
17283 OPC_MoveChild2,
17284 OPC_CheckValueType, MVT::i64,
17285 OPC_MoveParent,
17286 OPC_CheckTypeI64,
17287 OPC_CheckPatternPredicate, 68,
17288 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17289 MVT::v2i64, 2, 16,
17290 OPC_EmitIntegerI32, Mips::sub_64,
17291 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17292 MVT::i64, 2, 56,
17293 OPC_EmitIntegerI32, Mips::GPR64RegClassID,
17294 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17295 MVT::i64, 2, 5|128,1,
17296 48,
17297 OPC_CheckChild1TypeI64,
17298 OPC_MoveChild2,
17299 OPC_CheckValueType, MVT::i64,
17300 OPC_MoveParent,
17301 OPC_CheckTypeI64,
17302 OPC_CheckPatternPredicate, 68,
17303 OPC_EmitIntegerI32, Mips::sub_32,
17304 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17305 MVT::i32, 2, 32,
17306 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17307 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17308 MVT::i32, 2, 106,
17309 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17310 MVT::v2i64, 2, 122,
17311 OPC_EmitIntegerI32, Mips::sub_64,
17312 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17313 MVT::i64, 2, 17|128,1,
17314 OPC_EmitIntegerI32, Mips::GPR64RegClassID,
17315 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17316 MVT::i64, 2, 33|128,1,
17317 0,
17318 23,
17319 OPC_CheckChild0Type, 26|128,1,
17320 OPC_RecordChild1,
17321 OPC_MoveChild1,
17322 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17323 OPC_CheckPredicate, 26,
17324 OPC_MoveSibling2,
17325 OPC_CheckValueType, MVT::i64,
17326 OPC_MoveParent,
17327 OPC_CheckTypeI64,
17328 OPC_CheckPatternPredicate3,
17329 OPC_EmitConvertToTarget1,
17330 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
17331 MVT::i64, 2, 29,
17332 0,
17333 54|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
17334 OPC_RecordChild0,
17335 OPC_Scope, 18,
17336 OPC_RecordChild1,
17337 OPC_MoveChild1,
17338 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17339 OPC_CheckPredicate, 15,
17340 OPC_CheckTypeI32,
17341 OPC_MoveParent,
17342 OPC_CheckTypeI32,
17343 OPC_CheckPatternPredicate3,
17344 OPC_EmitConvertToTarget1,
17345 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
17346 MVT::i32, 2, 29,
17347 79,
17348 OPC_CheckChild0Type, 8|128,1,
17349 OPC_RecordChild1,
17350 OPC_Scope, 17,
17351 OPC_MoveChild1,
17352 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17353 OPC_CheckPredicate, 22,
17354 OPC_MoveParent,
17355 OPC_CheckType, MVT::f32,
17356 OPC_CheckPatternPredicate0,
17357 OPC_EmitConvertToTarget1,
17358 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FW_PSEUDO),
17359 MVT::f32, 2, 29,
17360 18,
17361 OPC_CheckChild1TypeI32,
17362 OPC_CheckType, MVT::f32,
17363 OPC_CheckPatternPredicate3,
17364 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17365 MVT::v4i32, 2, 16,
17366 OPC_EmitIntegerI32, Mips::sub_lo,
17367 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17368 MVT::f32, 2, 56,
17369 35,
17370 OPC_CheckChild1TypeI64,
17371 OPC_CheckType, MVT::f32,
17372 OPC_CheckPatternPredicate3,
17373 OPC_EmitIntegerI32, Mips::sub_32,
17374 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17375 MVT::i32, 2, 32,
17376 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17377 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17378 MVT::i32, 2, 106,
17379 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17380 MVT::v4i32, 2, 122,
17381 OPC_EmitIntegerI32, Mips::sub_lo,
17382 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17383 MVT::f32, 2, 17|128,1,
17384 0,
17385 79,
17386 OPC_CheckChild0Type, 26|128,1,
17387 OPC_RecordChild1,
17388 OPC_Scope, 17,
17389 OPC_MoveChild1,
17390 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17391 OPC_CheckPredicate, 26,
17392 OPC_MoveParent,
17393 OPC_CheckType, MVT::f64,
17394 OPC_CheckPatternPredicate0,
17395 OPC_EmitConvertToTarget1,
17396 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FD_PSEUDO),
17397 MVT::f64, 2, 29,
17398 18,
17399 OPC_CheckChild1TypeI32,
17400 OPC_CheckType, MVT::f64,
17401 OPC_CheckPatternPredicate3,
17402 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17403 MVT::v2i64, 2, 16,
17404 OPC_EmitIntegerI32, Mips::sub_64,
17405 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17406 MVT::f64, 2, 56,
17407 35,
17408 OPC_CheckChild1TypeI64,
17409 OPC_CheckType, MVT::f64,
17410 OPC_CheckPatternPredicate3,
17411 OPC_EmitIntegerI32, Mips::sub_32,
17412 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17413 MVT::i32, 2, 32,
17414 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17415 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17416 MVT::i32, 2, 106,
17417 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17418 MVT::v2i64, 2, 122,
17419 OPC_EmitIntegerI32, Mips::sub_64,
17420 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17421 MVT::f64, 2, 17|128,1,
17422 0,
17423 0,
17424 90|128,1, TARGET_VAL(MipsISD::JmpLink),
17425 OPC_RecordNode,
17426 OPC_CaptureGlueInput,
17427 OPC_RecordChild1,
17428 OPC_Scope, 7|128,1,
17429 OPC_MoveChild1,
17430 OPC_SwitchOpcode , 69, TARGET_VAL(ISD::TargetGlobalAddress),
17431 OPC_Scope, 22,
17432 OPC_MoveParent,
17433 OPC_Scope, 8,
17434 OPC_CheckPatternPredicate2,
17435 OPC_EmitMergeInputChains1_0,
17436 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17437 1, 17,
17438 9,
17439 OPC_CheckPatternPredicate, 67,
17440 OPC_EmitMergeInputChains1_0,
17441 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17442 1, 17,
17443 0,
17444 10,
17445 OPC_CheckTypeI32,
17446 OPC_MoveParent,
17447 OPC_CheckPatternPredicate5,
17448 OPC_EmitMergeInputChains1_0,
17449 OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17450 1, 17,
17451 32,
17452 OPC_MoveParent,
17453 OPC_Scope, 18,
17454 OPC_CheckPatternPredicate7,
17455 OPC_EmitMergeInputChains1_0,
17456 OPC_Scope, 6,
17457 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17458 1, 17,
17459 6,
17460 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17461 1, 17,
17462 0,
17463 9,
17464 OPC_CheckPatternPredicate, 8,
17465 OPC_EmitMergeInputChains1_0,
17466 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17467 1, 17,
17468 0,
17469 0,
17470 57, TARGET_VAL(ISD::TargetExternalSymbol),
17471 OPC_SwitchType , 41, MVT::i32,
17472 OPC_MoveParent,
17473 OPC_Scope, 9,
17474 OPC_CheckPatternPredicate, 69,
17475 OPC_EmitMergeInputChains1_0,
17476 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17477 1, 17,
17478 8,
17479 OPC_CheckPatternPredicate5,
17480 OPC_EmitMergeInputChains1_0,
17481 OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17482 1, 17,
17483 8,
17484 OPC_CheckPatternPredicate7,
17485 OPC_EmitMergeInputChains1_0,
17486 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17487 1, 17,
17488 9,
17489 OPC_CheckPatternPredicate, 8,
17490 OPC_EmitMergeInputChains1_0,
17491 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17492 1, 17,
17493 0,
17494 10, MVT::i64,
17495 OPC_MoveParent,
17496 OPC_CheckPatternPredicate, 12,
17497 OPC_EmitMergeInputChains1_0,
17498 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17499 1, 17,
17500 0,
17501 0,
17502 51,
17503 OPC_CheckChild1TypeI32,
17504 OPC_Scope, 9,
17505 OPC_CheckPatternPredicate, 118,
17506 OPC_EmitMergeInputChains1_0,
17507 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17508 1, 17,
17509 9,
17510 OPC_CheckPatternPredicate, 119,
17511 OPC_EmitMergeInputChains1_0,
17512 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHBPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17513 1, 17,
17514 8,
17515 OPC_CheckPatternPredicate5,
17516 OPC_EmitMergeInputChains1_0,
17517 OPC_MorphNodeTo0, TARGET_VAL(Mips::JumpLinkReg16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17518 1, 17,
17519 8,
17520 OPC_CheckPatternPredicate7,
17521 OPC_EmitMergeInputChains1_0,
17522 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR16_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17523 1, 17,
17524 9,
17525 OPC_CheckPatternPredicate, 8,
17526 OPC_EmitMergeInputChains1_0,
17527 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRC16_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17528 1, 17,
17529 0,
17530 23,
17531 OPC_CheckChild1TypeI64,
17532 OPC_Scope, 9,
17533 OPC_CheckPatternPredicate, 120,
17534 OPC_EmitMergeInputChains1_0,
17535 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17536 1, 17,
17537 9,
17538 OPC_CheckPatternPredicate, 121,
17539 OPC_EmitMergeInputChains1_0,
17540 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHB64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17541 1, 17,
17542 0,
17543 0,
17544 56|128,1, TARGET_VAL(MipsISD::TailCall),
17545 OPC_RecordNode,
17546 OPC_CaptureGlueInput,
17547 OPC_RecordChild1,
17548 OPC_Scope, 71,
17549 OPC_MoveChild1,
17550 OPC_SwitchOpcode , 31, TARGET_VAL(ISD::TargetGlobalAddress),
17551 OPC_MoveParent,
17552 OPC_Scope, 8,
17553 OPC_CheckPatternPredicate2,
17554 OPC_EmitMergeInputChains1_0,
17555 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17556 1, 17,
17557 8,
17558 OPC_CheckPatternPredicate7,
17559 OPC_EmitMergeInputChains1_0,
17560 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17561 1, 17,
17562 9,
17563 OPC_CheckPatternPredicate, 8,
17564 OPC_EmitMergeInputChains1_0,
17565 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17566 1, 17,
17567 0,
17568 31, TARGET_VAL(ISD::TargetExternalSymbol),
17569 OPC_MoveParent,
17570 OPC_Scope, 8,
17571 OPC_CheckPatternPredicate2,
17572 OPC_EmitMergeInputChains1_0,
17573 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17574 1, 17,
17575 8,
17576 OPC_CheckPatternPredicate7,
17577 OPC_EmitMergeInputChains1_0,
17578 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17579 1, 17,
17580 9,
17581 OPC_CheckPatternPredicate, 8,
17582 OPC_EmitMergeInputChains1_0,
17583 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17584 1, 17,
17585 0,
17586 0,
17587 62,
17588 OPC_CheckChild1TypeI32,
17589 OPC_Scope, 9,
17590 OPC_CheckPatternPredicate, 92,
17591 OPC_EmitMergeInputChains1_0,
17592 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17593 1, 17,
17594 9,
17595 OPC_CheckPatternPredicate, 122,
17596 OPC_EmitMergeInputChains1_0,
17597 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17598 1, 17,
17599 9,
17600 OPC_CheckPatternPredicate, 93,
17601 OPC_EmitMergeInputChains1_0,
17602 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17603 1, 17,
17604 9,
17605 OPC_CheckPatternPredicate, 94,
17606 OPC_EmitMergeInputChains1_0,
17607 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHBR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17608 1, 17,
17609 8,
17610 OPC_CheckPatternPredicate7,
17611 OPC_EmitMergeInputChains1_0,
17612 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17613 1, 17,
17614 9,
17615 OPC_CheckPatternPredicate, 8,
17616 OPC_EmitMergeInputChains1_0,
17617 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17618 1, 17,
17619 0,
17620 43,
17621 OPC_CheckChild1TypeI64,
17622 OPC_Scope, 9,
17623 OPC_CheckPatternPredicate, 123,
17624 OPC_EmitMergeInputChains1_0,
17625 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17626 1, 17,
17627 9,
17628 OPC_CheckPatternPredicate, 95,
17629 OPC_EmitMergeInputChains1_0,
17630 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17631 1, 17,
17632 9,
17633 OPC_CheckPatternPredicate, 96,
17634 OPC_EmitMergeInputChains1_0,
17635 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17636 1, 17,
17637 9,
17638 OPC_CheckPatternPredicate, 97,
17639 OPC_EmitMergeInputChains1_0,
17640 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHB64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17641 1, 17,
17642 0,
17643 0,
17644 56|128,2, TARGET_VAL(MipsISD::Hi),
17645 OPC_RecordChild0,
17646 OPC_MoveChild0,
17647 OPC_SwitchOpcode , 65, TARGET_VAL(ISD::TargetGlobalAddress),
17648 OPC_MoveParent,
17649 OPC_SwitchType , 34, MVT::i32,
17650 OPC_Scope, 7,
17651 OPC_CheckPatternPredicate2,
17652 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17653 MVT::i32, 1, 1,
17654 7,
17655 OPC_CheckPatternPredicate4,
17656 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17657 MVT::i32, 1, 1,
17658 15,
17659 OPC_CheckPatternPredicate5,
17660 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17661 MVT::i32, 1, 1,
17662 OPC_EmitIntegerI32, 16,
17663 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17664 MVT::i32, 2, 32,
17665 0,
17666 24, MVT::i64,
17667 OPC_Scope, 8,
17668 OPC_CheckPatternPredicate, 25,
17669 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17670 MVT::i64, 1, 1,
17671 12,
17672 OPC_CheckPatternPredicate, 12,
17673 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17674 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17675 MVT::i64, 2, 3,
17676 0,
17677 0,
17678 65, TARGET_VAL(ISD::TargetBlockAddress),
17679 OPC_MoveParent,
17680 OPC_SwitchType , 34, MVT::i32,
17681 OPC_Scope, 7,
17682 OPC_CheckPatternPredicate2,
17683 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17684 MVT::i32, 1, 1,
17685 7,
17686 OPC_CheckPatternPredicate4,
17687 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17688 MVT::i32, 1, 1,
17689 15,
17690 OPC_CheckPatternPredicate5,
17691 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17692 MVT::i32, 1, 1,
17693 OPC_EmitIntegerI32, 16,
17694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17695 MVT::i32, 2, 32,
17696 0,
17697 24, MVT::i64,
17698 OPC_Scope, 8,
17699 OPC_CheckPatternPredicate, 25,
17700 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17701 MVT::i64, 1, 1,
17702 12,
17703 OPC_CheckPatternPredicate, 12,
17704 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17705 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17706 MVT::i64, 2, 3,
17707 0,
17708 0,
17709 65, TARGET_VAL(ISD::TargetJumpTable),
17710 OPC_MoveParent,
17711 OPC_SwitchType , 34, MVT::i32,
17712 OPC_Scope, 7,
17713 OPC_CheckPatternPredicate2,
17714 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17715 MVT::i32, 1, 1,
17716 7,
17717 OPC_CheckPatternPredicate4,
17718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17719 MVT::i32, 1, 1,
17720 15,
17721 OPC_CheckPatternPredicate5,
17722 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17723 MVT::i32, 1, 1,
17724 OPC_EmitIntegerI32, 16,
17725 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17726 MVT::i32, 2, 32,
17727 0,
17728 24, MVT::i64,
17729 OPC_Scope, 8,
17730 OPC_CheckPatternPredicate, 25,
17731 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17732 MVT::i64, 1, 1,
17733 12,
17734 OPC_CheckPatternPredicate, 12,
17735 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17736 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17737 MVT::i64, 2, 3,
17738 0,
17739 0,
17740 49, TARGET_VAL(ISD::TargetConstantPool),
17741 OPC_MoveParent,
17742 OPC_SwitchType , 18, MVT::i32,
17743 OPC_Scope, 7,
17744 OPC_CheckPatternPredicate2,
17745 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17746 MVT::i32, 1, 1,
17747 7,
17748 OPC_CheckPatternPredicate4,
17749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17750 MVT::i32, 1, 1,
17751 0,
17752 24, MVT::i64,
17753 OPC_Scope, 8,
17754 OPC_CheckPatternPredicate, 25,
17755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17756 MVT::i64, 1, 1,
17757 12,
17758 OPC_CheckPatternPredicate, 12,
17759 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17760 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17761 MVT::i64, 2, 3,
17762 0,
17763 0,
17764 49, TARGET_VAL(ISD::TargetExternalSymbol),
17765 OPC_MoveParent,
17766 OPC_SwitchType , 18, MVT::i32,
17767 OPC_Scope, 7,
17768 OPC_CheckPatternPredicate2,
17769 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17770 MVT::i32, 1, 1,
17771 7,
17772 OPC_CheckPatternPredicate4,
17773 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17774 MVT::i32, 1, 1,
17775 0,
17776 24, MVT::i64,
17777 OPC_Scope, 8,
17778 OPC_CheckPatternPredicate, 25,
17779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17780 MVT::i64, 1, 1,
17781 12,
17782 OPC_CheckPatternPredicate, 12,
17783 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17784 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17785 MVT::i64, 2, 3,
17786 0,
17787 0,
17788 0,
17789 116|128,2, TARGET_VAL(MipsISD::Lo),
17790 OPC_RecordChild0,
17791 OPC_MoveChild0,
17792 OPC_SwitchOpcode , 57, TARGET_VAL(ISD::TargetGlobalAddress),
17793 OPC_MoveParent,
17794 OPC_SwitchType , 22, MVT::i32,
17795 OPC_Scope, 9,
17796 OPC_CheckPatternPredicate2,
17797 OPC_EmitRegisterI32, Mips::ZERO,
17798 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17799 MVT::i32, 2, 3,
17800 9,
17801 OPC_CheckPatternPredicate4,
17802 OPC_EmitRegisterI32, Mips::ZERO,
17803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17804 MVT::i32, 2, 3,
17805 0,
17806 28, MVT::i64,
17807 OPC_Scope, 12,
17808 OPC_CheckPatternPredicate, 25,
17809 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17810 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17811 MVT::i64, 2, 3,
17812 12,
17813 OPC_CheckPatternPredicate, 12,
17814 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17815 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17816 MVT::i64, 2, 3,
17817 0,
17818 0,
17819 65, TARGET_VAL(ISD::TargetBlockAddress),
17820 OPC_MoveParent,
17821 OPC_SwitchType , 30, MVT::i32,
17822 OPC_Scope, 9,
17823 OPC_CheckPatternPredicate2,
17824 OPC_EmitRegisterI32, Mips::ZERO,
17825 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17826 MVT::i32, 2, 3,
17827 7,
17828 OPC_CheckPatternPredicate5,
17829 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
17830 MVT::i32, 1, 1,
17831 9,
17832 OPC_CheckPatternPredicate4,
17833 OPC_EmitRegisterI32, Mips::ZERO,
17834 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17835 MVT::i32, 2, 3,
17836 0,
17837 28, MVT::i64,
17838 OPC_Scope, 12,
17839 OPC_CheckPatternPredicate, 25,
17840 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17841 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17842 MVT::i64, 2, 3,
17843 12,
17844 OPC_CheckPatternPredicate, 12,
17845 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17846 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17847 MVT::i64, 2, 3,
17848 0,
17849 0,
17850 57, TARGET_VAL(ISD::TargetJumpTable),
17851 OPC_MoveParent,
17852 OPC_SwitchType , 22, MVT::i32,
17853 OPC_Scope, 9,
17854 OPC_CheckPatternPredicate2,
17855 OPC_EmitRegisterI32, Mips::ZERO,
17856 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17857 MVT::i32, 2, 3,
17858 9,
17859 OPC_CheckPatternPredicate4,
17860 OPC_EmitRegisterI32, Mips::ZERO,
17861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17862 MVT::i32, 2, 3,
17863 0,
17864 28, MVT::i64,
17865 OPC_Scope, 12,
17866 OPC_CheckPatternPredicate, 25,
17867 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17868 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17869 MVT::i64, 2, 3,
17870 12,
17871 OPC_CheckPatternPredicate, 12,
17872 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17873 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17874 MVT::i64, 2, 3,
17875 0,
17876 0,
17877 57, TARGET_VAL(ISD::TargetConstantPool),
17878 OPC_MoveParent,
17879 OPC_SwitchType , 22, MVT::i32,
17880 OPC_Scope, 9,
17881 OPC_CheckPatternPredicate2,
17882 OPC_EmitRegisterI32, Mips::ZERO,
17883 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17884 MVT::i32, 2, 3,
17885 9,
17886 OPC_CheckPatternPredicate4,
17887 OPC_EmitRegisterI32, Mips::ZERO,
17888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17889 MVT::i32, 2, 3,
17890 0,
17891 28, MVT::i64,
17892 OPC_Scope, 12,
17893 OPC_CheckPatternPredicate, 25,
17894 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17895 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17896 MVT::i64, 2, 3,
17897 12,
17898 OPC_CheckPatternPredicate, 12,
17899 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17901 MVT::i64, 2, 3,
17902 0,
17903 0,
17904 57, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17905 OPC_MoveParent,
17906 OPC_SwitchType , 22, MVT::i32,
17907 OPC_Scope, 9,
17908 OPC_CheckPatternPredicate2,
17909 OPC_EmitRegisterI32, Mips::ZERO,
17910 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17911 MVT::i32, 2, 3,
17912 9,
17913 OPC_CheckPatternPredicate4,
17914 OPC_EmitRegisterI32, Mips::ZERO,
17915 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17916 MVT::i32, 2, 3,
17917 0,
17918 28, MVT::i64,
17919 OPC_Scope, 12,
17920 OPC_CheckPatternPredicate, 25,
17921 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17922 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17923 MVT::i64, 2, 3,
17924 12,
17925 OPC_CheckPatternPredicate, 12,
17926 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17927 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17928 MVT::i64, 2, 3,
17929 0,
17930 0,
17931 57, TARGET_VAL(ISD::TargetExternalSymbol),
17932 OPC_MoveParent,
17933 OPC_SwitchType , 22, MVT::i32,
17934 OPC_Scope, 9,
17935 OPC_CheckPatternPredicate2,
17936 OPC_EmitRegisterI32, Mips::ZERO,
17937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17938 MVT::i32, 2, 3,
17939 9,
17940 OPC_CheckPatternPredicate4,
17941 OPC_EmitRegisterI32, Mips::ZERO,
17942 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17943 MVT::i32, 2, 3,
17944 0,
17945 28, MVT::i64,
17946 OPC_Scope, 12,
17947 OPC_CheckPatternPredicate, 25,
17948 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17949 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17950 MVT::i64, 2, 3,
17951 12,
17952 OPC_CheckPatternPredicate, 12,
17953 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17954 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17955 MVT::i64, 2, 3,
17956 0,
17957 0,
17958 0,
17959 76, TARGET_VAL(MipsISD::GotHi),
17960 OPC_RecordChild0,
17961 OPC_MoveChild0,
17962 OPC_SwitchOpcode , 33, TARGET_VAL(ISD::TargetGlobalAddress),
17963 OPC_MoveParent,
17964 OPC_SwitchType , 18, MVT::i32,
17965 OPC_Scope, 7,
17966 OPC_CheckPatternPredicate2,
17967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17968 MVT::i32, 1, 1,
17969 7,
17970 OPC_CheckPatternPredicate4,
17971 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17972 MVT::i32, 1, 1,
17973 0,
17974 8, MVT::i64,
17975 OPC_CheckPatternPredicate, 9,
17976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17977 MVT::i64, 1, 1,
17978 0,
17979 33, TARGET_VAL(ISD::TargetExternalSymbol),
17980 OPC_MoveParent,
17981 OPC_SwitchType , 18, MVT::i32,
17982 OPC_Scope, 7,
17983 OPC_CheckPatternPredicate2,
17984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17985 MVT::i32, 1, 1,
17986 7,
17987 OPC_CheckPatternPredicate4,
17988 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17989 MVT::i32, 1, 1,
17990 0,
17991 8, MVT::i64,
17992 OPC_CheckPatternPredicate, 9,
17993 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17994 MVT::i64, 1, 1,
17995 0,
17996 0,
17997 54, TARGET_VAL(MipsISD::TlsHi),
17998 OPC_RecordChild0,
17999 OPC_MoveChild0,
18000 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
18001 OPC_MoveParent,
18002 OPC_SwitchType , 34, MVT::i32,
18003 OPC_Scope, 7,
18004 OPC_CheckPatternPredicate2,
18005 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
18006 MVT::i32, 1, 1,
18007 7,
18008 OPC_CheckPatternPredicate4,
18009 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
18010 MVT::i32, 1, 1,
18011 15,
18012 OPC_CheckPatternPredicate5,
18013 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
18014 MVT::i32, 1, 1,
18015 OPC_EmitIntegerI32, 16,
18016 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
18017 MVT::i32, 2, 32,
18018 0,
18019 8, MVT::i64,
18020 OPC_CheckPatternPredicate, 9,
18021 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18022 MVT::i64, 1, 1,
18023 0,
18024 109|128,1, TARGET_VAL(MipsISD::Wrapper),
18025 OPC_RecordChild0,
18026 OPC_RecordChild1,
18027 OPC_MoveChild1,
18028 OPC_SwitchOpcode , 41, TARGET_VAL(ISD::TargetGlobalAddress),
18029 OPC_MoveParent,
18030 OPC_SwitchType , 26, MVT::i32,
18031 OPC_Scope, 7,
18032 OPC_CheckPatternPredicate2,
18033 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18034 MVT::i32, 2, 16,
18035 7,
18036 OPC_CheckPatternPredicate5,
18037 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
18038 MVT::i32, 2, 16,
18039 7,
18040 OPC_CheckPatternPredicate4,
18041 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18042 MVT::i32, 2, 16,
18043 0,
18044 8, MVT::i64,
18045 OPC_CheckPatternPredicate, 9,
18046 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18047 MVT::i64, 2, 16,
18048 0,
18049 33, TARGET_VAL(ISD::TargetConstantPool),
18050 OPC_MoveParent,
18051 OPC_SwitchType , 18, MVT::i32,
18052 OPC_Scope, 7,
18053 OPC_CheckPatternPredicate2,
18054 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18055 MVT::i32, 2, 16,
18056 7,
18057 OPC_CheckPatternPredicate4,
18058 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18059 MVT::i32, 2, 16,
18060 0,
18061 8, MVT::i64,
18062 OPC_CheckPatternPredicate, 9,
18063 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18064 MVT::i64, 2, 16,
18065 0,
18066 33, TARGET_VAL(ISD::TargetExternalSymbol),
18067 OPC_MoveParent,
18068 OPC_SwitchType , 18, MVT::i32,
18069 OPC_Scope, 7,
18070 OPC_CheckPatternPredicate2,
18071 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18072 MVT::i32, 2, 16,
18073 7,
18074 OPC_CheckPatternPredicate4,
18075 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18076 MVT::i32, 2, 16,
18077 0,
18078 8, MVT::i64,
18079 OPC_CheckPatternPredicate, 9,
18080 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18081 MVT::i64, 2, 16,
18082 0,
18083 33, TARGET_VAL(ISD::TargetBlockAddress),
18084 OPC_MoveParent,
18085 OPC_SwitchType , 18, MVT::i32,
18086 OPC_Scope, 7,
18087 OPC_CheckPatternPredicate2,
18088 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18089 MVT::i32, 2, 16,
18090 7,
18091 OPC_CheckPatternPredicate4,
18092 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18093 MVT::i32, 2, 16,
18094 0,
18095 8, MVT::i64,
18096 OPC_CheckPatternPredicate, 9,
18097 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18098 MVT::i64, 2, 16,
18099 0,
18100 33, TARGET_VAL(ISD::TargetJumpTable),
18101 OPC_MoveParent,
18102 OPC_SwitchType , 18, MVT::i32,
18103 OPC_Scope, 7,
18104 OPC_CheckPatternPredicate2,
18105 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18106 MVT::i32, 2, 16,
18107 7,
18108 OPC_CheckPatternPredicate4,
18109 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18110 MVT::i32, 2, 16,
18111 0,
18112 8, MVT::i64,
18113 OPC_CheckPatternPredicate, 9,
18114 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18115 MVT::i64, 2, 16,
18116 0,
18117 41, TARGET_VAL(ISD::TargetGlobalTLSAddress),
18118 OPC_MoveParent,
18119 OPC_SwitchType , 26, MVT::i32,
18120 OPC_Scope, 7,
18121 OPC_CheckPatternPredicate2,
18122 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18123 MVT::i32, 2, 16,
18124 7,
18125 OPC_CheckPatternPredicate5,
18126 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
18127 MVT::i32, 2, 16,
18128 7,
18129 OPC_CheckPatternPredicate4,
18130 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18131 MVT::i32, 2, 16,
18132 0,
18133 8, MVT::i64,
18134 OPC_CheckPatternPredicate, 9,
18135 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18136 MVT::i64, 2, 16,
18137 0,
18138 0,
18139 77, TARGET_VAL(MipsISD::FPCmp),
18140 OPC_RecordChild0,
18141 OPC_Scope, 31,
18142 OPC_CheckChild0Type, MVT::f32,
18143 OPC_RecordChild1,
18144 OPC_RecordChild2,
18145 OPC_MoveChild2,
18146 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18147 OPC_MoveParent,
18148 OPC_Scope, 9,
18149 OPC_CheckPatternPredicate, 77,
18150 OPC_EmitConvertToTarget2,
18151 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
18152 MVT::i32, 3, 49,
18153 9,
18154 OPC_CheckPatternPredicate, 44,
18155 OPC_EmitConvertToTarget2,
18156 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32_MM),
18157 MVT::i32, 3, 49,
18158 0,
18159 41,
18160 OPC_CheckChild0Type, MVT::f64,
18161 OPC_RecordChild1,
18162 OPC_RecordChild2,
18163 OPC_MoveChild2,
18164 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18165 OPC_MoveParent,
18166 OPC_Scope, 9,
18167 OPC_CheckPatternPredicate, 124,
18168 OPC_EmitConvertToTarget2,
18169 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32),
18170 MVT::i32, 3, 49,
18171 9,
18172 OPC_CheckPatternPredicate, 125,
18173 OPC_EmitConvertToTarget2,
18174 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D64),
18175 MVT::i32, 3, 49,
18176 9,
18177 OPC_CheckPatternPredicate, 44,
18178 OPC_EmitConvertToTarget2,
18179 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32_MM),
18180 MVT::i32, 3, 49,
18181 0,
18182 0,
18183 29, TARGET_VAL(MipsISD::ExtractElementF64),
18184 OPC_RecordChild0,
18185 OPC_RecordChild1,
18186 OPC_MoveChild1,
18187 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18188 OPC_MoveParent,
18189 OPC_Scope, 9,
18190 OPC_CheckPatternPredicate, 98,
18191 OPC_EmitConvertToTarget1,
18192 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64),
18193 MVT::i32, 2, 29,
18194 9,
18195 OPC_CheckPatternPredicate, 99,
18196 OPC_EmitConvertToTarget1,
18197 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64_64),
18198 MVT::i32, 2, 29,
18199 0,
18200 69, TARGET_VAL(MipsISD::Highest),
18201 OPC_RecordChild0,
18202 OPC_MoveChild0,
18203 OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
18204 OPC_MoveParent,
18205 OPC_CheckTypeI64,
18206 OPC_CheckPatternPredicate, 12,
18207 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18208 MVT::i64, 1, 1,
18209 10, TARGET_VAL(ISD::TargetBlockAddress),
18210 OPC_MoveParent,
18211 OPC_CheckTypeI64,
18212 OPC_CheckPatternPredicate, 12,
18213 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18214 MVT::i64, 1, 1,
18215 10, TARGET_VAL(ISD::TargetJumpTable),
18216 OPC_MoveParent,
18217 OPC_CheckTypeI64,
18218 OPC_CheckPatternPredicate, 12,
18219 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18220 MVT::i64, 1, 1,
18221 10, TARGET_VAL(ISD::TargetConstantPool),
18222 OPC_MoveParent,
18223 OPC_CheckTypeI64,
18224 OPC_CheckPatternPredicate, 12,
18225 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18226 MVT::i64, 1, 1,
18227 10, TARGET_VAL(ISD::TargetExternalSymbol),
18228 OPC_MoveParent,
18229 OPC_CheckTypeI64,
18230 OPC_CheckPatternPredicate, 12,
18231 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18232 MVT::i64, 1, 1,
18233 0,
18234 89, TARGET_VAL(MipsISD::Higher),
18235 OPC_RecordChild0,
18236 OPC_MoveChild0,
18237 OPC_SwitchOpcode , 14, TARGET_VAL(ISD::TargetGlobalAddress),
18238 OPC_MoveParent,
18239 OPC_CheckTypeI64,
18240 OPC_CheckPatternPredicate, 12,
18241 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18242 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18243 MVT::i64, 2, 3,
18244 14, TARGET_VAL(ISD::TargetBlockAddress),
18245 OPC_MoveParent,
18246 OPC_CheckTypeI64,
18247 OPC_CheckPatternPredicate, 12,
18248 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18249 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18250 MVT::i64, 2, 3,
18251 14, TARGET_VAL(ISD::TargetJumpTable),
18252 OPC_MoveParent,
18253 OPC_CheckTypeI64,
18254 OPC_CheckPatternPredicate, 12,
18255 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18256 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18257 MVT::i64, 2, 3,
18258 14, TARGET_VAL(ISD::TargetConstantPool),
18259 OPC_MoveParent,
18260 OPC_CheckTypeI64,
18261 OPC_CheckPatternPredicate, 12,
18262 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18263 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18264 MVT::i64, 2, 3,
18265 14, TARGET_VAL(ISD::TargetExternalSymbol),
18266 OPC_MoveParent,
18267 OPC_CheckTypeI64,
18268 OPC_CheckPatternPredicate, 12,
18269 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18270 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18271 MVT::i64, 2, 3,
18272 0,
18273 19, TARGET_VAL(MipsISD::GPRel),
18274 OPC_RecordChild0,
18275 OPC_MoveChild0,
18276 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18277 OPC_MoveParent,
18278 OPC_CheckTypeI64,
18279 OPC_CheckPatternPredicate, 61,
18280 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18281 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18282 MVT::i64, 2, 3,
18283 109|128,2, TARGET_VAL(ISD::Constant),
18284 OPC_RecordNode,
18285 OPC_Scope, 14,
18286 OPC_CheckPredicate, 37,
18287 OPC_CheckTypeI32,
18288 OPC_CheckPatternPredicate2,
18289 OPC_EmitConvertToTarget0,
18290 OPC_EmitNodeXForm, 5, 1,
18291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
18292 MVT::i32, 1, 30,
18293 13,
18294 OPC_CheckPredicate, 38,
18295 OPC_CheckTypeI32,
18296 OPC_CheckPatternPredicate2,
18297 OPC_EmitRegisterI32, Mips::ZERO,
18298 OPC_EmitConvertToTarget0,
18299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
18300 MVT::i32, 2, 32,
18301 13,
18302 OPC_CheckPredicate, 8,
18303 OPC_CheckTypeI32,
18304 OPC_CheckPatternPredicate2,
18305 OPC_EmitRegisterI32, Mips::ZERO,
18306 OPC_EmitConvertToTarget0,
18307 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18308 MVT::i32, 2, 32,
18309 15,
18310 OPC_CheckPredicate, 37,
18311 OPC_CheckTypeI64,
18312 OPC_CheckPatternPredicate, 9,
18313 OPC_EmitConvertToTarget0,
18314 OPC_EmitNodeXForm, 5, 1,
18315 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18316 MVT::i64, 1, 30,
18317 16,
18318 OPC_CheckPredicate, 38,
18319 OPC_CheckTypeI64,
18320 OPC_CheckPatternPredicate, 9,
18321 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18322 OPC_EmitConvertToTarget0,
18323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18324 MVT::i64, 2, 32,
18325 16,
18326 OPC_CheckPredicate, 8,
18327 OPC_CheckTypeI64,
18328 OPC_CheckPatternPredicate, 9,
18329 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18330 OPC_EmitConvertToTarget0,
18331 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18332 MVT::i64, 2, 32,
18333 14,
18334 OPC_CheckPredicate, 12,
18335 OPC_CheckTypeI32,
18336 OPC_CheckPatternPredicate5,
18337 OPC_EmitConvertToTarget0,
18338 OPC_EmitNodeXForm, 3, 1,
18339 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
18340 MVT::i32, 1, 30,
18341 11,
18342 OPC_CheckPredicate, 61,
18343 OPC_CheckTypeI32,
18344 OPC_CheckPatternPredicate4,
18345 OPC_EmitConvertToTarget0,
18346 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LI16_MM),
18347 MVT::i32, 1, 17,
18348 14,
18349 OPC_CheckPredicate, 37,
18350 OPC_CheckTypeI32,
18351 OPC_CheckPatternPredicate4,
18352 OPC_EmitConvertToTarget0,
18353 OPC_EmitNodeXForm, 5, 1,
18354 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
18355 MVT::i32, 1, 30,
18356 13,
18357 OPC_CheckPredicate, 38,
18358 OPC_CheckTypeI32,
18359 OPC_CheckPatternPredicate4,
18360 OPC_EmitRegisterI32, Mips::ZERO,
18361 OPC_EmitConvertToTarget0,
18362 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
18363 MVT::i32, 2, 32,
18364 13,
18365 OPC_CheckPredicate, 8,
18366 OPC_CheckTypeI32,
18367 OPC_CheckPatternPredicate4,
18368 OPC_EmitRegisterI32, Mips::ZERO,
18369 OPC_EmitConvertToTarget0,
18370 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18371 MVT::i32, 2, 32,
18372 17,
18373 OPC_CheckPredicate, 12,
18374 OPC_CheckTypeI32,
18375 OPC_CheckPatternPredicate, 8,
18376 OPC_EmitRegisterI32, Mips::ZERO,
18377 OPC_EmitConvertToTarget0,
18378 OPC_EmitNodeXForm, 3, 2,
18379 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
18380 MVT::i32, 2, 50,
18381 53,
18382 OPC_CheckPredicate, 49,
18383 OPC_SwitchType , 22, MVT::i32,
18384 OPC_CheckPatternPredicate2,
18385 OPC_EmitConvertToTarget0,
18386 OPC_EmitNodeXForm, 5, 1,
18387 OPC_EmitNode1None, TARGET_VAL(Mips::LUi),
18388 MVT::i32, 1, 30,
18389 OPC_EmitConvertToTarget0,
18390 OPC_EmitNodeXForm, 3, 4,
18391 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
18392 MVT::i32, 2, 2|128,1,
18393 23, MVT::i64,
18394 OPC_CheckPatternPredicate, 9,
18395 OPC_EmitConvertToTarget0,
18396 OPC_EmitNodeXForm, 5, 1,
18397 OPC_EmitNode1None, TARGET_VAL(Mips::LUi64),
18398 MVT::i64, 1, 30,
18399 OPC_EmitConvertToTarget0,
18400 OPC_EmitNodeXForm, 3, 4,
18401 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18402 MVT::i64, 2, 2|128,1,
18403 0,
18404 28,
18405 OPC_CheckPredicate, 62,
18406 OPC_CheckTypeI64,
18407 OPC_CheckPatternPredicate, 9,
18408 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18409 OPC_EmitConvertToTarget0,
18410 OPC_EmitNodeXForm, 5, 2,
18411 OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
18412 MVT::i64, 2, 50,
18413 OPC_EmitIntegerI32, 16,
18414 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
18415 MVT::i64, 2, 5|128,1,
18416 19,
18417 OPC_CheckPredicate, 8,
18418 OPC_CheckTypeI32,
18419 OPC_CheckPatternPredicate5,
18420 OPC_EmitRegisterI32, Mips::ZERO,
18421 OPC_EmitNode1None, TARGET_VAL(Mips::MoveR3216),
18422 MVT::i32, 1, 17,
18423 OPC_EmitConvertToTarget0,
18424 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
18425 MVT::i32, 2, 56,
18426 25,
18427 OPC_CheckPredicate, 49,
18428 OPC_CheckTypeI32,
18429 OPC_CheckPatternPredicate4,
18430 OPC_EmitConvertToTarget0,
18431 OPC_EmitNodeXForm, 5, 1,
18432 OPC_EmitNode1None, TARGET_VAL(Mips::LUi_MM),
18433 MVT::i32, 1, 30,
18434 OPC_EmitConvertToTarget0,
18435 OPC_EmitNodeXForm, 3, 4,
18436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
18437 MVT::i32, 2, 2|128,1,
18438 39,
18439 OPC_CheckPredicate, 63,
18440 OPC_CheckTypeI64,
18441 OPC_CheckPatternPredicate, 9,
18442 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18443 OPC_EmitConvertToTarget0,
18444 OPC_EmitNodeXForm, 5, 2,
18445 OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
18446 MVT::i64, 2, 50,
18447 OPC_EmitIntegerI32, 16,
18448 OPC_EmitNode1None, TARGET_VAL(Mips::DSLL),
18449 MVT::i64, 2, 5|128,1,
18450 OPC_EmitConvertToTarget0,
18451 OPC_EmitNodeXForm, 3, 7,
18452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18453 MVT::i64, 2, 24|128,1,
18454 11,
18455 OPC_CheckTypeI32,
18456 OPC_CheckPatternPredicate5,
18457 OPC_EmitConvertToTarget0,
18458 OPC_EmitIntegerI32, 127,
18459 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LwConstant32),
18460 MVT::i32, 2, 32,
18461 0,
18462 109, TARGET_VAL(ISD::BRIND),
18463 OPC_RecordNode,
18464 OPC_RecordChild1,
18465 OPC_Scope, 64,
18466 OPC_CheckChild1TypeI32,
18467 OPC_Scope, 7,
18468 OPC_CheckPatternPredicate5,
18469 OPC_EmitMergeInputChains1_0,
18470 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::JrcRx16),
18471 1, 17,
18472 8,
18473 OPC_CheckPatternPredicate, 92,
18474 OPC_EmitMergeInputChains1_0,
18475 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch),
18476 1, 17,
18477 8,
18478 OPC_CheckPatternPredicate, 126,
18479 OPC_EmitMergeInputChains1_0,
18480 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch),
18481 1, 17,
18482 8,
18483 OPC_CheckPatternPredicate, 93,
18484 OPC_EmitMergeInputChains1_0,
18485 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranchR6),
18486 1, 17,
18487 8,
18488 OPC_CheckPatternPredicate, 94,
18489 OPC_EmitMergeInputChains1_0,
18490 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranchR6),
18491 1, 17,
18492 7,
18493 OPC_CheckPatternPredicate7,
18494 OPC_EmitMergeInputChains1_0,
18495 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MM),
18496 1, 17,
18497 8,
18498 OPC_CheckPatternPredicate, 8,
18499 OPC_EmitMergeInputChains1_0,
18500 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MMR6),
18501 1, 17,
18502 0,
18503 39,
18504 OPC_CheckChild1TypeI64,
18505 OPC_Scope, 8,
18506 OPC_CheckPatternPredicate, 127,
18507 OPC_EmitMergeInputChains1_0,
18508 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64),
18509 1, 17,
18510 8,
18511 OPC_CheckPatternPredicate, 95,
18512 OPC_EmitMergeInputChains1_0,
18513 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch64),
18514 1, 17,
18515 8,
18516 OPC_CheckPatternPredicate, 96,
18517 OPC_EmitMergeInputChains1_0,
18518 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64R6),
18519 1, 17,
18520 8,
18521 OPC_CheckPatternPredicate, 97,
18522 OPC_EmitMergeInputChains1_0,
18523 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranch64R6),
18524 1, 17,
18525 0,
18526 0,
18527 61, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
18528 OPC_RecordMemRef,
18529 OPC_RecordNode,
18530 OPC_RecordChild1,
18531 OPC_RecordChild2,
18532 OPC_SwitchType , 39, MVT::i32,
18533 OPC_Scope, 11,
18534 OPC_CheckPredicate5,
18535 OPC_CheckPatternPredicate, 11,
18536 OPC_EmitMergeInputChains1_0,
18537 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I8), 0|OPFL_Chain|OPFL_MemRefs,
18538 MVT::i32, 2, 32,
18539 11,
18540 OPC_CheckPredicate4,
18541 OPC_CheckPatternPredicate, 11,
18542 OPC_EmitMergeInputChains1_0,
18543 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I16), 0|OPFL_Chain|OPFL_MemRefs,
18544 MVT::i32, 2, 32,
18545 12,
18546 OPC_CheckPredicate, 9,
18547 OPC_CheckPatternPredicate, 11,
18548 OPC_EmitMergeInputChains1_0,
18549 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
18550 MVT::i32, 2, 32,
18551 0,
18552 12, MVT::i64,
18553 OPC_CheckPredicate, 17,
18554 OPC_CheckPatternPredicate, 11,
18555 OPC_EmitMergeInputChains1_0,
18556 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
18557 MVT::i64, 2, 32,
18558 0,
18559 61, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
18560 OPC_RecordMemRef,
18561 OPC_RecordNode,
18562 OPC_RecordChild1,
18563 OPC_RecordChild2,
18564 OPC_SwitchType , 39, MVT::i32,
18565 OPC_Scope, 11,
18566 OPC_CheckPredicate5,
18567 OPC_CheckPatternPredicate, 11,
18568 OPC_EmitMergeInputChains1_0,
18569 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I8), 0|OPFL_Chain|OPFL_MemRefs,
18570 MVT::i32, 2, 32,
18571 11,
18572 OPC_CheckPredicate4,
18573 OPC_CheckPatternPredicate, 11,
18574 OPC_EmitMergeInputChains1_0,
18575 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I16), 0|OPFL_Chain|OPFL_MemRefs,
18576 MVT::i32, 2, 32,
18577 12,
18578 OPC_CheckPredicate, 9,
18579 OPC_CheckPatternPredicate, 11,
18580 OPC_EmitMergeInputChains1_0,
18581 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
18582 MVT::i32, 2, 32,
18583 0,
18584 12, MVT::i64,
18585 OPC_CheckPredicate, 17,
18586 OPC_CheckPatternPredicate, 11,
18587 OPC_EmitMergeInputChains1_0,
18588 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
18589 MVT::i64, 2, 32,
18590 0,
18591 61, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
18592 OPC_RecordMemRef,
18593 OPC_RecordNode,
18594 OPC_RecordChild1,
18595 OPC_RecordChild2,
18596 OPC_SwitchType , 39, MVT::i32,
18597 OPC_Scope, 11,
18598 OPC_CheckPredicate5,
18599 OPC_CheckPatternPredicate, 11,
18600 OPC_EmitMergeInputChains1_0,
18601 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I8), 0|OPFL_Chain|OPFL_MemRefs,
18602 MVT::i32, 2, 32,
18603 11,
18604 OPC_CheckPredicate4,
18605 OPC_CheckPatternPredicate, 11,
18606 OPC_EmitMergeInputChains1_0,
18607 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I16), 0|OPFL_Chain|OPFL_MemRefs,
18608 MVT::i32, 2, 32,
18609 12,
18610 OPC_CheckPredicate, 9,
18611 OPC_CheckPatternPredicate, 11,
18612 OPC_EmitMergeInputChains1_0,
18613 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
18614 MVT::i32, 2, 32,
18615 0,
18616 12, MVT::i64,
18617 OPC_CheckPredicate, 17,
18618 OPC_CheckPatternPredicate, 11,
18619 OPC_EmitMergeInputChains1_0,
18620 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
18621 MVT::i64, 2, 32,
18622 0,
18623 61, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
18624 OPC_RecordMemRef,
18625 OPC_RecordNode,
18626 OPC_RecordChild1,
18627 OPC_RecordChild2,
18628 OPC_SwitchType , 39, MVT::i32,
18629 OPC_Scope, 11,
18630 OPC_CheckPredicate5,
18631 OPC_CheckPatternPredicate, 11,
18632 OPC_EmitMergeInputChains1_0,
18633 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I8), 0|OPFL_Chain|OPFL_MemRefs,
18634 MVT::i32, 2, 32,
18635 11,
18636 OPC_CheckPredicate4,
18637 OPC_CheckPatternPredicate, 11,
18638 OPC_EmitMergeInputChains1_0,
18639 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I16), 0|OPFL_Chain|OPFL_MemRefs,
18640 MVT::i32, 2, 32,
18641 12,
18642 OPC_CheckPredicate, 9,
18643 OPC_CheckPatternPredicate, 11,
18644 OPC_EmitMergeInputChains1_0,
18645 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
18646 MVT::i32, 2, 32,
18647 0,
18648 12, MVT::i64,
18649 OPC_CheckPredicate, 17,
18650 OPC_CheckPatternPredicate, 11,
18651 OPC_EmitMergeInputChains1_0,
18652 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
18653 MVT::i64, 2, 32,
18654 0,
18655 61, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
18656 OPC_RecordMemRef,
18657 OPC_RecordNode,
18658 OPC_RecordChild1,
18659 OPC_RecordChild2,
18660 OPC_SwitchType , 39, MVT::i32,
18661 OPC_Scope, 11,
18662 OPC_CheckPredicate5,
18663 OPC_CheckPatternPredicate, 11,
18664 OPC_EmitMergeInputChains1_0,
18665 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I8), 0|OPFL_Chain|OPFL_MemRefs,
18666 MVT::i32, 2, 32,
18667 11,
18668 OPC_CheckPredicate4,
18669 OPC_CheckPatternPredicate, 11,
18670 OPC_EmitMergeInputChains1_0,
18671 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I16), 0|OPFL_Chain|OPFL_MemRefs,
18672 MVT::i32, 2, 32,
18673 12,
18674 OPC_CheckPredicate, 9,
18675 OPC_CheckPatternPredicate, 11,
18676 OPC_EmitMergeInputChains1_0,
18677 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
18678 MVT::i32, 2, 32,
18679 0,
18680 12, MVT::i64,
18681 OPC_CheckPredicate, 17,
18682 OPC_CheckPatternPredicate, 11,
18683 OPC_EmitMergeInputChains1_0,
18684 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
18685 MVT::i64, 2, 32,
18686 0,
18687 61, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
18688 OPC_RecordMemRef,
18689 OPC_RecordNode,
18690 OPC_RecordChild1,
18691 OPC_RecordChild2,
18692 OPC_SwitchType , 39, MVT::i32,
18693 OPC_Scope, 11,
18694 OPC_CheckPredicate5,
18695 OPC_CheckPatternPredicate, 11,
18696 OPC_EmitMergeInputChains1_0,
18697 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I8), 0|OPFL_Chain|OPFL_MemRefs,
18698 MVT::i32, 2, 32,
18699 11,
18700 OPC_CheckPredicate4,
18701 OPC_CheckPatternPredicate, 11,
18702 OPC_EmitMergeInputChains1_0,
18703 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I16), 0|OPFL_Chain|OPFL_MemRefs,
18704 MVT::i32, 2, 32,
18705 12,
18706 OPC_CheckPredicate, 9,
18707 OPC_CheckPatternPredicate, 11,
18708 OPC_EmitMergeInputChains1_0,
18709 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I32), 0|OPFL_Chain|OPFL_MemRefs,
18710 MVT::i32, 2, 32,
18711 0,
18712 12, MVT::i64,
18713 OPC_CheckPredicate, 17,
18714 OPC_CheckPatternPredicate, 11,
18715 OPC_EmitMergeInputChains1_0,
18716 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I64), 0|OPFL_Chain|OPFL_MemRefs,
18717 MVT::i64, 2, 32,
18718 0,
18719 61, TARGET_VAL(ISD::ATOMIC_SWAP),
18720 OPC_RecordMemRef,
18721 OPC_RecordNode,
18722 OPC_RecordChild1,
18723 OPC_RecordChild2,
18724 OPC_SwitchType , 39, MVT::i32,
18725 OPC_Scope, 11,
18726 OPC_CheckPredicate5,
18727 OPC_CheckPatternPredicate, 11,
18728 OPC_EmitMergeInputChains1_0,
18729 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
18730 MVT::i32, 2, 32,
18731 11,
18732 OPC_CheckPredicate4,
18733 OPC_CheckPatternPredicate, 11,
18734 OPC_EmitMergeInputChains1_0,
18735 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
18736 MVT::i32, 2, 32,
18737 12,
18738 OPC_CheckPredicate, 9,
18739 OPC_CheckPatternPredicate, 11,
18740 OPC_EmitMergeInputChains1_0,
18741 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
18742 MVT::i32, 2, 32,
18743 0,
18744 12, MVT::i64,
18745 OPC_CheckPredicate, 17,
18746 OPC_CheckPatternPredicate, 11,
18747 OPC_EmitMergeInputChains1_0,
18748 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
18749 MVT::i64, 2, 32,
18750 0,
18751 62, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
18752 OPC_RecordMemRef,
18753 OPC_RecordNode,
18754 OPC_RecordChild1,
18755 OPC_RecordChild2,
18756 OPC_RecordChild3,
18757 OPC_SwitchType , 39, MVT::i32,
18758 OPC_Scope, 11,
18759 OPC_CheckPredicate5,
18760 OPC_CheckPatternPredicate, 11,
18761 OPC_EmitMergeInputChains1_0,
18762 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
18763 MVT::i32, 3, 58,
18764 11,
18765 OPC_CheckPredicate4,
18766 OPC_CheckPatternPredicate, 11,
18767 OPC_EmitMergeInputChains1_0,
18768 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
18769 MVT::i32, 3, 58,
18770 12,
18771 OPC_CheckPredicate, 9,
18772 OPC_CheckPatternPredicate, 11,
18773 OPC_EmitMergeInputChains1_0,
18774 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
18775 MVT::i32, 3, 58,
18776 0,
18777 12, MVT::i64,
18778 OPC_CheckPredicate, 17,
18779 OPC_CheckPatternPredicate, 11,
18780 OPC_EmitMergeInputChains1_0,
18781 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
18782 MVT::i64, 3, 58,
18783 0,
18784 61, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
18785 OPC_RecordMemRef,
18786 OPC_RecordNode,
18787 OPC_RecordChild1,
18788 OPC_RecordChild2,
18789 OPC_SwitchType , 39, MVT::i32,
18790 OPC_Scope, 11,
18791 OPC_CheckPredicate5,
18792 OPC_CheckPatternPredicate, 11,
18793 OPC_EmitMergeInputChains1_0,
18794 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
18795 MVT::i32, 2, 32,
18796 11,
18797 OPC_CheckPredicate4,
18798 OPC_CheckPatternPredicate, 11,
18799 OPC_EmitMergeInputChains1_0,
18800 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
18801 MVT::i32, 2, 32,
18802 12,
18803 OPC_CheckPredicate, 9,
18804 OPC_CheckPatternPredicate, 11,
18805 OPC_EmitMergeInputChains1_0,
18806 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
18807 MVT::i32, 2, 32,
18808 0,
18809 12, MVT::i64,
18810 OPC_CheckPredicate, 17,
18811 OPC_CheckPatternPredicate, 11,
18812 OPC_EmitMergeInputChains1_0,
18813 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
18814 MVT::i64, 2, 32,
18815 0,
18816 61, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
18817 OPC_RecordMemRef,
18818 OPC_RecordNode,
18819 OPC_RecordChild1,
18820 OPC_RecordChild2,
18821 OPC_SwitchType , 39, MVT::i32,
18822 OPC_Scope, 11,
18823 OPC_CheckPredicate5,
18824 OPC_CheckPatternPredicate, 11,
18825 OPC_EmitMergeInputChains1_0,
18826 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
18827 MVT::i32, 2, 32,
18828 11,
18829 OPC_CheckPredicate4,
18830 OPC_CheckPatternPredicate, 11,
18831 OPC_EmitMergeInputChains1_0,
18832 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
18833 MVT::i32, 2, 32,
18834 12,
18835 OPC_CheckPredicate, 9,
18836 OPC_CheckPatternPredicate, 11,
18837 OPC_EmitMergeInputChains1_0,
18838 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
18839 MVT::i32, 2, 32,
18840 0,
18841 12, MVT::i64,
18842 OPC_CheckPredicate, 17,
18843 OPC_CheckPatternPredicate, 11,
18844 OPC_EmitMergeInputChains1_0,
18845 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
18846 MVT::i64, 2, 32,
18847 0,
18848 61, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
18849 OPC_RecordMemRef,
18850 OPC_RecordNode,
18851 OPC_RecordChild1,
18852 OPC_RecordChild2,
18853 OPC_SwitchType , 39, MVT::i32,
18854 OPC_Scope, 11,
18855 OPC_CheckPredicate5,
18856 OPC_CheckPatternPredicate, 11,
18857 OPC_EmitMergeInputChains1_0,
18858 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
18859 MVT::i32, 2, 32,
18860 11,
18861 OPC_CheckPredicate4,
18862 OPC_CheckPatternPredicate, 11,
18863 OPC_EmitMergeInputChains1_0,
18864 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
18865 MVT::i32, 2, 32,
18866 12,
18867 OPC_CheckPredicate, 9,
18868 OPC_CheckPatternPredicate, 11,
18869 OPC_EmitMergeInputChains1_0,
18870 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
18871 MVT::i32, 2, 32,
18872 0,
18873 12, MVT::i64,
18874 OPC_CheckPredicate, 17,
18875 OPC_CheckPatternPredicate, 11,
18876 OPC_EmitMergeInputChains1_0,
18877 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
18878 MVT::i64, 2, 32,
18879 0,
18880 61, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
18881 OPC_RecordMemRef,
18882 OPC_RecordNode,
18883 OPC_RecordChild1,
18884 OPC_RecordChild2,
18885 OPC_SwitchType , 39, MVT::i32,
18886 OPC_Scope, 11,
18887 OPC_CheckPredicate5,
18888 OPC_CheckPatternPredicate, 11,
18889 OPC_EmitMergeInputChains1_0,
18890 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
18891 MVT::i32, 2, 32,
18892 11,
18893 OPC_CheckPredicate4,
18894 OPC_CheckPatternPredicate, 11,
18895 OPC_EmitMergeInputChains1_0,
18896 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
18897 MVT::i32, 2, 32,
18898 12,
18899 OPC_CheckPredicate, 9,
18900 OPC_CheckPatternPredicate, 11,
18901 OPC_EmitMergeInputChains1_0,
18902 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
18903 MVT::i32, 2, 32,
18904 0,
18905 12, MVT::i64,
18906 OPC_CheckPredicate, 17,
18907 OPC_CheckPatternPredicate, 11,
18908 OPC_EmitMergeInputChains1_0,
18909 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
18910 MVT::i64, 2, 32,
18911 0,
18912 21, TARGET_VAL(MipsISD::Ret),
18913 OPC_RecordNode,
18914 OPC_CaptureGlueInput,
18915 OPC_Scope, 8,
18916 OPC_CheckPatternPredicate, 11,
18917 OPC_EmitMergeInputChains1_0,
18918 OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18919 0,
18920 7,
18921 OPC_CheckPatternPredicate5,
18922 OPC_EmitMergeInputChains1_0,
18923 OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18924 0,
18925 0,
18926 10, TARGET_VAL(MipsISD::ERet),
18927 OPC_RecordNode,
18928 OPC_CaptureGlueInput,
18929 OPC_CheckPatternPredicate, 11,
18930 OPC_EmitMergeInputChains1_0,
18931 OPC_MorphNodeTo0, TARGET_VAL(Mips::ERet), 0|OPFL_Chain|OPFL_GlueInput,
18932 0,
18933 11|128,1, TARGET_VAL(ISD::MUL),
18934 OPC_RecordChild0,
18935 OPC_RecordChild1,
18936 OPC_SwitchType , 64, MVT::i32,
18937 OPC_Scope, 9,
18938 OPC_CheckPatternPredicate, 67,
18939 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL),
18940 MVT::i32, MVT::i32, 2, 16,
18941 8,
18942 OPC_CheckPatternPredicate, 15,
18943 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_R6),
18944 MVT::i32, 2, 16,
18945 8,
18946 OPC_CheckPatternPredicate5,
18947 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MultRxRyRz16),
18948 MVT::i32, MVT::i32, 2, 16,
18949 8,
18950 OPC_CheckPatternPredicate7,
18951 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL_MM),
18952 MVT::i32, MVT::i32, 2, 16,
18953 8,
18954 OPC_CheckPatternPredicate, 8,
18955 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_MMR6),
18956 MVT::i32, 2, 16,
18957 15,
18958 OPC_CheckPatternPredicate, 128,
18959 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMULT),
18960 123|128,1, 2, 16,
18961 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
18962 MVT::i32, 1, 30,
18963 0,
18964 21, MVT::i64,
18965 OPC_Scope, 9,
18966 OPC_CheckPatternPredicate, 28,
18967 OPC_MorphNodeTo2None, TARGET_VAL(Mips::DMUL),
18968 MVT::i64, MVT::i32, 2, 16,
18969 8,
18970 OPC_CheckPatternPredicate, 48,
18971 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUL_R6),
18972 MVT::i64, 2, 16,
18973 0,
18974 8, MVT::v2i16,
18975 OPC_CheckPatternPredicate, 13,
18976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_PH),
18977 MVT::v2i16, 2, 16,
18978 7, MVT::v16i8,
18979 OPC_CheckPatternPredicate0,
18980 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_B),
18981 MVT::v16i8, 2, 16,
18982 7, MVT::v8i16,
18983 OPC_CheckPatternPredicate0,
18984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_H),
18985 MVT::v8i16, 2, 16,
18986 7, MVT::v4i32,
18987 OPC_CheckPatternPredicate0,
18988 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_W),
18989 MVT::v4i32, 2, 16,
18990 7, MVT::v2i64,
18991 OPC_CheckPatternPredicate0,
18992 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_D),
18993 MVT::v2i64, 2, 16,
18994 0,
18995 24, TARGET_VAL(ISD::TRAP),
18996 OPC_RecordNode,
18997 OPC_Scope, 6,
18998 OPC_CheckPatternPredicate2,
18999 OPC_EmitMergeInputChains1_0,
19000 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP),
19001 0,
19002 6,
19003 OPC_CheckPatternPredicate5,
19004 OPC_EmitMergeInputChains1_0,
19005 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Break16),
19006 0,
19007 6,
19008 OPC_CheckPatternPredicate4,
19009 OPC_EmitMergeInputChains1_0,
19010 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP_MM),
19011 0,
19012 0,
19013 61, TARGET_VAL(ISD::BR),
19014 OPC_RecordNode,
19015 OPC_RecordChild1,
19016 OPC_MoveChild1,
19017 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
19018 OPC_MoveParent,
19019 OPC_Scope, 8,
19020 OPC_CheckPatternPredicate, 129,
19021 OPC_EmitMergeInputChains1_0,
19022 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J),
19023 1, 17,
19024 7,
19025 OPC_CheckPatternPredicate2,
19026 OPC_EmitMergeInputChains1_0,
19027 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B),
19028 1, 17,
19029 7,
19030 OPC_CheckPatternPredicate5,
19031 OPC_EmitMergeInputChains1_0,
19032 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Bimm16),
19033 1, 17,
19034 8,
19035 OPC_CheckPatternPredicate, 130,
19036 OPC_EmitMergeInputChains1_0,
19037 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J_MM),
19038 1, 17,
19039 8,
19040 OPC_CheckPatternPredicate, 131,
19041 OPC_EmitMergeInputChains1_0,
19042 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B_MM),
19043 1, 17,
19044 8,
19045 OPC_CheckPatternPredicate, 8,
19046 OPC_EmitMergeInputChains1_0,
19047 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BC_MMR6),
19048 1, 17,
19049 0,
19050 27, TARGET_VAL(MipsISD::EH_RETURN),
19051 OPC_RecordNode,
19052 OPC_CaptureGlueInput,
19053 OPC_RecordChild1,
19054 OPC_Scope, 10,
19055 OPC_CheckChild1TypeI32,
19056 OPC_RecordChild2,
19057 OPC_CheckChild2TypeI32,
19058 OPC_EmitMergeInputChains1_0,
19059 OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
19060 2, 32,
19061 10,
19062 OPC_CheckChild1TypeI64,
19063 OPC_RecordChild2,
19064 OPC_CheckChild2TypeI64,
19065 OPC_EmitMergeInputChains1_0,
19066 OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
19067 2, 32,
19068 0,
19069 106, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
19070 OPC_RecordChild0,
19071 OPC_MoveChild1,
19072 OPC_Scope, 44,
19073 OPC_CheckValueType, MVT::i8,
19074 OPC_MoveParent,
19075 OPC_SwitchType , 27, MVT::i32,
19076 OPC_Scope, 8,
19077 OPC_CheckPatternPredicate, 55,
19078 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB),
19079 MVT::i32, 1, 1,
19080 7,
19081 OPC_CheckPatternPredicate5,
19082 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SebRx16),
19083 MVT::i32, 1, 1,
19084 7,
19085 OPC_CheckPatternPredicate4,
19086 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB_MM),
19087 MVT::i32, 1, 1,
19088 0,
19089 8, MVT::i64,
19090 OPC_CheckPatternPredicate, 100,
19091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB64),
19092 MVT::i64, 1, 1,
19093 0,
19094 44,
19095 OPC_CheckValueType, MVT::i16,
19096 OPC_MoveParent,
19097 OPC_SwitchType , 27, MVT::i32,
19098 OPC_Scope, 8,
19099 OPC_CheckPatternPredicate, 55,
19100 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH),
19101 MVT::i32, 1, 1,
19102 7,
19103 OPC_CheckPatternPredicate5,
19104 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SehRx16),
19105 MVT::i32, 1, 1,
19106 7,
19107 OPC_CheckPatternPredicate4,
19108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH_MM),
19109 MVT::i32, 1, 1,
19110 0,
19111 8, MVT::i64,
19112 OPC_CheckPatternPredicate, 100,
19113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH64),
19114 MVT::i64, 1, 1,
19115 0,
19116 11,
19117 OPC_CheckValueType, MVT::i32,
19118 OPC_MoveParent,
19119 OPC_CheckPatternPredicate, 9,
19120 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_64),
19121 MVT::i64, 1, 1,
19122 0,
19123 58, TARGET_VAL(MipsISD::Mult),
19124 OPC_RecordChild0,
19125 OPC_Scope, 42,
19126 OPC_CheckChild0TypeI32,
19127 OPC_RecordChild1,
19128 OPC_Scope, 9,
19129 OPC_CheckPatternPredicate, 62,
19130 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT),
19131 123|128,1, 2, 16,
19132 8,
19133 OPC_CheckPatternPredicate1,
19134 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP),
19135 123|128,1, 2, 16,
19136 9,
19137 OPC_CheckPatternPredicate, 49,
19138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT_MM),
19139 123|128,1, 2, 16,
19140 8,
19141 OPC_CheckPatternPredicate6,
19142 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP_MM),
19143 123|128,1, 2, 16,
19144 0,
19145 11,
19146 OPC_CheckChild0TypeI64,
19147 OPC_RecordChild1,
19148 OPC_CheckPatternPredicate, 70,
19149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULT),
19150 123|128,1, 2, 16,
19151 0,
19152 58, TARGET_VAL(MipsISD::Multu),
19153 OPC_RecordChild0,
19154 OPC_Scope, 42,
19155 OPC_CheckChild0TypeI32,
19156 OPC_RecordChild1,
19157 OPC_Scope, 9,
19158 OPC_CheckPatternPredicate, 62,
19159 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu),
19160 123|128,1, 2, 16,
19161 8,
19162 OPC_CheckPatternPredicate1,
19163 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP),
19164 123|128,1, 2, 16,
19165 9,
19166 OPC_CheckPatternPredicate, 49,
19167 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu_MM),
19168 123|128,1, 2, 16,
19169 8,
19170 OPC_CheckPatternPredicate6,
19171 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP_MM),
19172 123|128,1, 2, 16,
19173 0,
19174 11,
19175 OPC_CheckChild0TypeI64,
19176 OPC_RecordChild1,
19177 OPC_CheckPatternPredicate, 70,
19178 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULTu),
19179 123|128,1, 2, 16,
19180 0,
19181 51, TARGET_VAL(MipsISD::MFHI),
19182 OPC_RecordChild0,
19183 OPC_SwitchType , 36, MVT::i32,
19184 OPC_Scope, 8,
19185 OPC_CheckPatternPredicate, 62,
19186 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI),
19187 MVT::i32, 1, 1,
19188 7,
19189 OPC_CheckPatternPredicate1,
19190 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP),
19191 MVT::i32, 1, 1,
19192 8,
19193 OPC_CheckPatternPredicate, 49,
19194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI_MM),
19195 MVT::i32, 1, 1,
19196 7,
19197 OPC_CheckPatternPredicate6,
19198 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP_MM),
19199 MVT::i32, 1, 1,
19200 0,
19201 8, MVT::i64,
19202 OPC_CheckPatternPredicate, 51,
19203 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI64),
19204 MVT::i64, 1, 1,
19205 0,
19206 51, TARGET_VAL(MipsISD::MFLO),
19207 OPC_RecordChild0,
19208 OPC_SwitchType , 36, MVT::i32,
19209 OPC_Scope, 8,
19210 OPC_CheckPatternPredicate, 62,
19211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
19212 MVT::i32, 1, 1,
19213 7,
19214 OPC_CheckPatternPredicate1,
19215 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP),
19216 MVT::i32, 1, 1,
19217 8,
19218 OPC_CheckPatternPredicate, 49,
19219 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO_MM),
19220 MVT::i32, 1, 1,
19221 7,
19222 OPC_CheckPatternPredicate6,
19223 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP_MM),
19224 MVT::i32, 1, 1,
19225 0,
19226 8, MVT::i64,
19227 OPC_CheckPatternPredicate, 51,
19228 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO64),
19229 MVT::i64, 1, 1,
19230 0,
19231 50, TARGET_VAL(MipsISD::MTLOHI),
19232 OPC_RecordChild0,
19233 OPC_Scope, 34,
19234 OPC_CheckChild0TypeI32,
19235 OPC_RecordChild1,
19236 OPC_Scope, 9,
19237 OPC_CheckPatternPredicate, 62,
19238 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI),
19239 123|128,1, 2, 16,
19240 9,
19241 OPC_CheckPatternPredicate, 132,
19242 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_DSP),
19243 123|128,1, 2, 16,
19244 9,
19245 OPC_CheckPatternPredicate, 49,
19246 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_MM),
19247 123|128,1, 2, 16,
19248 0,
19249 11,
19250 OPC_CheckChild0TypeI64,
19251 OPC_RecordChild1,
19252 OPC_CheckPatternPredicate, 51,
19253 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI64),
19254 123|128,1, 2, 16,
19255 0,
19256 43, TARGET_VAL(MipsISD::MAdd),
19257 OPC_RecordChild0,
19258 OPC_RecordChild1,
19259 OPC_RecordChild2,
19260 OPC_Scope, 9,
19261 OPC_CheckPatternPredicate, 71,
19262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD),
19263 123|128,1, 3, 31,
19264 8,
19265 OPC_CheckPatternPredicate1,
19266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP),
19267 123|128,1, 3, 31,
19268 9,
19269 OPC_CheckPatternPredicate, 49,
19270 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD_MM),
19271 123|128,1, 3, 31,
19272 8,
19273 OPC_CheckPatternPredicate6,
19274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP_MM),
19275 123|128,1, 3, 31,
19276 0,
19277 43, TARGET_VAL(MipsISD::MAddu),
19278 OPC_RecordChild0,
19279 OPC_RecordChild1,
19280 OPC_RecordChild2,
19281 OPC_Scope, 9,
19282 OPC_CheckPatternPredicate, 71,
19283 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU),
19284 123|128,1, 3, 31,
19285 8,
19286 OPC_CheckPatternPredicate1,
19287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP),
19288 123|128,1, 3, 31,
19289 9,
19290 OPC_CheckPatternPredicate, 49,
19291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU_MM),
19292 123|128,1, 3, 31,
19293 8,
19294 OPC_CheckPatternPredicate6,
19295 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP_MM),
19296 123|128,1, 3, 31,
19297 0,
19298 43, TARGET_VAL(MipsISD::MSub),
19299 OPC_RecordChild0,
19300 OPC_RecordChild1,
19301 OPC_RecordChild2,
19302 OPC_Scope, 9,
19303 OPC_CheckPatternPredicate, 71,
19304 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB),
19305 123|128,1, 3, 31,
19306 8,
19307 OPC_CheckPatternPredicate1,
19308 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP),
19309 123|128,1, 3, 31,
19310 9,
19311 OPC_CheckPatternPredicate, 49,
19312 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB_MM),
19313 123|128,1, 3, 31,
19314 8,
19315 OPC_CheckPatternPredicate6,
19316 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP_MM),
19317 123|128,1, 3, 31,
19318 0,
19319 43, TARGET_VAL(MipsISD::MSubu),
19320 OPC_RecordChild0,
19321 OPC_RecordChild1,
19322 OPC_RecordChild2,
19323 OPC_Scope, 9,
19324 OPC_CheckPatternPredicate, 71,
19325 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU),
19326 123|128,1, 3, 31,
19327 8,
19328 OPC_CheckPatternPredicate1,
19329 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP),
19330 123|128,1, 3, 31,
19331 9,
19332 OPC_CheckPatternPredicate, 49,
19333 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU_MM),
19334 123|128,1, 3, 31,
19335 8,
19336 OPC_CheckPatternPredicate6,
19337 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP_MM),
19338 123|128,1, 3, 31,
19339 0,
19340 43, TARGET_VAL(ISD::SUBC),
19341 OPC_RecordChild0,
19342 OPC_RecordChild1,
19343 OPC_SwitchType , 27, MVT::i32,
19344 OPC_Scope, 7,
19345 OPC_CheckPatternPredicate2,
19346 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu),
19347 MVT::i32, 2, 16,
19348 7,
19349 OPC_CheckPatternPredicate4,
19350 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu_MM),
19351 MVT::i32, 2, 16,
19352 8,
19353 OPC_CheckPatternPredicate, 8,
19354 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBU_MMR6),
19355 MVT::i32, 2, 16,
19356 0,
19357 8, MVT::i64,
19358 OPC_CheckPatternPredicate, 35,
19359 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DSUBu),
19360 MVT::i64, 2, 16,
19361 0,
19362 107|128,15, TARGET_VAL(ISD::BITCAST),
19363 OPC_RecordChild0,
19364 OPC_Scope, 57,
19365 OPC_CheckChild0Type, MVT::f32,
19366 OPC_SwitchType , 29, MVT::i32,
19367 OPC_Scope, 8,
19368 OPC_CheckPatternPredicate, 32,
19369 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1),
19370 MVT::i32, 1, 1,
19371 8,
19372 OPC_CheckPatternPredicate, 41,
19373 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MM),
19374 MVT::i32, 1, 1,
19375 8,
19376 OPC_CheckPatternPredicate, 27,
19377 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MMR6),
19378 MVT::i32, 1, 1,
19379 0,
19380 9, MVT::v2i16,
19381 OPC_CheckPatternPredicate1,
19382 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
19383 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19384 MVT::v2i16, 2, 16,
19385 9, MVT::v4i8,
19386 OPC_CheckPatternPredicate1,
19387 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
19388 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19389 MVT::v4i8, 2, 16,
19390 0,
19391 11,
19392 OPC_CheckChild0Type, MVT::f64,
19393 OPC_CheckTypeI64,
19394 OPC_CheckPatternPredicate, 101,
19395 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMFC1),
19396 MVT::i64, 1, 1,
19397 26,
19398 OPC_CheckChild0Type, MVT::v2i16,
19399 OPC_SwitchType , 9, MVT::i32,
19400 OPC_CheckPatternPredicate1,
19401 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
19402 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19403 MVT::i32, 2, 16,
19404 9, MVT::f32,
19405 OPC_CheckPatternPredicate1,
19406 OPC_EmitIntegerI32, Mips::FGR32RegClassID,
19407 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19408 MVT::f32, 2, 16,
19409 0,
19410 26,
19411 OPC_CheckChild0Type, MVT::v4i8,
19412 OPC_SwitchType , 9, MVT::i32,
19413 OPC_CheckPatternPredicate1,
19414 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
19415 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19416 MVT::i32, 2, 16,
19417 9, MVT::f32,
19418 OPC_CheckPatternPredicate1,
19419 OPC_EmitIntegerI32, Mips::FGR32RegClassID,
19420 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19421 MVT::f32, 2, 16,
19422 0,
19423 56,
19424 OPC_CheckChild0TypeI32,
19425 OPC_SwitchType , 29, MVT::f32,
19426 OPC_Scope, 8,
19427 OPC_CheckPatternPredicate, 32,
19428 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
19429 MVT::f32, 1, 1,
19430 8,
19431 OPC_CheckPatternPredicate, 41,
19432 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
19433 MVT::f32, 1, 1,
19434 8,
19435 OPC_CheckPatternPredicate, 27,
19436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
19437 MVT::f32, 1, 1,
19438 0,
19439 9, MVT::v2i16,
19440 OPC_CheckPatternPredicate1,
19441 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
19442 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19443 MVT::v2i16, 2, 16,
19444 9, MVT::v4i8,
19445 OPC_CheckPatternPredicate1,
19446 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
19447 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19448 MVT::v4i8, 2, 16,
19449 0,
19450 11,
19451 OPC_CheckChild0TypeI64,
19452 OPC_CheckType, MVT::f64,
19453 OPC_CheckPatternPredicate, 101,
19454 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
19455 MVT::f64, 1, 1,
19456 127|128,1,
19457 OPC_CheckChild0Type, MVT::v8f16,
19458 OPC_SwitchType , 10, MVT::v8i16,
19459 OPC_CheckPatternPredicate3,
19460 OPC_EmitIntegerI32, 66|128,0,
19461 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19462 MVT::v8i16, 2, 16,
19463 45, MVT::v16i8,
19464 OPC_Scope, 11,
19465 OPC_CheckPatternPredicate, 20,
19466 OPC_EmitIntegerI32, 64|128,0,
19467 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19468 MVT::v16i8, 2, 16,
19469 30,
19470 OPC_CheckPatternPredicate, 16,
19471 OPC_EmitIntegerI32, 64|128,0,
19472 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19473 MVT::v16i8, 2, 16,
19474 OPC_EmitIntegerI32, 49|128,1,
19475 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19476 MVT::v16i8, 2, 56,
19477 OPC_EmitIntegerI32, 64|128,0,
19478 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19479 MVT::v16i8, 2, 5|128,1,
19480 0,
19481 45, MVT::v4i32,
19482 OPC_Scope, 11,
19483 OPC_CheckPatternPredicate, 20,
19484 OPC_EmitIntegerI32, 67|128,0,
19485 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19486 MVT::v4i32, 2, 16,
19487 30,
19488 OPC_CheckPatternPredicate, 16,
19489 OPC_EmitIntegerI32, 66|128,0,
19490 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19491 MVT::v8i16, 2, 16,
19492 OPC_EmitIntegerI32, 49|128,1,
19493 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19494 MVT::v8i16, 2, 56,
19495 OPC_EmitIntegerI32, 67|128,0,
19496 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19497 MVT::v4i32, 2, 5|128,1,
19498 0,
19499 44, MVT::v2i64,
19500 OPC_Scope, 11,
19501 OPC_CheckPatternPredicate, 20,
19502 OPC_EmitIntegerI32, 65|128,0,
19503 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19504 MVT::v2i64, 2, 16,
19505 29,
19506 OPC_CheckPatternPredicate, 16,
19507 OPC_EmitIntegerI32, 66|128,0,
19508 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19509 MVT::v8i16, 2, 16,
19510 OPC_EmitIntegerI32, 27,
19511 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19512 MVT::v8i16, 2, 56,
19513 OPC_EmitIntegerI32, 65|128,0,
19514 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19515 MVT::v2i64, 2, 5|128,1,
19516 0,
19517 47, 8|128,1,
19518 OPC_Scope, 12,
19519 OPC_CheckPatternPredicate, 20,
19520 OPC_EmitIntegerI32, 67|128,0,
19521 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19522 8|128,1, 2, 16,
19523 31,
19524 OPC_CheckPatternPredicate, 16,
19525 OPC_EmitIntegerI32, 66|128,0,
19526 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19527 MVT::v8i16, 2, 16,
19528 OPC_EmitIntegerI32, 49|128,1,
19529 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19530 MVT::v8i16, 2, 56,
19531 OPC_EmitIntegerI32, 67|128,0,
19532 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19533 8|128,1, 2, 5|128,1,
19534 0,
19535 46, 26|128,1,
19536 OPC_Scope, 12,
19537 OPC_CheckPatternPredicate, 20,
19538 OPC_EmitIntegerI32, 65|128,0,
19539 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19540 26|128,1, 2, 16,
19541 30,
19542 OPC_CheckPatternPredicate, 16,
19543 OPC_EmitIntegerI32, 66|128,0,
19544 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19545 MVT::v8i16, 2, 16,
19546 OPC_EmitIntegerI32, 27,
19547 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19548 MVT::v8i16, 2, 56,
19549 OPC_EmitIntegerI32, 65|128,0,
19550 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19551 26|128,1, 2, 5|128,1,
19552 0,
19553 0,
19554 111|128,1,
19555 OPC_CheckChild0Type, 8|128,1,
19556 OPC_SwitchType , 10, MVT::v4i32,
19557 OPC_CheckPatternPredicate3,
19558 OPC_EmitIntegerI32, 67|128,0,
19559 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19560 MVT::v4i32, 2, 16,
19561 44, MVT::v16i8,
19562 OPC_Scope, 11,
19563 OPC_CheckPatternPredicate, 20,
19564 OPC_EmitIntegerI32, 64|128,0,
19565 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19566 MVT::v16i8, 2, 16,
19567 29,
19568 OPC_CheckPatternPredicate, 16,
19569 OPC_EmitIntegerI32, 64|128,0,
19570 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19571 MVT::v16i8, 2, 16,
19572 OPC_EmitIntegerI32, 27,
19573 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19574 MVT::v16i8, 2, 56,
19575 OPC_EmitIntegerI32, 64|128,0,
19576 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19577 MVT::v16i8, 2, 5|128,1,
19578 0,
19579 45, MVT::v8i16,
19580 OPC_Scope, 11,
19581 OPC_CheckPatternPredicate, 20,
19582 OPC_EmitIntegerI32, 66|128,0,
19583 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19584 MVT::v8i16, 2, 16,
19585 30,
19586 OPC_CheckPatternPredicate, 16,
19587 OPC_EmitIntegerI32, 66|128,0,
19588 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19589 MVT::v8i16, 2, 16,
19590 OPC_EmitIntegerI32, 49|128,1,
19591 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19592 MVT::v8i16, 2, 56,
19593 OPC_EmitIntegerI32, 66|128,0,
19594 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19595 MVT::v8i16, 2, 5|128,1,
19596 0,
19597 45, MVT::v2i64,
19598 OPC_Scope, 11,
19599 OPC_CheckPatternPredicate, 20,
19600 OPC_EmitIntegerI32, 65|128,0,
19601 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19602 MVT::v2i64, 2, 16,
19603 30,
19604 OPC_CheckPatternPredicate, 16,
19605 OPC_EmitIntegerI32, 67|128,0,
19606 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19607 MVT::v4i32, 2, 16,
19608 OPC_EmitIntegerI32, 49|128,1,
19609 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19610 MVT::v4i32, 2, 56,
19611 OPC_EmitIntegerI32, 65|128,0,
19612 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19613 MVT::v2i64, 2, 5|128,1,
19614 0,
19615 47, 26|128,1,
19616 OPC_Scope, 12,
19617 OPC_CheckPatternPredicate, 20,
19618 OPC_EmitIntegerI32, 65|128,0,
19619 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19620 26|128,1, 2, 16,
19621 31,
19622 OPC_CheckPatternPredicate, 16,
19623 OPC_EmitIntegerI32, 67|128,0,
19624 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19625 MVT::v4i32, 2, 16,
19626 OPC_EmitIntegerI32, 49|128,1,
19627 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19628 MVT::v4i32, 2, 56,
19629 OPC_EmitIntegerI32, 65|128,0,
19630 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19631 26|128,1, 2, 5|128,1,
19632 0,
19633 30, MVT::v8f16,
19634 OPC_CheckPatternPredicate, 16,
19635 OPC_EmitIntegerI32, 66|128,0,
19636 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19637 MVT::v8i16, 2, 16,
19638 OPC_EmitIntegerI32, 49|128,1,
19639 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19640 MVT::v8i16, 2, 56,
19641 OPC_EmitIntegerI32, 66|128,0,
19642 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19643 MVT::v8f16, 2, 5|128,1,
19644 0,
19645 1|128,2,
19646 OPC_CheckChild0Type, 26|128,1,
19647 OPC_SwitchType , 10, MVT::v2i64,
19648 OPC_CheckPatternPredicate3,
19649 OPC_EmitIntegerI32, 65|128,0,
19650 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19651 MVT::v2i64, 2, 16,
19652 64, MVT::v16i8,
19653 OPC_Scope, 11,
19654 OPC_CheckPatternPredicate, 20,
19655 OPC_EmitIntegerI32, 64|128,0,
19656 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19657 MVT::v16i8, 2, 16,
19658 49,
19659 OPC_CheckPatternPredicate, 16,
19660 OPC_EmitIntegerI32, 64|128,0,
19661 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19662 MVT::v16i8, 2, 16,
19663 OPC_EmitIntegerI32, 27,
19664 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19665 MVT::v16i8, 2, 56,
19666 OPC_EmitIntegerI32, 67|128,0,
19667 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19668 MVT::v4i32, 2, 5|128,1,
19669 OPC_EmitIntegerI32, 49|128,1,
19670 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19671 MVT::v4i32, 2, 17|128,1,
19672 OPC_EmitIntegerI32, 64|128,0,
19673 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19674 MVT::v16i8, 2, 33|128,1,
19675 0,
19676 44, MVT::v8i16,
19677 OPC_Scope, 11,
19678 OPC_CheckPatternPredicate, 20,
19679 OPC_EmitIntegerI32, 66|128,0,
19680 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19681 MVT::v8i16, 2, 16,
19682 29,
19683 OPC_CheckPatternPredicate, 16,
19684 OPC_EmitIntegerI32, 66|128,0,
19685 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19686 MVT::v8i16, 2, 16,
19687 OPC_EmitIntegerI32, 27,
19688 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19689 MVT::v8i16, 2, 56,
19690 OPC_EmitIntegerI32, 66|128,0,
19691 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19692 MVT::v8i16, 2, 5|128,1,
19693 0,
19694 45, MVT::v4i32,
19695 OPC_Scope, 11,
19696 OPC_CheckPatternPredicate, 20,
19697 OPC_EmitIntegerI32, 67|128,0,
19698 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19699 MVT::v4i32, 2, 16,
19700 30,
19701 OPC_CheckPatternPredicate, 16,
19702 OPC_EmitIntegerI32, 67|128,0,
19703 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19704 MVT::v4i32, 2, 16,
19705 OPC_EmitIntegerI32, 49|128,1,
19706 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19707 MVT::v4i32, 2, 56,
19708 OPC_EmitIntegerI32, 67|128,0,
19709 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19710 MVT::v4i32, 2, 5|128,1,
19711 0,
19712 47, 8|128,1,
19713 OPC_Scope, 12,
19714 OPC_CheckPatternPredicate, 20,
19715 OPC_EmitIntegerI32, 67|128,0,
19716 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19717 8|128,1, 2, 16,
19718 31,
19719 OPC_CheckPatternPredicate, 16,
19720 OPC_EmitIntegerI32, 67|128,0,
19721 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19722 MVT::v4i32, 2, 16,
19723 OPC_EmitIntegerI32, 49|128,1,
19724 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19725 MVT::v4i32, 2, 56,
19726 OPC_EmitIntegerI32, 67|128,0,
19727 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19728 8|128,1, 2, 5|128,1,
19729 0,
19730 29, MVT::v8f16,
19731 OPC_CheckPatternPredicate, 16,
19732 OPC_EmitIntegerI32, 66|128,0,
19733 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19734 MVT::v8i16, 2, 16,
19735 OPC_EmitIntegerI32, 27,
19736 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19737 MVT::v8i16, 2, 56,
19738 OPC_EmitIntegerI32, 66|128,0,
19739 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19740 MVT::v8f16, 2, 5|128,1,
19741 0,
19742 127|128,1,
19743 OPC_CheckChild0Type, MVT::v8i16,
19744 OPC_SwitchType , 45, MVT::v16i8,
19745 OPC_Scope, 11,
19746 OPC_CheckPatternPredicate, 20,
19747 OPC_EmitIntegerI32, 64|128,0,
19748 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19749 MVT::v16i8, 2, 16,
19750 30,
19751 OPC_CheckPatternPredicate, 16,
19752 OPC_EmitIntegerI32, 64|128,0,
19753 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19754 MVT::v16i8, 2, 16,
19755 OPC_EmitIntegerI32, 49|128,1,
19756 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19757 MVT::v16i8, 2, 56,
19758 OPC_EmitIntegerI32, 64|128,0,
19759 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19760 MVT::v16i8, 2, 5|128,1,
19761 0,
19762 45, MVT::v4i32,
19763 OPC_Scope, 11,
19764 OPC_CheckPatternPredicate, 20,
19765 OPC_EmitIntegerI32, 67|128,0,
19766 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19767 MVT::v4i32, 2, 16,
19768 30,
19769 OPC_CheckPatternPredicate, 16,
19770 OPC_EmitIntegerI32, 66|128,0,
19771 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19772 MVT::v8i16, 2, 16,
19773 OPC_EmitIntegerI32, 49|128,1,
19774 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19775 MVT::v8i16, 2, 56,
19776 OPC_EmitIntegerI32, 67|128,0,
19777 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19778 MVT::v4i32, 2, 5|128,1,
19779 0,
19780 44, MVT::v2i64,
19781 OPC_Scope, 11,
19782 OPC_CheckPatternPredicate, 20,
19783 OPC_EmitIntegerI32, 65|128,0,
19784 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19785 MVT::v2i64, 2, 16,
19786 29,
19787 OPC_CheckPatternPredicate, 16,
19788 OPC_EmitIntegerI32, 66|128,0,
19789 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19790 MVT::v8i16, 2, 16,
19791 OPC_EmitIntegerI32, 27,
19792 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19793 MVT::v8i16, 2, 56,
19794 OPC_EmitIntegerI32, 65|128,0,
19795 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19796 MVT::v2i64, 2, 5|128,1,
19797 0,
19798 10, MVT::v8f16,
19799 OPC_CheckPatternPredicate3,
19800 OPC_EmitIntegerI32, 66|128,0,
19801 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19802 MVT::v8f16, 2, 16,
19803 47, 8|128,1,
19804 OPC_Scope, 12,
19805 OPC_CheckPatternPredicate, 20,
19806 OPC_EmitIntegerI32, 67|128,0,
19807 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19808 8|128,1, 2, 16,
19809 31,
19810 OPC_CheckPatternPredicate, 16,
19811 OPC_EmitIntegerI32, 66|128,0,
19812 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19813 MVT::v8i16, 2, 16,
19814 OPC_EmitIntegerI32, 49|128,1,
19815 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19816 MVT::v8i16, 2, 56,
19817 OPC_EmitIntegerI32, 67|128,0,
19818 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19819 8|128,1, 2, 5|128,1,
19820 0,
19821 46, 26|128,1,
19822 OPC_Scope, 12,
19823 OPC_CheckPatternPredicate, 20,
19824 OPC_EmitIntegerI32, 65|128,0,
19825 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19826 26|128,1, 2, 16,
19827 30,
19828 OPC_CheckPatternPredicate, 16,
19829 OPC_EmitIntegerI32, 66|128,0,
19830 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19831 MVT::v8i16, 2, 16,
19832 OPC_EmitIntegerI32, 27,
19833 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19834 MVT::v8i16, 2, 56,
19835 OPC_EmitIntegerI32, 65|128,0,
19836 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19837 26|128,1, 2, 5|128,1,
19838 0,
19839 0,
19840 112|128,1,
19841 OPC_CheckChild0Type, MVT::v4i32,
19842 OPC_SwitchType , 44, MVT::v16i8,
19843 OPC_Scope, 11,
19844 OPC_CheckPatternPredicate, 20,
19845 OPC_EmitIntegerI32, 64|128,0,
19846 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19847 MVT::v16i8, 2, 16,
19848 29,
19849 OPC_CheckPatternPredicate, 16,
19850 OPC_EmitIntegerI32, 64|128,0,
19851 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19852 MVT::v16i8, 2, 16,
19853 OPC_EmitIntegerI32, 27,
19854 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19855 MVT::v16i8, 2, 56,
19856 OPC_EmitIntegerI32, 64|128,0,
19857 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19858 MVT::v16i8, 2, 5|128,1,
19859 0,
19860 45, MVT::v8i16,
19861 OPC_Scope, 11,
19862 OPC_CheckPatternPredicate, 20,
19863 OPC_EmitIntegerI32, 66|128,0,
19864 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19865 MVT::v8i16, 2, 16,
19866 30,
19867 OPC_CheckPatternPredicate, 16,
19868 OPC_EmitIntegerI32, 66|128,0,
19869 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19870 MVT::v8i16, 2, 16,
19871 OPC_EmitIntegerI32, 49|128,1,
19872 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19873 MVT::v8i16, 2, 56,
19874 OPC_EmitIntegerI32, 66|128,0,
19875 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19876 MVT::v8i16, 2, 5|128,1,
19877 0,
19878 45, MVT::v2i64,
19879 OPC_Scope, 11,
19880 OPC_CheckPatternPredicate, 20,
19881 OPC_EmitIntegerI32, 65|128,0,
19882 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19883 MVT::v2i64, 2, 16,
19884 30,
19885 OPC_CheckPatternPredicate, 16,
19886 OPC_EmitIntegerI32, 67|128,0,
19887 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19888 MVT::v4i32, 2, 16,
19889 OPC_EmitIntegerI32, 49|128,1,
19890 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19891 MVT::v4i32, 2, 56,
19892 OPC_EmitIntegerI32, 65|128,0,
19893 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19894 MVT::v2i64, 2, 5|128,1,
19895 0,
19896 11, 8|128,1,
19897 OPC_CheckPatternPredicate3,
19898 OPC_EmitIntegerI32, 67|128,0,
19899 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19900 8|128,1, 2, 16,
19901 47, 26|128,1,
19902 OPC_Scope, 12,
19903 OPC_CheckPatternPredicate, 20,
19904 OPC_EmitIntegerI32, 65|128,0,
19905 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19906 26|128,1, 2, 16,
19907 31,
19908 OPC_CheckPatternPredicate, 16,
19909 OPC_EmitIntegerI32, 67|128,0,
19910 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19911 MVT::v4i32, 2, 16,
19912 OPC_EmitIntegerI32, 49|128,1,
19913 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19914 MVT::v4i32, 2, 56,
19915 OPC_EmitIntegerI32, 65|128,0,
19916 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19917 26|128,1, 2, 5|128,1,
19918 0,
19919 30, MVT::v8f16,
19920 OPC_CheckPatternPredicate, 16,
19921 OPC_EmitIntegerI32, 66|128,0,
19922 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19923 MVT::v8i16, 2, 16,
19924 OPC_EmitIntegerI32, 49|128,1,
19925 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19926 MVT::v8i16, 2, 56,
19927 OPC_EmitIntegerI32, 66|128,0,
19928 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19929 MVT::v8f16, 2, 5|128,1,
19930 0,
19931 2|128,2,
19932 OPC_CheckChild0Type, MVT::v2i64,
19933 OPC_SwitchType , 64, MVT::v16i8,
19934 OPC_Scope, 11,
19935 OPC_CheckPatternPredicate, 20,
19936 OPC_EmitIntegerI32, 64|128,0,
19937 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19938 MVT::v16i8, 2, 16,
19939 49,
19940 OPC_CheckPatternPredicate, 16,
19941 OPC_EmitIntegerI32, 64|128,0,
19942 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19943 MVT::v16i8, 2, 16,
19944 OPC_EmitIntegerI32, 27,
19945 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19946 MVT::v16i8, 2, 56,
19947 OPC_EmitIntegerI32, 67|128,0,
19948 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19949 MVT::v4i32, 2, 5|128,1,
19950 OPC_EmitIntegerI32, 49|128,1,
19951 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19952 MVT::v4i32, 2, 17|128,1,
19953 OPC_EmitIntegerI32, 64|128,0,
19954 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19955 MVT::v16i8, 2, 33|128,1,
19956 0,
19957 44, MVT::v8i16,
19958 OPC_Scope, 11,
19959 OPC_CheckPatternPredicate, 20,
19960 OPC_EmitIntegerI32, 66|128,0,
19961 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19962 MVT::v8i16, 2, 16,
19963 29,
19964 OPC_CheckPatternPredicate, 16,
19965 OPC_EmitIntegerI32, 66|128,0,
19966 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19967 MVT::v8i16, 2, 16,
19968 OPC_EmitIntegerI32, 27,
19969 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19970 MVT::v8i16, 2, 56,
19971 OPC_EmitIntegerI32, 66|128,0,
19972 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19973 MVT::v8i16, 2, 5|128,1,
19974 0,
19975 45, MVT::v4i32,
19976 OPC_Scope, 11,
19977 OPC_CheckPatternPredicate, 20,
19978 OPC_EmitIntegerI32, 67|128,0,
19979 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19980 MVT::v4i32, 2, 16,
19981 30,
19982 OPC_CheckPatternPredicate, 16,
19983 OPC_EmitIntegerI32, 67|128,0,
19984 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19985 MVT::v4i32, 2, 16,
19986 OPC_EmitIntegerI32, 49|128,1,
19987 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19988 MVT::v4i32, 2, 56,
19989 OPC_EmitIntegerI32, 67|128,0,
19990 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19991 MVT::v4i32, 2, 5|128,1,
19992 0,
19993 11, 26|128,1,
19994 OPC_CheckPatternPredicate3,
19995 OPC_EmitIntegerI32, 65|128,0,
19996 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19997 26|128,1, 2, 16,
19998 47, 8|128,1,
19999 OPC_Scope, 12,
20000 OPC_CheckPatternPredicate, 20,
20001 OPC_EmitIntegerI32, 67|128,0,
20002 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20003 8|128,1, 2, 16,
20004 31,
20005 OPC_CheckPatternPredicate, 16,
20006 OPC_EmitIntegerI32, 67|128,0,
20007 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20008 MVT::v4i32, 2, 16,
20009 OPC_EmitIntegerI32, 49|128,1,
20010 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
20011 MVT::v4i32, 2, 56,
20012 OPC_EmitIntegerI32, 67|128,0,
20013 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20014 8|128,1, 2, 5|128,1,
20015 0,
20016 29, MVT::v8f16,
20017 OPC_CheckPatternPredicate, 16,
20018 OPC_EmitIntegerI32, 66|128,0,
20019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20020 MVT::v8i16, 2, 16,
20021 OPC_EmitIntegerI32, 27,
20022 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
20023 MVT::v8i16, 2, 56,
20024 OPC_EmitIntegerI32, 66|128,0,
20025 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20026 MVT::v8f16, 2, 5|128,1,
20027 0,
20028 57|128,2,
20029 OPC_CheckChild0Type, MVT::v16i8,
20030 OPC_SwitchType , 45, MVT::v8i16,
20031 OPC_Scope, 11,
20032 OPC_CheckPatternPredicate, 20,
20033 OPC_EmitIntegerI32, 66|128,0,
20034 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20035 MVT::v8i16, 2, 16,
20036 30,
20037 OPC_CheckPatternPredicate, 16,
20038 OPC_EmitIntegerI32, 64|128,0,
20039 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20040 MVT::v16i8, 2, 16,
20041 OPC_EmitIntegerI32, 49|128,1,
20042 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20043 MVT::v16i8, 2, 56,
20044 OPC_EmitIntegerI32, 66|128,0,
20045 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20046 MVT::v8i16, 2, 5|128,1,
20047 0,
20048 44, MVT::v4i32,
20049 OPC_Scope, 11,
20050 OPC_CheckPatternPredicate, 20,
20051 OPC_EmitIntegerI32, 67|128,0,
20052 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20053 MVT::v4i32, 2, 16,
20054 29,
20055 OPC_CheckPatternPredicate, 16,
20056 OPC_EmitIntegerI32, 64|128,0,
20057 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20058 MVT::v16i8, 2, 16,
20059 OPC_EmitIntegerI32, 27,
20060 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20061 MVT::v16i8, 2, 56,
20062 OPC_EmitIntegerI32, 67|128,0,
20063 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20064 MVT::v4i32, 2, 5|128,1,
20065 0,
20066 64, MVT::v2i64,
20067 OPC_Scope, 11,
20068 OPC_CheckPatternPredicate, 20,
20069 OPC_EmitIntegerI32, 65|128,0,
20070 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20071 MVT::v2i64, 2, 16,
20072 49,
20073 OPC_CheckPatternPredicate, 16,
20074 OPC_EmitIntegerI32, 64|128,0,
20075 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20076 MVT::v16i8, 2, 16,
20077 OPC_EmitIntegerI32, 27,
20078 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20079 MVT::v16i8, 2, 56,
20080 OPC_EmitIntegerI32, 67|128,0,
20081 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20082 MVT::v4i32, 2, 5|128,1,
20083 OPC_EmitIntegerI32, 49|128,1,
20084 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
20085 MVT::v4i32, 2, 17|128,1,
20086 OPC_EmitIntegerI32, 65|128,0,
20087 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20088 MVT::v2i64, 2, 33|128,1,
20089 0,
20090 46, 8|128,1,
20091 OPC_Scope, 12,
20092 OPC_CheckPatternPredicate, 20,
20093 OPC_EmitIntegerI32, 67|128,0,
20094 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20095 8|128,1, 2, 16,
20096 30,
20097 OPC_CheckPatternPredicate, 16,
20098 OPC_EmitIntegerI32, 64|128,0,
20099 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20100 MVT::v16i8, 2, 16,
20101 OPC_EmitIntegerI32, 27,
20102 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20103 MVT::v16i8, 2, 56,
20104 OPC_EmitIntegerI32, 67|128,0,
20105 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20106 8|128,1, 2, 5|128,1,
20107 0,
20108 66, 26|128,1,
20109 OPC_Scope, 12,
20110 OPC_CheckPatternPredicate, 20,
20111 OPC_EmitIntegerI32, 65|128,0,
20112 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20113 26|128,1, 2, 16,
20114 50,
20115 OPC_CheckPatternPredicate, 16,
20116 OPC_EmitIntegerI32, 64|128,0,
20117 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20118 MVT::v16i8, 2, 16,
20119 OPC_EmitIntegerI32, 27,
20120 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20121 MVT::v16i8, 2, 56,
20122 OPC_EmitIntegerI32, 67|128,0,
20123 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20124 MVT::v4i32, 2, 5|128,1,
20125 OPC_EmitIntegerI32, 49|128,1,
20126 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
20127 MVT::v4i32, 2, 17|128,1,
20128 OPC_EmitIntegerI32, 65|128,0,
20129 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20130 26|128,1, 2, 33|128,1,
20131 0,
20132 30, MVT::v8f16,
20133 OPC_CheckPatternPredicate, 16,
20134 OPC_EmitIntegerI32, 64|128,0,
20135 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20136 MVT::v16i8, 2, 16,
20137 OPC_EmitIntegerI32, 49|128,1,
20138 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20139 MVT::v16i8, 2, 56,
20140 OPC_EmitIntegerI32, 66|128,0,
20141 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20142 MVT::v8f16, 2, 5|128,1,
20143 0,
20144 0,
20145 65, TARGET_VAL(ISD::CTPOP),
20146 OPC_RecordChild0,
20147 OPC_SwitchType , 9, MVT::i32,
20148 OPC_CheckChild0TypeI32,
20149 OPC_CheckPatternPredicate, 28,
20150 OPC_MorphNodeTo1None, TARGET_VAL(Mips::POP),
20151 MVT::i32, 1, 1,
20152 9, MVT::i64,
20153 OPC_CheckChild0TypeI64,
20154 OPC_CheckPatternPredicate, 28,
20155 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPOP),
20156 MVT::i64, 1, 1,
20157 7, MVT::v16i8,
20158 OPC_CheckPatternPredicate0,
20159 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_B),
20160 MVT::v16i8, 1, 1,
20161 7, MVT::v8i16,
20162 OPC_CheckPatternPredicate0,
20163 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_H),
20164 MVT::v8i16, 1, 1,
20165 9, MVT::v4i32,
20166 OPC_CheckChild0Type, MVT::v4i32,
20167 OPC_CheckPatternPredicate0,
20168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_W),
20169 MVT::v4i32, 1, 1,
20170 9, MVT::v2i64,
20171 OPC_CheckChild0Type, MVT::v2i64,
20172 OPC_CheckPatternPredicate0,
20173 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_D),
20174 MVT::v2i64, 1, 1,
20175 0,
20176 11|128,1, TARGET_VAL(MipsISD::CMovFP_T),
20177 OPC_CaptureGlueInput,
20178 OPC_RecordChild0,
20179 OPC_RecordChild1,
20180 OPC_RecordChild2,
20181 OPC_SwitchType , 29, MVT::i32,
20182 OPC_Scope, 8,
20183 OPC_CheckPatternPredicate, 72,
20184 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I),
20185 MVT::i32, 3, 31,
20186 8,
20187 OPC_CheckPatternPredicate, 44,
20188 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I_MM),
20189 MVT::i32, 3, 31,
20190 8,
20191 OPC_CheckPatternPredicate, 47,
20192 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I),
20193 MVT::i32, 3, 28,
20194 0,
20195 20, MVT::i64,
20196 OPC_Scope, 8,
20197 OPC_CheckPatternPredicate, 102,
20198 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I64),
20199 MVT::i64, 3, 31,
20200 8,
20201 OPC_CheckPatternPredicate, 47,
20202 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I64),
20203 MVT::i64, 3, 28,
20204 0,
20205 29, MVT::f32,
20206 OPC_Scope, 8,
20207 OPC_CheckPatternPredicate, 72,
20208 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S),
20209 MVT::f32, 3, 31,
20210 8,
20211 OPC_CheckPatternPredicate, 44,
20212 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S_MM),
20213 MVT::f32, 3, 31,
20214 8,
20215 OPC_CheckPatternPredicate, 47,
20216 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_S),
20217 MVT::f32, 3, 28,
20218 0,
20219 47, MVT::f64,
20220 OPC_Scope, 8,
20221 OPC_CheckPatternPredicate, 103,
20222 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32),
20223 MVT::f64, 3, 31,
20224 8,
20225 OPC_CheckPatternPredicate, 104,
20226 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D64),
20227 MVT::f64, 3, 31,
20228 8,
20229 OPC_CheckPatternPredicate, 105,
20230 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32_MM),
20231 MVT::f64, 3, 31,
20232 8,
20233 OPC_CheckPatternPredicate, 74,
20234 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D32),
20235 MVT::f64, 3, 28,
20236 8,
20237 OPC_CheckPatternPredicate, 75,
20238 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D64),
20239 MVT::f64, 3, 28,
20240 0,
20241 0,
20242 11|128,1, TARGET_VAL(MipsISD::CMovFP_F),
20243 OPC_CaptureGlueInput,
20244 OPC_RecordChild0,
20245 OPC_RecordChild1,
20246 OPC_RecordChild2,
20247 OPC_SwitchType , 29, MVT::i32,
20248 OPC_Scope, 8,
20249 OPC_CheckPatternPredicate, 72,
20250 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I),
20251 MVT::i32, 3, 31,
20252 8,
20253 OPC_CheckPatternPredicate, 44,
20254 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I_MM),
20255 MVT::i32, 3, 31,
20256 8,
20257 OPC_CheckPatternPredicate, 47,
20258 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I),
20259 MVT::i32, 3, 28,
20260 0,
20261 20, MVT::i64,
20262 OPC_Scope, 8,
20263 OPC_CheckPatternPredicate, 102,
20264 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I64),
20265 MVT::i64, 3, 31,
20266 8,
20267 OPC_CheckPatternPredicate, 47,
20268 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I64),
20269 MVT::i64, 3, 28,
20270 0,
20271 29, MVT::f32,
20272 OPC_Scope, 8,
20273 OPC_CheckPatternPredicate, 72,
20274 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S),
20275 MVT::f32, 3, 31,
20276 8,
20277 OPC_CheckPatternPredicate, 44,
20278 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S_MM),
20279 MVT::f32, 3, 31,
20280 8,
20281 OPC_CheckPatternPredicate, 47,
20282 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_S),
20283 MVT::f32, 3, 28,
20284 0,
20285 47, MVT::f64,
20286 OPC_Scope, 8,
20287 OPC_CheckPatternPredicate, 103,
20288 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32),
20289 MVT::f64, 3, 31,
20290 8,
20291 OPC_CheckPatternPredicate, 104,
20292 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D64),
20293 MVT::f64, 3, 31,
20294 8,
20295 OPC_CheckPatternPredicate, 105,
20296 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32_MM),
20297 MVT::f64, 3, 31,
20298 8,
20299 OPC_CheckPatternPredicate, 74,
20300 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D32),
20301 MVT::f64, 3, 28,
20302 8,
20303 OPC_CheckPatternPredicate, 75,
20304 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D64),
20305 MVT::f64, 3, 28,
20306 0,
20307 0,
20308 36, TARGET_VAL(ISD::MULHS),
20309 OPC_RecordChild0,
20310 OPC_RecordChild1,
20311 OPC_SwitchType , 20, MVT::i32,
20312 OPC_Scope, 8,
20313 OPC_CheckPatternPredicate, 15,
20314 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH),
20315 MVT::i32, 2, 16,
20316 8,
20317 OPC_CheckPatternPredicate, 8,
20318 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH_MMR6),
20319 MVT::i32, 2, 16,
20320 0,
20321 8, MVT::i64,
20322 OPC_CheckPatternPredicate, 48,
20323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUH),
20324 MVT::i64, 2, 16,
20325 0,
20326 36, TARGET_VAL(ISD::MULHU),
20327 OPC_RecordChild0,
20328 OPC_RecordChild1,
20329 OPC_SwitchType , 20, MVT::i32,
20330 OPC_Scope, 8,
20331 OPC_CheckPatternPredicate, 15,
20332 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU),
20333 MVT::i32, 2, 16,
20334 8,
20335 OPC_CheckPatternPredicate, 8,
20336 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU_MMR6),
20337 MVT::i32, 2, 16,
20338 0,
20339 8, MVT::i64,
20340 OPC_CheckPatternPredicate, 48,
20341 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUHU),
20342 MVT::i64, 2, 16,
20343 0,
20344 10, TARGET_VAL(MipsISD::DivRem16),
20345 OPC_RecordChild0,
20346 OPC_CheckChild0TypeI32,
20347 OPC_RecordChild1,
20348 OPC_CheckPatternPredicate5,
20349 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivRxRy16),
20350 MVT::i32, 2, 16,
20351 10, TARGET_VAL(MipsISD::DivRemU16),
20352 OPC_RecordChild0,
20353 OPC_CheckChild0TypeI32,
20354 OPC_RecordChild1,
20355 OPC_CheckPatternPredicate5,
20356 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivuRxRy16),
20357 MVT::i32, 2, 16,
20358 26, TARGET_VAL(MipsISD::MULSAQ_S_W_PH),
20359 OPC_RecordNode,
20360 OPC_RecordChild1,
20361 OPC_RecordChild2,
20362 OPC_RecordChild3,
20363 OPC_Scope, 9,
20364 OPC_CheckPatternPredicate1,
20365 OPC_EmitMergeInputChains1_0,
20366 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH),
20367 123|128,1, 3, 58,
20368 9,
20369 OPC_CheckPatternPredicate6,
20370 OPC_EmitMergeInputChains1_0,
20371 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH_MM),
20372 123|128,1, 3, 58,
20373 0,
20374 26, TARGET_VAL(MipsISD::MAQ_S_W_PHL),
20375 OPC_RecordNode,
20376 OPC_RecordChild1,
20377 OPC_RecordChild2,
20378 OPC_RecordChild3,
20379 OPC_Scope, 9,
20380 OPC_CheckPatternPredicate1,
20381 OPC_EmitMergeInputChains1_0,
20382 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL),
20383 123|128,1, 3, 58,
20384 9,
20385 OPC_CheckPatternPredicate6,
20386 OPC_EmitMergeInputChains1_0,
20387 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL_MM),
20388 123|128,1, 3, 58,
20389 0,
20390 26, TARGET_VAL(MipsISD::MAQ_S_W_PHR),
20391 OPC_RecordNode,
20392 OPC_RecordChild1,
20393 OPC_RecordChild2,
20394 OPC_RecordChild3,
20395 OPC_Scope, 9,
20396 OPC_CheckPatternPredicate1,
20397 OPC_EmitMergeInputChains1_0,
20398 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR),
20399 123|128,1, 3, 58,
20400 9,
20401 OPC_CheckPatternPredicate6,
20402 OPC_EmitMergeInputChains1_0,
20403 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR_MM),
20404 123|128,1, 3, 58,
20405 0,
20406 26, TARGET_VAL(MipsISD::MAQ_SA_W_PHL),
20407 OPC_RecordNode,
20408 OPC_RecordChild1,
20409 OPC_RecordChild2,
20410 OPC_RecordChild3,
20411 OPC_Scope, 9,
20412 OPC_CheckPatternPredicate1,
20413 OPC_EmitMergeInputChains1_0,
20414 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL),
20415 123|128,1, 3, 58,
20416 9,
20417 OPC_CheckPatternPredicate6,
20418 OPC_EmitMergeInputChains1_0,
20419 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL_MM),
20420 123|128,1, 3, 58,
20421 0,
20422 26, TARGET_VAL(MipsISD::MAQ_SA_W_PHR),
20423 OPC_RecordNode,
20424 OPC_RecordChild1,
20425 OPC_RecordChild2,
20426 OPC_RecordChild3,
20427 OPC_Scope, 9,
20428 OPC_CheckPatternPredicate1,
20429 OPC_EmitMergeInputChains1_0,
20430 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR),
20431 123|128,1, 3, 58,
20432 9,
20433 OPC_CheckPatternPredicate6,
20434 OPC_EmitMergeInputChains1_0,
20435 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR_MM),
20436 123|128,1, 3, 58,
20437 0,
20438 23, TARGET_VAL(MipsISD::DPAU_H_QBL),
20439 OPC_RecordChild0,
20440 OPC_RecordChild1,
20441 OPC_RecordChild2,
20442 OPC_Scope, 8,
20443 OPC_CheckPatternPredicate1,
20444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL),
20445 123|128,1, 3, 31,
20446 8,
20447 OPC_CheckPatternPredicate6,
20448 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL_MM),
20449 123|128,1, 3, 31,
20450 0,
20451 23, TARGET_VAL(MipsISD::DPAU_H_QBR),
20452 OPC_RecordChild0,
20453 OPC_RecordChild1,
20454 OPC_RecordChild2,
20455 OPC_Scope, 8,
20456 OPC_CheckPatternPredicate1,
20457 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR),
20458 123|128,1, 3, 31,
20459 8,
20460 OPC_CheckPatternPredicate6,
20461 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR_MM),
20462 123|128,1, 3, 31,
20463 0,
20464 23, TARGET_VAL(MipsISD::DPSU_H_QBL),
20465 OPC_RecordChild0,
20466 OPC_RecordChild1,
20467 OPC_RecordChild2,
20468 OPC_Scope, 8,
20469 OPC_CheckPatternPredicate1,
20470 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL),
20471 123|128,1, 3, 31,
20472 8,
20473 OPC_CheckPatternPredicate6,
20474 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL_MM),
20475 123|128,1, 3, 31,
20476 0,
20477 23, TARGET_VAL(MipsISD::DPSU_H_QBR),
20478 OPC_RecordChild0,
20479 OPC_RecordChild1,
20480 OPC_RecordChild2,
20481 OPC_Scope, 8,
20482 OPC_CheckPatternPredicate1,
20483 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR),
20484 123|128,1, 3, 31,
20485 8,
20486 OPC_CheckPatternPredicate6,
20487 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR_MM),
20488 123|128,1, 3, 31,
20489 0,
20490 26, TARGET_VAL(MipsISD::DPAQ_S_W_PH),
20491 OPC_RecordNode,
20492 OPC_RecordChild1,
20493 OPC_RecordChild2,
20494 OPC_RecordChild3,
20495 OPC_Scope, 9,
20496 OPC_CheckPatternPredicate1,
20497 OPC_EmitMergeInputChains1_0,
20498 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH),
20499 123|128,1, 3, 58,
20500 9,
20501 OPC_CheckPatternPredicate6,
20502 OPC_EmitMergeInputChains1_0,
20503 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH_MM),
20504 123|128,1, 3, 58,
20505 0,
20506 26, TARGET_VAL(MipsISD::DPSQ_S_W_PH),
20507 OPC_RecordNode,
20508 OPC_RecordChild1,
20509 OPC_RecordChild2,
20510 OPC_RecordChild3,
20511 OPC_Scope, 9,
20512 OPC_CheckPatternPredicate1,
20513 OPC_EmitMergeInputChains1_0,
20514 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH),
20515 123|128,1, 3, 58,
20516 9,
20517 OPC_CheckPatternPredicate6,
20518 OPC_EmitMergeInputChains1_0,
20519 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH_MM),
20520 123|128,1, 3, 58,
20521 0,
20522 26, TARGET_VAL(MipsISD::DPAQ_SA_L_W),
20523 OPC_RecordNode,
20524 OPC_RecordChild1,
20525 OPC_RecordChild2,
20526 OPC_RecordChild3,
20527 OPC_Scope, 9,
20528 OPC_CheckPatternPredicate1,
20529 OPC_EmitMergeInputChains1_0,
20530 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W),
20531 123|128,1, 3, 58,
20532 9,
20533 OPC_CheckPatternPredicate6,
20534 OPC_EmitMergeInputChains1_0,
20535 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W_MM),
20536 123|128,1, 3, 58,
20537 0,
20538 26, TARGET_VAL(MipsISD::DPSQ_SA_L_W),
20539 OPC_RecordNode,
20540 OPC_RecordChild1,
20541 OPC_RecordChild2,
20542 OPC_RecordChild3,
20543 OPC_Scope, 9,
20544 OPC_CheckPatternPredicate1,
20545 OPC_EmitMergeInputChains1_0,
20546 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W),
20547 123|128,1, 3, 58,
20548 9,
20549 OPC_CheckPatternPredicate6,
20550 OPC_EmitMergeInputChains1_0,
20551 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W_MM),
20552 123|128,1, 3, 58,
20553 0,
20554 25, TARGET_VAL(MipsISD::MTHLIP),
20555 OPC_RecordNode,
20556 OPC_RecordChild1,
20557 OPC_RecordChild2,
20558 OPC_Scope, 9,
20559 OPC_CheckPatternPredicate1,
20560 OPC_EmitMergeInputChains1_0,
20561 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP),
20562 123|128,1, 2, 32,
20563 9,
20564 OPC_CheckPatternPredicate6,
20565 OPC_EmitMergeInputChains1_0,
20566 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP_MM),
20567 123|128,1, 2, 32,
20568 0,
20569 25, TARGET_VAL(MipsISD::DPA_W_PH),
20570 OPC_RecordChild0,
20571 OPC_RecordChild1,
20572 OPC_RecordChild2,
20573 OPC_Scope, 9,
20574 OPC_CheckPatternPredicate, 13,
20575 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH),
20576 123|128,1, 3, 31,
20577 9,
20578 OPC_CheckPatternPredicate, 14,
20579 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH_MMR2),
20580 123|128,1, 3, 31,
20581 0,
20582 25, TARGET_VAL(MipsISD::DPS_W_PH),
20583 OPC_RecordChild0,
20584 OPC_RecordChild1,
20585 OPC_RecordChild2,
20586 OPC_Scope, 9,
20587 OPC_CheckPatternPredicate, 13,
20588 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH),
20589 123|128,1, 3, 31,
20590 9,
20591 OPC_CheckPatternPredicate, 14,
20592 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH_MMR2),
20593 123|128,1, 3, 31,
20594 0,
20595 28, TARGET_VAL(MipsISD::DPAQX_S_W_PH),
20596 OPC_RecordNode,
20597 OPC_RecordChild1,
20598 OPC_RecordChild2,
20599 OPC_RecordChild3,
20600 OPC_Scope, 10,
20601 OPC_CheckPatternPredicate, 13,
20602 OPC_EmitMergeInputChains1_0,
20603 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH),
20604 123|128,1, 3, 58,
20605 10,
20606 OPC_CheckPatternPredicate, 14,
20607 OPC_EmitMergeInputChains1_0,
20608 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH_MMR2),
20609 123|128,1, 3, 58,
20610 0,
20611 28, TARGET_VAL(MipsISD::DPAQX_SA_W_PH),
20612 OPC_RecordNode,
20613 OPC_RecordChild1,
20614 OPC_RecordChild2,
20615 OPC_RecordChild3,
20616 OPC_Scope, 10,
20617 OPC_CheckPatternPredicate, 13,
20618 OPC_EmitMergeInputChains1_0,
20619 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH),
20620 123|128,1, 3, 58,
20621 10,
20622 OPC_CheckPatternPredicate, 14,
20623 OPC_EmitMergeInputChains1_0,
20624 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH_MMR2),
20625 123|128,1, 3, 58,
20626 0,
20627 25, TARGET_VAL(MipsISD::DPAX_W_PH),
20628 OPC_RecordChild0,
20629 OPC_RecordChild1,
20630 OPC_RecordChild2,
20631 OPC_Scope, 9,
20632 OPC_CheckPatternPredicate, 13,
20633 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH),
20634 123|128,1, 3, 31,
20635 9,
20636 OPC_CheckPatternPredicate, 14,
20637 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH_MMR2),
20638 123|128,1, 3, 31,
20639 0,
20640 25, TARGET_VAL(MipsISD::DPSX_W_PH),
20641 OPC_RecordChild0,
20642 OPC_RecordChild1,
20643 OPC_RecordChild2,
20644 OPC_Scope, 9,
20645 OPC_CheckPatternPredicate, 13,
20646 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH),
20647 123|128,1, 3, 31,
20648 9,
20649 OPC_CheckPatternPredicate, 14,
20650 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH_MMR2),
20651 123|128,1, 3, 31,
20652 0,
20653 28, TARGET_VAL(MipsISD::DPSQX_S_W_PH),
20654 OPC_RecordNode,
20655 OPC_RecordChild1,
20656 OPC_RecordChild2,
20657 OPC_RecordChild3,
20658 OPC_Scope, 10,
20659 OPC_CheckPatternPredicate, 13,
20660 OPC_EmitMergeInputChains1_0,
20661 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH),
20662 123|128,1, 3, 58,
20663 10,
20664 OPC_CheckPatternPredicate, 14,
20665 OPC_EmitMergeInputChains1_0,
20666 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH_MMR2),
20667 123|128,1, 3, 58,
20668 0,
20669 28, TARGET_VAL(MipsISD::DPSQX_SA_W_PH),
20670 OPC_RecordNode,
20671 OPC_RecordChild1,
20672 OPC_RecordChild2,
20673 OPC_RecordChild3,
20674 OPC_Scope, 10,
20675 OPC_CheckPatternPredicate, 13,
20676 OPC_EmitMergeInputChains1_0,
20677 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH),
20678 123|128,1, 3, 58,
20679 10,
20680 OPC_CheckPatternPredicate, 14,
20681 OPC_EmitMergeInputChains1_0,
20682 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH_MMR2),
20683 123|128,1, 3, 58,
20684 0,
20685 25, TARGET_VAL(MipsISD::MULSA_W_PH),
20686 OPC_RecordChild0,
20687 OPC_RecordChild1,
20688 OPC_RecordChild2,
20689 OPC_Scope, 9,
20690 OPC_CheckPatternPredicate, 13,
20691 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH),
20692 123|128,1, 3, 31,
20693 9,
20694 OPC_CheckPatternPredicate, 14,
20695 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH_MMR2),
20696 123|128,1, 3, 31,
20697 0,
20698 12, TARGET_VAL(ISD::ADDE),
20699 OPC_CaptureGlueInput,
20700 OPC_RecordChild0,
20701 OPC_RecordChild1,
20702 OPC_CheckTypeI32,
20703 OPC_CheckPatternPredicate1,
20704 OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDWC), 0|OPFL_GlueInput|OPFL_GlueOutput,
20705 MVT::i32, 2, 16,
20706 56, TARGET_VAL(ISD::BSWAP),
20707 OPC_RecordChild0,
20708 OPC_SwitchType , 35, MVT::i32,
20709 OPC_Scope, 16,
20710 OPC_CheckPatternPredicate, 55,
20711 OPC_EmitNode1None, TARGET_VAL(Mips::WSBH),
20712 MVT::i32, 1, 1,
20713 OPC_EmitIntegerI32, 16,
20714 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
20715 MVT::i32, 2, 32,
20716 15,
20717 OPC_CheckPatternPredicate4,
20718 OPC_EmitNode1None, TARGET_VAL(Mips::WSBH_MM),
20719 MVT::i32, 1, 1,
20720 OPC_EmitIntegerI32, 16,
20721 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
20722 MVT::i32, 2, 32,
20723 0,
20724 14, MVT::i64,
20725 OPC_CheckPatternPredicate, 133,
20726 OPC_EmitNode1None, TARGET_VAL(Mips::DSBH),
20727 MVT::i64, 1, 1,
20728 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSHD),
20729 MVT::i64, 1, 17,
20730 0,
20731 17, TARGET_VAL(ISD::ANY_EXTEND),
20732 OPC_RecordChild0,
20733 OPC_CheckTypeI64,
20734 OPC_CheckPatternPredicate, 9,
20735 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20736 MVT::i64, 0,
20737 OPC_EmitIntegerI32, Mips::sub_32,
20738 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20739 MVT::i64, 3, 28,
20740 82, TARGET_VAL(ISD::IS_FPCLASS),
20741 OPC_RecordChild0,
20742 OPC_CheckTypeI32,
20743 OPC_Scope, 38,
20744 OPC_CheckChild0Type, MVT::f32,
20745 OPC_RecordChild1,
20746 OPC_CheckChild1TypeI32,
20747 OPC_CheckPatternPredicate, 15,
20748 OPC_EmitRegisterI32, Mips::ZERO,
20749 OPC_EmitNode1None, TARGET_VAL(Mips::CLASS_S),
20750 MVT::f32, 1, 1,
20751 OPC_EmitNode1None, TARGET_VAL(Mips::MFC1),
20752 MVT::i32, 1, 48,
20753 OPC_EmitConvertToTarget1,
20754 OPC_EmitNodeXForm, 6, 5,
20755 OPC_EmitNode1None, TARGET_VAL(Mips::ANDi),
20756 MVT::i32, 2, 9|128,1,
20757 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
20758 MVT::i32, 2, 15|128,1,
20759 38,
20760 OPC_CheckChild0Type, MVT::f64,
20761 OPC_RecordChild1,
20762 OPC_CheckChild1TypeI32,
20763 OPC_CheckPatternPredicate, 15,
20764 OPC_EmitRegisterI32, Mips::ZERO,
20765 OPC_EmitNode1None, TARGET_VAL(Mips::CLASS_D),
20766 MVT::f64, 1, 1,
20767 OPC_EmitNode1None, TARGET_VAL(Mips::MFC1_D64),
20768 MVT::i32, 1, 48,
20769 OPC_EmitConvertToTarget1,
20770 OPC_EmitNodeXForm, 6, 5,
20771 OPC_EmitNode1None, TARGET_VAL(Mips::ANDi),
20772 MVT::i32, 2, 9|128,1,
20773 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
20774 MVT::i32, 2, 15|128,1,
20775 0,
20776 40, TARGET_VAL(MipsISD::DivRem),
20777 OPC_RecordChild0,
20778 OPC_Scope, 24,
20779 OPC_CheckChild0TypeI32,
20780 OPC_RecordChild1,
20781 OPC_Scope, 9,
20782 OPC_CheckPatternPredicate, 50,
20783 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSDIV),
20784 123|128,1, 2, 16,
20785 9,
20786 OPC_CheckPatternPredicate, 106,
20787 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SDIV_MM_Pseudo),
20788 123|128,1, 2, 16,
20789 0,
20790 11,
20791 OPC_CheckChild0TypeI64,
20792 OPC_RecordChild1,
20793 OPC_CheckPatternPredicate, 70,
20794 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDSDIV),
20795 123|128,1, 2, 16,
20796 0,
20797 40, TARGET_VAL(MipsISD::DivRemU),
20798 OPC_RecordChild0,
20799 OPC_Scope, 24,
20800 OPC_CheckChild0TypeI32,
20801 OPC_RecordChild1,
20802 OPC_Scope, 9,
20803 OPC_CheckPatternPredicate, 50,
20804 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoUDIV),
20805 123|128,1, 2, 16,
20806 9,
20807 OPC_CheckPatternPredicate, 106,
20808 OPC_MorphNodeTo1None, TARGET_VAL(Mips::UDIV_MM_Pseudo),
20809 123|128,1, 2, 16,
20810 0,
20811 11,
20812 OPC_CheckChild0TypeI64,
20813 OPC_RecordChild1,
20814 OPC_CheckPatternPredicate, 70,
20815 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDUDIV),
20816 123|128,1, 2, 16,
20817 0,
20818 72, TARGET_VAL(ISD::SDIV),
20819 OPC_RecordChild0,
20820 OPC_RecordChild1,
20821 OPC_SwitchType , 20, MVT::i32,
20822 OPC_Scope, 8,
20823 OPC_CheckPatternPredicate, 15,
20824 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV),
20825 MVT::i32, 2, 16,
20826 8,
20827 OPC_CheckPatternPredicate, 8,
20828 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_MMR6),
20829 MVT::i32, 2, 16,
20830 0,
20831 8, MVT::i64,
20832 OPC_CheckPatternPredicate, 48,
20833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIV),
20834 MVT::i64, 2, 16,
20835 7, MVT::v16i8,
20836 OPC_CheckPatternPredicate0,
20837 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_B),
20838 MVT::v16i8, 2, 16,
20839 7, MVT::v8i16,
20840 OPC_CheckPatternPredicate0,
20841 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_H),
20842 MVT::v8i16, 2, 16,
20843 7, MVT::v4i32,
20844 OPC_CheckPatternPredicate0,
20845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_W),
20846 MVT::v4i32, 2, 16,
20847 7, MVT::v2i64,
20848 OPC_CheckPatternPredicate0,
20849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_D),
20850 MVT::v2i64, 2, 16,
20851 0,
20852 72, TARGET_VAL(ISD::UDIV),
20853 OPC_RecordChild0,
20854 OPC_RecordChild1,
20855 OPC_SwitchType , 20, MVT::i32,
20856 OPC_Scope, 8,
20857 OPC_CheckPatternPredicate, 15,
20858 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU),
20859 MVT::i32, 2, 16,
20860 8,
20861 OPC_CheckPatternPredicate, 8,
20862 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU_MMR6),
20863 MVT::i32, 2, 16,
20864 0,
20865 8, MVT::i64,
20866 OPC_CheckPatternPredicate, 48,
20867 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIVU),
20868 MVT::i64, 2, 16,
20869 7, MVT::v16i8,
20870 OPC_CheckPatternPredicate0,
20871 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_B),
20872 MVT::v16i8, 2, 16,
20873 7, MVT::v8i16,
20874 OPC_CheckPatternPredicate0,
20875 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_H),
20876 MVT::v8i16, 2, 16,
20877 7, MVT::v4i32,
20878 OPC_CheckPatternPredicate0,
20879 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_W),
20880 MVT::v4i32, 2, 16,
20881 7, MVT::v2i64,
20882 OPC_CheckPatternPredicate0,
20883 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_D),
20884 MVT::v2i64, 2, 16,
20885 0,
20886 72, TARGET_VAL(ISD::SREM),
20887 OPC_RecordChild0,
20888 OPC_RecordChild1,
20889 OPC_SwitchType , 20, MVT::i32,
20890 OPC_Scope, 8,
20891 OPC_CheckPatternPredicate, 15,
20892 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD),
20893 MVT::i32, 2, 16,
20894 8,
20895 OPC_CheckPatternPredicate, 8,
20896 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_MMR6),
20897 MVT::i32, 2, 16,
20898 0,
20899 8, MVT::i64,
20900 OPC_CheckPatternPredicate, 48,
20901 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMOD),
20902 MVT::i64, 2, 16,
20903 7, MVT::v16i8,
20904 OPC_CheckPatternPredicate0,
20905 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_B),
20906 MVT::v16i8, 2, 16,
20907 7, MVT::v8i16,
20908 OPC_CheckPatternPredicate0,
20909 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_H),
20910 MVT::v8i16, 2, 16,
20911 7, MVT::v4i32,
20912 OPC_CheckPatternPredicate0,
20913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_W),
20914 MVT::v4i32, 2, 16,
20915 7, MVT::v2i64,
20916 OPC_CheckPatternPredicate0,
20917 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_D),
20918 MVT::v2i64, 2, 16,
20919 0,
20920 72, TARGET_VAL(ISD::UREM),
20921 OPC_RecordChild0,
20922 OPC_RecordChild1,
20923 OPC_SwitchType , 20, MVT::i32,
20924 OPC_Scope, 8,
20925 OPC_CheckPatternPredicate, 15,
20926 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU),
20927 MVT::i32, 2, 16,
20928 8,
20929 OPC_CheckPatternPredicate, 8,
20930 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU_MMR6),
20931 MVT::i32, 2, 16,
20932 0,
20933 8, MVT::i64,
20934 OPC_CheckPatternPredicate, 48,
20935 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMODU),
20936 MVT::i64, 2, 16,
20937 7, MVT::v16i8,
20938 OPC_CheckPatternPredicate0,
20939 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_B),
20940 MVT::v16i8, 2, 16,
20941 7, MVT::v8i16,
20942 OPC_CheckPatternPredicate0,
20943 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_H),
20944 MVT::v8i16, 2, 16,
20945 7, MVT::v4i32,
20946 OPC_CheckPatternPredicate0,
20947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_W),
20948 MVT::v4i32, 2, 16,
20949 7, MVT::v2i64,
20950 OPC_CheckPatternPredicate0,
20951 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_D),
20952 MVT::v2i64, 2, 16,
20953 0,
20954 40, TARGET_VAL(MipsISD::VALL_NONZERO),
20955 OPC_RecordChild0,
20956 OPC_CheckTypeI32,
20957 OPC_Scope, 8,
20958 OPC_CheckChild0Type, MVT::v16i8,
20959 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_B_PSEUDO),
20960 MVT::i32, 1, 1,
20961 8,
20962 OPC_CheckChild0Type, MVT::v8i16,
20963 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_H_PSEUDO),
20964 MVT::i32, 1, 1,
20965 8,
20966 OPC_CheckChild0Type, MVT::v4i32,
20967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_W_PSEUDO),
20968 MVT::i32, 1, 1,
20969 8,
20970 OPC_CheckChild0Type, MVT::v2i64,
20971 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_D_PSEUDO),
20972 MVT::i32, 1, 1,
20973 0,
20974 10, TARGET_VAL(MipsISD::VANY_NONZERO),
20975 OPC_RecordChild0,
20976 OPC_CheckChild0Type, MVT::v16i8,
20977 OPC_CheckTypeI32,
20978 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_V_PSEUDO),
20979 MVT::i32, 1, 1,
20980 40, TARGET_VAL(MipsISD::VALL_ZERO),
20981 OPC_RecordChild0,
20982 OPC_CheckTypeI32,
20983 OPC_Scope, 8,
20984 OPC_CheckChild0Type, MVT::v16i8,
20985 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_B_PSEUDO),
20986 MVT::i32, 1, 1,
20987 8,
20988 OPC_CheckChild0Type, MVT::v8i16,
20989 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_H_PSEUDO),
20990 MVT::i32, 1, 1,
20991 8,
20992 OPC_CheckChild0Type, MVT::v4i32,
20993 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_W_PSEUDO),
20994 MVT::i32, 1, 1,
20995 8,
20996 OPC_CheckChild0Type, MVT::v2i64,
20997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_D_PSEUDO),
20998 MVT::i32, 1, 1,
20999 0,
21000 10, TARGET_VAL(MipsISD::VANY_ZERO),
21001 OPC_RecordChild0,
21002 OPC_CheckChild0Type, MVT::v16i8,
21003 OPC_CheckTypeI32,
21004 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_V_PSEUDO),
21005 MVT::i32, 1, 1,
21006 87|128,6, TARGET_VAL(ISD::STRICT_FSUB),
21007 OPC_RecordNode,
21008 OPC_Scope, 42|128,6,
21009 OPC_MoveChild1,
21010 OPC_SwitchOpcode , 64|128,5, TARGET_VAL(ISD::ConstantFP),
21011 OPC_CheckPredicate, 39,
21012 OPC_MoveSibling2,
21013 OPC_SwitchOpcode , 116|128,1, TARGET_VAL(ISD::STRICT_FADD),
21014 OPC_RecordNode,
21015 OPC_CheckFoldableChainNode,
21016 OPC_Scope, 118,
21017 OPC_MoveChild1,
21018 OPC_SwitchOpcode , 57, TARGET_VAL(ISD::STRICT_FMUL),
21019 OPC_RecordNode,
21020 OPC_CheckFoldableChainNode,
21021 OPC_RecordChild1,
21022 OPC_RecordChild2,
21023 OPC_MoveParent,
21024 OPC_RecordChild2,
21025 OPC_MoveParent,
21026 OPC_CheckPredicate6,
21027 OPC_SwitchType , 13, MVT::f32,
21028 OPC_CheckPatternPredicate, 17,
21029 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21030 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21031 MVT::f32, 3, 114,
21032 30, MVT::f64,
21033 OPC_Scope, 13,
21034 OPC_CheckPatternPredicate, 18,
21035 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21036 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21037 MVT::f64, 3, 114,
21038 13,
21039 OPC_CheckPatternPredicate, 19,
21040 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21041 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21042 MVT::f64, 3, 114,
21043 0,
21044 0,
21045 52, TARGET_VAL(ISD::FMUL),
21046 OPC_RecordChild0,
21047 OPC_RecordChild1,
21048 OPC_MoveParent,
21049 OPC_RecordChild2,
21050 OPC_MoveParent,
21051 OPC_CheckPredicate6,
21052 OPC_SwitchType , 12, MVT::f32,
21053 OPC_CheckPatternPredicate, 17,
21054 OPC_EmitMergeInputChains, 2, 0, 1,
21055 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21056 MVT::f32, 3, 61,
21057 28, MVT::f64,
21058 OPC_Scope, 12,
21059 OPC_CheckPatternPredicate, 18,
21060 OPC_EmitMergeInputChains, 2, 0, 1,
21061 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21062 MVT::f64, 3, 61,
21063 12,
21064 OPC_CheckPatternPredicate, 19,
21065 OPC_EmitMergeInputChains, 2, 0, 1,
21066 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21067 MVT::f64, 3, 61,
21068 0,
21069 0,
21070 0,
21071 120,
21072 OPC_RecordChild1,
21073 OPC_MoveChild2,
21074 OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
21075 OPC_RecordNode,
21076 OPC_CheckFoldableChainNode,
21077 OPC_RecordChild1,
21078 OPC_RecordChild2,
21079 OPC_MoveParent,
21080 OPC_MoveParent,
21081 OPC_CheckPredicate6,
21082 OPC_SwitchType , 14, MVT::f32,
21083 OPC_CheckPatternPredicate, 17,
21084 OPC_EmitMergeInputChains, 3, 0, 1, 3,
21085 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21086 MVT::f32, 3, 4|128,1,
21087 32, MVT::f64,
21088 OPC_Scope, 14,
21089 OPC_CheckPatternPredicate, 18,
21090 OPC_EmitMergeInputChains, 3, 0, 1, 3,
21091 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21092 MVT::f64, 3, 4|128,1,
21093 14,
21094 OPC_CheckPatternPredicate, 19,
21095 OPC_EmitMergeInputChains, 3, 0, 1, 3,
21096 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21097 MVT::f64, 3, 4|128,1,
21098 0,
21099 0,
21100 51, TARGET_VAL(ISD::FMUL),
21101 OPC_RecordChild0,
21102 OPC_RecordChild1,
21103 OPC_MoveParent,
21104 OPC_MoveParent,
21105 OPC_CheckPredicate6,
21106 OPC_SwitchType , 12, MVT::f32,
21107 OPC_CheckPatternPredicate, 17,
21108 OPC_EmitMergeInputChains, 2, 0, 1,
21109 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21110 MVT::f32, 3, 111,
21111 28, MVT::f64,
21112 OPC_Scope, 12,
21113 OPC_CheckPatternPredicate, 18,
21114 OPC_EmitMergeInputChains, 2, 0, 1,
21115 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21116 MVT::f64, 3, 111,
21117 12,
21118 OPC_CheckPatternPredicate, 19,
21119 OPC_EmitMergeInputChains, 2, 0, 1,
21120 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21121 MVT::f64, 3, 111,
21122 0,
21123 0,
21124 0,
21125 0,
21126 87|128,1, TARGET_VAL(ISD::FADD),
21127 OPC_Scope, 106,
21128 OPC_MoveChild0,
21129 OPC_SwitchOpcode , 54, TARGET_VAL(ISD::STRICT_FMUL),
21130 OPC_RecordNode,
21131 OPC_CheckFoldableChainNode,
21132 OPC_RecordChild1,
21133 OPC_RecordChild2,
21134 OPC_MoveParent,
21135 OPC_RecordChild1,
21136 OPC_MoveParent,
21137 OPC_CheckPredicate6,
21138 OPC_SwitchType , 12, MVT::f32,
21139 OPC_CheckPatternPredicate, 17,
21140 OPC_EmitMergeInputChains, 2, 0, 1,
21141 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21142 MVT::f32, 3, 61,
21143 28, MVT::f64,
21144 OPC_Scope, 12,
21145 OPC_CheckPatternPredicate, 18,
21146 OPC_EmitMergeInputChains, 2, 0, 1,
21147 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21148 MVT::f64, 3, 61,
21149 12,
21150 OPC_CheckPatternPredicate, 19,
21151 OPC_EmitMergeInputChains, 2, 0, 1,
21152 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21153 MVT::f64, 3, 61,
21154 0,
21155 0,
21156 43, TARGET_VAL(ISD::FMUL),
21157 OPC_RecordChild0,
21158 OPC_RecordChild1,
21159 OPC_MoveParent,
21160 OPC_RecordChild1,
21161 OPC_MoveParent,
21162 OPC_CheckPredicate6,
21163 OPC_SwitchType , 9, MVT::f32,
21164 OPC_CheckPatternPredicate, 17,
21165 OPC_EmitMergeInputChains1_0,
21166 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21167 MVT::f32, 3, 34,
21168 22, MVT::f64,
21169 OPC_Scope, 9,
21170 OPC_CheckPatternPredicate, 18,
21171 OPC_EmitMergeInputChains1_0,
21172 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21173 MVT::f64, 3, 34,
21174 9,
21175 OPC_CheckPatternPredicate, 19,
21176 OPC_EmitMergeInputChains1_0,
21177 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21178 MVT::f64, 3, 34,
21179 0,
21180 0,
21181 0,
21182 105,
21183 OPC_RecordChild0,
21184 OPC_MoveChild1,
21185 OPC_SwitchOpcode , 53, TARGET_VAL(ISD::STRICT_FMUL),
21186 OPC_RecordNode,
21187 OPC_CheckFoldableChainNode,
21188 OPC_RecordChild1,
21189 OPC_RecordChild2,
21190 OPC_MoveParent,
21191 OPC_MoveParent,
21192 OPC_CheckPredicate6,
21193 OPC_SwitchType , 12, MVT::f32,
21194 OPC_CheckPatternPredicate, 17,
21195 OPC_EmitMergeInputChains, 2, 0, 2,
21196 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21197 MVT::f32, 3, 108,
21198 28, MVT::f64,
21199 OPC_Scope, 12,
21200 OPC_CheckPatternPredicate, 18,
21201 OPC_EmitMergeInputChains, 2, 0, 2,
21202 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21203 MVT::f64, 3, 108,
21204 12,
21205 OPC_CheckPatternPredicate, 19,
21206 OPC_EmitMergeInputChains, 2, 0, 2,
21207 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21208 MVT::f64, 3, 108,
21209 0,
21210 0,
21211 42, TARGET_VAL(ISD::FMUL),
21212 OPC_RecordChild0,
21213 OPC_RecordChild1,
21214 OPC_MoveParent,
21215 OPC_MoveParent,
21216 OPC_CheckPredicate6,
21217 OPC_SwitchType , 9, MVT::f32,
21218 OPC_CheckPatternPredicate, 17,
21219 OPC_EmitMergeInputChains1_0,
21220 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21221 MVT::f32, 3, 58,
21222 22, MVT::f64,
21223 OPC_Scope, 9,
21224 OPC_CheckPatternPredicate, 18,
21225 OPC_EmitMergeInputChains1_0,
21226 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21227 MVT::f64, 3, 58,
21228 9,
21229 OPC_CheckPatternPredicate, 19,
21230 OPC_EmitMergeInputChains1_0,
21231 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21232 MVT::f64, 3, 58,
21233 0,
21234 0,
21235 0,
21236 0,
21237 120, TARGET_VAL(ISD::STRICT_FSUB),
21238 OPC_RecordNode,
21239 OPC_CheckFoldableChainNode,
21240 OPC_MoveChild1,
21241 OPC_SwitchOpcode , 57, TARGET_VAL(ISD::STRICT_FMUL),
21242 OPC_RecordNode,
21243 OPC_CheckFoldableChainNode,
21244 OPC_RecordChild1,
21245 OPC_RecordChild2,
21246 OPC_MoveParent,
21247 OPC_RecordChild2,
21248 OPC_MoveParent,
21249 OPC_CheckPredicate6,
21250 OPC_SwitchType , 13, MVT::f32,
21251 OPC_CheckPatternPredicate, 17,
21252 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21253 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21254 MVT::f32, 3, 114,
21255 30, MVT::f64,
21256 OPC_Scope, 13,
21257 OPC_CheckPatternPredicate, 18,
21258 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21259 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21260 MVT::f64, 3, 114,
21261 13,
21262 OPC_CheckPatternPredicate, 19,
21263 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21264 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21265 MVT::f64, 3, 114,
21266 0,
21267 0,
21268 52, TARGET_VAL(ISD::FMUL),
21269 OPC_RecordChild0,
21270 OPC_RecordChild1,
21271 OPC_MoveParent,
21272 OPC_RecordChild2,
21273 OPC_MoveParent,
21274 OPC_CheckPredicate6,
21275 OPC_SwitchType , 12, MVT::f32,
21276 OPC_CheckPatternPredicate, 17,
21277 OPC_EmitMergeInputChains, 2, 0, 1,
21278 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21279 MVT::f32, 3, 61,
21280 28, MVT::f64,
21281 OPC_Scope, 12,
21282 OPC_CheckPatternPredicate, 18,
21283 OPC_EmitMergeInputChains, 2, 0, 1,
21284 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21285 MVT::f64, 3, 61,
21286 12,
21287 OPC_CheckPatternPredicate, 19,
21288 OPC_EmitMergeInputChains, 2, 0, 1,
21289 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21290 MVT::f64, 3, 61,
21291 0,
21292 0,
21293 0,
21294 106, TARGET_VAL(ISD::FSUB),
21295 OPC_MoveChild0,
21296 OPC_SwitchOpcode , 54, TARGET_VAL(ISD::STRICT_FMUL),
21297 OPC_RecordNode,
21298 OPC_CheckFoldableChainNode,
21299 OPC_RecordChild1,
21300 OPC_RecordChild2,
21301 OPC_MoveParent,
21302 OPC_RecordChild1,
21303 OPC_MoveParent,
21304 OPC_CheckPredicate6,
21305 OPC_SwitchType , 12, MVT::f32,
21306 OPC_CheckPatternPredicate, 17,
21307 OPC_EmitMergeInputChains, 2, 0, 1,
21308 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21309 MVT::f32, 3, 61,
21310 28, MVT::f64,
21311 OPC_Scope, 12,
21312 OPC_CheckPatternPredicate, 18,
21313 OPC_EmitMergeInputChains, 2, 0, 1,
21314 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21315 MVT::f64, 3, 61,
21316 12,
21317 OPC_CheckPatternPredicate, 19,
21318 OPC_EmitMergeInputChains, 2, 0, 1,
21319 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21320 MVT::f64, 3, 61,
21321 0,
21322 0,
21323 43, TARGET_VAL(ISD::FMUL),
21324 OPC_RecordChild0,
21325 OPC_RecordChild1,
21326 OPC_MoveParent,
21327 OPC_RecordChild1,
21328 OPC_MoveParent,
21329 OPC_CheckPredicate6,
21330 OPC_SwitchType , 9, MVT::f32,
21331 OPC_CheckPatternPredicate, 17,
21332 OPC_EmitMergeInputChains1_0,
21333 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21334 MVT::f32, 3, 34,
21335 22, MVT::f64,
21336 OPC_Scope, 9,
21337 OPC_CheckPatternPredicate, 18,
21338 OPC_EmitMergeInputChains1_0,
21339 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21340 MVT::f64, 3, 34,
21341 9,
21342 OPC_CheckPatternPredicate, 19,
21343 OPC_EmitMergeInputChains1_0,
21344 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21345 MVT::f64, 3, 34,
21346 0,
21347 0,
21348 0,
21349 0,
21350 52, TARGET_VAL(ISD::STRICT_FMUL),
21351 OPC_RecordNode,
21352 OPC_CheckFoldableChainNode,
21353 OPC_RecordChild1,
21354 OPC_RecordChild2,
21355 OPC_MoveParent,
21356 OPC_RecordChild2,
21357 OPC_SwitchType , 12, MVT::f32,
21358 OPC_CheckPatternPredicate, 17,
21359 OPC_EmitMergeInputChains, 2, 0, 1,
21360 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
21361 MVT::f32, 3, 61,
21362 28, MVT::f64,
21363 OPC_Scope, 12,
21364 OPC_CheckPatternPredicate, 18,
21365 OPC_EmitMergeInputChains, 2, 0, 1,
21366 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
21367 MVT::f64, 3, 61,
21368 12,
21369 OPC_CheckPatternPredicate, 19,
21370 OPC_EmitMergeInputChains, 2, 0, 1,
21371 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
21372 MVT::f64, 3, 61,
21373 0,
21374 0,
21375 41, TARGET_VAL(ISD::FMUL),
21376 OPC_RecordChild0,
21377 OPC_RecordChild1,
21378 OPC_MoveParent,
21379 OPC_RecordChild2,
21380 OPC_SwitchType , 9, MVT::f32,
21381 OPC_CheckPatternPredicate, 17,
21382 OPC_EmitMergeInputChains1_0,
21383 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
21384 MVT::f32, 3, 34,
21385 22, MVT::f64,
21386 OPC_Scope, 9,
21387 OPC_CheckPatternPredicate, 18,
21388 OPC_EmitMergeInputChains1_0,
21389 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
21390 MVT::f64, 3, 34,
21391 9,
21392 OPC_CheckPatternPredicate, 19,
21393 OPC_EmitMergeInputChains1_0,
21394 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
21395 MVT::f64, 3, 34,
21396 0,
21397 0,
21398 0,
21399 39,
21400 OPC_RecordChild1,
21401 OPC_RecordChild2,
21402 OPC_SwitchType , 9, MVT::f32,
21403 OPC_CheckPatternPredicate, 32,
21404 OPC_EmitMergeInputChains1_0,
21405 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_S),
21406 MVT::f32, 2, 32,
21407 22, MVT::f64,
21408 OPC_Scope, 9,
21409 OPC_CheckPatternPredicate, 42,
21410 OPC_EmitMergeInputChains1_0,
21411 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_D32),
21412 MVT::f64, 2, 32,
21413 9,
21414 OPC_CheckPatternPredicate, 43,
21415 OPC_EmitMergeInputChains1_0,
21416 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_D64),
21417 MVT::f64, 2, 32,
21418 0,
21419 0,
21420 0,
21421 99|128,6, TARGET_VAL(ISD::FSUB),
21422 OPC_Scope, 83|128,5,
21423 OPC_MoveChild0,
21424 OPC_SwitchOpcode , 117|128,4, TARGET_VAL(ISD::ConstantFP),
21425 OPC_CheckPredicate, 39,
21426 OPC_MoveSibling1,
21427 OPC_SwitchOpcode , 89|128,1, TARGET_VAL(ISD::STRICT_FADD),
21428 OPC_RecordNode,
21429 OPC_CheckFoldableChainNode,
21430 OPC_Scope, 106,
21431 OPC_MoveChild1,
21432 OPC_SwitchOpcode , 54, TARGET_VAL(ISD::STRICT_FMUL),
21433 OPC_RecordNode,
21434 OPC_CheckFoldableChainNode,
21435 OPC_RecordChild1,
21436 OPC_RecordChild2,
21437 OPC_MoveParent,
21438 OPC_RecordChild2,
21439 OPC_MoveParent,
21440 OPC_CheckPredicate6,
21441 OPC_SwitchType , 12, MVT::f32,
21442 OPC_CheckPatternPredicate, 17,
21443 OPC_EmitMergeInputChains, 2, 0, 1,
21444 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21445 MVT::f32, 3, 61,
21446 28, MVT::f64,
21447 OPC_Scope, 12,
21448 OPC_CheckPatternPredicate, 18,
21449 OPC_EmitMergeInputChains, 2, 0, 1,
21450 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21451 MVT::f64, 3, 61,
21452 12,
21453 OPC_CheckPatternPredicate, 19,
21454 OPC_EmitMergeInputChains, 2, 0, 1,
21455 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21456 MVT::f64, 3, 61,
21457 0,
21458 0,
21459 43, TARGET_VAL(ISD::FMUL),
21460 OPC_RecordChild0,
21461 OPC_RecordChild1,
21462 OPC_MoveParent,
21463 OPC_RecordChild2,
21464 OPC_MoveParent,
21465 OPC_CheckPredicate6,
21466 OPC_SwitchType , 9, MVT::f32,
21467 OPC_CheckPatternPredicate, 17,
21468 OPC_EmitMergeInputChains1_0,
21469 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21470 MVT::f32, 3, 34,
21471 22, MVT::f64,
21472 OPC_Scope, 9,
21473 OPC_CheckPatternPredicate, 18,
21474 OPC_EmitMergeInputChains1_0,
21475 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21476 MVT::f64, 3, 34,
21477 9,
21478 OPC_CheckPatternPredicate, 19,
21479 OPC_EmitMergeInputChains1_0,
21480 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21481 MVT::f64, 3, 34,
21482 0,
21483 0,
21484 0,
21485 105,
21486 OPC_RecordChild1,
21487 OPC_MoveChild2,
21488 OPC_SwitchOpcode , 53, TARGET_VAL(ISD::STRICT_FMUL),
21489 OPC_RecordNode,
21490 OPC_CheckFoldableChainNode,
21491 OPC_RecordChild1,
21492 OPC_RecordChild2,
21493 OPC_MoveParent,
21494 OPC_MoveParent,
21495 OPC_CheckPredicate6,
21496 OPC_SwitchType , 12, MVT::f32,
21497 OPC_CheckPatternPredicate, 17,
21498 OPC_EmitMergeInputChains, 2, 0, 2,
21499 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21500 MVT::f32, 3, 108,
21501 28, MVT::f64,
21502 OPC_Scope, 12,
21503 OPC_CheckPatternPredicate, 18,
21504 OPC_EmitMergeInputChains, 2, 0, 2,
21505 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21506 MVT::f64, 3, 108,
21507 12,
21508 OPC_CheckPatternPredicate, 19,
21509 OPC_EmitMergeInputChains, 2, 0, 2,
21510 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21511 MVT::f64, 3, 108,
21512 0,
21513 0,
21514 42, TARGET_VAL(ISD::FMUL),
21515 OPC_RecordChild0,
21516 OPC_RecordChild1,
21517 OPC_MoveParent,
21518 OPC_MoveParent,
21519 OPC_CheckPredicate6,
21520 OPC_SwitchType , 9, MVT::f32,
21521 OPC_CheckPatternPredicate, 17,
21522 OPC_EmitMergeInputChains1_0,
21523 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21524 MVT::f32, 3, 58,
21525 22, MVT::f64,
21526 OPC_Scope, 9,
21527 OPC_CheckPatternPredicate, 18,
21528 OPC_EmitMergeInputChains1_0,
21529 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21530 MVT::f64, 3, 58,
21531 9,
21532 OPC_CheckPatternPredicate, 19,
21533 OPC_EmitMergeInputChains1_0,
21534 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21535 MVT::f64, 3, 58,
21536 0,
21537 0,
21538 0,
21539 0,
21540 63|128,1, TARGET_VAL(ISD::FADD),
21541 OPC_Scope, 94,
21542 OPC_MoveChild0,
21543 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::STRICT_FMUL),
21544 OPC_RecordNode,
21545 OPC_CheckFoldableChainNode,
21546 OPC_RecordChild1,
21547 OPC_RecordChild2,
21548 OPC_MoveParent,
21549 OPC_RecordChild1,
21550 OPC_MoveParent,
21551 OPC_CheckPredicate6,
21552 OPC_SwitchType , 9, MVT::f32,
21553 OPC_CheckPatternPredicate, 17,
21554 OPC_EmitMergeInputChains1_0,
21555 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21556 MVT::f32, 3, 34,
21557 22, MVT::f64,
21558 OPC_Scope, 9,
21559 OPC_CheckPatternPredicate, 18,
21560 OPC_EmitMergeInputChains1_0,
21561 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21562 MVT::f64, 3, 34,
21563 9,
21564 OPC_CheckPatternPredicate, 19,
21565 OPC_EmitMergeInputChains1_0,
21566 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21567 MVT::f64, 3, 34,
21568 0,
21569 0,
21570 40, TARGET_VAL(ISD::FMUL),
21571 OPC_RecordChild0,
21572 OPC_RecordChild1,
21573 OPC_MoveParent,
21574 OPC_RecordChild1,
21575 OPC_MoveParent,
21576 OPC_CheckPredicate6,
21577 OPC_SwitchType , 8, MVT::f32,
21578 OPC_CheckPatternPredicate, 17,
21579 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
21580 MVT::f32, 3, 15,
21581 20, MVT::f64,
21582 OPC_Scope, 8,
21583 OPC_CheckPatternPredicate, 18,
21584 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
21585 MVT::f64, 3, 15,
21586 8,
21587 OPC_CheckPatternPredicate, 19,
21588 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
21589 MVT::f64, 3, 15,
21590 0,
21591 0,
21592 0,
21593 93,
21594 OPC_RecordChild0,
21595 OPC_MoveChild1,
21596 OPC_SwitchOpcode , 44, TARGET_VAL(ISD::STRICT_FMUL),
21597 OPC_RecordNode,
21598 OPC_CheckFoldableChainNode,
21599 OPC_RecordChild1,
21600 OPC_RecordChild2,
21601 OPC_MoveParent,
21602 OPC_MoveParent,
21603 OPC_CheckPredicate6,
21604 OPC_SwitchType , 9, MVT::f32,
21605 OPC_CheckPatternPredicate, 17,
21606 OPC_EmitMergeInputChains1_1,
21607 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21608 MVT::f32, 3, 55,
21609 22, MVT::f64,
21610 OPC_Scope, 9,
21611 OPC_CheckPatternPredicate, 18,
21612 OPC_EmitMergeInputChains1_1,
21613 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21614 MVT::f64, 3, 55,
21615 9,
21616 OPC_CheckPatternPredicate, 19,
21617 OPC_EmitMergeInputChains1_1,
21618 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21619 MVT::f64, 3, 55,
21620 0,
21621 0,
21622 39, TARGET_VAL(ISD::FMUL),
21623 OPC_RecordChild0,
21624 OPC_RecordChild1,
21625 OPC_MoveParent,
21626 OPC_MoveParent,
21627 OPC_CheckPredicate6,
21628 OPC_SwitchType , 8, MVT::f32,
21629 OPC_CheckPatternPredicate, 17,
21630 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
21631 MVT::f32, 3, 31,
21632 20, MVT::f64,
21633 OPC_Scope, 8,
21634 OPC_CheckPatternPredicate, 18,
21635 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
21636 MVT::f64, 3, 31,
21637 8,
21638 OPC_CheckPatternPredicate, 19,
21639 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
21640 MVT::f64, 3, 31,
21641 0,
21642 0,
21643 0,
21644 0,
21645 108, TARGET_VAL(ISD::STRICT_FSUB),
21646 OPC_RecordNode,
21647 OPC_CheckFoldableChainNode,
21648 OPC_MoveChild1,
21649 OPC_SwitchOpcode , 54, TARGET_VAL(ISD::STRICT_FMUL),
21650 OPC_RecordNode,
21651 OPC_CheckFoldableChainNode,
21652 OPC_RecordChild1,
21653 OPC_RecordChild2,
21654 OPC_MoveParent,
21655 OPC_RecordChild2,
21656 OPC_MoveParent,
21657 OPC_CheckPredicate6,
21658 OPC_SwitchType , 12, MVT::f32,
21659 OPC_CheckPatternPredicate, 17,
21660 OPC_EmitMergeInputChains, 2, 0, 1,
21661 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21662 MVT::f32, 3, 61,
21663 28, MVT::f64,
21664 OPC_Scope, 12,
21665 OPC_CheckPatternPredicate, 18,
21666 OPC_EmitMergeInputChains, 2, 0, 1,
21667 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21668 MVT::f64, 3, 61,
21669 12,
21670 OPC_CheckPatternPredicate, 19,
21671 OPC_EmitMergeInputChains, 2, 0, 1,
21672 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21673 MVT::f64, 3, 61,
21674 0,
21675 0,
21676 43, TARGET_VAL(ISD::FMUL),
21677 OPC_RecordChild0,
21678 OPC_RecordChild1,
21679 OPC_MoveParent,
21680 OPC_RecordChild2,
21681 OPC_MoveParent,
21682 OPC_CheckPredicate6,
21683 OPC_SwitchType , 9, MVT::f32,
21684 OPC_CheckPatternPredicate, 17,
21685 OPC_EmitMergeInputChains1_0,
21686 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21687 MVT::f32, 3, 34,
21688 22, MVT::f64,
21689 OPC_Scope, 9,
21690 OPC_CheckPatternPredicate, 18,
21691 OPC_EmitMergeInputChains1_0,
21692 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21693 MVT::f64, 3, 34,
21694 9,
21695 OPC_CheckPatternPredicate, 19,
21696 OPC_EmitMergeInputChains1_0,
21697 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21698 MVT::f64, 3, 34,
21699 0,
21700 0,
21701 0,
21702 94, TARGET_VAL(ISD::FSUB),
21703 OPC_MoveChild0,
21704 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::STRICT_FMUL),
21705 OPC_RecordNode,
21706 OPC_CheckFoldableChainNode,
21707 OPC_RecordChild1,
21708 OPC_RecordChild2,
21709 OPC_MoveParent,
21710 OPC_RecordChild1,
21711 OPC_MoveParent,
21712 OPC_CheckPredicate6,
21713 OPC_SwitchType , 9, MVT::f32,
21714 OPC_CheckPatternPredicate, 17,
21715 OPC_EmitMergeInputChains1_0,
21716 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21717 MVT::f32, 3, 34,
21718 22, MVT::f64,
21719 OPC_Scope, 9,
21720 OPC_CheckPatternPredicate, 18,
21721 OPC_EmitMergeInputChains1_0,
21722 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21723 MVT::f64, 3, 34,
21724 9,
21725 OPC_CheckPatternPredicate, 19,
21726 OPC_EmitMergeInputChains1_0,
21727 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21728 MVT::f64, 3, 34,
21729 0,
21730 0,
21731 40, TARGET_VAL(ISD::FMUL),
21732 OPC_RecordChild0,
21733 OPC_RecordChild1,
21734 OPC_MoveParent,
21735 OPC_RecordChild1,
21736 OPC_MoveParent,
21737 OPC_CheckPredicate6,
21738 OPC_SwitchType , 8, MVT::f32,
21739 OPC_CheckPatternPredicate, 17,
21740 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
21741 MVT::f32, 3, 15,
21742 20, MVT::f64,
21743 OPC_Scope, 8,
21744 OPC_CheckPatternPredicate, 18,
21745 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
21746 MVT::f64, 3, 15,
21747 8,
21748 OPC_CheckPatternPredicate, 19,
21749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
21750 MVT::f64, 3, 15,
21751 0,
21752 0,
21753 0,
21754 0,
21755 43, TARGET_VAL(ISD::STRICT_FMUL),
21756 OPC_RecordNode,
21757 OPC_CheckFoldableChainNode,
21758 OPC_RecordChild1,
21759 OPC_RecordChild2,
21760 OPC_MoveParent,
21761 OPC_RecordChild1,
21762 OPC_SwitchType , 9, MVT::f32,
21763 OPC_CheckPatternPredicate, 17,
21764 OPC_EmitMergeInputChains1_0,
21765 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
21766 MVT::f32, 3, 34,
21767 22, MVT::f64,
21768 OPC_Scope, 9,
21769 OPC_CheckPatternPredicate, 18,
21770 OPC_EmitMergeInputChains1_0,
21771 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
21772 MVT::f64, 3, 34,
21773 9,
21774 OPC_CheckPatternPredicate, 19,
21775 OPC_EmitMergeInputChains1_0,
21776 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
21777 MVT::f64, 3, 34,
21778 0,
21779 0,
21780 38, TARGET_VAL(ISD::FMUL),
21781 OPC_RecordChild0,
21782 OPC_RecordChild1,
21783 OPC_MoveParent,
21784 OPC_RecordChild1,
21785 OPC_SwitchType , 8, MVT::f32,
21786 OPC_CheckPatternPredicate, 17,
21787 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_S),
21788 MVT::f32, 3, 15,
21789 20, MVT::f64,
21790 OPC_Scope, 8,
21791 OPC_CheckPatternPredicate, 18,
21792 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D32),
21793 MVT::f64, 3, 15,
21794 8,
21795 OPC_CheckPatternPredicate, 19,
21796 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D64),
21797 MVT::f64, 3, 15,
21798 0,
21799 0,
21800 0,
21801 10|128,1,
21802 OPC_RecordChild0,
21803 OPC_Scope, 74,
21804 OPC_RecordChild1,
21805 OPC_SwitchType , 29, MVT::f32,
21806 OPC_Scope, 8,
21807 OPC_CheckPatternPredicate, 32,
21808 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S),
21809 MVT::f32, 2, 16,
21810 8,
21811 OPC_CheckPatternPredicate, 41,
21812 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MM),
21813 MVT::f32, 2, 16,
21814 8,
21815 OPC_CheckPatternPredicate, 27,
21816 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MMR6),
21817 MVT::f32, 2, 3,
21818 0,
21819 38, MVT::f64,
21820 OPC_Scope, 8,
21821 OPC_CheckPatternPredicate, 42,
21822 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32),
21823 MVT::f64, 2, 16,
21824 8,
21825 OPC_CheckPatternPredicate, 43,
21826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64),
21827 MVT::f64, 2, 16,
21828 8,
21829 OPC_CheckPatternPredicate, 45,
21830 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32_MM),
21831 MVT::f64, 2, 16,
21832 8,
21833 OPC_CheckPatternPredicate, 46,
21834 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64_MM),
21835 MVT::f64, 2, 16,
21836 0,
21837 0,
21838 33,
21839 OPC_MoveChild1,
21840 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21841 OPC_RecordChild0,
21842 OPC_RecordChild1,
21843 OPC_MoveParent,
21844 OPC_SwitchType , 9, 8|128,1,
21845 OPC_CheckPatternPredicate, 57,
21846 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
21847 8|128,1, 3, 31,
21848 9, 26|128,1,
21849 OPC_CheckPatternPredicate, 57,
21850 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
21851 26|128,1, 3, 31,
21852 0,
21853 25,
21854 OPC_RecordChild1,
21855 OPC_SwitchType , 8, 8|128,1,
21856 OPC_CheckPatternPredicate0,
21857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_W),
21858 8|128,1, 2, 16,
21859 8, 26|128,1,
21860 OPC_CheckPatternPredicate0,
21861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D),
21862 26|128,1, 2, 16,
21863 0,
21864 0,
21865 0,
21866 102|128,7, TARGET_VAL(ISD::FNEG),
21867 OPC_Scope, 23|128,7,
21868 OPC_MoveChild0,
21869 OPC_SwitchOpcode , 66|128,2, TARGET_VAL(ISD::STRICT_FADD),
21870 OPC_RecordNode,
21871 OPC_Scope, 30|128,1,
21872 OPC_MoveChild1,
21873 OPC_SwitchOpcode , 83, TARGET_VAL(ISD::STRICT_FMUL),
21874 OPC_RecordNode,
21875 OPC_CheckFoldableChainNode,
21876 OPC_RecordChild1,
21877 OPC_RecordChild2,
21878 OPC_MoveParent,
21879 OPC_RecordChild2,
21880 OPC_MoveParent,
21881 OPC_CheckPredicate6,
21882 OPC_SwitchType , 28, MVT::f32,
21883 OPC_Scope, 12,
21884 OPC_CheckPatternPredicate, 36,
21885 OPC_EmitMergeInputChains, 2, 0, 1,
21886 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21887 MVT::f32, 3, 61,
21888 12,
21889 OPC_CheckPatternPredicate, 37,
21890 OPC_EmitMergeInputChains, 2, 0, 1,
21891 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
21892 MVT::f32, 3, 61,
21893 0,
21894 41, MVT::f64,
21895 OPC_Scope, 12,
21896 OPC_CheckPatternPredicate, 38,
21897 OPC_EmitMergeInputChains, 2, 0, 1,
21898 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21899 MVT::f64, 3, 61,
21900 12,
21901 OPC_CheckPatternPredicate, 39,
21902 OPC_EmitMergeInputChains, 2, 0, 1,
21903 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21904 MVT::f64, 3, 61,
21905 12,
21906 OPC_CheckPatternPredicate, 40,
21907 OPC_EmitMergeInputChains, 2, 0, 1,
21908 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
21909 MVT::f64, 3, 61,
21910 0,
21911 0,
21912 66, TARGET_VAL(ISD::FMUL),
21913 OPC_RecordChild0,
21914 OPC_RecordChild1,
21915 OPC_MoveParent,
21916 OPC_RecordChild2,
21917 OPC_MoveParent,
21918 OPC_CheckPredicate6,
21919 OPC_SwitchType , 22, MVT::f32,
21920 OPC_Scope, 9,
21921 OPC_CheckPatternPredicate, 36,
21922 OPC_EmitMergeInputChains1_0,
21923 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21924 MVT::f32, 3, 34,
21925 9,
21926 OPC_CheckPatternPredicate, 37,
21927 OPC_EmitMergeInputChains1_0,
21928 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
21929 MVT::f32, 3, 34,
21930 0,
21931 32, MVT::f64,
21932 OPC_Scope, 9,
21933 OPC_CheckPatternPredicate, 38,
21934 OPC_EmitMergeInputChains1_0,
21935 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21936 MVT::f64, 3, 34,
21937 9,
21938 OPC_CheckPatternPredicate, 39,
21939 OPC_EmitMergeInputChains1_0,
21940 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21941 MVT::f64, 3, 34,
21942 9,
21943 OPC_CheckPatternPredicate, 40,
21944 OPC_EmitMergeInputChains1_0,
21945 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
21946 MVT::f64, 3, 34,
21947 0,
21948 0,
21949 0,
21950 29|128,1,
21951 OPC_RecordChild1,
21952 OPC_MoveChild2,
21953 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::STRICT_FMUL),
21954 OPC_RecordNode,
21955 OPC_CheckFoldableChainNode,
21956 OPC_RecordChild1,
21957 OPC_RecordChild2,
21958 OPC_MoveParent,
21959 OPC_MoveParent,
21960 OPC_CheckPredicate6,
21961 OPC_SwitchType , 28, MVT::f32,
21962 OPC_Scope, 12,
21963 OPC_CheckPatternPredicate, 36,
21964 OPC_EmitMergeInputChains, 2, 0, 2,
21965 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21966 MVT::f32, 3, 108,
21967 12,
21968 OPC_CheckPatternPredicate, 37,
21969 OPC_EmitMergeInputChains, 2, 0, 2,
21970 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
21971 MVT::f32, 3, 108,
21972 0,
21973 41, MVT::f64,
21974 OPC_Scope, 12,
21975 OPC_CheckPatternPredicate, 38,
21976 OPC_EmitMergeInputChains, 2, 0, 2,
21977 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21978 MVT::f64, 3, 108,
21979 12,
21980 OPC_CheckPatternPredicate, 39,
21981 OPC_EmitMergeInputChains, 2, 0, 2,
21982 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21983 MVT::f64, 3, 108,
21984 12,
21985 OPC_CheckPatternPredicate, 40,
21986 OPC_EmitMergeInputChains, 2, 0, 2,
21987 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
21988 MVT::f64, 3, 108,
21989 0,
21990 0,
21991 65, TARGET_VAL(ISD::FMUL),
21992 OPC_RecordChild0,
21993 OPC_RecordChild1,
21994 OPC_MoveParent,
21995 OPC_MoveParent,
21996 OPC_CheckPredicate6,
21997 OPC_SwitchType , 22, MVT::f32,
21998 OPC_Scope, 9,
21999 OPC_CheckPatternPredicate, 36,
22000 OPC_EmitMergeInputChains1_0,
22001 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
22002 MVT::f32, 3, 58,
22003 9,
22004 OPC_CheckPatternPredicate, 37,
22005 OPC_EmitMergeInputChains1_0,
22006 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
22007 MVT::f32, 3, 58,
22008 0,
22009 32, MVT::f64,
22010 OPC_Scope, 9,
22011 OPC_CheckPatternPredicate, 38,
22012 OPC_EmitMergeInputChains1_0,
22013 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
22014 MVT::f64, 3, 58,
22015 9,
22016 OPC_CheckPatternPredicate, 39,
22017 OPC_EmitMergeInputChains1_0,
22018 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
22019 MVT::f64, 3, 58,
22020 9,
22021 OPC_CheckPatternPredicate, 40,
22022 OPC_EmitMergeInputChains1_0,
22023 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
22024 MVT::f64, 3, 58,
22025 0,
22026 0,
22027 0,
22028 0,
22029 25|128,2, TARGET_VAL(ISD::FADD),
22030 OPC_Scope, 10|128,1,
22031 OPC_MoveChild0,
22032 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::STRICT_FMUL),
22033 OPC_RecordNode,
22034 OPC_CheckFoldableChainNode,
22035 OPC_RecordChild1,
22036 OPC_RecordChild2,
22037 OPC_MoveParent,
22038 OPC_RecordChild1,
22039 OPC_MoveParent,
22040 OPC_CheckPredicate6,
22041 OPC_SwitchType , 22, MVT::f32,
22042 OPC_Scope, 9,
22043 OPC_CheckPatternPredicate, 36,
22044 OPC_EmitMergeInputChains1_0,
22045 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
22046 MVT::f32, 3, 34,
22047 9,
22048 OPC_CheckPatternPredicate, 37,
22049 OPC_EmitMergeInputChains1_0,
22050 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
22051 MVT::f32, 3, 34,
22052 0,
22053 32, MVT::f64,
22054 OPC_Scope, 9,
22055 OPC_CheckPatternPredicate, 38,
22056 OPC_EmitMergeInputChains1_0,
22057 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
22058 MVT::f64, 3, 34,
22059 9,
22060 OPC_CheckPatternPredicate, 39,
22061 OPC_EmitMergeInputChains1_0,
22062 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
22063 MVT::f64, 3, 34,
22064 9,
22065 OPC_CheckPatternPredicate, 40,
22066 OPC_EmitMergeInputChains1_0,
22067 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
22068 MVT::f64, 3, 34,
22069 0,
22070 0,
22071 61, TARGET_VAL(ISD::FMUL),
22072 OPC_RecordChild0,
22073 OPC_RecordChild1,
22074 OPC_MoveParent,
22075 OPC_RecordChild1,
22076 OPC_MoveParent,
22077 OPC_CheckPredicate6,
22078 OPC_SwitchType , 20, MVT::f32,
22079 OPC_Scope, 8,
22080 OPC_CheckPatternPredicate, 36,
22081 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
22082 MVT::f32, 3, 15,
22083 8,
22084 OPC_CheckPatternPredicate, 37,
22085 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
22086 MVT::f32, 3, 15,
22087 0,
22088 29, MVT::f64,
22089 OPC_Scope, 8,
22090 OPC_CheckPatternPredicate, 38,
22091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
22092 MVT::f64, 3, 15,
22093 8,
22094 OPC_CheckPatternPredicate, 39,
22095 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
22096 MVT::f64, 3, 15,
22097 8,
22098 OPC_CheckPatternPredicate, 40,
22099 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
22100 MVT::f64, 3, 15,
22101 0,
22102 0,
22103 0,
22104 9|128,1,
22105 OPC_RecordChild0,
22106 OPC_MoveChild1,
22107 OPC_SwitchOpcode , 67, TARGET_VAL(ISD::STRICT_FMUL),
22108 OPC_RecordNode,
22109 OPC_CheckFoldableChainNode,
22110 OPC_RecordChild1,
22111 OPC_RecordChild2,
22112 OPC_MoveParent,
22113 OPC_MoveParent,
22114 OPC_CheckPredicate6,
22115 OPC_SwitchType , 22, MVT::f32,
22116 OPC_Scope, 9,
22117 OPC_CheckPatternPredicate, 36,
22118 OPC_EmitMergeInputChains1_1,
22119 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
22120 MVT::f32, 3, 55,
22121 9,
22122 OPC_CheckPatternPredicate, 37,
22123 OPC_EmitMergeInputChains1_1,
22124 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
22125 MVT::f32, 3, 55,
22126 0,
22127 32, MVT::f64,
22128 OPC_Scope, 9,
22129 OPC_CheckPatternPredicate, 38,
22130 OPC_EmitMergeInputChains1_1,
22131 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
22132 MVT::f64, 3, 55,
22133 9,
22134 OPC_CheckPatternPredicate, 39,
22135 OPC_EmitMergeInputChains1_1,
22136 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
22137 MVT::f64, 3, 55,
22138 9,
22139 OPC_CheckPatternPredicate, 40,
22140 OPC_EmitMergeInputChains1_1,
22141 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
22142 MVT::f64, 3, 55,
22143 0,
22144 0,
22145 60, TARGET_VAL(ISD::FMUL),
22146 OPC_RecordChild0,
22147 OPC_RecordChild1,
22148 OPC_MoveParent,
22149 OPC_MoveParent,
22150 OPC_CheckPredicate6,
22151 OPC_SwitchType , 20, MVT::f32,
22152 OPC_Scope, 8,
22153 OPC_CheckPatternPredicate, 36,
22154 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
22155 MVT::f32, 3, 31,
22156 8,
22157 OPC_CheckPatternPredicate, 37,
22158 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
22159 MVT::f32, 3, 31,
22160 0,
22161 29, MVT::f64,
22162 OPC_Scope, 8,
22163 OPC_CheckPatternPredicate, 38,
22164 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
22165 MVT::f64, 3, 31,
22166 8,
22167 OPC_CheckPatternPredicate, 39,
22168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
22169 MVT::f64, 3, 31,
22170 8,
22171 OPC_CheckPatternPredicate, 40,
22172 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
22173 MVT::f64, 3, 31,
22174 0,
22175 0,
22176 0,
22177 0,
22178 31|128,1, TARGET_VAL(ISD::STRICT_FSUB),
22179 OPC_RecordNode,
22180 OPC_MoveChild1,
22181 OPC_SwitchOpcode , 83, TARGET_VAL(ISD::STRICT_FMUL),
22182 OPC_RecordNode,
22183 OPC_CheckFoldableChainNode,
22184 OPC_RecordChild1,
22185 OPC_RecordChild2,
22186 OPC_MoveParent,
22187 OPC_RecordChild2,
22188 OPC_MoveParent,
22189 OPC_CheckPredicate6,
22190 OPC_SwitchType , 28, MVT::f32,
22191 OPC_Scope, 12,
22192 OPC_CheckPatternPredicate, 36,
22193 OPC_EmitMergeInputChains, 2, 0, 1,
22194 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
22195 MVT::f32, 3, 61,
22196 12,
22197 OPC_CheckPatternPredicate, 37,
22198 OPC_EmitMergeInputChains, 2, 0, 1,
22199 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
22200 MVT::f32, 3, 61,
22201 0,
22202 41, MVT::f64,
22203 OPC_Scope, 12,
22204 OPC_CheckPatternPredicate, 38,
22205 OPC_EmitMergeInputChains, 2, 0, 1,
22206 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
22207 MVT::f64, 3, 61,
22208 12,
22209 OPC_CheckPatternPredicate, 39,
22210 OPC_EmitMergeInputChains, 2, 0, 1,
22211 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
22212 MVT::f64, 3, 61,
22213 12,
22214 OPC_CheckPatternPredicate, 40,
22215 OPC_EmitMergeInputChains, 2, 0, 1,
22216 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
22217 MVT::f64, 3, 61,
22218 0,
22219 0,
22220 66, TARGET_VAL(ISD::FMUL),
22221 OPC_RecordChild0,
22222 OPC_RecordChild1,
22223 OPC_MoveParent,
22224 OPC_RecordChild2,
22225 OPC_MoveParent,
22226 OPC_CheckPredicate6,
22227 OPC_SwitchType , 22, MVT::f32,
22228 OPC_Scope, 9,
22229 OPC_CheckPatternPredicate, 36,
22230 OPC_EmitMergeInputChains1_0,
22231 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
22232 MVT::f32, 3, 34,
22233 9,
22234 OPC_CheckPatternPredicate, 37,
22235 OPC_EmitMergeInputChains1_0,
22236 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
22237 MVT::f32, 3, 34,
22238 0,
22239 32, MVT::f64,
22240 OPC_Scope, 9,
22241 OPC_CheckPatternPredicate, 38,
22242 OPC_EmitMergeInputChains1_0,
22243 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
22244 MVT::f64, 3, 34,
22245 9,
22246 OPC_CheckPatternPredicate, 39,
22247 OPC_EmitMergeInputChains1_0,
22248 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
22249 MVT::f64, 3, 34,
22250 9,
22251 OPC_CheckPatternPredicate, 40,
22252 OPC_EmitMergeInputChains1_0,
22253 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
22254 MVT::f64, 3, 34,
22255 0,
22256 0,
22257 0,
22258 10|128,1, TARGET_VAL(ISD::FSUB),
22259 OPC_MoveChild0,
22260 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::STRICT_FMUL),
22261 OPC_RecordNode,
22262 OPC_CheckFoldableChainNode,
22263 OPC_RecordChild1,
22264 OPC_RecordChild2,
22265 OPC_MoveParent,
22266 OPC_RecordChild1,
22267 OPC_MoveParent,
22268 OPC_CheckPredicate6,
22269 OPC_SwitchType , 22, MVT::f32,
22270 OPC_Scope, 9,
22271 OPC_CheckPatternPredicate, 36,
22272 OPC_EmitMergeInputChains1_0,
22273 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
22274 MVT::f32, 3, 34,
22275 9,
22276 OPC_CheckPatternPredicate, 37,
22277 OPC_EmitMergeInputChains1_0,
22278 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
22279 MVT::f32, 3, 34,
22280 0,
22281 32, MVT::f64,
22282 OPC_Scope, 9,
22283 OPC_CheckPatternPredicate, 38,
22284 OPC_EmitMergeInputChains1_0,
22285 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
22286 MVT::f64, 3, 34,
22287 9,
22288 OPC_CheckPatternPredicate, 39,
22289 OPC_EmitMergeInputChains1_0,
22290 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
22291 MVT::f64, 3, 34,
22292 9,
22293 OPC_CheckPatternPredicate, 40,
22294 OPC_EmitMergeInputChains1_0,
22295 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
22296 MVT::f64, 3, 34,
22297 0,
22298 0,
22299 61, TARGET_VAL(ISD::FMUL),
22300 OPC_RecordChild0,
22301 OPC_RecordChild1,
22302 OPC_MoveParent,
22303 OPC_RecordChild1,
22304 OPC_MoveParent,
22305 OPC_CheckPredicate6,
22306 OPC_SwitchType , 20, MVT::f32,
22307 OPC_Scope, 8,
22308 OPC_CheckPatternPredicate, 36,
22309 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
22310 MVT::f32, 3, 15,
22311 8,
22312 OPC_CheckPatternPredicate, 37,
22313 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S_MM),
22314 MVT::f32, 3, 15,
22315 0,
22316 29, MVT::f64,
22317 OPC_Scope, 8,
22318 OPC_CheckPatternPredicate, 38,
22319 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
22320 MVT::f64, 3, 15,
22321 8,
22322 OPC_CheckPatternPredicate, 39,
22323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
22324 MVT::f64, 3, 15,
22325 8,
22326 OPC_CheckPatternPredicate, 40,
22327 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32_MM),
22328 MVT::f64, 3, 15,
22329 0,
22330 0,
22331 0,
22332 0,
22333 74,
22334 OPC_RecordChild0,
22335 OPC_SwitchType , 29, MVT::f32,
22336 OPC_Scope, 8,
22337 OPC_CheckPatternPredicate, 134,
22338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
22339 MVT::f32, 1, 1,
22340 8,
22341 OPC_CheckPatternPredicate, 41,
22342 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
22343 MVT::f32, 1, 1,
22344 8,
22345 OPC_CheckPatternPredicate, 27,
22346 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
22347 MVT::f32, 1, 1,
22348 0,
22349 38, MVT::f64,
22350 OPC_Scope, 8,
22351 OPC_CheckPatternPredicate, 42,
22352 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32),
22353 MVT::f64, 1, 1,
22354 8,
22355 OPC_CheckPatternPredicate, 43,
22356 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
22357 MVT::f64, 1, 1,
22358 8,
22359 OPC_CheckPatternPredicate, 45,
22360 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32_MM),
22361 MVT::f64, 1, 1,
22362 8,
22363 OPC_CheckPatternPredicate, 46,
22364 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64_MM),
22365 MVT::f64, 1, 1,
22366 0,
22367 0,
22368 0,
22369 123|128,1, TARGET_VAL(ISD::STRICT_FADD),
22370 OPC_RecordNode,
22371 OPC_Scope, 102,
22372 OPC_MoveChild1,
22373 OPC_SwitchOpcode , 52, TARGET_VAL(ISD::STRICT_FMUL),
22374 OPC_RecordNode,
22375 OPC_CheckFoldableChainNode,
22376 OPC_RecordChild1,
22377 OPC_RecordChild2,
22378 OPC_MoveParent,
22379 OPC_RecordChild2,
22380 OPC_SwitchType , 12, MVT::f32,
22381 OPC_CheckPatternPredicate, 17,
22382 OPC_EmitMergeInputChains, 2, 0, 1,
22383 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22384 MVT::f32, 3, 61,
22385 28, MVT::f64,
22386 OPC_Scope, 12,
22387 OPC_CheckPatternPredicate, 18,
22388 OPC_EmitMergeInputChains, 2, 0, 1,
22389 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22390 MVT::f64, 3, 61,
22391 12,
22392 OPC_CheckPatternPredicate, 19,
22393 OPC_EmitMergeInputChains, 2, 0, 1,
22394 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22395 MVT::f64, 3, 61,
22396 0,
22397 0,
22398 41, TARGET_VAL(ISD::FMUL),
22399 OPC_RecordChild0,
22400 OPC_RecordChild1,
22401 OPC_MoveParent,
22402 OPC_RecordChild2,
22403 OPC_SwitchType , 9, MVT::f32,
22404 OPC_CheckPatternPredicate, 17,
22405 OPC_EmitMergeInputChains1_0,
22406 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22407 MVT::f32, 3, 34,
22408 22, MVT::f64,
22409 OPC_Scope, 9,
22410 OPC_CheckPatternPredicate, 18,
22411 OPC_EmitMergeInputChains1_0,
22412 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22413 MVT::f64, 3, 34,
22414 9,
22415 OPC_CheckPatternPredicate, 19,
22416 OPC_EmitMergeInputChains1_0,
22417 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22418 MVT::f64, 3, 34,
22419 0,
22420 0,
22421 0,
22422 15|128,1,
22423 OPC_RecordChild1,
22424 OPC_Scope, 100,
22425 OPC_MoveChild2,
22426 OPC_SwitchOpcode , 51, TARGET_VAL(ISD::STRICT_FMUL),
22427 OPC_RecordNode,
22428 OPC_CheckFoldableChainNode,
22429 OPC_RecordChild1,
22430 OPC_RecordChild2,
22431 OPC_MoveParent,
22432 OPC_SwitchType , 12, MVT::f32,
22433 OPC_CheckPatternPredicate, 17,
22434 OPC_EmitMergeInputChains, 2, 0, 2,
22435 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22436 MVT::f32, 3, 108,
22437 28, MVT::f64,
22438 OPC_Scope, 12,
22439 OPC_CheckPatternPredicate, 18,
22440 OPC_EmitMergeInputChains, 2, 0, 2,
22441 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22442 MVT::f64, 3, 108,
22443 12,
22444 OPC_CheckPatternPredicate, 19,
22445 OPC_EmitMergeInputChains, 2, 0, 2,
22446 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22447 MVT::f64, 3, 108,
22448 0,
22449 0,
22450 40, TARGET_VAL(ISD::FMUL),
22451 OPC_RecordChild0,
22452 OPC_RecordChild1,
22453 OPC_MoveParent,
22454 OPC_SwitchType , 9, MVT::f32,
22455 OPC_CheckPatternPredicate, 17,
22456 OPC_EmitMergeInputChains1_0,
22457 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22458 MVT::f32, 3, 58,
22459 22, MVT::f64,
22460 OPC_Scope, 9,
22461 OPC_CheckPatternPredicate, 18,
22462 OPC_EmitMergeInputChains1_0,
22463 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22464 MVT::f64, 3, 58,
22465 9,
22466 OPC_CheckPatternPredicate, 19,
22467 OPC_EmitMergeInputChains1_0,
22468 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22469 MVT::f64, 3, 58,
22470 0,
22471 0,
22472 0,
22473 38,
22474 OPC_RecordChild2,
22475 OPC_SwitchType , 9, MVT::f32,
22476 OPC_CheckPatternPredicate, 32,
22477 OPC_EmitMergeInputChains1_0,
22478 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_S),
22479 MVT::f32, 2, 32,
22480 22, MVT::f64,
22481 OPC_Scope, 9,
22482 OPC_CheckPatternPredicate, 42,
22483 OPC_EmitMergeInputChains1_0,
22484 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_D32),
22485 MVT::f64, 2, 32,
22486 9,
22487 OPC_CheckPatternPredicate, 43,
22488 OPC_EmitMergeInputChains1_0,
22489 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_D64),
22490 MVT::f64, 2, 32,
22491 0,
22492 0,
22493 0,
22494 0,
22495 102|128,2, TARGET_VAL(ISD::FADD),
22496 OPC_Scope, 90,
22497 OPC_MoveChild0,
22498 OPC_SwitchOpcode , 43, TARGET_VAL(ISD::STRICT_FMUL),
22499 OPC_RecordNode,
22500 OPC_CheckFoldableChainNode,
22501 OPC_RecordChild1,
22502 OPC_RecordChild2,
22503 OPC_MoveParent,
22504 OPC_RecordChild1,
22505 OPC_SwitchType , 9, MVT::f32,
22506 OPC_CheckPatternPredicate, 17,
22507 OPC_EmitMergeInputChains1_0,
22508 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22509 MVT::f32, 3, 34,
22510 22, MVT::f64,
22511 OPC_Scope, 9,
22512 OPC_CheckPatternPredicate, 18,
22513 OPC_EmitMergeInputChains1_0,
22514 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22515 MVT::f64, 3, 34,
22516 9,
22517 OPC_CheckPatternPredicate, 19,
22518 OPC_EmitMergeInputChains1_0,
22519 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22520 MVT::f64, 3, 34,
22521 0,
22522 0,
22523 38, TARGET_VAL(ISD::FMUL),
22524 OPC_RecordChild0,
22525 OPC_RecordChild1,
22526 OPC_MoveParent,
22527 OPC_RecordChild1,
22528 OPC_SwitchType , 8, MVT::f32,
22529 OPC_CheckPatternPredicate, 17,
22530 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
22531 MVT::f32, 3, 15,
22532 20, MVT::f64,
22533 OPC_Scope, 8,
22534 OPC_CheckPatternPredicate, 18,
22535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
22536 MVT::f64, 3, 15,
22537 8,
22538 OPC_CheckPatternPredicate, 19,
22539 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
22540 MVT::f64, 3, 15,
22541 0,
22542 0,
22543 0,
22544 73|128,1,
22545 OPC_RecordChild0,
22546 OPC_Scope, 88,
22547 OPC_MoveChild1,
22548 OPC_SwitchOpcode , 42, TARGET_VAL(ISD::STRICT_FMUL),
22549 OPC_RecordNode,
22550 OPC_CheckFoldableChainNode,
22551 OPC_RecordChild1,
22552 OPC_RecordChild2,
22553 OPC_MoveParent,
22554 OPC_SwitchType , 9, MVT::f32,
22555 OPC_CheckPatternPredicate, 17,
22556 OPC_EmitMergeInputChains1_1,
22557 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22558 MVT::f32, 3, 55,
22559 22, MVT::f64,
22560 OPC_Scope, 9,
22561 OPC_CheckPatternPredicate, 18,
22562 OPC_EmitMergeInputChains1_1,
22563 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22564 MVT::f64, 3, 55,
22565 9,
22566 OPC_CheckPatternPredicate, 19,
22567 OPC_EmitMergeInputChains1_1,
22568 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22569 MVT::f64, 3, 55,
22570 0,
22571 0,
22572 37, TARGET_VAL(ISD::FMUL),
22573 OPC_RecordChild0,
22574 OPC_RecordChild1,
22575 OPC_MoveParent,
22576 OPC_SwitchType , 8, MVT::f32,
22577 OPC_CheckPatternPredicate, 17,
22578 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
22579 MVT::f32, 3, 31,
22580 20, MVT::f64,
22581 OPC_Scope, 8,
22582 OPC_CheckPatternPredicate, 18,
22583 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
22584 MVT::f64, 3, 31,
22585 8,
22586 OPC_CheckPatternPredicate, 19,
22587 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
22588 MVT::f64, 3, 31,
22589 0,
22590 0,
22591 0,
22592 74,
22593 OPC_RecordChild1,
22594 OPC_SwitchType , 29, MVT::f32,
22595 OPC_Scope, 8,
22596 OPC_CheckPatternPredicate, 32,
22597 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S),
22598 MVT::f32, 2, 16,
22599 8,
22600 OPC_CheckPatternPredicate, 41,
22601 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MM),
22602 MVT::f32, 2, 16,
22603 8,
22604 OPC_CheckPatternPredicate, 27,
22605 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MMR6),
22606 MVT::f32, 2, 3,
22607 0,
22608 38, MVT::f64,
22609 OPC_Scope, 8,
22610 OPC_CheckPatternPredicate, 42,
22611 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32),
22612 MVT::f64, 2, 16,
22613 8,
22614 OPC_CheckPatternPredicate, 43,
22615 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64),
22616 MVT::f64, 2, 16,
22617 8,
22618 OPC_CheckPatternPredicate, 45,
22619 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32_MM),
22620 MVT::f64, 2, 16,
22621 8,
22622 OPC_CheckPatternPredicate, 46,
22623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64_MM),
22624 MVT::f64, 2, 16,
22625 0,
22626 0,
22627 33,
22628 OPC_MoveChild1,
22629 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
22630 OPC_RecordChild0,
22631 OPC_RecordChild1,
22632 OPC_MoveParent,
22633 OPC_SwitchType , 9, 8|128,1,
22634 OPC_CheckPatternPredicate, 57,
22635 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
22636 8|128,1, 3, 31,
22637 9, 26|128,1,
22638 OPC_CheckPatternPredicate, 57,
22639 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
22640 26|128,1, 3, 31,
22641 0,
22642 0,
22643 34,
22644 OPC_MoveChild0,
22645 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
22646 OPC_RecordChild0,
22647 OPC_RecordChild1,
22648 OPC_MoveParent,
22649 OPC_RecordChild1,
22650 OPC_SwitchType , 9, 8|128,1,
22651 OPC_CheckPatternPredicate, 57,
22652 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
22653 8|128,1, 3, 15,
22654 9, 26|128,1,
22655 OPC_CheckPatternPredicate, 57,
22656 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
22657 26|128,1, 3, 15,
22658 0,
22659 26,
22660 OPC_RecordChild0,
22661 OPC_RecordChild1,
22662 OPC_SwitchType , 8, 8|128,1,
22663 OPC_CheckPatternPredicate0,
22664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_W),
22665 8|128,1, 2, 16,
22666 8, 26|128,1,
22667 OPC_CheckPatternPredicate0,
22668 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D),
22669 26|128,1, 2, 16,
22670 0,
22671 0,
22672 10|128,1, TARGET_VAL(ISD::FABS),
22673 OPC_RecordChild0,
22674 OPC_Scope, 46,
22675 OPC_CheckPredicate, 64,
22676 OPC_SwitchType , 18, MVT::f32,
22677 OPC_Scope, 8,
22678 OPC_CheckPatternPredicate, 32,
22679 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S),
22680 MVT::f32, 1, 1,
22681 6,
22682 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S_MM),
22683 MVT::f32, 1, 1,
22684 0,
22685 20, MVT::f64,
22686 OPC_Scope, 8,
22687 OPC_CheckPatternPredicate, 42,
22688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32),
22689 MVT::f64, 1, 1,
22690 8,
22691 OPC_CheckPatternPredicate, 43,
22692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64),
22693 MVT::f64, 1, 1,
22694 0,
22695 0,
22696 22,
22697 OPC_CheckType, MVT::f32,
22698 OPC_Scope, 8,
22699 OPC_CheckPatternPredicate, 32,
22700 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S),
22701 MVT::f32, 1, 1,
22702 8,
22703 OPC_CheckPatternPredicate, 41,
22704 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S_MM),
22705 MVT::f32, 1, 1,
22706 0,
22707 40,
22708 OPC_CheckType, MVT::f64,
22709 OPC_Scope, 8,
22710 OPC_CheckPatternPredicate, 42,
22711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32),
22712 MVT::f64, 1, 1,
22713 8,
22714 OPC_CheckPatternPredicate, 43,
22715 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64),
22716 MVT::f64, 1, 1,
22717 8,
22718 OPC_CheckPatternPredicate, 45,
22719 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32_MM),
22720 MVT::f64, 1, 1,
22721 8,
22722 OPC_CheckPatternPredicate, 46,
22723 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64_MM),
22724 MVT::f64, 1, 1,
22725 0,
22726 11,
22727 OPC_CheckType, 8|128,1,
22728 OPC_CheckPatternPredicate0,
22729 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_W),
22730 8|128,1, 1, 1,
22731 11,
22732 OPC_CheckType, 26|128,1,
22733 OPC_CheckPatternPredicate0,
22734 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D),
22735 26|128,1, 1, 1,
22736 0,
22737 8|128,1, TARGET_VAL(ISD::ConstantFP),
22738 OPC_Scope, 54,
22739 OPC_CheckPredicate, 39,
22740 OPC_SwitchType , 34, MVT::f32,
22741 OPC_Scope, 10,
22742 OPC_CheckPatternPredicate, 69,
22743 OPC_EmitRegisterI32, Mips::ZERO,
22744 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
22745 MVT::f32, 1, 1,
22746 9,
22747 OPC_CheckPatternPredicate7,
22748 OPC_EmitRegisterI32, Mips::ZERO,
22749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
22750 MVT::f32, 1, 1,
22751 10,
22752 OPC_CheckPatternPredicate, 8,
22753 OPC_EmitRegisterI32, Mips::ZERO,
22754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
22755 MVT::f32, 1, 1,
22756 0,
22757 12, MVT::f64,
22758 OPC_CheckPatternPredicate, 107,
22759 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
22760 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
22761 MVT::f64, 1, 1,
22762 0,
22763 78,
22764 OPC_CheckPredicate, 65,
22765 OPC_SwitchType , 52, MVT::f32,
22766 OPC_Scope, 16,
22767 OPC_CheckPatternPredicate, 69,
22768 OPC_EmitRegisterI32, Mips::ZERO,
22769 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1),
22770 MVT::f32, 1, 1,
22771 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
22772 MVT::f32, 1, 17,
22773 15,
22774 OPC_CheckPatternPredicate7,
22775 OPC_EmitRegisterI32, Mips::ZERO,
22776 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MM),
22777 MVT::f32, 1, 1,
22778 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
22779 MVT::f32, 1, 17,
22780 16,
22781 OPC_CheckPatternPredicate, 8,
22782 OPC_EmitRegisterI32, Mips::ZERO,
22783 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MMR6),
22784 MVT::f32, 1, 1,
22785 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
22786 MVT::f32, 1, 17,
22787 0,
22788 18, MVT::f64,
22789 OPC_CheckPatternPredicate, 107,
22790 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
22791 OPC_EmitNode1None, TARGET_VAL(Mips::DMTC1),
22792 MVT::f64, 1, 1,
22793 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
22794 MVT::f64, 1, 17,
22795 0,
22796 0,
22797 39, TARGET_VAL(ISD::STRICT_FSQRT),
22798 OPC_RecordNode,
22799 OPC_RecordChild1,
22800 OPC_SwitchType , 9, MVT::f32,
22801 OPC_CheckPatternPredicate, 108,
22802 OPC_EmitMergeInputChains1_0,
22803 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_S),
22804 MVT::f32, 1, 17,
22805 22, MVT::f64,
22806 OPC_Scope, 9,
22807 OPC_CheckPatternPredicate, 65,
22808 OPC_EmitMergeInputChains1_0,
22809 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_D32),
22810 MVT::f64, 1, 17,
22811 9,
22812 OPC_CheckPatternPredicate, 64,
22813 OPC_EmitMergeInputChains1_0,
22814 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_D64),
22815 MVT::f64, 1, 17,
22816 0,
22817 0,
22818 87, TARGET_VAL(ISD::FSQRT),
22819 OPC_RecordChild0,
22820 OPC_SwitchType , 20, MVT::f32,
22821 OPC_Scope, 8,
22822 OPC_CheckPatternPredicate, 108,
22823 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S),
22824 MVT::f32, 1, 1,
22825 8,
22826 OPC_CheckPatternPredicate, 41,
22827 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S_MM),
22828 MVT::f32, 1, 1,
22829 0,
22830 38, MVT::f64,
22831 OPC_Scope, 8,
22832 OPC_CheckPatternPredicate, 65,
22833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32),
22834 MVT::f64, 1, 1,
22835 8,
22836 OPC_CheckPatternPredicate, 64,
22837 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64),
22838 MVT::f64, 1, 1,
22839 8,
22840 OPC_CheckPatternPredicate, 45,
22841 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32_MM),
22842 MVT::f64, 1, 1,
22843 8,
22844 OPC_CheckPatternPredicate, 46,
22845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64_MM),
22846 MVT::f64, 1, 1,
22847 0,
22848 8, 8|128,1,
22849 OPC_CheckPatternPredicate0,
22850 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_W),
22851 8|128,1, 1, 1,
22852 8, 26|128,1,
22853 OPC_CheckPatternPredicate0,
22854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D),
22855 26|128,1, 1, 1,
22856 0,
22857 40, TARGET_VAL(ISD::STRICT_FDIV),
22858 OPC_RecordNode,
22859 OPC_RecordChild1,
22860 OPC_RecordChild2,
22861 OPC_SwitchType , 9, MVT::f32,
22862 OPC_CheckPatternPredicate, 32,
22863 OPC_EmitMergeInputChains1_0,
22864 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_S),
22865 MVT::f32, 2, 32,
22866 22, MVT::f64,
22867 OPC_Scope, 9,
22868 OPC_CheckPatternPredicate, 42,
22869 OPC_EmitMergeInputChains1_0,
22870 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_D32),
22871 MVT::f64, 2, 32,
22872 9,
22873 OPC_CheckPatternPredicate, 43,
22874 OPC_EmitMergeInputChains1_0,
22875 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_D64),
22876 MVT::f64, 2, 32,
22877 0,
22878 0,
22879 97, TARGET_VAL(ISD::FDIV),
22880 OPC_RecordChild0,
22881 OPC_RecordChild1,
22882 OPC_SwitchType , 29, MVT::f32,
22883 OPC_Scope, 8,
22884 OPC_CheckPatternPredicate, 32,
22885 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S),
22886 MVT::f32, 2, 16,
22887 8,
22888 OPC_CheckPatternPredicate, 41,
22889 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MM),
22890 MVT::f32, 2, 16,
22891 8,
22892 OPC_CheckPatternPredicate, 27,
22893 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MMR6),
22894 MVT::f32, 2, 3,
22895 0,
22896 38, MVT::f64,
22897 OPC_Scope, 8,
22898 OPC_CheckPatternPredicate, 42,
22899 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32),
22900 MVT::f64, 2, 16,
22901 8,
22902 OPC_CheckPatternPredicate, 43,
22903 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64),
22904 MVT::f64, 2, 16,
22905 8,
22906 OPC_CheckPatternPredicate, 45,
22907 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32_MM),
22908 MVT::f64, 2, 16,
22909 8,
22910 OPC_CheckPatternPredicate, 46,
22911 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64_MM),
22912 MVT::f64, 2, 16,
22913 0,
22914 8, 8|128,1,
22915 OPC_CheckPatternPredicate0,
22916 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_W),
22917 8|128,1, 2, 16,
22918 8, 26|128,1,
22919 OPC_CheckPatternPredicate0,
22920 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D),
22921 26|128,1, 2, 16,
22922 0,
22923 40, TARGET_VAL(ISD::STRICT_FMUL),
22924 OPC_RecordNode,
22925 OPC_RecordChild1,
22926 OPC_RecordChild2,
22927 OPC_SwitchType , 9, MVT::f32,
22928 OPC_CheckPatternPredicate, 32,
22929 OPC_EmitMergeInputChains1_0,
22930 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_S),
22931 MVT::f32, 2, 32,
22932 22, MVT::f64,
22933 OPC_Scope, 9,
22934 OPC_CheckPatternPredicate, 42,
22935 OPC_EmitMergeInputChains1_0,
22936 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_D32),
22937 MVT::f64, 2, 32,
22938 9,
22939 OPC_CheckPatternPredicate, 43,
22940 OPC_EmitMergeInputChains1_0,
22941 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_D64),
22942 MVT::f64, 2, 32,
22943 0,
22944 0,
22945 43|128,1, TARGET_VAL(ISD::FMUL),
22946 OPC_Scope, 109,
22947 OPC_RecordChild0,
22948 OPC_Scope, 74,
22949 OPC_RecordChild1,
22950 OPC_SwitchType , 29, MVT::f32,
22951 OPC_Scope, 8,
22952 OPC_CheckPatternPredicate, 32,
22953 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S),
22954 MVT::f32, 2, 16,
22955 8,
22956 OPC_CheckPatternPredicate, 41,
22957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MM),
22958 MVT::f32, 2, 16,
22959 8,
22960 OPC_CheckPatternPredicate, 27,
22961 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MMR6),
22962 MVT::f32, 2, 3,
22963 0,
22964 38, MVT::f64,
22965 OPC_Scope, 8,
22966 OPC_CheckPatternPredicate, 42,
22967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32),
22968 MVT::f64, 2, 16,
22969 8,
22970 OPC_CheckPatternPredicate, 43,
22971 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64),
22972 MVT::f64, 2, 16,
22973 8,
22974 OPC_CheckPatternPredicate, 45,
22975 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32_MM),
22976 MVT::f64, 2, 16,
22977 8,
22978 OPC_CheckPatternPredicate, 46,
22979 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64_MM),
22980 MVT::f64, 2, 16,
22981 0,
22982 0,
22983 30,
22984 OPC_MoveChild1,
22985 OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
22986 OPC_RecordChild0,
22987 OPC_MoveParent,
22988 OPC_SwitchType , 8, 8|128,1,
22989 OPC_CheckPatternPredicate0,
22990 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
22991 8|128,1, 2, 16,
22992 8, 26|128,1,
22993 OPC_CheckPatternPredicate0,
22994 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
22995 26|128,1, 2, 16,
22996 0,
22997 0,
22998 31,
22999 OPC_MoveChild0,
23000 OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
23001 OPC_RecordChild0,
23002 OPC_MoveParent,
23003 OPC_RecordChild1,
23004 OPC_SwitchType , 8, 8|128,1,
23005 OPC_CheckPatternPredicate0,
23006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
23007 8|128,1, 2, 3,
23008 8, 26|128,1,
23009 OPC_CheckPatternPredicate0,
23010 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
23011 26|128,1, 2, 3,
23012 0,
23013 26,
23014 OPC_RecordChild0,
23015 OPC_RecordChild1,
23016 OPC_SwitchType , 8, 8|128,1,
23017 OPC_CheckPatternPredicate0,
23018 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_W),
23019 8|128,1, 2, 16,
23020 8, 26|128,1,
23021 OPC_CheckPatternPredicate0,
23022 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D),
23023 26|128,1, 2, 16,
23024 0,
23025 0,
23026 22, TARGET_VAL(MipsISD::BuildPairF64),
23027 OPC_RecordChild0,
23028 OPC_RecordChild1,
23029 OPC_Scope, 8,
23030 OPC_CheckPatternPredicate, 98,
23031 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64),
23032 MVT::f64, 2, 16,
23033 8,
23034 OPC_CheckPatternPredicate, 99,
23035 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64_64),
23036 MVT::f64, 2, 16,
23037 0,
23038 75, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
23039 OPC_RecordNode,
23040 OPC_RecordChild1,
23041 OPC_Scope, 36,
23042 OPC_CheckChild1TypeI32,
23043 OPC_SwitchType , 7, MVT::f32,
23044 OPC_EmitMergeInputChains1_0,
23045 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_S_W),
23046 MVT::f32, 1, 17,
23047 22, MVT::f64,
23048 OPC_Scope, 9,
23049 OPC_CheckPatternPredicate, 109,
23050 OPC_EmitMergeInputChains1_0,
23051 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D32_W),
23052 MVT::f64, 1, 17,
23053 9,
23054 OPC_CheckPatternPredicate, 58,
23055 OPC_EmitMergeInputChains1_0,
23056 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D64_W),
23057 MVT::f64, 1, 17,
23058 0,
23059 0,
23060 33,
23061 OPC_CheckChild1TypeI64,
23062 OPC_SwitchType , 9, MVT::f64,
23063 OPC_CheckPatternPredicate, 58,
23064 OPC_EmitMergeInputChains1_0,
23065 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D64_L),
23066 MVT::f64, 1, 17,
23067 17, MVT::f32,
23068 OPC_CheckPatternPredicate, 58,
23069 OPC_EmitMergeInputChains1_0,
23070 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCVT_S_L),
23071 MVT::f64, 1, 17,
23072 OPC_EmitIntegerI32, Mips::sub_lo,
23073 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23074 MVT::f32, 2, 56,
23075 0,
23076 0,
23077 97, TARGET_VAL(ISD::SINT_TO_FP),
23078 OPC_RecordChild0,
23079 OPC_Scope, 33,
23080 OPC_CheckChild0TypeI32,
23081 OPC_SwitchType , 6, MVT::f32,
23082 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_S_W),
23083 MVT::f32, 1, 1,
23084 20, MVT::f64,
23085 OPC_Scope, 8,
23086 OPC_CheckPatternPredicate, 109,
23087 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D32_W),
23088 MVT::f64, 1, 1,
23089 8,
23090 OPC_CheckPatternPredicate, 58,
23091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_W),
23092 MVT::f64, 1, 1,
23093 0,
23094 0,
23095 31,
23096 OPC_CheckChild0TypeI64,
23097 OPC_SwitchType , 8, MVT::f64,
23098 OPC_CheckPatternPredicate, 58,
23099 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_L),
23100 MVT::f64, 1, 1,
23101 16, MVT::f32,
23102 OPC_CheckPatternPredicate, 58,
23103 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCVT_S_L),
23104 MVT::f64, 1, 1,
23105 OPC_EmitIntegerI32, Mips::sub_lo,
23106 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23107 MVT::f32, 2, 32,
23108 0,
23109 13,
23110 OPC_CheckChild0Type, MVT::v4i32,
23111 OPC_CheckType, 8|128,1,
23112 OPC_CheckPatternPredicate0,
23113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_W),
23114 8|128,1, 1, 1,
23115 13,
23116 OPC_CheckChild0Type, MVT::v2i64,
23117 OPC_CheckType, 26|128,1,
23118 OPC_CheckPatternPredicate0,
23119 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_D),
23120 26|128,1, 1, 1,
23121 0,
23122 121, TARGET_VAL(MipsISD::TruncIntFP),
23123 OPC_RecordChild0,
23124 OPC_Scope, 53,
23125 OPC_CheckChild0Type, MVT::f32,
23126 OPC_SwitchType , 37, MVT::f32,
23127 OPC_Scope, 8,
23128 OPC_CheckPatternPredicate, 135,
23129 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_W_S),
23130 MVT::f32, 1, 1,
23131 8,
23132 OPC_CheckPatternPredicate, 69,
23133 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S),
23134 MVT::f32, 1, 1,
23135 7,
23136 OPC_CheckPatternPredicate7,
23137 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MM),
23138 MVT::f32, 1, 1,
23139 8,
23140 OPC_CheckPatternPredicate, 8,
23141 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MMR6),
23142 MVT::f32, 1, 1,
23143 0,
23144 8, MVT::f64,
23145 OPC_CheckPatternPredicate, 78,
23146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_S),
23147 MVT::f64, 1, 1,
23148 0,
23149 63,
23150 OPC_CheckChild0Type, MVT::f64,
23151 OPC_SwitchType , 47, MVT::f32,
23152 OPC_Scope, 8,
23153 OPC_CheckPatternPredicate, 136,
23154 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D32),
23155 MVT::f32, 1, 1,
23156 8,
23157 OPC_CheckPatternPredicate, 78,
23158 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
23159 MVT::f32, 1, 1,
23160 8,
23161 OPC_CheckPatternPredicate, 33,
23162 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_MM),
23163 MVT::f32, 1, 1,
23164 8,
23165 OPC_CheckPatternPredicate, 137,
23166 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_W_D64_MM),
23167 MVT::f32, 1, 1,
23168 8,
23169 OPC_CheckPatternPredicate, 8,
23170 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D_MMR6),
23171 MVT::f32, 1, 1,
23172 0,
23173 8, MVT::f64,
23174 OPC_CheckPatternPredicate, 78,
23175 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_D64),
23176 MVT::f64, 1, 1,
23177 0,
23178 0,
23179 21, TARGET_VAL(MipsISD::MTC1_D64),
23180 OPC_RecordChild0,
23181 OPC_Scope, 8,
23182 OPC_CheckPatternPredicate, 138,
23183 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64),
23184 MVT::f64, 1, 1,
23185 8,
23186 OPC_CheckPatternPredicate, 59,
23187 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64_MM),
23188 MVT::f64, 1, 1,
23189 0,
23190 24, TARGET_VAL(ISD::STRICT_FP_ROUND),
23191 OPC_RecordNode,
23192 OPC_RecordChild1,
23193 OPC_Scope, 9,
23194 OPC_CheckPatternPredicate, 53,
23195 OPC_EmitMergeInputChains1_0,
23196 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_S_D32),
23197 MVT::f32, 1, 17,
23198 9,
23199 OPC_CheckPatternPredicate, 52,
23200 OPC_EmitMergeInputChains1_0,
23201 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_S_D64),
23202 MVT::f32, 1, 17,
23203 0,
23204 39, TARGET_VAL(ISD::FP_ROUND),
23205 OPC_RecordChild0,
23206 OPC_Scope, 8,
23207 OPC_CheckPatternPredicate, 53,
23208 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32),
23209 MVT::f32, 1, 1,
23210 8,
23211 OPC_CheckPatternPredicate, 52,
23212 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64),
23213 MVT::f32, 1, 1,
23214 8,
23215 OPC_CheckPatternPredicate, 59,
23216 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64_MM),
23217 MVT::f32, 1, 1,
23218 8,
23219 OPC_CheckPatternPredicate, 63,
23220 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32_MM),
23221 MVT::f32, 1, 1,
23222 0,
23223 24, TARGET_VAL(ISD::STRICT_FP_EXTEND),
23224 OPC_RecordNode,
23225 OPC_RecordChild1,
23226 OPC_Scope, 9,
23227 OPC_CheckPatternPredicate, 53,
23228 OPC_EmitMergeInputChains1_0,
23229 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_D32_S),
23230 MVT::f64, 1, 17,
23231 9,
23232 OPC_CheckPatternPredicate, 52,
23233 OPC_EmitMergeInputChains1_0,
23234 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_D64_S),
23235 MVT::f64, 1, 17,
23236 0,
23237 39, TARGET_VAL(ISD::FP_EXTEND),
23238 OPC_RecordChild0,
23239 OPC_Scope, 8,
23240 OPC_CheckPatternPredicate, 53,
23241 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S),
23242 MVT::f64, 1, 1,
23243 8,
23244 OPC_CheckPatternPredicate, 52,
23245 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S),
23246 MVT::f64, 1, 1,
23247 8,
23248 OPC_CheckPatternPredicate, 59,
23249 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S_MM),
23250 MVT::f64, 1, 1,
23251 8,
23252 OPC_CheckPatternPredicate, 63,
23253 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S_MM),
23254 MVT::f64, 1, 1,
23255 0,
23256 24, TARGET_VAL(ISD::FMAXNUM_IEEE),
23257 OPC_RecordChild0,
23258 OPC_RecordChild1,
23259 OPC_SwitchType , 8, MVT::f32,
23260 OPC_CheckPatternPredicate, 15,
23261 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S),
23262 MVT::f32, 2, 16,
23263 8, MVT::f64,
23264 OPC_CheckPatternPredicate, 15,
23265 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_D),
23266 MVT::f64, 2, 16,
23267 0,
23268 24, TARGET_VAL(ISD::FMAXNUM),
23269 OPC_RecordChild0,
23270 OPC_RecordChild1,
23271 OPC_SwitchType , 8, MVT::f32,
23272 OPC_CheckPatternPredicate, 15,
23273 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S),
23274 MVT::f32, 2, 16,
23275 8, MVT::f64,
23276 OPC_CheckPatternPredicate, 15,
23277 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_D),
23278 MVT::f64, 2, 16,
23279 0,
23280 24, TARGET_VAL(ISD::FMINNUM_IEEE),
23281 OPC_RecordChild0,
23282 OPC_RecordChild1,
23283 OPC_SwitchType , 8, MVT::f32,
23284 OPC_CheckPatternPredicate, 15,
23285 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
23286 MVT::f32, 2, 16,
23287 8, MVT::f64,
23288 OPC_CheckPatternPredicate, 15,
23289 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
23290 MVT::f64, 2, 16,
23291 0,
23292 24, TARGET_VAL(ISD::FMINNUM),
23293 OPC_RecordChild0,
23294 OPC_RecordChild1,
23295 OPC_SwitchType , 8, MVT::f32,
23296 OPC_CheckPatternPredicate, 15,
23297 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
23298 MVT::f32, 2, 16,
23299 8, MVT::f64,
23300 OPC_CheckPatternPredicate, 15,
23301 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
23302 MVT::f64, 2, 16,
23303 0,
23304 23, TARGET_VAL(ISD::FCANONICALIZE),
23305 OPC_RecordChild0,
23306 OPC_SwitchType , 8, MVT::f32,
23307 OPC_CheckPatternPredicate, 15,
23308 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
23309 MVT::f32, 2, 0,
23310 8, MVT::f64,
23311 OPC_CheckPatternPredicate, 15,
23312 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
23313 MVT::f64, 2, 0,
23314 0,
23315 67|128,2, TARGET_VAL(MipsISD::VSHF),
23316 OPC_Scope, 80,
23317 OPC_MoveChild0,
23318 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23319 OPC_MoveChild0,
23320 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
23321 OPC_Scope, 34,
23322 OPC_MoveChild0,
23323 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
23324 OPC_RecordChild0,
23325 OPC_CheckChild0TypeI32,
23326 OPC_CheckChild1Same, 0,
23327 OPC_CheckChild2Same, 0,
23328 OPC_CheckChild3Same, 0,
23329 OPC_MoveParent,
23330 OPC_RecordChild1,
23331 OPC_CheckType, MVT::v4i32,
23332 OPC_MoveParent,
23333 OPC_CheckType, MVT::v2i64,
23334 OPC_MoveParent,
23335 OPC_RecordChild1,
23336 OPC_CheckChild2Same, 2,
23337 OPC_CheckType, MVT::v2i64,
23338 OPC_CheckPatternPredicate0,
23339 OPC_CheckComplexPat1, /*#*/1,
23340 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
23341 MVT::v2i64, 2, 10,
23342 34,
23343 OPC_RecordChild0,
23344 OPC_MoveChild1,
23345 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
23346 OPC_RecordChild0,
23347 OPC_CheckChild0TypeI32,
23348 OPC_CheckChild1Same, 1,
23349 OPC_CheckChild2Same, 1,
23350 OPC_CheckChild3Same, 1,
23351 OPC_MoveParent,
23352 OPC_CheckType, MVT::v4i32,
23353 OPC_MoveParent,
23354 OPC_CheckType, MVT::v2i64,
23355 OPC_MoveParent,
23356 OPC_RecordChild1,
23357 OPC_CheckChild2Same, 2,
23358 OPC_CheckType, MVT::v2i64,
23359 OPC_CheckPatternPredicate0,
23360 OPC_CheckComplexPat1, /*#*/0,
23361 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
23362 MVT::v2i64, 2, 23,
23363 0,
23364 71,
23365 OPC_RecordChild0,
23366 OPC_SwitchType , 15, MVT::v16i8,
23367 OPC_CheckChild0Type, MVT::v16i8,
23368 OPC_RecordChild1,
23369 OPC_CheckChild2Same, 1,
23370 OPC_CheckPatternPredicate0,
23371 OPC_CheckComplexPat, /*CP*/28, /*#*/0,
23372 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_B),
23373 MVT::v16i8, 2, 32,
23374 15, MVT::v8i16,
23375 OPC_CheckChild0Type, MVT::v8i16,
23376 OPC_RecordChild1,
23377 OPC_CheckChild2Same, 1,
23378 OPC_CheckPatternPredicate0,
23379 OPC_CheckComplexPat, /*CP*/29, /*#*/0,
23380 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_H),
23381 MVT::v8i16, 2, 32,
23382 15, MVT::v4i32,
23383 OPC_CheckChild0Type, MVT::v4i32,
23384 OPC_RecordChild1,
23385 OPC_CheckChild2Same, 1,
23386 OPC_CheckPatternPredicate0,
23387 OPC_CheckComplexPat, /*CP*/30, /*#*/0,
23388 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_W),
23389 MVT::v4i32, 2, 32,
23390 15, MVT::v2i64,
23391 OPC_CheckChild0Type, MVT::v2i64,
23392 OPC_RecordChild1,
23393 OPC_CheckChild2Same, 1,
23394 OPC_CheckPatternPredicate0,
23395 OPC_CheckComplexPat, /*CP*/31, /*#*/0,
23396 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_D),
23397 MVT::v2i64, 2, 32,
23398 0,
23399 111,
23400 OPC_MoveChild0,
23401 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
23402 OPC_RecordChild0,
23403 OPC_CheckChild0TypeI32,
23404 OPC_CheckChild1Same, 0,
23405 OPC_CheckChild2Same, 0,
23406 OPC_CheckChild3Same, 0,
23407 OPC_Scope, 80,
23408 OPC_MoveChild4,
23409 OPC_CheckSame, 0,
23410 OPC_MoveSibling5,
23411 OPC_CheckSame, 0,
23412 OPC_MoveSibling6,
23413 OPC_CheckSame, 0,
23414 OPC_MoveSibling7,
23415 OPC_CheckSame, 0,
23416 OPC_Scope, 48,
23417 OPC_MoveSibling, 8,
23418 OPC_CheckSame, 0,
23419 OPC_MoveSibling, 9,
23420 OPC_CheckSame, 0,
23421 OPC_MoveSibling, 10,
23422 OPC_CheckSame, 0,
23423 OPC_MoveSibling, 11,
23424 OPC_CheckSame, 0,
23425 OPC_MoveSibling, 12,
23426 OPC_CheckSame, 0,
23427 OPC_MoveSibling, 13,
23428 OPC_CheckSame, 0,
23429 OPC_MoveSibling, 14,
23430 OPC_CheckSame, 0,
23431 OPC_MoveSibling, 15,
23432 OPC_CheckSame, 0,
23433 OPC_MoveParent,
23434 OPC_CheckType, MVT::v16i8,
23435 OPC_MoveParent,
23436 OPC_RecordChild1,
23437 OPC_CheckChild2Same, 1,
23438 OPC_CheckType, MVT::v16i8,
23439 OPC_CheckPatternPredicate0,
23440 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_B),
23441 MVT::v16i8, 2, 3,
23442 16,
23443 OPC_MoveParent,
23444 OPC_CheckType, MVT::v8i16,
23445 OPC_MoveParent,
23446 OPC_RecordChild1,
23447 OPC_CheckChild2Same, 1,
23448 OPC_CheckType, MVT::v8i16,
23449 OPC_CheckPatternPredicate0,
23450 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_H),
23451 MVT::v8i16, 2, 3,
23452 0,
23453 15,
23454 OPC_CheckType, MVT::v4i32,
23455 OPC_MoveParent,
23456 OPC_RecordChild1,
23457 OPC_CheckChild2Same, 1,
23458 OPC_CheckType, MVT::v4i32,
23459 OPC_CheckPatternPredicate0,
23460 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_W),
23461 MVT::v4i32, 2, 3,
23462 0,
23463 55,
23464 OPC_RecordChild0,
23465 OPC_SwitchType , 11, MVT::v16i8,
23466 OPC_CheckChild0Type, MVT::v16i8,
23467 OPC_RecordChild1,
23468 OPC_RecordChild2,
23469 OPC_CheckPatternPredicate0,
23470 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_B),
23471 MVT::v16i8, 3, 31,
23472 11, MVT::v8i16,
23473 OPC_CheckChild0Type, MVT::v8i16,
23474 OPC_RecordChild1,
23475 OPC_RecordChild2,
23476 OPC_CheckPatternPredicate0,
23477 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_H),
23478 MVT::v8i16, 3, 31,
23479 11, MVT::v4i32,
23480 OPC_CheckChild0Type, MVT::v4i32,
23481 OPC_RecordChild1,
23482 OPC_RecordChild2,
23483 OPC_CheckPatternPredicate0,
23484 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_W),
23485 MVT::v4i32, 3, 31,
23486 11, MVT::v2i64,
23487 OPC_CheckChild0Type, MVT::v2i64,
23488 OPC_RecordChild1,
23489 OPC_RecordChild2,
23490 OPC_CheckPatternPredicate0,
23491 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_D),
23492 MVT::v2i64, 3, 31,
23493 0,
23494 0,
23495 96, TARGET_VAL(MipsISD::INSVE),
23496 OPC_RecordChild0,
23497 OPC_RecordChild1,
23498 OPC_MoveChild1,
23499 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23500 OPC_Scope, 21,
23501 OPC_CheckPredicate, 15,
23502 OPC_MoveParent,
23503 OPC_RecordChild2,
23504 OPC_RecordChild3,
23505 OPC_MoveChild3,
23506 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23507 OPC_CheckPredicate7,
23508 OPC_MoveParent,
23509 OPC_CheckType, MVT::v16i8,
23510 OPC_CheckPatternPredicate0,
23511 OPC_EmitConvertToTarget3,
23512 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_B),
23513 MVT::v16i8, 4, 101,
23514 21,
23515 OPC_CheckPredicate, 18,
23516 OPC_MoveParent,
23517 OPC_RecordChild2,
23518 OPC_RecordChild3,
23519 OPC_MoveChild3,
23520 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23521 OPC_CheckPredicate7,
23522 OPC_MoveParent,
23523 OPC_CheckType, MVT::v8i16,
23524 OPC_CheckPatternPredicate0,
23525 OPC_EmitConvertToTarget3,
23526 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_H),
23527 MVT::v8i16, 4, 101,
23528 21,
23529 OPC_CheckPredicate, 22,
23530 OPC_MoveParent,
23531 OPC_RecordChild2,
23532 OPC_RecordChild3,
23533 OPC_MoveChild3,
23534 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23535 OPC_CheckPredicate7,
23536 OPC_MoveParent,
23537 OPC_CheckType, MVT::v4i32,
23538 OPC_CheckPatternPredicate0,
23539 OPC_EmitConvertToTarget3,
23540 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_W),
23541 MVT::v4i32, 4, 101,
23542 21,
23543 OPC_CheckPredicate, 26,
23544 OPC_MoveParent,
23545 OPC_RecordChild2,
23546 OPC_RecordChild3,
23547 OPC_MoveChild3,
23548 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23549 OPC_CheckPredicate7,
23550 OPC_MoveParent,
23551 OPC_CheckType, MVT::v2i64,
23552 OPC_CheckPatternPredicate0,
23553 OPC_EmitConvertToTarget3,
23554 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_D),
23555 MVT::v2i64, 4, 101,
23556 0,
23557 123|128,1, TARGET_VAL(ISD::VSELECT),
23558 OPC_RecordChild0,
23559 OPC_Scope, 28,
23560 OPC_RecordChild1,
23561 OPC_RecordChild2,
23562 OPC_SwitchType , 10, MVT::v16i8,
23563 OPC_CheckPatternPredicate0,
23564 OPC_CheckComplexPat, /*CP*/32, /*#*/0,
23565 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_B),
23566 MVT::v16i8, 3, 52,
23567 10, MVT::v8i16,
23568 OPC_CheckPatternPredicate0,
23569 OPC_CheckComplexPat, /*CP*/33, /*#*/0,
23570 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_H),
23571 MVT::v8i16, 3, 52,
23572 0,
23573 16,
23574 OPC_CheckChild0Type, MVT::v4i32,
23575 OPC_RecordChild1,
23576 OPC_RecordChild2,
23577 OPC_CheckType, MVT::v4i32,
23578 OPC_CheckPatternPredicate0,
23579 OPC_CheckComplexPat, /*CP*/34, /*#*/0,
23580 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_W),
23581 MVT::v4i32, 3, 52,
23582 16,
23583 OPC_CheckChild0Type, MVT::v2i64,
23584 OPC_RecordChild1,
23585 OPC_RecordChild2,
23586 OPC_CheckType, MVT::v2i64,
23587 OPC_CheckPatternPredicate0,
23588 OPC_CheckComplexPat, /*CP*/35, /*#*/0,
23589 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_D),
23590 MVT::v2i64, 3, 52,
23591 28,
23592 OPC_RecordChild1,
23593 OPC_RecordChild2,
23594 OPC_SwitchType , 10, MVT::v16i8,
23595 OPC_CheckPatternPredicate0,
23596 OPC_CheckComplexPat, /*CP*/36, /*#*/0,
23597 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_B),
23598 MVT::v16i8, 3, 52,
23599 10, MVT::v8i16,
23600 OPC_CheckPatternPredicate0,
23601 OPC_CheckComplexPat, /*CP*/37, /*#*/0,
23602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_H),
23603 MVT::v8i16, 3, 52,
23604 0,
23605 16,
23606 OPC_CheckChild0Type, MVT::v4i32,
23607 OPC_RecordChild1,
23608 OPC_RecordChild2,
23609 OPC_CheckType, MVT::v4i32,
23610 OPC_CheckPatternPredicate0,
23611 OPC_CheckComplexPat, /*CP*/38, /*#*/0,
23612 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_W),
23613 MVT::v4i32, 3, 52,
23614 16,
23615 OPC_CheckChild0Type, MVT::v2i64,
23616 OPC_RecordChild1,
23617 OPC_RecordChild2,
23618 OPC_CheckType, MVT::v2i64,
23619 OPC_CheckPatternPredicate0,
23620 OPC_CheckComplexPat, /*CP*/39, /*#*/0,
23621 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_D),
23622 MVT::v2i64, 3, 52,
23623 67,
23624 OPC_RecordChild1,
23625 OPC_RecordChild2,
23626 OPC_SwitchType , 52, MVT::v16i8,
23627 OPC_CheckPatternPredicate0,
23628 OPC_Scope, 18,
23629 OPC_CheckComplexPat6, /*#*/0,
23630 OPC_Scope, 6,
23631 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZI_B),
23632 MVT::v16i8, 3, 52,
23633 6,
23634 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZI_B),
23635 MVT::v16i8, 3, 58,
23636 0,
23637 8,
23638 OPC_CheckComplexPat6, /*#*/1,
23639 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSELI_B),
23640 MVT::v16i8, 3, 55,
23641 6,
23642 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZ_V),
23643 MVT::v16i8, 3, 2,
23644 6,
23645 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZ_V),
23646 MVT::v16i8, 3, 9,
23647 6,
23648 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_V),
23649 MVT::v16i8, 3, 22,
23650 0,
23651 7, MVT::v8i16,
23652 OPC_CheckPatternPredicate0,
23653 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_H_PSEUDO),
23654 MVT::v8i16, 3, 22,
23655 0,
23656 26,
23657 OPC_CheckChild0Type, MVT::v4i32,
23658 OPC_RecordChild1,
23659 OPC_RecordChild2,
23660 OPC_SwitchType , 7, MVT::v4i32,
23661 OPC_CheckPatternPredicate0,
23662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_W_PSEUDO),
23663 MVT::v4i32, 3, 22,
23664 8, 8|128,1,
23665 OPC_CheckPatternPredicate0,
23666 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FW_PSEUDO),
23667 8|128,1, 3, 22,
23668 0,
23669 26,
23670 OPC_CheckChild0Type, MVT::v2i64,
23671 OPC_RecordChild1,
23672 OPC_RecordChild2,
23673 OPC_SwitchType , 7, MVT::v2i64,
23674 OPC_CheckPatternPredicate0,
23675 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_D_PSEUDO),
23676 MVT::v2i64, 3, 22,
23677 8, 26|128,1,
23678 OPC_CheckPatternPredicate0,
23679 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FD_PSEUDO),
23680 26|128,1, 3, 22,
23681 0,
23682 0,
23683 4|128,1, TARGET_VAL(ISD::SMAX),
23684 OPC_RecordChild0,
23685 OPC_RecordChild1,
23686 OPC_SwitchType , 30, MVT::v16i8,
23687 OPC_CheckPatternPredicate0,
23688 OPC_Scope, 9,
23689 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
23690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
23691 MVT::v16i8, 2, 29,
23692 9,
23693 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
23694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
23695 MVT::v16i8, 2, 32,
23696 6,
23697 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_B),
23698 MVT::v16i8, 2, 16,
23699 0,
23700 30, MVT::v8i16,
23701 OPC_CheckPatternPredicate0,
23702 OPC_Scope, 9,
23703 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
23704 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
23705 MVT::v8i16, 2, 29,
23706 9,
23707 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
23708 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
23709 MVT::v8i16, 2, 32,
23710 6,
23711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_H),
23712 MVT::v8i16, 2, 16,
23713 0,
23714 30, MVT::v4i32,
23715 OPC_CheckPatternPredicate0,
23716 OPC_Scope, 9,
23717 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
23718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
23719 MVT::v4i32, 2, 29,
23720 9,
23721 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
23722 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
23723 MVT::v4i32, 2, 32,
23724 6,
23725 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_W),
23726 MVT::v4i32, 2, 16,
23727 0,
23728 30, MVT::v2i64,
23729 OPC_CheckPatternPredicate0,
23730 OPC_Scope, 9,
23731 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
23732 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
23733 MVT::v2i64, 2, 29,
23734 9,
23735 OPC_CheckComplexPat, /*CP*/16, /*#*/0,
23736 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
23737 MVT::v2i64, 2, 32,
23738 6,
23739 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_D),
23740 MVT::v2i64, 2, 16,
23741 0,
23742 0,
23743 2|128,1, TARGET_VAL(ISD::UMAX),
23744 OPC_RecordChild0,
23745 OPC_RecordChild1,
23746 OPC_SwitchType , 30, MVT::v16i8,
23747 OPC_CheckPatternPredicate0,
23748 OPC_Scope, 9,
23749 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
23750 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
23751 MVT::v16i8, 2, 29,
23752 9,
23753 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
23754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
23755 MVT::v16i8, 2, 32,
23756 6,
23757 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_B),
23758 MVT::v16i8, 2, 16,
23759 0,
23760 30, MVT::v8i16,
23761 OPC_CheckPatternPredicate0,
23762 OPC_Scope, 9,
23763 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
23764 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
23765 MVT::v8i16, 2, 29,
23766 9,
23767 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
23768 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
23769 MVT::v8i16, 2, 32,
23770 6,
23771 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_H),
23772 MVT::v8i16, 2, 16,
23773 0,
23774 28, MVT::v4i32,
23775 OPC_CheckPatternPredicate0,
23776 OPC_Scope, 8,
23777 OPC_CheckComplexPat5, /*#*/1,
23778 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
23779 MVT::v4i32, 2, 29,
23780 8,
23781 OPC_CheckComplexPat5, /*#*/0,
23782 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
23783 MVT::v4i32, 2, 32,
23784 6,
23785 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_W),
23786 MVT::v4i32, 2, 16,
23787 0,
23788 30, MVT::v2i64,
23789 OPC_CheckPatternPredicate0,
23790 OPC_Scope, 9,
23791 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
23792 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
23793 MVT::v2i64, 2, 29,
23794 9,
23795 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
23796 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
23797 MVT::v2i64, 2, 32,
23798 6,
23799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_D),
23800 MVT::v2i64, 2, 16,
23801 0,
23802 0,
23803 4|128,1, TARGET_VAL(ISD::SMIN),
23804 OPC_RecordChild0,
23805 OPC_RecordChild1,
23806 OPC_SwitchType , 30, MVT::v16i8,
23807 OPC_CheckPatternPredicate0,
23808 OPC_Scope, 9,
23809 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
23810 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
23811 MVT::v16i8, 2, 29,
23812 9,
23813 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
23814 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
23815 MVT::v16i8, 2, 32,
23816 6,
23817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_B),
23818 MVT::v16i8, 2, 16,
23819 0,
23820 30, MVT::v8i16,
23821 OPC_CheckPatternPredicate0,
23822 OPC_Scope, 9,
23823 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
23824 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
23825 MVT::v8i16, 2, 29,
23826 9,
23827 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
23828 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
23829 MVT::v8i16, 2, 32,
23830 6,
23831 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_H),
23832 MVT::v8i16, 2, 16,
23833 0,
23834 30, MVT::v4i32,
23835 OPC_CheckPatternPredicate0,
23836 OPC_Scope, 9,
23837 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
23838 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
23839 MVT::v4i32, 2, 29,
23840 9,
23841 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
23842 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
23843 MVT::v4i32, 2, 32,
23844 6,
23845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_W),
23846 MVT::v4i32, 2, 16,
23847 0,
23848 30, MVT::v2i64,
23849 OPC_CheckPatternPredicate0,
23850 OPC_Scope, 9,
23851 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
23852 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
23853 MVT::v2i64, 2, 29,
23854 9,
23855 OPC_CheckComplexPat, /*CP*/16, /*#*/0,
23856 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
23857 MVT::v2i64, 2, 32,
23858 6,
23859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_D),
23860 MVT::v2i64, 2, 16,
23861 0,
23862 0,
23863 2|128,1, TARGET_VAL(ISD::UMIN),
23864 OPC_RecordChild0,
23865 OPC_RecordChild1,
23866 OPC_SwitchType , 30, MVT::v16i8,
23867 OPC_CheckPatternPredicate0,
23868 OPC_Scope, 9,
23869 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
23870 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
23871 MVT::v16i8, 2, 29,
23872 9,
23873 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
23874 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
23875 MVT::v16i8, 2, 32,
23876 6,
23877 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_B),
23878 MVT::v16i8, 2, 16,
23879 0,
23880 30, MVT::v8i16,
23881 OPC_CheckPatternPredicate0,
23882 OPC_Scope, 9,
23883 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
23884 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
23885 MVT::v8i16, 2, 29,
23886 9,
23887 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
23888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
23889 MVT::v8i16, 2, 32,
23890 6,
23891 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_H),
23892 MVT::v8i16, 2, 16,
23893 0,
23894 28, MVT::v4i32,
23895 OPC_CheckPatternPredicate0,
23896 OPC_Scope, 8,
23897 OPC_CheckComplexPat5, /*#*/1,
23898 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
23899 MVT::v4i32, 2, 29,
23900 8,
23901 OPC_CheckComplexPat5, /*#*/0,
23902 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
23903 MVT::v4i32, 2, 32,
23904 6,
23905 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_W),
23906 MVT::v4i32, 2, 16,
23907 0,
23908 30, MVT::v2i64,
23909 OPC_CheckPatternPredicate0,
23910 OPC_Scope, 9,
23911 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
23912 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
23913 MVT::v2i64, 2, 29,
23914 9,
23915 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
23916 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
23917 MVT::v2i64, 2, 32,
23918 6,
23919 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_D),
23920 MVT::v2i64, 2, 16,
23921 0,
23922 0,
23923 61, TARGET_VAL(MipsISD::VNOR),
23924 OPC_RecordChild0,
23925 OPC_RecordChild1,
23926 OPC_SwitchType , 28, MVT::v16i8,
23927 OPC_CheckPatternPredicate0,
23928 OPC_Scope, 8,
23929 OPC_CheckComplexPat6, /*#*/1,
23930 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
23931 MVT::v16i8, 2, 29,
23932 8,
23933 OPC_CheckComplexPat6, /*#*/0,
23934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
23935 MVT::v16i8, 2, 32,
23936 6,
23937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V),
23938 MVT::v16i8, 2, 16,
23939 0,
23940 7, MVT::v8i16,
23941 OPC_CheckPatternPredicate0,
23942 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_H_PSEUDO),
23943 MVT::v8i16, 2, 16,
23944 7, MVT::v4i32,
23945 OPC_CheckPatternPredicate0,
23946 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_W_PSEUDO),
23947 MVT::v4i32, 2, 16,
23948 7, MVT::v2i64,
23949 OPC_CheckPatternPredicate0,
23950 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_D_PSEUDO),
23951 MVT::v2i64, 2, 16,
23952 0,
23953 14|128,2, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
23954 OPC_RecordChild0,
23955 OPC_RecordChild1,
23956 OPC_Scope, 115,
23957 OPC_CheckChild1TypeI32,
23958 OPC_RecordChild2,
23959 OPC_Scope, 48,
23960 OPC_MoveChild2,
23961 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23962 OPC_Scope, 13,
23963 OPC_CheckPredicate, 15,
23964 OPC_MoveParent,
23965 OPC_CheckType, MVT::v16i8,
23966 OPC_CheckPatternPredicate0,
23967 OPC_EmitConvertToTarget2,
23968 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B),
23969 MVT::v16i8, 3, 49,
23970 13,
23971 OPC_CheckPredicate, 18,
23972 OPC_MoveParent,
23973 OPC_CheckType, MVT::v8i16,
23974 OPC_CheckPatternPredicate0,
23975 OPC_EmitConvertToTarget2,
23976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H),
23977 MVT::v8i16, 3, 49,
23978 13,
23979 OPC_CheckPredicate, 22,
23980 OPC_MoveParent,
23981 OPC_CheckType, MVT::v4i32,
23982 OPC_CheckPatternPredicate0,
23983 OPC_EmitConvertToTarget2,
23984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W),
23985 MVT::v4i32, 3, 49,
23986 0,
23987 30,
23988 OPC_CheckChild2TypeI32,
23989 OPC_SwitchType , 7, MVT::v16i8,
23990 OPC_CheckPatternPredicate0,
23991 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX_PSEUDO),
23992 MVT::v16i8, 3, 22,
23993 7, MVT::v8i16,
23994 OPC_CheckPatternPredicate0,
23995 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX_PSEUDO),
23996 MVT::v8i16, 3, 22,
23997 7, MVT::v4i32,
23998 OPC_CheckPatternPredicate0,
23999 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX_PSEUDO),
24000 MVT::v4i32, 3, 22,
24001 0,
24002 30,
24003 OPC_CheckChild2TypeI64,
24004 OPC_SwitchType , 7, MVT::v16i8,
24005 OPC_CheckPatternPredicate0,
24006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX64_PSEUDO),
24007 MVT::v16i8, 3, 22,
24008 7, MVT::v8i16,
24009 OPC_CheckPatternPredicate0,
24010 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX64_PSEUDO),
24011 MVT::v8i16, 3, 22,
24012 7, MVT::v4i32,
24013 OPC_CheckPatternPredicate0,
24014 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX64_PSEUDO),
24015 MVT::v4i32, 3, 22,
24016 0,
24017 0,
24018 45,
24019 OPC_CheckChild1TypeI64,
24020 OPC_RecordChild2,
24021 OPC_Scope, 18,
24022 OPC_MoveChild2,
24023 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24024 OPC_CheckPredicate, 26,
24025 OPC_MoveParent,
24026 OPC_CheckType, MVT::v2i64,
24027 OPC_CheckPatternPredicate, 56,
24028 OPC_EmitConvertToTarget2,
24029 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D),
24030 MVT::v2i64, 3, 49,
24031 10,
24032 OPC_CheckChild2TypeI32,
24033 OPC_CheckType, MVT::v2i64,
24034 OPC_CheckPatternPredicate0,
24035 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX_PSEUDO),
24036 MVT::v2i64, 3, 22,
24037 10,
24038 OPC_CheckChild2TypeI64,
24039 OPC_CheckType, MVT::v2i64,
24040 OPC_CheckPatternPredicate0,
24041 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX64_PSEUDO),
24042 MVT::v2i64, 3, 22,
24043 0,
24044 51,
24045 OPC_CheckChild1Type, MVT::f32,
24046 OPC_RecordChild2,
24047 OPC_Scope, 19,
24048 OPC_MoveChild2,
24049 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24050 OPC_CheckPredicate, 22,
24051 OPC_MoveParent,
24052 OPC_CheckType, 8|128,1,
24053 OPC_CheckPatternPredicate0,
24054 OPC_EmitConvertToTarget2,
24055 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_PSEUDO),
24056 8|128,1, 3, 25,
24057 12,
24058 OPC_CheckChild2TypeI32,
24059 OPC_CheckType, 8|128,1,
24060 OPC_CheckPatternPredicate0,
24061 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX_PSEUDO),
24062 8|128,1, 3, 22,
24063 12,
24064 OPC_CheckChild2TypeI64,
24065 OPC_CheckType, 8|128,1,
24066 OPC_CheckPatternPredicate0,
24067 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX64_PSEUDO),
24068 8|128,1, 3, 22,
24069 0,
24070 51,
24071 OPC_CheckChild1Type, MVT::f64,
24072 OPC_RecordChild2,
24073 OPC_Scope, 19,
24074 OPC_MoveChild2,
24075 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24076 OPC_CheckPredicate, 26,
24077 OPC_MoveParent,
24078 OPC_CheckType, 26|128,1,
24079 OPC_CheckPatternPredicate0,
24080 OPC_EmitConvertToTarget2,
24081 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_PSEUDO),
24082 26|128,1, 3, 25,
24083 12,
24084 OPC_CheckChild2TypeI32,
24085 OPC_CheckType, 26|128,1,
24086 OPC_CheckPatternPredicate0,
24087 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX_PSEUDO),
24088 26|128,1, 3, 22,
24089 12,
24090 OPC_CheckChild2TypeI64,
24091 OPC_CheckType, 26|128,1,
24092 OPC_CheckPatternPredicate0,
24093 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX64_PSEUDO),
24094 26|128,1, 3, 22,
24095 0,
24096 0,
24097 38, TARGET_VAL(MipsISD::SHF),
24098 OPC_RecordChild0,
24099 OPC_MoveChild0,
24100 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24101 OPC_CheckPredicate, 47,
24102 OPC_MoveParent,
24103 OPC_RecordChild1,
24104 OPC_SwitchType , 7, MVT::v16i8,
24105 OPC_CheckPatternPredicate0,
24106 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_B),
24107 MVT::v16i8, 2, 3,
24108 7, MVT::v8i16,
24109 OPC_CheckPatternPredicate0,
24110 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_H),
24111 MVT::v8i16, 2, 3,
24112 7, MVT::v4i32,
24113 OPC_CheckPatternPredicate0,
24114 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_W),
24115 MVT::v4i32, 2, 3,
24116 0,
24117 29, TARGET_VAL(MipsISD::SHLL_DSP),
24118 OPC_RecordChild0,
24119 OPC_RecordChild1,
24120 OPC_MoveChild1,
24121 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24122 OPC_MoveParent,
24123 OPC_SwitchType , 8, MVT::v2i16,
24124 OPC_CheckPatternPredicate1,
24125 OPC_EmitConvertToTarget1,
24126 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_PH),
24127 MVT::v2i16, 2, 29,
24128 8, MVT::v4i8,
24129 OPC_CheckPatternPredicate1,
24130 OPC_EmitConvertToTarget1,
24131 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_QB),
24132 MVT::v4i8, 2, 29,
24133 0,
24134 30, TARGET_VAL(MipsISD::SHRA_DSP),
24135 OPC_RecordChild0,
24136 OPC_RecordChild1,
24137 OPC_MoveChild1,
24138 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24139 OPC_MoveParent,
24140 OPC_SwitchType , 8, MVT::v2i16,
24141 OPC_CheckPatternPredicate1,
24142 OPC_EmitConvertToTarget1,
24143 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
24144 MVT::v2i16, 2, 29,
24145 9, MVT::v4i8,
24146 OPC_CheckPatternPredicate, 13,
24147 OPC_EmitConvertToTarget1,
24148 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
24149 MVT::v4i8, 2, 29,
24150 0,
24151 30, TARGET_VAL(MipsISD::SHRL_DSP),
24152 OPC_RecordChild0,
24153 OPC_RecordChild1,
24154 OPC_MoveChild1,
24155 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24156 OPC_MoveParent,
24157 OPC_SwitchType , 9, MVT::v2i16,
24158 OPC_CheckPatternPredicate, 13,
24159 OPC_EmitConvertToTarget1,
24160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
24161 MVT::v2i16, 2, 29,
24162 8, MVT::v4i8,
24163 OPC_CheckPatternPredicate1,
24164 OPC_EmitConvertToTarget1,
24165 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
24166 MVT::v4i8, 2, 29,
24167 0,
24168 14|128,1, TARGET_VAL(ISD::BUILD_VECTOR),
24169 OPC_RecordChild0,
24170 OPC_Scope, 88,
24171 OPC_CheckChild0TypeI32,
24172 OPC_CheckChild1Same, 0,
24173 OPC_CheckChild2Same, 0,
24174 OPC_CheckChild3Same, 0,
24175 OPC_Scope, 68,
24176 OPC_MoveChild4,
24177 OPC_CheckSame, 0,
24178 OPC_MoveSibling5,
24179 OPC_CheckSame, 0,
24180 OPC_MoveSibling6,
24181 OPC_CheckSame, 0,
24182 OPC_MoveSibling7,
24183 OPC_CheckSame, 0,
24184 OPC_Scope, 42,
24185 OPC_MoveSibling, 8,
24186 OPC_CheckSame, 0,
24187 OPC_MoveSibling, 9,
24188 OPC_CheckSame, 0,
24189 OPC_MoveSibling, 10,
24190 OPC_CheckSame, 0,
24191 OPC_MoveSibling, 11,
24192 OPC_CheckSame, 0,
24193 OPC_MoveSibling, 12,
24194 OPC_CheckSame, 0,
24195 OPC_MoveSibling, 13,
24196 OPC_CheckSame, 0,
24197 OPC_MoveSibling, 14,
24198 OPC_CheckSame, 0,
24199 OPC_MoveSibling, 15,
24200 OPC_CheckSame, 0,
24201 OPC_MoveParent,
24202 OPC_CheckType, MVT::v16i8,
24203 OPC_CheckPatternPredicate0,
24204 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_B),
24205 MVT::v16i8, 1, 1,
24206 10,
24207 OPC_MoveParent,
24208 OPC_CheckType, MVT::v8i16,
24209 OPC_CheckPatternPredicate0,
24210 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_H),
24211 MVT::v8i16, 1, 1,
24212 0,
24213 9,
24214 OPC_CheckType, MVT::v4i32,
24215 OPC_CheckPatternPredicate0,
24216 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_W),
24217 MVT::v4i32, 1, 1,
24218 0,
24219 13,
24220 OPC_CheckChild0TypeI64,
24221 OPC_CheckChild1Same, 0,
24222 OPC_CheckType, MVT::v2i64,
24223 OPC_CheckPatternPredicate, 56,
24224 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_D),
24225 MVT::v2i64, 1, 1,
24226 19,
24227 OPC_CheckChild0Type, MVT::f32,
24228 OPC_CheckChild1Same, 0,
24229 OPC_CheckChild2Same, 0,
24230 OPC_CheckChild3Same, 0,
24231 OPC_CheckType, 8|128,1,
24232 OPC_CheckPatternPredicate0,
24233 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FW_PSEUDO),
24234 8|128,1, 1, 1,
24235 15,
24236 OPC_CheckChild0Type, MVT::f64,
24237 OPC_CheckChild1Same, 0,
24238 OPC_CheckType, 26|128,1,
24239 OPC_CheckPatternPredicate0,
24240 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FD_PSEUDO),
24241 26|128,1, 1, 1,
24242 0,
24243 21, TARGET_VAL(ISD::FP_TO_SINT),
24244 OPC_RecordChild0,
24245 OPC_SwitchType , 7, MVT::v4i32,
24246 OPC_CheckPatternPredicate0,
24247 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_W),
24248 MVT::v4i32, 1, 1,
24249 7, MVT::v2i64,
24250 OPC_CheckPatternPredicate0,
24251 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_D),
24252 MVT::v2i64, 1, 1,
24253 0,
24254 21, TARGET_VAL(ISD::FP_TO_UINT),
24255 OPC_RecordChild0,
24256 OPC_SwitchType , 7, MVT::v4i32,
24257 OPC_CheckPatternPredicate0,
24258 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_W),
24259 MVT::v4i32, 1, 1,
24260 7, MVT::v2i64,
24261 OPC_CheckPatternPredicate0,
24262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_D),
24263 MVT::v2i64, 1, 1,
24264 0,
24265 40, TARGET_VAL(MipsISD::ILVEV),
24266 OPC_RecordChild0,
24267 OPC_RecordChild1,
24268 OPC_SwitchType , 7, MVT::v16i8,
24269 OPC_CheckPatternPredicate0,
24270 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_B),
24271 MVT::v16i8, 2, 16,
24272 7, MVT::v8i16,
24273 OPC_CheckPatternPredicate0,
24274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_H),
24275 MVT::v8i16, 2, 16,
24276 7, MVT::v4i32,
24277 OPC_CheckPatternPredicate0,
24278 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_W),
24279 MVT::v4i32, 2, 16,
24280 7, MVT::v2i64,
24281 OPC_CheckPatternPredicate0,
24282 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_D),
24283 MVT::v2i64, 2, 16,
24284 0,
24285 40, TARGET_VAL(MipsISD::ILVL),
24286 OPC_RecordChild0,
24287 OPC_RecordChild1,
24288 OPC_SwitchType , 7, MVT::v16i8,
24289 OPC_CheckPatternPredicate0,
24290 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_B),
24291 MVT::v16i8, 2, 16,
24292 7, MVT::v8i16,
24293 OPC_CheckPatternPredicate0,
24294 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_H),
24295 MVT::v8i16, 2, 16,
24296 7, MVT::v4i32,
24297 OPC_CheckPatternPredicate0,
24298 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_W),
24299 MVT::v4i32, 2, 16,
24300 7, MVT::v2i64,
24301 OPC_CheckPatternPredicate0,
24302 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_D),
24303 MVT::v2i64, 2, 16,
24304 0,
24305 40, TARGET_VAL(MipsISD::ILVOD),
24306 OPC_RecordChild0,
24307 OPC_RecordChild1,
24308 OPC_SwitchType , 7, MVT::v16i8,
24309 OPC_CheckPatternPredicate0,
24310 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_B),
24311 MVT::v16i8, 2, 16,
24312 7, MVT::v8i16,
24313 OPC_CheckPatternPredicate0,
24314 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_H),
24315 MVT::v8i16, 2, 16,
24316 7, MVT::v4i32,
24317 OPC_CheckPatternPredicate0,
24318 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_W),
24319 MVT::v4i32, 2, 16,
24320 7, MVT::v2i64,
24321 OPC_CheckPatternPredicate0,
24322 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_D),
24323 MVT::v2i64, 2, 16,
24324 0,
24325 40, TARGET_VAL(MipsISD::ILVR),
24326 OPC_RecordChild0,
24327 OPC_RecordChild1,
24328 OPC_SwitchType , 7, MVT::v16i8,
24329 OPC_CheckPatternPredicate0,
24330 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_B),
24331 MVT::v16i8, 2, 16,
24332 7, MVT::v8i16,
24333 OPC_CheckPatternPredicate0,
24334 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_H),
24335 MVT::v8i16, 2, 16,
24336 7, MVT::v4i32,
24337 OPC_CheckPatternPredicate0,
24338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_W),
24339 MVT::v4i32, 2, 16,
24340 7, MVT::v2i64,
24341 OPC_CheckPatternPredicate0,
24342 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_D),
24343 MVT::v2i64, 2, 16,
24344 0,
24345 40, TARGET_VAL(MipsISD::PCKEV),
24346 OPC_RecordChild0,
24347 OPC_RecordChild1,
24348 OPC_SwitchType , 7, MVT::v16i8,
24349 OPC_CheckPatternPredicate0,
24350 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_B),
24351 MVT::v16i8, 2, 16,
24352 7, MVT::v8i16,
24353 OPC_CheckPatternPredicate0,
24354 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_H),
24355 MVT::v8i16, 2, 16,
24356 7, MVT::v4i32,
24357 OPC_CheckPatternPredicate0,
24358 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_W),
24359 MVT::v4i32, 2, 16,
24360 7, MVT::v2i64,
24361 OPC_CheckPatternPredicate0,
24362 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_D),
24363 MVT::v2i64, 2, 16,
24364 0,
24365 40, TARGET_VAL(MipsISD::PCKOD),
24366 OPC_RecordChild0,
24367 OPC_RecordChild1,
24368 OPC_SwitchType , 7, MVT::v16i8,
24369 OPC_CheckPatternPredicate0,
24370 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_B),
24371 MVT::v16i8, 2, 16,
24372 7, MVT::v8i16,
24373 OPC_CheckPatternPredicate0,
24374 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_H),
24375 MVT::v8i16, 2, 16,
24376 7, MVT::v4i32,
24377 OPC_CheckPatternPredicate0,
24378 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_W),
24379 MVT::v4i32, 2, 16,
24380 7, MVT::v2i64,
24381 OPC_CheckPatternPredicate0,
24382 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_D),
24383 MVT::v2i64, 2, 16,
24384 0,
24385 121|128,1, TARGET_VAL(MipsISD::SELECT_CC_DSP),
24386 OPC_RecordChild0,
24387 OPC_Scope, 122,
24388 OPC_CheckChild0Type, MVT::v2i16,
24389 OPC_RecordChild1,
24390 OPC_RecordChild2,
24391 OPC_RecordChild3,
24392 OPC_MoveChild4,
24393 OPC_Scope, 18,
24394 OPC_CheckCondCode, ISD::SETEQ,
24395 OPC_MoveParent,
24396 OPC_CheckType, MVT::v2i16,
24397 OPC_CheckPatternPredicate1,
24398 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
24399 MVT::v2i16, 2, 16,
24400 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24401 MVT::v2i16, 3, 61,
24402 18,
24403 OPC_CheckCondCode, ISD::SETLT,
24404 OPC_MoveParent,
24405 OPC_CheckType, MVT::v2i16,
24406 OPC_CheckPatternPredicate1,
24407 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
24408 MVT::v2i16, 2, 16,
24409 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24410 MVT::v2i16, 3, 61,
24411 18,
24412 OPC_CheckCondCode, ISD::SETLE,
24413 OPC_MoveParent,
24414 OPC_CheckType, MVT::v2i16,
24415 OPC_CheckPatternPredicate1,
24416 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
24417 MVT::v2i16, 2, 16,
24418 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24419 MVT::v2i16, 3, 61,
24420 18,
24421 OPC_CheckCondCode, ISD::SETNE,
24422 OPC_MoveParent,
24423 OPC_CheckType, MVT::v2i16,
24424 OPC_CheckPatternPredicate1,
24425 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
24426 MVT::v2i16, 2, 16,
24427 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24428 MVT::v2i16, 3, 40,
24429 18,
24430 OPC_CheckCondCode, ISD::SETGE,
24431 OPC_MoveParent,
24432 OPC_CheckType, MVT::v2i16,
24433 OPC_CheckPatternPredicate1,
24434 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
24435 MVT::v2i16, 2, 16,
24436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24437 MVT::v2i16, 3, 40,
24438 18,
24439 OPC_CheckCondCode, ISD::SETGT,
24440 OPC_MoveParent,
24441 OPC_CheckType, MVT::v2i16,
24442 OPC_CheckPatternPredicate1,
24443 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
24444 MVT::v2i16, 2, 16,
24445 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24446 MVT::v2i16, 3, 40,
24447 0,
24448 122,
24449 OPC_CheckChild0Type, MVT::v4i8,
24450 OPC_RecordChild1,
24451 OPC_RecordChild2,
24452 OPC_RecordChild3,
24453 OPC_MoveChild4,
24454 OPC_Scope, 18,
24455 OPC_CheckCondCode, ISD::SETEQ,
24456 OPC_MoveParent,
24457 OPC_CheckType, MVT::v4i8,
24458 OPC_CheckPatternPredicate1,
24459 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
24460 MVT::v4i8, 2, 16,
24461 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24462 MVT::v4i8, 3, 61,
24463 18,
24464 OPC_CheckCondCode, ISD::SETULT,
24465 OPC_MoveParent,
24466 OPC_CheckType, MVT::v4i8,
24467 OPC_CheckPatternPredicate1,
24468 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
24469 MVT::v4i8, 2, 16,
24470 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24471 MVT::v4i8, 3, 61,
24472 18,
24473 OPC_CheckCondCode, ISD::SETULE,
24474 OPC_MoveParent,
24475 OPC_CheckType, MVT::v4i8,
24476 OPC_CheckPatternPredicate1,
24477 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
24478 MVT::v4i8, 2, 16,
24479 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24480 MVT::v4i8, 3, 61,
24481 18,
24482 OPC_CheckCondCode, ISD::SETNE,
24483 OPC_MoveParent,
24484 OPC_CheckType, MVT::v4i8,
24485 OPC_CheckPatternPredicate1,
24486 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
24487 MVT::v4i8, 2, 16,
24488 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24489 MVT::v4i8, 3, 40,
24490 18,
24491 OPC_CheckCondCode, ISD::SETUGE,
24492 OPC_MoveParent,
24493 OPC_CheckType, MVT::v4i8,
24494 OPC_CheckPatternPredicate1,
24495 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
24496 MVT::v4i8, 2, 16,
24497 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24498 MVT::v4i8, 3, 40,
24499 18,
24500 OPC_CheckCondCode, ISD::SETUGT,
24501 OPC_MoveParent,
24502 OPC_CheckType, MVT::v4i8,
24503 OPC_CheckPatternPredicate1,
24504 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
24505 MVT::v4i8, 2, 16,
24506 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24507 MVT::v4i8, 3, 40,
24508 0,
24509 0,
24510 109|128,3, TARGET_VAL(MipsISD::SETCC_DSP),
24511 OPC_RecordChild0,
24512 OPC_SwitchType , 114|128,1, MVT::v2i16,
24513 OPC_CheckChild0Type, MVT::v2i16,
24514 OPC_RecordChild1,
24515 OPC_Scope, 38,
24516 OPC_CheckChild2CondCode, ISD::SETEQ,
24517 OPC_CheckPatternPredicate1,
24518 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
24519 MVT::v2i16, 2, 16,
24520 OPC_EmitRegisterI32, Mips::ZERO,
24521 OPC_EmitIntegerI32, 127,
24522 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24523 MVT::i32, 2, 106,
24524 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24525 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24526 MVT::v2i16, 2, 11|128,1,
24527 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24528 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24529 MVT::v2i16, 3, 26|128,1,
24530 38,
24531 OPC_CheckChild2CondCode, ISD::SETLT,
24532 OPC_CheckPatternPredicate1,
24533 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
24534 MVT::v2i16, 2, 16,
24535 OPC_EmitRegisterI32, Mips::ZERO,
24536 OPC_EmitIntegerI32, 127,
24537 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24538 MVT::i32, 2, 106,
24539 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24540 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24541 MVT::v2i16, 2, 11|128,1,
24542 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24543 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24544 MVT::v2i16, 3, 26|128,1,
24545 38,
24546 OPC_CheckChild2CondCode, ISD::SETLE,
24547 OPC_CheckPatternPredicate1,
24548 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
24549 MVT::v2i16, 2, 16,
24550 OPC_EmitRegisterI32, Mips::ZERO,
24551 OPC_EmitIntegerI32, 127,
24552 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24553 MVT::i32, 2, 106,
24554 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24556 MVT::v2i16, 2, 11|128,1,
24557 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24558 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24559 MVT::v2i16, 3, 26|128,1,
24560 39,
24561 OPC_CheckChild2CondCode, ISD::SETNE,
24562 OPC_CheckPatternPredicate1,
24563 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
24564 MVT::v2i16, 2, 16,
24565 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24566 OPC_EmitRegisterI32, Mips::ZERO,
24567 OPC_EmitIntegerI32, 127,
24568 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24569 MVT::i32, 2, 5|128,1,
24570 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24571 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24572 MVT::v2i16, 2, 17|128,1,
24573 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24574 MVT::v2i16, 3, 21|128,1,
24575 39,
24576 OPC_CheckChild2CondCode, ISD::SETGE,
24577 OPC_CheckPatternPredicate1,
24578 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
24579 MVT::v2i16, 2, 16,
24580 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24581 OPC_EmitRegisterI32, Mips::ZERO,
24582 OPC_EmitIntegerI32, 127,
24583 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24584 MVT::i32, 2, 5|128,1,
24585 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24586 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24587 MVT::v2i16, 2, 17|128,1,
24588 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24589 MVT::v2i16, 3, 21|128,1,
24590 39,
24591 OPC_CheckChild2CondCode, ISD::SETGT,
24592 OPC_CheckPatternPredicate1,
24593 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
24594 MVT::v2i16, 2, 16,
24595 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24596 OPC_EmitRegisterI32, Mips::ZERO,
24597 OPC_EmitIntegerI32, 127,
24598 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24599 MVT::i32, 2, 5|128,1,
24600 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24601 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24602 MVT::v2i16, 2, 17|128,1,
24603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24604 MVT::v2i16, 3, 21|128,1,
24605 0,
24606 114|128,1, MVT::v4i8,
24607 OPC_CheckChild0Type, MVT::v4i8,
24608 OPC_RecordChild1,
24609 OPC_Scope, 38,
24610 OPC_CheckChild2CondCode, ISD::SETEQ,
24611 OPC_CheckPatternPredicate1,
24612 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
24613 MVT::v4i8, 2, 16,
24614 OPC_EmitRegisterI32, Mips::ZERO,
24615 OPC_EmitIntegerI32, 127,
24616 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24617 MVT::i32, 2, 106,
24618 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24619 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24620 MVT::v4i8, 2, 11|128,1,
24621 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24622 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24623 MVT::v4i8, 3, 26|128,1,
24624 38,
24625 OPC_CheckChild2CondCode, ISD::SETULT,
24626 OPC_CheckPatternPredicate1,
24627 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
24628 MVT::v4i8, 2, 16,
24629 OPC_EmitRegisterI32, Mips::ZERO,
24630 OPC_EmitIntegerI32, 127,
24631 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24632 MVT::i32, 2, 106,
24633 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24634 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24635 MVT::v4i8, 2, 11|128,1,
24636 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24637 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24638 MVT::v4i8, 3, 26|128,1,
24639 38,
24640 OPC_CheckChild2CondCode, ISD::SETULE,
24641 OPC_CheckPatternPredicate1,
24642 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
24643 MVT::v4i8, 2, 16,
24644 OPC_EmitRegisterI32, Mips::ZERO,
24645 OPC_EmitIntegerI32, 127,
24646 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24647 MVT::i32, 2, 106,
24648 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24649 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24650 MVT::v4i8, 2, 11|128,1,
24651 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24652 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24653 MVT::v4i8, 3, 26|128,1,
24654 39,
24655 OPC_CheckChild2CondCode, ISD::SETNE,
24656 OPC_CheckPatternPredicate1,
24657 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
24658 MVT::v4i8, 2, 16,
24659 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24660 OPC_EmitRegisterI32, Mips::ZERO,
24661 OPC_EmitIntegerI32, 127,
24662 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24663 MVT::i32, 2, 5|128,1,
24664 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24665 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24666 MVT::v4i8, 2, 17|128,1,
24667 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24668 MVT::v4i8, 3, 21|128,1,
24669 39,
24670 OPC_CheckChild2CondCode, ISD::SETUGE,
24671 OPC_CheckPatternPredicate1,
24672 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
24673 MVT::v4i8, 2, 16,
24674 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24675 OPC_EmitRegisterI32, Mips::ZERO,
24676 OPC_EmitIntegerI32, 127,
24677 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24678 MVT::i32, 2, 5|128,1,
24679 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24680 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24681 MVT::v4i8, 2, 17|128,1,
24682 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24683 MVT::v4i8, 3, 21|128,1,
24684 39,
24685 OPC_CheckChild2CondCode, ISD::SETUGT,
24686 OPC_CheckPatternPredicate1,
24687 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
24688 MVT::v4i8, 2, 16,
24689 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24690 OPC_EmitRegisterI32, Mips::ZERO,
24691 OPC_EmitIntegerI32, 127,
24692 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24693 MVT::i32, 2, 5|128,1,
24694 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24695 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24696 MVT::v4i8, 2, 17|128,1,
24697 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24698 MVT::v4i8, 3, 21|128,1,
24699 0,
24700 0,
24701 29, TARGET_VAL(ISD::UINT_TO_FP),
24702 OPC_RecordChild0,
24703 OPC_SwitchType , 10, 8|128,1,
24704 OPC_CheckChild0Type, MVT::v4i32,
24705 OPC_CheckPatternPredicate0,
24706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_W),
24707 8|128,1, 1, 1,
24708 10, 26|128,1,
24709 OPC_CheckChild0Type, MVT::v2i64,
24710 OPC_CheckPatternPredicate0,
24711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_D),
24712 26|128,1, 1, 1,
24713 0,
24714 25, TARGET_VAL(ISD::FLOG2),
24715 OPC_RecordChild0,
24716 OPC_SwitchType , 8, 8|128,1,
24717 OPC_CheckPatternPredicate0,
24718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_W),
24719 8|128,1, 1, 1,
24720 8, 26|128,1,
24721 OPC_CheckPatternPredicate0,
24722 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_D),
24723 26|128,1, 1, 1,
24724 0,
24725 27, TARGET_VAL(ISD::FMA),
24726 OPC_RecordChild0,
24727 OPC_RecordChild1,
24728 OPC_RecordChild2,
24729 OPC_SwitchType , 8, 8|128,1,
24730 OPC_CheckPatternPredicate0,
24731 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
24732 8|128,1, 3, 31,
24733 8, 26|128,1,
24734 OPC_CheckPatternPredicate0,
24735 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
24736 26|128,1, 3, 31,
24737 0,
24738 27, TARGET_VAL(MipsISD::FMS),
24739 OPC_RecordChild0,
24740 OPC_RecordChild1,
24741 OPC_RecordChild2,
24742 OPC_SwitchType , 8, 8|128,1,
24743 OPC_CheckPatternPredicate0,
24744 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
24745 8|128,1, 3, 31,
24746 8, 26|128,1,
24747 OPC_CheckPatternPredicate0,
24748 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
24749 26|128,1, 3, 31,
24750 0,
24751 25, TARGET_VAL(ISD::FRINT),
24752 OPC_RecordChild0,
24753 OPC_SwitchType , 8, 8|128,1,
24754 OPC_CheckPatternPredicate0,
24755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_W),
24756 8|128,1, 1, 1,
24757 8, 26|128,1,
24758 OPC_CheckPatternPredicate0,
24759 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_D),
24760 26|128,1, 1, 1,
24761 0,
24762 25, TARGET_VAL(ISD::FEXP2),
24763 OPC_RecordChild0,
24764 OPC_SwitchType , 8, 8|128,1,
24765 OPC_CheckPatternPredicate0,
24766 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W_1_PSEUDO),
24767 8|128,1, 1, 1,
24768 8, 26|128,1,
24769 OPC_CheckPatternPredicate0,
24770 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D_1_PSEUDO),
24771 26|128,1, 1, 1,
24772 0,
24773 0,
24774 }; // Total Array size is 47998 bytes
24775
24776 static const uint8_t OperandLists[] = {
24777 /* 0 */ 0, 0,
24778 /* 2 */ 2, 1, 0,
24779 /* 5 */ 2, 3, 1, 0,
24780 /* 9 */ 1, 2, 0,
24781 /* 12 */ 1, 3, 0,
24782 /* 15 */ 2, 0, 1,
24783 /* 18 */ 2, 3, 0, 1,
24784 /* 22 */ 0, 2, 1,
24785 /* 25 */ 0, 3, 1,
24786 /* 28 */ 1, 0, 2,
24787 /* 31 */ 0, 1, 2,
24788 /* 34 */ 3, 1, 2,
24789 /* 37 */ 1, 3, 2,
24790 /* 40 */ 4, 3, 2,
24791 /* 43 */ 3, 4, 2,
24792 /* 46 */ 1, 0, 3,
24793 /* 49 */ 0, 1, 3,
24794 /* 52 */ 2, 1, 3,
24795 /* 55 */ 0, 2, 3,
24796 /* 58 */ 1, 2, 3,
24797 /* 61 */ 4, 2, 3,
24798 /* 64 */ 1, 4, 3,
24799 /* 67 */ 2, 4, 3,
24800 /* 70 */ 1, 5, 3,
24801 /* 73 */ 2, 5, 3,
24802 /* 76 */ 0, 4, 5, 3,
24803 /* 80 */ 2, 6, 3,
24804 /* 83 */ 5, 6, 3,
24805 /* 86 */ 6, 7, 3,
24806 /* 89 */ 6, 8, 3,
24807 /* 92 */ 2, 3, 0, 4,
24808 /* 96 */ 1, 4,
24809 /* 98 */ 0, 2, 4,
24810 /* 101 */ 0, 1, 2, 4,
24811 /* 105 */ 0, 3, 4,
24812 /* 108 */ 1, 3, 4,
24813 /* 111 */ 2, 3, 4,
24814 /* 114 */ 5, 3, 4,
24815 /* 117 */ 6, 3, 4,
24816 /* 120 */ 2, 3, 0, 5,
24817 /* 124 */ 4, 1, 5,
24818 /* 127 */ 2, 5,
24819 /* 129 */ 2, 3, 5,
24820 /* 132 */ 2, 4, 5,
24821 /* 135 */ 2, 6,
24822 /* 137 */ 4, 6,
24823 /* 139 */ 5, 6,
24824 /* 141 */ 0, 7,
24825 /* 143 */ 2, 7,
24826 /* 145 */ 6, 7,
24827 /* 147 */ 2, 8,
24828 /* 149 */ 2, 3, 8,
24829 /* 152 */ 6, 8,
24830 /* 154 */ 2, 7, 8,
24831 /* 157 */ 0, 9,
24832 /* 159 */ 6, 9,
24833 /* 161 */ 8, 9,
24834 /* 163 */ 0, 10,
24835 /* 165 */ 3, 10,
24836 /* 167 */ 0, 11,
24837 /* 169 */ 7, 11,
24838 /* 171 */ 10, 11,
24839 /* 173 */ 3, 12,
24840 /* 175 */ 8, 13,
24841 /* 177 */ 12, 13,
24842 /* 179 */ 3, 14,
24843 /* 181 */ 9, 15,
24844 };
24845
24846 #undef COVERAGE_IDX_VAL
24847 #undef TARGET_VAL
24848 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable),
24849 OperandLists);
24850}
24851#endif // GET_DAGISEL_BODY
24852
24853#ifdef GET_DAGISEL_DECL
24854bool CheckPatternPredicate(unsigned PredNo) const override;
24855#endif
24856#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
24857bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
24858#if DAGISEL_INLINE
24859 override
24860#endif
24861{
24862 switch (PredNo) {
24863 default: llvm_unreachable("Invalid predicate in table?");
24864 case 0: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
24865 case 1: return (Subtarget->hasDSP());
24866 case 2: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24867 case 3: return (Subtarget->hasMSA());
24868 case 4: return (Subtarget->inMicroMipsMode());
24869 case 5: return (Subtarget->inMips16Mode());
24870 case 6: return (Subtarget->hasDSP()) && (Subtarget->inMicroMipsMode());
24871 case 7: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
24872 case 8: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode());
24873 case 9: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
24874 case 10: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24875 case 11: return (!Subtarget->inMips16Mode());
24876 case 12: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
24877 case 13: return (Subtarget->hasDSPR2());
24878 case 14: return (Subtarget->hasDSPR2()) && (Subtarget->inMicroMipsMode());
24879 case 15: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24880 case 16: return (Subtarget->hasMSA()) && (!Subtarget->isLittle());
24881 case 17: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24882 case 18: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24883 case 19: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24884 case 20: return (Subtarget->hasMSA()) && (Subtarget->isLittle());
24885 case 21: return (Subtarget->isGP64bit()) && (!Subtarget->inMips16Mode());
24886 case 22: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding());
24887 case 23: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24888 case 24: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24889 case 25: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
24890 case 26: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24891 case 27: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
24892 case 28: return (Subtarget->hasCnMips());
24893 case 29: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->useCompactBranches());
24894 case 30: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->useCompactBranches());
24895 case 31: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24896 case 32: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24897 case 33: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
24898 case 34: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24899 case 35: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
24900 case 36: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24901 case 37: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
24902 case 38: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24903 case 39: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24904 case 40: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
24905 case 41: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
24906 case 42: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
24907 case 43: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24908 case 44: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6());
24909 case 45: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit());
24910 case 46: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat());
24911 case 47: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips4_32());
24912 case 48: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24913 case 49: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6());
24914 case 50: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24915 case 51: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24916 case 52: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->inMicroMipsMode());
24917 case 53: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
24918 case 54: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
24919 case 55: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24920 case 56: return (Subtarget->hasMSA()) && (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding());
24921 case 57: return (TM.Options.AllowFPOpFusion == FPOpFusion::Fast) && (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
24922 case 58: return (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat());
24923 case 59: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat());
24924 case 60: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24925 case 61: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64());
24926 case 62: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24927 case 63: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit());
24928 case 64: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24929 case 65: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
24930 case 66: return (Subtarget->hasEVA()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
24931 case 67: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24932 case 68: return (Subtarget->hasMSA()) && (Subtarget->isGP64bit());
24933 case 69: return (Subtarget->hasStandardEncoding());
24934 case 70: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (!Subtarget->isR5900());
24935 case 71: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24936 case 72: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24937 case 73: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24938 case 74: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
24939 case 75: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->hasMips4_32());
24940 case 76: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (!Subtarget->inMicroMipsMode());
24941 case 77: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24942 case 78: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat());
24943 case 79: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat());
24944 case 80: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24945 case 81: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24946 case 82: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24947 case 83: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24948 case 84: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (!Subtarget->isR5900());
24949 case 85: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->isR5900());
24950 case 86: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat());
24951 case 87: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding());
24952 case 88: return (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips64r6());
24953 case 89: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24954 case 90: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP());
24955 case 91: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
24956 case 92: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24957 case 93: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
24958 case 94: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
24959 case 95: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
24960 case 96: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
24961 case 97: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
24962 case 98: return (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMips16Mode());
24963 case 99: return (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMips16Mode());
24964 case 100: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
24965 case 101: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat());
24966 case 102: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24967 case 103: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24968 case 104: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24969 case 105: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
24970 case 106: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24971 case 107: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (Subtarget->isGP64bit()) && (!Subtarget->isSingleFloat());
24972 case 108: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24973 case 109: return (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit());
24974 case 110: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit());
24975 case 111: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat());
24976 case 112: return (Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
24977 case 113: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
24978 case 114: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
24979 case 115: return (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
24980 case 116: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24981 case 117: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding());
24982 case 118: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode());
24983 case 119: return (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
24984 case 120: return (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMips16Mode());
24985 case 121: return (Subtarget->isABI_N64()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
24986 case 122: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
24987 case 123: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24988 case 124: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24989 case 125: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24990 case 126: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
24991 case 127: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24992 case 128: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24993 case 129: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!TM.isPositionIndependent());
24994 case 130: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!TM.isPositionIndependent());
24995 case 131: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (TM.isPositionIndependent());
24996 case 132: return (Subtarget->hasDSP()) && (!Subtarget->inMips16Mode());
24997 case 133: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
24998 case 134: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat());
24999 case 135: return (Subtarget->isR5900());
25000 case 136: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isSingleFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
25001 case 137: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat()) && (!Subtarget->hasMips32r6());
25002 case 138: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->isSingleFloat());
25003 }
25004}
25005#endif // GET_DAGISEL_BODY
25006
25007#ifdef GET_DAGISEL_DECL
25008bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
25009#endif
25010#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
25011bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
25012#if DAGISEL_INLINE
25013 override
25014#endif
25015{
25016 switch (PredNo) {
25017 default: llvm_unreachable("Invalid predicate in table?");
25018 case 0: {
25019 // Predicate_immi32Cst7
25020 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25021return isUInt<32>(x: Imm) && Imm == 7;
25022 }
25023 case 1: {
25024 // Predicate_immi32Cst15
25025 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25026return isUInt<32>(x: Imm) && Imm == 15;
25027 }
25028 case 2: {
25029 // Predicate_immi32Cst31
25030 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25031return isUInt<32>(x: Imm) && Imm == 31;
25032 }
25033 case 3: {
25034 // Predicate_immZExt5
25035 // Predicate_timmZExt5
25036 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25037return Imm == (Imm & 0x1f);
25038 }
25039 case 4: {
25040 // Predicate_atomic_cmp_swap_i16
25041 // Predicate_atomic_load_add_i16
25042 // Predicate_atomic_load_aext_16
25043 // Predicate_atomic_load_and_i16
25044 // Predicate_atomic_load_max_i16
25045 // Predicate_atomic_load_min_i16
25046 // Predicate_atomic_load_nand_i16
25047 // Predicate_atomic_load_or_i16
25048 // Predicate_atomic_load_sext_16
25049 // Predicate_atomic_load_sub_i16
25050 // Predicate_atomic_load_umax_i16
25051 // Predicate_atomic_load_umin_i16
25052 // Predicate_atomic_load_xor_i16
25053 // Predicate_atomic_store_16
25054 // Predicate_atomic_swap_i16
25055 // Predicate_extloadi16
25056 // Predicate_sextloadi16
25057 // Predicate_truncstorei16
25058 // Predicate_zextloadi16
25059 SDNode *N = Op.getNode();
25060 (void)N;
25061if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
25062return true;
25063
25064 }
25065 case 5: {
25066 // Predicate_atomic_cmp_swap_i8
25067 // Predicate_atomic_load_add_i8
25068 // Predicate_atomic_load_aext_8
25069 // Predicate_atomic_load_and_i8
25070 // Predicate_atomic_load_max_i8
25071 // Predicate_atomic_load_min_i8
25072 // Predicate_atomic_load_nand_i8
25073 // Predicate_atomic_load_or_i8
25074 // Predicate_atomic_load_sext_8
25075 // Predicate_atomic_load_sub_i8
25076 // Predicate_atomic_load_umax_i8
25077 // Predicate_atomic_load_umin_i8
25078 // Predicate_atomic_load_xor_i8
25079 // Predicate_atomic_store_8
25080 // Predicate_atomic_swap_i8
25081 // Predicate_extloadi8
25082 // Predicate_sextloadi8
25083 // Predicate_truncstorei8
25084 // Predicate_zextloadi8
25085 SDNode *N = Op.getNode();
25086 (void)N;
25087if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
25088return true;
25089
25090 }
25091 case 6: {
25092 // Predicate_anonymous_14046
25093 // Predicate_anonymous_14048
25094 // Predicate_anonymous_14137
25095 // Predicate_anonymous_14139
25096 SDNode *N = Op.getNode();
25097 (void)N;
25098 return N->getFlags().hasNoNaNs();
25099 }
25100 case 7: {
25101 // Predicate_immz
25102 // Predicate_timmz
25103 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25104 (void)N;
25105 return N->getSExtValue() == 0;
25106 }
25107 case 8: {
25108 // Predicate_immSExt16
25109 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25110 (void)N;
25111 return isInt<16>(x: N->getSExtValue());
25112 }
25113 case 9: {
25114 // Predicate_atomic_cmp_swap_i32
25115 // Predicate_atomic_load_add_i32
25116 // Predicate_atomic_load_aext_32
25117 // Predicate_atomic_load_and_i32
25118 // Predicate_atomic_load_max_i32
25119 // Predicate_atomic_load_min_i32
25120 // Predicate_atomic_load_nand_i32
25121 // Predicate_atomic_load_nonext_32
25122 // Predicate_atomic_load_or_i32
25123 // Predicate_atomic_load_sext_32
25124 // Predicate_atomic_load_sub_i32
25125 // Predicate_atomic_load_umax_i32
25126 // Predicate_atomic_load_umin_i32
25127 // Predicate_atomic_load_xor_i32
25128 // Predicate_atomic_store_32
25129 // Predicate_atomic_swap_i32
25130 // Predicate_extloadi32
25131 // Predicate_sextloadi32
25132 // Predicate_truncstorei32
25133 // Predicate_zextloadi32
25134 SDNode *N = Op.getNode();
25135 (void)N;
25136if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
25137return true;
25138
25139 }
25140 case 10: {
25141 // Predicate_store
25142 SDNode *N = Op.getNode();
25143 (void)N;
25144 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
25145return true;
25146
25147 }
25148 case 11: {
25149 // Predicate_immSExt16Plus1
25150 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25151 (void)N;
25152
25153 return isInt<17>(x: N->getSExtValue()) && isInt<16>(x: N->getSExtValue() + 1);
25154
25155 }
25156 case 12: {
25157 // Predicate_immZExt16
25158 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25159 (void)N;
25160
25161 if (N->getValueType(ResNo: 0) == MVT::i32)
25162 return (uint32_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
25163 else
25164 return (uint64_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
25165
25166 }
25167 case 13: {
25168 // Predicate_unindexedstore
25169 SDNode *N = Op.getNode();
25170 (void)N;
25171if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
25172return true;
25173
25174 }
25175 case 14: {
25176 // Predicate_vsplati64_imm_eq_63
25177 SDNode *N = Op.getNode();
25178 (void)N;
25179
25180 APInt Imm;
25181 SDNode *BV = N->getOperand(Num: 0).getNode();
25182 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
25183
25184 return selectVSplat(N: BV, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
25185 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
25186
25187 }
25188 case 15: {
25189 // Predicate_immZExt4
25190 // Predicate_immZExt4Ptr
25191 // Predicate_timmZExt4
25192 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25193return isUInt<4>(x: Imm);
25194 }
25195 case 16: {
25196 // Predicate_immZExt6
25197 // Predicate_timmZExt6
25198 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25199return Imm == (Imm & 0x3f);
25200 }
25201 case 17: {
25202 // Predicate_atomic_cmp_swap_i64
25203 // Predicate_atomic_load_add_i64
25204 // Predicate_atomic_load_and_i64
25205 // Predicate_atomic_load_max_i64
25206 // Predicate_atomic_load_min_i64
25207 // Predicate_atomic_load_nand_i64
25208 // Predicate_atomic_load_nonext_64
25209 // Predicate_atomic_load_or_i64
25210 // Predicate_atomic_load_sub_i64
25211 // Predicate_atomic_load_umax_i64
25212 // Predicate_atomic_load_umin_i64
25213 // Predicate_atomic_load_xor_i64
25214 // Predicate_atomic_store_64
25215 // Predicate_atomic_swap_i64
25216 SDNode *N = Op.getNode();
25217 (void)N;
25218if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
25219return true;
25220
25221 }
25222 case 18: {
25223 // Predicate_immZExt3
25224 // Predicate_immZExt3Ptr
25225 // Predicate_timmZExt3
25226 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25227return isUInt<3>(x: Imm);
25228 }
25229 case 19: {
25230 // Predicate_zext_nneg
25231 SDNode *N = Op.getNode();
25232 (void)N;
25233
25234 return N->getFlags().hasNonNeg();
25235
25236 }
25237 case 20: {
25238 // Predicate_sextload
25239 SDNode *N = Op.getNode();
25240 (void)N;
25241if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
25242return true;
25243
25244 }
25245 case 21: {
25246 // Predicate_zextload
25247 SDNode *N = Op.getNode();
25248 (void)N;
25249if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
25250return true;
25251
25252 }
25253 case 22: {
25254 // Predicate_immZExt2
25255 // Predicate_immZExt2Ptr
25256 // Predicate_timmZExt2
25257 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25258return isUInt<2>(x: Imm);
25259 }
25260 case 23: {
25261 // Predicate_load
25262 SDNode *N = Op.getNode();
25263 (void)N;
25264if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
25265return true;
25266
25267 }
25268 case 24: {
25269 // Predicate_shiftMask_32
25270 SDNode *N = Op.getNode();
25271 (void)N;
25272
25273 return isUnneededShiftMask(N, ShAmtBits: 5);
25274
25275 }
25276 case 25: {
25277 // Predicate_shiftMask_64
25278 SDNode *N = Op.getNode();
25279 (void)N;
25280
25281 return isUnneededShiftMask(N, ShAmtBits: 6);
25282
25283 }
25284 case 26: {
25285 // Predicate_immZExt1Ptr
25286 // Predicate_timmZExt1
25287 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25288return isUInt<1>(x: Imm);
25289 }
25290 case 27: {
25291 // Predicate_atomic_load_aext
25292 SDNode *N = Op.getNode();
25293 (void)N;
25294if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
25295return true;
25296
25297 }
25298 case 28: {
25299 // Predicate_atomic_load_sext
25300 SDNode *N = Op.getNode();
25301 (void)N;
25302if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
25303return true;
25304
25305 }
25306 case 29: {
25307 // Predicate_unindexedload
25308 SDNode *N = Op.getNode();
25309 (void)N;
25310if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
25311return true;
25312
25313 }
25314 case 30: {
25315 // Predicate_truncstore
25316 SDNode *N = Op.getNode();
25317 (void)N;
25318 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
25319return true;
25320
25321 }
25322 case 31: {
25323 // Predicate_extload
25324 SDNode *N = Op.getNode();
25325 (void)N;
25326if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
25327return true;
25328
25329 }
25330 case 32: {
25331 // Predicate_immZExt5_64
25332 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25333 return Imm == (Imm & 0x1f);
25334 }
25335 case 33: {
25336 // Predicate_extloadi1
25337 SDNode *N = Op.getNode();
25338 (void)N;
25339if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i1) return false;
25340return true;
25341
25342 }
25343 case 34: {
25344 // Predicate_imm32ZExt16
25345 const APInt & Imm = Op->getAsAPIntVal();
25346
25347 return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();
25348
25349 }
25350 case 35: {
25351 // Predicate_immZExt5Plus1
25352 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25353 (void)N;
25354
25355 return isUInt<5>(x: N->getZExtValue() - 1);
25356
25357 }
25358 case 36: {
25359 // Predicate_atomic_load_nonext
25360 SDNode *N = Op.getNode();
25361 (void)N;
25362if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
25363return true;
25364
25365 }
25366 case 37: {
25367 // Predicate_LUiPred
25368 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25369 (void)N;
25370
25371 int64_t Val = N->getSExtValue();
25372 return !isInt<16>(x: Val) && isInt<32>(x: Val) && !(Val & 0xffff);
25373
25374 }
25375 case 38: {
25376 // Predicate_ORiPred
25377 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25378 (void)N;
25379
25380 return isUInt<16>(x: N->getZExtValue()) && !isInt<16>(x: N->getSExtValue());
25381
25382 }
25383 case 39: {
25384 // Predicate_fpimm0
25385 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
25386 (void)N;
25387
25388 return N->isPosZero();
25389
25390 }
25391 case 40: {
25392 // Predicate_PowerOf2LO
25393 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25394 (void)N;
25395
25396 if (N->getValueType(ResNo: 0) == MVT::i64) {
25397 uint64_t Imm = N->getZExtValue();
25398 return isPowerOf2_64(Value: Imm) && (Imm & 0xffffffff) == Imm;
25399 }
25400 else
25401 return false;
25402
25403 }
25404 case 41: {
25405 // Predicate_PowerOf2HI
25406 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25407 (void)N;
25408
25409 if (N->getValueType(ResNo: 0) == MVT::i64) {
25410 uint64_t Imm = N->getZExtValue();
25411 return isPowerOf2_64(Value: Imm) && (Imm & 0xffffffff00000000) == Imm;
25412 }
25413 else
25414 return false;
25415
25416 }
25417 case 42: {
25418 // Predicate_immZExtAndi16
25419 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25420return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
25421 Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
25422 Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
25423 }
25424 case 43: {
25425 // Predicate_immZExt2Shift
25426 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25427return Imm >= 1 && Imm <= 8;
25428 }
25429 case 44: {
25430 // Predicate_immZExt5Plus32
25431 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25432 (void)N;
25433
25434 return isUInt<5>(x: N->getZExtValue() - 32);
25435
25436 }
25437 case 45: {
25438 // Predicate_timmZExt10
25439 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25440return isUInt<10>(x: Imm);
25441 }
25442 case 46: {
25443 // Predicate_timmZExt7
25444 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25445 (void)N;
25446 return isUInt<7>(x: N->getZExtValue());
25447 }
25448 case 47: {
25449 // Predicate_immZExt8
25450 // Predicate_timmZExt8
25451 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25452return isUInt<8>(x: Imm);
25453 }
25454 case 48: {
25455 // Predicate_immZExt2Lsa
25456 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25457return isUInt<2>(x: Imm - 1);
25458 }
25459 case 49: {
25460 // Predicate_LUiORiPred
25461 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25462 (void)N;
25463
25464 int64_t SVal = N->getSExtValue();
25465 return isInt<32>(x: SVal) && (SVal & 0xffff);
25466
25467 }
25468 case 50: {
25469 // Predicate_PowerOf2LO_i32
25470 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25471 (void)N;
25472
25473 if (N->getValueType(ResNo: 0) == MVT::i32) {
25474 uint64_t Imm = N->getZExtValue();
25475 return isPowerOf2_32(Value: Imm) && isUInt<32>(x: Imm);
25476 }
25477 else
25478 return false;
25479
25480 }
25481 case 51: {
25482 // Predicate_immZExt16_64
25483 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25484 (void)N;
25485 return isUInt<16>(x: N->getZExtValue());
25486 }
25487 case 52: {
25488 // Predicate_immZExt5Plus33
25489 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25490 (void)N;
25491
25492 return isUInt<5>(x: N->getZExtValue() - 33);
25493
25494 }
25495 case 53: {
25496 // Predicate_immSExt10
25497 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25498return isInt<10>(x: Imm);
25499 }
25500 case 54: {
25501 // Predicate_immSExt10_64
25502 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25503 (void)N;
25504 return isInt<10>(x: N->getSExtValue());
25505 }
25506 case 55: {
25507 // Predicate_imm32SExt16
25508 const APInt & Imm = Op->getAsAPIntVal();
25509 return isInt<16>(x: Imm.getSExtValue());
25510 }
25511 case 56: {
25512 // Predicate_immSExt8
25513 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25514 (void)N;
25515 return isInt<8>(x: N->getSExtValue());
25516 }
25517 case 57: {
25518 // Predicate_immSExtAddiur2
25519 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25520return Imm == 1 || Imm == -1 ||
25521 ((Imm % 4 == 0) &&
25522 Imm < 28 && Imm > 0);
25523 }
25524 case 58: {
25525 // Predicate_immSExtAddius5
25526 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25527return Imm >= -8 && Imm <= 7;
25528 }
25529 case 59: {
25530 // Predicate_assertzext_lt_i32
25531 SDNode *N = Op.getNode();
25532 (void)N;
25533
25534 return cast<VTSDNode>(Val: N->getOperand(Num: 1))->getVT().bitsLT(VT: MVT::i32);
25535
25536 }
25537 case 60: {
25538 // Predicate_immSExt6
25539 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25540return isInt<6>(x: Imm);
25541 }
25542 case 61: {
25543 // Predicate_immLi16
25544 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25545return Imm >= -1 && Imm <= 126;
25546 }
25547 case 62: {
25548 // Predicate_immZExt32Low16Zero
25549 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25550 (void)N;
25551
25552 uint64_t Val = N->getZExtValue();
25553 return isUInt<32>(x: Val) && !(Val & 0xffff);
25554
25555 }
25556 case 63: {
25557 // Predicate_immZExt32
25558 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25559 (void)N;
25560 return isUInt<32>(x: N->getZExtValue());
25561 }
25562 case 64: {
25563 // Predicate_anonymous_14042
25564 SDNode *N = Op.getNode();
25565 (void)N;
25566 return Subtarget->inAbs2008Mode() || N->getFlags().hasNoNaNs();
25567 }
25568 case 65: {
25569 // Predicate_fpimm0neg
25570 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
25571 (void)N;
25572
25573 return N->isNegZero();
25574
25575 }
25576 }
25577}
25578#endif // GET_DAGISEL_BODY
25579
25580#ifdef GET_DAGISEL_DECL
25581bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
25582 SDValue N, unsigned PatternNo,
25583 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
25584#endif
25585#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
25586bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
25587 SDValue N, unsigned PatternNo,
25588 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
25589#if DAGISEL_INLINE
25590 override
25591#endif
25592{
25593 unsigned NextRes = Result.size();
25594 switch (PatternNo) {
25595 default: llvm_unreachable("Invalid pattern # in table?");
25596 case 0:
25597 Result.resize(N: NextRes+2);
25598 return selectIntAddr(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25599 case 1:
25600 Result.resize(N: NextRes+0);
25601 return selectVSplatImmEq1(N);
25602 case 2:
25603 Result.resize(N: NextRes+2);
25604 return selectAddrDefault(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25605 case 3:
25606 Result.resize(N: NextRes+2);
25607 return selectAddrRegImm(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25608 case 4:
25609 Result.resize(N: NextRes+1);
25610 return selectVSplatUimmPow2(N, Imm&: Result[NextRes+0].first);
25611 case 5:
25612 Result.resize(N: NextRes+1);
25613 return selectVSplatUimm<5>(N, Imm&: Result[NextRes+0].first);
25614 case 6:
25615 Result.resize(N: NextRes+1);
25616 return selectVSplatUimm<8>(N, Imm&: Result[NextRes+0].first);
25617 case 7:
25618 Result.resize(N: NextRes+2);
25619 return selectIntAddr12MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25620 case 8:
25621 Result.resize(N: NextRes+1);
25622 return selectVSplatUimm<5>(N, Imm&: Result[NextRes+0].first);
25623 case 9:
25624 Result.resize(N: NextRes+1);
25625 return selectVSplatUimm<5>(N, Imm&: Result[NextRes+0].first);
25626 case 10:
25627 Result.resize(N: NextRes+1);
25628 return selectVSplatUimm<5>(N, Imm&: Result[NextRes+0].first);
25629 case 11:
25630 Result.resize(N: NextRes+2);
25631 return selectAddr16(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25632 case 12:
25633 Result.resize(N: NextRes+1);
25634 return selectVSplatUimmInvPow2(N, Imm&: Result[NextRes+0].first);
25635 case 13:
25636 Result.resize(N: NextRes+1);
25637 return selectVSplatSimm<5>(N, Imm&: Result[NextRes+0].first);
25638 case 14:
25639 Result.resize(N: NextRes+1);
25640 return selectVSplatSimm<5>(N, Imm&: Result[NextRes+0].first);
25641 case 15:
25642 Result.resize(N: NextRes+1);
25643 return selectVSplatSimm<5>(N, Imm&: Result[NextRes+0].first);
25644 case 16:
25645 Result.resize(N: NextRes+1);
25646 return selectVSplatSimm<5>(N, Imm&: Result[NextRes+0].first);
25647 case 17:
25648 Result.resize(N: NextRes+2);
25649 return selectIntAddrSImm10Lsl1(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25650 case 18:
25651 Result.resize(N: NextRes+2);
25652 return selectIntAddrSImm10Lsl2(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25653 case 19:
25654 Result.resize(N: NextRes+2);
25655 return selectIntAddrSImm10Lsl3(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25656 case 20:
25657 Result.resize(N: NextRes+2);
25658 return selectAddr16SP(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25659 case 21:
25660 Result.resize(N: NextRes+2);
25661 return selectIntAddrLSL2MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25662 case 22:
25663 Result.resize(N: NextRes+1);
25664 return selectVSplatUimm<3>(N, Imm&: Result[NextRes+0].first);
25665 case 23:
25666 Result.resize(N: NextRes+1);
25667 return selectVSplatUimm<4>(N, Imm&: Result[NextRes+0].first);
25668 case 24:
25669 Result.resize(N: NextRes+1);
25670 return selectVSplatUimm<6>(N, Imm&: Result[NextRes+0].first);
25671 case 25:
25672 Result.resize(N: NextRes+2);
25673 return selectIntAddr11MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25674 case 26:
25675 Result.resize(N: NextRes+2);
25676 return selectIntAddr16MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25677 case 27:
25678 Result.resize(N: NextRes+2);
25679 return selectIntAddrSImm10(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25680 case 28:
25681 Result.resize(N: NextRes+1);
25682 return selectVSplatUimm<4>(N, Imm&: Result[NextRes+0].first);
25683 case 29:
25684 Result.resize(N: NextRes+1);
25685 return selectVSplatUimm<3>(N, Imm&: Result[NextRes+0].first);
25686 case 30:
25687 Result.resize(N: NextRes+1);
25688 return selectVSplatUimm<2>(N, Imm&: Result[NextRes+0].first);
25689 case 31:
25690 Result.resize(N: NextRes+1);
25691 return selectVSplatUimm<1>(N, Imm&: Result[NextRes+0].first);
25692 case 32:
25693 Result.resize(N: NextRes+1);
25694 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
25695 case 33:
25696 Result.resize(N: NextRes+1);
25697 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
25698 case 34:
25699 Result.resize(N: NextRes+1);
25700 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
25701 case 35:
25702 Result.resize(N: NextRes+1);
25703 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
25704 case 36:
25705 Result.resize(N: NextRes+1);
25706 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
25707 case 37:
25708 Result.resize(N: NextRes+1);
25709 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
25710 case 38:
25711 Result.resize(N: NextRes+1);
25712 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
25713 case 39:
25714 Result.resize(N: NextRes+1);
25715 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
25716 }
25717}
25718#endif // GET_DAGISEL_BODY
25719
25720#ifdef GET_DAGISEL_DECL
25721SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
25722#endif
25723#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
25724SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
25725#if DAGISEL_INLINE
25726 override
25727#endif
25728{
25729 switch (XFormNo) {
25730 default: llvm_unreachable("Invalid xform # in table?");
25731 case 0: {
25732 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25733
25734 return getImm(Node: N, Imm: Log2_64(Value: (unsigned) N->getZExtValue()));
25735
25736 }
25737 case 1: {
25738 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25739
25740 return getImm(Node: N, Imm: Log2_64(Value: (unsigned) (N->getZExtValue() >> 32)));
25741
25742 }
25743 case 2: {
25744 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25745
25746 return getSignedImm(Node: N, Imm: N->getSExtValue() + 1);
25747
25748 }
25749 case 3: {
25750 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25751
25752 return getImm(Node: N, Imm: N->getZExtValue() & 0xFFFF);
25753
25754 }
25755 case 4: {
25756 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25757
25758 return getImm(Node: N, Imm: 31 - N->getZExtValue());
25759
25760 }
25761 case 5: {
25762 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25763
25764 return getImm(Node: N, Imm: (N->getZExtValue() >> 16) & 0xFFFF);
25765
25766 }
25767 case 6: {
25768 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25769
25770 unsigned Check = N->getZExtValue();
25771 unsigned Mask = 0;
25772 if (Check & fcSNan)
25773 Mask |= Mips::FClassMaskSignalingNaN;
25774 if (Check & fcQNan)
25775 Mask |= Mips::FClassMaskQuietNaN;
25776 if (Check & fcPosInf)
25777 Mask |= Mips::FClassMaskPositiveInfinity;
25778 if (Check & fcNegInf)
25779 Mask |= Mips::FClassMaskNegativeInfinity;
25780 if (Check & fcPosNormal)
25781 Mask |= Mips::FClassMaskPositiveNormal;
25782 if (Check & fcNegNormal)
25783 Mask |= Mips::FClassMaskNegativeNormal;
25784 if (Check & fcPosSubnormal)
25785 Mask |= Mips::FClassMaskPositiveSubnormal;
25786 if (Check & fcNegSubnormal)
25787 Mask |= Mips::FClassMaskNegativeSubnormal;
25788 if (Check & fcPosZero)
25789 Mask |= Mips::FClassMaskPositiveZero;
25790 if (Check & fcNegZero)
25791 Mask |= Mips::FClassMaskNegativeZero;
25792 return CurDAG->getTargetConstant(Val: Mask, DL: SDLoc(N), VT: MVT::i32);
25793
25794 }
25795 }
25796}
25797#endif // GET_DAGISEL_BODY
25798
25799
25800#ifdef DAGISEL_INLINE
25801#undef DAGISEL_INLINE
25802#endif
25803#ifdef DAGISEL_CLASS_COLONCOLON
25804#undef DAGISEL_CLASS_COLONCOLON
25805#endif
25806#ifdef GET_DAGISEL_DECL
25807#undef GET_DAGISEL_DECL
25808#endif
25809#ifdef GET_DAGISEL_BODY
25810#undef GET_DAGISEL_BODY
25811#endif
25812