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.
55 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56 static const unsigned char MatcherTable[] = {
57 OPC_SwitchOpcode , 42|128,7, TARGET_VAL(ISD::STORE),
58 OPC_RecordMemRef,
59 OPC_RecordNode,
60 OPC_Scope, 73|128,1,
61 OPC_RecordChild1,
62 OPC_Scope, 120,
63 OPC_CheckChild1Type, MVT::f64,
64 OPC_Scope, 77,
65 OPC_RecordChild2,
66 OPC_CheckPredicate, 12,
67 OPC_CheckPredicate, 9,
68 OPC_Scope, 13,
69 OPC_CheckPatternPredicate, 79,
70 OPC_CheckComplexPat2, /*#*/2,
71 OPC_EmitMergeInputChains1_0,
72 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
73 3, 1, 3, 4,
74 13,
75 OPC_CheckPatternPredicate, 49,
76 OPC_CheckComplexPat2, /*#*/2,
77 OPC_EmitMergeInputChains1_0,
78 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
79 3, 1, 3, 4,
80 13,
81 OPC_CheckPatternPredicate, 50,
82 OPC_CheckComplexPat2, /*#*/2,
83 OPC_EmitMergeInputChains1_0,
84 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
85 3, 1, 3, 4,
86 13,
87 OPC_CheckPatternPredicate, 51,
88 OPC_CheckComplexPat2, /*#*/2,
89 OPC_EmitMergeInputChains1_0,
90 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
91 3, 1, 3, 4,
92 13,
93 OPC_CheckPatternPredicate, 44,
94 OPC_CheckComplexPat2, /*#*/2,
95 OPC_EmitMergeInputChains1_0,
96 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
97 3, 1, 3, 4,
98 0,
99 37,
100 OPC_MoveChild2,
101 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
102 OPC_RecordChild0,
103 OPC_RecordChild1,
104 OPC_MoveParent,
105 OPC_CheckPredicate, 12,
106 OPC_CheckPredicate, 9,
107 OPC_Scope, 11,
108 OPC_CheckPatternPredicate, 80,
109 OPC_EmitMergeInputChains1_0,
110 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC1), 0|OPFL_Chain|OPFL_MemRefs,
111 3, 1, 2, 3,
112 11,
113 OPC_CheckPatternPredicate, 81,
114 OPC_EmitMergeInputChains1_0,
115 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC164), 0|OPFL_Chain|OPFL_MemRefs,
116 3, 1, 2, 3,
117 0,
118 0,
119 76,
120 OPC_CheckChild1Type, MVT::f32,
121 OPC_Scope, 33,
122 OPC_RecordChild2,
123 OPC_CheckPredicate, 12,
124 OPC_CheckPredicate, 9,
125 OPC_Scope, 12,
126 OPC_CheckPatternPredicate2,
127 OPC_CheckComplexPat2, /*#*/2,
128 OPC_EmitMergeInputChains1_0,
129 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
130 3, 1, 3, 4,
131 12,
132 OPC_CheckPatternPredicate4,
133 OPC_CheckComplexPat2, /*#*/2,
134 OPC_EmitMergeInputChains1_0,
135 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
136 3, 1, 3, 4,
137 0,
138 37,
139 OPC_MoveChild2,
140 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
141 OPC_RecordChild0,
142 OPC_RecordChild1,
143 OPC_MoveParent,
144 OPC_CheckPredicate, 12,
145 OPC_CheckPredicate, 9,
146 OPC_Scope, 11,
147 OPC_CheckPatternPredicate, 82,
148 OPC_EmitMergeInputChains1_0,
149 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1), 0|OPFL_Chain|OPFL_MemRefs,
150 3, 1, 2, 3,
151 11,
152 OPC_CheckPatternPredicate, 31,
153 OPC_EmitMergeInputChains1_0,
154 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
155 3, 1, 2, 3,
156 0,
157 0,
158 0,
159 22,
160 OPC_CheckChild1Integer, 0,
161 OPC_CheckChild1TypeI32,
162 OPC_RecordChild2,
163 OPC_CheckPredicate, 12,
164 OPC_CheckPredicate, 9,
165 OPC_CheckPatternPredicate2,
166 OPC_CheckComplexPat0, /*#*/1,
167 OPC_EmitMergeInputChains1_0,
168 OPC_EmitRegisterI32, Mips::ZERO,
169 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
170 3, 4, 2, 3,
171 66|128,5,
172 OPC_RecordChild1,
173 OPC_Scope, 23|128,2,
174 OPC_CheckChild1TypeI32,
175 OPC_RecordChild2,
176 OPC_CheckPredicate, 12,
177 OPC_Scope, 34,
178 OPC_CheckPredicate, 28,
179 OPC_Scope, 14,
180 OPC_CheckPredicate, 29,
181 OPC_CheckPatternPredicate2,
182 OPC_CheckComplexPat0, /*#*/2,
183 OPC_EmitMergeInputChains1_0,
184 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
185 3, 1, 3, 4,
186 14,
187 OPC_CheckPredicate, 30,
188 OPC_CheckPatternPredicate2,
189 OPC_CheckComplexPat0, /*#*/2,
190 OPC_EmitMergeInputChains1_0,
191 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
192 3, 1, 3, 4,
193 0,
194 73,
195 OPC_CheckPredicate, 9,
196 OPC_Scope, 12,
197 OPC_CheckPatternPredicate2,
198 OPC_CheckComplexPat0, /*#*/2,
199 OPC_EmitMergeInputChains1_0,
200 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
201 3, 1, 3, 4,
202 13,
203 OPC_CheckPatternPredicate, 38,
204 OPC_CheckComplexPat1, /*#*/2,
205 OPC_EmitMergeInputChains1_0,
206 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2), 0|OPFL_Chain|OPFL_MemRefs,
207 3, 1, 3, 4,
208 13,
209 OPC_CheckPatternPredicate, 83,
210 OPC_CheckComplexPat1, /*#*/2,
211 OPC_EmitMergeInputChains1_0,
212 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2), 0|OPFL_Chain|OPFL_MemRefs,
213 3, 1, 3, 4,
214 13,
215 OPC_CheckPatternPredicate, 84,
216 OPC_CheckComplexPat1, /*#*/2,
217 OPC_EmitMergeInputChains1_0,
218 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC3), 0|OPFL_Chain|OPFL_MemRefs,
219 3, 1, 3, 4,
220 13,
221 OPC_CheckPatternPredicate, 85,
222 OPC_CheckComplexPat1, /*#*/2,
223 OPC_EmitMergeInputChains1_0,
224 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC3), 0|OPFL_Chain|OPFL_MemRefs,
225 3, 1, 3, 4,
226 0,
227 36,
228 OPC_CheckPredicate, 28,
229 OPC_Scope, 15,
230 OPC_CheckPredicate, 29,
231 OPC_CheckPatternPredicate5,
232 OPC_CheckComplexPat, /*CP*/10, /*#*/2,
233 OPC_EmitMergeInputChains1_0,
234 OPC_MorphNodeTo0, TARGET_VAL(Mips::SbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
235 3, 1, 3, 4,
236 15,
237 OPC_CheckPredicate, 30,
238 OPC_CheckPatternPredicate5,
239 OPC_CheckComplexPat, /*CP*/10, /*#*/2,
240 OPC_EmitMergeInputChains1_0,
241 OPC_MorphNodeTo0, TARGET_VAL(Mips::ShRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
242 3, 1, 3, 4,
243 0,
244 15,
245 OPC_CheckPredicate, 9,
246 OPC_CheckPatternPredicate5,
247 OPC_CheckComplexPat, /*CP*/20, /*#*/2,
248 OPC_EmitMergeInputChains1_0,
249 OPC_MorphNodeTo0, TARGET_VAL(Mips::SwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
250 3, 1, 3, 4,
251 34,
252 OPC_CheckPredicate, 28,
253 OPC_Scope, 14,
254 OPC_CheckPredicate, 29,
255 OPC_CheckPatternPredicate4,
256 OPC_CheckComplexPat0, /*#*/2,
257 OPC_EmitMergeInputChains1_0,
258 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB_MM), 0|OPFL_Chain|OPFL_MemRefs,
259 3, 1, 3, 4,
260 14,
261 OPC_CheckPredicate, 30,
262 OPC_CheckPatternPredicate4,
263 OPC_CheckComplexPat0, /*#*/2,
264 OPC_EmitMergeInputChains1_0,
265 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH_MM), 0|OPFL_Chain|OPFL_MemRefs,
266 3, 1, 3, 4,
267 0,
268 75,
269 OPC_CheckPredicate, 9,
270 OPC_Scope, 28,
271 OPC_CheckPatternPredicate4,
272 OPC_Scope, 12,
273 OPC_CheckComplexPat, /*CP*/21, /*#*/2,
274 OPC_EmitMergeInputChains1_0,
275 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
276 3, 1, 3, 4,
277 11,
278 OPC_CheckComplexPat0, /*#*/2,
279 OPC_EmitMergeInputChains1_0,
280 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW_MM), 0|OPFL_Chain|OPFL_MemRefs,
281 3, 1, 3, 4,
282 0,
283 41,
284 OPC_CheckPatternPredicate7,
285 OPC_Scope, 24,
286 OPC_CheckComplexPat, /*CP*/25, /*#*/2,
287 OPC_EmitMergeInputChains1_0,
288 OPC_Scope, 8,
289 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
290 3, 1, 3, 4,
291 8,
292 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
293 3, 1, 3, 4,
294 0,
295 12,
296 OPC_CheckComplexPat, /*CP*/21, /*#*/2,
297 OPC_EmitMergeInputChains1_0,
298 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
299 3, 1, 3, 4,
300 0,
301 0,
302 0,
303 37,
304 OPC_CheckChild1Type, MVT::f32,
305 OPC_RecordChild2,
306 OPC_CheckPredicate, 12,
307 OPC_CheckPredicate, 9,
308 OPC_Scope, 13,
309 OPC_CheckPatternPredicate, 39,
310 OPC_CheckComplexPat1, /*#*/2,
311 OPC_EmitMergeInputChains1_0,
312 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
313 3, 1, 3, 4,
314 13,
315 OPC_CheckPatternPredicate, 32,
316 OPC_CheckComplexPat1, /*#*/2,
317 OPC_EmitMergeInputChains1_0,
318 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
319 3, 1, 3, 4,
320 0,
321 80,
322 OPC_CheckChild1Type, MVT::f64,
323 OPC_RecordChild2,
324 OPC_CheckPredicate, 12,
325 OPC_CheckPredicate, 9,
326 OPC_Scope, 13,
327 OPC_CheckPatternPredicate, 59,
328 OPC_CheckComplexPat1, /*#*/2,
329 OPC_EmitMergeInputChains1_0,
330 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
331 3, 1, 3, 4,
332 13,
333 OPC_CheckPatternPredicate, 60,
334 OPC_CheckComplexPat1, /*#*/2,
335 OPC_EmitMergeInputChains1_0,
336 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
337 3, 1, 3, 4,
338 13,
339 OPC_CheckPatternPredicate, 33,
340 OPC_CheckComplexPat1, /*#*/2,
341 OPC_EmitMergeInputChains1_0,
342 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
343 3, 1, 3, 4,
344 13,
345 OPC_CheckPatternPredicate, 34,
346 OPC_CheckComplexPat1, /*#*/2,
347 OPC_EmitMergeInputChains1_0,
348 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
349 3, 1, 3, 4,
350 14,
351 OPC_CheckPatternPredicate, 86,
352 OPC_CheckComplexPat, /*CP*/26, /*#*/2,
353 OPC_EmitMergeInputChains1_0,
354 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
355 3, 1, 3, 4,
356 0,
357 75,
358 OPC_CheckChild1TypeI64,
359 OPC_RecordChild2,
360 OPC_CheckPredicate, 12,
361 OPC_Scope, 52,
362 OPC_CheckPredicate, 28,
363 OPC_Scope, 15,
364 OPC_CheckPredicate, 29,
365 OPC_CheckPatternPredicate, 18,
366 OPC_CheckComplexPat0, /*#*/2,
367 OPC_EmitMergeInputChains1_0,
368 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
369 3, 1, 3, 4,
370 15,
371 OPC_CheckPredicate, 30,
372 OPC_CheckPatternPredicate, 18,
373 OPC_CheckComplexPat0, /*#*/2,
374 OPC_EmitMergeInputChains1_0,
375 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
376 3, 1, 3, 4,
377 15,
378 OPC_CheckPredicate, 49,
379 OPC_CheckPatternPredicate, 18,
380 OPC_CheckComplexPat0, /*#*/2,
381 OPC_EmitMergeInputChains1_0,
382 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
383 3, 1, 3, 4,
384 0,
385 15,
386 OPC_CheckPredicate, 9,
387 OPC_CheckPatternPredicate, 23,
388 OPC_CheckComplexPat0, /*#*/2,
389 OPC_EmitMergeInputChains1_0,
390 OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
391 3, 1, 3, 4,
392 0,
393 20,
394 OPC_CheckChild1Type, MVT::v16i8,
395 OPC_RecordChild2,
396 OPC_CheckPredicate, 12,
397 OPC_CheckPredicate, 9,
398 OPC_CheckPatternPredicate0,
399 OPC_CheckComplexPat, /*CP*/16, /*#*/2,
400 OPC_EmitMergeInputChains1_0,
401 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
402 3, 1, 3, 4,
403 20,
404 OPC_CheckChild1Type, MVT::v8i16,
405 OPC_RecordChild2,
406 OPC_CheckPredicate, 12,
407 OPC_CheckPredicate, 9,
408 OPC_CheckPatternPredicate0,
409 OPC_CheckComplexPat, /*CP*/17, /*#*/2,
410 OPC_EmitMergeInputChains1_0,
411 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
412 3, 1, 3, 4,
413 20,
414 OPC_CheckChild1Type, MVT::v4i32,
415 OPC_RecordChild2,
416 OPC_CheckPredicate, 12,
417 OPC_CheckPredicate, 9,
418 OPC_CheckPatternPredicate0,
419 OPC_CheckComplexPat, /*CP*/18, /*#*/2,
420 OPC_EmitMergeInputChains1_0,
421 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
422 3, 1, 3, 4,
423 20,
424 OPC_CheckChild1Type, MVT::v2i64,
425 OPC_RecordChild2,
426 OPC_CheckPredicate, 12,
427 OPC_CheckPredicate, 9,
428 OPC_CheckPatternPredicate0,
429 OPC_CheckComplexPat, /*CP*/19, /*#*/2,
430 OPC_EmitMergeInputChains1_0,
431 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
432 3, 1, 3, 4,
433 20,
434 OPC_CheckChild1Type, MVT::v8f16,
435 OPC_RecordChild2,
436 OPC_CheckPredicate, 12,
437 OPC_CheckPredicate, 9,
438 OPC_CheckPatternPredicate3,
439 OPC_CheckComplexPat, /*CP*/17, /*#*/2,
440 OPC_EmitMergeInputChains1_0,
441 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
442 3, 1, 3, 4,
443 20,
444 OPC_CheckChild1Type, MVT::v4f32,
445 OPC_RecordChild2,
446 OPC_CheckPredicate, 12,
447 OPC_CheckPredicate, 9,
448 OPC_CheckPatternPredicate3,
449 OPC_CheckComplexPat, /*CP*/18, /*#*/2,
450 OPC_EmitMergeInputChains1_0,
451 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
452 3, 1, 3, 4,
453 20,
454 OPC_CheckChild1Type, MVT::v2f64,
455 OPC_RecordChild2,
456 OPC_CheckPredicate, 12,
457 OPC_CheckPredicate, 9,
458 OPC_CheckPatternPredicate3,
459 OPC_CheckComplexPat, /*CP*/19, /*#*/2,
460 OPC_EmitMergeInputChains1_0,
461 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
462 3, 1, 3, 4,
463 28,
464 OPC_CheckChild1Type, MVT::v2i16,
465 OPC_RecordChild2,
466 OPC_CheckPredicate, 12,
467 OPC_CheckPredicate, 9,
468 OPC_CheckPatternPredicate1,
469 OPC_CheckComplexPat0, /*#*/2,
470 OPC_EmitMergeInputChains1_0,
471 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
472 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
473 MVT::i32, 2, 1, 5,
474 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
475 3, 6, 3, 4,
476 28,
477 OPC_CheckChild1Type, MVT::v4i8,
478 OPC_RecordChild2,
479 OPC_CheckPredicate, 12,
480 OPC_CheckPredicate, 9,
481 OPC_CheckPatternPredicate1,
482 OPC_CheckComplexPat0, /*#*/2,
483 OPC_EmitMergeInputChains1_0,
484 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
485 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
486 MVT::i32, 2, 1, 5,
487 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
488 3, 6, 3, 4,
489 21,
490 OPC_CheckChild1Type, MVT::f16,
491 OPC_RecordChild2,
492 OPC_RecordChild2,
493 OPC_CheckPredicate, 12,
494 OPC_CheckPredicate, 9,
495 OPC_CheckPatternPredicate3,
496 OPC_CheckComplexPat, /*CP*/16, /*#*/3,
497 OPC_EmitMergeInputChains1_0,
498 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_F16), 0|OPFL_Chain|OPFL_MemRefs,
499 3, 1, 2, 3,
500 0,
501 0,
502 74|128,10, TARGET_VAL(ISD::LOAD),
503 OPC_RecordMemRef,
504 OPC_RecordNode,
505 OPC_Scope, 103,
506 OPC_RecordChild1,
507 OPC_CheckPredicate, 27,
508 OPC_CheckTypeI32,
509 OPC_Scope, 32,
510 OPC_CheckPredicate, 21,
511 OPC_Scope, 13,
512 OPC_CheckPredicate5,
513 OPC_CheckPatternPredicate2,
514 OPC_CheckComplexPat2, /*#*/1,
515 OPC_EmitMergeInputChains1_0,
516 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
517 MVT::i32, 2, 2, 3,
518 13,
519 OPC_CheckPredicate4,
520 OPC_CheckPatternPredicate2,
521 OPC_CheckComplexPat2, /*#*/1,
522 OPC_EmitMergeInputChains1_0,
523 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
524 MVT::i32, 2, 2, 3,
525 0,
526 32,
527 OPC_CheckPredicate, 19,
528 OPC_Scope, 13,
529 OPC_CheckPredicate5,
530 OPC_CheckPatternPredicate2,
531 OPC_CheckComplexPat2, /*#*/1,
532 OPC_EmitMergeInputChains1_0,
533 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
534 MVT::i32, 2, 2, 3,
535 13,
536 OPC_CheckPredicate4,
537 OPC_CheckPatternPredicate2,
538 OPC_CheckComplexPat2, /*#*/1,
539 OPC_EmitMergeInputChains1_0,
540 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
541 MVT::i32, 2, 2, 3,
542 0,
543 14,
544 OPC_CheckPredicate, 23,
545 OPC_CheckPatternPredicate2,
546 OPC_CheckComplexPat2, /*#*/1,
547 OPC_EmitMergeInputChains1_0,
548 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
549 MVT::i32, 2, 2, 3,
550 15,
551 OPC_CheckPredicate, 19,
552 OPC_CheckPredicate4,
553 OPC_CheckPatternPredicate4,
554 OPC_CheckComplexPat2, /*#*/1,
555 OPC_EmitMergeInputChains1_0,
556 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
557 MVT::i32, 2, 2, 3,
558 0,
559 54,
560 OPC_MoveChild1,
561 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
562 OPC_RecordChild0,
563 OPC_RecordChild1,
564 OPC_CheckTypeI32,
565 OPC_MoveParent,
566 OPC_CheckPredicate, 27,
567 OPC_CheckTypeI32,
568 OPC_Scope, 13,
569 OPC_CheckPredicate, 21,
570 OPC_CheckPredicate5,
571 OPC_CheckPatternPredicate1,
572 OPC_EmitMergeInputChains1_0,
573 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBUX), 0|OPFL_Chain|OPFL_MemRefs,
574 MVT::i32, 2, 1, 2,
575 13,
576 OPC_CheckPredicate, 19,
577 OPC_CheckPredicate4,
578 OPC_CheckPatternPredicate1,
579 OPC_EmitMergeInputChains1_0,
580 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHX), 0|OPFL_Chain|OPFL_MemRefs,
581 MVT::i32, 2, 1, 2,
582 12,
583 OPC_CheckPredicate, 23,
584 OPC_CheckPatternPredicate1,
585 OPC_EmitMergeInputChains1_0,
586 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWX), 0|OPFL_Chain|OPFL_MemRefs,
587 MVT::i32, 2, 1, 2,
588 0,
589 69|128,6,
590 OPC_RecordChild1,
591 OPC_CheckPredicate, 27,
592 OPC_Scope, 16,
593 OPC_CheckPredicate, 19,
594 OPC_CheckPredicate5,
595 OPC_CheckTypeI32,
596 OPC_CheckPatternPredicate2,
597 OPC_CheckComplexPat0, /*#*/1,
598 OPC_EmitMergeInputChains1_0,
599 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
600 MVT::i32, 2, 2, 3,
601 16,
602 OPC_CheckPredicate, 21,
603 OPC_CheckPredicate5,
604 OPC_CheckTypeI32,
605 OPC_CheckPatternPredicate2,
606 OPC_CheckComplexPat1, /*#*/1,
607 OPC_EmitMergeInputChains1_0,
608 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
609 MVT::i32, 2, 2, 3,
610 16,
611 OPC_CheckPredicate, 19,
612 OPC_CheckPredicate4,
613 OPC_CheckTypeI32,
614 OPC_CheckPatternPredicate2,
615 OPC_CheckComplexPat1, /*#*/1,
616 OPC_EmitMergeInputChains1_0,
617 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
618 MVT::i32, 2, 2, 3,
619 16,
620 OPC_CheckPredicate, 21,
621 OPC_CheckPredicate4,
622 OPC_CheckTypeI32,
623 OPC_CheckPatternPredicate2,
624 OPC_CheckComplexPat0, /*#*/1,
625 OPC_EmitMergeInputChains1_0,
626 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
627 MVT::i32, 2, 2, 3,
628 74,
629 OPC_CheckPredicate, 23,
630 OPC_CheckTypeI32,
631 OPC_Scope, 12,
632 OPC_CheckPatternPredicate2,
633 OPC_CheckComplexPat1, /*#*/1,
634 OPC_EmitMergeInputChains1_0,
635 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
636 MVT::i32, 2, 2, 3,
637 13,
638 OPC_CheckPatternPredicate, 38,
639 OPC_CheckComplexPat1, /*#*/1,
640 OPC_EmitMergeInputChains1_0,
641 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2), 0|OPFL_Chain|OPFL_MemRefs,
642 MVT::i32, 2, 2, 3,
643 13,
644 OPC_CheckPatternPredicate, 83,
645 OPC_CheckComplexPat1, /*#*/1,
646 OPC_EmitMergeInputChains1_0,
647 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2), 0|OPFL_Chain|OPFL_MemRefs,
648 MVT::i32, 2, 2, 3,
649 13,
650 OPC_CheckPatternPredicate, 84,
651 OPC_CheckComplexPat1, /*#*/1,
652 OPC_EmitMergeInputChains1_0,
653 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC3), 0|OPFL_Chain|OPFL_MemRefs,
654 MVT::i32, 2, 2, 3,
655 13,
656 OPC_CheckPatternPredicate, 85,
657 OPC_CheckComplexPat1, /*#*/1,
658 OPC_EmitMergeInputChains1_0,
659 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC3), 0|OPFL_Chain|OPFL_MemRefs,
660 MVT::i32, 2, 2, 3,
661 0,
662 48,
663 OPC_CheckPredicate, 31,
664 OPC_CheckTypeI32,
665 OPC_Scope, 14,
666 OPC_CheckPredicate, 33,
667 OPC_CheckPatternPredicate2,
668 OPC_CheckComplexPat0, /*#*/1,
669 OPC_EmitMergeInputChains1_0,
670 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
671 MVT::i32, 2, 2, 3,
672 13,
673 OPC_CheckPredicate5,
674 OPC_CheckPatternPredicate2,
675 OPC_CheckComplexPat0, /*#*/1,
676 OPC_EmitMergeInputChains1_0,
677 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
678 MVT::i32, 2, 2, 3,
679 13,
680 OPC_CheckPredicate4,
681 OPC_CheckPatternPredicate2,
682 OPC_CheckComplexPat0, /*#*/1,
683 OPC_EmitMergeInputChains1_0,
684 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
685 MVT::i32, 2, 2, 3,
686 0,
687 17,
688 OPC_CheckPredicate, 19,
689 OPC_CheckPredicate5,
690 OPC_CheckTypeI64,
691 OPC_CheckPatternPredicate, 18,
692 OPC_CheckComplexPat0, /*#*/1,
693 OPC_EmitMergeInputChains1_0,
694 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
695 MVT::i64, 2, 2, 3,
696 17,
697 OPC_CheckPredicate, 21,
698 OPC_CheckPredicate5,
699 OPC_CheckTypeI64,
700 OPC_CheckPatternPredicate, 18,
701 OPC_CheckComplexPat0, /*#*/1,
702 OPC_EmitMergeInputChains1_0,
703 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu64), 0|OPFL_Chain|OPFL_MemRefs,
704 MVT::i64, 2, 2, 3,
705 17,
706 OPC_CheckPredicate, 19,
707 OPC_CheckPredicate4,
708 OPC_CheckTypeI64,
709 OPC_CheckPatternPredicate, 18,
710 OPC_CheckComplexPat0, /*#*/1,
711 OPC_EmitMergeInputChains1_0,
712 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
713 MVT::i64, 2, 2, 3,
714 17,
715 OPC_CheckPredicate, 21,
716 OPC_CheckPredicate4,
717 OPC_CheckTypeI64,
718 OPC_CheckPatternPredicate, 18,
719 OPC_CheckComplexPat0, /*#*/1,
720 OPC_EmitMergeInputChains1_0,
721 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu64), 0|OPFL_Chain|OPFL_MemRefs,
722 MVT::i64, 2, 2, 3,
723 18,
724 OPC_CheckPredicate, 19,
725 OPC_CheckPredicate, 10,
726 OPC_CheckTypeI64,
727 OPC_CheckPatternPredicate, 18,
728 OPC_CheckComplexPat0, /*#*/1,
729 OPC_EmitMergeInputChains1_0,
730 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
731 MVT::i64, 2, 2, 3,
732 18,
733 OPC_CheckPredicate, 21,
734 OPC_CheckPredicate, 10,
735 OPC_CheckTypeI64,
736 OPC_CheckPatternPredicate, 23,
737 OPC_CheckComplexPat0, /*#*/1,
738 OPC_EmitMergeInputChains1_0,
739 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWu), 0|OPFL_Chain|OPFL_MemRefs,
740 MVT::i64, 2, 2, 3,
741 16,
742 OPC_CheckPredicate, 23,
743 OPC_CheckTypeI64,
744 OPC_CheckPatternPredicate, 23,
745 OPC_CheckComplexPat0, /*#*/1,
746 OPC_EmitMergeInputChains1_0,
747 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
748 MVT::i64, 2, 2, 3,
749 67,
750 OPC_CheckPredicate, 31,
751 OPC_CheckTypeI64,
752 OPC_Scope, 15,
753 OPC_CheckPredicate, 33,
754 OPC_CheckPatternPredicate, 12,
755 OPC_CheckComplexPat0, /*#*/1,
756 OPC_EmitMergeInputChains1_0,
757 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
758 MVT::i64, 2, 2, 3,
759 14,
760 OPC_CheckPredicate5,
761 OPC_CheckPatternPredicate, 12,
762 OPC_CheckComplexPat0, /*#*/1,
763 OPC_EmitMergeInputChains1_0,
764 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
765 MVT::i64, 2, 2, 3,
766 14,
767 OPC_CheckPredicate4,
768 OPC_CheckPatternPredicate, 12,
769 OPC_CheckComplexPat0, /*#*/1,
770 OPC_EmitMergeInputChains1_0,
771 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
772 MVT::i64, 2, 2, 3,
773 15,
774 OPC_CheckPredicate, 10,
775 OPC_CheckPatternPredicate, 12,
776 OPC_CheckComplexPat0, /*#*/1,
777 OPC_EmitMergeInputChains1_0,
778 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
779 MVT::i64, 2, 2, 3,
780 0,
781 17,
782 OPC_CheckPredicate, 19,
783 OPC_CheckPredicate5,
784 OPC_CheckTypeI32,
785 OPC_CheckPatternPredicate5,
786 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
787 OPC_EmitMergeInputChains1_0,
788 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
789 MVT::i32, 2, 2, 3,
790 17,
791 OPC_CheckPredicate, 21,
792 OPC_CheckPredicate5,
793 OPC_CheckTypeI32,
794 OPC_CheckPatternPredicate5,
795 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
796 OPC_EmitMergeInputChains1_0,
797 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
798 MVT::i32, 2, 2, 3,
799 17,
800 OPC_CheckPredicate, 19,
801 OPC_CheckPredicate4,
802 OPC_CheckTypeI32,
803 OPC_CheckPatternPredicate5,
804 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
805 OPC_EmitMergeInputChains1_0,
806 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
807 MVT::i32, 2, 2, 3,
808 17,
809 OPC_CheckPredicate, 21,
810 OPC_CheckPredicate4,
811 OPC_CheckTypeI32,
812 OPC_CheckPatternPredicate5,
813 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
814 OPC_EmitMergeInputChains1_0,
815 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
816 MVT::i32, 2, 2, 3,
817 16,
818 OPC_CheckPredicate, 23,
819 OPC_CheckTypeI32,
820 OPC_CheckPatternPredicate5,
821 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
822 OPC_EmitMergeInputChains1_0,
823 OPC_MorphNodeTo1, TARGET_VAL(Mips::LwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
824 MVT::i32, 2, 2, 3,
825 35,
826 OPC_CheckPredicate, 31,
827 OPC_CheckTypeI32,
828 OPC_Scope, 14,
829 OPC_CheckPredicate5,
830 OPC_CheckPatternPredicate5,
831 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
832 OPC_EmitMergeInputChains1_0,
833 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
834 MVT::i32, 2, 2, 3,
835 14,
836 OPC_CheckPredicate4,
837 OPC_CheckPatternPredicate5,
838 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
839 OPC_EmitMergeInputChains1_0,
840 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
841 MVT::i32, 2, 2, 3,
842 0,
843 16,
844 OPC_CheckPredicate, 19,
845 OPC_CheckPredicate5,
846 OPC_CheckTypeI32,
847 OPC_CheckPatternPredicate4,
848 OPC_CheckComplexPat0, /*#*/1,
849 OPC_EmitMergeInputChains1_0,
850 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
851 MVT::i32, 2, 2, 3,
852 16,
853 OPC_CheckPredicate, 21,
854 OPC_CheckPredicate5,
855 OPC_CheckTypeI32,
856 OPC_CheckPatternPredicate4,
857 OPC_CheckComplexPat0, /*#*/1,
858 OPC_EmitMergeInputChains1_0,
859 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
860 MVT::i32, 2, 2, 3,
861 16,
862 OPC_CheckPredicate, 19,
863 OPC_CheckPredicate4,
864 OPC_CheckTypeI32,
865 OPC_CheckPatternPredicate4,
866 OPC_CheckComplexPat1, /*#*/1,
867 OPC_EmitMergeInputChains1_0,
868 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
869 MVT::i32, 2, 2, 3,
870 35,
871 OPC_CheckPredicate, 21,
872 OPC_CheckTypeI32,
873 OPC_Scope, 13,
874 OPC_CheckPredicate4,
875 OPC_CheckPatternPredicate4,
876 OPC_CheckComplexPat0, /*#*/1,
877 OPC_EmitMergeInputChains1_0,
878 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
879 MVT::i32, 2, 2, 3,
880 15,
881 OPC_CheckPredicate, 10,
882 OPC_CheckPatternPredicate, 8,
883 OPC_CheckComplexPat6, /*#*/1,
884 OPC_EmitMergeInputChains1_0,
885 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWU_MM), 0|OPFL_Chain|OPFL_MemRefs,
886 MVT::i32, 2, 2, 3,
887 0,
888 31,
889 OPC_CheckPredicate, 23,
890 OPC_CheckTypeI32,
891 OPC_CheckPatternPredicate4,
892 OPC_Scope, 12,
893 OPC_CheckComplexPat, /*CP*/21, /*#*/1,
894 OPC_EmitMergeInputChains1_0,
895 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
896 MVT::i32, 2, 2, 3,
897 11,
898 OPC_CheckComplexPat0, /*#*/1,
899 OPC_EmitMergeInputChains1_0,
900 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
901 MVT::i32, 2, 2, 3,
902 0,
903 48,
904 OPC_CheckPredicate, 31,
905 OPC_CheckTypeI32,
906 OPC_Scope, 14,
907 OPC_CheckPredicate, 33,
908 OPC_CheckPatternPredicate4,
909 OPC_CheckComplexPat0, /*#*/1,
910 OPC_EmitMergeInputChains1_0,
911 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
912 MVT::i32, 2, 2, 3,
913 13,
914 OPC_CheckPredicate5,
915 OPC_CheckPatternPredicate4,
916 OPC_CheckComplexPat0, /*#*/1,
917 OPC_EmitMergeInputChains1_0,
918 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
919 MVT::i32, 2, 2, 3,
920 13,
921 OPC_CheckPredicate4,
922 OPC_CheckPatternPredicate4,
923 OPC_CheckComplexPat0, /*#*/1,
924 OPC_EmitMergeInputChains1_0,
925 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
926 MVT::i32, 2, 2, 3,
927 0,
928 22|128,1,
929 OPC_CheckPredicate, 23,
930 OPC_SwitchType , 40, MVT::i32,
931 OPC_CheckPatternPredicate7,
932 OPC_Scope, 11,
933 OPC_CheckComplexPat1, /*#*/1,
934 OPC_EmitMergeInputChains1_0,
935 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
936 MVT::i32, 2, 2, 3,
937 24,
938 OPC_CheckComplexPat, /*CP*/25, /*#*/1,
939 OPC_EmitMergeInputChains1_0,
940 OPC_Scope, 8,
941 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
942 MVT::i32, 2, 2, 3,
943 8,
944 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
945 MVT::i32, 2, 2, 3,
946 0,
947 0,
948 72, MVT::f64,
949 OPC_Scope, 13,
950 OPC_CheckPatternPredicate, 79,
951 OPC_CheckComplexPat2, /*#*/1,
952 OPC_EmitMergeInputChains1_0,
953 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
954 MVT::f64, 2, 2, 3,
955 13,
956 OPC_CheckPatternPredicate, 49,
957 OPC_CheckComplexPat2, /*#*/1,
958 OPC_EmitMergeInputChains1_0,
959 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
960 MVT::f64, 2, 2, 3,
961 13,
962 OPC_CheckPatternPredicate, 50,
963 OPC_CheckComplexPat2, /*#*/1,
964 OPC_EmitMergeInputChains1_0,
965 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
966 MVT::f64, 2, 2, 3,
967 13,
968 OPC_CheckPatternPredicate, 51,
969 OPC_CheckComplexPat2, /*#*/1,
970 OPC_EmitMergeInputChains1_0,
971 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
972 MVT::f64, 2, 2, 3,
973 13,
974 OPC_CheckPatternPredicate, 44,
975 OPC_CheckComplexPat2, /*#*/1,
976 OPC_EmitMergeInputChains1_0,
977 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
978 MVT::f64, 2, 2, 3,
979 0,
980 28, MVT::f32,
981 OPC_Scope, 12,
982 OPC_CheckPatternPredicate2,
983 OPC_CheckComplexPat2, /*#*/1,
984 OPC_EmitMergeInputChains1_0,
985 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
986 MVT::f32, 2, 2, 3,
987 12,
988 OPC_CheckPatternPredicate4,
989 OPC_CheckComplexPat2, /*#*/1,
990 OPC_EmitMergeInputChains1_0,
991 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
992 MVT::f32, 2, 2, 3,
993 0,
994 0,
995 0,
996 69,
997 OPC_MoveChild1,
998 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
999 OPC_RecordChild0,
1000 OPC_RecordChild1,
1001 OPC_MoveParent,
1002 OPC_CheckPredicate, 27,
1003 OPC_CheckPredicate, 23,
1004 OPC_SwitchType , 26, MVT::f32,
1005 OPC_Scope, 11,
1006 OPC_CheckPatternPredicate, 82,
1007 OPC_EmitMergeInputChains1_0,
1008 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1), 0|OPFL_Chain|OPFL_MemRefs,
1009 MVT::f32, 2, 1, 2,
1010 11,
1011 OPC_CheckPatternPredicate, 31,
1012 OPC_EmitMergeInputChains1_0,
1013 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
1014 MVT::f32, 2, 1, 2,
1015 0,
1016 26, MVT::f64,
1017 OPC_Scope, 11,
1018 OPC_CheckPatternPredicate, 80,
1019 OPC_EmitMergeInputChains1_0,
1020 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC1), 0|OPFL_Chain|OPFL_MemRefs,
1021 MVT::f64, 2, 1, 2,
1022 11,
1023 OPC_CheckPatternPredicate, 81,
1024 OPC_EmitMergeInputChains1_0,
1025 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC164), 0|OPFL_Chain|OPFL_MemRefs,
1026 MVT::f64, 2, 1, 2,
1027 0,
1028 0,
1029 24|128,2,
1030 OPC_RecordChild1,
1031 OPC_CheckPredicate, 27,
1032 OPC_CheckPredicate, 23,
1033 OPC_SwitchType , 30, MVT::f32,
1034 OPC_Scope, 13,
1035 OPC_CheckPatternPredicate, 39,
1036 OPC_CheckComplexPat1, /*#*/1,
1037 OPC_EmitMergeInputChains1_0,
1038 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
1039 MVT::f32, 2, 2, 3,
1040 13,
1041 OPC_CheckPatternPredicate, 32,
1042 OPC_CheckComplexPat1, /*#*/1,
1043 OPC_EmitMergeInputChains1_0,
1044 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
1045 MVT::f32, 2, 2, 3,
1046 0,
1047 73, MVT::f64,
1048 OPC_Scope, 13,
1049 OPC_CheckPatternPredicate, 59,
1050 OPC_CheckComplexPat1, /*#*/1,
1051 OPC_EmitMergeInputChains1_0,
1052 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
1053 MVT::f64, 2, 2, 3,
1054 13,
1055 OPC_CheckPatternPredicate, 60,
1056 OPC_CheckComplexPat1, /*#*/1,
1057 OPC_EmitMergeInputChains1_0,
1058 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
1059 MVT::f64, 2, 2, 3,
1060 13,
1061 OPC_CheckPatternPredicate, 33,
1062 OPC_CheckComplexPat1, /*#*/1,
1063 OPC_EmitMergeInputChains1_0,
1064 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
1065 MVT::f64, 2, 2, 3,
1066 13,
1067 OPC_CheckPatternPredicate, 34,
1068 OPC_CheckComplexPat1, /*#*/1,
1069 OPC_EmitMergeInputChains1_0,
1070 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
1071 MVT::f64, 2, 2, 3,
1072 14,
1073 OPC_CheckPatternPredicate, 86,
1074 OPC_CheckComplexPat, /*CP*/26, /*#*/1,
1075 OPC_EmitMergeInputChains1_0,
1076 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
1077 MVT::f64, 2, 2, 3,
1078 0,
1079 13, MVT::f16,
1080 OPC_CheckPatternPredicate3,
1081 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
1082 OPC_EmitMergeInputChains1_0,
1083 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_F16), 0|OPFL_Chain|OPFL_MemRefs,
1084 MVT::f16, 2, 2, 3,
1085 13, MVT::v16i8,
1086 OPC_CheckPatternPredicate0,
1087 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
1088 OPC_EmitMergeInputChains1_0,
1089 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
1090 MVT::v16i8, 2, 2, 3,
1091 13, MVT::v8i16,
1092 OPC_CheckPatternPredicate0,
1093 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
1094 OPC_EmitMergeInputChains1_0,
1095 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
1096 MVT::v8i16, 2, 2, 3,
1097 13, MVT::v4i32,
1098 OPC_CheckPatternPredicate0,
1099 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
1100 OPC_EmitMergeInputChains1_0,
1101 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
1102 MVT::v4i32, 2, 2, 3,
1103 13, MVT::v2i64,
1104 OPC_CheckPatternPredicate0,
1105 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
1106 OPC_EmitMergeInputChains1_0,
1107 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
1108 MVT::v2i64, 2, 2, 3,
1109 21, MVT::v2i16,
1110 OPC_CheckPatternPredicate1,
1111 OPC_CheckComplexPat0, /*#*/1,
1112 OPC_EmitMergeInputChains1_0,
1113 OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
1114 MVT::i32, 2, 2, 3,
1115 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
1116 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1117 MVT::v2i16, 2, 4, 5,
1118 21, MVT::v4i8,
1119 OPC_CheckPatternPredicate1,
1120 OPC_CheckComplexPat0, /*#*/1,
1121 OPC_EmitMergeInputChains1_0,
1122 OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
1123 MVT::i32, 2, 2, 3,
1124 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
1125 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1126 MVT::v4i8, 2, 4, 5,
1127 13, MVT::v8f16,
1128 OPC_CheckPatternPredicate3,
1129 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
1130 OPC_EmitMergeInputChains1_0,
1131 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
1132 MVT::v8f16, 2, 2, 3,
1133 13, MVT::v4f32,
1134 OPC_CheckPatternPredicate3,
1135 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
1136 OPC_EmitMergeInputChains1_0,
1137 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
1138 MVT::v4f32, 2, 2, 3,
1139 13, MVT::v2f64,
1140 OPC_CheckPatternPredicate3,
1141 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
1142 OPC_EmitMergeInputChains1_0,
1143 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
1144 MVT::v2f64, 2, 2, 3,
1145 0,
1146 0,
1147 96|128,17, TARGET_VAL(ISD::BRCOND),
1148 OPC_RecordNode,
1149 OPC_Scope, 12|128,17,
1150 OPC_MoveChild1,
1151 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
1152 OPC_Scope, 110|128,3,
1153 OPC_MoveChild0,
1154 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
1155 OPC_Scope, 3|128,1,
1156 OPC_RecordChild0,
1157 OPC_MoveChild1,
1158 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1159 OPC_Scope, 59,
1160 OPC_CheckChild0Integer, 2,
1161 OPC_RecordChild1,
1162 OPC_MoveChild1,
1163 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1164 OPC_CheckPredicate, 32,
1165 OPC_CheckTypeI64,
1166 OPC_MoveParent,
1167 OPC_MoveParent,
1168 OPC_CheckTypeI64,
1169 OPC_MoveParent,
1170 OPC_CheckChild1Integer, 0,
1171 OPC_CheckTypeI32,
1172 OPC_Scope, 19,
1173 OPC_CheckChild2CondCode, ISD::SETEQ,
1174 OPC_MoveSibling2,
1175 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1176 OPC_RecordNode,
1177 OPC_MoveParent,
1178 OPC_CheckPatternPredicate, 25,
1179 OPC_EmitMergeInputChains1_0,
1180 OPC_EmitConvertToTarget2,
1181 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1182 3, 1, 4, 3,
1183 19,
1184 OPC_CheckChild2CondCode, ISD::SETNE,
1185 OPC_MoveSibling2,
1186 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1187 OPC_RecordNode,
1188 OPC_MoveParent,
1189 OPC_CheckPatternPredicate, 25,
1190 OPC_EmitMergeInputChains1_0,
1191 OPC_EmitConvertToTarget2,
1192 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1193 3, 1, 4, 3,
1194 0,
1195 63,
1196 OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,32,
1197 OPC_RecordChild1,
1198 OPC_MoveChild1,
1199 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1200 OPC_CheckPredicate, 32,
1201 OPC_CheckTypeI64,
1202 OPC_MoveParent,
1203 OPC_MoveParent,
1204 OPC_CheckTypeI64,
1205 OPC_MoveParent,
1206 OPC_CheckChild1Integer, 0,
1207 OPC_CheckTypeI32,
1208 OPC_Scope, 19,
1209 OPC_CheckChild2CondCode, ISD::SETEQ,
1210 OPC_MoveSibling2,
1211 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1212 OPC_RecordNode,
1213 OPC_MoveParent,
1214 OPC_CheckPatternPredicate, 25,
1215 OPC_EmitMergeInputChains1_0,
1216 OPC_EmitConvertToTarget2,
1217 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1218 3, 1, 4, 3,
1219 19,
1220 OPC_CheckChild2CondCode, ISD::SETNE,
1221 OPC_MoveSibling2,
1222 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1223 OPC_RecordNode,
1224 OPC_MoveParent,
1225 OPC_CheckPatternPredicate, 25,
1226 OPC_EmitMergeInputChains1_0,
1227 OPC_EmitConvertToTarget2,
1228 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1229 3, 1, 4, 3,
1230 0,
1231 0,
1232 4|128,1,
1233 OPC_MoveChild0,
1234 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1235 OPC_Scope, 60,
1236 OPC_CheckChild0Integer, 2,
1237 OPC_RecordChild1,
1238 OPC_MoveChild1,
1239 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1240 OPC_CheckPredicate, 32,
1241 OPC_CheckTypeI64,
1242 OPC_MoveParent,
1243 OPC_MoveParent,
1244 OPC_RecordChild1,
1245 OPC_CheckTypeI64,
1246 OPC_MoveParent,
1247 OPC_CheckChild1Integer, 0,
1248 OPC_CheckTypeI32,
1249 OPC_Scope, 19,
1250 OPC_CheckChild2CondCode, ISD::SETEQ,
1251 OPC_MoveSibling2,
1252 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1253 OPC_RecordNode,
1254 OPC_MoveParent,
1255 OPC_CheckPatternPredicate, 25,
1256 OPC_EmitMergeInputChains1_0,
1257 OPC_EmitConvertToTarget1,
1258 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1259 3, 2, 4, 3,
1260 19,
1261 OPC_CheckChild2CondCode, ISD::SETNE,
1262 OPC_MoveSibling2,
1263 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1264 OPC_RecordNode,
1265 OPC_MoveParent,
1266 OPC_CheckPatternPredicate, 25,
1267 OPC_EmitMergeInputChains1_0,
1268 OPC_EmitConvertToTarget1,
1269 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1270 3, 2, 4, 3,
1271 0,
1272 64,
1273 OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,32,
1274 OPC_RecordChild1,
1275 OPC_MoveChild1,
1276 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1277 OPC_CheckPredicate, 32,
1278 OPC_CheckTypeI64,
1279 OPC_MoveParent,
1280 OPC_MoveParent,
1281 OPC_RecordChild1,
1282 OPC_CheckTypeI64,
1283 OPC_MoveParent,
1284 OPC_CheckChild1Integer, 0,
1285 OPC_CheckTypeI32,
1286 OPC_Scope, 19,
1287 OPC_CheckChild2CondCode, ISD::SETEQ,
1288 OPC_MoveSibling2,
1289 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1290 OPC_RecordNode,
1291 OPC_MoveParent,
1292 OPC_CheckPatternPredicate, 25,
1293 OPC_EmitMergeInputChains1_0,
1294 OPC_EmitConvertToTarget1,
1295 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1296 3, 2, 4, 3,
1297 19,
1298 OPC_CheckChild2CondCode, ISD::SETNE,
1299 OPC_MoveSibling2,
1300 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1301 OPC_RecordNode,
1302 OPC_MoveParent,
1303 OPC_CheckPatternPredicate, 25,
1304 OPC_EmitMergeInputChains1_0,
1305 OPC_EmitConvertToTarget1,
1306 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1307 3, 2, 4, 3,
1308 0,
1309 0,
1310 91|128,1,
1311 OPC_RecordChild0,
1312 OPC_RecordChild1,
1313 OPC_MoveChild1,
1314 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1315 OPC_Scope, 30,
1316 OPC_CheckPredicate, 38,
1317 OPC_MoveParent,
1318 OPC_CheckTypeI64,
1319 OPC_MoveParent,
1320 OPC_CheckChild1Integer, 0,
1321 OPC_CheckChild2CondCode, ISD::SETEQ,
1322 OPC_CheckTypeI32,
1323 OPC_MoveSibling2,
1324 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1325 OPC_RecordNode,
1326 OPC_MoveParent,
1327 OPC_CheckPatternPredicate, 40,
1328 OPC_EmitMergeInputChains1_0,
1329 OPC_EmitConvertToTarget2,
1330 OPC_EmitNodeXForm, 0, 4,
1331 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1332 3, 1, 5, 3,
1333 30,
1334 OPC_CheckPredicate, 39,
1335 OPC_MoveParent,
1336 OPC_CheckTypeI64,
1337 OPC_MoveParent,
1338 OPC_CheckChild1Integer, 0,
1339 OPC_CheckChild2CondCode, ISD::SETEQ,
1340 OPC_CheckTypeI32,
1341 OPC_MoveSibling2,
1342 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1343 OPC_RecordNode,
1344 OPC_MoveParent,
1345 OPC_CheckPatternPredicate, 40,
1346 OPC_EmitMergeInputChains1_0,
1347 OPC_EmitConvertToTarget2,
1348 OPC_EmitNodeXForm, 1, 4,
1349 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1350 3, 1, 5, 3,
1351 30,
1352 OPC_CheckPredicate, 38,
1353 OPC_MoveParent,
1354 OPC_CheckTypeI64,
1355 OPC_MoveParent,
1356 OPC_CheckChild1Integer, 0,
1357 OPC_CheckChild2CondCode, ISD::SETNE,
1358 OPC_CheckTypeI32,
1359 OPC_MoveSibling2,
1360 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1361 OPC_RecordNode,
1362 OPC_MoveParent,
1363 OPC_CheckPatternPredicate, 40,
1364 OPC_EmitMergeInputChains1_0,
1365 OPC_EmitConvertToTarget2,
1366 OPC_EmitNodeXForm, 0, 4,
1367 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1368 3, 1, 5, 3,
1369 30,
1370 OPC_CheckPredicate, 39,
1371 OPC_MoveParent,
1372 OPC_CheckTypeI64,
1373 OPC_MoveParent,
1374 OPC_CheckChild1Integer, 0,
1375 OPC_CheckChild2CondCode, ISD::SETNE,
1376 OPC_CheckTypeI32,
1377 OPC_MoveSibling2,
1378 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1379 OPC_RecordNode,
1380 OPC_MoveParent,
1381 OPC_CheckPatternPredicate, 40,
1382 OPC_EmitMergeInputChains1_0,
1383 OPC_EmitConvertToTarget2,
1384 OPC_EmitNodeXForm, 1, 4,
1385 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1386 3, 1, 5, 3,
1387 86,
1388 OPC_CheckPredicate, 50,
1389 OPC_MoveParent,
1390 OPC_CheckTypeI32,
1391 OPC_MoveParent,
1392 OPC_CheckChild1Integer, 0,
1393 OPC_CheckTypeI32,
1394 OPC_Scope, 37,
1395 OPC_CheckChild2CondCode, ISD::SETEQ,
1396 OPC_MoveSibling2,
1397 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1398 OPC_RecordNode,
1399 OPC_MoveParent,
1400 OPC_CheckPatternPredicate, 40,
1401 OPC_EmitMergeInputChains1_0,
1402 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
1403 MVT::i64, 0,
1404 OPC_EmitStringInteger32, Mips::sub_32,
1405 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
1406 MVT::i64, 3, 4, 1, 5,
1407 OPC_EmitConvertToTarget2,
1408 OPC_EmitNodeXForm, 0, 7,
1409 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1410 3, 6, 8, 3,
1411 37,
1412 OPC_CheckChild2CondCode, ISD::SETNE,
1413 OPC_MoveSibling2,
1414 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1415 OPC_RecordNode,
1416 OPC_MoveParent,
1417 OPC_CheckPatternPredicate, 40,
1418 OPC_EmitMergeInputChains1_0,
1419 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
1420 MVT::i64, 0,
1421 OPC_EmitStringInteger32, Mips::sub_32,
1422 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
1423 MVT::i64, 3, 4, 1, 5,
1424 OPC_EmitConvertToTarget2,
1425 OPC_EmitNodeXForm, 0, 7,
1426 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1427 3, 6, 8, 3,
1428 0,
1429 0,
1430 0,
1431 20|128,13,
1432 OPC_RecordChild0,
1433 OPC_Scope, 52|128,9,
1434 OPC_CheckChild0TypeI32,
1435 OPC_Scope, 105|128,1,
1436 OPC_CheckChild1Integer, 0,
1437 OPC_CheckTypeI32,
1438 OPC_Scope, 29,
1439 OPC_CheckChild2CondCode, ISD::SETGE,
1440 OPC_MoveSibling2,
1441 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1442 OPC_RecordNode,
1443 OPC_MoveParent,
1444 OPC_Scope, 8,
1445 OPC_CheckPatternPredicate2,
1446 OPC_EmitMergeInputChains1_0,
1447 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
1448 2, 1, 2,
1449 9,
1450 OPC_CheckPatternPredicate, 8,
1451 OPC_EmitMergeInputChains1_0,
1452 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
1453 2, 1, 2,
1454 0,
1455 29,
1456 OPC_CheckChild2CondCode, ISD::SETGT,
1457 OPC_MoveSibling2,
1458 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1459 OPC_RecordNode,
1460 OPC_MoveParent,
1461 OPC_Scope, 8,
1462 OPC_CheckPatternPredicate2,
1463 OPC_EmitMergeInputChains1_0,
1464 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ),
1465 2, 1, 2,
1466 9,
1467 OPC_CheckPatternPredicate, 8,
1468 OPC_EmitMergeInputChains1_0,
1469 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ_MM),
1470 2, 1, 2,
1471 0,
1472 29,
1473 OPC_CheckChild2CondCode, ISD::SETLE,
1474 OPC_MoveSibling2,
1475 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1476 OPC_RecordNode,
1477 OPC_MoveParent,
1478 OPC_Scope, 8,
1479 OPC_CheckPatternPredicate2,
1480 OPC_EmitMergeInputChains1_0,
1481 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
1482 2, 1, 2,
1483 9,
1484 OPC_CheckPatternPredicate, 8,
1485 OPC_EmitMergeInputChains1_0,
1486 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
1487 2, 1, 2,
1488 0,
1489 29,
1490 OPC_CheckChild2CondCode, ISD::SETLT,
1491 OPC_MoveSibling2,
1492 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1493 OPC_RecordNode,
1494 OPC_MoveParent,
1495 OPC_Scope, 8,
1496 OPC_CheckPatternPredicate2,
1497 OPC_EmitMergeInputChains1_0,
1498 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ),
1499 2, 1, 2,
1500 9,
1501 OPC_CheckPatternPredicate, 8,
1502 OPC_EmitMergeInputChains1_0,
1503 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ_MM),
1504 2, 1, 2,
1505 0,
1506 53,
1507 OPC_CheckChild2CondCode, ISD::SETNE,
1508 OPC_MoveSibling2,
1509 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1510 OPC_RecordNode,
1511 OPC_MoveParent,
1512 OPC_Scope, 11,
1513 OPC_CheckPatternPredicate2,
1514 OPC_EmitMergeInputChains1_0,
1515 OPC_EmitRegisterI32, Mips::ZERO,
1516 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
1517 3, 1, 3, 2,
1518 8,
1519 OPC_CheckPatternPredicate5,
1520 OPC_EmitMergeInputChains1_0,
1521 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
1522 2, 1, 2,
1523 12,
1524 OPC_CheckPatternPredicate, 8,
1525 OPC_EmitMergeInputChains1_0,
1526 OPC_EmitRegisterI32, Mips::ZERO,
1527 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
1528 3, 1, 3, 2,
1529 8,
1530 OPC_CheckPatternPredicate7,
1531 OPC_EmitMergeInputChains1_0,
1532 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
1533 2, 1, 2,
1534 0,
1535 53,
1536 OPC_CheckChild2CondCode, ISD::SETEQ,
1537 OPC_MoveSibling2,
1538 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1539 OPC_RecordNode,
1540 OPC_MoveParent,
1541 OPC_Scope, 11,
1542 OPC_CheckPatternPredicate2,
1543 OPC_EmitMergeInputChains1_0,
1544 OPC_EmitRegisterI32, Mips::ZERO,
1545 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1546 3, 1, 3, 2,
1547 8,
1548 OPC_CheckPatternPredicate5,
1549 OPC_EmitMergeInputChains1_0,
1550 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BeqzRxImm16),
1551 2, 1, 2,
1552 12,
1553 OPC_CheckPatternPredicate, 8,
1554 OPC_EmitMergeInputChains1_0,
1555 OPC_EmitRegisterI32, Mips::ZERO,
1556 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1557 3, 1, 3, 2,
1558 8,
1559 OPC_CheckPatternPredicate7,
1560 OPC_EmitMergeInputChains1_0,
1561 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1562 2, 1, 2,
1563 0,
1564 0,
1565 32,
1566 OPC_CheckChild1Integer, 2,
1567 OPC_CheckChild2CondCode, ISD::SETLT,
1568 OPC_CheckTypeI32,
1569 OPC_MoveSibling2,
1570 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1571 OPC_RecordNode,
1572 OPC_MoveParent,
1573 OPC_Scope, 8,
1574 OPC_CheckPatternPredicate2,
1575 OPC_EmitMergeInputChains1_0,
1576 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
1577 2, 1, 2,
1578 9,
1579 OPC_CheckPatternPredicate, 8,
1580 OPC_EmitMergeInputChains1_0,
1581 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
1582 2, 1, 2,
1583 0,
1584 32,
1585 OPC_CheckChild1Integer, 3,
1586 OPC_CheckChild2CondCode, ISD::SETGT,
1587 OPC_CheckTypeI32,
1588 OPC_MoveSibling2,
1589 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1590 OPC_RecordNode,
1591 OPC_MoveParent,
1592 OPC_Scope, 8,
1593 OPC_CheckPatternPredicate2,
1594 OPC_EmitMergeInputChains1_0,
1595 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
1596 2, 1, 2,
1597 9,
1598 OPC_CheckPatternPredicate, 8,
1599 OPC_EmitMergeInputChains1_0,
1600 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
1601 2, 1, 2,
1602 0,
1603 2|128,7,
1604 OPC_RecordChild1,
1605 OPC_Scope, 97|128,3,
1606 OPC_MoveChild1,
1607 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1608 OPC_Scope, 61,
1609 OPC_CheckPredicate7,
1610 OPC_MoveParent,
1611 OPC_CheckTypeI32,
1612 OPC_Scope, 27,
1613 OPC_CheckChild2CondCode, ISD::SETGE,
1614 OPC_MoveSibling2,
1615 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1616 OPC_RecordNode,
1617 OPC_MoveParent,
1618 OPC_CheckPatternPredicate2,
1619 OPC_EmitMergeInputChains1_0,
1620 OPC_EmitConvertToTarget2,
1621 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
1622 MVT::i32, 2, 1, 4,
1623 OPC_EmitRegisterI32, Mips::ZERO,
1624 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1625 3, 5, 6, 3,
1626 27,
1627 OPC_CheckChild2CondCode, ISD::SETUGE,
1628 OPC_MoveSibling2,
1629 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1630 OPC_RecordNode,
1631 OPC_MoveParent,
1632 OPC_CheckPatternPredicate2,
1633 OPC_EmitMergeInputChains1_0,
1634 OPC_EmitConvertToTarget2,
1635 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
1636 MVT::i32, 2, 1, 4,
1637 OPC_EmitRegisterI32, Mips::ZERO,
1638 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1639 3, 5, 6, 3,
1640 0,
1641 68,
1642 OPC_CheckPredicate, 11,
1643 OPC_MoveParent,
1644 OPC_CheckTypeI32,
1645 OPC_Scope, 30,
1646 OPC_CheckChild2CondCode, ISD::SETGT,
1647 OPC_MoveSibling2,
1648 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1649 OPC_RecordNode,
1650 OPC_MoveParent,
1651 OPC_CheckPatternPredicate2,
1652 OPC_EmitMergeInputChains1_0,
1653 OPC_EmitConvertToTarget2,
1654 OPC_EmitNodeXForm, 2, 4,
1655 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
1656 MVT::i32, 2, 1, 5,
1657 OPC_EmitRegisterI32, Mips::ZERO,
1658 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1659 3, 6, 7, 3,
1660 30,
1661 OPC_CheckChild2CondCode, ISD::SETUGT,
1662 OPC_MoveSibling2,
1663 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1664 OPC_RecordNode,
1665 OPC_MoveParent,
1666 OPC_CheckPatternPredicate2,
1667 OPC_EmitMergeInputChains1_0,
1668 OPC_EmitConvertToTarget2,
1669 OPC_EmitNodeXForm, 2, 4,
1670 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
1671 MVT::i32, 2, 1, 5,
1672 OPC_EmitRegisterI32, Mips::ZERO,
1673 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1674 3, 6, 7, 3,
1675 0,
1676 63,
1677 OPC_CheckPredicate7,
1678 OPC_MoveParent,
1679 OPC_CheckTypeI32,
1680 OPC_Scope, 28,
1681 OPC_CheckChild2CondCode, ISD::SETGE,
1682 OPC_MoveSibling2,
1683 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1684 OPC_RecordNode,
1685 OPC_MoveParent,
1686 OPC_CheckPatternPredicate, 8,
1687 OPC_EmitMergeInputChains1_0,
1688 OPC_EmitConvertToTarget2,
1689 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1690 MVT::i32, 2, 1, 4,
1691 OPC_EmitRegisterI32, Mips::ZERO,
1692 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1693 3, 5, 6, 3,
1694 28,
1695 OPC_CheckChild2CondCode, ISD::SETUGE,
1696 OPC_MoveSibling2,
1697 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1698 OPC_RecordNode,
1699 OPC_MoveParent,
1700 OPC_CheckPatternPredicate, 8,
1701 OPC_EmitMergeInputChains1_0,
1702 OPC_EmitConvertToTarget2,
1703 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1704 MVT::i32, 2, 1, 4,
1705 OPC_EmitRegisterI32, Mips::ZERO,
1706 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1707 3, 5, 6, 3,
1708 0,
1709 70,
1710 OPC_CheckPredicate, 11,
1711 OPC_MoveParent,
1712 OPC_CheckTypeI32,
1713 OPC_Scope, 31,
1714 OPC_CheckChild2CondCode, ISD::SETGT,
1715 OPC_MoveSibling2,
1716 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1717 OPC_RecordNode,
1718 OPC_MoveParent,
1719 OPC_CheckPatternPredicate, 8,
1720 OPC_EmitMergeInputChains1_0,
1721 OPC_EmitConvertToTarget2,
1722 OPC_EmitNodeXForm, 2, 4,
1723 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1724 MVT::i32, 2, 1, 5,
1725 OPC_EmitRegisterI32, Mips::ZERO,
1726 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1727 3, 6, 7, 3,
1728 31,
1729 OPC_CheckChild2CondCode, ISD::SETUGT,
1730 OPC_MoveSibling2,
1731 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1732 OPC_RecordNode,
1733 OPC_MoveParent,
1734 OPC_CheckPatternPredicate, 8,
1735 OPC_EmitMergeInputChains1_0,
1736 OPC_EmitConvertToTarget2,
1737 OPC_EmitNodeXForm, 2, 4,
1738 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1739 MVT::i32, 2, 1, 5,
1740 OPC_EmitRegisterI32, Mips::ZERO,
1741 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1742 3, 6, 7, 3,
1743 0,
1744 55,
1745 OPC_CheckPredicate7,
1746 OPC_MoveParent,
1747 OPC_CheckTypeI32,
1748 OPC_Scope, 24,
1749 OPC_CheckChild2CondCode, ISD::SETGE,
1750 OPC_MoveSibling2,
1751 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1752 OPC_RecordNode,
1753 OPC_MoveParent,
1754 OPC_CheckPatternPredicate7,
1755 OPC_EmitMergeInputChains1_0,
1756 OPC_EmitConvertToTarget2,
1757 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1758 MVT::i32, 2, 1, 4,
1759 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1760 2, 5, 3,
1761 24,
1762 OPC_CheckChild2CondCode, ISD::SETUGE,
1763 OPC_MoveSibling2,
1764 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1765 OPC_RecordNode,
1766 OPC_MoveParent,
1767 OPC_CheckPatternPredicate7,
1768 OPC_EmitMergeInputChains1_0,
1769 OPC_EmitConvertToTarget2,
1770 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1771 MVT::i32, 2, 1, 4,
1772 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1773 2, 5, 3,
1774 0,
1775 62,
1776 OPC_CheckPredicate, 11,
1777 OPC_MoveParent,
1778 OPC_CheckTypeI32,
1779 OPC_Scope, 27,
1780 OPC_CheckChild2CondCode, ISD::SETGT,
1781 OPC_MoveSibling2,
1782 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1783 OPC_RecordNode,
1784 OPC_MoveParent,
1785 OPC_CheckPatternPredicate7,
1786 OPC_EmitMergeInputChains1_0,
1787 OPC_EmitConvertToTarget2,
1788 OPC_EmitNodeXForm, 2, 4,
1789 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1790 MVT::i32, 2, 1, 5,
1791 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1792 2, 6, 3,
1793 27,
1794 OPC_CheckChild2CondCode, ISD::SETUGT,
1795 OPC_MoveSibling2,
1796 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1797 OPC_RecordNode,
1798 OPC_MoveParent,
1799 OPC_CheckPatternPredicate7,
1800 OPC_EmitMergeInputChains1_0,
1801 OPC_EmitConvertToTarget2,
1802 OPC_EmitNodeXForm, 2, 4,
1803 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1804 MVT::i32, 2, 1, 5,
1805 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1806 2, 6, 3,
1807 0,
1808 22,
1809 OPC_CheckPredicate, 13,
1810 OPC_MoveParent,
1811 OPC_CheckChild2CondCode, ISD::SETEQ,
1812 OPC_CheckTypeI32,
1813 OPC_MoveSibling2,
1814 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1815 OPC_RecordNode,
1816 OPC_MoveParent,
1817 OPC_CheckPatternPredicate5,
1818 OPC_EmitMergeInputChains1_0,
1819 OPC_EmitConvertToTarget2,
1820 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpiX16),
1821 3, 1, 4, 3,
1822 43,
1823 OPC_CheckPredicate7,
1824 OPC_MoveParent,
1825 OPC_CheckTypeI32,
1826 OPC_Scope, 18,
1827 OPC_CheckChild2CondCode, ISD::SETGE,
1828 OPC_MoveSibling2,
1829 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1830 OPC_RecordNode,
1831 OPC_MoveParent,
1832 OPC_CheckPatternPredicate5,
1833 OPC_EmitMergeInputChains1_0,
1834 OPC_EmitConvertToTarget2,
1835 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltiX16),
1836 3, 1, 4, 3,
1837 18,
1838 OPC_CheckChild2CondCode, ISD::SETLT,
1839 OPC_MoveSibling2,
1840 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1841 OPC_RecordNode,
1842 OPC_MoveParent,
1843 OPC_CheckPatternPredicate5,
1844 OPC_EmitMergeInputChains1_0,
1845 OPC_EmitConvertToTarget2,
1846 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltiX16),
1847 3, 1, 4, 3,
1848 0,
1849 22,
1850 OPC_CheckPredicate, 13,
1851 OPC_MoveParent,
1852 OPC_CheckChild2CondCode, ISD::SETNE,
1853 OPC_CheckTypeI32,
1854 OPC_MoveSibling2,
1855 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1856 OPC_RecordNode,
1857 OPC_MoveParent,
1858 OPC_CheckPatternPredicate5,
1859 OPC_EmitMergeInputChains1_0,
1860 OPC_EmitConvertToTarget2,
1861 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpiX16),
1862 3, 1, 4, 3,
1863 0,
1864 42,
1865 OPC_CheckChild2CondCode, ISD::SETEQ,
1866 OPC_CheckTypeI32,
1867 OPC_MoveSibling2,
1868 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1869 OPC_RecordNode,
1870 OPC_MoveParent,
1871 OPC_Scope, 9,
1872 OPC_CheckPatternPredicate2,
1873 OPC_EmitMergeInputChains1_0,
1874 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1875 3, 1, 2, 3,
1876 10,
1877 OPC_CheckPatternPredicate, 8,
1878 OPC_EmitMergeInputChains1_0,
1879 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1880 3, 1, 2, 3,
1881 9,
1882 OPC_CheckPatternPredicate5,
1883 OPC_EmitMergeInputChains1_0,
1884 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpX16),
1885 3, 1, 2, 3,
1886 0,
1887 42,
1888 OPC_CheckChild2CondCode, ISD::SETNE,
1889 OPC_CheckTypeI32,
1890 OPC_MoveSibling2,
1891 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1892 OPC_RecordNode,
1893 OPC_MoveParent,
1894 OPC_Scope, 9,
1895 OPC_CheckPatternPredicate2,
1896 OPC_EmitMergeInputChains1_0,
1897 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
1898 3, 1, 2, 3,
1899 10,
1900 OPC_CheckPatternPredicate, 8,
1901 OPC_EmitMergeInputChains1_0,
1902 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
1903 3, 1, 2, 3,
1904 9,
1905 OPC_CheckPatternPredicate5,
1906 OPC_EmitMergeInputChains1_0,
1907 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpX16),
1908 3, 1, 2, 3,
1909 0,
1910 76,
1911 OPC_CheckChild2CondCode, ISD::SETGE,
1912 OPC_CheckTypeI32,
1913 OPC_MoveSibling2,
1914 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1915 OPC_RecordNode,
1916 OPC_MoveParent,
1917 OPC_Scope, 18,
1918 OPC_CheckPatternPredicate2,
1919 OPC_EmitMergeInputChains1_0,
1920 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
1921 MVT::i32, 2, 1, 2,
1922 OPC_EmitRegisterI32, Mips::ZERO,
1923 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1924 3, 4, 5, 3,
1925 19,
1926 OPC_CheckPatternPredicate, 8,
1927 OPC_EmitMergeInputChains1_0,
1928 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
1929 MVT::i32, 2, 1, 2,
1930 OPC_EmitRegisterI32, Mips::ZERO,
1931 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1932 3, 4, 5, 3,
1933 15,
1934 OPC_CheckPatternPredicate7,
1935 OPC_EmitMergeInputChains1_0,
1936 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
1937 MVT::i32, 2, 1, 2,
1938 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1939 2, 4, 3,
1940 9,
1941 OPC_CheckPatternPredicate5,
1942 OPC_EmitMergeInputChains1_0,
1943 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
1944 3, 1, 2, 3,
1945 0,
1946 66,
1947 OPC_CheckChild2CondCode, ISD::SETUGE,
1948 OPC_CheckTypeI32,
1949 OPC_MoveSibling2,
1950 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1951 OPC_RecordNode,
1952 OPC_MoveParent,
1953 OPC_Scope, 18,
1954 OPC_CheckPatternPredicate2,
1955 OPC_EmitMergeInputChains1_0,
1956 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
1957 MVT::i32, 2, 1, 2,
1958 OPC_EmitRegisterI32, Mips::ZERO,
1959 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1960 3, 4, 5, 3,
1961 19,
1962 OPC_CheckPatternPredicate, 8,
1963 OPC_EmitMergeInputChains1_0,
1964 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
1965 MVT::i32, 2, 1, 2,
1966 OPC_EmitRegisterI32, Mips::ZERO,
1967 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1968 3, 4, 5, 3,
1969 15,
1970 OPC_CheckPatternPredicate7,
1971 OPC_EmitMergeInputChains1_0,
1972 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
1973 MVT::i32, 2, 1, 2,
1974 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1975 2, 4, 3,
1976 0,
1977 76,
1978 OPC_CheckChild2CondCode, ISD::SETLE,
1979 OPC_CheckTypeI32,
1980 OPC_MoveSibling2,
1981 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1982 OPC_RecordNode,
1983 OPC_MoveParent,
1984 OPC_Scope, 18,
1985 OPC_CheckPatternPredicate2,
1986 OPC_EmitMergeInputChains1_0,
1987 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
1988 MVT::i32, 2, 2, 1,
1989 OPC_EmitRegisterI32, Mips::ZERO,
1990 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1991 3, 4, 5, 3,
1992 19,
1993 OPC_CheckPatternPredicate, 8,
1994 OPC_EmitMergeInputChains1_0,
1995 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
1996 MVT::i32, 2, 2, 1,
1997 OPC_EmitRegisterI32, Mips::ZERO,
1998 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1999 3, 4, 5, 3,
2000 15,
2001 OPC_CheckPatternPredicate7,
2002 OPC_EmitMergeInputChains1_0,
2003 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
2004 MVT::i32, 2, 2, 1,
2005 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2006 2, 4, 3,
2007 9,
2008 OPC_CheckPatternPredicate5,
2009 OPC_EmitMergeInputChains1_0,
2010 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
2011 3, 2, 1, 3,
2012 0,
2013 66,
2014 OPC_CheckChild2CondCode, ISD::SETULE,
2015 OPC_CheckTypeI32,
2016 OPC_MoveSibling2,
2017 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2018 OPC_RecordNode,
2019 OPC_MoveParent,
2020 OPC_Scope, 18,
2021 OPC_CheckPatternPredicate2,
2022 OPC_EmitMergeInputChains1_0,
2023 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
2024 MVT::i32, 2, 2, 1,
2025 OPC_EmitRegisterI32, Mips::ZERO,
2026 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2027 3, 4, 5, 3,
2028 19,
2029 OPC_CheckPatternPredicate, 8,
2030 OPC_EmitMergeInputChains1_0,
2031 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2032 MVT::i32, 2, 2, 1,
2033 OPC_EmitRegisterI32, Mips::ZERO,
2034 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2035 3, 4, 5, 3,
2036 15,
2037 OPC_CheckPatternPredicate7,
2038 OPC_EmitMergeInputChains1_0,
2039 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2040 MVT::i32, 2, 2, 1,
2041 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2042 2, 4, 3,
2043 0,
2044 18,
2045 OPC_CheckChild2CondCode, ISD::SETGT,
2046 OPC_CheckTypeI32,
2047 OPC_MoveSibling2,
2048 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2049 OPC_RecordNode,
2050 OPC_MoveParent,
2051 OPC_CheckPatternPredicate5,
2052 OPC_EmitMergeInputChains1_0,
2053 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
2054 3, 2, 1, 3,
2055 18,
2056 OPC_CheckChild2CondCode, ISD::SETLT,
2057 OPC_CheckTypeI32,
2058 OPC_MoveSibling2,
2059 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2060 OPC_RecordNode,
2061 OPC_MoveParent,
2062 OPC_CheckPatternPredicate5,
2063 OPC_EmitMergeInputChains1_0,
2064 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
2065 3, 1, 2, 3,
2066 0,
2067 0,
2068 89|128,3,
2069 OPC_CheckChild0TypeI64,
2070 OPC_Scope, 123,
2071 OPC_CheckChild1Integer, 0,
2072 OPC_CheckTypeI32,
2073 OPC_Scope, 17,
2074 OPC_CheckChild2CondCode, ISD::SETGE,
2075 OPC_MoveSibling2,
2076 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2077 OPC_RecordNode,
2078 OPC_MoveParent,
2079 OPC_CheckPatternPredicate, 18,
2080 OPC_EmitMergeInputChains1_0,
2081 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
2082 2, 1, 2,
2083 17,
2084 OPC_CheckChild2CondCode, ISD::SETGT,
2085 OPC_MoveSibling2,
2086 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2087 OPC_RecordNode,
2088 OPC_MoveParent,
2089 OPC_CheckPatternPredicate, 18,
2090 OPC_EmitMergeInputChains1_0,
2091 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ64),
2092 2, 1, 2,
2093 17,
2094 OPC_CheckChild2CondCode, ISD::SETLE,
2095 OPC_MoveSibling2,
2096 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2097 OPC_RecordNode,
2098 OPC_MoveParent,
2099 OPC_CheckPatternPredicate, 18,
2100 OPC_EmitMergeInputChains1_0,
2101 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
2102 2, 1, 2,
2103 17,
2104 OPC_CheckChild2CondCode, ISD::SETLT,
2105 OPC_MoveSibling2,
2106 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2107 OPC_RecordNode,
2108 OPC_MoveParent,
2109 OPC_CheckPatternPredicate, 18,
2110 OPC_EmitMergeInputChains1_0,
2111 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ64),
2112 2, 1, 2,
2113 22,
2114 OPC_CheckChild2CondCode, ISD::SETNE,
2115 OPC_MoveSibling2,
2116 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2117 OPC_RecordNode,
2118 OPC_MoveParent,
2119 OPC_CheckPatternPredicate, 12,
2120 OPC_EmitMergeInputChains1_0,
2121 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2122 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2123 3, 1, 3, 2,
2124 22,
2125 OPC_CheckChild2CondCode, ISD::SETEQ,
2126 OPC_MoveSibling2,
2127 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2128 OPC_RecordNode,
2129 OPC_MoveParent,
2130 OPC_CheckPatternPredicate, 12,
2131 OPC_EmitMergeInputChains1_0,
2132 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2133 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
2134 3, 1, 3, 2,
2135 0,
2136 20,
2137 OPC_CheckChild1Integer, 2,
2138 OPC_CheckChild2CondCode, ISD::SETLT,
2139 OPC_CheckTypeI32,
2140 OPC_MoveSibling2,
2141 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2142 OPC_RecordNode,
2143 OPC_MoveParent,
2144 OPC_CheckPatternPredicate, 12,
2145 OPC_EmitMergeInputChains1_0,
2146 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
2147 2, 1, 2,
2148 20,
2149 OPC_CheckChild1Integer, 3,
2150 OPC_CheckChild2CondCode, ISD::SETGT,
2151 OPC_CheckTypeI32,
2152 OPC_MoveSibling2,
2153 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2154 OPC_RecordNode,
2155 OPC_MoveParent,
2156 OPC_CheckPatternPredicate, 12,
2157 OPC_EmitMergeInputChains1_0,
2158 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
2159 2, 1, 2,
2160 46|128,2,
2161 OPC_RecordChild1,
2162 OPC_Scope, 13|128,1,
2163 OPC_MoveChild1,
2164 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2165 OPC_Scope, 63,
2166 OPC_CheckPredicate7,
2167 OPC_MoveParent,
2168 OPC_CheckTypeI32,
2169 OPC_Scope, 28,
2170 OPC_CheckChild2CondCode, ISD::SETGE,
2171 OPC_MoveSibling2,
2172 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2173 OPC_RecordNode,
2174 OPC_MoveParent,
2175 OPC_CheckPatternPredicate, 12,
2176 OPC_EmitMergeInputChains1_0,
2177 OPC_EmitConvertToTarget2,
2178 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
2179 MVT::i32, 2, 1, 4,
2180 OPC_EmitRegisterI32, Mips::ZERO,
2181 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2182 3, 5, 6, 3,
2183 28,
2184 OPC_CheckChild2CondCode, ISD::SETUGE,
2185 OPC_MoveSibling2,
2186 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2187 OPC_RecordNode,
2188 OPC_MoveParent,
2189 OPC_CheckPatternPredicate, 12,
2190 OPC_EmitMergeInputChains1_0,
2191 OPC_EmitConvertToTarget2,
2192 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
2193 MVT::i32, 2, 1, 4,
2194 OPC_EmitRegisterI32, Mips::ZERO,
2195 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2196 3, 5, 6, 3,
2197 0,
2198 70,
2199 OPC_CheckPredicate, 11,
2200 OPC_MoveParent,
2201 OPC_CheckTypeI32,
2202 OPC_Scope, 31,
2203 OPC_CheckChild2CondCode, ISD::SETGT,
2204 OPC_MoveSibling2,
2205 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2206 OPC_RecordNode,
2207 OPC_MoveParent,
2208 OPC_CheckPatternPredicate, 12,
2209 OPC_EmitMergeInputChains1_0,
2210 OPC_EmitConvertToTarget2,
2211 OPC_EmitNodeXForm, 2, 4,
2212 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
2213 MVT::i32, 2, 1, 5,
2214 OPC_EmitRegisterI32, Mips::ZERO,
2215 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2216 3, 6, 7, 3,
2217 31,
2218 OPC_CheckChild2CondCode, ISD::SETUGT,
2219 OPC_MoveSibling2,
2220 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2221 OPC_RecordNode,
2222 OPC_MoveParent,
2223 OPC_CheckPatternPredicate, 12,
2224 OPC_EmitMergeInputChains1_0,
2225 OPC_EmitConvertToTarget2,
2226 OPC_EmitNodeXForm, 2, 4,
2227 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
2228 MVT::i32, 2, 1, 5,
2229 OPC_EmitRegisterI32, Mips::ZERO,
2230 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2231 3, 6, 7, 3,
2232 0,
2233 0,
2234 19,
2235 OPC_CheckChild2CondCode, ISD::SETEQ,
2236 OPC_CheckTypeI32,
2237 OPC_MoveSibling2,
2238 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2239 OPC_RecordNode,
2240 OPC_MoveParent,
2241 OPC_CheckPatternPredicate, 18,
2242 OPC_EmitMergeInputChains1_0,
2243 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
2244 3, 1, 2, 3,
2245 19,
2246 OPC_CheckChild2CondCode, ISD::SETNE,
2247 OPC_CheckTypeI32,
2248 OPC_MoveSibling2,
2249 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2250 OPC_RecordNode,
2251 OPC_MoveParent,
2252 OPC_CheckPatternPredicate, 18,
2253 OPC_EmitMergeInputChains1_0,
2254 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2255 3, 1, 2, 3,
2256 28,
2257 OPC_CheckChild2CondCode, ISD::SETGE,
2258 OPC_CheckTypeI32,
2259 OPC_MoveSibling2,
2260 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2261 OPC_RecordNode,
2262 OPC_MoveParent,
2263 OPC_CheckPatternPredicate, 12,
2264 OPC_EmitMergeInputChains1_0,
2265 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
2266 MVT::i32, 2, 1, 2,
2267 OPC_EmitRegisterI32, Mips::ZERO,
2268 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2269 3, 4, 5, 3,
2270 28,
2271 OPC_CheckChild2CondCode, ISD::SETUGE,
2272 OPC_CheckTypeI32,
2273 OPC_MoveSibling2,
2274 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2275 OPC_RecordNode,
2276 OPC_MoveParent,
2277 OPC_CheckPatternPredicate, 12,
2278 OPC_EmitMergeInputChains1_0,
2279 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
2280 MVT::i32, 2, 1, 2,
2281 OPC_EmitRegisterI32, Mips::ZERO,
2282 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2283 3, 4, 5, 3,
2284 28,
2285 OPC_CheckChild2CondCode, ISD::SETLE,
2286 OPC_CheckTypeI32,
2287 OPC_MoveSibling2,
2288 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2289 OPC_RecordNode,
2290 OPC_MoveParent,
2291 OPC_CheckPatternPredicate, 12,
2292 OPC_EmitMergeInputChains1_0,
2293 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
2294 MVT::i32, 2, 2, 1,
2295 OPC_EmitRegisterI32, Mips::ZERO,
2296 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2297 3, 4, 5, 3,
2298 28,
2299 OPC_CheckChild2CondCode, ISD::SETULE,
2300 OPC_CheckTypeI32,
2301 OPC_MoveSibling2,
2302 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2303 OPC_RecordNode,
2304 OPC_MoveParent,
2305 OPC_CheckPatternPredicate, 12,
2306 OPC_EmitMergeInputChains1_0,
2307 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
2308 MVT::i32, 2, 2, 1,
2309 OPC_EmitRegisterI32, Mips::ZERO,
2310 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2311 3, 4, 5, 3,
2312 0,
2313 0,
2314 0,
2315 0,
2316 78,
2317 OPC_RecordChild1,
2318 OPC_Scope, 52,
2319 OPC_CheckChild1TypeI32,
2320 OPC_RecordChild2,
2321 OPC_MoveChild2,
2322 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2323 OPC_MoveParent,
2324 OPC_Scope, 11,
2325 OPC_CheckPatternPredicate2,
2326 OPC_EmitMergeInputChains1_0,
2327 OPC_EmitRegisterI32, Mips::ZERO,
2328 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
2329 3, 1, 3, 2,
2330 8,
2331 OPC_CheckPatternPredicate5,
2332 OPC_EmitMergeInputChains1_0,
2333 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
2334 2, 1, 2,
2335 12,
2336 OPC_CheckPatternPredicate, 8,
2337 OPC_EmitMergeInputChains1_0,
2338 OPC_EmitRegisterI32, Mips::ZERO,
2339 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
2340 3, 1, 3, 2,
2341 8,
2342 OPC_CheckPatternPredicate7,
2343 OPC_EmitMergeInputChains1_0,
2344 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
2345 2, 1, 2,
2346 0,
2347 21,
2348 OPC_CheckChild1TypeI64,
2349 OPC_RecordChild2,
2350 OPC_MoveChild2,
2351 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2352 OPC_MoveParent,
2353 OPC_CheckPatternPredicate, 12,
2354 OPC_EmitMergeInputChains1_0,
2355 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2356 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2357 3, 1, 3, 2,
2358 0,
2359 0,
2360 54|128,7, TARGET_VAL(ISD::SHL),
2361 OPC_RecordChild0,
2362 OPC_Scope, 15|128,1,
2363 OPC_MoveChild1,
2364 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2365 OPC_Scope, 51,
2366 OPC_RecordChild0,
2367 OPC_MoveChild0,
2368 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2369 OPC_Scope, 20,
2370 OPC_CheckPredicate3,
2371 OPC_MoveSibling1,
2372 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2373 OPC_MoveParent,
2374 OPC_CheckPredicate, 24,
2375 OPC_CheckTypeI32,
2376 OPC_MoveParent,
2377 OPC_CheckTypeI32,
2378 OPC_CheckPatternPredicate2,
2379 OPC_EmitConvertToTarget1,
2380 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
2381 MVT::i32, 2, 0, 2,
2382 22,
2383 OPC_CheckPredicate, 16,
2384 OPC_MoveSibling1,
2385 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2386 OPC_MoveParent,
2387 OPC_CheckPredicate, 25,
2388 OPC_CheckTypeI32,
2389 OPC_MoveParent,
2390 OPC_CheckTypeI64,
2391 OPC_CheckPatternPredicate, 23,
2392 OPC_EmitConvertToTarget1,
2393 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
2394 MVT::i64, 2, 0, 2,
2395 0,
2396 47,
2397 OPC_MoveChild0,
2398 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2399 OPC_MoveSibling1,
2400 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2401 OPC_RecordNode,
2402 OPC_Scope, 16,
2403 OPC_CheckPredicate3,
2404 OPC_MoveParent,
2405 OPC_CheckPredicate, 24,
2406 OPC_CheckTypeI32,
2407 OPC_MoveParent,
2408 OPC_CheckTypeI32,
2409 OPC_CheckPatternPredicate2,
2410 OPC_EmitConvertToTarget1,
2411 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
2412 MVT::i32, 2, 0, 2,
2413 18,
2414 OPC_CheckPredicate, 16,
2415 OPC_MoveParent,
2416 OPC_CheckPredicate, 25,
2417 OPC_CheckTypeI32,
2418 OPC_MoveParent,
2419 OPC_CheckTypeI64,
2420 OPC_CheckPatternPredicate, 23,
2421 OPC_EmitConvertToTarget1,
2422 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
2423 MVT::i64, 2, 0, 2,
2424 0,
2425 36,
2426 OPC_RecordChild0,
2427 OPC_MoveChild1,
2428 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2429 OPC_MoveParent,
2430 OPC_CheckTypeI32,
2431 OPC_Scope, 12,
2432 OPC_CheckPredicate, 24,
2433 OPC_MoveParent,
2434 OPC_CheckTypeI32,
2435 OPC_CheckPatternPredicate2,
2436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
2437 MVT::i32, 2, 0, 1,
2438 13,
2439 OPC_CheckPredicate, 25,
2440 OPC_MoveParent,
2441 OPC_CheckTypeI64,
2442 OPC_CheckPatternPredicate, 23,
2443 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
2444 MVT::i64, 2, 0, 1,
2445 0,
2446 0,
2447 76,
2448 OPC_RecordChild1,
2449 OPC_MoveChild1,
2450 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2451 OPC_CheckTypeI32,
2452 OPC_Scope, 12,
2453 OPC_CheckPredicate3,
2454 OPC_MoveParent,
2455 OPC_CheckTypeI32,
2456 OPC_CheckPatternPredicate2,
2457 OPC_EmitConvertToTarget1,
2458 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
2459 MVT::i32, 2, 0, 2,
2460 14,
2461 OPC_CheckPredicate, 16,
2462 OPC_MoveParent,
2463 OPC_CheckTypeI64,
2464 OPC_CheckPatternPredicate, 23,
2465 OPC_EmitConvertToTarget1,
2466 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
2467 MVT::i64, 2, 0, 2,
2468 12,
2469 OPC_CheckPredicate3,
2470 OPC_MoveParent,
2471 OPC_CheckTypeI32,
2472 OPC_CheckPatternPredicate5,
2473 OPC_EmitConvertToTarget1,
2474 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
2475 MVT::i32, 2, 0, 2,
2476 13,
2477 OPC_CheckPredicate, 40,
2478 OPC_MoveParent,
2479 OPC_CheckTypeI32,
2480 OPC_CheckPatternPredicate4,
2481 OPC_EmitConvertToTarget1,
2482 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL16_MM),
2483 MVT::i32, 2, 0, 2,
2484 12,
2485 OPC_CheckPredicate3,
2486 OPC_MoveParent,
2487 OPC_CheckTypeI32,
2488 OPC_CheckPatternPredicate4,
2489 OPC_EmitConvertToTarget1,
2490 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_MM),
2491 MVT::i32, 2, 0, 2,
2492 0,
2493 26,
2494 OPC_MoveChild1,
2495 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2496 OPC_RecordChild0,
2497 OPC_CheckTypeI32,
2498 OPC_MoveParent,
2499 OPC_CheckTypeI64,
2500 OPC_CheckPatternPredicate, 12,
2501 OPC_EmitStringInteger32, Mips::sub_32,
2502 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
2503 MVT::i32, 2, 1, 2,
2504 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
2505 MVT::i64, 2, 0, 3,
2506 46,
2507 OPC_RecordChild1,
2508 OPC_CheckChild1TypeI32,
2509 OPC_SwitchType , 29, MVT::i32,
2510 OPC_Scope, 8,
2511 OPC_CheckPatternPredicate2,
2512 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
2513 MVT::i32, 2, 0, 1,
2514 8,
2515 OPC_CheckPatternPredicate5,
2516 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllvRxRy16),
2517 MVT::i32, 2, 0, 1,
2518 8,
2519 OPC_CheckPatternPredicate4,
2520 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV_MM),
2521 MVT::i32, 2, 0, 1,
2522 0,
2523 9, MVT::i64,
2524 OPC_CheckPatternPredicate, 23,
2525 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
2526 MVT::i64, 2, 0, 1,
2527 0,
2528 30|128,4,
2529 OPC_MoveChild1,
2530 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2531 OPC_Scope, 124,
2532 OPC_RecordChild0,
2533 OPC_MoveChild1,
2534 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2535 OPC_MoveChild0,
2536 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2537 OPC_CheckPredicate0,
2538 OPC_CheckTypeI32,
2539 OPC_MoveSibling1,
2540 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2541 OPC_CheckPredicate0,
2542 OPC_CheckTypeI32,
2543 OPC_MoveSibling2,
2544 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2545 OPC_CheckPredicate0,
2546 OPC_CheckTypeI32,
2547 OPC_MoveSibling3,
2548 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2549 OPC_CheckPredicate0,
2550 OPC_CheckTypeI32,
2551 OPC_MoveSibling4,
2552 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2553 OPC_CheckPredicate0,
2554 OPC_CheckTypeI32,
2555 OPC_MoveSibling5,
2556 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2557 OPC_CheckPredicate0,
2558 OPC_CheckTypeI32,
2559 OPC_MoveSibling6,
2560 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2561 OPC_CheckPredicate0,
2562 OPC_CheckTypeI32,
2563 OPC_MoveSibling7,
2564 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2565 OPC_CheckPredicate0,
2566 OPC_CheckTypeI32,
2567 OPC_MoveSibling, 8,
2568 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2569 OPC_CheckPredicate0,
2570 OPC_CheckTypeI32,
2571 OPC_MoveSibling, 9,
2572 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2573 OPC_CheckPredicate0,
2574 OPC_CheckTypeI32,
2575 OPC_MoveSibling, 10,
2576 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2577 OPC_CheckPredicate0,
2578 OPC_CheckTypeI32,
2579 OPC_MoveSibling, 11,
2580 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2581 OPC_CheckPredicate0,
2582 OPC_CheckTypeI32,
2583 OPC_MoveSibling, 12,
2584 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2585 OPC_CheckPredicate0,
2586 OPC_CheckTypeI32,
2587 OPC_MoveSibling, 13,
2588 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2589 OPC_CheckPredicate0,
2590 OPC_CheckTypeI32,
2591 OPC_MoveSibling, 14,
2592 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2593 OPC_CheckPredicate0,
2594 OPC_CheckTypeI32,
2595 OPC_MoveSibling, 15,
2596 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2597 OPC_CheckPredicate0,
2598 OPC_CheckTypeI32,
2599 OPC_MoveParent,
2600 OPC_MoveParent,
2601 OPC_CheckType, MVT::v16i8,
2602 OPC_MoveParent,
2603 OPC_CheckType, MVT::v16i8,
2604 OPC_CheckPatternPredicate3,
2605 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
2606 MVT::v16i8, 2, 0, 1,
2607 124,
2608 OPC_MoveChild0,
2609 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2610 OPC_MoveChild0,
2611 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2612 OPC_CheckPredicate0,
2613 OPC_CheckTypeI32,
2614 OPC_MoveSibling1,
2615 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2616 OPC_CheckPredicate0,
2617 OPC_CheckTypeI32,
2618 OPC_MoveSibling2,
2619 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2620 OPC_CheckPredicate0,
2621 OPC_CheckTypeI32,
2622 OPC_MoveSibling3,
2623 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2624 OPC_CheckPredicate0,
2625 OPC_CheckTypeI32,
2626 OPC_MoveSibling4,
2627 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2628 OPC_CheckPredicate0,
2629 OPC_CheckTypeI32,
2630 OPC_MoveSibling5,
2631 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2632 OPC_CheckPredicate0,
2633 OPC_CheckTypeI32,
2634 OPC_MoveSibling6,
2635 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2636 OPC_CheckPredicate0,
2637 OPC_CheckTypeI32,
2638 OPC_MoveSibling7,
2639 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2640 OPC_CheckPredicate0,
2641 OPC_CheckTypeI32,
2642 OPC_MoveSibling, 8,
2643 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2644 OPC_CheckPredicate0,
2645 OPC_CheckTypeI32,
2646 OPC_MoveSibling, 9,
2647 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2648 OPC_CheckPredicate0,
2649 OPC_CheckTypeI32,
2650 OPC_MoveSibling, 10,
2651 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2652 OPC_CheckPredicate0,
2653 OPC_CheckTypeI32,
2654 OPC_MoveSibling, 11,
2655 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2656 OPC_CheckPredicate0,
2657 OPC_CheckTypeI32,
2658 OPC_MoveSibling, 12,
2659 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2660 OPC_CheckPredicate0,
2661 OPC_CheckTypeI32,
2662 OPC_MoveSibling, 13,
2663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2664 OPC_CheckPredicate0,
2665 OPC_CheckTypeI32,
2666 OPC_MoveSibling, 14,
2667 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2668 OPC_CheckPredicate0,
2669 OPC_CheckTypeI32,
2670 OPC_MoveSibling, 15,
2671 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2672 OPC_CheckPredicate0,
2673 OPC_CheckTypeI32,
2674 OPC_MoveParent,
2675 OPC_MoveParent,
2676 OPC_RecordChild1,
2677 OPC_CheckType, MVT::v16i8,
2678 OPC_MoveParent,
2679 OPC_CheckType, MVT::v16i8,
2680 OPC_CheckPatternPredicate3,
2681 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
2682 MVT::v16i8, 2, 0, 1,
2683 68,
2684 OPC_RecordChild0,
2685 OPC_MoveChild1,
2686 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2687 OPC_MoveChild0,
2688 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2689 OPC_CheckPredicate1,
2690 OPC_CheckTypeI32,
2691 OPC_MoveSibling1,
2692 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2693 OPC_CheckPredicate1,
2694 OPC_CheckTypeI32,
2695 OPC_MoveSibling2,
2696 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2697 OPC_CheckPredicate1,
2698 OPC_CheckTypeI32,
2699 OPC_MoveSibling3,
2700 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2701 OPC_CheckPredicate1,
2702 OPC_CheckTypeI32,
2703 OPC_MoveSibling4,
2704 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2705 OPC_CheckPredicate1,
2706 OPC_CheckTypeI32,
2707 OPC_MoveSibling5,
2708 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2709 OPC_CheckPredicate1,
2710 OPC_CheckTypeI32,
2711 OPC_MoveSibling6,
2712 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2713 OPC_CheckPredicate1,
2714 OPC_CheckTypeI32,
2715 OPC_MoveSibling7,
2716 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2717 OPC_CheckPredicate1,
2718 OPC_CheckTypeI32,
2719 OPC_MoveParent,
2720 OPC_MoveParent,
2721 OPC_CheckType, MVT::v8i16,
2722 OPC_MoveParent,
2723 OPC_CheckType, MVT::v8i16,
2724 OPC_CheckPatternPredicate3,
2725 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
2726 MVT::v8i16, 2, 0, 1,
2727 68,
2728 OPC_MoveChild0,
2729 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2730 OPC_MoveChild0,
2731 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2732 OPC_CheckPredicate1,
2733 OPC_CheckTypeI32,
2734 OPC_MoveSibling1,
2735 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2736 OPC_CheckPredicate1,
2737 OPC_CheckTypeI32,
2738 OPC_MoveSibling2,
2739 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2740 OPC_CheckPredicate1,
2741 OPC_CheckTypeI32,
2742 OPC_MoveSibling3,
2743 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2744 OPC_CheckPredicate1,
2745 OPC_CheckTypeI32,
2746 OPC_MoveSibling4,
2747 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2748 OPC_CheckPredicate1,
2749 OPC_CheckTypeI32,
2750 OPC_MoveSibling5,
2751 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2752 OPC_CheckPredicate1,
2753 OPC_CheckTypeI32,
2754 OPC_MoveSibling6,
2755 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2756 OPC_CheckPredicate1,
2757 OPC_CheckTypeI32,
2758 OPC_MoveSibling7,
2759 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2760 OPC_CheckPredicate1,
2761 OPC_CheckTypeI32,
2762 OPC_MoveParent,
2763 OPC_MoveParent,
2764 OPC_RecordChild1,
2765 OPC_CheckType, MVT::v8i16,
2766 OPC_MoveParent,
2767 OPC_CheckType, MVT::v8i16,
2768 OPC_CheckPatternPredicate3,
2769 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
2770 MVT::v8i16, 2, 0, 1,
2771 44,
2772 OPC_RecordChild0,
2773 OPC_MoveChild1,
2774 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2775 OPC_MoveChild0,
2776 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2777 OPC_CheckPredicate2,
2778 OPC_CheckTypeI32,
2779 OPC_MoveSibling1,
2780 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2781 OPC_CheckPredicate2,
2782 OPC_CheckTypeI32,
2783 OPC_MoveSibling2,
2784 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2785 OPC_CheckPredicate2,
2786 OPC_CheckTypeI32,
2787 OPC_MoveSibling3,
2788 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2789 OPC_CheckPredicate2,
2790 OPC_CheckTypeI32,
2791 OPC_MoveParent,
2792 OPC_MoveParent,
2793 OPC_CheckType, MVT::v4i32,
2794 OPC_MoveParent,
2795 OPC_CheckType, MVT::v4i32,
2796 OPC_CheckPatternPredicate3,
2797 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
2798 MVT::v4i32, 2, 0, 1,
2799 44,
2800 OPC_MoveChild0,
2801 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2802 OPC_MoveChild0,
2803 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2804 OPC_CheckPredicate2,
2805 OPC_CheckTypeI32,
2806 OPC_MoveSibling1,
2807 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2808 OPC_CheckPredicate2,
2809 OPC_CheckTypeI32,
2810 OPC_MoveSibling2,
2811 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2812 OPC_CheckPredicate2,
2813 OPC_CheckTypeI32,
2814 OPC_MoveSibling3,
2815 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2816 OPC_CheckPredicate2,
2817 OPC_CheckTypeI32,
2818 OPC_MoveParent,
2819 OPC_MoveParent,
2820 OPC_RecordChild1,
2821 OPC_CheckType, MVT::v4i32,
2822 OPC_MoveParent,
2823 OPC_CheckType, MVT::v4i32,
2824 OPC_CheckPatternPredicate3,
2825 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
2826 MVT::v4i32, 2, 0, 1,
2827 28,
2828 OPC_RecordChild0,
2829 OPC_MoveChild1,
2830 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2831 OPC_MoveChild0,
2832 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2833 OPC_CheckType, MVT::v4i32,
2834 OPC_MoveParent,
2835 OPC_CheckPredicate, 14,
2836 OPC_MoveParent,
2837 OPC_CheckType, MVT::v2i64,
2838 OPC_MoveParent,
2839 OPC_CheckType, MVT::v2i64,
2840 OPC_CheckPatternPredicate3,
2841 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
2842 MVT::v2i64, 2, 0, 1,
2843 28,
2844 OPC_MoveChild0,
2845 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2846 OPC_MoveChild0,
2847 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2848 OPC_CheckType, MVT::v4i32,
2849 OPC_MoveParent,
2850 OPC_CheckPredicate, 14,
2851 OPC_MoveParent,
2852 OPC_RecordChild1,
2853 OPC_CheckType, MVT::v2i64,
2854 OPC_MoveParent,
2855 OPC_CheckType, MVT::v2i64,
2856 OPC_CheckPatternPredicate3,
2857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
2858 MVT::v2i64, 2, 0, 1,
2859 0,
2860 106,
2861 OPC_RecordChild1,
2862 OPC_SwitchType , 24, MVT::v16i8,
2863 OPC_CheckChild1Type, MVT::v16i8,
2864 OPC_CheckPatternPredicate0,
2865 OPC_Scope, 10,
2866 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
2867 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_B),
2868 MVT::v16i8, 2, 0, 2,
2869 7,
2870 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
2871 MVT::v16i8, 2, 0, 1,
2872 0,
2873 24, MVT::v8i16,
2874 OPC_CheckChild1Type, MVT::v8i16,
2875 OPC_CheckPatternPredicate0,
2876 OPC_Scope, 10,
2877 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
2878 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_H),
2879 MVT::v8i16, 2, 0, 2,
2880 7,
2881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
2882 MVT::v8i16, 2, 0, 1,
2883 0,
2884 23, MVT::v4i32,
2885 OPC_CheckChild1Type, MVT::v4i32,
2886 OPC_CheckPatternPredicate0,
2887 OPC_Scope, 9,
2888 OPC_CheckComplexPat4, /*#*/1,
2889 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_W),
2890 MVT::v4i32, 2, 0, 2,
2891 7,
2892 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
2893 MVT::v4i32, 2, 0, 1,
2894 0,
2895 24, MVT::v2i64,
2896 OPC_CheckChild1Type, MVT::v2i64,
2897 OPC_CheckPatternPredicate0,
2898 OPC_Scope, 10,
2899 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
2900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_D),
2901 MVT::v2i64, 2, 0, 2,
2902 7,
2903 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
2904 MVT::v2i64, 2, 0, 1,
2905 0,
2906 0,
2907 0,
2908 54|128,7, TARGET_VAL(ISD::SRL),
2909 OPC_RecordChild0,
2910 OPC_Scope, 15|128,1,
2911 OPC_MoveChild1,
2912 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2913 OPC_Scope, 51,
2914 OPC_RecordChild0,
2915 OPC_MoveChild0,
2916 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2917 OPC_Scope, 20,
2918 OPC_CheckPredicate3,
2919 OPC_MoveSibling1,
2920 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2921 OPC_MoveParent,
2922 OPC_CheckPredicate, 24,
2923 OPC_CheckTypeI32,
2924 OPC_MoveParent,
2925 OPC_CheckTypeI32,
2926 OPC_CheckPatternPredicate2,
2927 OPC_EmitConvertToTarget1,
2928 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
2929 MVT::i32, 2, 0, 2,
2930 22,
2931 OPC_CheckPredicate, 16,
2932 OPC_MoveSibling1,
2933 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2934 OPC_MoveParent,
2935 OPC_CheckPredicate, 25,
2936 OPC_CheckTypeI32,
2937 OPC_MoveParent,
2938 OPC_CheckTypeI64,
2939 OPC_CheckPatternPredicate, 23,
2940 OPC_EmitConvertToTarget1,
2941 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
2942 MVT::i64, 2, 0, 2,
2943 0,
2944 47,
2945 OPC_MoveChild0,
2946 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2947 OPC_MoveSibling1,
2948 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2949 OPC_RecordNode,
2950 OPC_Scope, 16,
2951 OPC_CheckPredicate3,
2952 OPC_MoveParent,
2953 OPC_CheckPredicate, 24,
2954 OPC_CheckTypeI32,
2955 OPC_MoveParent,
2956 OPC_CheckTypeI32,
2957 OPC_CheckPatternPredicate2,
2958 OPC_EmitConvertToTarget1,
2959 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
2960 MVT::i32, 2, 0, 2,
2961 18,
2962 OPC_CheckPredicate, 16,
2963 OPC_MoveParent,
2964 OPC_CheckPredicate, 25,
2965 OPC_CheckTypeI32,
2966 OPC_MoveParent,
2967 OPC_CheckTypeI64,
2968 OPC_CheckPatternPredicate, 23,
2969 OPC_EmitConvertToTarget1,
2970 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
2971 MVT::i64, 2, 0, 2,
2972 0,
2973 36,
2974 OPC_RecordChild0,
2975 OPC_MoveChild1,
2976 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2977 OPC_MoveParent,
2978 OPC_CheckTypeI32,
2979 OPC_Scope, 12,
2980 OPC_CheckPredicate, 24,
2981 OPC_MoveParent,
2982 OPC_CheckTypeI32,
2983 OPC_CheckPatternPredicate2,
2984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
2985 MVT::i32, 2, 0, 1,
2986 13,
2987 OPC_CheckPredicate, 25,
2988 OPC_MoveParent,
2989 OPC_CheckTypeI64,
2990 OPC_CheckPatternPredicate, 23,
2991 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
2992 MVT::i64, 2, 0, 1,
2993 0,
2994 0,
2995 76,
2996 OPC_RecordChild1,
2997 OPC_MoveChild1,
2998 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2999 OPC_CheckTypeI32,
3000 OPC_Scope, 12,
3001 OPC_CheckPredicate3,
3002 OPC_MoveParent,
3003 OPC_CheckTypeI32,
3004 OPC_CheckPatternPredicate2,
3005 OPC_EmitConvertToTarget1,
3006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
3007 MVT::i32, 2, 0, 2,
3008 14,
3009 OPC_CheckPredicate, 16,
3010 OPC_MoveParent,
3011 OPC_CheckTypeI64,
3012 OPC_CheckPatternPredicate, 23,
3013 OPC_EmitConvertToTarget1,
3014 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
3015 MVT::i64, 2, 0, 2,
3016 12,
3017 OPC_CheckPredicate3,
3018 OPC_MoveParent,
3019 OPC_CheckTypeI32,
3020 OPC_CheckPatternPredicate5,
3021 OPC_EmitConvertToTarget1,
3022 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlX16),
3023 MVT::i32, 2, 0, 2,
3024 13,
3025 OPC_CheckPredicate, 40,
3026 OPC_MoveParent,
3027 OPC_CheckTypeI32,
3028 OPC_CheckPatternPredicate4,
3029 OPC_EmitConvertToTarget1,
3030 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL16_MM),
3031 MVT::i32, 2, 0, 2,
3032 12,
3033 OPC_CheckPredicate3,
3034 OPC_MoveParent,
3035 OPC_CheckTypeI32,
3036 OPC_CheckPatternPredicate4,
3037 OPC_EmitConvertToTarget1,
3038 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_MM),
3039 MVT::i32, 2, 0, 2,
3040 0,
3041 26,
3042 OPC_MoveChild1,
3043 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3044 OPC_RecordChild0,
3045 OPC_CheckTypeI32,
3046 OPC_MoveParent,
3047 OPC_CheckTypeI64,
3048 OPC_CheckPatternPredicate, 12,
3049 OPC_EmitStringInteger32, Mips::sub_32,
3050 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3051 MVT::i32, 2, 1, 2,
3052 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
3053 MVT::i64, 2, 0, 3,
3054 46,
3055 OPC_RecordChild1,
3056 OPC_CheckChild1TypeI32,
3057 OPC_SwitchType , 29, MVT::i32,
3058 OPC_Scope, 8,
3059 OPC_CheckPatternPredicate2,
3060 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
3061 MVT::i32, 2, 0, 1,
3062 8,
3063 OPC_CheckPatternPredicate5,
3064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlvRxRy16),
3065 MVT::i32, 2, 0, 1,
3066 8,
3067 OPC_CheckPatternPredicate4,
3068 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV_MM),
3069 MVT::i32, 2, 0, 1,
3070 0,
3071 9, MVT::i64,
3072 OPC_CheckPatternPredicate, 23,
3073 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
3074 MVT::i64, 2, 0, 1,
3075 0,
3076 30|128,4,
3077 OPC_MoveChild1,
3078 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3079 OPC_Scope, 124,
3080 OPC_RecordChild0,
3081 OPC_MoveChild1,
3082 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3083 OPC_MoveChild0,
3084 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3085 OPC_CheckPredicate0,
3086 OPC_CheckTypeI32,
3087 OPC_MoveSibling1,
3088 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3089 OPC_CheckPredicate0,
3090 OPC_CheckTypeI32,
3091 OPC_MoveSibling2,
3092 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3093 OPC_CheckPredicate0,
3094 OPC_CheckTypeI32,
3095 OPC_MoveSibling3,
3096 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3097 OPC_CheckPredicate0,
3098 OPC_CheckTypeI32,
3099 OPC_MoveSibling4,
3100 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3101 OPC_CheckPredicate0,
3102 OPC_CheckTypeI32,
3103 OPC_MoveSibling5,
3104 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3105 OPC_CheckPredicate0,
3106 OPC_CheckTypeI32,
3107 OPC_MoveSibling6,
3108 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3109 OPC_CheckPredicate0,
3110 OPC_CheckTypeI32,
3111 OPC_MoveSibling7,
3112 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3113 OPC_CheckPredicate0,
3114 OPC_CheckTypeI32,
3115 OPC_MoveSibling, 8,
3116 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3117 OPC_CheckPredicate0,
3118 OPC_CheckTypeI32,
3119 OPC_MoveSibling, 9,
3120 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3121 OPC_CheckPredicate0,
3122 OPC_CheckTypeI32,
3123 OPC_MoveSibling, 10,
3124 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3125 OPC_CheckPredicate0,
3126 OPC_CheckTypeI32,
3127 OPC_MoveSibling, 11,
3128 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3129 OPC_CheckPredicate0,
3130 OPC_CheckTypeI32,
3131 OPC_MoveSibling, 12,
3132 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3133 OPC_CheckPredicate0,
3134 OPC_CheckTypeI32,
3135 OPC_MoveSibling, 13,
3136 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3137 OPC_CheckPredicate0,
3138 OPC_CheckTypeI32,
3139 OPC_MoveSibling, 14,
3140 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3141 OPC_CheckPredicate0,
3142 OPC_CheckTypeI32,
3143 OPC_MoveSibling, 15,
3144 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3145 OPC_CheckPredicate0,
3146 OPC_CheckTypeI32,
3147 OPC_MoveParent,
3148 OPC_MoveParent,
3149 OPC_CheckType, MVT::v16i8,
3150 OPC_MoveParent,
3151 OPC_CheckType, MVT::v16i8,
3152 OPC_CheckPatternPredicate3,
3153 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
3154 MVT::v16i8, 2, 0, 1,
3155 124,
3156 OPC_MoveChild0,
3157 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3158 OPC_MoveChild0,
3159 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3160 OPC_CheckPredicate0,
3161 OPC_CheckTypeI32,
3162 OPC_MoveSibling1,
3163 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3164 OPC_CheckPredicate0,
3165 OPC_CheckTypeI32,
3166 OPC_MoveSibling2,
3167 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3168 OPC_CheckPredicate0,
3169 OPC_CheckTypeI32,
3170 OPC_MoveSibling3,
3171 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3172 OPC_CheckPredicate0,
3173 OPC_CheckTypeI32,
3174 OPC_MoveSibling4,
3175 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3176 OPC_CheckPredicate0,
3177 OPC_CheckTypeI32,
3178 OPC_MoveSibling5,
3179 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3180 OPC_CheckPredicate0,
3181 OPC_CheckTypeI32,
3182 OPC_MoveSibling6,
3183 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3184 OPC_CheckPredicate0,
3185 OPC_CheckTypeI32,
3186 OPC_MoveSibling7,
3187 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3188 OPC_CheckPredicate0,
3189 OPC_CheckTypeI32,
3190 OPC_MoveSibling, 8,
3191 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3192 OPC_CheckPredicate0,
3193 OPC_CheckTypeI32,
3194 OPC_MoveSibling, 9,
3195 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3196 OPC_CheckPredicate0,
3197 OPC_CheckTypeI32,
3198 OPC_MoveSibling, 10,
3199 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3200 OPC_CheckPredicate0,
3201 OPC_CheckTypeI32,
3202 OPC_MoveSibling, 11,
3203 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3204 OPC_CheckPredicate0,
3205 OPC_CheckTypeI32,
3206 OPC_MoveSibling, 12,
3207 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3208 OPC_CheckPredicate0,
3209 OPC_CheckTypeI32,
3210 OPC_MoveSibling, 13,
3211 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3212 OPC_CheckPredicate0,
3213 OPC_CheckTypeI32,
3214 OPC_MoveSibling, 14,
3215 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3216 OPC_CheckPredicate0,
3217 OPC_CheckTypeI32,
3218 OPC_MoveSibling, 15,
3219 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3220 OPC_CheckPredicate0,
3221 OPC_CheckTypeI32,
3222 OPC_MoveParent,
3223 OPC_MoveParent,
3224 OPC_RecordChild1,
3225 OPC_CheckType, MVT::v16i8,
3226 OPC_MoveParent,
3227 OPC_CheckType, MVT::v16i8,
3228 OPC_CheckPatternPredicate3,
3229 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
3230 MVT::v16i8, 2, 0, 1,
3231 68,
3232 OPC_RecordChild0,
3233 OPC_MoveChild1,
3234 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3235 OPC_MoveChild0,
3236 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3237 OPC_CheckPredicate1,
3238 OPC_CheckTypeI32,
3239 OPC_MoveSibling1,
3240 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3241 OPC_CheckPredicate1,
3242 OPC_CheckTypeI32,
3243 OPC_MoveSibling2,
3244 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3245 OPC_CheckPredicate1,
3246 OPC_CheckTypeI32,
3247 OPC_MoveSibling3,
3248 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3249 OPC_CheckPredicate1,
3250 OPC_CheckTypeI32,
3251 OPC_MoveSibling4,
3252 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3253 OPC_CheckPredicate1,
3254 OPC_CheckTypeI32,
3255 OPC_MoveSibling5,
3256 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3257 OPC_CheckPredicate1,
3258 OPC_CheckTypeI32,
3259 OPC_MoveSibling6,
3260 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3261 OPC_CheckPredicate1,
3262 OPC_CheckTypeI32,
3263 OPC_MoveSibling7,
3264 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3265 OPC_CheckPredicate1,
3266 OPC_CheckTypeI32,
3267 OPC_MoveParent,
3268 OPC_MoveParent,
3269 OPC_CheckType, MVT::v8i16,
3270 OPC_MoveParent,
3271 OPC_CheckType, MVT::v8i16,
3272 OPC_CheckPatternPredicate3,
3273 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
3274 MVT::v8i16, 2, 0, 1,
3275 68,
3276 OPC_MoveChild0,
3277 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3278 OPC_MoveChild0,
3279 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3280 OPC_CheckPredicate1,
3281 OPC_CheckTypeI32,
3282 OPC_MoveSibling1,
3283 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3284 OPC_CheckPredicate1,
3285 OPC_CheckTypeI32,
3286 OPC_MoveSibling2,
3287 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3288 OPC_CheckPredicate1,
3289 OPC_CheckTypeI32,
3290 OPC_MoveSibling3,
3291 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3292 OPC_CheckPredicate1,
3293 OPC_CheckTypeI32,
3294 OPC_MoveSibling4,
3295 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3296 OPC_CheckPredicate1,
3297 OPC_CheckTypeI32,
3298 OPC_MoveSibling5,
3299 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3300 OPC_CheckPredicate1,
3301 OPC_CheckTypeI32,
3302 OPC_MoveSibling6,
3303 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3304 OPC_CheckPredicate1,
3305 OPC_CheckTypeI32,
3306 OPC_MoveSibling7,
3307 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3308 OPC_CheckPredicate1,
3309 OPC_CheckTypeI32,
3310 OPC_MoveParent,
3311 OPC_MoveParent,
3312 OPC_RecordChild1,
3313 OPC_CheckType, MVT::v8i16,
3314 OPC_MoveParent,
3315 OPC_CheckType, MVT::v8i16,
3316 OPC_CheckPatternPredicate3,
3317 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
3318 MVT::v8i16, 2, 0, 1,
3319 44,
3320 OPC_RecordChild0,
3321 OPC_MoveChild1,
3322 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3323 OPC_MoveChild0,
3324 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3325 OPC_CheckPredicate2,
3326 OPC_CheckTypeI32,
3327 OPC_MoveSibling1,
3328 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3329 OPC_CheckPredicate2,
3330 OPC_CheckTypeI32,
3331 OPC_MoveSibling2,
3332 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3333 OPC_CheckPredicate2,
3334 OPC_CheckTypeI32,
3335 OPC_MoveSibling3,
3336 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3337 OPC_CheckPredicate2,
3338 OPC_CheckTypeI32,
3339 OPC_MoveParent,
3340 OPC_MoveParent,
3341 OPC_CheckType, MVT::v4i32,
3342 OPC_MoveParent,
3343 OPC_CheckType, MVT::v4i32,
3344 OPC_CheckPatternPredicate3,
3345 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
3346 MVT::v4i32, 2, 0, 1,
3347 44,
3348 OPC_MoveChild0,
3349 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3350 OPC_MoveChild0,
3351 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3352 OPC_CheckPredicate2,
3353 OPC_CheckTypeI32,
3354 OPC_MoveSibling1,
3355 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3356 OPC_CheckPredicate2,
3357 OPC_CheckTypeI32,
3358 OPC_MoveSibling2,
3359 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3360 OPC_CheckPredicate2,
3361 OPC_CheckTypeI32,
3362 OPC_MoveSibling3,
3363 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3364 OPC_CheckPredicate2,
3365 OPC_CheckTypeI32,
3366 OPC_MoveParent,
3367 OPC_MoveParent,
3368 OPC_RecordChild1,
3369 OPC_CheckType, MVT::v4i32,
3370 OPC_MoveParent,
3371 OPC_CheckType, MVT::v4i32,
3372 OPC_CheckPatternPredicate3,
3373 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
3374 MVT::v4i32, 2, 0, 1,
3375 28,
3376 OPC_RecordChild0,
3377 OPC_MoveChild1,
3378 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3379 OPC_MoveChild0,
3380 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3381 OPC_CheckType, MVT::v4i32,
3382 OPC_MoveParent,
3383 OPC_CheckPredicate, 14,
3384 OPC_MoveParent,
3385 OPC_CheckType, MVT::v2i64,
3386 OPC_MoveParent,
3387 OPC_CheckType, MVT::v2i64,
3388 OPC_CheckPatternPredicate3,
3389 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
3390 MVT::v2i64, 2, 0, 1,
3391 28,
3392 OPC_MoveChild0,
3393 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3394 OPC_MoveChild0,
3395 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3396 OPC_CheckType, MVT::v4i32,
3397 OPC_MoveParent,
3398 OPC_CheckPredicate, 14,
3399 OPC_MoveParent,
3400 OPC_RecordChild1,
3401 OPC_CheckType, MVT::v2i64,
3402 OPC_MoveParent,
3403 OPC_CheckType, MVT::v2i64,
3404 OPC_CheckPatternPredicate3,
3405 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
3406 MVT::v2i64, 2, 0, 1,
3407 0,
3408 106,
3409 OPC_RecordChild1,
3410 OPC_SwitchType , 24, MVT::v16i8,
3411 OPC_CheckChild1Type, MVT::v16i8,
3412 OPC_CheckPatternPredicate0,
3413 OPC_Scope, 10,
3414 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
3415 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_B),
3416 MVT::v16i8, 2, 0, 2,
3417 7,
3418 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
3419 MVT::v16i8, 2, 0, 1,
3420 0,
3421 24, MVT::v8i16,
3422 OPC_CheckChild1Type, MVT::v8i16,
3423 OPC_CheckPatternPredicate0,
3424 OPC_Scope, 10,
3425 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
3426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_H),
3427 MVT::v8i16, 2, 0, 2,
3428 7,
3429 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
3430 MVT::v8i16, 2, 0, 1,
3431 0,
3432 23, MVT::v4i32,
3433 OPC_CheckChild1Type, MVT::v4i32,
3434 OPC_CheckPatternPredicate0,
3435 OPC_Scope, 9,
3436 OPC_CheckComplexPat4, /*#*/1,
3437 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_W),
3438 MVT::v4i32, 2, 0, 2,
3439 7,
3440 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
3441 MVT::v4i32, 2, 0, 1,
3442 0,
3443 24, MVT::v2i64,
3444 OPC_CheckChild1Type, MVT::v2i64,
3445 OPC_CheckPatternPredicate0,
3446 OPC_Scope, 10,
3447 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
3448 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_D),
3449 MVT::v2i64, 2, 0, 2,
3450 7,
3451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
3452 MVT::v2i64, 2, 0, 1,
3453 0,
3454 0,
3455 0,
3456 40|128,7, TARGET_VAL(ISD::SRA),
3457 OPC_RecordChild0,
3458 OPC_Scope, 15|128,1,
3459 OPC_MoveChild1,
3460 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3461 OPC_Scope, 51,
3462 OPC_RecordChild0,
3463 OPC_MoveChild0,
3464 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3465 OPC_Scope, 20,
3466 OPC_CheckPredicate3,
3467 OPC_MoveSibling1,
3468 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3469 OPC_MoveParent,
3470 OPC_CheckPredicate, 24,
3471 OPC_CheckTypeI32,
3472 OPC_MoveParent,
3473 OPC_CheckTypeI32,
3474 OPC_CheckPatternPredicate2,
3475 OPC_EmitConvertToTarget1,
3476 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
3477 MVT::i32, 2, 0, 2,
3478 22,
3479 OPC_CheckPredicate, 16,
3480 OPC_MoveSibling1,
3481 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3482 OPC_MoveParent,
3483 OPC_CheckPredicate, 25,
3484 OPC_CheckTypeI32,
3485 OPC_MoveParent,
3486 OPC_CheckTypeI64,
3487 OPC_CheckPatternPredicate, 23,
3488 OPC_EmitConvertToTarget1,
3489 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
3490 MVT::i64, 2, 0, 2,
3491 0,
3492 47,
3493 OPC_MoveChild0,
3494 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3495 OPC_MoveSibling1,
3496 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3497 OPC_RecordNode,
3498 OPC_Scope, 16,
3499 OPC_CheckPredicate3,
3500 OPC_MoveParent,
3501 OPC_CheckPredicate, 24,
3502 OPC_CheckTypeI32,
3503 OPC_MoveParent,
3504 OPC_CheckTypeI32,
3505 OPC_CheckPatternPredicate2,
3506 OPC_EmitConvertToTarget1,
3507 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
3508 MVT::i32, 2, 0, 2,
3509 18,
3510 OPC_CheckPredicate, 16,
3511 OPC_MoveParent,
3512 OPC_CheckPredicate, 25,
3513 OPC_CheckTypeI32,
3514 OPC_MoveParent,
3515 OPC_CheckTypeI64,
3516 OPC_CheckPatternPredicate, 23,
3517 OPC_EmitConvertToTarget1,
3518 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
3519 MVT::i64, 2, 0, 2,
3520 0,
3521 36,
3522 OPC_RecordChild0,
3523 OPC_MoveChild1,
3524 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3525 OPC_MoveParent,
3526 OPC_CheckTypeI32,
3527 OPC_Scope, 12,
3528 OPC_CheckPredicate, 24,
3529 OPC_MoveParent,
3530 OPC_CheckTypeI32,
3531 OPC_CheckPatternPredicate2,
3532 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
3533 MVT::i32, 2, 0, 1,
3534 13,
3535 OPC_CheckPredicate, 25,
3536 OPC_MoveParent,
3537 OPC_CheckTypeI64,
3538 OPC_CheckPatternPredicate, 23,
3539 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
3540 MVT::i64, 2, 0, 1,
3541 0,
3542 0,
3543 62,
3544 OPC_RecordChild1,
3545 OPC_MoveChild1,
3546 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3547 OPC_CheckTypeI32,
3548 OPC_Scope, 12,
3549 OPC_CheckPredicate3,
3550 OPC_MoveParent,
3551 OPC_CheckTypeI32,
3552 OPC_CheckPatternPredicate2,
3553 OPC_EmitConvertToTarget1,
3554 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
3555 MVT::i32, 2, 0, 2,
3556 14,
3557 OPC_CheckPredicate, 16,
3558 OPC_MoveParent,
3559 OPC_CheckTypeI64,
3560 OPC_CheckPatternPredicate, 23,
3561 OPC_EmitConvertToTarget1,
3562 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
3563 MVT::i64, 2, 0, 2,
3564 25,
3565 OPC_CheckPredicate3,
3566 OPC_MoveParent,
3567 OPC_CheckTypeI32,
3568 OPC_Scope, 9,
3569 OPC_CheckPatternPredicate5,
3570 OPC_EmitConvertToTarget1,
3571 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SraX16),
3572 MVT::i32, 2, 0, 2,
3573 9,
3574 OPC_CheckPatternPredicate4,
3575 OPC_EmitConvertToTarget1,
3576 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_MM),
3577 MVT::i32, 2, 0, 2,
3578 0,
3579 0,
3580 26,
3581 OPC_MoveChild1,
3582 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3583 OPC_RecordChild0,
3584 OPC_CheckTypeI32,
3585 OPC_MoveParent,
3586 OPC_CheckTypeI64,
3587 OPC_CheckPatternPredicate, 12,
3588 OPC_EmitStringInteger32, Mips::sub_32,
3589 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3590 MVT::i32, 2, 1, 2,
3591 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
3592 MVT::i64, 2, 0, 3,
3593 46,
3594 OPC_RecordChild1,
3595 OPC_CheckChild1TypeI32,
3596 OPC_SwitchType , 29, MVT::i32,
3597 OPC_Scope, 8,
3598 OPC_CheckPatternPredicate2,
3599 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
3600 MVT::i32, 2, 0, 1,
3601 8,
3602 OPC_CheckPatternPredicate5,
3603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SravRxRy16),
3604 MVT::i32, 2, 0, 1,
3605 8,
3606 OPC_CheckPatternPredicate4,
3607 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV_MM),
3608 MVT::i32, 2, 0, 1,
3609 0,
3610 9, MVT::i64,
3611 OPC_CheckPatternPredicate, 23,
3612 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
3613 MVT::i64, 2, 0, 1,
3614 0,
3615 30|128,4,
3616 OPC_MoveChild1,
3617 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3618 OPC_Scope, 124,
3619 OPC_RecordChild0,
3620 OPC_MoveChild1,
3621 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3622 OPC_MoveChild0,
3623 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3624 OPC_CheckPredicate0,
3625 OPC_CheckTypeI32,
3626 OPC_MoveSibling1,
3627 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3628 OPC_CheckPredicate0,
3629 OPC_CheckTypeI32,
3630 OPC_MoveSibling2,
3631 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3632 OPC_CheckPredicate0,
3633 OPC_CheckTypeI32,
3634 OPC_MoveSibling3,
3635 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3636 OPC_CheckPredicate0,
3637 OPC_CheckTypeI32,
3638 OPC_MoveSibling4,
3639 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3640 OPC_CheckPredicate0,
3641 OPC_CheckTypeI32,
3642 OPC_MoveSibling5,
3643 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3644 OPC_CheckPredicate0,
3645 OPC_CheckTypeI32,
3646 OPC_MoveSibling6,
3647 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3648 OPC_CheckPredicate0,
3649 OPC_CheckTypeI32,
3650 OPC_MoveSibling7,
3651 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3652 OPC_CheckPredicate0,
3653 OPC_CheckTypeI32,
3654 OPC_MoveSibling, 8,
3655 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3656 OPC_CheckPredicate0,
3657 OPC_CheckTypeI32,
3658 OPC_MoveSibling, 9,
3659 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3660 OPC_CheckPredicate0,
3661 OPC_CheckTypeI32,
3662 OPC_MoveSibling, 10,
3663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3664 OPC_CheckPredicate0,
3665 OPC_CheckTypeI32,
3666 OPC_MoveSibling, 11,
3667 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3668 OPC_CheckPredicate0,
3669 OPC_CheckTypeI32,
3670 OPC_MoveSibling, 12,
3671 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3672 OPC_CheckPredicate0,
3673 OPC_CheckTypeI32,
3674 OPC_MoveSibling, 13,
3675 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3676 OPC_CheckPredicate0,
3677 OPC_CheckTypeI32,
3678 OPC_MoveSibling, 14,
3679 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3680 OPC_CheckPredicate0,
3681 OPC_CheckTypeI32,
3682 OPC_MoveSibling, 15,
3683 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3684 OPC_CheckPredicate0,
3685 OPC_CheckTypeI32,
3686 OPC_MoveParent,
3687 OPC_MoveParent,
3688 OPC_CheckType, MVT::v16i8,
3689 OPC_MoveParent,
3690 OPC_CheckType, MVT::v16i8,
3691 OPC_CheckPatternPredicate3,
3692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
3693 MVT::v16i8, 2, 0, 1,
3694 124,
3695 OPC_MoveChild0,
3696 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3697 OPC_MoveChild0,
3698 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3699 OPC_CheckPredicate0,
3700 OPC_CheckTypeI32,
3701 OPC_MoveSibling1,
3702 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3703 OPC_CheckPredicate0,
3704 OPC_CheckTypeI32,
3705 OPC_MoveSibling2,
3706 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3707 OPC_CheckPredicate0,
3708 OPC_CheckTypeI32,
3709 OPC_MoveSibling3,
3710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3711 OPC_CheckPredicate0,
3712 OPC_CheckTypeI32,
3713 OPC_MoveSibling4,
3714 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3715 OPC_CheckPredicate0,
3716 OPC_CheckTypeI32,
3717 OPC_MoveSibling5,
3718 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3719 OPC_CheckPredicate0,
3720 OPC_CheckTypeI32,
3721 OPC_MoveSibling6,
3722 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3723 OPC_CheckPredicate0,
3724 OPC_CheckTypeI32,
3725 OPC_MoveSibling7,
3726 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3727 OPC_CheckPredicate0,
3728 OPC_CheckTypeI32,
3729 OPC_MoveSibling, 8,
3730 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3731 OPC_CheckPredicate0,
3732 OPC_CheckTypeI32,
3733 OPC_MoveSibling, 9,
3734 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3735 OPC_CheckPredicate0,
3736 OPC_CheckTypeI32,
3737 OPC_MoveSibling, 10,
3738 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3739 OPC_CheckPredicate0,
3740 OPC_CheckTypeI32,
3741 OPC_MoveSibling, 11,
3742 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3743 OPC_CheckPredicate0,
3744 OPC_CheckTypeI32,
3745 OPC_MoveSibling, 12,
3746 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3747 OPC_CheckPredicate0,
3748 OPC_CheckTypeI32,
3749 OPC_MoveSibling, 13,
3750 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3751 OPC_CheckPredicate0,
3752 OPC_CheckTypeI32,
3753 OPC_MoveSibling, 14,
3754 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3755 OPC_CheckPredicate0,
3756 OPC_CheckTypeI32,
3757 OPC_MoveSibling, 15,
3758 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3759 OPC_CheckPredicate0,
3760 OPC_CheckTypeI32,
3761 OPC_MoveParent,
3762 OPC_MoveParent,
3763 OPC_RecordChild1,
3764 OPC_CheckType, MVT::v16i8,
3765 OPC_MoveParent,
3766 OPC_CheckType, MVT::v16i8,
3767 OPC_CheckPatternPredicate3,
3768 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
3769 MVT::v16i8, 2, 0, 1,
3770 68,
3771 OPC_RecordChild0,
3772 OPC_MoveChild1,
3773 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3774 OPC_MoveChild0,
3775 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3776 OPC_CheckPredicate1,
3777 OPC_CheckTypeI32,
3778 OPC_MoveSibling1,
3779 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3780 OPC_CheckPredicate1,
3781 OPC_CheckTypeI32,
3782 OPC_MoveSibling2,
3783 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3784 OPC_CheckPredicate1,
3785 OPC_CheckTypeI32,
3786 OPC_MoveSibling3,
3787 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3788 OPC_CheckPredicate1,
3789 OPC_CheckTypeI32,
3790 OPC_MoveSibling4,
3791 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3792 OPC_CheckPredicate1,
3793 OPC_CheckTypeI32,
3794 OPC_MoveSibling5,
3795 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3796 OPC_CheckPredicate1,
3797 OPC_CheckTypeI32,
3798 OPC_MoveSibling6,
3799 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3800 OPC_CheckPredicate1,
3801 OPC_CheckTypeI32,
3802 OPC_MoveSibling7,
3803 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3804 OPC_CheckPredicate1,
3805 OPC_CheckTypeI32,
3806 OPC_MoveParent,
3807 OPC_MoveParent,
3808 OPC_CheckType, MVT::v8i16,
3809 OPC_MoveParent,
3810 OPC_CheckType, MVT::v8i16,
3811 OPC_CheckPatternPredicate3,
3812 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
3813 MVT::v8i16, 2, 0, 1,
3814 68,
3815 OPC_MoveChild0,
3816 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3817 OPC_MoveChild0,
3818 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3819 OPC_CheckPredicate1,
3820 OPC_CheckTypeI32,
3821 OPC_MoveSibling1,
3822 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3823 OPC_CheckPredicate1,
3824 OPC_CheckTypeI32,
3825 OPC_MoveSibling2,
3826 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3827 OPC_CheckPredicate1,
3828 OPC_CheckTypeI32,
3829 OPC_MoveSibling3,
3830 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3831 OPC_CheckPredicate1,
3832 OPC_CheckTypeI32,
3833 OPC_MoveSibling4,
3834 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3835 OPC_CheckPredicate1,
3836 OPC_CheckTypeI32,
3837 OPC_MoveSibling5,
3838 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3839 OPC_CheckPredicate1,
3840 OPC_CheckTypeI32,
3841 OPC_MoveSibling6,
3842 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3843 OPC_CheckPredicate1,
3844 OPC_CheckTypeI32,
3845 OPC_MoveSibling7,
3846 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3847 OPC_CheckPredicate1,
3848 OPC_CheckTypeI32,
3849 OPC_MoveParent,
3850 OPC_MoveParent,
3851 OPC_RecordChild1,
3852 OPC_CheckType, MVT::v8i16,
3853 OPC_MoveParent,
3854 OPC_CheckType, MVT::v8i16,
3855 OPC_CheckPatternPredicate3,
3856 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
3857 MVT::v8i16, 2, 0, 1,
3858 44,
3859 OPC_RecordChild0,
3860 OPC_MoveChild1,
3861 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3862 OPC_MoveChild0,
3863 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3864 OPC_CheckPredicate2,
3865 OPC_CheckTypeI32,
3866 OPC_MoveSibling1,
3867 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3868 OPC_CheckPredicate2,
3869 OPC_CheckTypeI32,
3870 OPC_MoveSibling2,
3871 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3872 OPC_CheckPredicate2,
3873 OPC_CheckTypeI32,
3874 OPC_MoveSibling3,
3875 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3876 OPC_CheckPredicate2,
3877 OPC_CheckTypeI32,
3878 OPC_MoveParent,
3879 OPC_MoveParent,
3880 OPC_CheckType, MVT::v4i32,
3881 OPC_MoveParent,
3882 OPC_CheckType, MVT::v4i32,
3883 OPC_CheckPatternPredicate3,
3884 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
3885 MVT::v4i32, 2, 0, 1,
3886 44,
3887 OPC_MoveChild0,
3888 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3889 OPC_MoveChild0,
3890 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3891 OPC_CheckPredicate2,
3892 OPC_CheckTypeI32,
3893 OPC_MoveSibling1,
3894 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3895 OPC_CheckPredicate2,
3896 OPC_CheckTypeI32,
3897 OPC_MoveSibling2,
3898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3899 OPC_CheckPredicate2,
3900 OPC_CheckTypeI32,
3901 OPC_MoveSibling3,
3902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3903 OPC_CheckPredicate2,
3904 OPC_CheckTypeI32,
3905 OPC_MoveParent,
3906 OPC_MoveParent,
3907 OPC_RecordChild1,
3908 OPC_CheckType, MVT::v4i32,
3909 OPC_MoveParent,
3910 OPC_CheckType, MVT::v4i32,
3911 OPC_CheckPatternPredicate3,
3912 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
3913 MVT::v4i32, 2, 0, 1,
3914 28,
3915 OPC_RecordChild0,
3916 OPC_MoveChild1,
3917 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3918 OPC_MoveChild0,
3919 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3920 OPC_CheckType, MVT::v4i32,
3921 OPC_MoveParent,
3922 OPC_CheckPredicate, 14,
3923 OPC_MoveParent,
3924 OPC_CheckType, MVT::v2i64,
3925 OPC_MoveParent,
3926 OPC_CheckType, MVT::v2i64,
3927 OPC_CheckPatternPredicate3,
3928 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
3929 MVT::v2i64, 2, 0, 1,
3930 28,
3931 OPC_MoveChild0,
3932 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3933 OPC_MoveChild0,
3934 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3935 OPC_CheckType, MVT::v4i32,
3936 OPC_MoveParent,
3937 OPC_CheckPredicate, 14,
3938 OPC_MoveParent,
3939 OPC_RecordChild1,
3940 OPC_CheckType, MVT::v2i64,
3941 OPC_MoveParent,
3942 OPC_CheckType, MVT::v2i64,
3943 OPC_CheckPatternPredicate3,
3944 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
3945 MVT::v2i64, 2, 0, 1,
3946 0,
3947 106,
3948 OPC_RecordChild1,
3949 OPC_SwitchType , 24, MVT::v16i8,
3950 OPC_CheckChild1Type, MVT::v16i8,
3951 OPC_CheckPatternPredicate0,
3952 OPC_Scope, 10,
3953 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
3954 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_B),
3955 MVT::v16i8, 2, 0, 2,
3956 7,
3957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
3958 MVT::v16i8, 2, 0, 1,
3959 0,
3960 24, MVT::v8i16,
3961 OPC_CheckChild1Type, MVT::v8i16,
3962 OPC_CheckPatternPredicate0,
3963 OPC_Scope, 10,
3964 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
3965 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_H),
3966 MVT::v8i16, 2, 0, 2,
3967 7,
3968 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
3969 MVT::v8i16, 2, 0, 1,
3970 0,
3971 23, MVT::v4i32,
3972 OPC_CheckChild1Type, MVT::v4i32,
3973 OPC_CheckPatternPredicate0,
3974 OPC_Scope, 9,
3975 OPC_CheckComplexPat4, /*#*/1,
3976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_W),
3977 MVT::v4i32, 2, 0, 2,
3978 7,
3979 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
3980 MVT::v4i32, 2, 0, 1,
3981 0,
3982 24, MVT::v2i64,
3983 OPC_CheckChild1Type, MVT::v2i64,
3984 OPC_CheckPatternPredicate0,
3985 OPC_Scope, 10,
3986 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
3987 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_D),
3988 MVT::v2i64, 2, 0, 2,
3989 7,
3990 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
3991 MVT::v2i64, 2, 0, 1,
3992 0,
3993 0,
3994 0,
3995 82|128,47, TARGET_VAL(ISD::SELECT),
3996 OPC_Scope, 22|128,21,
3997 OPC_MoveChild0,
3998 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
3999 OPC_RecordChild0,
4000 OPC_Scope, 97|128,14,
4001 OPC_CheckChild0TypeI32,
4002 OPC_Scope, 5|128,2,
4003 OPC_MoveChild1,
4004 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4005 OPC_CheckPredicate6,
4006 OPC_MoveParent,
4007 OPC_CheckTypeI32,
4008 OPC_Scope, 125,
4009 OPC_CheckChild2CondCode, ISD::SETEQ,
4010 OPC_Scope, 18,
4011 OPC_MoveParent,
4012 OPC_RecordChild1,
4013 OPC_MoveChild2,
4014 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4015 OPC_CheckPredicate6,
4016 OPC_MoveParent,
4017 OPC_CheckTypeI32,
4018 OPC_CheckPatternPredicate, 14,
4019 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
4020 MVT::i32, 2, 1, 0,
4021 17,
4022 OPC_MoveSibling1,
4023 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4024 OPC_CheckPredicate6,
4025 OPC_MoveParent,
4026 OPC_RecordChild2,
4027 OPC_CheckTypeI32,
4028 OPC_CheckPatternPredicate, 14,
4029 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
4030 MVT::i32, 2, 1, 0,
4031 17,
4032 OPC_MoveParent,
4033 OPC_RecordChild1,
4034 OPC_MoveChild2,
4035 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4036 OPC_CheckPredicate6,
4037 OPC_MoveParent,
4038 OPC_CheckTypeI32,
4039 OPC_CheckPatternPredicate7,
4040 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4041 MVT::i32, 2, 1, 0,
4042 16,
4043 OPC_MoveSibling1,
4044 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4045 OPC_CheckPredicate6,
4046 OPC_MoveParent,
4047 OPC_RecordChild2,
4048 OPC_CheckTypeI32,
4049 OPC_CheckPatternPredicate7,
4050 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4051 MVT::i32, 2, 1, 0,
4052 24,
4053 OPC_MoveParent,
4054 OPC_RecordChild1,
4055 OPC_MoveChild2,
4056 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4057 OPC_CheckPredicate6,
4058 OPC_MoveParent,
4059 OPC_CheckTypeI64,
4060 OPC_CheckPatternPredicate, 19,
4061 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4062 MVT::i64, 1, 0,
4063 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
4064 MVT::i64, 2, 1, 2,
4065 23,
4066 OPC_MoveSibling1,
4067 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4068 OPC_CheckPredicate6,
4069 OPC_MoveParent,
4070 OPC_RecordChild2,
4071 OPC_CheckTypeI64,
4072 OPC_CheckPatternPredicate, 19,
4073 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4074 MVT::i64, 1, 0,
4075 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
4076 MVT::i64, 2, 1, 2,
4077 0,
4078 125,
4079 OPC_CheckChild2CondCode, ISD::SETNE,
4080 OPC_Scope, 18,
4081 OPC_MoveParent,
4082 OPC_RecordChild1,
4083 OPC_MoveChild2,
4084 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4085 OPC_CheckPredicate6,
4086 OPC_MoveParent,
4087 OPC_CheckTypeI32,
4088 OPC_CheckPatternPredicate, 14,
4089 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
4090 MVT::i32, 2, 1, 0,
4091 17,
4092 OPC_MoveSibling1,
4093 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4094 OPC_CheckPredicate6,
4095 OPC_MoveParent,
4096 OPC_RecordChild2,
4097 OPC_CheckTypeI32,
4098 OPC_CheckPatternPredicate, 14,
4099 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
4100 MVT::i32, 2, 1, 0,
4101 17,
4102 OPC_MoveParent,
4103 OPC_RecordChild1,
4104 OPC_MoveChild2,
4105 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4106 OPC_CheckPredicate6,
4107 OPC_MoveParent,
4108 OPC_CheckTypeI32,
4109 OPC_CheckPatternPredicate7,
4110 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4111 MVT::i32, 2, 1, 0,
4112 16,
4113 OPC_MoveSibling1,
4114 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4115 OPC_CheckPredicate6,
4116 OPC_MoveParent,
4117 OPC_RecordChild2,
4118 OPC_CheckTypeI32,
4119 OPC_CheckPatternPredicate7,
4120 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4121 MVT::i32, 2, 1, 0,
4122 24,
4123 OPC_MoveParent,
4124 OPC_RecordChild1,
4125 OPC_MoveChild2,
4126 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4127 OPC_CheckPredicate6,
4128 OPC_MoveParent,
4129 OPC_CheckTypeI64,
4130 OPC_CheckPatternPredicate, 19,
4131 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4132 MVT::i64, 1, 0,
4133 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
4134 MVT::i64, 2, 1, 2,
4135 23,
4136 OPC_MoveSibling1,
4137 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4138 OPC_CheckPredicate6,
4139 OPC_MoveParent,
4140 OPC_RecordChild2,
4141 OPC_CheckTypeI64,
4142 OPC_CheckPatternPredicate, 19,
4143 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4144 MVT::i64, 1, 0,
4145 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
4146 MVT::i64, 2, 1, 2,
4147 0,
4148 0,
4149 0|128,1,
4150 OPC_CheckChild1Integer, 0,
4151 OPC_CheckTypeI32,
4152 OPC_Scope, 55,
4153 OPC_CheckChild2CondCode, ISD::SETEQ,
4154 OPC_MoveParent,
4155 OPC_RecordChild1,
4156 OPC_RecordChild2,
4157 OPC_SwitchType , 34, MVT::i32,
4158 OPC_Scope, 10,
4159 OPC_CheckPatternPredicate, 20,
4160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4161 MVT::i32, 3, 1, 0, 2,
4162 10,
4163 OPC_CheckPatternPredicate, 8,
4164 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4165 MVT::i32, 3, 1, 0, 2,
4166 9,
4167 OPC_CheckPatternPredicate5,
4168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBeqZ),
4169 MVT::i32, 3, 1, 2, 0,
4170 0,
4171 10, MVT::i64,
4172 OPC_CheckPatternPredicate, 9,
4173 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4174 MVT::i64, 3, 1, 0, 2,
4175 0,
4176 66,
4177 OPC_CheckChild2CondCode, ISD::SETNE,
4178 OPC_MoveParent,
4179 OPC_RecordChild1,
4180 OPC_RecordChild2,
4181 OPC_SwitchType , 45, MVT::i32,
4182 OPC_Scope, 10,
4183 OPC_CheckPatternPredicate, 20,
4184 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
4185 MVT::i32, 3, 1, 0, 2,
4186 10,
4187 OPC_CheckPatternPredicate, 61,
4188 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
4189 MVT::i32, 3, 1, 0, 2,
4190 10,
4191 OPC_CheckPatternPredicate, 8,
4192 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
4193 MVT::i32, 3, 1, 0, 2,
4194 9,
4195 OPC_CheckPatternPredicate5,
4196 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
4197 MVT::i32, 3, 1, 2, 0,
4198 0,
4199 10, MVT::i64,
4200 OPC_CheckPatternPredicate, 9,
4201 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
4202 MVT::i64, 3, 1, 0, 2,
4203 0,
4204 0,
4205 99|128,4,
4206 OPC_RecordChild1,
4207 OPC_MoveChild1,
4208 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4209 OPC_Scope, 55,
4210 OPC_CheckPredicate7,
4211 OPC_MoveParent,
4212 OPC_CheckTypeI32,
4213 OPC_Scope, 24,
4214 OPC_CheckChild2CondCode, ISD::SETGE,
4215 OPC_MoveParent,
4216 OPC_RecordChild1,
4217 OPC_RecordChild2,
4218 OPC_CheckTypeI32,
4219 OPC_CheckPatternPredicate, 20,
4220 OPC_EmitConvertToTarget1,
4221 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4222 MVT::i32, 2, 0, 4,
4223 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4224 MVT::i32, 3, 2, 5, 3,
4225 24,
4226 OPC_CheckChild2CondCode, ISD::SETUGE,
4227 OPC_MoveParent,
4228 OPC_RecordChild1,
4229 OPC_RecordChild2,
4230 OPC_CheckTypeI32,
4231 OPC_CheckPatternPredicate, 20,
4232 OPC_EmitConvertToTarget1,
4233 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4234 MVT::i32, 2, 0, 4,
4235 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4236 MVT::i32, 3, 2, 5, 3,
4237 0,
4238 62,
4239 OPC_CheckPredicate, 11,
4240 OPC_MoveParent,
4241 OPC_CheckTypeI32,
4242 OPC_Scope, 27,
4243 OPC_CheckChild2CondCode, ISD::SETGT,
4244 OPC_MoveParent,
4245 OPC_RecordChild1,
4246 OPC_RecordChild2,
4247 OPC_CheckTypeI32,
4248 OPC_CheckPatternPredicate, 20,
4249 OPC_EmitConvertToTarget1,
4250 OPC_EmitNodeXForm, 2, 4,
4251 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4252 MVT::i32, 2, 0, 5,
4253 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4254 MVT::i32, 3, 2, 6, 3,
4255 27,
4256 OPC_CheckChild2CondCode, ISD::SETUGT,
4257 OPC_MoveParent,
4258 OPC_RecordChild1,
4259 OPC_RecordChild2,
4260 OPC_CheckTypeI32,
4261 OPC_CheckPatternPredicate, 20,
4262 OPC_EmitConvertToTarget1,
4263 OPC_EmitNodeXForm, 2, 4,
4264 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4265 MVT::i32, 2, 0, 5,
4266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4267 MVT::i32, 3, 2, 6, 3,
4268 0,
4269 31,
4270 OPC_CheckPredicate, 13,
4271 OPC_MoveParent,
4272 OPC_CheckChild2CondCode, ISD::SETEQ,
4273 OPC_CheckTypeI32,
4274 OPC_MoveParent,
4275 OPC_RecordChild1,
4276 OPC_RecordChild2,
4277 OPC_CheckTypeI32,
4278 OPC_CheckPatternPredicate, 20,
4279 OPC_EmitConvertToTarget1,
4280 OPC_EmitNodeXForm, 3, 4,
4281 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4282 MVT::i32, 2, 0, 5,
4283 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4284 MVT::i32, 3, 2, 6, 3,
4285 55,
4286 OPC_CheckPredicate7,
4287 OPC_MoveParent,
4288 OPC_CheckTypeI32,
4289 OPC_Scope, 24,
4290 OPC_CheckChild2CondCode, ISD::SETGE,
4291 OPC_MoveParent,
4292 OPC_RecordChild1,
4293 OPC_RecordChild2,
4294 OPC_CheckTypeI64,
4295 OPC_CheckPatternPredicate, 9,
4296 OPC_EmitConvertToTarget1,
4297 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4298 MVT::i32, 2, 0, 4,
4299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4300 MVT::i64, 3, 2, 5, 3,
4301 24,
4302 OPC_CheckChild2CondCode, ISD::SETUGE,
4303 OPC_MoveParent,
4304 OPC_RecordChild1,
4305 OPC_RecordChild2,
4306 OPC_CheckTypeI64,
4307 OPC_CheckPatternPredicate, 9,
4308 OPC_EmitConvertToTarget1,
4309 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4310 MVT::i32, 2, 0, 4,
4311 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4312 MVT::i64, 3, 2, 5, 3,
4313 0,
4314 62,
4315 OPC_CheckPredicate, 11,
4316 OPC_MoveParent,
4317 OPC_CheckTypeI32,
4318 OPC_Scope, 27,
4319 OPC_CheckChild2CondCode, ISD::SETGT,
4320 OPC_MoveParent,
4321 OPC_RecordChild1,
4322 OPC_RecordChild2,
4323 OPC_CheckTypeI64,
4324 OPC_CheckPatternPredicate, 9,
4325 OPC_EmitConvertToTarget1,
4326 OPC_EmitNodeXForm, 2, 4,
4327 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4328 MVT::i32, 2, 0, 5,
4329 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4330 MVT::i64, 3, 2, 6, 3,
4331 27,
4332 OPC_CheckChild2CondCode, ISD::SETUGT,
4333 OPC_MoveParent,
4334 OPC_RecordChild1,
4335 OPC_RecordChild2,
4336 OPC_CheckTypeI64,
4337 OPC_CheckPatternPredicate, 9,
4338 OPC_EmitConvertToTarget1,
4339 OPC_EmitNodeXForm, 2, 4,
4340 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4341 MVT::i32, 2, 0, 5,
4342 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4343 MVT::i64, 3, 2, 6, 3,
4344 0,
4345 31,
4346 OPC_CheckPredicate, 13,
4347 OPC_MoveParent,
4348 OPC_CheckChild2CondCode, ISD::SETEQ,
4349 OPC_CheckTypeI32,
4350 OPC_MoveParent,
4351 OPC_RecordChild1,
4352 OPC_RecordChild2,
4353 OPC_CheckTypeI64,
4354 OPC_CheckPatternPredicate, 9,
4355 OPC_EmitConvertToTarget1,
4356 OPC_EmitNodeXForm, 3, 4,
4357 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4358 MVT::i32, 2, 0, 5,
4359 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4360 MVT::i64, 3, 2, 6, 3,
4361 55,
4362 OPC_CheckPredicate7,
4363 OPC_MoveParent,
4364 OPC_CheckTypeI32,
4365 OPC_Scope, 24,
4366 OPC_CheckChild2CondCode, ISD::SETGE,
4367 OPC_MoveParent,
4368 OPC_RecordChild1,
4369 OPC_RecordChild2,
4370 OPC_CheckTypeI32,
4371 OPC_CheckPatternPredicate, 8,
4372 OPC_EmitConvertToTarget1,
4373 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4374 MVT::i32, 2, 0, 4,
4375 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4376 MVT::i32, 3, 2, 5, 3,
4377 24,
4378 OPC_CheckChild2CondCode, ISD::SETUGE,
4379 OPC_MoveParent,
4380 OPC_RecordChild1,
4381 OPC_RecordChild2,
4382 OPC_CheckTypeI32,
4383 OPC_CheckPatternPredicate, 8,
4384 OPC_EmitConvertToTarget1,
4385 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4386 MVT::i32, 2, 0, 4,
4387 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4388 MVT::i32, 3, 2, 5, 3,
4389 0,
4390 62,
4391 OPC_CheckPredicate, 11,
4392 OPC_MoveParent,
4393 OPC_CheckTypeI32,
4394 OPC_Scope, 27,
4395 OPC_CheckChild2CondCode, ISD::SETGT,
4396 OPC_MoveParent,
4397 OPC_RecordChild1,
4398 OPC_RecordChild2,
4399 OPC_CheckTypeI32,
4400 OPC_CheckPatternPredicate, 8,
4401 OPC_EmitConvertToTarget1,
4402 OPC_EmitNodeXForm, 2, 4,
4403 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4404 MVT::i32, 2, 0, 5,
4405 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4406 MVT::i32, 3, 2, 6, 3,
4407 27,
4408 OPC_CheckChild2CondCode, ISD::SETUGT,
4409 OPC_MoveParent,
4410 OPC_RecordChild1,
4411 OPC_RecordChild2,
4412 OPC_CheckTypeI32,
4413 OPC_CheckPatternPredicate, 8,
4414 OPC_EmitConvertToTarget1,
4415 OPC_EmitNodeXForm, 2, 4,
4416 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4417 MVT::i32, 2, 0, 5,
4418 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4419 MVT::i32, 3, 2, 6, 3,
4420 0,
4421 31,
4422 OPC_CheckPredicate, 13,
4423 OPC_MoveParent,
4424 OPC_CheckChild2CondCode, ISD::SETEQ,
4425 OPC_CheckTypeI32,
4426 OPC_MoveParent,
4427 OPC_RecordChild1,
4428 OPC_RecordChild2,
4429 OPC_CheckTypeI32,
4430 OPC_CheckPatternPredicate, 8,
4431 OPC_EmitConvertToTarget1,
4432 OPC_EmitNodeXForm, 3, 4,
4433 OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
4434 MVT::i32, 2, 0, 5,
4435 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4436 MVT::i32, 3, 2, 6, 3,
4437 55,
4438 OPC_CheckPredicate7,
4439 OPC_MoveParent,
4440 OPC_CheckTypeI32,
4441 OPC_Scope, 24,
4442 OPC_CheckChild2CondCode, ISD::SETGE,
4443 OPC_MoveParent,
4444 OPC_RecordChild1,
4445 OPC_RecordChild2,
4446 OPC_CheckTypeI32,
4447 OPC_CheckPatternPredicate, 8,
4448 OPC_EmitConvertToTarget1,
4449 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4450 MVT::i32, 2, 0, 4,
4451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4452 MVT::i32, 3, 2, 5, 3,
4453 24,
4454 OPC_CheckChild2CondCode, ISD::SETUGE,
4455 OPC_MoveParent,
4456 OPC_RecordChild1,
4457 OPC_RecordChild2,
4458 OPC_CheckTypeI32,
4459 OPC_CheckPatternPredicate, 8,
4460 OPC_EmitConvertToTarget1,
4461 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4462 MVT::i32, 2, 0, 4,
4463 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4464 MVT::i32, 3, 2, 5, 3,
4465 0,
4466 62,
4467 OPC_CheckPredicate, 11,
4468 OPC_MoveParent,
4469 OPC_CheckTypeI32,
4470 OPC_Scope, 27,
4471 OPC_CheckChild2CondCode, ISD::SETGT,
4472 OPC_MoveParent,
4473 OPC_RecordChild1,
4474 OPC_RecordChild2,
4475 OPC_CheckTypeI32,
4476 OPC_CheckPatternPredicate, 8,
4477 OPC_EmitConvertToTarget1,
4478 OPC_EmitNodeXForm, 2, 4,
4479 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4480 MVT::i32, 2, 0, 5,
4481 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4482 MVT::i32, 3, 2, 6, 3,
4483 27,
4484 OPC_CheckChild2CondCode, ISD::SETUGT,
4485 OPC_MoveParent,
4486 OPC_RecordChild1,
4487 OPC_RecordChild2,
4488 OPC_CheckTypeI32,
4489 OPC_CheckPatternPredicate, 8,
4490 OPC_EmitConvertToTarget1,
4491 OPC_EmitNodeXForm, 2, 4,
4492 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4493 MVT::i32, 2, 0, 5,
4494 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4495 MVT::i32, 3, 2, 6, 3,
4496 0,
4497 31,
4498 OPC_CheckPredicate, 13,
4499 OPC_MoveParent,
4500 OPC_CheckChild2CondCode, ISD::SETEQ,
4501 OPC_CheckTypeI32,
4502 OPC_MoveParent,
4503 OPC_RecordChild1,
4504 OPC_RecordChild2,
4505 OPC_CheckTypeI32,
4506 OPC_CheckPatternPredicate, 8,
4507 OPC_EmitConvertToTarget1,
4508 OPC_EmitNodeXForm, 3, 4,
4509 OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
4510 MVT::i32, 2, 0, 5,
4511 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4512 MVT::i32, 3, 2, 6, 3,
4513 0,
4514 121,
4515 OPC_MoveChild1,
4516 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4517 OPC_CheckPredicate6,
4518 OPC_MoveParent,
4519 OPC_CheckTypeI32,
4520 OPC_Scope, 55,
4521 OPC_CheckChild2CondCode, ISD::SETEQ,
4522 OPC_MoveParent,
4523 OPC_RecordChild1,
4524 OPC_RecordChild2,
4525 OPC_CheckTypeI32,
4526 OPC_Scope, 23,
4527 OPC_CheckPatternPredicate, 14,
4528 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4529 MVT::i32, 2, 1, 0,
4530 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4531 MVT::i32, 2, 2, 0,
4532 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4533 MVT::i32, 2, 3, 4,
4534 22,
4535 OPC_CheckPatternPredicate7,
4536 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4537 MVT::i32, 2, 1, 0,
4538 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4539 MVT::i32, 2, 2, 0,
4540 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4541 MVT::i32, 2, 3, 4,
4542 0,
4543 55,
4544 OPC_CheckChild2CondCode, ISD::SETNE,
4545 OPC_MoveParent,
4546 OPC_RecordChild1,
4547 OPC_RecordChild2,
4548 OPC_CheckTypeI32,
4549 OPC_Scope, 23,
4550 OPC_CheckPatternPredicate, 14,
4551 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4552 MVT::i32, 2, 1, 0,
4553 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4554 MVT::i32, 2, 2, 0,
4555 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4556 MVT::i32, 2, 3, 4,
4557 22,
4558 OPC_CheckPatternPredicate7,
4559 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4560 MVT::i32, 2, 1, 0,
4561 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4562 MVT::i32, 2, 2, 0,
4563 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4564 MVT::i32, 2, 3, 4,
4565 0,
4566 0,
4567 101|128,1,
4568 OPC_RecordChild1,
4569 OPC_MoveChild1,
4570 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4571 OPC_Scope, 110,
4572 OPC_CheckPredicate, 13,
4573 OPC_MoveParent,
4574 OPC_CheckTypeI32,
4575 OPC_Scope, 51,
4576 OPC_CheckChild2CondCode, ISD::SETEQ,
4577 OPC_MoveParent,
4578 OPC_RecordChild1,
4579 OPC_RecordChild2,
4580 OPC_CheckTypeI32,
4581 OPC_CheckPatternPredicate, 14,
4582 OPC_EmitConvertToTarget1,
4583 OPC_EmitNodeXForm, 3, 4,
4584 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4585 MVT::i32, 2, 0, 5,
4586 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4587 MVT::i32, 2, 2, 6,
4588 OPC_EmitConvertToTarget1,
4589 OPC_EmitNodeXForm, 3, 8,
4590 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4591 MVT::i32, 2, 0, 9,
4592 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4593 MVT::i32, 2, 3, 10,
4594 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4595 MVT::i32, 2, 7, 11,
4596 51,
4597 OPC_CheckChild2CondCode, ISD::SETNE,
4598 OPC_MoveParent,
4599 OPC_RecordChild1,
4600 OPC_RecordChild2,
4601 OPC_CheckTypeI32,
4602 OPC_CheckPatternPredicate, 14,
4603 OPC_EmitConvertToTarget1,
4604 OPC_EmitNodeXForm, 3, 4,
4605 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4606 MVT::i32, 2, 0, 5,
4607 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4608 MVT::i32, 2, 2, 6,
4609 OPC_EmitConvertToTarget1,
4610 OPC_EmitNodeXForm, 3, 8,
4611 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4612 MVT::i32, 2, 0, 9,
4613 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4614 MVT::i32, 2, 3, 10,
4615 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4616 MVT::i32, 2, 7, 11,
4617 0,
4618 110,
4619 OPC_CheckPredicate, 11,
4620 OPC_MoveParent,
4621 OPC_CheckTypeI32,
4622 OPC_Scope, 51,
4623 OPC_CheckChild2CondCode, ISD::SETGT,
4624 OPC_MoveParent,
4625 OPC_RecordChild1,
4626 OPC_RecordChild2,
4627 OPC_CheckTypeI32,
4628 OPC_CheckPatternPredicate, 14,
4629 OPC_EmitConvertToTarget1,
4630 OPC_EmitNodeXForm, 2, 4,
4631 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4632 MVT::i32, 2, 0, 5,
4633 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4634 MVT::i32, 2, 2, 6,
4635 OPC_EmitConvertToTarget1,
4636 OPC_EmitNodeXForm, 2, 8,
4637 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4638 MVT::i32, 2, 0, 9,
4639 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4640 MVT::i32, 2, 3, 10,
4641 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4642 MVT::i32, 2, 7, 11,
4643 51,
4644 OPC_CheckChild2CondCode, ISD::SETUGT,
4645 OPC_MoveParent,
4646 OPC_RecordChild1,
4647 OPC_RecordChild2,
4648 OPC_CheckTypeI32,
4649 OPC_CheckPatternPredicate, 14,
4650 OPC_EmitConvertToTarget1,
4651 OPC_EmitNodeXForm, 2, 4,
4652 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4653 MVT::i32, 2, 0, 5,
4654 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4655 MVT::i32, 2, 2, 6,
4656 OPC_EmitConvertToTarget1,
4657 OPC_EmitNodeXForm, 2, 8,
4658 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4659 MVT::i32, 2, 0, 9,
4660 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4661 MVT::i32, 2, 3, 10,
4662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4663 MVT::i32, 2, 7, 11,
4664 0,
4665 0,
4666 93,
4667 OPC_MoveChild1,
4668 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4669 OPC_CheckPredicate6,
4670 OPC_MoveParent,
4671 OPC_CheckTypeI32,
4672 OPC_Scope, 41,
4673 OPC_CheckChild2CondCode, ISD::SETEQ,
4674 OPC_MoveParent,
4675 OPC_RecordChild1,
4676 OPC_RecordChild2,
4677 OPC_CheckTypeI64,
4678 OPC_CheckPatternPredicate, 19,
4679 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4680 MVT::i64, 1, 0,
4681 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
4682 MVT::i64, 2, 1, 3,
4683 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4684 MVT::i64, 1, 0,
4685 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
4686 MVT::i64, 2, 2, 5,
4687 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
4688 MVT::i64, 2, 4, 6,
4689 41,
4690 OPC_CheckChild2CondCode, ISD::SETNE,
4691 OPC_MoveParent,
4692 OPC_RecordChild1,
4693 OPC_RecordChild2,
4694 OPC_CheckTypeI64,
4695 OPC_CheckPatternPredicate, 19,
4696 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4697 MVT::i64, 1, 0,
4698 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
4699 MVT::i64, 2, 1, 3,
4700 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4701 MVT::i64, 1, 0,
4702 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
4703 MVT::i64, 2, 2, 5,
4704 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
4705 MVT::i64, 2, 4, 6,
4706 0,
4707 47|128,3,
4708 OPC_RecordChild1,
4709 OPC_MoveChild1,
4710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4711 OPC_Scope, 108,
4712 OPC_CheckPredicate, 13,
4713 OPC_MoveParent,
4714 OPC_CheckTypeI32,
4715 OPC_Scope, 50,
4716 OPC_CheckChild2CondCode, ISD::SETEQ,
4717 OPC_MoveParent,
4718 OPC_RecordChild1,
4719 OPC_RecordChild2,
4720 OPC_CheckTypeI32,
4721 OPC_CheckPatternPredicate7,
4722 OPC_EmitConvertToTarget1,
4723 OPC_EmitNodeXForm, 3, 4,
4724 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
4725 MVT::i32, 2, 0, 5,
4726 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4727 MVT::i32, 2, 2, 6,
4728 OPC_EmitConvertToTarget1,
4729 OPC_EmitNodeXForm, 3, 8,
4730 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
4731 MVT::i32, 2, 0, 9,
4732 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4733 MVT::i32, 2, 3, 10,
4734 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4735 MVT::i32, 2, 7, 11,
4736 50,
4737 OPC_CheckChild2CondCode, ISD::SETNE,
4738 OPC_MoveParent,
4739 OPC_RecordChild1,
4740 OPC_RecordChild2,
4741 OPC_CheckTypeI32,
4742 OPC_CheckPatternPredicate7,
4743 OPC_EmitConvertToTarget1,
4744 OPC_EmitNodeXForm, 3, 4,
4745 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
4746 MVT::i32, 2, 0, 5,
4747 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4748 MVT::i32, 2, 2, 6,
4749 OPC_EmitConvertToTarget1,
4750 OPC_EmitNodeXForm, 3, 8,
4751 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
4752 MVT::i32, 2, 0, 9,
4753 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4754 MVT::i32, 2, 3, 10,
4755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4756 MVT::i32, 2, 7, 11,
4757 0,
4758 108,
4759 OPC_CheckPredicate, 11,
4760 OPC_MoveParent,
4761 OPC_CheckTypeI32,
4762 OPC_Scope, 50,
4763 OPC_CheckChild2CondCode, ISD::SETGT,
4764 OPC_MoveParent,
4765 OPC_RecordChild1,
4766 OPC_RecordChild2,
4767 OPC_CheckTypeI32,
4768 OPC_CheckPatternPredicate7,
4769 OPC_EmitConvertToTarget1,
4770 OPC_EmitNodeXForm, 2, 4,
4771 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4772 MVT::i32, 2, 0, 5,
4773 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4774 MVT::i32, 2, 2, 6,
4775 OPC_EmitConvertToTarget1,
4776 OPC_EmitNodeXForm, 2, 8,
4777 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4778 MVT::i32, 2, 0, 9,
4779 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4780 MVT::i32, 2, 3, 10,
4781 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4782 MVT::i32, 2, 7, 11,
4783 50,
4784 OPC_CheckChild2CondCode, ISD::SETUGT,
4785 OPC_MoveParent,
4786 OPC_RecordChild1,
4787 OPC_RecordChild2,
4788 OPC_CheckTypeI32,
4789 OPC_CheckPatternPredicate7,
4790 OPC_EmitConvertToTarget1,
4791 OPC_EmitNodeXForm, 2, 4,
4792 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4793 MVT::i32, 2, 0, 5,
4794 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4795 MVT::i32, 2, 2, 6,
4796 OPC_EmitConvertToTarget1,
4797 OPC_EmitNodeXForm, 2, 8,
4798 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4799 MVT::i32, 2, 0, 9,
4800 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4801 MVT::i32, 2, 3, 10,
4802 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4803 MVT::i32, 2, 7, 11,
4804 0,
4805 6|128,1,
4806 OPC_CheckPredicate, 13,
4807 OPC_MoveParent,
4808 OPC_CheckTypeI32,
4809 OPC_Scope, 63,
4810 OPC_CheckChild2CondCode, ISD::SETEQ,
4811 OPC_MoveParent,
4812 OPC_RecordChild1,
4813 OPC_RecordChild2,
4814 OPC_CheckTypeI64,
4815 OPC_CheckPatternPredicate, 19,
4816 OPC_EmitConvertToTarget1,
4817 OPC_EmitNodeXForm, 3, 4,
4818 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4819 MVT::i32, 2, 0, 5,
4820 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4821 MVT::i64, 1, 6,
4822 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
4823 MVT::i64, 2, 2, 7,
4824 OPC_EmitConvertToTarget1,
4825 OPC_EmitNodeXForm, 3, 9,
4826 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4827 MVT::i32, 2, 0, 10,
4828 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4829 MVT::i64, 1, 11,
4830 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
4831 MVT::i64, 2, 3, 12,
4832 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
4833 MVT::i64, 2, 8, 13,
4834 63,
4835 OPC_CheckChild2CondCode, ISD::SETNE,
4836 OPC_MoveParent,
4837 OPC_RecordChild1,
4838 OPC_RecordChild2,
4839 OPC_CheckTypeI64,
4840 OPC_CheckPatternPredicate, 19,
4841 OPC_EmitConvertToTarget1,
4842 OPC_EmitNodeXForm, 3, 4,
4843 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4844 MVT::i32, 2, 0, 5,
4845 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4846 MVT::i64, 1, 6,
4847 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
4848 MVT::i64, 2, 2, 7,
4849 OPC_EmitConvertToTarget1,
4850 OPC_EmitNodeXForm, 3, 9,
4851 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4852 MVT::i32, 2, 0, 10,
4853 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4854 MVT::i64, 1, 11,
4855 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
4856 MVT::i64, 2, 3, 12,
4857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
4858 MVT::i64, 2, 8, 13,
4859 0,
4860 20,
4861 OPC_CheckPredicate7,
4862 OPC_MoveParent,
4863 OPC_CheckChild2CondCode, ISD::SETLT,
4864 OPC_CheckTypeI32,
4865 OPC_MoveParent,
4866 OPC_RecordChild1,
4867 OPC_RecordChild2,
4868 OPC_CheckTypeI32,
4869 OPC_CheckPatternPredicate5,
4870 OPC_EmitConvertToTarget1,
4871 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlti),
4872 MVT::i32, 4, 2, 3, 0, 4,
4873 48,
4874 OPC_CheckPredicate, 13,
4875 OPC_MoveParent,
4876 OPC_CheckTypeI32,
4877 OPC_Scope, 20,
4878 OPC_CheckChild2CondCode, ISD::SETEQ,
4879 OPC_MoveParent,
4880 OPC_RecordChild1,
4881 OPC_RecordChild2,
4882 OPC_CheckTypeI32,
4883 OPC_CheckPatternPredicate5,
4884 OPC_EmitConvertToTarget1,
4885 OPC_EmitNodeXForm, 3, 4,
4886 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmpi),
4887 MVT::i32, 4, 2, 3, 0, 5,
4888 20,
4889 OPC_CheckChild2CondCode, ISD::SETNE,
4890 OPC_MoveParent,
4891 OPC_RecordChild1,
4892 OPC_RecordChild2,
4893 OPC_CheckTypeI32,
4894 OPC_CheckPatternPredicate5,
4895 OPC_EmitConvertToTarget1,
4896 OPC_EmitNodeXForm, 3, 4,
4897 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmpi),
4898 MVT::i32, 4, 2, 3, 0, 5,
4899 0,
4900 0,
4901 0,
4902 42|128,6,
4903 OPC_CheckChild0TypeI64,
4904 OPC_Scope, 93,
4905 OPC_MoveChild1,
4906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4907 OPC_CheckPredicate6,
4908 OPC_MoveParent,
4909 OPC_CheckTypeI32,
4910 OPC_Scope, 41,
4911 OPC_CheckChild2CondCode, ISD::SETNE,
4912 OPC_Scope, 18,
4913 OPC_MoveParent,
4914 OPC_RecordChild1,
4915 OPC_MoveChild2,
4916 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4917 OPC_CheckPredicate6,
4918 OPC_MoveParent,
4919 OPC_CheckTypeI64,
4920 OPC_CheckPatternPredicate, 19,
4921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
4922 MVT::i64, 2, 1, 0,
4923 17,
4924 OPC_MoveSibling1,
4925 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4926 OPC_CheckPredicate6,
4927 OPC_MoveParent,
4928 OPC_RecordChild2,
4929 OPC_CheckTypeI64,
4930 OPC_CheckPatternPredicate, 19,
4931 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
4932 MVT::i64, 2, 1, 0,
4933 0,
4934 41,
4935 OPC_CheckChild2CondCode, ISD::SETEQ,
4936 OPC_Scope, 18,
4937 OPC_MoveParent,
4938 OPC_RecordChild1,
4939 OPC_MoveChild2,
4940 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4941 OPC_CheckPredicate6,
4942 OPC_MoveParent,
4943 OPC_CheckTypeI64,
4944 OPC_CheckPatternPredicate, 19,
4945 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
4946 MVT::i64, 2, 1, 0,
4947 17,
4948 OPC_MoveSibling1,
4949 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4950 OPC_CheckPredicate6,
4951 OPC_MoveParent,
4952 OPC_RecordChild2,
4953 OPC_CheckTypeI64,
4954 OPC_CheckPatternPredicate, 19,
4955 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
4956 MVT::i64, 2, 1, 0,
4957 0,
4958 0,
4959 69,
4960 OPC_CheckChild1Integer, 0,
4961 OPC_CheckTypeI32,
4962 OPC_Scope, 31,
4963 OPC_CheckChild2CondCode, ISD::SETEQ,
4964 OPC_MoveParent,
4965 OPC_RecordChild1,
4966 OPC_RecordChild2,
4967 OPC_SwitchType , 10, MVT::i32,
4968 OPC_CheckPatternPredicate, 9,
4969 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
4970 MVT::i32, 3, 1, 0, 2,
4971 10, MVT::i64,
4972 OPC_CheckPatternPredicate, 9,
4973 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
4974 MVT::i64, 3, 1, 0, 2,
4975 0,
4976 31,
4977 OPC_CheckChild2CondCode, ISD::SETNE,
4978 OPC_MoveParent,
4979 OPC_RecordChild1,
4980 OPC_RecordChild2,
4981 OPC_SwitchType , 10, MVT::i32,
4982 OPC_CheckPatternPredicate, 9,
4983 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
4984 MVT::i32, 3, 1, 0, 2,
4985 10, MVT::i64,
4986 OPC_CheckPatternPredicate, 9,
4987 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
4988 MVT::i64, 3, 1, 0, 2,
4989 0,
4990 0,
4991 47|128,2,
4992 OPC_RecordChild1,
4993 OPC_MoveChild1,
4994 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4995 OPC_Scope, 55,
4996 OPC_CheckPredicate7,
4997 OPC_MoveParent,
4998 OPC_CheckTypeI32,
4999 OPC_Scope, 24,
5000 OPC_CheckChild2CondCode, ISD::SETGE,
5001 OPC_MoveParent,
5002 OPC_RecordChild1,
5003 OPC_RecordChild2,
5004 OPC_CheckTypeI32,
5005 OPC_CheckPatternPredicate, 9,
5006 OPC_EmitConvertToTarget1,
5007 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5008 MVT::i32, 2, 0, 4,
5009 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5010 MVT::i32, 3, 2, 5, 3,
5011 24,
5012 OPC_CheckChild2CondCode, ISD::SETUGE,
5013 OPC_MoveParent,
5014 OPC_RecordChild1,
5015 OPC_RecordChild2,
5016 OPC_CheckTypeI32,
5017 OPC_CheckPatternPredicate, 9,
5018 OPC_EmitConvertToTarget1,
5019 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5020 MVT::i32, 2, 0, 4,
5021 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5022 MVT::i32, 3, 2, 5, 3,
5023 0,
5024 62,
5025 OPC_CheckPredicate, 11,
5026 OPC_MoveParent,
5027 OPC_CheckTypeI32,
5028 OPC_Scope, 27,
5029 OPC_CheckChild2CondCode, ISD::SETGT,
5030 OPC_MoveParent,
5031 OPC_RecordChild1,
5032 OPC_RecordChild2,
5033 OPC_CheckTypeI32,
5034 OPC_CheckPatternPredicate, 9,
5035 OPC_EmitConvertToTarget1,
5036 OPC_EmitNodeXForm, 2, 4,
5037 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5038 MVT::i32, 2, 0, 5,
5039 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5040 MVT::i32, 3, 2, 6, 3,
5041 27,
5042 OPC_CheckChild2CondCode, ISD::SETUGT,
5043 OPC_MoveParent,
5044 OPC_RecordChild1,
5045 OPC_RecordChild2,
5046 OPC_CheckTypeI32,
5047 OPC_CheckPatternPredicate, 9,
5048 OPC_EmitConvertToTarget1,
5049 OPC_EmitNodeXForm, 2, 4,
5050 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5051 MVT::i32, 2, 0, 5,
5052 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5053 MVT::i32, 3, 2, 6, 3,
5054 0,
5055 55,
5056 OPC_CheckPredicate7,
5057 OPC_MoveParent,
5058 OPC_CheckTypeI32,
5059 OPC_Scope, 24,
5060 OPC_CheckChild2CondCode, ISD::SETGE,
5061 OPC_MoveParent,
5062 OPC_RecordChild1,
5063 OPC_RecordChild2,
5064 OPC_CheckTypeI64,
5065 OPC_CheckPatternPredicate, 9,
5066 OPC_EmitConvertToTarget1,
5067 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5068 MVT::i32, 2, 0, 4,
5069 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5070 MVT::i64, 3, 2, 5, 3,
5071 24,
5072 OPC_CheckChild2CondCode, ISD::SETUGE,
5073 OPC_MoveParent,
5074 OPC_RecordChild1,
5075 OPC_RecordChild2,
5076 OPC_CheckTypeI64,
5077 OPC_CheckPatternPredicate, 9,
5078 OPC_EmitConvertToTarget1,
5079 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5080 MVT::i32, 2, 0, 4,
5081 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5082 MVT::i64, 3, 2, 5, 3,
5083 0,
5084 62,
5085 OPC_CheckPredicate, 11,
5086 OPC_MoveParent,
5087 OPC_CheckTypeI32,
5088 OPC_Scope, 27,
5089 OPC_CheckChild2CondCode, ISD::SETGT,
5090 OPC_MoveParent,
5091 OPC_RecordChild1,
5092 OPC_RecordChild2,
5093 OPC_CheckTypeI64,
5094 OPC_CheckPatternPredicate, 9,
5095 OPC_EmitConvertToTarget1,
5096 OPC_EmitNodeXForm, 2, 4,
5097 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5098 MVT::i32, 2, 0, 5,
5099 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5100 MVT::i64, 3, 2, 6, 3,
5101 27,
5102 OPC_CheckChild2CondCode, ISD::SETUGT,
5103 OPC_MoveParent,
5104 OPC_RecordChild1,
5105 OPC_RecordChild2,
5106 OPC_CheckTypeI64,
5107 OPC_CheckPatternPredicate, 9,
5108 OPC_EmitConvertToTarget1,
5109 OPC_EmitNodeXForm, 2, 4,
5110 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5111 MVT::i32, 2, 0, 5,
5112 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5113 MVT::i64, 3, 2, 6, 3,
5114 0,
5115 57,
5116 OPC_CheckPredicate, 13,
5117 OPC_MoveParent,
5118 OPC_CheckChild2CondCode, ISD::SETEQ,
5119 OPC_CheckTypeI32,
5120 OPC_MoveParent,
5121 OPC_RecordChild1,
5122 OPC_RecordChild2,
5123 OPC_SwitchType , 21, MVT::i32,
5124 OPC_CheckPatternPredicate, 9,
5125 OPC_EmitConvertToTarget1,
5126 OPC_EmitNodeXForm, 3, 4,
5127 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5128 MVT::i64, 2, 0, 5,
5129 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
5130 MVT::i32, 3, 2, 6, 3,
5131 21, MVT::i64,
5132 OPC_CheckPatternPredicate, 9,
5133 OPC_EmitConvertToTarget1,
5134 OPC_EmitNodeXForm, 3, 4,
5135 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5136 MVT::i64, 2, 0, 5,
5137 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
5138 MVT::i64, 3, 2, 6, 3,
5139 0,
5140 0,
5141 69,
5142 OPC_MoveChild1,
5143 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5144 OPC_CheckPredicate6,
5145 OPC_MoveParent,
5146 OPC_CheckTypeI32,
5147 OPC_Scope, 29,
5148 OPC_CheckChild2CondCode, ISD::SETEQ,
5149 OPC_MoveParent,
5150 OPC_RecordChild1,
5151 OPC_RecordChild2,
5152 OPC_CheckTypeI64,
5153 OPC_CheckPatternPredicate, 19,
5154 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5155 MVT::i64, 2, 1, 0,
5156 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5157 MVT::i64, 2, 2, 0,
5158 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5159 MVT::i64, 2, 3, 4,
5160 29,
5161 OPC_CheckChild2CondCode, ISD::SETNE,
5162 OPC_MoveParent,
5163 OPC_RecordChild1,
5164 OPC_RecordChild2,
5165 OPC_CheckTypeI64,
5166 OPC_CheckPatternPredicate, 19,
5167 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5168 MVT::i64, 2, 1, 0,
5169 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5170 MVT::i64, 2, 2, 0,
5171 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5172 MVT::i64, 2, 3, 4,
5173 0,
5174 10|128,2,
5175 OPC_RecordChild1,
5176 OPC_MoveChild1,
5177 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5178 OPC_Scope, 98,
5179 OPC_CheckPredicate, 51,
5180 OPC_MoveParent,
5181 OPC_CheckTypeI32,
5182 OPC_Scope, 45,
5183 OPC_CheckChild2CondCode, ISD::SETEQ,
5184 OPC_MoveParent,
5185 OPC_RecordChild1,
5186 OPC_RecordChild2,
5187 OPC_CheckTypeI64,
5188 OPC_CheckPatternPredicate, 19,
5189 OPC_EmitConvertToTarget1,
5190 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5191 MVT::i64, 2, 0, 4,
5192 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5193 MVT::i64, 2, 2, 5,
5194 OPC_EmitConvertToTarget1,
5195 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5196 MVT::i64, 2, 0, 7,
5197 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5198 MVT::i64, 2, 3, 8,
5199 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5200 MVT::i64, 2, 6, 9,
5201 45,
5202 OPC_CheckChild2CondCode, ISD::SETNE,
5203 OPC_MoveParent,
5204 OPC_RecordChild1,
5205 OPC_RecordChild2,
5206 OPC_CheckTypeI64,
5207 OPC_CheckPatternPredicate, 19,
5208 OPC_EmitConvertToTarget1,
5209 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5210 MVT::i64, 2, 0, 4,
5211 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5212 MVT::i64, 2, 2, 5,
5213 OPC_EmitConvertToTarget1,
5214 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5215 MVT::i64, 2, 0, 7,
5216 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5217 MVT::i64, 2, 3, 8,
5218 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5219 MVT::i64, 2, 6, 9,
5220 0,
5221 30|128,1,
5222 OPC_CheckPredicate, 11,
5223 OPC_MoveParent,
5224 OPC_CheckTypeI32,
5225 OPC_Scope, 75,
5226 OPC_CheckChild2CondCode, ISD::SETGT,
5227 OPC_MoveParent,
5228 OPC_RecordChild1,
5229 OPC_RecordChild2,
5230 OPC_CheckTypeI64,
5231 OPC_CheckPatternPredicate, 19,
5232 OPC_EmitInteger64, 0,
5233 OPC_EmitConvertToTarget1,
5234 OPC_EmitNodeXForm, 2, 5,
5235 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5236 MVT::i32, 2, 0, 6,
5237 OPC_EmitStringInteger32, Mips::sub_32,
5238 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
5239 MVT::i64, 3, 4, 7, 8,
5240 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5241 MVT::i64, 2, 2, 9,
5242 OPC_EmitInteger64, 0,
5243 OPC_EmitConvertToTarget1,
5244 OPC_EmitNodeXForm, 2, 12,
5245 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5246 MVT::i32, 2, 0, 13,
5247 OPC_EmitStringInteger32, Mips::sub_32,
5248 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
5249 MVT::i64, 3, 11, 14, 15,
5250 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5251 MVT::i64, 2, 3, 16,
5252 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5253 MVT::i64, 2, 10, 17,
5254 75,
5255 OPC_CheckChild2CondCode, ISD::SETUGT,
5256 OPC_MoveParent,
5257 OPC_RecordChild1,
5258 OPC_RecordChild2,
5259 OPC_CheckTypeI64,
5260 OPC_CheckPatternPredicate, 19,
5261 OPC_EmitInteger64, 0,
5262 OPC_EmitConvertToTarget1,
5263 OPC_EmitNodeXForm, 2, 5,
5264 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5265 MVT::i32, 2, 0, 6,
5266 OPC_EmitStringInteger32, Mips::sub_32,
5267 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
5268 MVT::i64, 3, 4, 7, 8,
5269 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5270 MVT::i64, 2, 2, 9,
5271 OPC_EmitInteger64, 0,
5272 OPC_EmitConvertToTarget1,
5273 OPC_EmitNodeXForm, 2, 12,
5274 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5275 MVT::i32, 2, 0, 13,
5276 OPC_EmitStringInteger32, Mips::sub_32,
5277 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
5278 MVT::i64, 3, 11, 14, 15,
5279 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5280 MVT::i64, 2, 3, 16,
5281 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5282 MVT::i64, 2, 10, 17,
5283 0,
5284 0,
5285 0,
5286 0,
5287 122,
5288 OPC_RecordChild0,
5289 OPC_CheckChild0TypeI32,
5290 OPC_Scope, 17,
5291 OPC_RecordChild1,
5292 OPC_MoveChild2,
5293 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5294 OPC_CheckPredicate6,
5295 OPC_MoveParent,
5296 OPC_CheckTypeI32,
5297 OPC_CheckPatternPredicate, 14,
5298 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
5299 MVT::i32, 2, 1, 0,
5300 17,
5301 OPC_MoveChild1,
5302 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5303 OPC_CheckPredicate6,
5304 OPC_MoveParent,
5305 OPC_RecordChild2,
5306 OPC_CheckTypeI32,
5307 OPC_CheckPatternPredicate, 14,
5308 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
5309 MVT::i32, 2, 1, 0,
5310 16,
5311 OPC_RecordChild1,
5312 OPC_MoveChild2,
5313 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5314 OPC_CheckPredicate6,
5315 OPC_MoveParent,
5316 OPC_CheckTypeI32,
5317 OPC_CheckPatternPredicate7,
5318 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5319 MVT::i32, 2, 1, 0,
5320 16,
5321 OPC_MoveChild1,
5322 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5323 OPC_CheckPredicate6,
5324 OPC_MoveParent,
5325 OPC_RecordChild2,
5326 OPC_CheckTypeI32,
5327 OPC_CheckPatternPredicate7,
5328 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5329 MVT::i32, 2, 1, 0,
5330 23,
5331 OPC_RecordChild1,
5332 OPC_MoveChild2,
5333 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5334 OPC_CheckPredicate6,
5335 OPC_MoveParent,
5336 OPC_CheckTypeI64,
5337 OPC_CheckPatternPredicate, 19,
5338 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5339 MVT::i64, 1, 0,
5340 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
5341 MVT::i64, 2, 1, 2,
5342 23,
5343 OPC_MoveChild1,
5344 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5345 OPC_CheckPredicate6,
5346 OPC_MoveParent,
5347 OPC_RecordChild2,
5348 OPC_CheckTypeI64,
5349 OPC_CheckPatternPredicate, 19,
5350 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5351 MVT::i64, 1, 0,
5352 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
5353 MVT::i64, 2, 1, 2,
5354 0,
5355 48|128,6,
5356 OPC_MoveChild0,
5357 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5358 OPC_RecordChild0,
5359 OPC_CheckTypeI32,
5360 OPC_Scope, 12|128,4,
5361 OPC_CheckChild0TypeI32,
5362 OPC_RecordChild1,
5363 OPC_Scope, 77,
5364 OPC_CheckChild2CondCode, ISD::SETGE,
5365 OPC_MoveParent,
5366 OPC_RecordChild1,
5367 OPC_RecordChild2,
5368 OPC_SwitchType , 49, MVT::i32,
5369 OPC_Scope, 17,
5370 OPC_CheckPatternPredicate, 20,
5371 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
5372 MVT::i32, 2, 0, 1,
5373 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5374 MVT::i32, 3, 2, 4, 3,
5375 17,
5376 OPC_CheckPatternPredicate, 8,
5377 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
5378 MVT::i32, 2, 0, 1,
5379 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5380 MVT::i32, 3, 2, 4, 3,
5381 10,
5382 OPC_CheckPatternPredicate5,
5383 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
5384 MVT::i32, 4, 2, 3, 0, 1,
5385 0,
5386 17, MVT::i64,
5387 OPC_CheckPatternPredicate, 9,
5388 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
5389 MVT::i32, 2, 0, 1,
5390 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5391 MVT::i64, 3, 2, 4, 3,
5392 0,
5393 77,
5394 OPC_CheckChild2CondCode, ISD::SETUGE,
5395 OPC_MoveParent,
5396 OPC_RecordChild1,
5397 OPC_RecordChild2,
5398 OPC_SwitchType , 49, MVT::i32,
5399 OPC_Scope, 17,
5400 OPC_CheckPatternPredicate, 20,
5401 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
5402 MVT::i32, 2, 0, 1,
5403 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5404 MVT::i32, 3, 2, 4, 3,
5405 17,
5406 OPC_CheckPatternPredicate, 8,
5407 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
5408 MVT::i32, 2, 0, 1,
5409 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5410 MVT::i32, 3, 2, 4, 3,
5411 10,
5412 OPC_CheckPatternPredicate5,
5413 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
5414 MVT::i32, 4, 2, 3, 0, 1,
5415 0,
5416 17, MVT::i64,
5417 OPC_CheckPatternPredicate, 9,
5418 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
5419 MVT::i32, 2, 0, 1,
5420 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5421 MVT::i64, 3, 2, 4, 3,
5422 0,
5423 77,
5424 OPC_CheckChild2CondCode, ISD::SETLE,
5425 OPC_MoveParent,
5426 OPC_RecordChild1,
5427 OPC_RecordChild2,
5428 OPC_SwitchType , 49, MVT::i32,
5429 OPC_Scope, 17,
5430 OPC_CheckPatternPredicate, 20,
5431 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
5432 MVT::i32, 2, 1, 0,
5433 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5434 MVT::i32, 3, 2, 4, 3,
5435 17,
5436 OPC_CheckPatternPredicate, 8,
5437 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
5438 MVT::i32, 2, 1, 0,
5439 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5440 MVT::i32, 3, 2, 4, 3,
5441 10,
5442 OPC_CheckPatternPredicate5,
5443 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
5444 MVT::i32, 4, 2, 3, 1, 0,
5445 0,
5446 17, MVT::i64,
5447 OPC_CheckPatternPredicate, 9,
5448 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
5449 MVT::i32, 2, 1, 0,
5450 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5451 MVT::i64, 3, 2, 4, 3,
5452 0,
5453 77,
5454 OPC_CheckChild2CondCode, ISD::SETULE,
5455 OPC_MoveParent,
5456 OPC_RecordChild1,
5457 OPC_RecordChild2,
5458 OPC_SwitchType , 49, MVT::i32,
5459 OPC_Scope, 17,
5460 OPC_CheckPatternPredicate, 20,
5461 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
5462 MVT::i32, 2, 1, 0,
5463 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5464 MVT::i32, 3, 2, 4, 3,
5465 17,
5466 OPC_CheckPatternPredicate, 8,
5467 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
5468 MVT::i32, 2, 1, 0,
5469 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5470 MVT::i32, 3, 2, 4, 3,
5471 10,
5472 OPC_CheckPatternPredicate5,
5473 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
5474 MVT::i32, 4, 2, 3, 1, 0,
5475 0,
5476 17, MVT::i64,
5477 OPC_CheckPatternPredicate, 9,
5478 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
5479 MVT::i32, 2, 1, 0,
5480 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5481 MVT::i64, 3, 2, 4, 3,
5482 0,
5483 77,
5484 OPC_CheckChild2CondCode, ISD::SETEQ,
5485 OPC_MoveParent,
5486 OPC_RecordChild1,
5487 OPC_RecordChild2,
5488 OPC_SwitchType , 49, MVT::i32,
5489 OPC_Scope, 17,
5490 OPC_CheckPatternPredicate, 20,
5491 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
5492 MVT::i32, 2, 0, 1,
5493 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5494 MVT::i32, 3, 2, 4, 3,
5495 17,
5496 OPC_CheckPatternPredicate, 8,
5497 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
5498 MVT::i32, 2, 0, 1,
5499 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5500 MVT::i32, 3, 2, 4, 3,
5501 10,
5502 OPC_CheckPatternPredicate5,
5503 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmp),
5504 MVT::i32, 4, 2, 3, 1, 0,
5505 0,
5506 17, MVT::i64,
5507 OPC_CheckPatternPredicate, 9,
5508 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
5509 MVT::i32, 2, 0, 1,
5510 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5511 MVT::i64, 3, 2, 4, 3,
5512 0,
5513 95,
5514 OPC_CheckChild2CondCode, ISD::SETNE,
5515 OPC_MoveParent,
5516 OPC_RecordChild1,
5517 OPC_RecordChild2,
5518 OPC_SwitchType , 67, MVT::i32,
5519 OPC_Scope, 17,
5520 OPC_CheckPatternPredicate, 20,
5521 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
5522 MVT::i32, 2, 0, 1,
5523 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
5524 MVT::i32, 3, 2, 4, 3,
5525 17,
5526 OPC_CheckPatternPredicate, 61,
5527 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
5528 MVT::i32, 2, 0, 1,
5529 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5530 MVT::i32, 3, 2, 4, 3,
5531 17,
5532 OPC_CheckPatternPredicate, 8,
5533 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
5534 MVT::i32, 2, 0, 1,
5535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5536 MVT::i32, 3, 2, 4, 3,
5537 10,
5538 OPC_CheckPatternPredicate5,
5539 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmp),
5540 MVT::i32, 4, 2, 3, 1, 0,
5541 0,
5542 17, MVT::i64,
5543 OPC_CheckPatternPredicate, 9,
5544 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
5545 MVT::i32, 2, 0, 1,
5546 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
5547 MVT::i64, 3, 2, 4, 3,
5548 0,
5549 16,
5550 OPC_CheckChild2CondCode, ISD::SETGT,
5551 OPC_MoveParent,
5552 OPC_RecordChild1,
5553 OPC_RecordChild2,
5554 OPC_CheckTypeI32,
5555 OPC_CheckPatternPredicate5,
5556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlt),
5557 MVT::i32, 4, 2, 3, 1, 0,
5558 16,
5559 OPC_CheckChild2CondCode, ISD::SETUGT,
5560 OPC_MoveParent,
5561 OPC_RecordChild1,
5562 OPC_RecordChild2,
5563 OPC_CheckTypeI32,
5564 OPC_CheckPatternPredicate5,
5565 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSltu),
5566 MVT::i32, 4, 2, 3, 1, 0,
5567 0,
5568 24|128,2,
5569 OPC_CheckChild0TypeI64,
5570 OPC_RecordChild1,
5571 OPC_Scope, 45,
5572 OPC_CheckChild2CondCode, ISD::SETGE,
5573 OPC_MoveParent,
5574 OPC_RecordChild1,
5575 OPC_RecordChild2,
5576 OPC_SwitchType , 17, MVT::i32,
5577 OPC_CheckPatternPredicate, 9,
5578 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
5579 MVT::i32, 2, 0, 1,
5580 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5581 MVT::i32, 3, 2, 4, 3,
5582 17, MVT::i64,
5583 OPC_CheckPatternPredicate, 9,
5584 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
5585 MVT::i32, 2, 0, 1,
5586 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5587 MVT::i64, 3, 2, 4, 3,
5588 0,
5589 45,
5590 OPC_CheckChild2CondCode, ISD::SETUGE,
5591 OPC_MoveParent,
5592 OPC_RecordChild1,
5593 OPC_RecordChild2,
5594 OPC_SwitchType , 17, MVT::i32,
5595 OPC_CheckPatternPredicate, 9,
5596 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
5597 MVT::i32, 2, 0, 1,
5598 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5599 MVT::i32, 3, 2, 4, 3,
5600 17, MVT::i64,
5601 OPC_CheckPatternPredicate, 9,
5602 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
5603 MVT::i32, 2, 0, 1,
5604 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5605 MVT::i64, 3, 2, 4, 3,
5606 0,
5607 45,
5608 OPC_CheckChild2CondCode, ISD::SETLE,
5609 OPC_MoveParent,
5610 OPC_RecordChild1,
5611 OPC_RecordChild2,
5612 OPC_SwitchType , 17, MVT::i32,
5613 OPC_CheckPatternPredicate, 9,
5614 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
5615 MVT::i32, 2, 1, 0,
5616 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5617 MVT::i32, 3, 2, 4, 3,
5618 17, MVT::i64,
5619 OPC_CheckPatternPredicate, 9,
5620 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
5621 MVT::i32, 2, 1, 0,
5622 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5623 MVT::i64, 3, 2, 4, 3,
5624 0,
5625 45,
5626 OPC_CheckChild2CondCode, ISD::SETULE,
5627 OPC_MoveParent,
5628 OPC_RecordChild1,
5629 OPC_RecordChild2,
5630 OPC_SwitchType , 17, MVT::i32,
5631 OPC_CheckPatternPredicate, 9,
5632 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
5633 MVT::i32, 2, 1, 0,
5634 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5635 MVT::i32, 3, 2, 4, 3,
5636 17, MVT::i64,
5637 OPC_CheckPatternPredicate, 9,
5638 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
5639 MVT::i32, 2, 1, 0,
5640 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5641 MVT::i64, 3, 2, 4, 3,
5642 0,
5643 45,
5644 OPC_CheckChild2CondCode, ISD::SETEQ,
5645 OPC_MoveParent,
5646 OPC_RecordChild1,
5647 OPC_RecordChild2,
5648 OPC_SwitchType , 17, MVT::i32,
5649 OPC_CheckPatternPredicate, 9,
5650 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
5651 MVT::i64, 2, 0, 1,
5652 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
5653 MVT::i32, 3, 2, 4, 3,
5654 17, MVT::i64,
5655 OPC_CheckPatternPredicate, 9,
5656 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
5657 MVT::i64, 2, 0, 1,
5658 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
5659 MVT::i64, 3, 2, 4, 3,
5660 0,
5661 45,
5662 OPC_CheckChild2CondCode, ISD::SETNE,
5663 OPC_MoveParent,
5664 OPC_RecordChild1,
5665 OPC_RecordChild2,
5666 OPC_SwitchType , 17, MVT::i32,
5667 OPC_CheckPatternPredicate, 9,
5668 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
5669 MVT::i64, 2, 0, 1,
5670 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
5671 MVT::i32, 3, 2, 4, 3,
5672 17, MVT::i64,
5673 OPC_CheckPatternPredicate, 9,
5674 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
5675 MVT::i64, 2, 0, 1,
5676 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
5677 MVT::i64, 3, 2, 4, 3,
5678 0,
5679 0,
5680 0,
5681 106|128,1,
5682 OPC_RecordChild0,
5683 OPC_Scope, 44|128,1,
5684 OPC_CheckChild0TypeI32,
5685 OPC_RecordChild1,
5686 OPC_RecordChild2,
5687 OPC_SwitchType , 103, MVT::i32,
5688 OPC_Scope, 10,
5689 OPC_CheckPatternPredicate, 20,
5690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
5691 MVT::i32, 3, 1, 0, 2,
5692 10,
5693 OPC_CheckPatternPredicate, 61,
5694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5695 MVT::i32, 3, 1, 0, 2,
5696 10,
5697 OPC_CheckPatternPredicate, 8,
5698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5699 MVT::i32, 3, 1, 0, 2,
5700 23,
5701 OPC_CheckPatternPredicate, 14,
5702 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5703 MVT::i32, 2, 1, 0,
5704 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5705 MVT::i32, 2, 2, 0,
5706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5707 MVT::i32, 2, 3, 4,
5708 22,
5709 OPC_CheckPatternPredicate7,
5710 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5711 MVT::i32, 2, 1, 0,
5712 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5713 MVT::i32, 2, 2, 0,
5714 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
5715 MVT::i32, 2, 3, 4,
5716 10,
5717 OPC_CheckPatternPredicate, 35,
5718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I),
5719 MVT::i32, 3, 0, 1, 2,
5720 9,
5721 OPC_CheckPatternPredicate5,
5722 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
5723 MVT::i32, 3, 1, 2, 0,
5724 0,
5725 60, MVT::i64,
5726 OPC_Scope, 10,
5727 OPC_CheckPatternPredicate, 9,
5728 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
5729 MVT::i64, 3, 1, 0, 2,
5730 35,
5731 OPC_CheckPatternPredicate, 19,
5732 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5733 MVT::i64, 1, 0,
5734 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5735 MVT::i64, 2, 1, 3,
5736 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5737 MVT::i64, 1, 0,
5738 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5739 MVT::i64, 2, 2, 5,
5740 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5741 MVT::i64, 2, 4, 6,
5742 10,
5743 OPC_CheckPatternPredicate, 35,
5744 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I64),
5745 MVT::i64, 3, 0, 1, 2,
5746 0,
5747 0,
5748 56,
5749 OPC_CheckChild0TypeI64,
5750 OPC_RecordChild1,
5751 OPC_RecordChild2,
5752 OPC_SwitchType , 10, MVT::i32,
5753 OPC_CheckPatternPredicate, 9,
5754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
5755 MVT::i32, 3, 1, 0, 2,
5756 37, MVT::i64,
5757 OPC_Scope, 10,
5758 OPC_CheckPatternPredicate, 9,
5759 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
5760 MVT::i64, 3, 1, 0, 2,
5761 23,
5762 OPC_CheckPatternPredicate, 19,
5763 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5764 MVT::i64, 2, 1, 0,
5765 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5766 MVT::i64, 2, 2, 0,
5767 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5768 MVT::i64, 2, 3, 4,
5769 0,
5770 0,
5771 0,
5772 127|128,15,
5773 OPC_MoveChild0,
5774 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5775 OPC_RecordChild0,
5776 OPC_Scope, 14|128,11,
5777 OPC_CheckChild0TypeI32,
5778 OPC_Scope, 19|128,1,
5779 OPC_CheckChild1Integer, 0,
5780 OPC_CheckTypeI32,
5781 OPC_Scope, 70,
5782 OPC_CheckChild2CondCode, ISD::SETEQ,
5783 OPC_MoveParent,
5784 OPC_RecordChild1,
5785 OPC_RecordChild2,
5786 OPC_SwitchType , 24, MVT::f32,
5787 OPC_Scope, 10,
5788 OPC_CheckPatternPredicate, 20,
5789 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5790 MVT::f32, 3, 1, 0, 2,
5791 10,
5792 OPC_CheckPatternPredicate, 8,
5793 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
5794 MVT::f32, 3, 1, 0, 2,
5795 0,
5796 35, MVT::f64,
5797 OPC_Scope, 10,
5798 OPC_CheckPatternPredicate, 28,
5799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5800 MVT::f64, 3, 1, 0, 2,
5801 10,
5802 OPC_CheckPatternPredicate, 21,
5803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
5804 MVT::f64, 3, 1, 0, 2,
5805 10,
5806 OPC_CheckPatternPredicate, 27,
5807 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
5808 MVT::f64, 3, 1, 0, 2,
5809 0,
5810 0,
5811 70,
5812 OPC_CheckChild2CondCode, ISD::SETNE,
5813 OPC_MoveParent,
5814 OPC_RecordChild1,
5815 OPC_RecordChild2,
5816 OPC_SwitchType , 24, MVT::f32,
5817 OPC_Scope, 10,
5818 OPC_CheckPatternPredicate, 20,
5819 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
5820 MVT::f32, 3, 1, 0, 2,
5821 10,
5822 OPC_CheckPatternPredicate, 8,
5823 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
5824 MVT::f32, 3, 1, 0, 2,
5825 0,
5826 35, MVT::f64,
5827 OPC_Scope, 10,
5828 OPC_CheckPatternPredicate, 28,
5829 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
5830 MVT::f64, 3, 1, 0, 2,
5831 10,
5832 OPC_CheckPatternPredicate, 21,
5833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
5834 MVT::f64, 3, 1, 0, 2,
5835 10,
5836 OPC_CheckPatternPredicate, 27,
5837 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
5838 MVT::f64, 3, 1, 0, 2,
5839 0,
5840 0,
5841 0,
5842 116|128,9,
5843 OPC_RecordChild1,
5844 OPC_Scope, 109|128,4,
5845 OPC_MoveChild1,
5846 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5847 OPC_Scope, 57,
5848 OPC_CheckPredicate7,
5849 OPC_MoveParent,
5850 OPC_CheckTypeI32,
5851 OPC_Scope, 25,
5852 OPC_CheckChild2CondCode, ISD::SETGE,
5853 OPC_MoveParent,
5854 OPC_RecordChild1,
5855 OPC_RecordChild2,
5856 OPC_CheckType, MVT::f32,
5857 OPC_CheckPatternPredicate, 20,
5858 OPC_EmitConvertToTarget1,
5859 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5860 MVT::i32, 2, 0, 4,
5861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5862 MVT::f32, 3, 2, 5, 3,
5863 25,
5864 OPC_CheckChild2CondCode, ISD::SETUGE,
5865 OPC_MoveParent,
5866 OPC_RecordChild1,
5867 OPC_RecordChild2,
5868 OPC_CheckType, MVT::f32,
5869 OPC_CheckPatternPredicate, 20,
5870 OPC_EmitConvertToTarget1,
5871 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5872 MVT::i32, 2, 0, 4,
5873 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5874 MVT::f32, 3, 2, 5, 3,
5875 0,
5876 64,
5877 OPC_CheckPredicate, 11,
5878 OPC_MoveParent,
5879 OPC_CheckTypeI32,
5880 OPC_Scope, 28,
5881 OPC_CheckChild2CondCode, ISD::SETGT,
5882 OPC_MoveParent,
5883 OPC_RecordChild1,
5884 OPC_RecordChild2,
5885 OPC_CheckType, MVT::f32,
5886 OPC_CheckPatternPredicate, 20,
5887 OPC_EmitConvertToTarget1,
5888 OPC_EmitNodeXForm, 2, 4,
5889 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5890 MVT::i32, 2, 0, 5,
5891 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5892 MVT::f32, 3, 2, 6, 3,
5893 28,
5894 OPC_CheckChild2CondCode, ISD::SETUGT,
5895 OPC_MoveParent,
5896 OPC_RecordChild1,
5897 OPC_RecordChild2,
5898 OPC_CheckType, MVT::f32,
5899 OPC_CheckPatternPredicate, 20,
5900 OPC_EmitConvertToTarget1,
5901 OPC_EmitNodeXForm, 2, 4,
5902 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5903 MVT::i32, 2, 0, 5,
5904 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5905 MVT::f32, 3, 2, 6, 3,
5906 0,
5907 57,
5908 OPC_CheckPredicate7,
5909 OPC_MoveParent,
5910 OPC_CheckTypeI32,
5911 OPC_Scope, 25,
5912 OPC_CheckChild2CondCode, ISD::SETGE,
5913 OPC_MoveParent,
5914 OPC_RecordChild1,
5915 OPC_RecordChild2,
5916 OPC_CheckType, MVT::f64,
5917 OPC_CheckPatternPredicate, 28,
5918 OPC_EmitConvertToTarget1,
5919 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5920 MVT::i32, 2, 0, 4,
5921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5922 MVT::f64, 3, 2, 5, 3,
5923 25,
5924 OPC_CheckChild2CondCode, ISD::SETUGE,
5925 OPC_MoveParent,
5926 OPC_RecordChild1,
5927 OPC_RecordChild2,
5928 OPC_CheckType, MVT::f64,
5929 OPC_CheckPatternPredicate, 28,
5930 OPC_EmitConvertToTarget1,
5931 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5932 MVT::i32, 2, 0, 4,
5933 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5934 MVT::f64, 3, 2, 5, 3,
5935 0,
5936 64,
5937 OPC_CheckPredicate, 11,
5938 OPC_MoveParent,
5939 OPC_CheckTypeI32,
5940 OPC_Scope, 28,
5941 OPC_CheckChild2CondCode, ISD::SETGT,
5942 OPC_MoveParent,
5943 OPC_RecordChild1,
5944 OPC_RecordChild2,
5945 OPC_CheckType, MVT::f64,
5946 OPC_CheckPatternPredicate, 28,
5947 OPC_EmitConvertToTarget1,
5948 OPC_EmitNodeXForm, 2, 4,
5949 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5950 MVT::i32, 2, 0, 5,
5951 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5952 MVT::f64, 3, 2, 6, 3,
5953 28,
5954 OPC_CheckChild2CondCode, ISD::SETUGT,
5955 OPC_MoveParent,
5956 OPC_RecordChild1,
5957 OPC_RecordChild2,
5958 OPC_CheckType, MVT::f64,
5959 OPC_CheckPatternPredicate, 28,
5960 OPC_EmitConvertToTarget1,
5961 OPC_EmitNodeXForm, 2, 4,
5962 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5963 MVT::i32, 2, 0, 5,
5964 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5965 MVT::f64, 3, 2, 6, 3,
5966 0,
5967 57,
5968 OPC_CheckPredicate7,
5969 OPC_MoveParent,
5970 OPC_CheckTypeI32,
5971 OPC_Scope, 25,
5972 OPC_CheckChild2CondCode, ISD::SETGE,
5973 OPC_MoveParent,
5974 OPC_RecordChild1,
5975 OPC_RecordChild2,
5976 OPC_CheckType, MVT::f64,
5977 OPC_CheckPatternPredicate, 21,
5978 OPC_EmitConvertToTarget1,
5979 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5980 MVT::i32, 2, 0, 4,
5981 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
5982 MVT::f64, 3, 2, 5, 3,
5983 25,
5984 OPC_CheckChild2CondCode, ISD::SETUGE,
5985 OPC_MoveParent,
5986 OPC_RecordChild1,
5987 OPC_RecordChild2,
5988 OPC_CheckType, MVT::f64,
5989 OPC_CheckPatternPredicate, 21,
5990 OPC_EmitConvertToTarget1,
5991 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5992 MVT::i32, 2, 0, 4,
5993 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
5994 MVT::f64, 3, 2, 5, 3,
5995 0,
5996 64,
5997 OPC_CheckPredicate, 11,
5998 OPC_MoveParent,
5999 OPC_CheckTypeI32,
6000 OPC_Scope, 28,
6001 OPC_CheckChild2CondCode, ISD::SETGT,
6002 OPC_MoveParent,
6003 OPC_RecordChild1,
6004 OPC_RecordChild2,
6005 OPC_CheckType, MVT::f64,
6006 OPC_CheckPatternPredicate, 21,
6007 OPC_EmitConvertToTarget1,
6008 OPC_EmitNodeXForm, 2, 4,
6009 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
6010 MVT::i32, 2, 0, 5,
6011 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6012 MVT::f64, 3, 2, 6, 3,
6013 28,
6014 OPC_CheckChild2CondCode, ISD::SETUGT,
6015 OPC_MoveParent,
6016 OPC_RecordChild1,
6017 OPC_RecordChild2,
6018 OPC_CheckType, MVT::f64,
6019 OPC_CheckPatternPredicate, 21,
6020 OPC_EmitConvertToTarget1,
6021 OPC_EmitNodeXForm, 2, 4,
6022 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
6023 MVT::i32, 2, 0, 5,
6024 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6025 MVT::f64, 3, 2, 6, 3,
6026 0,
6027 57,
6028 OPC_CheckPredicate7,
6029 OPC_MoveParent,
6030 OPC_CheckTypeI32,
6031 OPC_Scope, 25,
6032 OPC_CheckChild2CondCode, ISD::SETGE,
6033 OPC_MoveParent,
6034 OPC_RecordChild1,
6035 OPC_RecordChild2,
6036 OPC_CheckType, MVT::f32,
6037 OPC_CheckPatternPredicate, 8,
6038 OPC_EmitConvertToTarget1,
6039 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6040 MVT::i32, 2, 0, 4,
6041 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6042 MVT::f32, 3, 2, 5, 3,
6043 25,
6044 OPC_CheckChild2CondCode, ISD::SETUGE,
6045 OPC_MoveParent,
6046 OPC_RecordChild1,
6047 OPC_RecordChild2,
6048 OPC_CheckType, MVT::f32,
6049 OPC_CheckPatternPredicate, 8,
6050 OPC_EmitConvertToTarget1,
6051 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6052 MVT::i32, 2, 0, 4,
6053 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6054 MVT::f32, 3, 2, 5, 3,
6055 0,
6056 64,
6057 OPC_CheckPredicate, 11,
6058 OPC_MoveParent,
6059 OPC_CheckTypeI32,
6060 OPC_Scope, 28,
6061 OPC_CheckChild2CondCode, ISD::SETGT,
6062 OPC_MoveParent,
6063 OPC_RecordChild1,
6064 OPC_RecordChild2,
6065 OPC_CheckType, MVT::f32,
6066 OPC_CheckPatternPredicate, 8,
6067 OPC_EmitConvertToTarget1,
6068 OPC_EmitNodeXForm, 2, 4,
6069 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6070 MVT::i32, 2, 0, 5,
6071 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6072 MVT::f32, 3, 2, 6, 3,
6073 28,
6074 OPC_CheckChild2CondCode, ISD::SETUGT,
6075 OPC_MoveParent,
6076 OPC_RecordChild1,
6077 OPC_RecordChild2,
6078 OPC_CheckType, MVT::f32,
6079 OPC_CheckPatternPredicate, 8,
6080 OPC_EmitConvertToTarget1,
6081 OPC_EmitNodeXForm, 2, 4,
6082 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6083 MVT::i32, 2, 0, 5,
6084 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6085 MVT::f32, 3, 2, 6, 3,
6086 0,
6087 57,
6088 OPC_CheckPredicate7,
6089 OPC_MoveParent,
6090 OPC_CheckTypeI32,
6091 OPC_Scope, 25,
6092 OPC_CheckChild2CondCode, ISD::SETGE,
6093 OPC_MoveParent,
6094 OPC_RecordChild1,
6095 OPC_RecordChild2,
6096 OPC_CheckType, MVT::f64,
6097 OPC_CheckPatternPredicate, 27,
6098 OPC_EmitConvertToTarget1,
6099 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6100 MVT::i32, 2, 0, 4,
6101 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6102 MVT::f64, 3, 2, 5, 3,
6103 25,
6104 OPC_CheckChild2CondCode, ISD::SETUGE,
6105 OPC_MoveParent,
6106 OPC_RecordChild1,
6107 OPC_RecordChild2,
6108 OPC_CheckType, MVT::f64,
6109 OPC_CheckPatternPredicate, 27,
6110 OPC_EmitConvertToTarget1,
6111 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6112 MVT::i32, 2, 0, 4,
6113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6114 MVT::f64, 3, 2, 5, 3,
6115 0,
6116 64,
6117 OPC_CheckPredicate, 11,
6118 OPC_MoveParent,
6119 OPC_CheckTypeI32,
6120 OPC_Scope, 28,
6121 OPC_CheckChild2CondCode, ISD::SETGT,
6122 OPC_MoveParent,
6123 OPC_RecordChild1,
6124 OPC_RecordChild2,
6125 OPC_CheckType, MVT::f64,
6126 OPC_CheckPatternPredicate, 27,
6127 OPC_EmitConvertToTarget1,
6128 OPC_EmitNodeXForm, 2, 4,
6129 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6130 MVT::i32, 2, 0, 5,
6131 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6132 MVT::f64, 3, 2, 6, 3,
6133 28,
6134 OPC_CheckChild2CondCode, ISD::SETUGT,
6135 OPC_MoveParent,
6136 OPC_RecordChild1,
6137 OPC_RecordChild2,
6138 OPC_CheckType, MVT::f64,
6139 OPC_CheckPatternPredicate, 27,
6140 OPC_EmitConvertToTarget1,
6141 OPC_EmitNodeXForm, 2, 4,
6142 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6143 MVT::i32, 2, 0, 5,
6144 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6145 MVT::f64, 3, 2, 6, 3,
6146 0,
6147 0,
6148 106,
6149 OPC_CheckChild2CondCode, ISD::SETGE,
6150 OPC_CheckTypeI32,
6151 OPC_MoveParent,
6152 OPC_RecordChild1,
6153 OPC_RecordChild2,
6154 OPC_SwitchType , 38, MVT::f32,
6155 OPC_Scope, 17,
6156 OPC_CheckPatternPredicate, 20,
6157 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6158 MVT::i32, 2, 0, 1,
6159 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6160 MVT::f32, 3, 2, 4, 3,
6161 17,
6162 OPC_CheckPatternPredicate, 8,
6163 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6164 MVT::i32, 2, 0, 1,
6165 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6166 MVT::f32, 3, 2, 4, 3,
6167 0,
6168 56, MVT::f64,
6169 OPC_Scope, 17,
6170 OPC_CheckPatternPredicate, 28,
6171 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6172 MVT::i32, 2, 0, 1,
6173 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6174 MVT::f64, 3, 2, 4, 3,
6175 17,
6176 OPC_CheckPatternPredicate, 21,
6177 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6178 MVT::i32, 2, 0, 1,
6179 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6180 MVT::f64, 3, 2, 4, 3,
6181 17,
6182 OPC_CheckPatternPredicate, 27,
6183 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6184 MVT::i32, 2, 0, 1,
6185 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6186 MVT::f64, 3, 2, 4, 3,
6187 0,
6188 0,
6189 106,
6190 OPC_CheckChild2CondCode, ISD::SETUGE,
6191 OPC_CheckTypeI32,
6192 OPC_MoveParent,
6193 OPC_RecordChild1,
6194 OPC_RecordChild2,
6195 OPC_SwitchType , 38, MVT::f32,
6196 OPC_Scope, 17,
6197 OPC_CheckPatternPredicate, 20,
6198 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6199 MVT::i32, 2, 0, 1,
6200 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6201 MVT::f32, 3, 2, 4, 3,
6202 17,
6203 OPC_CheckPatternPredicate, 8,
6204 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6205 MVT::i32, 2, 0, 1,
6206 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6207 MVT::f32, 3, 2, 4, 3,
6208 0,
6209 56, MVT::f64,
6210 OPC_Scope, 17,
6211 OPC_CheckPatternPredicate, 28,
6212 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6213 MVT::i32, 2, 0, 1,
6214 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6215 MVT::f64, 3, 2, 4, 3,
6216 17,
6217 OPC_CheckPatternPredicate, 21,
6218 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6219 MVT::i32, 2, 0, 1,
6220 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6221 MVT::f64, 3, 2, 4, 3,
6222 17,
6223 OPC_CheckPatternPredicate, 27,
6224 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6225 MVT::i32, 2, 0, 1,
6226 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6227 MVT::f64, 3, 2, 4, 3,
6228 0,
6229 0,
6230 106,
6231 OPC_CheckChild2CondCode, ISD::SETLE,
6232 OPC_CheckTypeI32,
6233 OPC_MoveParent,
6234 OPC_RecordChild1,
6235 OPC_RecordChild2,
6236 OPC_SwitchType , 38, MVT::f32,
6237 OPC_Scope, 17,
6238 OPC_CheckPatternPredicate, 20,
6239 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6240 MVT::i32, 2, 1, 0,
6241 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6242 MVT::f32, 3, 2, 4, 3,
6243 17,
6244 OPC_CheckPatternPredicate, 8,
6245 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6246 MVT::i32, 2, 1, 0,
6247 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6248 MVT::f32, 3, 2, 4, 3,
6249 0,
6250 56, MVT::f64,
6251 OPC_Scope, 17,
6252 OPC_CheckPatternPredicate, 28,
6253 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6254 MVT::i32, 2, 1, 0,
6255 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6256 MVT::f64, 3, 2, 4, 3,
6257 17,
6258 OPC_CheckPatternPredicate, 21,
6259 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6260 MVT::i32, 2, 1, 0,
6261 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6262 MVT::f64, 3, 2, 4, 3,
6263 17,
6264 OPC_CheckPatternPredicate, 27,
6265 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6266 MVT::i32, 2, 1, 0,
6267 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6268 MVT::f64, 3, 2, 4, 3,
6269 0,
6270 0,
6271 106,
6272 OPC_CheckChild2CondCode, ISD::SETULE,
6273 OPC_CheckTypeI32,
6274 OPC_MoveParent,
6275 OPC_RecordChild1,
6276 OPC_RecordChild2,
6277 OPC_SwitchType , 38, MVT::f32,
6278 OPC_Scope, 17,
6279 OPC_CheckPatternPredicate, 20,
6280 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6281 MVT::i32, 2, 1, 0,
6282 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6283 MVT::f32, 3, 2, 4, 3,
6284 17,
6285 OPC_CheckPatternPredicate, 8,
6286 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6287 MVT::i32, 2, 1, 0,
6288 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6289 MVT::f32, 3, 2, 4, 3,
6290 0,
6291 56, MVT::f64,
6292 OPC_Scope, 17,
6293 OPC_CheckPatternPredicate, 28,
6294 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6295 MVT::i32, 2, 1, 0,
6296 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6297 MVT::f64, 3, 2, 4, 3,
6298 17,
6299 OPC_CheckPatternPredicate, 21,
6300 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6301 MVT::i32, 2, 1, 0,
6302 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6303 MVT::f64, 3, 2, 4, 3,
6304 17,
6305 OPC_CheckPatternPredicate, 27,
6306 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6307 MVT::i32, 2, 1, 0,
6308 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6309 MVT::f64, 3, 2, 4, 3,
6310 0,
6311 0,
6312 106,
6313 OPC_CheckChild2CondCode, ISD::SETEQ,
6314 OPC_CheckTypeI32,
6315 OPC_MoveParent,
6316 OPC_RecordChild1,
6317 OPC_RecordChild2,
6318 OPC_SwitchType , 38, MVT::f32,
6319 OPC_Scope, 17,
6320 OPC_CheckPatternPredicate, 20,
6321 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6322 MVT::i32, 2, 0, 1,
6323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6324 MVT::f32, 3, 2, 4, 3,
6325 17,
6326 OPC_CheckPatternPredicate, 8,
6327 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6328 MVT::i32, 2, 0, 1,
6329 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6330 MVT::f32, 3, 2, 4, 3,
6331 0,
6332 56, MVT::f64,
6333 OPC_Scope, 17,
6334 OPC_CheckPatternPredicate, 28,
6335 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6336 MVT::i32, 2, 0, 1,
6337 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6338 MVT::f64, 3, 2, 4, 3,
6339 17,
6340 OPC_CheckPatternPredicate, 21,
6341 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6342 MVT::i32, 2, 0, 1,
6343 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6344 MVT::f64, 3, 2, 4, 3,
6345 17,
6346 OPC_CheckPatternPredicate, 27,
6347 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6348 MVT::i32, 2, 0, 1,
6349 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6350 MVT::f64, 3, 2, 4, 3,
6351 0,
6352 0,
6353 106,
6354 OPC_CheckChild2CondCode, ISD::SETNE,
6355 OPC_CheckTypeI32,
6356 OPC_MoveParent,
6357 OPC_RecordChild1,
6358 OPC_RecordChild2,
6359 OPC_SwitchType , 38, MVT::f32,
6360 OPC_Scope, 17,
6361 OPC_CheckPatternPredicate, 20,
6362 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6363 MVT::i32, 2, 0, 1,
6364 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
6365 MVT::f32, 3, 2, 4, 3,
6366 17,
6367 OPC_CheckPatternPredicate, 8,
6368 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6369 MVT::i32, 2, 0, 1,
6370 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
6371 MVT::f32, 3, 2, 4, 3,
6372 0,
6373 56, MVT::f64,
6374 OPC_Scope, 17,
6375 OPC_CheckPatternPredicate, 28,
6376 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6377 MVT::i32, 2, 0, 1,
6378 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
6379 MVT::f64, 3, 2, 4, 3,
6380 17,
6381 OPC_CheckPatternPredicate, 21,
6382 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6383 MVT::i32, 2, 0, 1,
6384 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
6385 MVT::f64, 3, 2, 4, 3,
6386 17,
6387 OPC_CheckPatternPredicate, 27,
6388 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6389 MVT::i32, 2, 0, 1,
6390 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
6391 MVT::f64, 3, 2, 4, 3,
6392 0,
6393 0,
6394 0,
6395 0,
6396 102|128,4,
6397 OPC_CheckChild0TypeI64,
6398 OPC_Scope, 69,
6399 OPC_CheckChild1Integer, 0,
6400 OPC_CheckTypeI32,
6401 OPC_Scope, 31,
6402 OPC_CheckChild2CondCode, ISD::SETEQ,
6403 OPC_MoveParent,
6404 OPC_RecordChild1,
6405 OPC_RecordChild2,
6406 OPC_SwitchType , 10, MVT::f32,
6407 OPC_CheckPatternPredicate, 9,
6408 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
6409 MVT::f32, 3, 1, 0, 2,
6410 10, MVT::f64,
6411 OPC_CheckPatternPredicate, 21,
6412 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
6413 MVT::f64, 3, 1, 0, 2,
6414 0,
6415 31,
6416 OPC_CheckChild2CondCode, ISD::SETNE,
6417 OPC_MoveParent,
6418 OPC_RecordChild1,
6419 OPC_RecordChild2,
6420 OPC_SwitchType , 10, MVT::f32,
6421 OPC_CheckPatternPredicate, 9,
6422 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
6423 MVT::f32, 3, 1, 0, 2,
6424 10, MVT::f64,
6425 OPC_CheckPatternPredicate, 21,
6426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
6427 MVT::f64, 3, 1, 0, 2,
6428 0,
6429 0,
6430 27|128,4,
6431 OPC_RecordChild1,
6432 OPC_Scope, 124|128,1,
6433 OPC_MoveChild1,
6434 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6435 OPC_Scope, 57,
6436 OPC_CheckPredicate7,
6437 OPC_MoveParent,
6438 OPC_CheckTypeI32,
6439 OPC_Scope, 25,
6440 OPC_CheckChild2CondCode, ISD::SETGE,
6441 OPC_MoveParent,
6442 OPC_RecordChild1,
6443 OPC_RecordChild2,
6444 OPC_CheckType, MVT::f32,
6445 OPC_CheckPatternPredicate, 9,
6446 OPC_EmitConvertToTarget1,
6447 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6448 MVT::i32, 2, 0, 4,
6449 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6450 MVT::f32, 3, 2, 5, 3,
6451 25,
6452 OPC_CheckChild2CondCode, ISD::SETUGE,
6453 OPC_MoveParent,
6454 OPC_RecordChild1,
6455 OPC_RecordChild2,
6456 OPC_CheckType, MVT::f32,
6457 OPC_CheckPatternPredicate, 9,
6458 OPC_EmitConvertToTarget1,
6459 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6460 MVT::i32, 2, 0, 4,
6461 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6462 MVT::f32, 3, 2, 5, 3,
6463 0,
6464 64,
6465 OPC_CheckPredicate, 11,
6466 OPC_MoveParent,
6467 OPC_CheckTypeI32,
6468 OPC_Scope, 28,
6469 OPC_CheckChild2CondCode, ISD::SETGT,
6470 OPC_MoveParent,
6471 OPC_RecordChild1,
6472 OPC_RecordChild2,
6473 OPC_CheckType, MVT::f32,
6474 OPC_CheckPatternPredicate, 9,
6475 OPC_EmitConvertToTarget1,
6476 OPC_EmitNodeXForm, 2, 4,
6477 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6478 MVT::i32, 2, 0, 5,
6479 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6480 MVT::f32, 3, 2, 6, 3,
6481 28,
6482 OPC_CheckChild2CondCode, ISD::SETUGT,
6483 OPC_MoveParent,
6484 OPC_RecordChild1,
6485 OPC_RecordChild2,
6486 OPC_CheckType, MVT::f32,
6487 OPC_CheckPatternPredicate, 9,
6488 OPC_EmitConvertToTarget1,
6489 OPC_EmitNodeXForm, 2, 4,
6490 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6491 MVT::i32, 2, 0, 5,
6492 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6493 MVT::f32, 3, 2, 6, 3,
6494 0,
6495 57,
6496 OPC_CheckPredicate7,
6497 OPC_MoveParent,
6498 OPC_CheckTypeI32,
6499 OPC_Scope, 25,
6500 OPC_CheckChild2CondCode, ISD::SETGE,
6501 OPC_MoveParent,
6502 OPC_RecordChild1,
6503 OPC_RecordChild2,
6504 OPC_CheckType, MVT::f64,
6505 OPC_CheckPatternPredicate, 21,
6506 OPC_EmitConvertToTarget1,
6507 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6508 MVT::i32, 2, 0, 4,
6509 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6510 MVT::f64, 3, 2, 5, 3,
6511 25,
6512 OPC_CheckChild2CondCode, ISD::SETUGE,
6513 OPC_MoveParent,
6514 OPC_RecordChild1,
6515 OPC_RecordChild2,
6516 OPC_CheckType, MVT::f64,
6517 OPC_CheckPatternPredicate, 21,
6518 OPC_EmitConvertToTarget1,
6519 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6520 MVT::i32, 2, 0, 4,
6521 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6522 MVT::f64, 3, 2, 5, 3,
6523 0,
6524 64,
6525 OPC_CheckPredicate, 11,
6526 OPC_MoveParent,
6527 OPC_CheckTypeI32,
6528 OPC_Scope, 28,
6529 OPC_CheckChild2CondCode, ISD::SETGT,
6530 OPC_MoveParent,
6531 OPC_RecordChild1,
6532 OPC_RecordChild2,
6533 OPC_CheckType, MVT::f64,
6534 OPC_CheckPatternPredicate, 21,
6535 OPC_EmitConvertToTarget1,
6536 OPC_EmitNodeXForm, 2, 4,
6537 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6538 MVT::i32, 2, 0, 5,
6539 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6540 MVT::f64, 3, 2, 6, 3,
6541 28,
6542 OPC_CheckChild2CondCode, ISD::SETUGT,
6543 OPC_MoveParent,
6544 OPC_RecordChild1,
6545 OPC_RecordChild2,
6546 OPC_CheckType, MVT::f64,
6547 OPC_CheckPatternPredicate, 21,
6548 OPC_EmitConvertToTarget1,
6549 OPC_EmitNodeXForm, 2, 4,
6550 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6551 MVT::i32, 2, 0, 5,
6552 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6553 MVT::f64, 3, 2, 6, 3,
6554 0,
6555 0,
6556 46,
6557 OPC_CheckChild2CondCode, ISD::SETGE,
6558 OPC_CheckTypeI32,
6559 OPC_MoveParent,
6560 OPC_RecordChild1,
6561 OPC_RecordChild2,
6562 OPC_SwitchType , 17, MVT::f32,
6563 OPC_CheckPatternPredicate, 9,
6564 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6565 MVT::i32, 2, 0, 1,
6566 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6567 MVT::f32, 3, 2, 4, 3,
6568 17, MVT::f64,
6569 OPC_CheckPatternPredicate, 21,
6570 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6571 MVT::i32, 2, 0, 1,
6572 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6573 MVT::f64, 3, 2, 4, 3,
6574 0,
6575 46,
6576 OPC_CheckChild2CondCode, ISD::SETUGE,
6577 OPC_CheckTypeI32,
6578 OPC_MoveParent,
6579 OPC_RecordChild1,
6580 OPC_RecordChild2,
6581 OPC_SwitchType , 17, MVT::f32,
6582 OPC_CheckPatternPredicate, 9,
6583 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6584 MVT::i32, 2, 0, 1,
6585 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6586 MVT::f32, 3, 2, 4, 3,
6587 17, MVT::f64,
6588 OPC_CheckPatternPredicate, 21,
6589 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6590 MVT::i32, 2, 0, 1,
6591 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6592 MVT::f64, 3, 2, 4, 3,
6593 0,
6594 46,
6595 OPC_CheckChild2CondCode, ISD::SETLE,
6596 OPC_CheckTypeI32,
6597 OPC_MoveParent,
6598 OPC_RecordChild1,
6599 OPC_RecordChild2,
6600 OPC_SwitchType , 17, MVT::f32,
6601 OPC_CheckPatternPredicate, 9,
6602 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6603 MVT::i32, 2, 1, 0,
6604 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6605 MVT::f32, 3, 2, 4, 3,
6606 17, MVT::f64,
6607 OPC_CheckPatternPredicate, 21,
6608 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6609 MVT::i32, 2, 1, 0,
6610 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6611 MVT::f64, 3, 2, 4, 3,
6612 0,
6613 46,
6614 OPC_CheckChild2CondCode, ISD::SETULE,
6615 OPC_CheckTypeI32,
6616 OPC_MoveParent,
6617 OPC_RecordChild1,
6618 OPC_RecordChild2,
6619 OPC_SwitchType , 17, MVT::f32,
6620 OPC_CheckPatternPredicate, 9,
6621 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6622 MVT::i32, 2, 1, 0,
6623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6624 MVT::f32, 3, 2, 4, 3,
6625 17, MVT::f64,
6626 OPC_CheckPatternPredicate, 21,
6627 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6628 MVT::i32, 2, 1, 0,
6629 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6630 MVT::f64, 3, 2, 4, 3,
6631 0,
6632 46,
6633 OPC_CheckChild2CondCode, ISD::SETEQ,
6634 OPC_CheckTypeI32,
6635 OPC_MoveParent,
6636 OPC_RecordChild1,
6637 OPC_RecordChild2,
6638 OPC_SwitchType , 17, MVT::f32,
6639 OPC_CheckPatternPredicate, 9,
6640 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6641 MVT::i64, 2, 0, 1,
6642 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
6643 MVT::f32, 3, 2, 4, 3,
6644 17, MVT::f64,
6645 OPC_CheckPatternPredicate, 21,
6646 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6647 MVT::i64, 2, 0, 1,
6648 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
6649 MVT::f64, 3, 2, 4, 3,
6650 0,
6651 46,
6652 OPC_CheckChild2CondCode, ISD::SETNE,
6653 OPC_CheckTypeI32,
6654 OPC_MoveParent,
6655 OPC_RecordChild1,
6656 OPC_RecordChild2,
6657 OPC_SwitchType , 17, MVT::f32,
6658 OPC_CheckPatternPredicate, 9,
6659 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6660 MVT::i64, 2, 0, 1,
6661 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
6662 MVT::f32, 3, 2, 4, 3,
6663 17, MVT::f64,
6664 OPC_CheckPatternPredicate, 21,
6665 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6666 MVT::i64, 2, 0, 1,
6667 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
6668 MVT::f64, 3, 2, 4, 3,
6669 0,
6670 0,
6671 0,
6672 0,
6673 28|128,1,
6674 OPC_RecordChild0,
6675 OPC_Scope, 122,
6676 OPC_CheckChild0TypeI32,
6677 OPC_RecordChild1,
6678 OPC_RecordChild2,
6679 OPC_SwitchType , 56, MVT::f32,
6680 OPC_Scope, 10,
6681 OPC_CheckPatternPredicate, 20,
6682 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
6683 MVT::f32, 3, 1, 0, 2,
6684 10,
6685 OPC_CheckPatternPredicate, 26,
6686 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S),
6687 MVT::f32, 3, 0, 2, 1,
6688 10,
6689 OPC_CheckPatternPredicate, 8,
6690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
6691 MVT::f32, 3, 1, 0, 2,
6692 9,
6693 OPC_CheckPatternPredicate7,
6694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S_MMR6),
6695 MVT::f32, 3, 0, 2, 1,
6696 10,
6697 OPC_CheckPatternPredicate, 35,
6698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_S),
6699 MVT::f32, 3, 0, 1, 2,
6700 0,
6701 57, MVT::f64,
6702 OPC_Scope, 10,
6703 OPC_CheckPatternPredicate, 28,
6704 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
6705 MVT::f64, 3, 1, 0, 2,
6706 10,
6707 OPC_CheckPatternPredicate, 21,
6708 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
6709 MVT::f64, 3, 1, 0, 2,
6710 10,
6711 OPC_CheckPatternPredicate, 27,
6712 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
6713 MVT::f64, 3, 1, 0, 2,
6714 10,
6715 OPC_CheckPatternPredicate, 62,
6716 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D32),
6717 MVT::f64, 3, 0, 1, 2,
6718 10,
6719 OPC_CheckPatternPredicate, 63,
6720 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D64),
6721 MVT::f64, 3, 0, 1, 2,
6722 0,
6723 0,
6724 29,
6725 OPC_CheckChild0TypeI64,
6726 OPC_RecordChild1,
6727 OPC_RecordChild2,
6728 OPC_SwitchType , 10, MVT::f32,
6729 OPC_CheckPatternPredicate, 9,
6730 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
6731 MVT::f32, 3, 1, 0, 2,
6732 10, MVT::f64,
6733 OPC_CheckPatternPredicate, 21,
6734 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
6735 MVT::f64, 3, 1, 0, 2,
6736 0,
6737 0,
6738 0,
6739 33|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
6740 OPC_RecordMemRef,
6741 OPC_RecordNode,
6742 OPC_RecordChild1,
6743 OPC_SwitchType , 88, MVT::i32,
6744 OPC_Scope, 13,
6745 OPC_CheckPredicate5,
6746 OPC_CheckPatternPredicate2,
6747 OPC_CheckComplexPat0, /*#*/1,
6748 OPC_EmitMergeInputChains1_0,
6749 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
6750 MVT::i32, 2, 2, 3,
6751 13,
6752 OPC_CheckPredicate4,
6753 OPC_CheckPatternPredicate2,
6754 OPC_CheckComplexPat0, /*#*/1,
6755 OPC_EmitMergeInputChains1_0,
6756 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
6757 MVT::i32, 2, 2, 3,
6758 14,
6759 OPC_CheckPredicate, 10,
6760 OPC_CheckPatternPredicate2,
6761 OPC_CheckComplexPat0, /*#*/1,
6762 OPC_EmitMergeInputChains1_0,
6763 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
6764 MVT::i32, 2, 2, 3,
6765 13,
6766 OPC_CheckPredicate5,
6767 OPC_CheckPatternPredicate4,
6768 OPC_CheckComplexPat0, /*#*/1,
6769 OPC_EmitMergeInputChains1_0,
6770 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
6771 MVT::i32, 2, 2, 3,
6772 13,
6773 OPC_CheckPredicate4,
6774 OPC_CheckPatternPredicate4,
6775 OPC_CheckComplexPat0, /*#*/1,
6776 OPC_EmitMergeInputChains1_0,
6777 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
6778 MVT::i32, 2, 2, 3,
6779 14,
6780 OPC_CheckPredicate, 10,
6781 OPC_CheckPatternPredicate4,
6782 OPC_CheckComplexPat0, /*#*/1,
6783 OPC_EmitMergeInputChains1_0,
6784 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
6785 MVT::i32, 2, 2, 3,
6786 0,
6787 64, MVT::i64,
6788 OPC_Scope, 14,
6789 OPC_CheckPredicate5,
6790 OPC_CheckPatternPredicate, 12,
6791 OPC_CheckComplexPat0, /*#*/1,
6792 OPC_EmitMergeInputChains1_0,
6793 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
6794 MVT::i64, 2, 2, 3,
6795 14,
6796 OPC_CheckPredicate4,
6797 OPC_CheckPatternPredicate, 12,
6798 OPC_CheckComplexPat0, /*#*/1,
6799 OPC_EmitMergeInputChains1_0,
6800 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
6801 MVT::i64, 2, 2, 3,
6802 15,
6803 OPC_CheckPredicate, 10,
6804 OPC_CheckPatternPredicate, 12,
6805 OPC_CheckComplexPat0, /*#*/1,
6806 OPC_EmitMergeInputChains1_0,
6807 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
6808 MVT::i64, 2, 2, 3,
6809 15,
6810 OPC_CheckPredicate, 17,
6811 OPC_CheckPatternPredicate, 12,
6812 OPC_CheckComplexPat0, /*#*/1,
6813 OPC_EmitMergeInputChains1_0,
6814 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
6815 MVT::i64, 2, 2, 3,
6816 0,
6817 0,
6818 120, TARGET_VAL(ISD::ATOMIC_STORE),
6819 OPC_RecordMemRef,
6820 OPC_RecordNode,
6821 OPC_RecordChild1,
6822 OPC_Scope, 47,
6823 OPC_CheckChild1TypeI32,
6824 OPC_RecordChild2,
6825 OPC_Scope, 13,
6826 OPC_CheckPredicate5,
6827 OPC_CheckPatternPredicate2,
6828 OPC_CheckComplexPat0, /*#*/2,
6829 OPC_EmitMergeInputChains1_0,
6830 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
6831 3, 1, 3, 4,
6832 13,
6833 OPC_CheckPredicate4,
6834 OPC_CheckPatternPredicate2,
6835 OPC_CheckComplexPat0, /*#*/2,
6836 OPC_EmitMergeInputChains1_0,
6837 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
6838 3, 1, 3, 4,
6839 14,
6840 OPC_CheckPredicate, 10,
6841 OPC_CheckPatternPredicate2,
6842 OPC_CheckComplexPat0, /*#*/2,
6843 OPC_EmitMergeInputChains1_0,
6844 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
6845 3, 1, 3, 4,
6846 0,
6847 66,
6848 OPC_CheckChild1TypeI64,
6849 OPC_RecordChild2,
6850 OPC_Scope, 14,
6851 OPC_CheckPredicate5,
6852 OPC_CheckPatternPredicate, 12,
6853 OPC_CheckComplexPat0, /*#*/2,
6854 OPC_EmitMergeInputChains1_0,
6855 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
6856 3, 1, 3, 4,
6857 14,
6858 OPC_CheckPredicate4,
6859 OPC_CheckPatternPredicate, 12,
6860 OPC_CheckComplexPat0, /*#*/2,
6861 OPC_EmitMergeInputChains1_0,
6862 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
6863 3, 1, 3, 4,
6864 15,
6865 OPC_CheckPredicate, 10,
6866 OPC_CheckPatternPredicate, 12,
6867 OPC_CheckComplexPat0, /*#*/2,
6868 OPC_EmitMergeInputChains1_0,
6869 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
6870 3, 1, 3, 4,
6871 15,
6872 OPC_CheckPredicate, 17,
6873 OPC_CheckPatternPredicate, 12,
6874 OPC_CheckComplexPat0, /*#*/2,
6875 OPC_EmitMergeInputChains1_0,
6876 OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
6877 3, 1, 3, 4,
6878 0,
6879 0,
6880 71, TARGET_VAL(MipsISD::LWL),
6881 OPC_RecordMemRef,
6882 OPC_RecordNode,
6883 OPC_RecordChild1,
6884 OPC_RecordChild2,
6885 OPC_SwitchType , 47, MVT::i32,
6886 OPC_Scope, 14,
6887 OPC_CheckPatternPredicate, 38,
6888 OPC_CheckComplexPat0, /*#*/1,
6889 OPC_EmitMergeInputChains1_0,
6890 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL), 0|OPFL_Chain|OPFL_MemRefs,
6891 MVT::i32, 3, 3, 4, 2,
6892 14,
6893 OPC_CheckPatternPredicate, 52,
6894 OPC_CheckComplexPat6, /*#*/1,
6895 OPC_EmitMergeInputChains1_0,
6896 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
6897 MVT::i32, 3, 3, 4, 2,
6898 14,
6899 OPC_CheckPatternPredicate, 8,
6900 OPC_CheckComplexPat6, /*#*/1,
6901 OPC_EmitMergeInputChains1_0,
6902 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
6903 MVT::i32, 3, 3, 4, 2,
6904 0,
6905 14, MVT::i64,
6906 OPC_CheckPatternPredicate, 18,
6907 OPC_CheckComplexPat0, /*#*/1,
6908 OPC_EmitMergeInputChains1_0,
6909 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL64), 0|OPFL_Chain|OPFL_MemRefs,
6910 MVT::i64, 3, 3, 4, 2,
6911 0,
6912 71, TARGET_VAL(MipsISD::LWR),
6913 OPC_RecordMemRef,
6914 OPC_RecordNode,
6915 OPC_RecordChild1,
6916 OPC_RecordChild2,
6917 OPC_SwitchType , 47, MVT::i32,
6918 OPC_Scope, 14,
6919 OPC_CheckPatternPredicate, 38,
6920 OPC_CheckComplexPat0, /*#*/1,
6921 OPC_EmitMergeInputChains1_0,
6922 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR), 0|OPFL_Chain|OPFL_MemRefs,
6923 MVT::i32, 3, 3, 4, 2,
6924 14,
6925 OPC_CheckPatternPredicate, 52,
6926 OPC_CheckComplexPat6, /*#*/1,
6927 OPC_EmitMergeInputChains1_0,
6928 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
6929 MVT::i32, 3, 3, 4, 2,
6930 14,
6931 OPC_CheckPatternPredicate, 8,
6932 OPC_CheckComplexPat6, /*#*/1,
6933 OPC_EmitMergeInputChains1_0,
6934 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
6935 MVT::i32, 3, 3, 4, 2,
6936 0,
6937 14, MVT::i64,
6938 OPC_CheckPatternPredicate, 18,
6939 OPC_CheckComplexPat0, /*#*/1,
6940 OPC_EmitMergeInputChains1_0,
6941 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR64), 0|OPFL_Chain|OPFL_MemRefs,
6942 MVT::i64, 3, 3, 4, 2,
6943 0,
6944 68, TARGET_VAL(MipsISD::SWL),
6945 OPC_RecordMemRef,
6946 OPC_RecordNode,
6947 OPC_RecordChild1,
6948 OPC_Scope, 46,
6949 OPC_CheckChild1TypeI32,
6950 OPC_RecordChild2,
6951 OPC_Scope, 13,
6952 OPC_CheckPatternPredicate, 38,
6953 OPC_CheckComplexPat0, /*#*/2,
6954 OPC_EmitMergeInputChains1_0,
6955 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL), 0|OPFL_Chain|OPFL_MemRefs,
6956 3, 1, 3, 4,
6957 13,
6958 OPC_CheckPatternPredicate, 52,
6959 OPC_CheckComplexPat6, /*#*/2,
6960 OPC_EmitMergeInputChains1_0,
6961 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
6962 3, 1, 3, 4,
6963 13,
6964 OPC_CheckPatternPredicate, 8,
6965 OPC_CheckComplexPat6, /*#*/2,
6966 OPC_EmitMergeInputChains1_0,
6967 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
6968 3, 1, 3, 4,
6969 0,
6970 15,
6971 OPC_CheckChild1TypeI64,
6972 OPC_RecordChild2,
6973 OPC_CheckPatternPredicate, 18,
6974 OPC_CheckComplexPat0, /*#*/2,
6975 OPC_EmitMergeInputChains1_0,
6976 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL64), 0|OPFL_Chain|OPFL_MemRefs,
6977 3, 1, 3, 4,
6978 0,
6979 68, TARGET_VAL(MipsISD::SWR),
6980 OPC_RecordMemRef,
6981 OPC_RecordNode,
6982 OPC_RecordChild1,
6983 OPC_Scope, 46,
6984 OPC_CheckChild1TypeI32,
6985 OPC_RecordChild2,
6986 OPC_Scope, 13,
6987 OPC_CheckPatternPredicate, 38,
6988 OPC_CheckComplexPat0, /*#*/2,
6989 OPC_EmitMergeInputChains1_0,
6990 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR), 0|OPFL_Chain|OPFL_MemRefs,
6991 3, 1, 3, 4,
6992 13,
6993 OPC_CheckPatternPredicate, 52,
6994 OPC_CheckComplexPat6, /*#*/2,
6995 OPC_EmitMergeInputChains1_0,
6996 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
6997 3, 1, 3, 4,
6998 13,
6999 OPC_CheckPatternPredicate, 8,
7000 OPC_CheckComplexPat6, /*#*/2,
7001 OPC_EmitMergeInputChains1_0,
7002 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
7003 3, 1, 3, 4,
7004 0,
7005 15,
7006 OPC_CheckChild1TypeI64,
7007 OPC_RecordChild2,
7008 OPC_CheckPatternPredicate, 18,
7009 OPC_CheckComplexPat0, /*#*/2,
7010 OPC_EmitMergeInputChains1_0,
7011 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR64), 0|OPFL_Chain|OPFL_MemRefs,
7012 3, 1, 3, 4,
7013 0,
7014 19, TARGET_VAL(MipsISD::LDL),
7015 OPC_RecordMemRef,
7016 OPC_RecordNode,
7017 OPC_RecordChild1,
7018 OPC_RecordChild2,
7019 OPC_CheckTypeI64,
7020 OPC_CheckPatternPredicate, 30,
7021 OPC_CheckComplexPat0, /*#*/1,
7022 OPC_EmitMergeInputChains1_0,
7023 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDL), 0|OPFL_Chain|OPFL_MemRefs,
7024 MVT::i64, 3, 3, 4, 2,
7025 19, TARGET_VAL(MipsISD::LDR),
7026 OPC_RecordMemRef,
7027 OPC_RecordNode,
7028 OPC_RecordChild1,
7029 OPC_RecordChild2,
7030 OPC_CheckTypeI64,
7031 OPC_CheckPatternPredicate, 30,
7032 OPC_CheckComplexPat0, /*#*/1,
7033 OPC_EmitMergeInputChains1_0,
7034 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDR), 0|OPFL_Chain|OPFL_MemRefs,
7035 MVT::i64, 3, 3, 4, 2,
7036 18, TARGET_VAL(MipsISD::SDL),
7037 OPC_RecordMemRef,
7038 OPC_RecordNode,
7039 OPC_RecordChild1,
7040 OPC_CheckChild1TypeI64,
7041 OPC_RecordChild2,
7042 OPC_CheckPatternPredicate, 30,
7043 OPC_CheckComplexPat0, /*#*/2,
7044 OPC_EmitMergeInputChains1_0,
7045 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDL), 0|OPFL_Chain|OPFL_MemRefs,
7046 3, 1, 3, 4,
7047 18, TARGET_VAL(MipsISD::SDR),
7048 OPC_RecordMemRef,
7049 OPC_RecordNode,
7050 OPC_RecordChild1,
7051 OPC_CheckChild1TypeI64,
7052 OPC_RecordChild2,
7053 OPC_CheckPatternPredicate, 30,
7054 OPC_CheckComplexPat0, /*#*/2,
7055 OPC_EmitMergeInputChains1_0,
7056 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDR), 0|OPFL_Chain|OPFL_MemRefs,
7057 3, 1, 3, 4,
7058 126|128,9, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
7059 OPC_RecordNode,
7060 OPC_Scope, 58,
7061 OPC_CheckChild1Integer, 100|128,120,
7062 OPC_RecordChild2,
7063 OPC_RecordChild3,
7064 OPC_Scope, 30,
7065 OPC_MoveChild3,
7066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7067 OPC_CheckPredicate3,
7068 OPC_MoveParent,
7069 OPC_Scope, 10,
7070 OPC_CheckPatternPredicate1,
7071 OPC_EmitMergeInputChains1_0,
7072 OPC_EmitConvertToTarget2,
7073 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W),
7074 MVT::i32, 2, 1, 3,
7075 10,
7076 OPC_CheckPatternPredicate6,
7077 OPC_EmitMergeInputChains1_0,
7078 OPC_EmitConvertToTarget2,
7079 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W_MM),
7080 MVT::i32, 2, 1, 3,
7081 0,
7082 9,
7083 OPC_CheckPatternPredicate1,
7084 OPC_EmitMergeInputChains1_0,
7085 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W),
7086 MVT::i32, 2, 1, 2,
7087 9,
7088 OPC_CheckPatternPredicate6,
7089 OPC_EmitMergeInputChains1_0,
7090 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W_MM),
7091 MVT::i32, 2, 1, 2,
7092 0,
7093 34,
7094 OPC_CheckChild1Integer, 64|128,120,
7095 OPC_RecordChild2,
7096 OPC_MoveChild2,
7097 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7098 OPC_Scope, 11,
7099 OPC_CheckPredicate, 41,
7100 OPC_MoveParent,
7101 OPC_CheckPatternPredicate1,
7102 OPC_EmitMergeInputChains1_0,
7103 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP),
7104 MVT::i32, 1, 1,
7105 11,
7106 OPC_CheckPredicate, 42,
7107 OPC_MoveParent,
7108 OPC_CheckPatternPredicate6,
7109 OPC_EmitMergeInputChains1_0,
7110 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP_MM),
7111 MVT::i32, 1, 1,
7112 0,
7113 27,
7114 OPC_CheckChild1Integer, 28|128,112,
7115 OPC_RecordChild2,
7116 OPC_RecordChild3,
7117 OPC_Scope, 9,
7118 OPC_CheckPatternPredicate1,
7119 OPC_EmitMergeInputChains1_0,
7120 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W),
7121 MVT::i32, 2, 1, 2,
7122 9,
7123 OPC_CheckPatternPredicate6,
7124 OPC_EmitMergeInputChains1_0,
7125 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W_MM),
7126 MVT::i32, 2, 1, 2,
7127 0,
7128 27,
7129 OPC_CheckChild1Integer, 116|128,121,
7130 OPC_RecordChild2,
7131 OPC_RecordChild3,
7132 OPC_Scope, 9,
7133 OPC_CheckPatternPredicate1,
7134 OPC_EmitMergeInputChains1_0,
7135 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W),
7136 MVT::i32, 2, 1, 2,
7137 9,
7138 OPC_CheckPatternPredicate6,
7139 OPC_EmitMergeInputChains1_0,
7140 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W_MM),
7141 MVT::i32, 2, 1, 2,
7142 0,
7143 24,
7144 OPC_CheckChild1Integer, 14|128,112,
7145 OPC_RecordChild2,
7146 OPC_Scope, 8,
7147 OPC_CheckPatternPredicate1,
7148 OPC_EmitMergeInputChains1_0,
7149 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W),
7150 MVT::i32, 1, 1,
7151 8,
7152 OPC_CheckPatternPredicate6,
7153 OPC_EmitMergeInputChains1_0,
7154 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W_MM),
7155 MVT::i32, 1, 1,
7156 0,
7157 27,
7158 OPC_CheckChild1Integer, 64|128,119,
7159 OPC_RecordChild2,
7160 OPC_RecordChild3,
7161 OPC_Scope, 9,
7162 OPC_CheckPatternPredicate1,
7163 OPC_EmitMergeInputChains1_0,
7164 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL),
7165 MVT::i32, 2, 1, 2,
7166 9,
7167 OPC_CheckPatternPredicate6,
7168 OPC_EmitMergeInputChains1_0,
7169 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL_MM),
7170 MVT::i32, 2, 1, 2,
7171 0,
7172 27,
7173 OPC_CheckChild1Integer, 66|128,119,
7174 OPC_RecordChild2,
7175 OPC_RecordChild3,
7176 OPC_Scope, 9,
7177 OPC_CheckPatternPredicate1,
7178 OPC_EmitMergeInputChains1_0,
7179 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR),
7180 MVT::i32, 2, 1, 2,
7181 9,
7182 OPC_CheckPatternPredicate6,
7183 OPC_EmitMergeInputChains1_0,
7184 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR_MM),
7185 MVT::i32, 2, 1, 2,
7186 0,
7187 27,
7188 OPC_CheckChild1Integer, 104|128,114,
7189 OPC_RecordChild2,
7190 OPC_RecordChild3,
7191 OPC_Scope, 9,
7192 OPC_CheckPatternPredicate1,
7193 OPC_EmitMergeInputChains1_0,
7194 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB),
7195 MVT::i32, 2, 1, 2,
7196 9,
7197 OPC_CheckPatternPredicate6,
7198 OPC_EmitMergeInputChains1_0,
7199 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB_MM),
7200 MVT::i32, 2, 1, 2,
7201 0,
7202 27,
7203 OPC_CheckChild1Integer, 108|128,114,
7204 OPC_RecordChild2,
7205 OPC_RecordChild3,
7206 OPC_Scope, 9,
7207 OPC_CheckPatternPredicate1,
7208 OPC_EmitMergeInputChains1_0,
7209 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB),
7210 MVT::i32, 2, 1, 2,
7211 9,
7212 OPC_CheckPatternPredicate6,
7213 OPC_EmitMergeInputChains1_0,
7214 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB_MM),
7215 MVT::i32, 2, 1, 2,
7216 0,
7217 27,
7218 OPC_CheckChild1Integer, 106|128,114,
7219 OPC_RecordChild2,
7220 OPC_RecordChild3,
7221 OPC_Scope, 9,
7222 OPC_CheckPatternPredicate1,
7223 OPC_EmitMergeInputChains1_0,
7224 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB),
7225 MVT::i32, 2, 1, 2,
7226 9,
7227 OPC_CheckPatternPredicate6,
7228 OPC_EmitMergeInputChains1_0,
7229 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB_MM),
7230 MVT::i32, 2, 1, 2,
7231 0,
7232 27,
7233 OPC_CheckChild1Integer, 32|128,118,
7234 OPC_RecordChild2,
7235 OPC_RecordChild3,
7236 OPC_Scope, 9,
7237 OPC_CheckPatternPredicate1,
7238 OPC_EmitMergeInputChains1_0,
7239 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX),
7240 MVT::i32, 2, 1, 2,
7241 9,
7242 OPC_CheckPatternPredicate6,
7243 OPC_EmitMergeInputChains1_0,
7244 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX_MM),
7245 MVT::i32, 2, 1, 2,
7246 0,
7247 27,
7248 OPC_CheckChild1Integer, 28|128,118,
7249 OPC_RecordChild2,
7250 OPC_RecordChild3,
7251 OPC_Scope, 9,
7252 OPC_CheckPatternPredicate1,
7253 OPC_EmitMergeInputChains1_0,
7254 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX),
7255 MVT::i32, 2, 1, 2,
7256 9,
7257 OPC_CheckPatternPredicate6,
7258 OPC_EmitMergeInputChains1_0,
7259 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX_MM),
7260 MVT::i32, 2, 1, 2,
7261 0,
7262 27,
7263 OPC_CheckChild1Integer, 6|128,118,
7264 OPC_RecordChild2,
7265 OPC_RecordChild3,
7266 OPC_Scope, 9,
7267 OPC_CheckPatternPredicate1,
7268 OPC_EmitMergeInputChains1_0,
7269 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX),
7270 MVT::i32, 2, 1, 2,
7271 9,
7272 OPC_CheckPatternPredicate6,
7273 OPC_EmitMergeInputChains1_0,
7274 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX_MM),
7275 MVT::i32, 2, 1, 2,
7276 0,
7277 27,
7278 OPC_CheckChild1Integer, 124|128,117,
7279 OPC_RecordChild2,
7280 OPC_RecordChild3,
7281 OPC_Scope, 9,
7282 OPC_CheckPatternPredicate1,
7283 OPC_EmitMergeInputChains1_0,
7284 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV),
7285 MVT::i32, 2, 1, 2,
7286 9,
7287 OPC_CheckPatternPredicate6,
7288 OPC_EmitMergeInputChains1_0,
7289 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV_MM),
7290 MVT::i32, 2, 1, 2,
7291 0,
7292 29,
7293 OPC_CheckChild1Integer, 98|128,114,
7294 OPC_RecordChild2,
7295 OPC_RecordChild3,
7296 OPC_Scope, 10,
7297 OPC_CheckPatternPredicate, 13,
7298 OPC_EmitMergeInputChains1_0,
7299 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB),
7300 MVT::i32, 2, 1, 2,
7301 10,
7302 OPC_CheckPatternPredicate, 15,
7303 OPC_EmitMergeInputChains1_0,
7304 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB_MMR2),
7305 MVT::i32, 2, 1, 2,
7306 0,
7307 29,
7308 OPC_CheckChild1Integer, 102|128,114,
7309 OPC_RecordChild2,
7310 OPC_RecordChild3,
7311 OPC_Scope, 10,
7312 OPC_CheckPatternPredicate, 13,
7313 OPC_EmitMergeInputChains1_0,
7314 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB),
7315 MVT::i32, 2, 1, 2,
7316 10,
7317 OPC_CheckPatternPredicate, 15,
7318 OPC_EmitMergeInputChains1_0,
7319 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB_MMR2),
7320 MVT::i32, 2, 1, 2,
7321 0,
7322 29,
7323 OPC_CheckChild1Integer, 100|128,114,
7324 OPC_RecordChild2,
7325 OPC_RecordChild3,
7326 OPC_Scope, 10,
7327 OPC_CheckPatternPredicate, 13,
7328 OPC_EmitMergeInputChains1_0,
7329 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB),
7330 MVT::i32, 2, 1, 2,
7331 10,
7332 OPC_CheckPatternPredicate, 15,
7333 OPC_EmitMergeInputChains1_0,
7334 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB_MMR2),
7335 MVT::i32, 2, 1, 2,
7336 0,
7337 29,
7338 OPC_CheckChild1Integer, 78|128,119,
7339 OPC_RecordChild2,
7340 OPC_RecordChild3,
7341 OPC_Scope, 10,
7342 OPC_CheckPatternPredicate, 13,
7343 OPC_EmitMergeInputChains1_0,
7344 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W),
7345 MVT::i32, 2, 1, 2,
7346 10,
7347 OPC_CheckPatternPredicate, 15,
7348 OPC_EmitMergeInputChains1_0,
7349 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W_MMR2),
7350 MVT::i32, 2, 1, 2,
7351 0,
7352 29,
7353 OPC_CheckChild1Integer, 74|128,119,
7354 OPC_RecordChild2,
7355 OPC_RecordChild3,
7356 OPC_Scope, 10,
7357 OPC_CheckPatternPredicate, 13,
7358 OPC_EmitMergeInputChains1_0,
7359 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W),
7360 MVT::i32, 2, 1, 2,
7361 10,
7362 OPC_CheckPatternPredicate, 15,
7363 OPC_EmitMergeInputChains1_0,
7364 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W_MMR2),
7365 MVT::i32, 2, 1, 2,
7366 0,
7367 14,
7368 OPC_CheckChild1Integer, 62|128,112,
7369 OPC_RecordChild2,
7370 OPC_RecordChild3,
7371 OPC_CheckPatternPredicate1,
7372 OPC_EmitMergeInputChains1_0,
7373 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDSC),
7374 MVT::i32, 2, 1, 2,
7375 14,
7376 OPC_CheckChild1Integer, 92|128,112,
7377 OPC_RecordChild2,
7378 OPC_RecordChild3,
7379 OPC_CheckPatternPredicate1,
7380 OPC_EmitMergeInputChains1_0,
7381 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDWC),
7382 MVT::i32, 2, 1, 2,
7383 9,
7384 OPC_CheckChild1Integer, 106|128,113,
7385 OPC_EmitMergeInputChains1_0,
7386 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::BPOSGE32_PSEUDO),
7387 MVT::i32, 0,
7388 59,
7389 OPC_CheckChild1Integer, 98|128,120,
7390 OPC_RecordChild2,
7391 OPC_RecordChild3,
7392 OPC_Scope, 31,
7393 OPC_MoveChild3,
7394 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7395 OPC_CheckPredicate, 15,
7396 OPC_MoveParent,
7397 OPC_Scope, 10,
7398 OPC_CheckPatternPredicate1,
7399 OPC_EmitMergeInputChains1_0,
7400 OPC_EmitConvertToTarget2,
7401 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH),
7402 MVT::v2i16, 2, 1, 3,
7403 10,
7404 OPC_CheckPatternPredicate6,
7405 OPC_EmitMergeInputChains1_0,
7406 OPC_EmitConvertToTarget2,
7407 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH_MM),
7408 MVT::v2i16, 2, 1, 3,
7409 0,
7410 9,
7411 OPC_CheckPatternPredicate1,
7412 OPC_EmitMergeInputChains1_0,
7413 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH),
7414 MVT::v2i16, 2, 1, 2,
7415 9,
7416 OPC_CheckPatternPredicate6,
7417 OPC_EmitMergeInputChains1_0,
7418 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH_MM),
7419 MVT::v2i16, 2, 1, 2,
7420 0,
7421 45,
7422 OPC_CheckChild1Integer, 94|128,120,
7423 OPC_RecordChild2,
7424 OPC_RecordChild3,
7425 OPC_Scope, 17,
7426 OPC_MoveChild3,
7427 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7428 OPC_CheckPredicate, 15,
7429 OPC_MoveParent,
7430 OPC_CheckPatternPredicate1,
7431 OPC_EmitMergeInputChains1_0,
7432 OPC_EmitConvertToTarget2,
7433 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_PH),
7434 MVT::v2i16, 2, 1, 3,
7435 9,
7436 OPC_CheckPatternPredicate1,
7437 OPC_EmitMergeInputChains1_0,
7438 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH),
7439 MVT::v2i16, 2, 1, 2,
7440 9,
7441 OPC_CheckPatternPredicate6,
7442 OPC_EmitMergeInputChains1_0,
7443 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH_MM),
7444 MVT::v2i16, 2, 1, 2,
7445 0,
7446 45,
7447 OPC_CheckChild1Integer, 96|128,120,
7448 OPC_RecordChild2,
7449 OPC_RecordChild3,
7450 OPC_Scope, 17,
7451 OPC_MoveChild3,
7452 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7453 OPC_CheckPredicate, 18,
7454 OPC_MoveParent,
7455 OPC_CheckPatternPredicate1,
7456 OPC_EmitMergeInputChains1_0,
7457 OPC_EmitConvertToTarget2,
7458 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_QB),
7459 MVT::v4i8, 2, 1, 3,
7460 9,
7461 OPC_CheckPatternPredicate1,
7462 OPC_EmitMergeInputChains1_0,
7463 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB),
7464 MVT::v4i8, 2, 1, 2,
7465 9,
7466 OPC_CheckPatternPredicate6,
7467 OPC_EmitMergeInputChains1_0,
7468 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB_MM),
7469 MVT::v4i8, 2, 1, 2,
7470 0,
7471 24,
7472 OPC_CheckChild1Integer, 10|128,112,
7473 OPC_RecordChild2,
7474 OPC_Scope, 8,
7475 OPC_CheckPatternPredicate1,
7476 OPC_EmitMergeInputChains1_0,
7477 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH),
7478 MVT::v2i16, 1, 1,
7479 8,
7480 OPC_CheckPatternPredicate6,
7481 OPC_EmitMergeInputChains1_0,
7482 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH_MM),
7483 MVT::v2i16, 1, 1,
7484 0,
7485 27,
7486 OPC_CheckChild1Integer, 56|128,120,
7487 OPC_RecordChild2,
7488 OPC_RecordChild3,
7489 OPC_Scope, 9,
7490 OPC_CheckPatternPredicate1,
7491 OPC_EmitMergeInputChains1_0,
7492 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W),
7493 MVT::v2i16, 2, 1, 2,
7494 9,
7495 OPC_CheckPatternPredicate6,
7496 OPC_EmitMergeInputChains1_0,
7497 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W_MM),
7498 MVT::v2i16, 2, 1, 2,
7499 0,
7500 27,
7501 OPC_CheckChild1Integer, 58|128,120,
7502 OPC_RecordChild2,
7503 OPC_RecordChild3,
7504 OPC_Scope, 9,
7505 OPC_CheckPatternPredicate1,
7506 OPC_EmitMergeInputChains1_0,
7507 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH),
7508 MVT::v4i8, 2, 1, 2,
7509 9,
7510 OPC_CheckPatternPredicate6,
7511 OPC_EmitMergeInputChains1_0,
7512 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH_MM),
7513 MVT::v4i8, 2, 1, 2,
7514 0,
7515 27,
7516 OPC_CheckChild1Integer, 68|128,119,
7517 OPC_RecordChild2,
7518 OPC_RecordChild3,
7519 OPC_Scope, 9,
7520 OPC_CheckPatternPredicate1,
7521 OPC_EmitMergeInputChains1_0,
7522 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL),
7523 MVT::v2i16, 2, 1, 2,
7524 9,
7525 OPC_CheckPatternPredicate6,
7526 OPC_EmitMergeInputChains1_0,
7527 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL_MM),
7528 MVT::v2i16, 2, 1, 2,
7529 0,
7530 27,
7531 OPC_CheckChild1Integer, 70|128,119,
7532 OPC_RecordChild2,
7533 OPC_RecordChild3,
7534 OPC_Scope, 9,
7535 OPC_CheckPatternPredicate1,
7536 OPC_EmitMergeInputChains1_0,
7537 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR),
7538 MVT::v2i16, 2, 1, 2,
7539 9,
7540 OPC_CheckPatternPredicate6,
7541 OPC_EmitMergeInputChains1_0,
7542 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR_MM),
7543 MVT::v2i16, 2, 1, 2,
7544 0,
7545 27,
7546 OPC_CheckChild1Integer, 72|128,119,
7547 OPC_RecordChild2,
7548 OPC_RecordChild3,
7549 OPC_Scope, 9,
7550 OPC_CheckPatternPredicate1,
7551 OPC_EmitMergeInputChains1_0,
7552 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH),
7553 MVT::v2i16, 2, 1, 2,
7554 9,
7555 OPC_CheckPatternPredicate6,
7556 OPC_EmitMergeInputChains1_0,
7557 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH_MM),
7558 MVT::v2i16, 2, 1, 2,
7559 0,
7560 27,
7561 OPC_CheckChild1Integer, 24|128,120,
7562 OPC_RecordChild2,
7563 OPC_RecordChild3,
7564 OPC_Scope, 9,
7565 OPC_CheckPatternPredicate1,
7566 OPC_EmitMergeInputChains1_0,
7567 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB),
7568 MVT::v4i8, 2, 1, 2,
7569 9,
7570 OPC_CheckPatternPredicate6,
7571 OPC_EmitMergeInputChains1_0,
7572 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB_MM),
7573 MVT::v4i8, 2, 1, 2,
7574 0,
7575 27,
7576 OPC_CheckChild1Integer, 22|128,120,
7577 OPC_RecordChild2,
7578 OPC_RecordChild3,
7579 OPC_Scope, 9,
7580 OPC_CheckPatternPredicate1,
7581 OPC_EmitMergeInputChains1_0,
7582 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH),
7583 MVT::v2i16, 2, 1, 2,
7584 9,
7585 OPC_CheckPatternPredicate6,
7586 OPC_EmitMergeInputChains1_0,
7587 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH_MM),
7588 MVT::v2i16, 2, 1, 2,
7589 0,
7590 29,
7591 OPC_CheckChild1Integer, 64|128,112,
7592 OPC_RecordChild2,
7593 OPC_RecordChild3,
7594 OPC_Scope, 10,
7595 OPC_CheckPatternPredicate, 13,
7596 OPC_EmitMergeInputChains1_0,
7597 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH),
7598 MVT::v2i16, 2, 1, 2,
7599 10,
7600 OPC_CheckPatternPredicate, 15,
7601 OPC_EmitMergeInputChains1_0,
7602 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH_MMR2),
7603 MVT::v2i16, 2, 1, 2,
7604 0,
7605 29,
7606 OPC_CheckChild1Integer, 68|128,112,
7607 OPC_RecordChild2,
7608 OPC_RecordChild3,
7609 OPC_Scope, 10,
7610 OPC_CheckPatternPredicate, 13,
7611 OPC_EmitMergeInputChains1_0,
7612 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH),
7613 MVT::v2i16, 2, 1, 2,
7614 10,
7615 OPC_CheckPatternPredicate, 15,
7616 OPC_EmitMergeInputChains1_0,
7617 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH_MMR2),
7618 MVT::v2i16, 2, 1, 2,
7619 0,
7620 29,
7621 OPC_CheckChild1Integer, 30|128,122,
7622 OPC_RecordChild2,
7623 OPC_RecordChild3,
7624 OPC_Scope, 10,
7625 OPC_CheckPatternPredicate, 13,
7626 OPC_EmitMergeInputChains1_0,
7627 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH),
7628 MVT::v2i16, 2, 1, 2,
7629 10,
7630 OPC_CheckPatternPredicate, 15,
7631 OPC_EmitMergeInputChains1_0,
7632 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH_MMR2),
7633 MVT::v2i16, 2, 1, 2,
7634 0,
7635 29,
7636 OPC_CheckChild1Integer, 34|128,122,
7637 OPC_RecordChild2,
7638 OPC_RecordChild3,
7639 OPC_Scope, 10,
7640 OPC_CheckPatternPredicate, 13,
7641 OPC_EmitMergeInputChains1_0,
7642 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH),
7643 MVT::v2i16, 2, 1, 2,
7644 10,
7645 OPC_CheckPatternPredicate, 15,
7646 OPC_EmitMergeInputChains1_0,
7647 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH_MMR2),
7648 MVT::v2i16, 2, 1, 2,
7649 0,
7650 26,
7651 OPC_CheckChild1Integer, 12|128,112,
7652 OPC_RecordChild2,
7653 OPC_Scope, 9,
7654 OPC_CheckPatternPredicate, 13,
7655 OPC_EmitMergeInputChains1_0,
7656 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB),
7657 MVT::v4i8, 1, 1,
7658 9,
7659 OPC_CheckPatternPredicate, 15,
7660 OPC_EmitMergeInputChains1_0,
7661 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB_MMR2),
7662 MVT::v4i8, 1, 1,
7663 0,
7664 29,
7665 OPC_CheckChild1Integer, 62|128,119,
7666 OPC_RecordChild2,
7667 OPC_RecordChild3,
7668 OPC_Scope, 10,
7669 OPC_CheckPatternPredicate, 13,
7670 OPC_EmitMergeInputChains1_0,
7671 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH),
7672 MVT::v2i16, 2, 1, 2,
7673 10,
7674 OPC_CheckPatternPredicate, 15,
7675 OPC_EmitMergeInputChains1_0,
7676 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH_MMR2),
7677 MVT::v2i16, 2, 1, 2,
7678 0,
7679 29,
7680 OPC_CheckChild1Integer, 76|128,119,
7681 OPC_RecordChild2,
7682 OPC_RecordChild3,
7683 OPC_Scope, 10,
7684 OPC_CheckPatternPredicate, 13,
7685 OPC_EmitMergeInputChains1_0,
7686 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH),
7687 MVT::v2i16, 2, 1, 2,
7688 10,
7689 OPC_CheckPatternPredicate, 15,
7690 OPC_EmitMergeInputChains1_0,
7691 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH_MMR2),
7692 MVT::v2i16, 2, 1, 2,
7693 0,
7694 29,
7695 OPC_CheckChild1Integer, 46|128,120,
7696 OPC_RecordChild2,
7697 OPC_RecordChild3,
7698 OPC_Scope, 10,
7699 OPC_CheckPatternPredicate, 13,
7700 OPC_EmitMergeInputChains1_0,
7701 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH),
7702 MVT::v4i8, 2, 1, 2,
7703 10,
7704 OPC_CheckPatternPredicate, 15,
7705 OPC_EmitMergeInputChains1_0,
7706 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH_MMR2),
7707 MVT::v4i8, 2, 1, 2,
7708 0,
7709 15,
7710 OPC_CheckChild1Integer, 56|128,119,
7711 OPC_RecordChild2,
7712 OPC_RecordChild3,
7713 OPC_CheckPatternPredicate, 13,
7714 OPC_EmitMergeInputChains1_0,
7715 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_PH),
7716 MVT::v2i16, 2, 1, 2,
7717 15,
7718 OPC_CheckChild1Integer, 24|128,118,
7719 OPC_RecordChild2,
7720 OPC_RecordChild3,
7721 OPC_CheckPatternPredicate, 10,
7722 OPC_EmitMergeInputChains1_0,
7723 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_D),
7724 MVT::v2i64, 2, 1, 2,
7725 15,
7726 OPC_CheckChild1Integer, 26|128,118,
7727 OPC_RecordChild2,
7728 OPC_RecordChild3,
7729 OPC_CheckPatternPredicate, 10,
7730 OPC_EmitMergeInputChains1_0,
7731 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_W),
7732 MVT::v4i32, 2, 1, 2,
7733 0,
7734 60|128,35, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
7735 OPC_Scope, 54,
7736 OPC_CheckChild0Integer, 110|128,120,
7737 OPC_RecordChild1,
7738 OPC_RecordChild2,
7739 OPC_Scope, 28,
7740 OPC_MoveChild2,
7741 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7742 OPC_CheckPredicate3,
7743 OPC_MoveParent,
7744 OPC_Scope, 9,
7745 OPC_CheckPatternPredicate1,
7746 OPC_EmitConvertToTarget1,
7747 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W),
7748 MVT::i32, 2, 0, 2,
7749 9,
7750 OPC_CheckPatternPredicate6,
7751 OPC_EmitConvertToTarget1,
7752 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W_MM),
7753 MVT::i32, 2, 0, 2,
7754 0,
7755 8,
7756 OPC_CheckPatternPredicate1,
7757 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W),
7758 MVT::i32, 2, 0, 1,
7759 8,
7760 OPC_CheckPatternPredicate6,
7761 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W_MM),
7762 MVT::i32, 2, 0, 1,
7763 0,
7764 36,
7765 OPC_CheckChild0Integer, 98|128,112,
7766 OPC_RecordChild1,
7767 OPC_RecordChild2,
7768 OPC_RecordChild3,
7769 OPC_MoveChild3,
7770 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7771 OPC_CheckPredicate3,
7772 OPC_MoveParent,
7773 OPC_Scope, 10,
7774 OPC_CheckPatternPredicate, 13,
7775 OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND),
7776 MVT::i32, 3, 1, 2, 0,
7777 10,
7778 OPC_CheckPatternPredicate, 15,
7779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND_MMR2),
7780 MVT::i32, 3, 1, 2, 0,
7781 0,
7782 42,
7783 OPC_CheckChild0Integer, 20|128,113,
7784 OPC_RecordChild1,
7785 OPC_RecordChild2,
7786 OPC_RecordChild3,
7787 OPC_MoveChild3,
7788 OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetConstant),
7789 OPC_CheckPredicate, 22,
7790 OPC_MoveParent,
7791 OPC_CheckPatternPredicate, 13,
7792 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN),
7793 MVT::i32, 3, 1, 2, 0,
7794 14, TARGET_VAL(ISD::Constant),
7795 OPC_CheckPredicate, 22,
7796 OPC_MoveParent,
7797 OPC_CheckPatternPredicate, 15,
7798 OPC_EmitConvertToTarget2,
7799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN_MMR2),
7800 MVT::i32, 3, 1, 3, 0,
7801 0,
7802 36,
7803 OPC_CheckChild0Integer, 60|128,120,
7804 OPC_RecordChild1,
7805 OPC_RecordChild2,
7806 OPC_RecordChild3,
7807 OPC_MoveChild3,
7808 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7809 OPC_CheckPredicate3,
7810 OPC_MoveParent,
7811 OPC_Scope, 10,
7812 OPC_CheckPatternPredicate, 13,
7813 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND),
7814 MVT::i32, 3, 1, 2, 0,
7815 10,
7816 OPC_CheckPatternPredicate, 15,
7817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND_MMR2),
7818 MVT::i32, 3, 1, 2, 0,
7819 0,
7820 25,
7821 OPC_CheckChild0Integer, 30|128,119,
7822 OPC_RecordChild1,
7823 OPC_RecordChild2,
7824 OPC_Scope, 8,
7825 OPC_CheckPatternPredicate1,
7826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB),
7827 MVT::i32, 2, 0, 1,
7828 8,
7829 OPC_CheckPatternPredicate6,
7830 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB_MM),
7831 MVT::i32, 2, 0, 1,
7832 0,
7833 22,
7834 OPC_CheckChild0Integer, 62|128,120,
7835 OPC_RecordChild1,
7836 OPC_Scope, 7,
7837 OPC_CheckPatternPredicate1,
7838 OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB),
7839 MVT::i32, 1, 0,
7840 7,
7841 OPC_CheckPatternPredicate6,
7842 OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB_MM),
7843 MVT::i32, 1, 0,
7844 0,
7845 22,
7846 OPC_CheckChild0Integer, 26|128,120,
7847 OPC_RecordChild1,
7848 OPC_Scope, 7,
7849 OPC_CheckPatternPredicate1,
7850 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL),
7851 MVT::i32, 1, 0,
7852 7,
7853 OPC_CheckPatternPredicate6,
7854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL_MM),
7855 MVT::i32, 1, 0,
7856 0,
7857 22,
7858 OPC_CheckChild0Integer, 28|128,120,
7859 OPC_RecordChild1,
7860 OPC_Scope, 7,
7861 OPC_CheckPatternPredicate1,
7862 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR),
7863 MVT::i32, 1, 0,
7864 7,
7865 OPC_CheckPatternPredicate6,
7866 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR_MM),
7867 MVT::i32, 1, 0,
7868 0,
7869 22,
7870 OPC_CheckChild0Integer, 70|128,113,
7871 OPC_RecordChild1,
7872 OPC_Scope, 7,
7873 OPC_CheckPatternPredicate1,
7874 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV),
7875 MVT::i32, 1, 0,
7876 7,
7877 OPC_CheckPatternPredicate6,
7878 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV_MM),
7879 MVT::i32, 1, 0,
7880 0,
7881 27,
7882 OPC_CheckChild0Integer, 36|128,112,
7883 OPC_RecordChild1,
7884 OPC_RecordChild2,
7885 OPC_Scope, 9,
7886 OPC_CheckPatternPredicate, 13,
7887 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W),
7888 MVT::i32, 2, 0, 1,
7889 9,
7890 OPC_CheckPatternPredicate, 15,
7891 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W_MMR2),
7892 MVT::i32, 2, 0, 1,
7893 0,
7894 27,
7895 OPC_CheckChild0Integer, 34|128,112,
7896 OPC_RecordChild1,
7897 OPC_RecordChild2,
7898 OPC_Scope, 9,
7899 OPC_CheckPatternPredicate, 13,
7900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W),
7901 MVT::i32, 2, 0, 1,
7902 9,
7903 OPC_CheckPatternPredicate, 15,
7904 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W_MMR2),
7905 MVT::i32, 2, 0, 1,
7906 0,
7907 27,
7908 OPC_CheckChild0Integer, 124|128,121,
7909 OPC_RecordChild1,
7910 OPC_RecordChild2,
7911 OPC_Scope, 9,
7912 OPC_CheckPatternPredicate, 13,
7913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W),
7914 MVT::i32, 2, 0, 1,
7915 9,
7916 OPC_CheckPatternPredicate, 15,
7917 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W_MMR2),
7918 MVT::i32, 2, 0, 1,
7919 0,
7920 27,
7921 OPC_CheckChild0Integer, 122|128,121,
7922 OPC_RecordChild1,
7923 OPC_RecordChild2,
7924 OPC_Scope, 9,
7925 OPC_CheckPatternPredicate, 13,
7926 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W),
7927 MVT::i32, 2, 0, 1,
7928 9,
7929 OPC_CheckPatternPredicate, 15,
7930 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W_MMR2),
7931 MVT::i32, 2, 0, 1,
7932 0,
7933 55,
7934 OPC_CheckChild0Integer, 106|128,120,
7935 OPC_RecordChild1,
7936 OPC_RecordChild2,
7937 OPC_Scope, 29,
7938 OPC_MoveChild2,
7939 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7940 OPC_CheckPredicate, 15,
7941 OPC_MoveParent,
7942 OPC_Scope, 9,
7943 OPC_CheckPatternPredicate1,
7944 OPC_EmitConvertToTarget1,
7945 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH),
7946 MVT::v2i16, 2, 0, 2,
7947 9,
7948 OPC_CheckPatternPredicate6,
7949 OPC_EmitConvertToTarget1,
7950 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH_MM),
7951 MVT::v2i16, 2, 0, 2,
7952 0,
7953 8,
7954 OPC_CheckPatternPredicate1,
7955 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH),
7956 MVT::v2i16, 2, 0, 1,
7957 8,
7958 OPC_CheckPatternPredicate6,
7959 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH_MM),
7960 MVT::v2i16, 2, 0, 1,
7961 0,
7962 50,
7963 OPC_CheckChild0Integer, 68|128,120,
7964 OPC_RecordChild1,
7965 OPC_Scope, 27,
7966 OPC_MoveChild1,
7967 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7968 OPC_CheckPredicate, 43,
7969 OPC_MoveParent,
7970 OPC_Scope, 8,
7971 OPC_CheckPatternPredicate1,
7972 OPC_EmitConvertToTarget0,
7973 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB),
7974 MVT::v4i8, 1, 1,
7975 8,
7976 OPC_CheckPatternPredicate6,
7977 OPC_EmitConvertToTarget0,
7978 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB_MM),
7979 MVT::v4i8, 1, 1,
7980 0,
7981 7,
7982 OPC_CheckPatternPredicate1,
7983 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB),
7984 MVT::v4i8, 1, 0,
7985 7,
7986 OPC_CheckPatternPredicate6,
7987 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB_MM),
7988 MVT::v4i8, 1, 0,
7989 0,
7990 50,
7991 OPC_CheckChild0Integer, 66|128,120,
7992 OPC_RecordChild1,
7993 OPC_Scope, 27,
7994 OPC_MoveChild1,
7995 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7996 OPC_CheckPredicate, 52,
7997 OPC_MoveParent,
7998 OPC_Scope, 8,
7999 OPC_CheckPatternPredicate1,
8000 OPC_EmitConvertToTarget0,
8001 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH),
8002 MVT::v2i16, 1, 1,
8003 8,
8004 OPC_CheckPatternPredicate6,
8005 OPC_EmitConvertToTarget0,
8006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH_MM),
8007 MVT::v2i16, 1, 1,
8008 0,
8009 7,
8010 OPC_CheckPatternPredicate1,
8011 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH),
8012 MVT::v2i16, 1, 0,
8013 7,
8014 OPC_CheckPatternPredicate6,
8015 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH_MM),
8016 MVT::v2i16, 1, 0,
8017 0,
8018 36,
8019 OPC_CheckChild0Integer, 48|128,120,
8020 OPC_RecordChild1,
8021 OPC_RecordChild2,
8022 OPC_RecordChild3,
8023 OPC_MoveChild3,
8024 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8025 OPC_CheckPredicate3,
8026 OPC_MoveParent,
8027 OPC_Scope, 10,
8028 OPC_CheckPatternPredicate, 13,
8029 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W),
8030 MVT::v2i16, 3, 1, 2, 0,
8031 10,
8032 OPC_CheckPatternPredicate, 15,
8033 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W_MMR2),
8034 MVT::v2i16, 3, 1, 2, 0,
8035 0,
8036 36,
8037 OPC_CheckChild0Integer, 50|128,120,
8038 OPC_RecordChild1,
8039 OPC_RecordChild2,
8040 OPC_RecordChild3,
8041 OPC_MoveChild3,
8042 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8043 OPC_CheckPredicate3,
8044 OPC_MoveParent,
8045 OPC_Scope, 10,
8046 OPC_CheckPatternPredicate, 13,
8047 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W),
8048 MVT::v2i16, 3, 1, 2, 0,
8049 10,
8050 OPC_CheckPatternPredicate, 15,
8051 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W_MMR2),
8052 MVT::v2i16, 3, 1, 2, 0,
8053 0,
8054 59,
8055 OPC_CheckChild0Integer, 108|128,120,
8056 OPC_RecordChild1,
8057 OPC_RecordChild2,
8058 OPC_Scope, 31,
8059 OPC_MoveChild2,
8060 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8061 OPC_CheckPredicate, 18,
8062 OPC_MoveParent,
8063 OPC_Scope, 10,
8064 OPC_CheckPatternPredicate, 13,
8065 OPC_EmitConvertToTarget1,
8066 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB),
8067 MVT::v4i8, 2, 0, 2,
8068 10,
8069 OPC_CheckPatternPredicate, 15,
8070 OPC_EmitConvertToTarget1,
8071 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB_MMR2),
8072 MVT::v4i8, 2, 0, 2,
8073 0,
8074 9,
8075 OPC_CheckPatternPredicate, 13,
8076 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB),
8077 MVT::v4i8, 2, 0, 1,
8078 9,
8079 OPC_CheckPatternPredicate, 15,
8080 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB_MMR2),
8081 MVT::v4i8, 2, 0, 1,
8082 0,
8083 42,
8084 OPC_CheckChild0Integer, 102|128,120,
8085 OPC_RecordChild1,
8086 OPC_RecordChild2,
8087 OPC_Scope, 16,
8088 OPC_MoveChild2,
8089 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8090 OPC_CheckPredicate, 15,
8091 OPC_MoveParent,
8092 OPC_CheckPatternPredicate1,
8093 OPC_EmitConvertToTarget1,
8094 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
8095 MVT::v2i16, 2, 0, 2,
8096 8,
8097 OPC_CheckPatternPredicate1,
8098 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH),
8099 MVT::v2i16, 2, 0, 1,
8100 8,
8101 OPC_CheckPatternPredicate6,
8102 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH_MM),
8103 MVT::v2i16, 2, 0, 1,
8104 0,
8105 45,
8106 OPC_CheckChild0Integer, 112|128,120,
8107 OPC_RecordChild1,
8108 OPC_RecordChild2,
8109 OPC_Scope, 17,
8110 OPC_MoveChild2,
8111 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8112 OPC_CheckPredicate, 15,
8113 OPC_MoveParent,
8114 OPC_CheckPatternPredicate, 13,
8115 OPC_EmitConvertToTarget1,
8116 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
8117 MVT::v2i16, 2, 0, 2,
8118 9,
8119 OPC_CheckPatternPredicate, 13,
8120 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH),
8121 MVT::v2i16, 2, 0, 1,
8122 9,
8123 OPC_CheckPatternPredicate, 15,
8124 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH_MMR2),
8125 MVT::v2i16, 2, 0, 1,
8126 0,
8127 45,
8128 OPC_CheckChild0Integer, 104|128,120,
8129 OPC_RecordChild1,
8130 OPC_RecordChild2,
8131 OPC_Scope, 17,
8132 OPC_MoveChild2,
8133 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8134 OPC_CheckPredicate, 18,
8135 OPC_MoveParent,
8136 OPC_CheckPatternPredicate, 13,
8137 OPC_EmitConvertToTarget1,
8138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
8139 MVT::v4i8, 2, 0, 2,
8140 9,
8141 OPC_CheckPatternPredicate, 13,
8142 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB),
8143 MVT::v4i8, 2, 0, 1,
8144 9,
8145 OPC_CheckPatternPredicate, 15,
8146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB_MMR2),
8147 MVT::v4i8, 2, 0, 1,
8148 0,
8149 42,
8150 OPC_CheckChild0Integer, 114|128,120,
8151 OPC_RecordChild1,
8152 OPC_RecordChild2,
8153 OPC_Scope, 16,
8154 OPC_MoveChild2,
8155 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8156 OPC_CheckPredicate, 18,
8157 OPC_MoveParent,
8158 OPC_CheckPatternPredicate1,
8159 OPC_EmitConvertToTarget1,
8160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
8161 MVT::v4i8, 2, 0, 2,
8162 8,
8163 OPC_CheckPatternPredicate1,
8164 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB),
8165 MVT::v4i8, 2, 0, 1,
8166 8,
8167 OPC_CheckPatternPredicate6,
8168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB_MM),
8169 MVT::v4i8, 2, 0, 1,
8170 0,
8171 20,
8172 OPC_CheckChild0Integer, 70|128,120,
8173 OPC_RecordChild1,
8174 OPC_RecordChild2,
8175 OPC_MoveChild2,
8176 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8177 OPC_CheckPredicate, 18,
8178 OPC_MoveParent,
8179 OPC_CheckPatternPredicate0,
8180 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_B),
8181 MVT::v16i8, 2, 0, 1,
8182 20,
8183 OPC_CheckChild0Integer, 74|128,120,
8184 OPC_RecordChild1,
8185 OPC_RecordChild2,
8186 OPC_MoveChild2,
8187 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8188 OPC_CheckPredicate, 15,
8189 OPC_MoveParent,
8190 OPC_CheckPatternPredicate0,
8191 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_H),
8192 MVT::v8i16, 2, 0, 1,
8193 19,
8194 OPC_CheckChild0Integer, 76|128,120,
8195 OPC_RecordChild1,
8196 OPC_RecordChild2,
8197 OPC_MoveChild2,
8198 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8199 OPC_CheckPredicate3,
8200 OPC_MoveParent,
8201 OPC_CheckPatternPredicate0,
8202 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_W),
8203 MVT::v4i32, 2, 0, 1,
8204 20,
8205 OPC_CheckChild0Integer, 72|128,120,
8206 OPC_RecordChild1,
8207 OPC_RecordChild2,
8208 OPC_MoveChild2,
8209 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8210 OPC_CheckPredicate, 16,
8211 OPC_MoveParent,
8212 OPC_CheckPatternPredicate0,
8213 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_D),
8214 MVT::v2i64, 2, 0, 1,
8215 20,
8216 OPC_CheckChild0Integer, 78|128,120,
8217 OPC_RecordChild1,
8218 OPC_RecordChild2,
8219 OPC_MoveChild2,
8220 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8221 OPC_CheckPredicate, 18,
8222 OPC_MoveParent,
8223 OPC_CheckPatternPredicate0,
8224 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_B),
8225 MVT::v16i8, 2, 0, 1,
8226 20,
8227 OPC_CheckChild0Integer, 82|128,120,
8228 OPC_RecordChild1,
8229 OPC_RecordChild2,
8230 OPC_MoveChild2,
8231 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8232 OPC_CheckPredicate, 15,
8233 OPC_MoveParent,
8234 OPC_CheckPatternPredicate0,
8235 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_H),
8236 MVT::v8i16, 2, 0, 1,
8237 19,
8238 OPC_CheckChild0Integer, 84|128,120,
8239 OPC_RecordChild1,
8240 OPC_RecordChild2,
8241 OPC_MoveChild2,
8242 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8243 OPC_CheckPredicate3,
8244 OPC_MoveParent,
8245 OPC_CheckPatternPredicate0,
8246 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_W),
8247 MVT::v4i32, 2, 0, 1,
8248 20,
8249 OPC_CheckChild0Integer, 80|128,120,
8250 OPC_RecordChild1,
8251 OPC_RecordChild2,
8252 OPC_MoveChild2,
8253 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8254 OPC_CheckPredicate, 16,
8255 OPC_MoveParent,
8256 OPC_CheckPatternPredicate0,
8257 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_D),
8258 MVT::v2i64, 2, 0, 1,
8259 22,
8260 OPC_CheckChild0Integer, 124|128,120,
8261 OPC_RecordChild1,
8262 OPC_RecordChild2,
8263 OPC_RecordChild3,
8264 OPC_MoveChild3,
8265 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8266 OPC_CheckPredicate, 15,
8267 OPC_MoveParent,
8268 OPC_CheckPatternPredicate0,
8269 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_B),
8270 MVT::v16i8, 3, 0, 1, 2,
8271 22,
8272 OPC_CheckChild0Integer, 0|128,121,
8273 OPC_RecordChild1,
8274 OPC_RecordChild2,
8275 OPC_RecordChild3,
8276 OPC_MoveChild3,
8277 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8278 OPC_CheckPredicate, 18,
8279 OPC_MoveParent,
8280 OPC_CheckPatternPredicate0,
8281 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_H),
8282 MVT::v8i16, 3, 0, 1, 2,
8283 22,
8284 OPC_CheckChild0Integer, 2|128,121,
8285 OPC_RecordChild1,
8286 OPC_RecordChild2,
8287 OPC_RecordChild3,
8288 OPC_MoveChild3,
8289 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8290 OPC_CheckPredicate, 22,
8291 OPC_MoveParent,
8292 OPC_CheckPatternPredicate0,
8293 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_W),
8294 MVT::v4i32, 3, 0, 1, 2,
8295 22,
8296 OPC_CheckChild0Integer, 126|128,120,
8297 OPC_RecordChild1,
8298 OPC_RecordChild2,
8299 OPC_RecordChild3,
8300 OPC_MoveChild3,
8301 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8302 OPC_CheckPredicate, 26,
8303 OPC_MoveParent,
8304 OPC_CheckPatternPredicate0,
8305 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_D),
8306 MVT::v2i64, 3, 0, 1, 2,
8307 20,
8308 OPC_CheckChild0Integer, 60|128,121,
8309 OPC_RecordChild1,
8310 OPC_RecordChild2,
8311 OPC_MoveChild2,
8312 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8313 OPC_CheckPredicate, 18,
8314 OPC_MoveParent,
8315 OPC_CheckPatternPredicate0,
8316 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_B),
8317 MVT::v16i8, 2, 0, 1,
8318 20,
8319 OPC_CheckChild0Integer, 64|128,121,
8320 OPC_RecordChild1,
8321 OPC_RecordChild2,
8322 OPC_MoveChild2,
8323 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8324 OPC_CheckPredicate, 15,
8325 OPC_MoveParent,
8326 OPC_CheckPatternPredicate0,
8327 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_H),
8328 MVT::v8i16, 2, 0, 1,
8329 19,
8330 OPC_CheckChild0Integer, 66|128,121,
8331 OPC_RecordChild1,
8332 OPC_RecordChild2,
8333 OPC_MoveChild2,
8334 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8335 OPC_CheckPredicate3,
8336 OPC_MoveParent,
8337 OPC_CheckPatternPredicate0,
8338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_W),
8339 MVT::v4i32, 2, 0, 1,
8340 20,
8341 OPC_CheckChild0Integer, 62|128,121,
8342 OPC_RecordChild1,
8343 OPC_RecordChild2,
8344 OPC_MoveChild2,
8345 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8346 OPC_CheckPredicate, 16,
8347 OPC_MoveParent,
8348 OPC_CheckPatternPredicate0,
8349 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_D),
8350 MVT::v2i64, 2, 0, 1,
8351 20,
8352 OPC_CheckChild0Integer, 92|128,121,
8353 OPC_RecordChild1,
8354 OPC_RecordChild2,
8355 OPC_MoveChild2,
8356 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8357 OPC_CheckPredicate, 18,
8358 OPC_MoveParent,
8359 OPC_CheckPatternPredicate0,
8360 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_B),
8361 MVT::v16i8, 2, 0, 1,
8362 20,
8363 OPC_CheckChild0Integer, 96|128,121,
8364 OPC_RecordChild1,
8365 OPC_RecordChild2,
8366 OPC_MoveChild2,
8367 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8368 OPC_CheckPredicate, 15,
8369 OPC_MoveParent,
8370 OPC_CheckPatternPredicate0,
8371 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_H),
8372 MVT::v8i16, 2, 0, 1,
8373 19,
8374 OPC_CheckChild0Integer, 98|128,121,
8375 OPC_RecordChild1,
8376 OPC_RecordChild2,
8377 OPC_MoveChild2,
8378 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8379 OPC_CheckPredicate3,
8380 OPC_MoveParent,
8381 OPC_CheckPatternPredicate0,
8382 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_W),
8383 MVT::v4i32, 2, 0, 1,
8384 20,
8385 OPC_CheckChild0Integer, 94|128,121,
8386 OPC_RecordChild1,
8387 OPC_RecordChild2,
8388 OPC_MoveChild2,
8389 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8390 OPC_CheckPredicate, 16,
8391 OPC_MoveParent,
8392 OPC_CheckPatternPredicate0,
8393 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_D),
8394 MVT::v2i64, 2, 0, 1,
8395 25,
8396 OPC_CheckChild0Integer, 70|128,112,
8397 OPC_RecordChild1,
8398 OPC_RecordChild2,
8399 OPC_Scope, 8,
8400 OPC_CheckPatternPredicate1,
8401 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB),
8402 MVT::v4i8, 2, 0, 1,
8403 8,
8404 OPC_CheckPatternPredicate6,
8405 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB_MM),
8406 MVT::v4i8, 2, 0, 1,
8407 0,
8408 25,
8409 OPC_CheckChild0Integer, 36|128,122,
8410 OPC_RecordChild1,
8411 OPC_RecordChild2,
8412 OPC_Scope, 8,
8413 OPC_CheckPatternPredicate1,
8414 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB),
8415 MVT::v4i8, 2, 0, 1,
8416 8,
8417 OPC_CheckPatternPredicate6,
8418 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB_MM),
8419 MVT::v4i8, 2, 0, 1,
8420 0,
8421 25,
8422 OPC_CheckChild0Integer, 26|128,112,
8423 OPC_RecordChild1,
8424 OPC_RecordChild2,
8425 OPC_Scope, 8,
8426 OPC_CheckPatternPredicate1,
8427 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH),
8428 MVT::v2i16, 2, 0, 1,
8429 8,
8430 OPC_CheckPatternPredicate6,
8431 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH_MM),
8432 MVT::v2i16, 2, 0, 1,
8433 0,
8434 25,
8435 OPC_CheckChild0Integer, 114|128,121,
8436 OPC_RecordChild1,
8437 OPC_RecordChild2,
8438 OPC_Scope, 8,
8439 OPC_CheckPatternPredicate1,
8440 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH),
8441 MVT::v2i16, 2, 0, 1,
8442 8,
8443 OPC_CheckPatternPredicate6,
8444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH_MM),
8445 MVT::v2i16, 2, 0, 1,
8446 0,
8447 25,
8448 OPC_CheckChild0Integer, 54|128,120,
8449 OPC_RecordChild1,
8450 OPC_RecordChild2,
8451 OPC_Scope, 8,
8452 OPC_CheckPatternPredicate1,
8453 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH),
8454 MVT::v4i8, 2, 0, 1,
8455 8,
8456 OPC_CheckPatternPredicate6,
8457 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH_MM),
8458 MVT::v4i8, 2, 0, 1,
8459 0,
8460 25,
8461 OPC_CheckChild0Integer, 52|128,120,
8462 OPC_RecordChild1,
8463 OPC_RecordChild2,
8464 OPC_Scope, 8,
8465 OPC_CheckPatternPredicate1,
8466 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W),
8467 MVT::v2i16, 2, 0, 1,
8468 8,
8469 OPC_CheckPatternPredicate6,
8470 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W_MM),
8471 MVT::v2i16, 2, 0, 1,
8472 0,
8473 22,
8474 OPC_CheckChild0Integer, 30|128,120,
8475 OPC_RecordChild1,
8476 OPC_Scope, 7,
8477 OPC_CheckPatternPredicate1,
8478 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL),
8479 MVT::v2i16, 1, 0,
8480 7,
8481 OPC_CheckPatternPredicate6,
8482 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL_MM),
8483 MVT::v2i16, 1, 0,
8484 0,
8485 22,
8486 OPC_CheckChild0Integer, 34|128,120,
8487 OPC_RecordChild1,
8488 OPC_Scope, 7,
8489 OPC_CheckPatternPredicate1,
8490 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR),
8491 MVT::v2i16, 1, 0,
8492 7,
8493 OPC_CheckPatternPredicate6,
8494 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR_MM),
8495 MVT::v2i16, 1, 0,
8496 0,
8497 22,
8498 OPC_CheckChild0Integer, 32|128,120,
8499 OPC_RecordChild1,
8500 OPC_Scope, 7,
8501 OPC_CheckPatternPredicate1,
8502 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA),
8503 MVT::v2i16, 1, 0,
8504 7,
8505 OPC_CheckPatternPredicate6,
8506 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA_MM),
8507 MVT::v2i16, 1, 0,
8508 0,
8509 22,
8510 OPC_CheckChild0Integer, 36|128,120,
8511 OPC_RecordChild1,
8512 OPC_Scope, 7,
8513 OPC_CheckPatternPredicate1,
8514 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA),
8515 MVT::v2i16, 1, 0,
8516 7,
8517 OPC_CheckPatternPredicate6,
8518 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA_MM),
8519 MVT::v2i16, 1, 0,
8520 0,
8521 22,
8522 OPC_CheckChild0Integer, 38|128,120,
8523 OPC_RecordChild1,
8524 OPC_Scope, 7,
8525 OPC_CheckPatternPredicate1,
8526 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL),
8527 MVT::v2i16, 1, 0,
8528 7,
8529 OPC_CheckPatternPredicate6,
8530 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL_MM),
8531 MVT::v2i16, 1, 0,
8532 0,
8533 22,
8534 OPC_CheckChild0Integer, 42|128,120,
8535 OPC_RecordChild1,
8536 OPC_Scope, 7,
8537 OPC_CheckPatternPredicate1,
8538 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR),
8539 MVT::v2i16, 1, 0,
8540 7,
8541 OPC_CheckPatternPredicate6,
8542 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR_MM),
8543 MVT::v2i16, 1, 0,
8544 0,
8545 22,
8546 OPC_CheckChild0Integer, 40|128,120,
8547 OPC_RecordChild1,
8548 OPC_Scope, 7,
8549 OPC_CheckPatternPredicate1,
8550 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA),
8551 MVT::v2i16, 1, 0,
8552 7,
8553 OPC_CheckPatternPredicate6,
8554 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA_MM),
8555 MVT::v2i16, 1, 0,
8556 0,
8557 22,
8558 OPC_CheckChild0Integer, 44|128,120,
8559 OPC_RecordChild1,
8560 OPC_Scope, 7,
8561 OPC_CheckPatternPredicate1,
8562 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA),
8563 MVT::v2i16, 1, 0,
8564 7,
8565 OPC_CheckPatternPredicate6,
8566 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA_MM),
8567 MVT::v2i16, 1, 0,
8568 0,
8569 25,
8570 OPC_CheckChild0Integer, 124|128,119,
8571 OPC_RecordChild1,
8572 OPC_RecordChild2,
8573 OPC_Scope, 8,
8574 OPC_CheckPatternPredicate1,
8575 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH),
8576 MVT::v2i16, 2, 0, 1,
8577 8,
8578 OPC_CheckPatternPredicate6,
8579 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH_MM),
8580 MVT::v2i16, 2, 0, 1,
8581 0,
8582 27,
8583 OPC_CheckChild0Integer, 72|128,112,
8584 OPC_RecordChild1,
8585 OPC_RecordChild2,
8586 OPC_Scope, 9,
8587 OPC_CheckPatternPredicate, 13,
8588 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB),
8589 MVT::v4i8, 2, 0, 1,
8590 9,
8591 OPC_CheckPatternPredicate, 15,
8592 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB_MMR2),
8593 MVT::v4i8, 2, 0, 1,
8594 0,
8595 27,
8596 OPC_CheckChild0Integer, 74|128,112,
8597 OPC_RecordChild1,
8598 OPC_RecordChild2,
8599 OPC_Scope, 9,
8600 OPC_CheckPatternPredicate, 13,
8601 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB),
8602 MVT::v4i8, 2, 0, 1,
8603 9,
8604 OPC_CheckPatternPredicate, 15,
8605 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB_MMR2),
8606 MVT::v4i8, 2, 0, 1,
8607 0,
8608 27,
8609 OPC_CheckChild0Integer, 38|128,122,
8610 OPC_RecordChild1,
8611 OPC_RecordChild2,
8612 OPC_Scope, 9,
8613 OPC_CheckPatternPredicate, 13,
8614 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB),
8615 MVT::v4i8, 2, 0, 1,
8616 9,
8617 OPC_CheckPatternPredicate, 15,
8618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB_MMR2),
8619 MVT::v4i8, 2, 0, 1,
8620 0,
8621 27,
8622 OPC_CheckChild0Integer, 40|128,122,
8623 OPC_RecordChild1,
8624 OPC_RecordChild2,
8625 OPC_Scope, 9,
8626 OPC_CheckPatternPredicate, 13,
8627 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB),
8628 MVT::v4i8, 2, 0, 1,
8629 9,
8630 OPC_CheckPatternPredicate, 15,
8631 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB_MMR2),
8632 MVT::v4i8, 2, 0, 1,
8633 0,
8634 27,
8635 OPC_CheckChild0Integer, 30|128,112,
8636 OPC_RecordChild1,
8637 OPC_RecordChild2,
8638 OPC_Scope, 9,
8639 OPC_CheckPatternPredicate, 13,
8640 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH),
8641 MVT::v2i16, 2, 0, 1,
8642 9,
8643 OPC_CheckPatternPredicate, 15,
8644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH_MMR2),
8645 MVT::v2i16, 2, 0, 1,
8646 0,
8647 27,
8648 OPC_CheckChild0Integer, 32|128,112,
8649 OPC_RecordChild1,
8650 OPC_RecordChild2,
8651 OPC_Scope, 9,
8652 OPC_CheckPatternPredicate, 13,
8653 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH),
8654 MVT::v2i16, 2, 0, 1,
8655 9,
8656 OPC_CheckPatternPredicate, 15,
8657 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH_MMR2),
8658 MVT::v2i16, 2, 0, 1,
8659 0,
8660 27,
8661 OPC_CheckChild0Integer, 118|128,121,
8662 OPC_RecordChild1,
8663 OPC_RecordChild2,
8664 OPC_Scope, 9,
8665 OPC_CheckPatternPredicate, 13,
8666 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH),
8667 MVT::v2i16, 2, 0, 1,
8668 9,
8669 OPC_CheckPatternPredicate, 15,
8670 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH_MMR2),
8671 MVT::v2i16, 2, 0, 1,
8672 0,
8673 27,
8674 OPC_CheckChild0Integer, 120|128,121,
8675 OPC_RecordChild1,
8676 OPC_RecordChild2,
8677 OPC_Scope, 9,
8678 OPC_CheckPatternPredicate, 13,
8679 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH),
8680 MVT::v2i16, 2, 0, 1,
8681 9,
8682 OPC_CheckPatternPredicate, 15,
8683 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH_MMR2),
8684 MVT::v2i16, 2, 0, 1,
8685 0,
8686 13,
8687 OPC_CheckChild0Integer, 24|128,112,
8688 OPC_RecordChild1,
8689 OPC_RecordChild2,
8690 OPC_CheckPatternPredicate1,
8691 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
8692 MVT::v2i16, 2, 0, 1,
8693 13,
8694 OPC_CheckChild0Integer, 112|128,121,
8695 OPC_RecordChild1,
8696 OPC_RecordChild2,
8697 OPC_CheckPatternPredicate1,
8698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
8699 MVT::v2i16, 2, 0, 1,
8700 13,
8701 OPC_CheckChild0Integer, 66|128,112,
8702 OPC_RecordChild1,
8703 OPC_RecordChild2,
8704 OPC_CheckPatternPredicate1,
8705 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
8706 MVT::v4i8, 2, 0, 1,
8707 13,
8708 OPC_CheckChild0Integer, 32|128,122,
8709 OPC_RecordChild1,
8710 OPC_RecordChild2,
8711 OPC_CheckPatternPredicate1,
8712 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
8713 MVT::v4i8, 2, 0, 1,
8714 13,
8715 OPC_CheckChild0Integer, 16|128,112,
8716 OPC_RecordChild1,
8717 OPC_RecordChild2,
8718 OPC_CheckPatternPredicate0,
8719 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_B),
8720 MVT::v16i8, 2, 0, 1,
8721 13,
8722 OPC_CheckChild0Integer, 20|128,112,
8723 OPC_RecordChild1,
8724 OPC_RecordChild2,
8725 OPC_CheckPatternPredicate0,
8726 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_H),
8727 MVT::v8i16, 2, 0, 1,
8728 13,
8729 OPC_CheckChild0Integer, 22|128,112,
8730 OPC_RecordChild1,
8731 OPC_RecordChild2,
8732 OPC_CheckPatternPredicate0,
8733 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_W),
8734 MVT::v4i32, 2, 0, 1,
8735 13,
8736 OPC_CheckChild0Integer, 18|128,112,
8737 OPC_RecordChild1,
8738 OPC_RecordChild2,
8739 OPC_CheckPatternPredicate0,
8740 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_D),
8741 MVT::v2i64, 2, 0, 1,
8742 13,
8743 OPC_CheckChild0Integer, 38|128,112,
8744 OPC_RecordChild1,
8745 OPC_RecordChild2,
8746 OPC_CheckPatternPredicate0,
8747 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_B),
8748 MVT::v16i8, 2, 0, 1,
8749 13,
8750 OPC_CheckChild0Integer, 42|128,112,
8751 OPC_RecordChild1,
8752 OPC_RecordChild2,
8753 OPC_CheckPatternPredicate0,
8754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_H),
8755 MVT::v8i16, 2, 0, 1,
8756 13,
8757 OPC_CheckChild0Integer, 44|128,112,
8758 OPC_RecordChild1,
8759 OPC_RecordChild2,
8760 OPC_CheckPatternPredicate0,
8761 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_W),
8762 MVT::v4i32, 2, 0, 1,
8763 13,
8764 OPC_CheckChild0Integer, 40|128,112,
8765 OPC_RecordChild1,
8766 OPC_RecordChild2,
8767 OPC_CheckPatternPredicate0,
8768 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_D),
8769 MVT::v2i64, 2, 0, 1,
8770 13,
8771 OPC_CheckChild0Integer, 46|128,112,
8772 OPC_RecordChild1,
8773 OPC_RecordChild2,
8774 OPC_CheckPatternPredicate0,
8775 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_B),
8776 MVT::v16i8, 2, 0, 1,
8777 13,
8778 OPC_CheckChild0Integer, 50|128,112,
8779 OPC_RecordChild1,
8780 OPC_RecordChild2,
8781 OPC_CheckPatternPredicate0,
8782 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_H),
8783 MVT::v8i16, 2, 0, 1,
8784 13,
8785 OPC_CheckChild0Integer, 52|128,112,
8786 OPC_RecordChild1,
8787 OPC_RecordChild2,
8788 OPC_CheckPatternPredicate0,
8789 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_W),
8790 MVT::v4i32, 2, 0, 1,
8791 13,
8792 OPC_CheckChild0Integer, 48|128,112,
8793 OPC_RecordChild1,
8794 OPC_RecordChild2,
8795 OPC_CheckPatternPredicate0,
8796 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_D),
8797 MVT::v2i64, 2, 0, 1,
8798 13,
8799 OPC_CheckChild0Integer, 54|128,112,
8800 OPC_RecordChild1,
8801 OPC_RecordChild2,
8802 OPC_CheckPatternPredicate0,
8803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_B),
8804 MVT::v16i8, 2, 0, 1,
8805 13,
8806 OPC_CheckChild0Integer, 58|128,112,
8807 OPC_RecordChild1,
8808 OPC_RecordChild2,
8809 OPC_CheckPatternPredicate0,
8810 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_H),
8811 MVT::v8i16, 2, 0, 1,
8812 13,
8813 OPC_CheckChild0Integer, 60|128,112,
8814 OPC_RecordChild1,
8815 OPC_RecordChild2,
8816 OPC_CheckPatternPredicate0,
8817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_W),
8818 MVT::v4i32, 2, 0, 1,
8819 13,
8820 OPC_CheckChild0Integer, 56|128,112,
8821 OPC_RecordChild1,
8822 OPC_RecordChild2,
8823 OPC_CheckPatternPredicate0,
8824 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_D),
8825 MVT::v2i64, 2, 0, 1,
8826 13,
8827 OPC_CheckChild0Integer, 100|128,112,
8828 OPC_RecordChild1,
8829 OPC_RecordChild2,
8830 OPC_CheckPatternPredicate0,
8831 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_B),
8832 MVT::v16i8, 2, 0, 1,
8833 13,
8834 OPC_CheckChild0Integer, 104|128,112,
8835 OPC_RecordChild1,
8836 OPC_RecordChild2,
8837 OPC_CheckPatternPredicate0,
8838 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_H),
8839 MVT::v8i16, 2, 0, 1,
8840 13,
8841 OPC_CheckChild0Integer, 106|128,112,
8842 OPC_RecordChild1,
8843 OPC_RecordChild2,
8844 OPC_CheckPatternPredicate0,
8845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_W),
8846 MVT::v4i32, 2, 0, 1,
8847 13,
8848 OPC_CheckChild0Integer, 102|128,112,
8849 OPC_RecordChild1,
8850 OPC_RecordChild2,
8851 OPC_CheckPatternPredicate0,
8852 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_D),
8853 MVT::v2i64, 2, 0, 1,
8854 13,
8855 OPC_CheckChild0Integer, 108|128,112,
8856 OPC_RecordChild1,
8857 OPC_RecordChild2,
8858 OPC_CheckPatternPredicate0,
8859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_B),
8860 MVT::v16i8, 2, 0, 1,
8861 13,
8862 OPC_CheckChild0Integer, 112|128,112,
8863 OPC_RecordChild1,
8864 OPC_RecordChild2,
8865 OPC_CheckPatternPredicate0,
8866 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_H),
8867 MVT::v8i16, 2, 0, 1,
8868 13,
8869 OPC_CheckChild0Integer, 114|128,112,
8870 OPC_RecordChild1,
8871 OPC_RecordChild2,
8872 OPC_CheckPatternPredicate0,
8873 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_W),
8874 MVT::v4i32, 2, 0, 1,
8875 13,
8876 OPC_CheckChild0Integer, 110|128,112,
8877 OPC_RecordChild1,
8878 OPC_RecordChild2,
8879 OPC_CheckPatternPredicate0,
8880 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_D),
8881 MVT::v2i64, 2, 0, 1,
8882 13,
8883 OPC_CheckChild0Integer, 116|128,112,
8884 OPC_RecordChild1,
8885 OPC_RecordChild2,
8886 OPC_CheckPatternPredicate0,
8887 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_B),
8888 MVT::v16i8, 2, 0, 1,
8889 13,
8890 OPC_CheckChild0Integer, 120|128,112,
8891 OPC_RecordChild1,
8892 OPC_RecordChild2,
8893 OPC_CheckPatternPredicate0,
8894 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_H),
8895 MVT::v8i16, 2, 0, 1,
8896 13,
8897 OPC_CheckChild0Integer, 122|128,112,
8898 OPC_RecordChild1,
8899 OPC_RecordChild2,
8900 OPC_CheckPatternPredicate0,
8901 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_W),
8902 MVT::v4i32, 2, 0, 1,
8903 13,
8904 OPC_CheckChild0Integer, 118|128,112,
8905 OPC_RecordChild1,
8906 OPC_RecordChild2,
8907 OPC_CheckPatternPredicate0,
8908 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_D),
8909 MVT::v2i64, 2, 0, 1,
8910 13,
8911 OPC_CheckChild0Integer, 124|128,112,
8912 OPC_RecordChild1,
8913 OPC_RecordChild2,
8914 OPC_CheckPatternPredicate0,
8915 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_B),
8916 MVT::v16i8, 2, 0, 1,
8917 13,
8918 OPC_CheckChild0Integer, 0|128,113,
8919 OPC_RecordChild1,
8920 OPC_RecordChild2,
8921 OPC_CheckPatternPredicate0,
8922 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_H),
8923 MVT::v8i16, 2, 0, 1,
8924 13,
8925 OPC_CheckChild0Integer, 2|128,113,
8926 OPC_RecordChild1,
8927 OPC_RecordChild2,
8928 OPC_CheckPatternPredicate0,
8929 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_W),
8930 MVT::v4i32, 2, 0, 1,
8931 13,
8932 OPC_CheckChild0Integer, 126|128,112,
8933 OPC_RecordChild1,
8934 OPC_RecordChild2,
8935 OPC_CheckPatternPredicate0,
8936 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_D),
8937 MVT::v2i64, 2, 0, 1,
8938 13,
8939 OPC_CheckChild0Integer, 4|128,113,
8940 OPC_RecordChild1,
8941 OPC_RecordChild2,
8942 OPC_CheckPatternPredicate0,
8943 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_B),
8944 MVT::v16i8, 2, 0, 1,
8945 13,
8946 OPC_CheckChild0Integer, 8|128,113,
8947 OPC_RecordChild1,
8948 OPC_RecordChild2,
8949 OPC_CheckPatternPredicate0,
8950 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_H),
8951 MVT::v8i16, 2, 0, 1,
8952 13,
8953 OPC_CheckChild0Integer, 10|128,113,
8954 OPC_RecordChild1,
8955 OPC_RecordChild2,
8956 OPC_CheckPatternPredicate0,
8957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_W),
8958 MVT::v4i32, 2, 0, 1,
8959 13,
8960 OPC_CheckChild0Integer, 6|128,113,
8961 OPC_RecordChild1,
8962 OPC_RecordChild2,
8963 OPC_CheckPatternPredicate0,
8964 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_D),
8965 MVT::v2i64, 2, 0, 1,
8966 13,
8967 OPC_CheckChild0Integer, 12|128,113,
8968 OPC_RecordChild1,
8969 OPC_RecordChild2,
8970 OPC_CheckPatternPredicate0,
8971 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_B),
8972 MVT::v16i8, 2, 0, 1,
8973 13,
8974 OPC_CheckChild0Integer, 16|128,113,
8975 OPC_RecordChild1,
8976 OPC_RecordChild2,
8977 OPC_CheckPatternPredicate0,
8978 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_H),
8979 MVT::v8i16, 2, 0, 1,
8980 13,
8981 OPC_CheckChild0Integer, 18|128,113,
8982 OPC_RecordChild1,
8983 OPC_RecordChild2,
8984 OPC_CheckPatternPredicate0,
8985 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_W),
8986 MVT::v4i32, 2, 0, 1,
8987 13,
8988 OPC_CheckChild0Integer, 14|128,113,
8989 OPC_RecordChild1,
8990 OPC_RecordChild2,
8991 OPC_CheckPatternPredicate0,
8992 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_D),
8993 MVT::v2i64, 2, 0, 1,
8994 15,
8995 OPC_CheckChild0Integer, 38|128,113,
8996 OPC_RecordChild1,
8997 OPC_RecordChild2,
8998 OPC_RecordChild3,
8999 OPC_CheckPatternPredicate0,
9000 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_B),
9001 MVT::v16i8, 3, 0, 1, 2,
9002 15,
9003 OPC_CheckChild0Integer, 42|128,113,
9004 OPC_RecordChild1,
9005 OPC_RecordChild2,
9006 OPC_RecordChild3,
9007 OPC_CheckPatternPredicate0,
9008 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_H),
9009 MVT::v8i16, 3, 0, 1, 2,
9010 15,
9011 OPC_CheckChild0Integer, 44|128,113,
9012 OPC_RecordChild1,
9013 OPC_RecordChild2,
9014 OPC_RecordChild3,
9015 OPC_CheckPatternPredicate0,
9016 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_W),
9017 MVT::v4i32, 3, 0, 1, 2,
9018 15,
9019 OPC_CheckChild0Integer, 40|128,113,
9020 OPC_RecordChild1,
9021 OPC_RecordChild2,
9022 OPC_RecordChild3,
9023 OPC_CheckPatternPredicate0,
9024 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_D),
9025 MVT::v2i64, 3, 0, 1, 2,
9026 15,
9027 OPC_CheckChild0Integer, 54|128,113,
9028 OPC_RecordChild1,
9029 OPC_RecordChild2,
9030 OPC_RecordChild3,
9031 OPC_CheckPatternPredicate0,
9032 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_B),
9033 MVT::v16i8, 3, 0, 1, 2,
9034 15,
9035 OPC_CheckChild0Integer, 58|128,113,
9036 OPC_RecordChild1,
9037 OPC_RecordChild2,
9038 OPC_RecordChild3,
9039 OPC_CheckPatternPredicate0,
9040 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_H),
9041 MVT::v8i16, 3, 0, 1, 2,
9042 15,
9043 OPC_CheckChild0Integer, 60|128,113,
9044 OPC_RecordChild1,
9045 OPC_RecordChild2,
9046 OPC_RecordChild3,
9047 OPC_CheckPatternPredicate0,
9048 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_W),
9049 MVT::v4i32, 3, 0, 1, 2,
9050 15,
9051 OPC_CheckChild0Integer, 56|128,113,
9052 OPC_RecordChild1,
9053 OPC_RecordChild2,
9054 OPC_RecordChild3,
9055 OPC_CheckPatternPredicate0,
9056 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_D),
9057 MVT::v2i64, 3, 0, 1, 2,
9058 13,
9059 OPC_CheckChild0Integer, 26|128,115,
9060 OPC_RecordChild1,
9061 OPC_RecordChild2,
9062 OPC_CheckPatternPredicate0,
9063 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_H),
9064 MVT::v8i16, 2, 0, 1,
9065 13,
9066 OPC_CheckChild0Integer, 28|128,115,
9067 OPC_RecordChild1,
9068 OPC_RecordChild2,
9069 OPC_CheckPatternPredicate0,
9070 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_W),
9071 MVT::v4i32, 2, 0, 1,
9072 13,
9073 OPC_CheckChild0Integer, 24|128,115,
9074 OPC_RecordChild1,
9075 OPC_RecordChild2,
9076 OPC_CheckPatternPredicate0,
9077 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_D),
9078 MVT::v2i64, 2, 0, 1,
9079 13,
9080 OPC_CheckChild0Integer, 32|128,115,
9081 OPC_RecordChild1,
9082 OPC_RecordChild2,
9083 OPC_CheckPatternPredicate0,
9084 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_H),
9085 MVT::v8i16, 2, 0, 1,
9086 13,
9087 OPC_CheckChild0Integer, 34|128,115,
9088 OPC_RecordChild1,
9089 OPC_RecordChild2,
9090 OPC_CheckPatternPredicate0,
9091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_W),
9092 MVT::v4i32, 2, 0, 1,
9093 13,
9094 OPC_CheckChild0Integer, 30|128,115,
9095 OPC_RecordChild1,
9096 OPC_RecordChild2,
9097 OPC_CheckPatternPredicate0,
9098 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_D),
9099 MVT::v2i64, 2, 0, 1,
9100 15,
9101 OPC_CheckChild0Integer, 40|128,115,
9102 OPC_RecordChild1,
9103 OPC_RecordChild2,
9104 OPC_RecordChild3,
9105 OPC_CheckPatternPredicate0,
9106 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_H),
9107 MVT::v8i16, 3, 0, 1, 2,
9108 15,
9109 OPC_CheckChild0Integer, 42|128,115,
9110 OPC_RecordChild1,
9111 OPC_RecordChild2,
9112 OPC_RecordChild3,
9113 OPC_CheckPatternPredicate0,
9114 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_W),
9115 MVT::v4i32, 3, 0, 1, 2,
9116 15,
9117 OPC_CheckChild0Integer, 38|128,115,
9118 OPC_RecordChild1,
9119 OPC_RecordChild2,
9120 OPC_RecordChild3,
9121 OPC_CheckPatternPredicate0,
9122 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_D),
9123 MVT::v2i64, 3, 0, 1, 2,
9124 15,
9125 OPC_CheckChild0Integer, 46|128,115,
9126 OPC_RecordChild1,
9127 OPC_RecordChild2,
9128 OPC_RecordChild3,
9129 OPC_CheckPatternPredicate0,
9130 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_H),
9131 MVT::v8i16, 3, 0, 1, 2,
9132 15,
9133 OPC_CheckChild0Integer, 48|128,115,
9134 OPC_RecordChild1,
9135 OPC_RecordChild2,
9136 OPC_RecordChild3,
9137 OPC_CheckPatternPredicate0,
9138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_W),
9139 MVT::v4i32, 3, 0, 1, 2,
9140 15,
9141 OPC_CheckChild0Integer, 44|128,115,
9142 OPC_RecordChild1,
9143 OPC_RecordChild2,
9144 OPC_RecordChild3,
9145 OPC_CheckPatternPredicate0,
9146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_D),
9147 MVT::v2i64, 3, 0, 1, 2,
9148 15,
9149 OPC_CheckChild0Integer, 80|128,115,
9150 OPC_RecordChild1,
9151 OPC_RecordChild2,
9152 OPC_RecordChild3,
9153 OPC_CheckPatternPredicate0,
9154 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_H),
9155 MVT::v8i16, 3, 0, 1, 2,
9156 15,
9157 OPC_CheckChild0Integer, 82|128,115,
9158 OPC_RecordChild1,
9159 OPC_RecordChild2,
9160 OPC_RecordChild3,
9161 OPC_CheckPatternPredicate0,
9162 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_W),
9163 MVT::v4i32, 3, 0, 1, 2,
9164 15,
9165 OPC_CheckChild0Integer, 78|128,115,
9166 OPC_RecordChild1,
9167 OPC_RecordChild2,
9168 OPC_RecordChild3,
9169 OPC_CheckPatternPredicate0,
9170 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_D),
9171 MVT::v2i64, 3, 0, 1, 2,
9172 15,
9173 OPC_CheckChild0Integer, 86|128,115,
9174 OPC_RecordChild1,
9175 OPC_RecordChild2,
9176 OPC_RecordChild3,
9177 OPC_CheckPatternPredicate0,
9178 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_H),
9179 MVT::v8i16, 3, 0, 1, 2,
9180 15,
9181 OPC_CheckChild0Integer, 88|128,115,
9182 OPC_RecordChild1,
9183 OPC_RecordChild2,
9184 OPC_RecordChild3,
9185 OPC_CheckPatternPredicate0,
9186 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_W),
9187 MVT::v4i32, 3, 0, 1, 2,
9188 15,
9189 OPC_CheckChild0Integer, 84|128,115,
9190 OPC_RecordChild1,
9191 OPC_RecordChild2,
9192 OPC_RecordChild3,
9193 OPC_CheckPatternPredicate0,
9194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_D),
9195 MVT::v2i64, 3, 0, 1, 2,
9196 13,
9197 OPC_CheckChild0Integer, 110|128,115,
9198 OPC_RecordChild1,
9199 OPC_RecordChild2,
9200 OPC_CheckPatternPredicate0,
9201 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_W),
9202 MVT::v4i32, 2, 0, 1,
9203 13,
9204 OPC_CheckChild0Integer, 108|128,115,
9205 OPC_RecordChild1,
9206 OPC_RecordChild2,
9207 OPC_CheckPatternPredicate0,
9208 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_D),
9209 MVT::v2i64, 2, 0, 1,
9210 11,
9211 OPC_CheckChild0Integer, 118|128,115,
9212 OPC_RecordChild1,
9213 OPC_CheckPatternPredicate0,
9214 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_W),
9215 MVT::v4i32, 1, 0,
9216 11,
9217 OPC_CheckChild0Integer, 116|128,115,
9218 OPC_RecordChild1,
9219 OPC_CheckPatternPredicate0,
9220 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_D),
9221 MVT::v2i64, 1, 0,
9222 13,
9223 OPC_CheckChild0Integer, 118|128,116,
9224 OPC_RecordChild1,
9225 OPC_RecordChild2,
9226 OPC_CheckPatternPredicate0,
9227 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_W),
9228 MVT::v4i32, 2, 0, 1,
9229 13,
9230 OPC_CheckChild0Integer, 116|128,116,
9231 OPC_RecordChild1,
9232 OPC_RecordChild2,
9233 OPC_CheckPatternPredicate0,
9234 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_D),
9235 MVT::v2i64, 2, 0, 1,
9236 13,
9237 OPC_CheckChild0Integer, 122|128,116,
9238 OPC_RecordChild1,
9239 OPC_RecordChild2,
9240 OPC_CheckPatternPredicate0,
9241 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_W),
9242 MVT::v4i32, 2, 0, 1,
9243 13,
9244 OPC_CheckChild0Integer, 120|128,116,
9245 OPC_RecordChild1,
9246 OPC_RecordChild2,
9247 OPC_CheckPatternPredicate0,
9248 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_D),
9249 MVT::v2i64, 2, 0, 1,
9250 13,
9251 OPC_CheckChild0Integer, 126|128,116,
9252 OPC_RecordChild1,
9253 OPC_RecordChild2,
9254 OPC_CheckPatternPredicate0,
9255 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_W),
9256 MVT::v4i32, 2, 0, 1,
9257 13,
9258 OPC_CheckChild0Integer, 124|128,116,
9259 OPC_RecordChild1,
9260 OPC_RecordChild2,
9261 OPC_CheckPatternPredicate0,
9262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_D),
9263 MVT::v2i64, 2, 0, 1,
9264 13,
9265 OPC_CheckChild0Integer, 2|128,117,
9266 OPC_RecordChild1,
9267 OPC_RecordChild2,
9268 OPC_CheckPatternPredicate0,
9269 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_W),
9270 MVT::v4i32, 2, 0, 1,
9271 13,
9272 OPC_CheckChild0Integer, 0|128,117,
9273 OPC_RecordChild1,
9274 OPC_RecordChild2,
9275 OPC_CheckPatternPredicate0,
9276 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_D),
9277 MVT::v2i64, 2, 0, 1,
9278 13,
9279 OPC_CheckChild0Integer, 6|128,117,
9280 OPC_RecordChild1,
9281 OPC_RecordChild2,
9282 OPC_CheckPatternPredicate0,
9283 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_W),
9284 MVT::v4i32, 2, 0, 1,
9285 13,
9286 OPC_CheckChild0Integer, 4|128,117,
9287 OPC_RecordChild1,
9288 OPC_RecordChild2,
9289 OPC_CheckPatternPredicate0,
9290 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_D),
9291 MVT::v2i64, 2, 0, 1,
9292 13,
9293 OPC_CheckChild0Integer, 10|128,117,
9294 OPC_RecordChild1,
9295 OPC_RecordChild2,
9296 OPC_CheckPatternPredicate0,
9297 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_W),
9298 MVT::v4i32, 2, 0, 1,
9299 13,
9300 OPC_CheckChild0Integer, 8|128,117,
9301 OPC_RecordChild1,
9302 OPC_RecordChild2,
9303 OPC_CheckPatternPredicate0,
9304 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_D),
9305 MVT::v2i64, 2, 0, 1,
9306 13,
9307 OPC_CheckChild0Integer, 22|128,117,
9308 OPC_RecordChild1,
9309 OPC_RecordChild2,
9310 OPC_CheckPatternPredicate0,
9311 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_W),
9312 MVT::v4i32, 2, 0, 1,
9313 13,
9314 OPC_CheckChild0Integer, 20|128,117,
9315 OPC_RecordChild1,
9316 OPC_RecordChild2,
9317 OPC_CheckPatternPredicate0,
9318 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_D),
9319 MVT::v2i64, 2, 0, 1,
9320 13,
9321 OPC_CheckChild0Integer, 26|128,117,
9322 OPC_RecordChild1,
9323 OPC_RecordChild2,
9324 OPC_CheckPatternPredicate0,
9325 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_W),
9326 MVT::v4i32, 2, 0, 1,
9327 13,
9328 OPC_CheckChild0Integer, 24|128,117,
9329 OPC_RecordChild1,
9330 OPC_RecordChild2,
9331 OPC_CheckPatternPredicate0,
9332 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_D),
9333 MVT::v2i64, 2, 0, 1,
9334 13,
9335 OPC_CheckChild0Integer, 30|128,117,
9336 OPC_RecordChild1,
9337 OPC_RecordChild2,
9338 OPC_CheckPatternPredicate0,
9339 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_W),
9340 MVT::v4i32, 2, 0, 1,
9341 13,
9342 OPC_CheckChild0Integer, 28|128,117,
9343 OPC_RecordChild1,
9344 OPC_RecordChild2,
9345 OPC_CheckPatternPredicate0,
9346 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_D),
9347 MVT::v2i64, 2, 0, 1,
9348 13,
9349 OPC_CheckChild0Integer, 34|128,117,
9350 OPC_RecordChild1,
9351 OPC_RecordChild2,
9352 OPC_CheckPatternPredicate0,
9353 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_W),
9354 MVT::v4i32, 2, 0, 1,
9355 13,
9356 OPC_CheckChild0Integer, 32|128,117,
9357 OPC_RecordChild1,
9358 OPC_RecordChild2,
9359 OPC_CheckPatternPredicate0,
9360 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_D),
9361 MVT::v2i64, 2, 0, 1,
9362 13,
9363 OPC_CheckChild0Integer, 38|128,117,
9364 OPC_RecordChild1,
9365 OPC_RecordChild2,
9366 OPC_CheckPatternPredicate0,
9367 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_W),
9368 MVT::v4i32, 2, 0, 1,
9369 13,
9370 OPC_CheckChild0Integer, 36|128,117,
9371 OPC_RecordChild1,
9372 OPC_RecordChild2,
9373 OPC_CheckPatternPredicate0,
9374 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_D),
9375 MVT::v2i64, 2, 0, 1,
9376 11,
9377 OPC_CheckChild0Integer, 42|128,117,
9378 OPC_RecordChild1,
9379 OPC_CheckPatternPredicate0,
9380 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_W),
9381 MVT::v4i32, 1, 0,
9382 11,
9383 OPC_CheckChild0Integer, 40|128,117,
9384 OPC_RecordChild1,
9385 OPC_CheckPatternPredicate0,
9386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_D),
9387 MVT::v2i64, 1, 0,
9388 11,
9389 OPC_CheckChild0Integer, 46|128,117,
9390 OPC_RecordChild1,
9391 OPC_CheckPatternPredicate0,
9392 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_W),
9393 MVT::v4i32, 1, 0,
9394 11,
9395 OPC_CheckChild0Integer, 44|128,117,
9396 OPC_RecordChild1,
9397 OPC_CheckPatternPredicate0,
9398 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_D),
9399 MVT::v2i64, 1, 0,
9400 13,
9401 OPC_CheckChild0Integer, 48|128,117,
9402 OPC_RecordChild1,
9403 OPC_RecordChild2,
9404 OPC_CheckPatternPredicate0,
9405 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_H),
9406 MVT::v8i16, 2, 0, 1,
9407 13,
9408 OPC_CheckChild0Integer, 50|128,117,
9409 OPC_RecordChild1,
9410 OPC_RecordChild2,
9411 OPC_CheckPatternPredicate0,
9412 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_W),
9413 MVT::v4i32, 2, 0, 1,
9414 13,
9415 OPC_CheckChild0Integer, 62|128,117,
9416 OPC_RecordChild1,
9417 OPC_RecordChild2,
9418 OPC_CheckPatternPredicate0,
9419 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_H),
9420 MVT::v8i16, 2, 0, 1,
9421 13,
9422 OPC_CheckChild0Integer, 64|128,117,
9423 OPC_RecordChild1,
9424 OPC_RecordChild2,
9425 OPC_CheckPatternPredicate0,
9426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_W),
9427 MVT::v4i32, 2, 0, 1,
9428 13,
9429 OPC_CheckChild0Integer, 60|128,117,
9430 OPC_RecordChild1,
9431 OPC_RecordChild2,
9432 OPC_CheckPatternPredicate0,
9433 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_D),
9434 MVT::v2i64, 2, 0, 1,
9435 13,
9436 OPC_CheckChild0Integer, 68|128,117,
9437 OPC_RecordChild1,
9438 OPC_RecordChild2,
9439 OPC_CheckPatternPredicate0,
9440 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_H),
9441 MVT::v8i16, 2, 0, 1,
9442 13,
9443 OPC_CheckChild0Integer, 70|128,117,
9444 OPC_RecordChild1,
9445 OPC_RecordChild2,
9446 OPC_CheckPatternPredicate0,
9447 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_W),
9448 MVT::v4i32, 2, 0, 1,
9449 13,
9450 OPC_CheckChild0Integer, 66|128,117,
9451 OPC_RecordChild1,
9452 OPC_RecordChild2,
9453 OPC_CheckPatternPredicate0,
9454 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_D),
9455 MVT::v2i64, 2, 0, 1,
9456 13,
9457 OPC_CheckChild0Integer, 74|128,117,
9458 OPC_RecordChild1,
9459 OPC_RecordChild2,
9460 OPC_CheckPatternPredicate0,
9461 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_H),
9462 MVT::v8i16, 2, 0, 1,
9463 13,
9464 OPC_CheckChild0Integer, 76|128,117,
9465 OPC_RecordChild1,
9466 OPC_RecordChild2,
9467 OPC_CheckPatternPredicate0,
9468 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_W),
9469 MVT::v4i32, 2, 0, 1,
9470 13,
9471 OPC_CheckChild0Integer, 72|128,117,
9472 OPC_RecordChild1,
9473 OPC_RecordChild2,
9474 OPC_CheckPatternPredicate0,
9475 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_D),
9476 MVT::v2i64, 2, 0, 1,
9477 13,
9478 OPC_CheckChild0Integer, 80|128,117,
9479 OPC_RecordChild1,
9480 OPC_RecordChild2,
9481 OPC_CheckPatternPredicate0,
9482 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_H),
9483 MVT::v8i16, 2, 0, 1,
9484 13,
9485 OPC_CheckChild0Integer, 82|128,117,
9486 OPC_RecordChild1,
9487 OPC_RecordChild2,
9488 OPC_CheckPatternPredicate0,
9489 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_W),
9490 MVT::v4i32, 2, 0, 1,
9491 13,
9492 OPC_CheckChild0Integer, 78|128,117,
9493 OPC_RecordChild1,
9494 OPC_RecordChild2,
9495 OPC_CheckPatternPredicate0,
9496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_D),
9497 MVT::v2i64, 2, 0, 1,
9498 15,
9499 OPC_CheckChild0Integer, 36|128,118,
9500 OPC_RecordChild1,
9501 OPC_RecordChild2,
9502 OPC_RecordChild3,
9503 OPC_CheckPatternPredicate0,
9504 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_H),
9505 MVT::v8i16, 3, 0, 1, 2,
9506 15,
9507 OPC_CheckChild0Integer, 38|128,118,
9508 OPC_RecordChild1,
9509 OPC_RecordChild2,
9510 OPC_RecordChild3,
9511 OPC_CheckPatternPredicate0,
9512 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_W),
9513 MVT::v4i32, 3, 0, 1, 2,
9514 15,
9515 OPC_CheckChild0Integer, 40|128,118,
9516 OPC_RecordChild1,
9517 OPC_RecordChild2,
9518 OPC_RecordChild3,
9519 OPC_CheckPatternPredicate0,
9520 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_H),
9521 MVT::v8i16, 3, 0, 1, 2,
9522 15,
9523 OPC_CheckChild0Integer, 42|128,118,
9524 OPC_RecordChild1,
9525 OPC_RecordChild2,
9526 OPC_RecordChild3,
9527 OPC_CheckPatternPredicate0,
9528 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_W),
9529 MVT::v4i32, 3, 0, 1, 2,
9530 13,
9531 OPC_CheckChild0Integer, 62|128,118,
9532 OPC_RecordChild1,
9533 OPC_RecordChild2,
9534 OPC_CheckPatternPredicate0,
9535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_B),
9536 MVT::v16i8, 2, 0, 1,
9537 13,
9538 OPC_CheckChild0Integer, 66|128,118,
9539 OPC_RecordChild1,
9540 OPC_RecordChild2,
9541 OPC_CheckPatternPredicate0,
9542 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_H),
9543 MVT::v8i16, 2, 0, 1,
9544 13,
9545 OPC_CheckChild0Integer, 68|128,118,
9546 OPC_RecordChild1,
9547 OPC_RecordChild2,
9548 OPC_CheckPatternPredicate0,
9549 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_W),
9550 MVT::v4i32, 2, 0, 1,
9551 13,
9552 OPC_CheckChild0Integer, 64|128,118,
9553 OPC_RecordChild1,
9554 OPC_RecordChild2,
9555 OPC_CheckPatternPredicate0,
9556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_D),
9557 MVT::v2i64, 2, 0, 1,
9558 13,
9559 OPC_CheckChild0Integer, 102|128,118,
9560 OPC_RecordChild1,
9561 OPC_RecordChild2,
9562 OPC_CheckPatternPredicate0,
9563 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_B),
9564 MVT::v16i8, 2, 0, 1,
9565 13,
9566 OPC_CheckChild0Integer, 106|128,118,
9567 OPC_RecordChild1,
9568 OPC_RecordChild2,
9569 OPC_CheckPatternPredicate0,
9570 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_H),
9571 MVT::v8i16, 2, 0, 1,
9572 13,
9573 OPC_CheckChild0Integer, 108|128,118,
9574 OPC_RecordChild1,
9575 OPC_RecordChild2,
9576 OPC_CheckPatternPredicate0,
9577 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_W),
9578 MVT::v4i32, 2, 0, 1,
9579 13,
9580 OPC_CheckChild0Integer, 104|128,118,
9581 OPC_RecordChild1,
9582 OPC_RecordChild2,
9583 OPC_CheckPatternPredicate0,
9584 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_D),
9585 MVT::v2i64, 2, 0, 1,
9586 15,
9587 OPC_CheckChild0Integer, 36|128,119,
9588 OPC_RecordChild1,
9589 OPC_RecordChild2,
9590 OPC_RecordChild3,
9591 OPC_CheckPatternPredicate0,
9592 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_H),
9593 MVT::v8i16, 3, 0, 1, 2,
9594 15,
9595 OPC_CheckChild0Integer, 38|128,119,
9596 OPC_RecordChild1,
9597 OPC_RecordChild2,
9598 OPC_RecordChild3,
9599 OPC_CheckPatternPredicate0,
9600 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_W),
9601 MVT::v4i32, 3, 0, 1, 2,
9602 15,
9603 OPC_CheckChild0Integer, 40|128,119,
9604 OPC_RecordChild1,
9605 OPC_RecordChild2,
9606 OPC_RecordChild3,
9607 OPC_CheckPatternPredicate0,
9608 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_H),
9609 MVT::v8i16, 3, 0, 1, 2,
9610 15,
9611 OPC_CheckChild0Integer, 42|128,119,
9612 OPC_RecordChild1,
9613 OPC_RecordChild2,
9614 OPC_RecordChild3,
9615 OPC_CheckPatternPredicate0,
9616 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_W),
9617 MVT::v4i32, 3, 0, 1, 2,
9618 13,
9619 OPC_CheckChild0Integer, 58|128,119,
9620 OPC_RecordChild1,
9621 OPC_RecordChild2,
9622 OPC_CheckPatternPredicate0,
9623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_H),
9624 MVT::v8i16, 2, 0, 1,
9625 13,
9626 OPC_CheckChild0Integer, 60|128,119,
9627 OPC_RecordChild1,
9628 OPC_RecordChild2,
9629 OPC_CheckPatternPredicate0,
9630 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_W),
9631 MVT::v4i32, 2, 0, 1,
9632 13,
9633 OPC_CheckChild0Integer, 80|128,119,
9634 OPC_RecordChild1,
9635 OPC_RecordChild2,
9636 OPC_CheckPatternPredicate0,
9637 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_H),
9638 MVT::v8i16, 2, 0, 1,
9639 13,
9640 OPC_CheckChild0Integer, 82|128,119,
9641 OPC_RecordChild1,
9642 OPC_RecordChild2,
9643 OPC_CheckPatternPredicate0,
9644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_W),
9645 MVT::v4i32, 2, 0, 1,
9646 11,
9647 OPC_CheckChild0Integer, 100|128,119,
9648 OPC_RecordChild1,
9649 OPC_CheckPatternPredicate0,
9650 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_B),
9651 MVT::v16i8, 1, 0,
9652 11,
9653 OPC_CheckChild0Integer, 104|128,119,
9654 OPC_RecordChild1,
9655 OPC_CheckPatternPredicate0,
9656 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_H),
9657 MVT::v8i16, 1, 0,
9658 11,
9659 OPC_CheckChild0Integer, 106|128,119,
9660 OPC_RecordChild1,
9661 OPC_CheckPatternPredicate0,
9662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_W),
9663 MVT::v4i32, 1, 0,
9664 11,
9665 OPC_CheckChild0Integer, 102|128,119,
9666 OPC_RecordChild1,
9667 OPC_CheckPatternPredicate0,
9668 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_D),
9669 MVT::v2i64, 1, 0,
9670 15,
9671 OPC_CheckChild0Integer, 116|128,120,
9672 OPC_RecordChild1,
9673 OPC_RecordChild2,
9674 OPC_RecordChild3,
9675 OPC_CheckPatternPredicate0,
9676 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_B),
9677 MVT::v16i8, 3, 0, 1, 2,
9678 15,
9679 OPC_CheckChild0Integer, 120|128,120,
9680 OPC_RecordChild1,
9681 OPC_RecordChild2,
9682 OPC_RecordChild3,
9683 OPC_CheckPatternPredicate0,
9684 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_H),
9685 MVT::v8i16, 3, 0, 1, 2,
9686 15,
9687 OPC_CheckChild0Integer, 122|128,120,
9688 OPC_RecordChild1,
9689 OPC_RecordChild2,
9690 OPC_RecordChild3,
9691 OPC_CheckPatternPredicate0,
9692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_W),
9693 MVT::v4i32, 3, 0, 1, 2,
9694 15,
9695 OPC_CheckChild0Integer, 118|128,120,
9696 OPC_RecordChild1,
9697 OPC_RecordChild2,
9698 OPC_RecordChild3,
9699 OPC_CheckPatternPredicate0,
9700 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_D),
9701 MVT::v2i64, 3, 0, 1, 2,
9702 13,
9703 OPC_CheckChild0Integer, 52|128,121,
9704 OPC_RecordChild1,
9705 OPC_RecordChild2,
9706 OPC_CheckPatternPredicate0,
9707 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_B),
9708 MVT::v16i8, 2, 0, 1,
9709 13,
9710 OPC_CheckChild0Integer, 56|128,121,
9711 OPC_RecordChild1,
9712 OPC_RecordChild2,
9713 OPC_CheckPatternPredicate0,
9714 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_H),
9715 MVT::v8i16, 2, 0, 1,
9716 13,
9717 OPC_CheckChild0Integer, 58|128,121,
9718 OPC_RecordChild1,
9719 OPC_RecordChild2,
9720 OPC_CheckPatternPredicate0,
9721 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_W),
9722 MVT::v4i32, 2, 0, 1,
9723 13,
9724 OPC_CheckChild0Integer, 54|128,121,
9725 OPC_RecordChild1,
9726 OPC_RecordChild2,
9727 OPC_CheckPatternPredicate0,
9728 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_D),
9729 MVT::v2i64, 2, 0, 1,
9730 13,
9731 OPC_CheckChild0Integer, 84|128,121,
9732 OPC_RecordChild1,
9733 OPC_RecordChild2,
9734 OPC_CheckPatternPredicate0,
9735 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_B),
9736 MVT::v16i8, 2, 0, 1,
9737 13,
9738 OPC_CheckChild0Integer, 88|128,121,
9739 OPC_RecordChild1,
9740 OPC_RecordChild2,
9741 OPC_CheckPatternPredicate0,
9742 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_H),
9743 MVT::v8i16, 2, 0, 1,
9744 13,
9745 OPC_CheckChild0Integer, 90|128,121,
9746 OPC_RecordChild1,
9747 OPC_RecordChild2,
9748 OPC_CheckPatternPredicate0,
9749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_W),
9750 MVT::v4i32, 2, 0, 1,
9751 13,
9752 OPC_CheckChild0Integer, 86|128,121,
9753 OPC_RecordChild1,
9754 OPC_RecordChild2,
9755 OPC_CheckPatternPredicate0,
9756 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_D),
9757 MVT::v2i64, 2, 0, 1,
9758 13,
9759 OPC_CheckChild0Integer, 126|128,121,
9760 OPC_RecordChild1,
9761 OPC_RecordChild2,
9762 OPC_CheckPatternPredicate0,
9763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_B),
9764 MVT::v16i8, 2, 0, 1,
9765 13,
9766 OPC_CheckChild0Integer, 2|128,122,
9767 OPC_RecordChild1,
9768 OPC_RecordChild2,
9769 OPC_CheckPatternPredicate0,
9770 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_H),
9771 MVT::v8i16, 2, 0, 1,
9772 13,
9773 OPC_CheckChild0Integer, 4|128,122,
9774 OPC_RecordChild1,
9775 OPC_RecordChild2,
9776 OPC_CheckPatternPredicate0,
9777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_W),
9778 MVT::v4i32, 2, 0, 1,
9779 13,
9780 OPC_CheckChild0Integer, 0|128,122,
9781 OPC_RecordChild1,
9782 OPC_RecordChild2,
9783 OPC_CheckPatternPredicate0,
9784 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_D),
9785 MVT::v2i64, 2, 0, 1,
9786 13,
9787 OPC_CheckChild0Integer, 6|128,122,
9788 OPC_RecordChild1,
9789 OPC_RecordChild2,
9790 OPC_CheckPatternPredicate0,
9791 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_B),
9792 MVT::v16i8, 2, 0, 1,
9793 13,
9794 OPC_CheckChild0Integer, 10|128,122,
9795 OPC_RecordChild1,
9796 OPC_RecordChild2,
9797 OPC_CheckPatternPredicate0,
9798 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_H),
9799 MVT::v8i16, 2, 0, 1,
9800 13,
9801 OPC_CheckChild0Integer, 12|128,122,
9802 OPC_RecordChild1,
9803 OPC_RecordChild2,
9804 OPC_CheckPatternPredicate0,
9805 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_W),
9806 MVT::v4i32, 2, 0, 1,
9807 13,
9808 OPC_CheckChild0Integer, 8|128,122,
9809 OPC_RecordChild1,
9810 OPC_RecordChild2,
9811 OPC_CheckPatternPredicate0,
9812 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_D),
9813 MVT::v2i64, 2, 0, 1,
9814 13,
9815 OPC_CheckChild0Integer, 14|128,122,
9816 OPC_RecordChild1,
9817 OPC_RecordChild2,
9818 OPC_CheckPatternPredicate0,
9819 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_B),
9820 MVT::v16i8, 2, 0, 1,
9821 13,
9822 OPC_CheckChild0Integer, 18|128,122,
9823 OPC_RecordChild1,
9824 OPC_RecordChild2,
9825 OPC_CheckPatternPredicate0,
9826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_H),
9827 MVT::v8i16, 2, 0, 1,
9828 13,
9829 OPC_CheckChild0Integer, 20|128,122,
9830 OPC_RecordChild1,
9831 OPC_RecordChild2,
9832 OPC_CheckPatternPredicate0,
9833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_W),
9834 MVT::v4i32, 2, 0, 1,
9835 13,
9836 OPC_CheckChild0Integer, 16|128,122,
9837 OPC_RecordChild1,
9838 OPC_RecordChild2,
9839 OPC_CheckPatternPredicate0,
9840 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_D),
9841 MVT::v2i64, 2, 0, 1,
9842 13,
9843 OPC_CheckChild0Integer, 22|128,122,
9844 OPC_RecordChild1,
9845 OPC_RecordChild2,
9846 OPC_CheckPatternPredicate0,
9847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_B),
9848 MVT::v16i8, 2, 0, 1,
9849 13,
9850 OPC_CheckChild0Integer, 26|128,122,
9851 OPC_RecordChild1,
9852 OPC_RecordChild2,
9853 OPC_CheckPatternPredicate0,
9854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_H),
9855 MVT::v8i16, 2, 0, 1,
9856 13,
9857 OPC_CheckChild0Integer, 28|128,122,
9858 OPC_RecordChild1,
9859 OPC_RecordChild2,
9860 OPC_CheckPatternPredicate0,
9861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_W),
9862 MVT::v4i32, 2, 0, 1,
9863 13,
9864 OPC_CheckChild0Integer, 24|128,122,
9865 OPC_RecordChild1,
9866 OPC_RecordChild2,
9867 OPC_CheckPatternPredicate0,
9868 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_D),
9869 MVT::v2i64, 2, 0, 1,
9870 13,
9871 OPC_CheckChild0Integer, 32|128,116,
9872 OPC_RecordChild1,
9873 OPC_RecordChild2,
9874 OPC_CheckPatternPredicate0,
9875 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_H),
9876 MVT::v8f16, 2, 0, 1,
9877 13,
9878 OPC_CheckChild0Integer, 34|128,116,
9879 OPC_RecordChild1,
9880 OPC_RecordChild2,
9881 OPC_CheckPatternPredicate0,
9882 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_W),
9883 MVT::v4f32, 2, 0, 1,
9884 11,
9885 OPC_CheckChild0Integer, 42|128,116,
9886 OPC_RecordChild1,
9887 OPC_CheckPatternPredicate0,
9888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_W),
9889 MVT::v4f32, 1, 0,
9890 11,
9891 OPC_CheckChild0Integer, 40|128,116,
9892 OPC_RecordChild1,
9893 OPC_CheckPatternPredicate0,
9894 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_D),
9895 MVT::v2f64, 1, 0,
9896 11,
9897 OPC_CheckChild0Integer, 46|128,116,
9898 OPC_RecordChild1,
9899 OPC_CheckPatternPredicate0,
9900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_W),
9901 MVT::v4f32, 1, 0,
9902 11,
9903 OPC_CheckChild0Integer, 44|128,116,
9904 OPC_RecordChild1,
9905 OPC_CheckPatternPredicate0,
9906 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_D),
9907 MVT::v2f64, 1, 0,
9908 11,
9909 OPC_CheckChild0Integer, 58|128,116,
9910 OPC_RecordChild1,
9911 OPC_CheckPatternPredicate0,
9912 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_W),
9913 MVT::v4f32, 1, 0,
9914 11,
9915 OPC_CheckChild0Integer, 56|128,116,
9916 OPC_RecordChild1,
9917 OPC_CheckPatternPredicate0,
9918 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_D),
9919 MVT::v2f64, 1, 0,
9920 11,
9921 OPC_CheckChild0Integer, 62|128,116,
9922 OPC_RecordChild1,
9923 OPC_CheckPatternPredicate0,
9924 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_W),
9925 MVT::v4f32, 1, 0,
9926 11,
9927 OPC_CheckChild0Integer, 60|128,116,
9928 OPC_RecordChild1,
9929 OPC_CheckPatternPredicate0,
9930 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_D),
9931 MVT::v2f64, 1, 0,
9932 13,
9933 OPC_CheckChild0Integer, 86|128,116,
9934 OPC_RecordChild1,
9935 OPC_RecordChild2,
9936 OPC_CheckPatternPredicate0,
9937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_W),
9938 MVT::v4f32, 2, 0, 1,
9939 13,
9940 OPC_CheckChild0Integer, 84|128,116,
9941 OPC_RecordChild1,
9942 OPC_RecordChild2,
9943 OPC_CheckPatternPredicate0,
9944 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_D),
9945 MVT::v2f64, 2, 0, 1,
9946 13,
9947 OPC_CheckChild0Integer, 82|128,116,
9948 OPC_RecordChild1,
9949 OPC_RecordChild2,
9950 OPC_CheckPatternPredicate0,
9951 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_W),
9952 MVT::v4f32, 2, 0, 1,
9953 13,
9954 OPC_CheckChild0Integer, 80|128,116,
9955 OPC_RecordChild1,
9956 OPC_RecordChild2,
9957 OPC_CheckPatternPredicate0,
9958 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_D),
9959 MVT::v2f64, 2, 0, 1,
9960 13,
9961 OPC_CheckChild0Integer, 94|128,116,
9962 OPC_RecordChild1,
9963 OPC_RecordChild2,
9964 OPC_CheckPatternPredicate0,
9965 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_W),
9966 MVT::v4f32, 2, 0, 1,
9967 13,
9968 OPC_CheckChild0Integer, 92|128,116,
9969 OPC_RecordChild1,
9970 OPC_RecordChild2,
9971 OPC_CheckPatternPredicate0,
9972 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_D),
9973 MVT::v2f64, 2, 0, 1,
9974 13,
9975 OPC_CheckChild0Integer, 90|128,116,
9976 OPC_RecordChild1,
9977 OPC_RecordChild2,
9978 OPC_CheckPatternPredicate0,
9979 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_W),
9980 MVT::v4f32, 2, 0, 1,
9981 13,
9982 OPC_CheckChild0Integer, 88|128,116,
9983 OPC_RecordChild1,
9984 OPC_RecordChild2,
9985 OPC_CheckPatternPredicate0,
9986 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_D),
9987 MVT::v2f64, 2, 0, 1,
9988 11,
9989 OPC_CheckChild0Integer, 106|128,116,
9990 OPC_RecordChild1,
9991 OPC_CheckPatternPredicate0,
9992 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_W),
9993 MVT::v4f32, 1, 0,
9994 11,
9995 OPC_CheckChild0Integer, 104|128,116,
9996 OPC_RecordChild1,
9997 OPC_CheckPatternPredicate0,
9998 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_D),
9999 MVT::v2f64, 1, 0,
10000 11,
10001 OPC_CheckChild0Integer, 114|128,116,
10002 OPC_RecordChild1,
10003 OPC_CheckPatternPredicate0,
10004 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_W),
10005 MVT::v4f32, 1, 0,
10006 11,
10007 OPC_CheckChild0Integer, 112|128,116,
10008 OPC_RecordChild1,
10009 OPC_CheckPatternPredicate0,
10010 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_D),
10011 MVT::v2f64, 1, 0,
10012 0,
10013 102|128,1, TARGET_VAL(ISD::INTRINSIC_VOID),
10014 OPC_RecordNode,
10015 OPC_Scope, 36,
10016 OPC_CheckChild1Integer, 66|128,122,
10017 OPC_RecordChild2,
10018 OPC_RecordChild3,
10019 OPC_MoveChild3,
10020 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10021 OPC_Scope, 12,
10022 OPC_CheckPredicate, 41,
10023 OPC_MoveParent,
10024 OPC_CheckPatternPredicate, 107,
10025 OPC_EmitMergeInputChains1_0,
10026 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP),
10027 2, 1, 2,
10028 11,
10029 OPC_CheckPredicate, 42,
10030 OPC_MoveParent,
10031 OPC_CheckPatternPredicate6,
10032 OPC_EmitMergeInputChains1_0,
10033 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP_MM),
10034 2, 1, 2,
10035 0,
10036 25,
10037 OPC_CheckChild1Integer, 110|128,114,
10038 OPC_RecordChild2,
10039 OPC_RecordChild3,
10040 OPC_Scope, 8,
10041 OPC_CheckPatternPredicate1,
10042 OPC_EmitMergeInputChains1_0,
10043 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB),
10044 2, 1, 2,
10045 8,
10046 OPC_CheckPatternPredicate6,
10047 OPC_EmitMergeInputChains1_0,
10048 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB_MM),
10049 2, 1, 2,
10050 0,
10051 25,
10052 OPC_CheckChild1Integer, 114|128,114,
10053 OPC_RecordChild2,
10054 OPC_RecordChild3,
10055 OPC_Scope, 8,
10056 OPC_CheckPatternPredicate1,
10057 OPC_EmitMergeInputChains1_0,
10058 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB),
10059 2, 1, 2,
10060 8,
10061 OPC_CheckPatternPredicate6,
10062 OPC_EmitMergeInputChains1_0,
10063 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB_MM),
10064 2, 1, 2,
10065 0,
10066 25,
10067 OPC_CheckChild1Integer, 112|128,114,
10068 OPC_RecordChild2,
10069 OPC_RecordChild3,
10070 OPC_Scope, 8,
10071 OPC_CheckPatternPredicate1,
10072 OPC_EmitMergeInputChains1_0,
10073 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB),
10074 2, 1, 2,
10075 8,
10076 OPC_CheckPatternPredicate6,
10077 OPC_EmitMergeInputChains1_0,
10078 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB_MM),
10079 2, 1, 2,
10080 0,
10081 25,
10082 OPC_CheckChild1Integer, 92|128,114,
10083 OPC_RecordChild2,
10084 OPC_RecordChild3,
10085 OPC_Scope, 8,
10086 OPC_CheckPatternPredicate1,
10087 OPC_EmitMergeInputChains1_0,
10088 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH),
10089 2, 1, 2,
10090 8,
10091 OPC_CheckPatternPredicate6,
10092 OPC_EmitMergeInputChains1_0,
10093 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH_MM),
10094 2, 1, 2,
10095 0,
10096 25,
10097 OPC_CheckChild1Integer, 96|128,114,
10098 OPC_RecordChild2,
10099 OPC_RecordChild3,
10100 OPC_Scope, 8,
10101 OPC_CheckPatternPredicate1,
10102 OPC_EmitMergeInputChains1_0,
10103 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH),
10104 2, 1, 2,
10105 8,
10106 OPC_CheckPatternPredicate6,
10107 OPC_EmitMergeInputChains1_0,
10108 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH_MM),
10109 2, 1, 2,
10110 0,
10111 25,
10112 OPC_CheckChild1Integer, 94|128,114,
10113 OPC_RecordChild2,
10114 OPC_RecordChild3,
10115 OPC_Scope, 8,
10116 OPC_CheckPatternPredicate1,
10117 OPC_EmitMergeInputChains1_0,
10118 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH),
10119 2, 1, 2,
10120 8,
10121 OPC_CheckPatternPredicate6,
10122 OPC_EmitMergeInputChains1_0,
10123 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH_MM),
10124 2, 1, 2,
10125 0,
10126 16,
10127 OPC_CheckChild1Integer, 108|128,121,
10128 OPC_RecordChild2,
10129 OPC_RecordChild3,
10130 OPC_RecordChild4,
10131 OPC_CheckPatternPredicate, 10,
10132 OPC_EmitMergeInputChains1_0,
10133 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_D),
10134 3, 1, 2, 3,
10135 16,
10136 OPC_CheckChild1Integer, 110|128,121,
10137 OPC_RecordChild2,
10138 OPC_RecordChild3,
10139 OPC_RecordChild4,
10140 OPC_CheckPatternPredicate, 10,
10141 OPC_EmitMergeInputChains1_0,
10142 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_W),
10143 3, 1, 2, 3,
10144 0,
10145 92|128,14, TARGET_VAL(ISD::XOR),
10146 OPC_Scope, 54,
10147 OPC_MoveChild0,
10148 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
10149 OPC_RecordChild0,
10150 OPC_RecordChild1,
10151 OPC_MoveParent,
10152 OPC_CheckChild1Integer, 3,
10153 OPC_SwitchType , 30, MVT::i32,
10154 OPC_Scope, 8,
10155 OPC_CheckPatternPredicate2,
10156 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
10157 MVT::i32, 2, 0, 1,
10158 9,
10159 OPC_CheckPatternPredicate, 8,
10160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
10161 MVT::i32, 2, 0, 1,
10162 8,
10163 OPC_CheckPatternPredicate7,
10164 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
10165 MVT::i32, 2, 0, 1,
10166 0,
10167 9, MVT::i64,
10168 OPC_CheckPatternPredicate, 18,
10169 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR64),
10170 MVT::i64, 2, 0, 1,
10171 0,
10172 114|128,3,
10173 OPC_RecordChild0,
10174 OPC_Scope, 83,
10175 OPC_CheckChild1Integer, 3,
10176 OPC_CheckTypeI32,
10177 OPC_Scope, 7,
10178 OPC_CheckPatternPredicate7,
10179 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
10180 MVT::i32, 1, 0,
10181 10,
10182 OPC_CheckPatternPredicate2,
10183 OPC_EmitRegisterI32, Mips::ZERO,
10184 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
10185 MVT::i32, 2, 0, 1,
10186 7,
10187 OPC_CheckPatternPredicate5,
10188 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NotRxRy16),
10189 MVT::i32, 1, 0,
10190 8,
10191 OPC_CheckPatternPredicate, 8,
10192 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
10193 MVT::i32, 1, 0,
10194 20,
10195 OPC_CheckPatternPredicate4,
10196 OPC_Scope, 6,
10197 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
10198 MVT::i32, 1, 0,
10199 9,
10200 OPC_EmitRegisterI32, Mips::ZERO,
10201 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
10202 MVT::i32, 2, 0, 1,
10203 0,
10204 20,
10205 OPC_CheckPatternPredicate7,
10206 OPC_Scope, 6,
10207 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
10208 MVT::i32, 1, 0,
10209 9,
10210 OPC_EmitRegisterI32, Mips::ZERO,
10211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
10212 MVT::i32, 2, 0, 1,
10213 0,
10214 0,
10215 11|128,1,
10216 OPC_RecordChild1,
10217 OPC_Scope, 72,
10218 OPC_MoveChild1,
10219 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10220 OPC_Scope, 13,
10221 OPC_CheckPredicate, 34,
10222 OPC_MoveParent,
10223 OPC_CheckTypeI32,
10224 OPC_CheckPatternPredicate2,
10225 OPC_EmitConvertToTarget1,
10226 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
10227 MVT::i32, 2, 0, 2,
10228 51,
10229 OPC_CheckPredicate, 13,
10230 OPC_MoveParent,
10231 OPC_SwitchType , 13, MVT::i64,
10232 OPC_CheckPatternPredicate, 18,
10233 OPC_EmitConvertToTarget1,
10234 OPC_EmitNodeXForm, 3, 2,
10235 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi64),
10236 MVT::i64, 2, 0, 3,
10237 29, MVT::i32,
10238 OPC_Scope, 13,
10239 OPC_CheckPatternPredicate, 8,
10240 OPC_EmitConvertToTarget1,
10241 OPC_EmitNodeXForm, 3, 2,
10242 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
10243 MVT::i32, 2, 0, 3,
10244 12,
10245 OPC_CheckPatternPredicate7,
10246 OPC_EmitConvertToTarget1,
10247 OPC_EmitNodeXForm, 3, 2,
10248 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
10249 MVT::i32, 2, 0, 3,
10250 0,
10251 0,
10252 0,
10253 51,
10254 OPC_CheckTypeI32,
10255 OPC_Scope, 8,
10256 OPC_CheckPatternPredicate2,
10257 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR),
10258 MVT::i32, 2, 0, 1,
10259 8,
10260 OPC_CheckPatternPredicate5,
10261 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
10262 MVT::i32, 2, 0, 1,
10263 20,
10264 OPC_CheckPatternPredicate, 8,
10265 OPC_Scope, 7,
10266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR16_MM),
10267 MVT::i32, 2, 0, 1,
10268 7,
10269 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MM),
10270 MVT::i32, 2, 0, 1,
10271 0,
10272 8,
10273 OPC_CheckPatternPredicate7,
10274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MMR6),
10275 MVT::i32, 2, 0, 1,
10276 0,
10277 10,
10278 OPC_CheckTypeI64,
10279 OPC_CheckPatternPredicate, 18,
10280 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR64),
10281 MVT::i64, 2, 0, 1,
10282 0,
10283 12|128,2,
10284 OPC_MoveChild1,
10285 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10286 OPC_MoveChild0,
10287 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10288 OPC_CheckPredicate, 8,
10289 OPC_MoveSibling1,
10290 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10291 OPC_Scope, 125,
10292 OPC_RecordChild0,
10293 OPC_MoveChild1,
10294 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10295 OPC_MoveChild0,
10296 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10297 OPC_CheckPredicate0,
10298 OPC_CheckTypeI32,
10299 OPC_MoveSibling1,
10300 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10301 OPC_CheckPredicate0,
10302 OPC_CheckTypeI32,
10303 OPC_MoveSibling2,
10304 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10305 OPC_CheckPredicate0,
10306 OPC_CheckTypeI32,
10307 OPC_MoveSibling3,
10308 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10309 OPC_CheckPredicate0,
10310 OPC_CheckTypeI32,
10311 OPC_MoveSibling4,
10312 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10313 OPC_CheckPredicate0,
10314 OPC_CheckTypeI32,
10315 OPC_MoveSibling5,
10316 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10317 OPC_CheckPredicate0,
10318 OPC_CheckTypeI32,
10319 OPC_MoveSibling6,
10320 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10321 OPC_CheckPredicate0,
10322 OPC_CheckTypeI32,
10323 OPC_MoveSibling7,
10324 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10325 OPC_CheckPredicate0,
10326 OPC_CheckTypeI32,
10327 OPC_MoveSibling, 8,
10328 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10329 OPC_CheckPredicate0,
10330 OPC_CheckTypeI32,
10331 OPC_MoveSibling, 9,
10332 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10333 OPC_CheckPredicate0,
10334 OPC_CheckTypeI32,
10335 OPC_MoveSibling, 10,
10336 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10337 OPC_CheckPredicate0,
10338 OPC_CheckTypeI32,
10339 OPC_MoveSibling, 11,
10340 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10341 OPC_CheckPredicate0,
10342 OPC_CheckTypeI32,
10343 OPC_MoveSibling, 12,
10344 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10345 OPC_CheckPredicate0,
10346 OPC_CheckTypeI32,
10347 OPC_MoveSibling, 13,
10348 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10349 OPC_CheckPredicate0,
10350 OPC_CheckTypeI32,
10351 OPC_MoveSibling, 14,
10352 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10353 OPC_CheckPredicate0,
10354 OPC_CheckTypeI32,
10355 OPC_MoveSibling, 15,
10356 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10357 OPC_CheckPredicate0,
10358 OPC_CheckTypeI32,
10359 OPC_MoveParent,
10360 OPC_MoveParent,
10361 OPC_CheckType, MVT::v16i8,
10362 OPC_MoveParent,
10363 OPC_MoveParent,
10364 OPC_CheckType, MVT::v16i8,
10365 OPC_CheckPatternPredicate3,
10366 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
10367 MVT::v16i8, 2, 0, 1,
10368 125,
10369 OPC_MoveChild0,
10370 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10371 OPC_MoveChild0,
10372 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10373 OPC_CheckPredicate0,
10374 OPC_CheckTypeI32,
10375 OPC_MoveSibling1,
10376 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10377 OPC_CheckPredicate0,
10378 OPC_CheckTypeI32,
10379 OPC_MoveSibling2,
10380 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10381 OPC_CheckPredicate0,
10382 OPC_CheckTypeI32,
10383 OPC_MoveSibling3,
10384 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10385 OPC_CheckPredicate0,
10386 OPC_CheckTypeI32,
10387 OPC_MoveSibling4,
10388 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10389 OPC_CheckPredicate0,
10390 OPC_CheckTypeI32,
10391 OPC_MoveSibling5,
10392 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10393 OPC_CheckPredicate0,
10394 OPC_CheckTypeI32,
10395 OPC_MoveSibling6,
10396 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10397 OPC_CheckPredicate0,
10398 OPC_CheckTypeI32,
10399 OPC_MoveSibling7,
10400 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10401 OPC_CheckPredicate0,
10402 OPC_CheckTypeI32,
10403 OPC_MoveSibling, 8,
10404 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10405 OPC_CheckPredicate0,
10406 OPC_CheckTypeI32,
10407 OPC_MoveSibling, 9,
10408 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10409 OPC_CheckPredicate0,
10410 OPC_CheckTypeI32,
10411 OPC_MoveSibling, 10,
10412 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10413 OPC_CheckPredicate0,
10414 OPC_CheckTypeI32,
10415 OPC_MoveSibling, 11,
10416 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10417 OPC_CheckPredicate0,
10418 OPC_CheckTypeI32,
10419 OPC_MoveSibling, 12,
10420 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10421 OPC_CheckPredicate0,
10422 OPC_CheckTypeI32,
10423 OPC_MoveSibling, 13,
10424 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10425 OPC_CheckPredicate0,
10426 OPC_CheckTypeI32,
10427 OPC_MoveSibling, 14,
10428 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10429 OPC_CheckPredicate0,
10430 OPC_CheckTypeI32,
10431 OPC_MoveSibling, 15,
10432 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10433 OPC_CheckPredicate0,
10434 OPC_CheckTypeI32,
10435 OPC_MoveParent,
10436 OPC_MoveParent,
10437 OPC_RecordChild1,
10438 OPC_CheckType, MVT::v16i8,
10439 OPC_MoveParent,
10440 OPC_MoveParent,
10441 OPC_CheckType, MVT::v16i8,
10442 OPC_CheckPatternPredicate3,
10443 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
10444 MVT::v16i8, 2, 0, 1,
10445 0,
10446 0,
10447 14|128,2,
10448 OPC_MoveChild0,
10449 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10450 OPC_MoveChild0,
10451 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10452 OPC_CheckPredicate, 8,
10453 OPC_MoveSibling1,
10454 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10455 OPC_Scope, 126,
10456 OPC_RecordChild0,
10457 OPC_MoveChild1,
10458 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10459 OPC_MoveChild0,
10460 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10461 OPC_CheckPredicate0,
10462 OPC_CheckTypeI32,
10463 OPC_MoveSibling1,
10464 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10465 OPC_CheckPredicate0,
10466 OPC_CheckTypeI32,
10467 OPC_MoveSibling2,
10468 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10469 OPC_CheckPredicate0,
10470 OPC_CheckTypeI32,
10471 OPC_MoveSibling3,
10472 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10473 OPC_CheckPredicate0,
10474 OPC_CheckTypeI32,
10475 OPC_MoveSibling4,
10476 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10477 OPC_CheckPredicate0,
10478 OPC_CheckTypeI32,
10479 OPC_MoveSibling5,
10480 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10481 OPC_CheckPredicate0,
10482 OPC_CheckTypeI32,
10483 OPC_MoveSibling6,
10484 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10485 OPC_CheckPredicate0,
10486 OPC_CheckTypeI32,
10487 OPC_MoveSibling7,
10488 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10489 OPC_CheckPredicate0,
10490 OPC_CheckTypeI32,
10491 OPC_MoveSibling, 8,
10492 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10493 OPC_CheckPredicate0,
10494 OPC_CheckTypeI32,
10495 OPC_MoveSibling, 9,
10496 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10497 OPC_CheckPredicate0,
10498 OPC_CheckTypeI32,
10499 OPC_MoveSibling, 10,
10500 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10501 OPC_CheckPredicate0,
10502 OPC_CheckTypeI32,
10503 OPC_MoveSibling, 11,
10504 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10505 OPC_CheckPredicate0,
10506 OPC_CheckTypeI32,
10507 OPC_MoveSibling, 12,
10508 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10509 OPC_CheckPredicate0,
10510 OPC_CheckTypeI32,
10511 OPC_MoveSibling, 13,
10512 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10513 OPC_CheckPredicate0,
10514 OPC_CheckTypeI32,
10515 OPC_MoveSibling, 14,
10516 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10517 OPC_CheckPredicate0,
10518 OPC_CheckTypeI32,
10519 OPC_MoveSibling, 15,
10520 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10521 OPC_CheckPredicate0,
10522 OPC_CheckTypeI32,
10523 OPC_MoveParent,
10524 OPC_MoveParent,
10525 OPC_CheckType, MVT::v16i8,
10526 OPC_MoveParent,
10527 OPC_MoveParent,
10528 OPC_RecordChild1,
10529 OPC_CheckType, MVT::v16i8,
10530 OPC_CheckPatternPredicate3,
10531 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
10532 MVT::v16i8, 2, 1, 0,
10533 126,
10534 OPC_MoveChild0,
10535 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10536 OPC_MoveChild0,
10537 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10538 OPC_CheckPredicate0,
10539 OPC_CheckTypeI32,
10540 OPC_MoveSibling1,
10541 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10542 OPC_CheckPredicate0,
10543 OPC_CheckTypeI32,
10544 OPC_MoveSibling2,
10545 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10546 OPC_CheckPredicate0,
10547 OPC_CheckTypeI32,
10548 OPC_MoveSibling3,
10549 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10550 OPC_CheckPredicate0,
10551 OPC_CheckTypeI32,
10552 OPC_MoveSibling4,
10553 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10554 OPC_CheckPredicate0,
10555 OPC_CheckTypeI32,
10556 OPC_MoveSibling5,
10557 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10558 OPC_CheckPredicate0,
10559 OPC_CheckTypeI32,
10560 OPC_MoveSibling6,
10561 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10562 OPC_CheckPredicate0,
10563 OPC_CheckTypeI32,
10564 OPC_MoveSibling7,
10565 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10566 OPC_CheckPredicate0,
10567 OPC_CheckTypeI32,
10568 OPC_MoveSibling, 8,
10569 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10570 OPC_CheckPredicate0,
10571 OPC_CheckTypeI32,
10572 OPC_MoveSibling, 9,
10573 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10574 OPC_CheckPredicate0,
10575 OPC_CheckTypeI32,
10576 OPC_MoveSibling, 10,
10577 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10578 OPC_CheckPredicate0,
10579 OPC_CheckTypeI32,
10580 OPC_MoveSibling, 11,
10581 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10582 OPC_CheckPredicate0,
10583 OPC_CheckTypeI32,
10584 OPC_MoveSibling, 12,
10585 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10586 OPC_CheckPredicate0,
10587 OPC_CheckTypeI32,
10588 OPC_MoveSibling, 13,
10589 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10590 OPC_CheckPredicate0,
10591 OPC_CheckTypeI32,
10592 OPC_MoveSibling, 14,
10593 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10594 OPC_CheckPredicate0,
10595 OPC_CheckTypeI32,
10596 OPC_MoveSibling, 15,
10597 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10598 OPC_CheckPredicate0,
10599 OPC_CheckTypeI32,
10600 OPC_MoveParent,
10601 OPC_MoveParent,
10602 OPC_RecordChild1,
10603 OPC_CheckType, MVT::v16i8,
10604 OPC_MoveParent,
10605 OPC_MoveParent,
10606 OPC_RecordChild1,
10607 OPC_CheckType, MVT::v16i8,
10608 OPC_CheckPatternPredicate3,
10609 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
10610 MVT::v16i8, 2, 1, 0,
10611 0,
10612 29|128,1,
10613 OPC_RecordChild0,
10614 OPC_MoveChild1,
10615 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10616 OPC_MoveChild0,
10617 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10618 OPC_CheckPredicate, 8,
10619 OPC_MoveSibling1,
10620 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10621 OPC_Scope, 69,
10622 OPC_RecordChild0,
10623 OPC_MoveChild1,
10624 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10625 OPC_MoveChild0,
10626 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10627 OPC_CheckPredicate1,
10628 OPC_CheckTypeI32,
10629 OPC_MoveSibling1,
10630 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10631 OPC_CheckPredicate1,
10632 OPC_CheckTypeI32,
10633 OPC_MoveSibling2,
10634 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10635 OPC_CheckPredicate1,
10636 OPC_CheckTypeI32,
10637 OPC_MoveSibling3,
10638 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10639 OPC_CheckPredicate1,
10640 OPC_CheckTypeI32,
10641 OPC_MoveSibling4,
10642 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10643 OPC_CheckPredicate1,
10644 OPC_CheckTypeI32,
10645 OPC_MoveSibling5,
10646 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10647 OPC_CheckPredicate1,
10648 OPC_CheckTypeI32,
10649 OPC_MoveSibling6,
10650 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10651 OPC_CheckPredicate1,
10652 OPC_CheckTypeI32,
10653 OPC_MoveSibling7,
10654 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10655 OPC_CheckPredicate1,
10656 OPC_CheckTypeI32,
10657 OPC_MoveParent,
10658 OPC_MoveParent,
10659 OPC_CheckType, MVT::v8i16,
10660 OPC_MoveParent,
10661 OPC_MoveParent,
10662 OPC_CheckType, MVT::v8i16,
10663 OPC_CheckPatternPredicate3,
10664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
10665 MVT::v8i16, 2, 0, 1,
10666 69,
10667 OPC_MoveChild0,
10668 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10669 OPC_MoveChild0,
10670 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10671 OPC_CheckPredicate1,
10672 OPC_CheckTypeI32,
10673 OPC_MoveSibling1,
10674 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10675 OPC_CheckPredicate1,
10676 OPC_CheckTypeI32,
10677 OPC_MoveSibling2,
10678 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10679 OPC_CheckPredicate1,
10680 OPC_CheckTypeI32,
10681 OPC_MoveSibling3,
10682 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10683 OPC_CheckPredicate1,
10684 OPC_CheckTypeI32,
10685 OPC_MoveSibling4,
10686 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10687 OPC_CheckPredicate1,
10688 OPC_CheckTypeI32,
10689 OPC_MoveSibling5,
10690 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10691 OPC_CheckPredicate1,
10692 OPC_CheckTypeI32,
10693 OPC_MoveSibling6,
10694 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10695 OPC_CheckPredicate1,
10696 OPC_CheckTypeI32,
10697 OPC_MoveSibling7,
10698 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10699 OPC_CheckPredicate1,
10700 OPC_CheckTypeI32,
10701 OPC_MoveParent,
10702 OPC_MoveParent,
10703 OPC_RecordChild1,
10704 OPC_CheckType, MVT::v8i16,
10705 OPC_MoveParent,
10706 OPC_MoveParent,
10707 OPC_CheckType, MVT::v8i16,
10708 OPC_CheckPatternPredicate3,
10709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
10710 MVT::v8i16, 2, 0, 1,
10711 0,
10712 30|128,1,
10713 OPC_MoveChild0,
10714 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10715 OPC_MoveChild0,
10716 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10717 OPC_CheckPredicate, 8,
10718 OPC_MoveSibling1,
10719 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10720 OPC_Scope, 70,
10721 OPC_RecordChild0,
10722 OPC_MoveChild1,
10723 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10724 OPC_MoveChild0,
10725 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10726 OPC_CheckPredicate1,
10727 OPC_CheckTypeI32,
10728 OPC_MoveSibling1,
10729 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10730 OPC_CheckPredicate1,
10731 OPC_CheckTypeI32,
10732 OPC_MoveSibling2,
10733 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10734 OPC_CheckPredicate1,
10735 OPC_CheckTypeI32,
10736 OPC_MoveSibling3,
10737 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10738 OPC_CheckPredicate1,
10739 OPC_CheckTypeI32,
10740 OPC_MoveSibling4,
10741 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10742 OPC_CheckPredicate1,
10743 OPC_CheckTypeI32,
10744 OPC_MoveSibling5,
10745 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10746 OPC_CheckPredicate1,
10747 OPC_CheckTypeI32,
10748 OPC_MoveSibling6,
10749 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10750 OPC_CheckPredicate1,
10751 OPC_CheckTypeI32,
10752 OPC_MoveSibling7,
10753 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10754 OPC_CheckPredicate1,
10755 OPC_CheckTypeI32,
10756 OPC_MoveParent,
10757 OPC_MoveParent,
10758 OPC_CheckType, MVT::v8i16,
10759 OPC_MoveParent,
10760 OPC_MoveParent,
10761 OPC_RecordChild1,
10762 OPC_CheckType, MVT::v8i16,
10763 OPC_CheckPatternPredicate3,
10764 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
10765 MVT::v8i16, 2, 1, 0,
10766 70,
10767 OPC_MoveChild0,
10768 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10769 OPC_MoveChild0,
10770 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10771 OPC_CheckPredicate1,
10772 OPC_CheckTypeI32,
10773 OPC_MoveSibling1,
10774 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10775 OPC_CheckPredicate1,
10776 OPC_CheckTypeI32,
10777 OPC_MoveSibling2,
10778 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10779 OPC_CheckPredicate1,
10780 OPC_CheckTypeI32,
10781 OPC_MoveSibling3,
10782 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10783 OPC_CheckPredicate1,
10784 OPC_CheckTypeI32,
10785 OPC_MoveSibling4,
10786 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10787 OPC_CheckPredicate1,
10788 OPC_CheckTypeI32,
10789 OPC_MoveSibling5,
10790 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10791 OPC_CheckPredicate1,
10792 OPC_CheckTypeI32,
10793 OPC_MoveSibling6,
10794 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10795 OPC_CheckPredicate1,
10796 OPC_CheckTypeI32,
10797 OPC_MoveSibling7,
10798 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10799 OPC_CheckPredicate1,
10800 OPC_CheckTypeI32,
10801 OPC_MoveParent,
10802 OPC_MoveParent,
10803 OPC_RecordChild1,
10804 OPC_CheckType, MVT::v8i16,
10805 OPC_MoveParent,
10806 OPC_MoveParent,
10807 OPC_RecordChild1,
10808 OPC_CheckType, MVT::v8i16,
10809 OPC_CheckPatternPredicate3,
10810 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
10811 MVT::v8i16, 2, 1, 0,
10812 0,
10813 109,
10814 OPC_RecordChild0,
10815 OPC_MoveChild1,
10816 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10817 OPC_MoveChild0,
10818 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10819 OPC_CheckPredicate, 8,
10820 OPC_MoveSibling1,
10821 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10822 OPC_Scope, 45,
10823 OPC_RecordChild0,
10824 OPC_MoveChild1,
10825 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10826 OPC_MoveChild0,
10827 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10828 OPC_CheckPredicate2,
10829 OPC_CheckTypeI32,
10830 OPC_MoveSibling1,
10831 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10832 OPC_CheckPredicate2,
10833 OPC_CheckTypeI32,
10834 OPC_MoveSibling2,
10835 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10836 OPC_CheckPredicate2,
10837 OPC_CheckTypeI32,
10838 OPC_MoveSibling3,
10839 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10840 OPC_CheckPredicate2,
10841 OPC_CheckTypeI32,
10842 OPC_MoveParent,
10843 OPC_MoveParent,
10844 OPC_CheckType, MVT::v4i32,
10845 OPC_MoveParent,
10846 OPC_MoveParent,
10847 OPC_CheckType, MVT::v4i32,
10848 OPC_CheckPatternPredicate3,
10849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
10850 MVT::v4i32, 2, 0, 1,
10851 45,
10852 OPC_MoveChild0,
10853 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10854 OPC_MoveChild0,
10855 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10856 OPC_CheckPredicate2,
10857 OPC_CheckTypeI32,
10858 OPC_MoveSibling1,
10859 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10860 OPC_CheckPredicate2,
10861 OPC_CheckTypeI32,
10862 OPC_MoveSibling2,
10863 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10864 OPC_CheckPredicate2,
10865 OPC_CheckTypeI32,
10866 OPC_MoveSibling3,
10867 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10868 OPC_CheckPredicate2,
10869 OPC_CheckTypeI32,
10870 OPC_MoveParent,
10871 OPC_MoveParent,
10872 OPC_RecordChild1,
10873 OPC_CheckType, MVT::v4i32,
10874 OPC_MoveParent,
10875 OPC_MoveParent,
10876 OPC_CheckType, MVT::v4i32,
10877 OPC_CheckPatternPredicate3,
10878 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
10879 MVT::v4i32, 2, 0, 1,
10880 0,
10881 110,
10882 OPC_MoveChild0,
10883 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10884 OPC_MoveChild0,
10885 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10886 OPC_CheckPredicate, 8,
10887 OPC_MoveSibling1,
10888 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10889 OPC_Scope, 46,
10890 OPC_RecordChild0,
10891 OPC_MoveChild1,
10892 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10893 OPC_MoveChild0,
10894 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10895 OPC_CheckPredicate2,
10896 OPC_CheckTypeI32,
10897 OPC_MoveSibling1,
10898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10899 OPC_CheckPredicate2,
10900 OPC_CheckTypeI32,
10901 OPC_MoveSibling2,
10902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10903 OPC_CheckPredicate2,
10904 OPC_CheckTypeI32,
10905 OPC_MoveSibling3,
10906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10907 OPC_CheckPredicate2,
10908 OPC_CheckTypeI32,
10909 OPC_MoveParent,
10910 OPC_MoveParent,
10911 OPC_CheckType, MVT::v4i32,
10912 OPC_MoveParent,
10913 OPC_MoveParent,
10914 OPC_RecordChild1,
10915 OPC_CheckType, MVT::v4i32,
10916 OPC_CheckPatternPredicate3,
10917 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
10918 MVT::v4i32, 2, 1, 0,
10919 46,
10920 OPC_MoveChild0,
10921 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10922 OPC_MoveChild0,
10923 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10924 OPC_CheckPredicate2,
10925 OPC_CheckTypeI32,
10926 OPC_MoveSibling1,
10927 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10928 OPC_CheckPredicate2,
10929 OPC_CheckTypeI32,
10930 OPC_MoveSibling2,
10931 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10932 OPC_CheckPredicate2,
10933 OPC_CheckTypeI32,
10934 OPC_MoveSibling3,
10935 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10936 OPC_CheckPredicate2,
10937 OPC_CheckTypeI32,
10938 OPC_MoveParent,
10939 OPC_MoveParent,
10940 OPC_RecordChild1,
10941 OPC_CheckType, MVT::v4i32,
10942 OPC_MoveParent,
10943 OPC_MoveParent,
10944 OPC_RecordChild1,
10945 OPC_CheckType, MVT::v4i32,
10946 OPC_CheckPatternPredicate3,
10947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
10948 MVT::v4i32, 2, 1, 0,
10949 0,
10950 84,
10951 OPC_RecordChild0,
10952 OPC_MoveChild1,
10953 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10954 OPC_MoveChild0,
10955 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
10956 OPC_MoveChild0,
10957 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10958 OPC_CheckType, MVT::v4i32,
10959 OPC_MoveParent,
10960 OPC_CheckPredicate, 20,
10961 OPC_MoveSibling1,
10962 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10963 OPC_Scope, 29,
10964 OPC_RecordChild0,
10965 OPC_MoveChild1,
10966 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
10967 OPC_MoveChild0,
10968 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10969 OPC_CheckType, MVT::v4i32,
10970 OPC_MoveParent,
10971 OPC_CheckPredicate, 14,
10972 OPC_MoveParent,
10973 OPC_CheckType, MVT::v2i64,
10974 OPC_MoveParent,
10975 OPC_MoveParent,
10976 OPC_CheckType, MVT::v2i64,
10977 OPC_CheckPatternPredicate3,
10978 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
10979 MVT::v2i64, 2, 0, 1,
10980 29,
10981 OPC_MoveChild0,
10982 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
10983 OPC_MoveChild0,
10984 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10985 OPC_CheckType, MVT::v4i32,
10986 OPC_MoveParent,
10987 OPC_CheckPredicate, 14,
10988 OPC_MoveParent,
10989 OPC_RecordChild1,
10990 OPC_CheckType, MVT::v2i64,
10991 OPC_MoveParent,
10992 OPC_MoveParent,
10993 OPC_CheckType, MVT::v2i64,
10994 OPC_CheckPatternPredicate3,
10995 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
10996 MVT::v2i64, 2, 0, 1,
10997 0,
10998 85,
10999 OPC_MoveChild0,
11000 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11001 OPC_MoveChild0,
11002 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11003 OPC_MoveChild0,
11004 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11005 OPC_CheckType, MVT::v4i32,
11006 OPC_MoveParent,
11007 OPC_CheckPredicate, 20,
11008 OPC_MoveSibling1,
11009 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11010 OPC_Scope, 30,
11011 OPC_RecordChild0,
11012 OPC_MoveChild1,
11013 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11014 OPC_MoveChild0,
11015 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11016 OPC_CheckType, MVT::v4i32,
11017 OPC_MoveParent,
11018 OPC_CheckPredicate, 14,
11019 OPC_MoveParent,
11020 OPC_CheckType, MVT::v2i64,
11021 OPC_MoveParent,
11022 OPC_MoveParent,
11023 OPC_RecordChild1,
11024 OPC_CheckType, MVT::v2i64,
11025 OPC_CheckPatternPredicate3,
11026 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
11027 MVT::v2i64, 2, 1, 0,
11028 30,
11029 OPC_MoveChild0,
11030 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11031 OPC_MoveChild0,
11032 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11033 OPC_CheckType, MVT::v4i32,
11034 OPC_MoveParent,
11035 OPC_CheckPredicate, 14,
11036 OPC_MoveParent,
11037 OPC_RecordChild1,
11038 OPC_CheckType, MVT::v2i64,
11039 OPC_MoveParent,
11040 OPC_MoveParent,
11041 OPC_RecordChild1,
11042 OPC_CheckType, MVT::v2i64,
11043 OPC_CheckPatternPredicate3,
11044 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
11045 MVT::v2i64, 2, 1, 0,
11046 0,
11047 33,
11048 OPC_RecordChild0,
11049 OPC_MoveChild1,
11050 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11051 OPC_MoveChild0,
11052 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11053 OPC_MoveChild0,
11054 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11055 OPC_CheckType, MVT::v4i32,
11056 OPC_MoveParent,
11057 OPC_CheckPredicate, 20,
11058 OPC_MoveParent,
11059 OPC_RecordChild1,
11060 OPC_CheckChild1Type, MVT::v2i64,
11061 OPC_MoveParent,
11062 OPC_CheckType, MVT::v2i64,
11063 OPC_CheckPatternPredicate0,
11064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
11065 MVT::v2i64, 2, 0, 1,
11066 33,
11067 OPC_MoveChild0,
11068 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11069 OPC_MoveChild0,
11070 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11071 OPC_MoveChild0,
11072 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11073 OPC_CheckType, MVT::v4i32,
11074 OPC_MoveParent,
11075 OPC_CheckPredicate, 20,
11076 OPC_MoveParent,
11077 OPC_RecordChild1,
11078 OPC_CheckChild1Type, MVT::v2i64,
11079 OPC_MoveParent,
11080 OPC_RecordChild1,
11081 OPC_CheckType, MVT::v2i64,
11082 OPC_CheckPatternPredicate0,
11083 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
11084 MVT::v2i64, 2, 1, 0,
11085 57,
11086 OPC_RecordChild0,
11087 OPC_MoveChild1,
11088 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11089 OPC_MoveChild0,
11090 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11091 OPC_CheckPredicate, 8,
11092 OPC_MoveParent,
11093 OPC_RecordChild1,
11094 OPC_Scope, 13,
11095 OPC_CheckChild1Type, MVT::v16i8,
11096 OPC_MoveParent,
11097 OPC_CheckType, MVT::v16i8,
11098 OPC_CheckPatternPredicate0,
11099 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
11100 MVT::v16i8, 2, 0, 1,
11101 13,
11102 OPC_CheckChild1Type, MVT::v8i16,
11103 OPC_MoveParent,
11104 OPC_CheckType, MVT::v8i16,
11105 OPC_CheckPatternPredicate0,
11106 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
11107 MVT::v8i16, 2, 0, 1,
11108 13,
11109 OPC_CheckChild1Type, MVT::v4i32,
11110 OPC_MoveParent,
11111 OPC_CheckType, MVT::v4i32,
11112 OPC_CheckPatternPredicate0,
11113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
11114 MVT::v4i32, 2, 0, 1,
11115 0,
11116 59,
11117 OPC_MoveChild0,
11118 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11119 OPC_MoveChild0,
11120 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11121 OPC_CheckPredicate, 8,
11122 OPC_MoveParent,
11123 OPC_RecordChild1,
11124 OPC_Scope, 14,
11125 OPC_CheckChild1Type, MVT::v16i8,
11126 OPC_MoveParent,
11127 OPC_RecordChild1,
11128 OPC_CheckType, MVT::v16i8,
11129 OPC_CheckPatternPredicate0,
11130 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
11131 MVT::v16i8, 2, 1, 0,
11132 14,
11133 OPC_CheckChild1Type, MVT::v8i16,
11134 OPC_MoveParent,
11135 OPC_RecordChild1,
11136 OPC_CheckType, MVT::v8i16,
11137 OPC_CheckPatternPredicate0,
11138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
11139 MVT::v8i16, 2, 1, 0,
11140 14,
11141 OPC_CheckChild1Type, MVT::v4i32,
11142 OPC_MoveParent,
11143 OPC_RecordChild1,
11144 OPC_CheckType, MVT::v4i32,
11145 OPC_CheckPatternPredicate0,
11146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
11147 MVT::v4i32, 2, 1, 0,
11148 0,
11149 28|128,1,
11150 OPC_RecordChild0,
11151 OPC_RecordChild1,
11152 OPC_SwitchType , 51, MVT::v16i8,
11153 OPC_CheckPatternPredicate0,
11154 OPC_Scope, 9,
11155 OPC_CheckComplexPat3, /*#*/1,
11156 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
11157 MVT::v16i8, 2, 0, 2,
11158 9,
11159 OPC_CheckComplexPat5, /*#*/1,
11160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
11161 MVT::v16i8, 2, 0, 2,
11162 9,
11163 OPC_CheckComplexPat3, /*#*/0,
11164 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
11165 MVT::v16i8, 2, 1, 2,
11166 9,
11167 OPC_CheckComplexPat5, /*#*/0,
11168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
11169 MVT::v16i8, 2, 1, 2,
11170 7,
11171 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V),
11172 MVT::v16i8, 2, 0, 1,
11173 0,
11174 31, MVT::v8i16,
11175 OPC_CheckPatternPredicate0,
11176 OPC_Scope, 9,
11177 OPC_CheckComplexPat3, /*#*/1,
11178 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
11179 MVT::v8i16, 2, 0, 2,
11180 9,
11181 OPC_CheckComplexPat3, /*#*/0,
11182 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
11183 MVT::v8i16, 2, 1, 2,
11184 7,
11185 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_H_PSEUDO),
11186 MVT::v8i16, 2, 0, 1,
11187 0,
11188 31, MVT::v4i32,
11189 OPC_CheckPatternPredicate0,
11190 OPC_Scope, 9,
11191 OPC_CheckComplexPat3, /*#*/1,
11192 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
11193 MVT::v4i32, 2, 0, 2,
11194 9,
11195 OPC_CheckComplexPat3, /*#*/0,
11196 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
11197 MVT::v4i32, 2, 1, 2,
11198 7,
11199 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_W_PSEUDO),
11200 MVT::v4i32, 2, 0, 1,
11201 0,
11202 31, MVT::v2i64,
11203 OPC_CheckPatternPredicate0,
11204 OPC_Scope, 9,
11205 OPC_CheckComplexPat3, /*#*/1,
11206 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
11207 MVT::v2i64, 2, 0, 2,
11208 9,
11209 OPC_CheckComplexPat3, /*#*/0,
11210 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
11211 MVT::v2i64, 2, 1, 2,
11212 7,
11213 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_D_PSEUDO),
11214 MVT::v2i64, 2, 0, 1,
11215 0,
11216 0,
11217 0,
11218 42|128,1, TARGET_VAL(ISD::CTLZ),
11219 OPC_Scope, 65,
11220 OPC_MoveChild0,
11221 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11222 OPC_RecordChild0,
11223 OPC_CheckChild1Integer, 3,
11224 OPC_SwitchType , 30, MVT::i32,
11225 OPC_MoveParent,
11226 OPC_CheckTypeI32,
11227 OPC_Scope, 8,
11228 OPC_CheckPatternPredicate, 53,
11229 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO),
11230 MVT::i32, 1, 0,
11231 8,
11232 OPC_CheckPatternPredicate, 87,
11233 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_R6),
11234 MVT::i32, 1, 0,
11235 7,
11236 OPC_CheckPatternPredicate4,
11237 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_MM),
11238 MVT::i32, 1, 0,
11239 0,
11240 22, MVT::i64,
11241 OPC_MoveParent,
11242 OPC_CheckTypeI64,
11243 OPC_Scope, 8,
11244 OPC_CheckPatternPredicate, 88,
11245 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO),
11246 MVT::i64, 1, 0,
11247 8,
11248 OPC_CheckPatternPredicate, 36,
11249 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO_R6),
11250 MVT::i64, 1, 0,
11251 0,
11252 0,
11253 101,
11254 OPC_RecordChild0,
11255 OPC_SwitchType , 29, MVT::i32,
11256 OPC_CheckChild0TypeI32,
11257 OPC_Scope, 8,
11258 OPC_CheckPatternPredicate, 53,
11259 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ),
11260 MVT::i32, 1, 0,
11261 8,
11262 OPC_CheckPatternPredicate, 87,
11263 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_R6),
11264 MVT::i32, 1, 0,
11265 7,
11266 OPC_CheckPatternPredicate4,
11267 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_MM),
11268 MVT::i32, 1, 0,
11269 0,
11270 21, MVT::i64,
11271 OPC_CheckChild0TypeI64,
11272 OPC_Scope, 8,
11273 OPC_CheckPatternPredicate, 88,
11274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ),
11275 MVT::i64, 1, 0,
11276 8,
11277 OPC_CheckPatternPredicate, 36,
11278 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ_R6),
11279 MVT::i64, 1, 0,
11280 0,
11281 9, MVT::v16i8,
11282 OPC_CheckChild0Type, MVT::v16i8,
11283 OPC_CheckPatternPredicate0,
11284 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_B),
11285 MVT::v16i8, 1, 0,
11286 9, MVT::v8i16,
11287 OPC_CheckChild0Type, MVT::v8i16,
11288 OPC_CheckPatternPredicate0,
11289 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_H),
11290 MVT::v8i16, 1, 0,
11291 9, MVT::v4i32,
11292 OPC_CheckChild0Type, MVT::v4i32,
11293 OPC_CheckPatternPredicate0,
11294 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_W),
11295 MVT::v4i32, 1, 0,
11296 9, MVT::v2i64,
11297 OPC_CheckChild0Type, MVT::v2i64,
11298 OPC_CheckPatternPredicate0,
11299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_D),
11300 MVT::v2i64, 1, 0,
11301 0,
11302 0,
11303 6|128,1, TARGET_VAL(MipsISD::Ext),
11304 OPC_RecordChild0,
11305 OPC_RecordChild1,
11306 OPC_MoveChild1,
11307 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11308 OPC_Scope, 59,
11309 OPC_CheckPredicate3,
11310 OPC_MoveSibling2,
11311 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11312 OPC_RecordNode,
11313 OPC_Scope, 33,
11314 OPC_CheckPredicate, 35,
11315 OPC_MoveParent,
11316 OPC_SwitchType , 12, MVT::i32,
11317 OPC_CheckPatternPredicate, 41,
11318 OPC_EmitConvertToTarget1,
11319 OPC_EmitConvertToTarget2,
11320 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT),
11321 MVT::i32, 3, 0, 3, 4,
11322 12, MVT::i64,
11323 OPC_CheckPatternPredicate, 45,
11324 OPC_EmitConvertToTarget1,
11325 OPC_EmitConvertToTarget2,
11326 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT),
11327 MVT::i64, 3, 0, 3, 4,
11328 0,
11329 16,
11330 OPC_CheckPredicate, 53,
11331 OPC_MoveParent,
11332 OPC_CheckTypeI64,
11333 OPC_CheckPatternPredicate, 45,
11334 OPC_EmitConvertToTarget1,
11335 OPC_EmitConvertToTarget2,
11336 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTM),
11337 MVT::i64, 3, 0, 3, 4,
11338 0,
11339 23,
11340 OPC_CheckPredicate, 44,
11341 OPC_MoveSibling2,
11342 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11343 OPC_RecordNode,
11344 OPC_CheckPredicate, 35,
11345 OPC_MoveParent,
11346 OPC_CheckTypeI64,
11347 OPC_CheckPatternPredicate, 45,
11348 OPC_EmitConvertToTarget1,
11349 OPC_EmitConvertToTarget2,
11350 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTU),
11351 MVT::i64, 3, 0, 3, 4,
11352 22,
11353 OPC_CheckPredicate3,
11354 OPC_MoveSibling2,
11355 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11356 OPC_RecordNode,
11357 OPC_CheckPredicate, 35,
11358 OPC_MoveParent,
11359 OPC_CheckTypeI32,
11360 OPC_CheckPatternPredicate, 8,
11361 OPC_EmitConvertToTarget1,
11362 OPC_EmitConvertToTarget2,
11363 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MM),
11364 MVT::i32, 3, 0, 3, 4,
11365 18,
11366 OPC_MoveSibling2,
11367 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11368 OPC_RecordNode,
11369 OPC_MoveParent,
11370 OPC_CheckTypeI32,
11371 OPC_CheckPatternPredicate7,
11372 OPC_EmitConvertToTarget1,
11373 OPC_EmitConvertToTarget2,
11374 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MMR6),
11375 MVT::i32, 3, 0, 3, 4,
11376 0,
11377 6|128,15, TARGET_VAL(ISD::AND),
11378 OPC_Scope, 20,
11379 OPC_CheckAndImm, 127|128,1,
11380 OPC_MoveChild0,
11381 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
11382 OPC_RecordChild0,
11383 OPC_RecordChild1,
11384 OPC_MoveParent,
11385 OPC_CheckTypeI64,
11386 OPC_CheckPatternPredicate, 25,
11387 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BADDu),
11388 MVT::i64, 2, 0, 1,
11389 70|128,3,
11390 OPC_RecordChild0,
11391 OPC_Scope, 39|128,1,
11392 OPC_RecordChild1,
11393 OPC_Scope, 100,
11394 OPC_MoveChild1,
11395 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11396 OPC_Scope, 13,
11397 OPC_CheckPredicate, 34,
11398 OPC_MoveParent,
11399 OPC_CheckTypeI32,
11400 OPC_CheckPatternPredicate2,
11401 OPC_EmitConvertToTarget1,
11402 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi),
11403 MVT::i32, 2, 0, 2,
11404 17,
11405 OPC_CheckPredicate, 13,
11406 OPC_MoveParent,
11407 OPC_CheckTypeI64,
11408 OPC_CheckPatternPredicate, 18,
11409 OPC_EmitConvertToTarget1,
11410 OPC_EmitNodeXForm, 3, 2,
11411 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi64),
11412 MVT::i64, 2, 0, 3,
11413 13,
11414 OPC_CheckPredicate, 45,
11415 OPC_MoveParent,
11416 OPC_CheckTypeI32,
11417 OPC_CheckPatternPredicate4,
11418 OPC_EmitConvertToTarget1,
11419 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MM),
11420 MVT::i32, 2, 0, 2,
11421 16,
11422 OPC_CheckPredicate, 13,
11423 OPC_MoveParent,
11424 OPC_CheckTypeI32,
11425 OPC_CheckPatternPredicate4,
11426 OPC_EmitConvertToTarget1,
11427 OPC_EmitNodeXForm, 3, 2,
11428 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi_MM),
11429 MVT::i32, 2, 0, 3,
11430 13,
11431 OPC_CheckPredicate, 45,
11432 OPC_MoveParent,
11433 OPC_CheckTypeI32,
11434 OPC_CheckPatternPredicate7,
11435 OPC_EmitConvertToTarget1,
11436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MMR6),
11437 MVT::i32, 2, 0, 2,
11438 16,
11439 OPC_CheckPredicate, 13,
11440 OPC_MoveParent,
11441 OPC_CheckTypeI32,
11442 OPC_CheckPatternPredicate7,
11443 OPC_EmitConvertToTarget1,
11444 OPC_EmitNodeXForm, 3, 2,
11445 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_MMR6),
11446 MVT::i32, 2, 0, 3,
11447 0,
11448 51,
11449 OPC_CheckTypeI32,
11450 OPC_Scope, 8,
11451 OPC_CheckPatternPredicate2,
11452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND),
11453 MVT::i32, 2, 0, 1,
11454 8,
11455 OPC_CheckPatternPredicate5,
11456 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AndRxRxRy16),
11457 MVT::i32, 2, 0, 1,
11458 20,
11459 OPC_CheckPatternPredicate, 8,
11460 OPC_Scope, 7,
11461 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND16_MM),
11462 MVT::i32, 2, 0, 1,
11463 7,
11464 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MM),
11465 MVT::i32, 2, 0, 1,
11466 0,
11467 8,
11468 OPC_CheckPatternPredicate7,
11469 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MMR6),
11470 MVT::i32, 2, 0, 1,
11471 0,
11472 10,
11473 OPC_CheckTypeI64,
11474 OPC_CheckPatternPredicate, 18,
11475 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND64),
11476 MVT::i64, 2, 0, 1,
11477 0,
11478 24|128,2,
11479 OPC_MoveChild1,
11480 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11481 OPC_MoveChild0,
11482 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11483 OPC_MoveChild0,
11484 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11485 OPC_CheckPredicate, 8,
11486 OPC_MoveSibling1,
11487 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11488 OPC_Scope, 0|128,1,
11489 OPC_RecordChild0,
11490 OPC_MoveChild1,
11491 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11492 OPC_MoveChild0,
11493 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11494 OPC_CheckPredicate0,
11495 OPC_CheckTypeI32,
11496 OPC_MoveSibling1,
11497 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11498 OPC_CheckPredicate0,
11499 OPC_CheckTypeI32,
11500 OPC_MoveSibling2,
11501 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11502 OPC_CheckPredicate0,
11503 OPC_CheckTypeI32,
11504 OPC_MoveSibling3,
11505 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11506 OPC_CheckPredicate0,
11507 OPC_CheckTypeI32,
11508 OPC_MoveSibling4,
11509 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11510 OPC_CheckPredicate0,
11511 OPC_CheckTypeI32,
11512 OPC_MoveSibling5,
11513 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11514 OPC_CheckPredicate0,
11515 OPC_CheckTypeI32,
11516 OPC_MoveSibling6,
11517 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11518 OPC_CheckPredicate0,
11519 OPC_CheckTypeI32,
11520 OPC_MoveSibling7,
11521 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11522 OPC_CheckPredicate0,
11523 OPC_CheckTypeI32,
11524 OPC_MoveSibling, 8,
11525 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11526 OPC_CheckPredicate0,
11527 OPC_CheckTypeI32,
11528 OPC_MoveSibling, 9,
11529 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11530 OPC_CheckPredicate0,
11531 OPC_CheckTypeI32,
11532 OPC_MoveSibling, 10,
11533 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11534 OPC_CheckPredicate0,
11535 OPC_CheckTypeI32,
11536 OPC_MoveSibling, 11,
11537 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11538 OPC_CheckPredicate0,
11539 OPC_CheckTypeI32,
11540 OPC_MoveSibling, 12,
11541 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11542 OPC_CheckPredicate0,
11543 OPC_CheckTypeI32,
11544 OPC_MoveSibling, 13,
11545 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11546 OPC_CheckPredicate0,
11547 OPC_CheckTypeI32,
11548 OPC_MoveSibling, 14,
11549 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11550 OPC_CheckPredicate0,
11551 OPC_CheckTypeI32,
11552 OPC_MoveSibling, 15,
11553 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11554 OPC_CheckPredicate0,
11555 OPC_CheckTypeI32,
11556 OPC_MoveParent,
11557 OPC_MoveParent,
11558 OPC_CheckType, MVT::v16i8,
11559 OPC_MoveParent,
11560 OPC_MoveSibling1,
11561 OPC_CheckImmAllOnesV,
11562 OPC_MoveParent,
11563 OPC_MoveParent,
11564 OPC_CheckType, MVT::v16i8,
11565 OPC_CheckPatternPredicate3,
11566 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
11567 MVT::v16i8, 2, 0, 1,
11568 0|128,1,
11569 OPC_MoveChild0,
11570 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11571 OPC_MoveChild0,
11572 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11573 OPC_CheckPredicate0,
11574 OPC_CheckTypeI32,
11575 OPC_MoveSibling1,
11576 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11577 OPC_CheckPredicate0,
11578 OPC_CheckTypeI32,
11579 OPC_MoveSibling2,
11580 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11581 OPC_CheckPredicate0,
11582 OPC_CheckTypeI32,
11583 OPC_MoveSibling3,
11584 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11585 OPC_CheckPredicate0,
11586 OPC_CheckTypeI32,
11587 OPC_MoveSibling4,
11588 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11589 OPC_CheckPredicate0,
11590 OPC_CheckTypeI32,
11591 OPC_MoveSibling5,
11592 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11593 OPC_CheckPredicate0,
11594 OPC_CheckTypeI32,
11595 OPC_MoveSibling6,
11596 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11597 OPC_CheckPredicate0,
11598 OPC_CheckTypeI32,
11599 OPC_MoveSibling7,
11600 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11601 OPC_CheckPredicate0,
11602 OPC_CheckTypeI32,
11603 OPC_MoveSibling, 8,
11604 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11605 OPC_CheckPredicate0,
11606 OPC_CheckTypeI32,
11607 OPC_MoveSibling, 9,
11608 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11609 OPC_CheckPredicate0,
11610 OPC_CheckTypeI32,
11611 OPC_MoveSibling, 10,
11612 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11613 OPC_CheckPredicate0,
11614 OPC_CheckTypeI32,
11615 OPC_MoveSibling, 11,
11616 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11617 OPC_CheckPredicate0,
11618 OPC_CheckTypeI32,
11619 OPC_MoveSibling, 12,
11620 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11621 OPC_CheckPredicate0,
11622 OPC_CheckTypeI32,
11623 OPC_MoveSibling, 13,
11624 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11625 OPC_CheckPredicate0,
11626 OPC_CheckTypeI32,
11627 OPC_MoveSibling, 14,
11628 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11629 OPC_CheckPredicate0,
11630 OPC_CheckTypeI32,
11631 OPC_MoveSibling, 15,
11632 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11633 OPC_CheckPredicate0,
11634 OPC_CheckTypeI32,
11635 OPC_MoveParent,
11636 OPC_MoveParent,
11637 OPC_RecordChild1,
11638 OPC_CheckType, MVT::v16i8,
11639 OPC_MoveParent,
11640 OPC_MoveSibling1,
11641 OPC_CheckImmAllOnesV,
11642 OPC_MoveParent,
11643 OPC_MoveParent,
11644 OPC_CheckType, MVT::v16i8,
11645 OPC_CheckPatternPredicate3,
11646 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
11647 MVT::v16i8, 2, 0, 1,
11648 0,
11649 0,
11650 26|128,2,
11651 OPC_MoveChild0,
11652 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11653 OPC_MoveChild0,
11654 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11655 OPC_MoveChild0,
11656 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11657 OPC_CheckPredicate, 8,
11658 OPC_MoveSibling1,
11659 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11660 OPC_Scope, 1|128,1,
11661 OPC_RecordChild0,
11662 OPC_MoveChild1,
11663 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11664 OPC_MoveChild0,
11665 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11666 OPC_CheckPredicate0,
11667 OPC_CheckTypeI32,
11668 OPC_MoveSibling1,
11669 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11670 OPC_CheckPredicate0,
11671 OPC_CheckTypeI32,
11672 OPC_MoveSibling2,
11673 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11674 OPC_CheckPredicate0,
11675 OPC_CheckTypeI32,
11676 OPC_MoveSibling3,
11677 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11678 OPC_CheckPredicate0,
11679 OPC_CheckTypeI32,
11680 OPC_MoveSibling4,
11681 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11682 OPC_CheckPredicate0,
11683 OPC_CheckTypeI32,
11684 OPC_MoveSibling5,
11685 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11686 OPC_CheckPredicate0,
11687 OPC_CheckTypeI32,
11688 OPC_MoveSibling6,
11689 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11690 OPC_CheckPredicate0,
11691 OPC_CheckTypeI32,
11692 OPC_MoveSibling7,
11693 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11694 OPC_CheckPredicate0,
11695 OPC_CheckTypeI32,
11696 OPC_MoveSibling, 8,
11697 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11698 OPC_CheckPredicate0,
11699 OPC_CheckTypeI32,
11700 OPC_MoveSibling, 9,
11701 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11702 OPC_CheckPredicate0,
11703 OPC_CheckTypeI32,
11704 OPC_MoveSibling, 10,
11705 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11706 OPC_CheckPredicate0,
11707 OPC_CheckTypeI32,
11708 OPC_MoveSibling, 11,
11709 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11710 OPC_CheckPredicate0,
11711 OPC_CheckTypeI32,
11712 OPC_MoveSibling, 12,
11713 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11714 OPC_CheckPredicate0,
11715 OPC_CheckTypeI32,
11716 OPC_MoveSibling, 13,
11717 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11718 OPC_CheckPredicate0,
11719 OPC_CheckTypeI32,
11720 OPC_MoveSibling, 14,
11721 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11722 OPC_CheckPredicate0,
11723 OPC_CheckTypeI32,
11724 OPC_MoveSibling, 15,
11725 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11726 OPC_CheckPredicate0,
11727 OPC_CheckTypeI32,
11728 OPC_MoveParent,
11729 OPC_MoveParent,
11730 OPC_CheckType, MVT::v16i8,
11731 OPC_MoveParent,
11732 OPC_MoveSibling1,
11733 OPC_CheckImmAllOnesV,
11734 OPC_MoveParent,
11735 OPC_MoveParent,
11736 OPC_RecordChild1,
11737 OPC_CheckType, MVT::v16i8,
11738 OPC_CheckPatternPredicate3,
11739 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
11740 MVT::v16i8, 2, 1, 0,
11741 1|128,1,
11742 OPC_MoveChild0,
11743 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11744 OPC_MoveChild0,
11745 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11746 OPC_CheckPredicate0,
11747 OPC_CheckTypeI32,
11748 OPC_MoveSibling1,
11749 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11750 OPC_CheckPredicate0,
11751 OPC_CheckTypeI32,
11752 OPC_MoveSibling2,
11753 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11754 OPC_CheckPredicate0,
11755 OPC_CheckTypeI32,
11756 OPC_MoveSibling3,
11757 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11758 OPC_CheckPredicate0,
11759 OPC_CheckTypeI32,
11760 OPC_MoveSibling4,
11761 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11762 OPC_CheckPredicate0,
11763 OPC_CheckTypeI32,
11764 OPC_MoveSibling5,
11765 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11766 OPC_CheckPredicate0,
11767 OPC_CheckTypeI32,
11768 OPC_MoveSibling6,
11769 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11770 OPC_CheckPredicate0,
11771 OPC_CheckTypeI32,
11772 OPC_MoveSibling7,
11773 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11774 OPC_CheckPredicate0,
11775 OPC_CheckTypeI32,
11776 OPC_MoveSibling, 8,
11777 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11778 OPC_CheckPredicate0,
11779 OPC_CheckTypeI32,
11780 OPC_MoveSibling, 9,
11781 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11782 OPC_CheckPredicate0,
11783 OPC_CheckTypeI32,
11784 OPC_MoveSibling, 10,
11785 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11786 OPC_CheckPredicate0,
11787 OPC_CheckTypeI32,
11788 OPC_MoveSibling, 11,
11789 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11790 OPC_CheckPredicate0,
11791 OPC_CheckTypeI32,
11792 OPC_MoveSibling, 12,
11793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11794 OPC_CheckPredicate0,
11795 OPC_CheckTypeI32,
11796 OPC_MoveSibling, 13,
11797 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11798 OPC_CheckPredicate0,
11799 OPC_CheckTypeI32,
11800 OPC_MoveSibling, 14,
11801 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11802 OPC_CheckPredicate0,
11803 OPC_CheckTypeI32,
11804 OPC_MoveSibling, 15,
11805 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11806 OPC_CheckPredicate0,
11807 OPC_CheckTypeI32,
11808 OPC_MoveParent,
11809 OPC_MoveParent,
11810 OPC_RecordChild1,
11811 OPC_CheckType, MVT::v16i8,
11812 OPC_MoveParent,
11813 OPC_MoveSibling1,
11814 OPC_CheckImmAllOnesV,
11815 OPC_MoveParent,
11816 OPC_MoveParent,
11817 OPC_RecordChild1,
11818 OPC_CheckType, MVT::v16i8,
11819 OPC_CheckPatternPredicate3,
11820 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
11821 MVT::v16i8, 2, 1, 0,
11822 0,
11823 39|128,1,
11824 OPC_RecordChild0,
11825 OPC_MoveChild1,
11826 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11827 OPC_MoveChild0,
11828 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11829 OPC_MoveChild0,
11830 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11831 OPC_CheckPredicate, 8,
11832 OPC_MoveSibling1,
11833 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11834 OPC_Scope, 72,
11835 OPC_RecordChild0,
11836 OPC_MoveChild1,
11837 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11838 OPC_MoveChild0,
11839 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11840 OPC_CheckPredicate1,
11841 OPC_CheckTypeI32,
11842 OPC_MoveSibling1,
11843 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11844 OPC_CheckPredicate1,
11845 OPC_CheckTypeI32,
11846 OPC_MoveSibling2,
11847 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11848 OPC_CheckPredicate1,
11849 OPC_CheckTypeI32,
11850 OPC_MoveSibling3,
11851 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11852 OPC_CheckPredicate1,
11853 OPC_CheckTypeI32,
11854 OPC_MoveSibling4,
11855 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11856 OPC_CheckPredicate1,
11857 OPC_CheckTypeI32,
11858 OPC_MoveSibling5,
11859 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11860 OPC_CheckPredicate1,
11861 OPC_CheckTypeI32,
11862 OPC_MoveSibling6,
11863 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11864 OPC_CheckPredicate1,
11865 OPC_CheckTypeI32,
11866 OPC_MoveSibling7,
11867 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11868 OPC_CheckPredicate1,
11869 OPC_CheckTypeI32,
11870 OPC_MoveParent,
11871 OPC_MoveParent,
11872 OPC_CheckType, MVT::v8i16,
11873 OPC_MoveParent,
11874 OPC_MoveSibling1,
11875 OPC_CheckImmAllOnesV,
11876 OPC_MoveParent,
11877 OPC_MoveParent,
11878 OPC_CheckType, MVT::v8i16,
11879 OPC_CheckPatternPredicate3,
11880 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
11881 MVT::v8i16, 2, 0, 1,
11882 72,
11883 OPC_MoveChild0,
11884 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11885 OPC_MoveChild0,
11886 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11887 OPC_CheckPredicate1,
11888 OPC_CheckTypeI32,
11889 OPC_MoveSibling1,
11890 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11891 OPC_CheckPredicate1,
11892 OPC_CheckTypeI32,
11893 OPC_MoveSibling2,
11894 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11895 OPC_CheckPredicate1,
11896 OPC_CheckTypeI32,
11897 OPC_MoveSibling3,
11898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11899 OPC_CheckPredicate1,
11900 OPC_CheckTypeI32,
11901 OPC_MoveSibling4,
11902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11903 OPC_CheckPredicate1,
11904 OPC_CheckTypeI32,
11905 OPC_MoveSibling5,
11906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11907 OPC_CheckPredicate1,
11908 OPC_CheckTypeI32,
11909 OPC_MoveSibling6,
11910 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11911 OPC_CheckPredicate1,
11912 OPC_CheckTypeI32,
11913 OPC_MoveSibling7,
11914 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11915 OPC_CheckPredicate1,
11916 OPC_CheckTypeI32,
11917 OPC_MoveParent,
11918 OPC_MoveParent,
11919 OPC_RecordChild1,
11920 OPC_CheckType, MVT::v8i16,
11921 OPC_MoveParent,
11922 OPC_MoveSibling1,
11923 OPC_CheckImmAllOnesV,
11924 OPC_MoveParent,
11925 OPC_MoveParent,
11926 OPC_CheckType, MVT::v8i16,
11927 OPC_CheckPatternPredicate3,
11928 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
11929 MVT::v8i16, 2, 0, 1,
11930 0,
11931 40|128,1,
11932 OPC_MoveChild0,
11933 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11934 OPC_MoveChild0,
11935 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11936 OPC_MoveChild0,
11937 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11938 OPC_CheckPredicate, 8,
11939 OPC_MoveSibling1,
11940 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11941 OPC_Scope, 73,
11942 OPC_RecordChild0,
11943 OPC_MoveChild1,
11944 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11945 OPC_MoveChild0,
11946 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11947 OPC_CheckPredicate1,
11948 OPC_CheckTypeI32,
11949 OPC_MoveSibling1,
11950 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11951 OPC_CheckPredicate1,
11952 OPC_CheckTypeI32,
11953 OPC_MoveSibling2,
11954 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11955 OPC_CheckPredicate1,
11956 OPC_CheckTypeI32,
11957 OPC_MoveSibling3,
11958 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11959 OPC_CheckPredicate1,
11960 OPC_CheckTypeI32,
11961 OPC_MoveSibling4,
11962 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11963 OPC_CheckPredicate1,
11964 OPC_CheckTypeI32,
11965 OPC_MoveSibling5,
11966 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11967 OPC_CheckPredicate1,
11968 OPC_CheckTypeI32,
11969 OPC_MoveSibling6,
11970 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11971 OPC_CheckPredicate1,
11972 OPC_CheckTypeI32,
11973 OPC_MoveSibling7,
11974 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11975 OPC_CheckPredicate1,
11976 OPC_CheckTypeI32,
11977 OPC_MoveParent,
11978 OPC_MoveParent,
11979 OPC_CheckType, MVT::v8i16,
11980 OPC_MoveParent,
11981 OPC_MoveSibling1,
11982 OPC_CheckImmAllOnesV,
11983 OPC_MoveParent,
11984 OPC_MoveParent,
11985 OPC_RecordChild1,
11986 OPC_CheckType, MVT::v8i16,
11987 OPC_CheckPatternPredicate3,
11988 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
11989 MVT::v8i16, 2, 1, 0,
11990 73,
11991 OPC_MoveChild0,
11992 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11993 OPC_MoveChild0,
11994 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11995 OPC_CheckPredicate1,
11996 OPC_CheckTypeI32,
11997 OPC_MoveSibling1,
11998 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11999 OPC_CheckPredicate1,
12000 OPC_CheckTypeI32,
12001 OPC_MoveSibling2,
12002 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12003 OPC_CheckPredicate1,
12004 OPC_CheckTypeI32,
12005 OPC_MoveSibling3,
12006 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12007 OPC_CheckPredicate1,
12008 OPC_CheckTypeI32,
12009 OPC_MoveSibling4,
12010 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12011 OPC_CheckPredicate1,
12012 OPC_CheckTypeI32,
12013 OPC_MoveSibling5,
12014 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12015 OPC_CheckPredicate1,
12016 OPC_CheckTypeI32,
12017 OPC_MoveSibling6,
12018 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12019 OPC_CheckPredicate1,
12020 OPC_CheckTypeI32,
12021 OPC_MoveSibling7,
12022 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12023 OPC_CheckPredicate1,
12024 OPC_CheckTypeI32,
12025 OPC_MoveParent,
12026 OPC_MoveParent,
12027 OPC_RecordChild1,
12028 OPC_CheckType, MVT::v8i16,
12029 OPC_MoveParent,
12030 OPC_MoveSibling1,
12031 OPC_CheckImmAllOnesV,
12032 OPC_MoveParent,
12033 OPC_MoveParent,
12034 OPC_RecordChild1,
12035 OPC_CheckType, MVT::v8i16,
12036 OPC_CheckPatternPredicate3,
12037 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
12038 MVT::v8i16, 2, 1, 0,
12039 0,
12040 119,
12041 OPC_RecordChild0,
12042 OPC_MoveChild1,
12043 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12044 OPC_MoveChild0,
12045 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12046 OPC_MoveChild0,
12047 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12048 OPC_CheckPredicate, 8,
12049 OPC_MoveSibling1,
12050 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12051 OPC_Scope, 48,
12052 OPC_RecordChild0,
12053 OPC_MoveChild1,
12054 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12055 OPC_MoveChild0,
12056 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12057 OPC_CheckPredicate2,
12058 OPC_CheckTypeI32,
12059 OPC_MoveSibling1,
12060 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12061 OPC_CheckPredicate2,
12062 OPC_CheckTypeI32,
12063 OPC_MoveSibling2,
12064 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12065 OPC_CheckPredicate2,
12066 OPC_CheckTypeI32,
12067 OPC_MoveSibling3,
12068 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12069 OPC_CheckPredicate2,
12070 OPC_CheckTypeI32,
12071 OPC_MoveParent,
12072 OPC_MoveParent,
12073 OPC_CheckType, MVT::v4i32,
12074 OPC_MoveParent,
12075 OPC_MoveSibling1,
12076 OPC_CheckImmAllOnesV,
12077 OPC_MoveParent,
12078 OPC_MoveParent,
12079 OPC_CheckType, MVT::v4i32,
12080 OPC_CheckPatternPredicate3,
12081 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12082 MVT::v4i32, 2, 0, 1,
12083 48,
12084 OPC_MoveChild0,
12085 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12086 OPC_MoveChild0,
12087 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12088 OPC_CheckPredicate2,
12089 OPC_CheckTypeI32,
12090 OPC_MoveSibling1,
12091 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12092 OPC_CheckPredicate2,
12093 OPC_CheckTypeI32,
12094 OPC_MoveSibling2,
12095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12096 OPC_CheckPredicate2,
12097 OPC_CheckTypeI32,
12098 OPC_MoveSibling3,
12099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12100 OPC_CheckPredicate2,
12101 OPC_CheckTypeI32,
12102 OPC_MoveParent,
12103 OPC_MoveParent,
12104 OPC_RecordChild1,
12105 OPC_CheckType, MVT::v4i32,
12106 OPC_MoveParent,
12107 OPC_MoveSibling1,
12108 OPC_CheckImmAllOnesV,
12109 OPC_MoveParent,
12110 OPC_MoveParent,
12111 OPC_CheckType, MVT::v4i32,
12112 OPC_CheckPatternPredicate3,
12113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12114 MVT::v4i32, 2, 0, 1,
12115 0,
12116 120,
12117 OPC_MoveChild0,
12118 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12119 OPC_MoveChild0,
12120 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12121 OPC_MoveChild0,
12122 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12123 OPC_CheckPredicate, 8,
12124 OPC_MoveSibling1,
12125 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12126 OPC_Scope, 49,
12127 OPC_RecordChild0,
12128 OPC_MoveChild1,
12129 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12130 OPC_MoveChild0,
12131 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12132 OPC_CheckPredicate2,
12133 OPC_CheckTypeI32,
12134 OPC_MoveSibling1,
12135 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12136 OPC_CheckPredicate2,
12137 OPC_CheckTypeI32,
12138 OPC_MoveSibling2,
12139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12140 OPC_CheckPredicate2,
12141 OPC_CheckTypeI32,
12142 OPC_MoveSibling3,
12143 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12144 OPC_CheckPredicate2,
12145 OPC_CheckTypeI32,
12146 OPC_MoveParent,
12147 OPC_MoveParent,
12148 OPC_CheckType, MVT::v4i32,
12149 OPC_MoveParent,
12150 OPC_MoveSibling1,
12151 OPC_CheckImmAllOnesV,
12152 OPC_MoveParent,
12153 OPC_MoveParent,
12154 OPC_RecordChild1,
12155 OPC_CheckType, MVT::v4i32,
12156 OPC_CheckPatternPredicate3,
12157 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12158 MVT::v4i32, 2, 1, 0,
12159 49,
12160 OPC_MoveChild0,
12161 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12162 OPC_MoveChild0,
12163 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12164 OPC_CheckPredicate2,
12165 OPC_CheckTypeI32,
12166 OPC_MoveSibling1,
12167 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12168 OPC_CheckPredicate2,
12169 OPC_CheckTypeI32,
12170 OPC_MoveSibling2,
12171 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12172 OPC_CheckPredicate2,
12173 OPC_CheckTypeI32,
12174 OPC_MoveSibling3,
12175 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12176 OPC_CheckPredicate2,
12177 OPC_CheckTypeI32,
12178 OPC_MoveParent,
12179 OPC_MoveParent,
12180 OPC_RecordChild1,
12181 OPC_CheckType, MVT::v4i32,
12182 OPC_MoveParent,
12183 OPC_MoveSibling1,
12184 OPC_CheckImmAllOnesV,
12185 OPC_MoveParent,
12186 OPC_MoveParent,
12187 OPC_RecordChild1,
12188 OPC_CheckType, MVT::v4i32,
12189 OPC_CheckPatternPredicate3,
12190 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12191 MVT::v4i32, 2, 1, 0,
12192 0,
12193 94,
12194 OPC_RecordChild0,
12195 OPC_MoveChild1,
12196 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12197 OPC_MoveChild0,
12198 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12199 OPC_MoveChild0,
12200 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12201 OPC_MoveChild0,
12202 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12203 OPC_CheckType, MVT::v4i32,
12204 OPC_MoveParent,
12205 OPC_CheckPredicate, 20,
12206 OPC_MoveSibling1,
12207 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12208 OPC_Scope, 32,
12209 OPC_RecordChild0,
12210 OPC_MoveChild1,
12211 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12212 OPC_MoveChild0,
12213 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12214 OPC_CheckType, MVT::v4i32,
12215 OPC_MoveParent,
12216 OPC_CheckPredicate, 14,
12217 OPC_MoveParent,
12218 OPC_CheckType, MVT::v2i64,
12219 OPC_MoveParent,
12220 OPC_MoveSibling1,
12221 OPC_CheckImmAllOnesV,
12222 OPC_MoveParent,
12223 OPC_MoveParent,
12224 OPC_CheckType, MVT::v2i64,
12225 OPC_CheckPatternPredicate3,
12226 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12227 MVT::v2i64, 2, 0, 1,
12228 32,
12229 OPC_MoveChild0,
12230 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12231 OPC_MoveChild0,
12232 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12233 OPC_CheckType, MVT::v4i32,
12234 OPC_MoveParent,
12235 OPC_CheckPredicate, 14,
12236 OPC_MoveParent,
12237 OPC_RecordChild1,
12238 OPC_CheckType, MVT::v2i64,
12239 OPC_MoveParent,
12240 OPC_MoveSibling1,
12241 OPC_CheckImmAllOnesV,
12242 OPC_MoveParent,
12243 OPC_MoveParent,
12244 OPC_CheckType, MVT::v2i64,
12245 OPC_CheckPatternPredicate3,
12246 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12247 MVT::v2i64, 2, 0, 1,
12248 0,
12249 95,
12250 OPC_MoveChild0,
12251 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12252 OPC_MoveChild0,
12253 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12254 OPC_MoveChild0,
12255 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12256 OPC_MoveChild0,
12257 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12258 OPC_CheckType, MVT::v4i32,
12259 OPC_MoveParent,
12260 OPC_CheckPredicate, 20,
12261 OPC_MoveSibling1,
12262 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12263 OPC_Scope, 33,
12264 OPC_RecordChild0,
12265 OPC_MoveChild1,
12266 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12267 OPC_MoveChild0,
12268 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12269 OPC_CheckType, MVT::v4i32,
12270 OPC_MoveParent,
12271 OPC_CheckPredicate, 14,
12272 OPC_MoveParent,
12273 OPC_CheckType, MVT::v2i64,
12274 OPC_MoveParent,
12275 OPC_MoveSibling1,
12276 OPC_CheckImmAllOnesV,
12277 OPC_MoveParent,
12278 OPC_MoveParent,
12279 OPC_RecordChild1,
12280 OPC_CheckType, MVT::v2i64,
12281 OPC_CheckPatternPredicate3,
12282 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12283 MVT::v2i64, 2, 1, 0,
12284 33,
12285 OPC_MoveChild0,
12286 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12287 OPC_MoveChild0,
12288 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12289 OPC_CheckType, MVT::v4i32,
12290 OPC_MoveParent,
12291 OPC_CheckPredicate, 14,
12292 OPC_MoveParent,
12293 OPC_RecordChild1,
12294 OPC_CheckType, MVT::v2i64,
12295 OPC_MoveParent,
12296 OPC_MoveSibling1,
12297 OPC_CheckImmAllOnesV,
12298 OPC_MoveParent,
12299 OPC_MoveParent,
12300 OPC_RecordChild1,
12301 OPC_CheckType, MVT::v2i64,
12302 OPC_CheckPatternPredicate3,
12303 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12304 MVT::v2i64, 2, 1, 0,
12305 0,
12306 40,
12307 OPC_RecordChild0,
12308 OPC_MoveChild1,
12309 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12310 OPC_MoveChild0,
12311 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12312 OPC_MoveChild0,
12313 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12314 OPC_MoveChild0,
12315 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12316 OPC_CheckType, MVT::v4i32,
12317 OPC_MoveParent,
12318 OPC_CheckPredicate, 20,
12319 OPC_MoveParent,
12320 OPC_RecordChild1,
12321 OPC_CheckChild1Type, MVT::v2i64,
12322 OPC_MoveSibling1,
12323 OPC_CheckImmAllOnesV,
12324 OPC_MoveParent,
12325 OPC_MoveParent,
12326 OPC_CheckType, MVT::v2i64,
12327 OPC_CheckPatternPredicate0,
12328 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12329 MVT::v2i64, 2, 0, 1,
12330 40,
12331 OPC_MoveChild0,
12332 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12333 OPC_MoveChild0,
12334 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12335 OPC_MoveChild0,
12336 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12337 OPC_MoveChild0,
12338 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12339 OPC_CheckType, MVT::v4i32,
12340 OPC_MoveParent,
12341 OPC_CheckPredicate, 20,
12342 OPC_MoveParent,
12343 OPC_RecordChild1,
12344 OPC_CheckChild1Type, MVT::v2i64,
12345 OPC_MoveSibling1,
12346 OPC_CheckImmAllOnesV,
12347 OPC_MoveParent,
12348 OPC_MoveParent,
12349 OPC_RecordChild1,
12350 OPC_CheckType, MVT::v2i64,
12351 OPC_CheckPatternPredicate0,
12352 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12353 MVT::v2i64, 2, 1, 0,
12354 70,
12355 OPC_RecordChild0,
12356 OPC_MoveChild1,
12357 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12358 OPC_MoveChild0,
12359 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12360 OPC_MoveChild0,
12361 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12362 OPC_CheckPredicate, 8,
12363 OPC_MoveParent,
12364 OPC_RecordChild1,
12365 OPC_Scope, 16,
12366 OPC_CheckChild1Type, MVT::v16i8,
12367 OPC_MoveSibling1,
12368 OPC_CheckImmAllOnesV,
12369 OPC_MoveParent,
12370 OPC_MoveParent,
12371 OPC_CheckType, MVT::v16i8,
12372 OPC_CheckPatternPredicate0,
12373 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
12374 MVT::v16i8, 2, 0, 1,
12375 16,
12376 OPC_CheckChild1Type, MVT::v8i16,
12377 OPC_MoveSibling1,
12378 OPC_CheckImmAllOnesV,
12379 OPC_MoveParent,
12380 OPC_MoveParent,
12381 OPC_CheckType, MVT::v8i16,
12382 OPC_CheckPatternPredicate0,
12383 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
12384 MVT::v8i16, 2, 0, 1,
12385 16,
12386 OPC_CheckChild1Type, MVT::v4i32,
12387 OPC_MoveSibling1,
12388 OPC_CheckImmAllOnesV,
12389 OPC_MoveParent,
12390 OPC_MoveParent,
12391 OPC_CheckType, MVT::v4i32,
12392 OPC_CheckPatternPredicate0,
12393 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12394 MVT::v4i32, 2, 0, 1,
12395 0,
12396 72,
12397 OPC_MoveChild0,
12398 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12399 OPC_MoveChild0,
12400 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12401 OPC_MoveChild0,
12402 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12403 OPC_CheckPredicate, 8,
12404 OPC_MoveParent,
12405 OPC_RecordChild1,
12406 OPC_Scope, 17,
12407 OPC_CheckChild1Type, MVT::v16i8,
12408 OPC_MoveSibling1,
12409 OPC_CheckImmAllOnesV,
12410 OPC_MoveParent,
12411 OPC_MoveParent,
12412 OPC_RecordChild1,
12413 OPC_CheckType, MVT::v16i8,
12414 OPC_CheckPatternPredicate0,
12415 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
12416 MVT::v16i8, 2, 1, 0,
12417 17,
12418 OPC_CheckChild1Type, MVT::v8i16,
12419 OPC_MoveSibling1,
12420 OPC_CheckImmAllOnesV,
12421 OPC_MoveParent,
12422 OPC_MoveParent,
12423 OPC_RecordChild1,
12424 OPC_CheckType, MVT::v8i16,
12425 OPC_CheckPatternPredicate0,
12426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
12427 MVT::v8i16, 2, 1, 0,
12428 17,
12429 OPC_CheckChild1Type, MVT::v4i32,
12430 OPC_MoveSibling1,
12431 OPC_CheckImmAllOnesV,
12432 OPC_MoveParent,
12433 OPC_MoveParent,
12434 OPC_RecordChild1,
12435 OPC_CheckType, MVT::v4i32,
12436 OPC_CheckPatternPredicate0,
12437 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12438 MVT::v4i32, 2, 1, 0,
12439 0,
12440 36|128,1,
12441 OPC_RecordChild0,
12442 OPC_RecordChild1,
12443 OPC_SwitchType , 53, MVT::v16i8,
12444 OPC_CheckPatternPredicate0,
12445 OPC_Scope, 9,
12446 OPC_CheckComplexPat5, /*#*/1,
12447 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
12448 MVT::v16i8, 2, 0, 2,
12449 10,
12450 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
12451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
12452 MVT::v16i8, 2, 0, 2,
12453 9,
12454 OPC_CheckComplexPat5, /*#*/0,
12455 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
12456 MVT::v16i8, 2, 1, 2,
12457 10,
12458 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12459 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
12460 MVT::v16i8, 2, 1, 2,
12461 7,
12462 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V),
12463 MVT::v16i8, 2, 0, 1,
12464 0,
12465 33, MVT::v8i16,
12466 OPC_CheckPatternPredicate0,
12467 OPC_Scope, 10,
12468 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
12469 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
12470 MVT::v8i16, 2, 0, 2,
12471 10,
12472 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12473 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
12474 MVT::v8i16, 2, 1, 2,
12475 7,
12476 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_H_PSEUDO),
12477 MVT::v8i16, 2, 0, 1,
12478 0,
12479 33, MVT::v4i32,
12480 OPC_CheckPatternPredicate0,
12481 OPC_Scope, 10,
12482 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
12483 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
12484 MVT::v4i32, 2, 0, 2,
12485 10,
12486 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12487 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
12488 MVT::v4i32, 2, 1, 2,
12489 7,
12490 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_W_PSEUDO),
12491 MVT::v4i32, 2, 0, 1,
12492 0,
12493 33, MVT::v2i64,
12494 OPC_CheckPatternPredicate0,
12495 OPC_Scope, 10,
12496 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
12497 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
12498 MVT::v2i64, 2, 0, 2,
12499 10,
12500 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12501 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
12502 MVT::v2i64, 2, 1, 2,
12503 7,
12504 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_D_PSEUDO),
12505 MVT::v2i64, 2, 0, 1,
12506 0,
12507 0,
12508 0,
12509 72, TARGET_VAL(MipsISD::CIns),
12510 OPC_RecordChild0,
12511 OPC_RecordChild1,
12512 OPC_MoveChild1,
12513 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12514 OPC_Scope, 20,
12515 OPC_CheckPredicate3,
12516 OPC_MoveSibling2,
12517 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12518 OPC_RecordNode,
12519 OPC_MoveParent,
12520 OPC_CheckTypeI64,
12521 OPC_CheckPatternPredicate, 64,
12522 OPC_EmitConvertToTarget1,
12523 OPC_EmitConvertToTarget2,
12524 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS),
12525 MVT::i64, 3, 0, 3, 4,
12526 21,
12527 OPC_CheckPredicate, 44,
12528 OPC_MoveSibling2,
12529 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12530 OPC_RecordNode,
12531 OPC_MoveParent,
12532 OPC_CheckTypeI64,
12533 OPC_CheckPatternPredicate, 64,
12534 OPC_EmitConvertToTarget1,
12535 OPC_EmitConvertToTarget2,
12536 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS32),
12537 MVT::i64, 3, 0, 3, 4,
12538 20,
12539 OPC_CheckPredicate3,
12540 OPC_MoveSibling2,
12541 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12542 OPC_RecordNode,
12543 OPC_MoveParent,
12544 OPC_CheckTypeI32,
12545 OPC_CheckPatternPredicate, 64,
12546 OPC_EmitConvertToTarget1,
12547 OPC_EmitConvertToTarget2,
12548 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS_i32),
12549 MVT::i32, 3, 0, 3, 4,
12550 0,
12551 21|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
12552 OPC_Scope, 108,
12553 OPC_MoveChild0,
12554 OPC_SwitchOpcode , 73, TARGET_VAL(ISD::SETCC),
12555 OPC_RecordChild0,
12556 OPC_CheckChild0TypeI64,
12557 OPC_RecordChild1,
12558 OPC_Scope, 39,
12559 OPC_MoveChild1,
12560 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12561 OPC_CheckPredicate, 54,
12562 OPC_MoveParent,
12563 OPC_Scope, 14,
12564 OPC_CheckChild2CondCode, ISD::SETEQ,
12565 OPC_MoveParent,
12566 OPC_CheckTypeI64,
12567 OPC_CheckPatternPredicate, 25,
12568 OPC_EmitConvertToTarget1,
12569 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQi),
12570 MVT::i64, 2, 0, 2,
12571 14,
12572 OPC_CheckChild2CondCode, ISD::SETNE,
12573 OPC_MoveParent,
12574 OPC_CheckTypeI64,
12575 OPC_CheckPatternPredicate, 25,
12576 OPC_EmitConvertToTarget1,
12577 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNEi),
12578 MVT::i64, 2, 0, 2,
12579 0,
12580 13,
12581 OPC_CheckChild2CondCode, ISD::SETEQ,
12582 OPC_MoveParent,
12583 OPC_CheckTypeI64,
12584 OPC_CheckPatternPredicate, 25,
12585 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQ),
12586 MVT::i64, 2, 0, 1,
12587 13,
12588 OPC_CheckChild2CondCode, ISD::SETNE,
12589 OPC_MoveParent,
12590 OPC_CheckTypeI64,
12591 OPC_CheckPatternPredicate, 25,
12592 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNE),
12593 MVT::i64, 2, 0, 1,
12594 0,
12595 26, TARGET_VAL(ISD::SHL),
12596 OPC_RecordChild0,
12597 OPC_RecordChild1,
12598 OPC_MoveChild1,
12599 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12600 OPC_CheckPredicate3,
12601 OPC_CheckTypeI32,
12602 OPC_MoveParent,
12603 OPC_MoveParent,
12604 OPC_CheckTypeI64,
12605 OPC_CheckPatternPredicate, 108,
12606 OPC_EmitConvertToTarget1,
12607 OPC_EmitConvertToTarget1,
12608 OPC_EmitNodeXForm, 4, 3,
12609 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS64_32),
12610 MVT::i64, 3, 0, 2, 4,
12611 0,
12612 37,
12613 OPC_RecordChild0,
12614 OPC_CheckTypeI64,
12615 OPC_Scope, 14,
12616 OPC_CheckPatternPredicate, 109,
12617 OPC_EmitInteger32, 0,
12618 OPC_EmitInteger32, 64,
12619 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT64_32),
12620 MVT::i64, 3, 0, 1, 2,
12621 17,
12622 OPC_CheckPatternPredicate, 12,
12623 OPC_EmitNode1None, TARGET_VAL(Mips::DSLL64_32),
12624 MVT::i64, 1, 0,
12625 OPC_EmitInteger32, 64,
12626 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
12627 MVT::i64, 2, 1, 2,
12628 0,
12629 0,
12630 98|128,13, TARGET_VAL(ISD::ADD),
12631 OPC_Scope, 43,
12632 OPC_RecordChild0,
12633 OPC_MoveChild1,
12634 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12635 OPC_RecordChild0,
12636 OPC_RecordChild1,
12637 OPC_MoveChild1,
12638 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12639 OPC_CheckPredicate, 46,
12640 OPC_CheckTypeI32,
12641 OPC_MoveParent,
12642 OPC_MoveParent,
12643 OPC_SwitchType , 10, MVT::i32,
12644 OPC_CheckPatternPredicate0,
12645 OPC_EmitConvertToTarget2,
12646 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
12647 MVT::i32, 3, 1, 0, 3,
12648 11, MVT::i64,
12649 OPC_CheckPatternPredicate, 42,
12650 OPC_EmitConvertToTarget2,
12651 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
12652 MVT::i64, 3, 1, 0, 3,
12653 0,
12654 43,
12655 OPC_MoveChild0,
12656 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12657 OPC_RecordChild0,
12658 OPC_RecordChild1,
12659 OPC_MoveChild1,
12660 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12661 OPC_CheckPredicate, 46,
12662 OPC_CheckTypeI32,
12663 OPC_MoveParent,
12664 OPC_MoveParent,
12665 OPC_RecordChild1,
12666 OPC_SwitchType , 10, MVT::i32,
12667 OPC_CheckPatternPredicate0,
12668 OPC_EmitConvertToTarget1,
12669 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
12670 MVT::i32, 3, 0, 2, 3,
12671 11, MVT::i64,
12672 OPC_CheckPatternPredicate, 42,
12673 OPC_EmitConvertToTarget1,
12674 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
12675 MVT::i64, 3, 0, 2, 3,
12676 0,
12677 78|128,4,
12678 OPC_RecordChild0,
12679 OPC_MoveChild1,
12680 OPC_SwitchOpcode , 75|128,2, TARGET_VAL(MipsISD::Lo),
12681 OPC_RecordChild0,
12682 OPC_MoveChild0,
12683 OPC_SwitchOpcode , 59, TARGET_VAL(ISD::TargetGlobalAddress),
12684 OPC_MoveParent,
12685 OPC_MoveParent,
12686 OPC_SwitchType , 29, MVT::i32,
12687 OPC_Scope, 8,
12688 OPC_CheckPatternPredicate2,
12689 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12690 MVT::i32, 2, 0, 1,
12691 8,
12692 OPC_CheckPatternPredicate5,
12693 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
12694 MVT::i32, 2, 0, 1,
12695 8,
12696 OPC_CheckPatternPredicate4,
12697 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12698 MVT::i32, 2, 0, 1,
12699 0,
12700 22, MVT::i64,
12701 OPC_Scope, 9,
12702 OPC_CheckPatternPredicate, 22,
12703 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12704 MVT::i64, 2, 0, 1,
12705 9,
12706 OPC_CheckPatternPredicate, 11,
12707 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12708 MVT::i64, 2, 0, 1,
12709 0,
12710 0,
12711 50, TARGET_VAL(ISD::TargetBlockAddress),
12712 OPC_MoveParent,
12713 OPC_MoveParent,
12714 OPC_SwitchType , 20, MVT::i32,
12715 OPC_Scope, 8,
12716 OPC_CheckPatternPredicate2,
12717 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12718 MVT::i32, 2, 0, 1,
12719 8,
12720 OPC_CheckPatternPredicate4,
12721 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12722 MVT::i32, 2, 0, 1,
12723 0,
12724 22, MVT::i64,
12725 OPC_Scope, 9,
12726 OPC_CheckPatternPredicate, 22,
12727 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12728 MVT::i64, 2, 0, 1,
12729 9,
12730 OPC_CheckPatternPredicate, 11,
12731 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12732 MVT::i64, 2, 0, 1,
12733 0,
12734 0,
12735 50, TARGET_VAL(ISD::TargetJumpTable),
12736 OPC_MoveParent,
12737 OPC_MoveParent,
12738 OPC_SwitchType , 20, MVT::i32,
12739 OPC_Scope, 8,
12740 OPC_CheckPatternPredicate2,
12741 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12742 MVT::i32, 2, 0, 1,
12743 8,
12744 OPC_CheckPatternPredicate4,
12745 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12746 MVT::i32, 2, 0, 1,
12747 0,
12748 22, MVT::i64,
12749 OPC_Scope, 9,
12750 OPC_CheckPatternPredicate, 22,
12751 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12752 MVT::i64, 2, 0, 1,
12753 9,
12754 OPC_CheckPatternPredicate, 11,
12755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12756 MVT::i64, 2, 0, 1,
12757 0,
12758 0,
12759 50, TARGET_VAL(ISD::TargetConstantPool),
12760 OPC_MoveParent,
12761 OPC_MoveParent,
12762 OPC_SwitchType , 20, MVT::i32,
12763 OPC_Scope, 8,
12764 OPC_CheckPatternPredicate2,
12765 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12766 MVT::i32, 2, 0, 1,
12767 8,
12768 OPC_CheckPatternPredicate4,
12769 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12770 MVT::i32, 2, 0, 1,
12771 0,
12772 22, MVT::i64,
12773 OPC_Scope, 9,
12774 OPC_CheckPatternPredicate, 22,
12775 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12776 MVT::i64, 2, 0, 1,
12777 9,
12778 OPC_CheckPatternPredicate, 11,
12779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12780 MVT::i64, 2, 0, 1,
12781 0,
12782 0,
12783 50, TARGET_VAL(ISD::TargetGlobalTLSAddress),
12784 OPC_MoveParent,
12785 OPC_MoveParent,
12786 OPC_SwitchType , 20, MVT::i32,
12787 OPC_Scope, 8,
12788 OPC_CheckPatternPredicate2,
12789 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12790 MVT::i32, 2, 0, 1,
12791 8,
12792 OPC_CheckPatternPredicate4,
12793 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12794 MVT::i32, 2, 0, 1,
12795 0,
12796 22, MVT::i64,
12797 OPC_Scope, 9,
12798 OPC_CheckPatternPredicate, 22,
12799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12800 MVT::i64, 2, 0, 1,
12801 9,
12802 OPC_CheckPatternPredicate, 11,
12803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12804 MVT::i64, 2, 0, 1,
12805 0,
12806 0,
12807 50, TARGET_VAL(ISD::TargetExternalSymbol),
12808 OPC_MoveParent,
12809 OPC_MoveParent,
12810 OPC_SwitchType , 20, MVT::i32,
12811 OPC_Scope, 8,
12812 OPC_CheckPatternPredicate2,
12813 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12814 MVT::i32, 2, 0, 1,
12815 8,
12816 OPC_CheckPatternPredicate4,
12817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12818 MVT::i32, 2, 0, 1,
12819 0,
12820 22, MVT::i64,
12821 OPC_Scope, 9,
12822 OPC_CheckPatternPredicate, 22,
12823 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12824 MVT::i64, 2, 0, 1,
12825 9,
12826 OPC_CheckPatternPredicate, 11,
12827 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12828 MVT::i64, 2, 0, 1,
12829 0,
12830 0,
12831 0,
12832 84, TARGET_VAL(MipsISD::GPRel),
12833 OPC_RecordChild0,
12834 OPC_MoveChild0,
12835 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::TargetGlobalAddress),
12836 OPC_MoveParent,
12837 OPC_MoveParent,
12838 OPC_SwitchType , 20, MVT::i32,
12839 OPC_Scope, 8,
12840 OPC_CheckPatternPredicate2,
12841 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12842 MVT::i32, 2, 0, 1,
12843 8,
12844 OPC_CheckPatternPredicate4,
12845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12846 MVT::i32, 2, 0, 1,
12847 0,
12848 9, MVT::i64,
12849 OPC_CheckPatternPredicate, 54,
12850 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12851 MVT::i64, 2, 0, 1,
12852 0,
12853 37, TARGET_VAL(ISD::TargetConstantPool),
12854 OPC_MoveParent,
12855 OPC_MoveParent,
12856 OPC_SwitchType , 20, MVT::i32,
12857 OPC_Scope, 8,
12858 OPC_CheckPatternPredicate2,
12859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12860 MVT::i32, 2, 0, 1,
12861 8,
12862 OPC_CheckPatternPredicate4,
12863 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12864 MVT::i32, 2, 0, 1,
12865 0,
12866 9, MVT::i64,
12867 OPC_CheckPatternPredicate, 54,
12868 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12869 MVT::i64, 2, 0, 1,
12870 0,
12871 0,
12872 79, TARGET_VAL(MipsISD::Higher),
12873 OPC_RecordChild0,
12874 OPC_MoveChild0,
12875 OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
12876 OPC_MoveParent,
12877 OPC_MoveParent,
12878 OPC_CheckTypeI64,
12879 OPC_CheckPatternPredicate, 11,
12880 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12881 MVT::i64, 2, 0, 1,
12882 12, TARGET_VAL(ISD::TargetBlockAddress),
12883 OPC_MoveParent,
12884 OPC_MoveParent,
12885 OPC_CheckTypeI64,
12886 OPC_CheckPatternPredicate, 11,
12887 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12888 MVT::i64, 2, 0, 1,
12889 12, TARGET_VAL(ISD::TargetJumpTable),
12890 OPC_MoveParent,
12891 OPC_MoveParent,
12892 OPC_CheckTypeI64,
12893 OPC_CheckPatternPredicate, 11,
12894 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12895 MVT::i64, 2, 0, 1,
12896 12, TARGET_VAL(ISD::TargetConstantPool),
12897 OPC_MoveParent,
12898 OPC_MoveParent,
12899 OPC_CheckTypeI64,
12900 OPC_CheckPatternPredicate, 11,
12901 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12902 MVT::i64, 2, 0, 1,
12903 12, TARGET_VAL(ISD::TargetExternalSymbol),
12904 OPC_MoveParent,
12905 OPC_MoveParent,
12906 OPC_CheckTypeI64,
12907 OPC_CheckPatternPredicate, 11,
12908 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12909 MVT::i64, 2, 0, 1,
12910 0,
12911 79, TARGET_VAL(MipsISD::Hi),
12912 OPC_RecordChild0,
12913 OPC_MoveChild0,
12914 OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
12915 OPC_MoveParent,
12916 OPC_MoveParent,
12917 OPC_CheckTypeI64,
12918 OPC_CheckPatternPredicate, 11,
12919 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12920 MVT::i64, 2, 0, 1,
12921 12, TARGET_VAL(ISD::TargetBlockAddress),
12922 OPC_MoveParent,
12923 OPC_MoveParent,
12924 OPC_CheckTypeI64,
12925 OPC_CheckPatternPredicate, 11,
12926 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12927 MVT::i64, 2, 0, 1,
12928 12, TARGET_VAL(ISD::TargetJumpTable),
12929 OPC_MoveParent,
12930 OPC_MoveParent,
12931 OPC_CheckTypeI64,
12932 OPC_CheckPatternPredicate, 11,
12933 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12934 MVT::i64, 2, 0, 1,
12935 12, TARGET_VAL(ISD::TargetConstantPool),
12936 OPC_MoveParent,
12937 OPC_MoveParent,
12938 OPC_CheckTypeI64,
12939 OPC_CheckPatternPredicate, 11,
12940 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12941 MVT::i64, 2, 0, 1,
12942 12, TARGET_VAL(ISD::TargetExternalSymbol),
12943 OPC_MoveParent,
12944 OPC_MoveParent,
12945 OPC_CheckTypeI64,
12946 OPC_CheckPatternPredicate, 11,
12947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12948 MVT::i64, 2, 0, 1,
12949 0,
12950 0,
12951 95|128,4,
12952 OPC_MoveChild0,
12953 OPC_SwitchOpcode , 81|128,2, TARGET_VAL(MipsISD::Lo),
12954 OPC_RecordChild0,
12955 OPC_MoveChild0,
12956 OPC_SwitchOpcode , 60, TARGET_VAL(ISD::TargetGlobalAddress),
12957 OPC_MoveParent,
12958 OPC_MoveParent,
12959 OPC_RecordChild1,
12960 OPC_SwitchType , 29, MVT::i32,
12961 OPC_Scope, 8,
12962 OPC_CheckPatternPredicate2,
12963 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12964 MVT::i32, 2, 1, 0,
12965 8,
12966 OPC_CheckPatternPredicate5,
12967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
12968 MVT::i32, 2, 1, 0,
12969 8,
12970 OPC_CheckPatternPredicate4,
12971 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12972 MVT::i32, 2, 1, 0,
12973 0,
12974 22, MVT::i64,
12975 OPC_Scope, 9,
12976 OPC_CheckPatternPredicate, 22,
12977 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12978 MVT::i64, 2, 1, 0,
12979 9,
12980 OPC_CheckPatternPredicate, 11,
12981 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12982 MVT::i64, 2, 1, 0,
12983 0,
12984 0,
12985 51, TARGET_VAL(ISD::TargetBlockAddress),
12986 OPC_MoveParent,
12987 OPC_MoveParent,
12988 OPC_RecordChild1,
12989 OPC_SwitchType , 20, MVT::i32,
12990 OPC_Scope, 8,
12991 OPC_CheckPatternPredicate2,
12992 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12993 MVT::i32, 2, 1, 0,
12994 8,
12995 OPC_CheckPatternPredicate4,
12996 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12997 MVT::i32, 2, 1, 0,
12998 0,
12999 22, MVT::i64,
13000 OPC_Scope, 9,
13001 OPC_CheckPatternPredicate, 22,
13002 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13003 MVT::i64, 2, 1, 0,
13004 9,
13005 OPC_CheckPatternPredicate, 11,
13006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13007 MVT::i64, 2, 1, 0,
13008 0,
13009 0,
13010 51, TARGET_VAL(ISD::TargetJumpTable),
13011 OPC_MoveParent,
13012 OPC_MoveParent,
13013 OPC_RecordChild1,
13014 OPC_SwitchType , 20, MVT::i32,
13015 OPC_Scope, 8,
13016 OPC_CheckPatternPredicate2,
13017 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13018 MVT::i32, 2, 1, 0,
13019 8,
13020 OPC_CheckPatternPredicate4,
13021 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13022 MVT::i32, 2, 1, 0,
13023 0,
13024 22, MVT::i64,
13025 OPC_Scope, 9,
13026 OPC_CheckPatternPredicate, 22,
13027 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13028 MVT::i64, 2, 1, 0,
13029 9,
13030 OPC_CheckPatternPredicate, 11,
13031 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13032 MVT::i64, 2, 1, 0,
13033 0,
13034 0,
13035 51, TARGET_VAL(ISD::TargetConstantPool),
13036 OPC_MoveParent,
13037 OPC_MoveParent,
13038 OPC_RecordChild1,
13039 OPC_SwitchType , 20, MVT::i32,
13040 OPC_Scope, 8,
13041 OPC_CheckPatternPredicate2,
13042 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13043 MVT::i32, 2, 1, 0,
13044 8,
13045 OPC_CheckPatternPredicate4,
13046 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13047 MVT::i32, 2, 1, 0,
13048 0,
13049 22, MVT::i64,
13050 OPC_Scope, 9,
13051 OPC_CheckPatternPredicate, 22,
13052 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13053 MVT::i64, 2, 1, 0,
13054 9,
13055 OPC_CheckPatternPredicate, 11,
13056 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13057 MVT::i64, 2, 1, 0,
13058 0,
13059 0,
13060 51, TARGET_VAL(ISD::TargetGlobalTLSAddress),
13061 OPC_MoveParent,
13062 OPC_MoveParent,
13063 OPC_RecordChild1,
13064 OPC_SwitchType , 20, MVT::i32,
13065 OPC_Scope, 8,
13066 OPC_CheckPatternPredicate2,
13067 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13068 MVT::i32, 2, 1, 0,
13069 8,
13070 OPC_CheckPatternPredicate4,
13071 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13072 MVT::i32, 2, 1, 0,
13073 0,
13074 22, MVT::i64,
13075 OPC_Scope, 9,
13076 OPC_CheckPatternPredicate, 22,
13077 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13078 MVT::i64, 2, 1, 0,
13079 9,
13080 OPC_CheckPatternPredicate, 11,
13081 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13082 MVT::i64, 2, 1, 0,
13083 0,
13084 0,
13085 51, TARGET_VAL(ISD::TargetExternalSymbol),
13086 OPC_MoveParent,
13087 OPC_MoveParent,
13088 OPC_RecordChild1,
13089 OPC_SwitchType , 20, MVT::i32,
13090 OPC_Scope, 8,
13091 OPC_CheckPatternPredicate2,
13092 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13093 MVT::i32, 2, 1, 0,
13094 8,
13095 OPC_CheckPatternPredicate4,
13096 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13097 MVT::i32, 2, 1, 0,
13098 0,
13099 22, MVT::i64,
13100 OPC_Scope, 9,
13101 OPC_CheckPatternPredicate, 22,
13102 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13103 MVT::i64, 2, 1, 0,
13104 9,
13105 OPC_CheckPatternPredicate, 11,
13106 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13107 MVT::i64, 2, 1, 0,
13108 0,
13109 0,
13110 0,
13111 86, TARGET_VAL(MipsISD::GPRel),
13112 OPC_RecordChild0,
13113 OPC_MoveChild0,
13114 OPC_SwitchOpcode , 38, TARGET_VAL(ISD::TargetGlobalAddress),
13115 OPC_MoveParent,
13116 OPC_MoveParent,
13117 OPC_RecordChild1,
13118 OPC_SwitchType , 20, MVT::i32,
13119 OPC_Scope, 8,
13120 OPC_CheckPatternPredicate2,
13121 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13122 MVT::i32, 2, 1, 0,
13123 8,
13124 OPC_CheckPatternPredicate4,
13125 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13126 MVT::i32, 2, 1, 0,
13127 0,
13128 9, MVT::i64,
13129 OPC_CheckPatternPredicate, 54,
13130 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13131 MVT::i64, 2, 1, 0,
13132 0,
13133 38, TARGET_VAL(ISD::TargetConstantPool),
13134 OPC_MoveParent,
13135 OPC_MoveParent,
13136 OPC_RecordChild1,
13137 OPC_SwitchType , 20, MVT::i32,
13138 OPC_Scope, 8,
13139 OPC_CheckPatternPredicate2,
13140 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13141 MVT::i32, 2, 1, 0,
13142 8,
13143 OPC_CheckPatternPredicate4,
13144 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13145 MVT::i32, 2, 1, 0,
13146 0,
13147 9, MVT::i64,
13148 OPC_CheckPatternPredicate, 54,
13149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13150 MVT::i64, 2, 1, 0,
13151 0,
13152 0,
13153 84, TARGET_VAL(MipsISD::Higher),
13154 OPC_RecordChild0,
13155 OPC_MoveChild0,
13156 OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
13157 OPC_MoveParent,
13158 OPC_MoveParent,
13159 OPC_RecordChild1,
13160 OPC_CheckTypeI64,
13161 OPC_CheckPatternPredicate, 11,
13162 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13163 MVT::i64, 2, 1, 0,
13164 13, TARGET_VAL(ISD::TargetBlockAddress),
13165 OPC_MoveParent,
13166 OPC_MoveParent,
13167 OPC_RecordChild1,
13168 OPC_CheckTypeI64,
13169 OPC_CheckPatternPredicate, 11,
13170 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13171 MVT::i64, 2, 1, 0,
13172 13, TARGET_VAL(ISD::TargetJumpTable),
13173 OPC_MoveParent,
13174 OPC_MoveParent,
13175 OPC_RecordChild1,
13176 OPC_CheckTypeI64,
13177 OPC_CheckPatternPredicate, 11,
13178 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13179 MVT::i64, 2, 1, 0,
13180 13, TARGET_VAL(ISD::TargetConstantPool),
13181 OPC_MoveParent,
13182 OPC_MoveParent,
13183 OPC_RecordChild1,
13184 OPC_CheckTypeI64,
13185 OPC_CheckPatternPredicate, 11,
13186 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13187 MVT::i64, 2, 1, 0,
13188 13, TARGET_VAL(ISD::TargetExternalSymbol),
13189 OPC_MoveParent,
13190 OPC_MoveParent,
13191 OPC_RecordChild1,
13192 OPC_CheckTypeI64,
13193 OPC_CheckPatternPredicate, 11,
13194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13195 MVT::i64, 2, 1, 0,
13196 0,
13197 84, TARGET_VAL(MipsISD::Hi),
13198 OPC_RecordChild0,
13199 OPC_MoveChild0,
13200 OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
13201 OPC_MoveParent,
13202 OPC_MoveParent,
13203 OPC_RecordChild1,
13204 OPC_CheckTypeI64,
13205 OPC_CheckPatternPredicate, 11,
13206 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13207 MVT::i64, 2, 1, 0,
13208 13, TARGET_VAL(ISD::TargetBlockAddress),
13209 OPC_MoveParent,
13210 OPC_MoveParent,
13211 OPC_RecordChild1,
13212 OPC_CheckTypeI64,
13213 OPC_CheckPatternPredicate, 11,
13214 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13215 MVT::i64, 2, 1, 0,
13216 13, TARGET_VAL(ISD::TargetJumpTable),
13217 OPC_MoveParent,
13218 OPC_MoveParent,
13219 OPC_RecordChild1,
13220 OPC_CheckTypeI64,
13221 OPC_CheckPatternPredicate, 11,
13222 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13223 MVT::i64, 2, 1, 0,
13224 13, TARGET_VAL(ISD::TargetConstantPool),
13225 OPC_MoveParent,
13226 OPC_MoveParent,
13227 OPC_RecordChild1,
13228 OPC_CheckTypeI64,
13229 OPC_CheckPatternPredicate, 11,
13230 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13231 MVT::i64, 2, 1, 0,
13232 13, TARGET_VAL(ISD::TargetExternalSymbol),
13233 OPC_MoveParent,
13234 OPC_MoveParent,
13235 OPC_RecordChild1,
13236 OPC_CheckTypeI64,
13237 OPC_CheckPatternPredicate, 11,
13238 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13239 MVT::i64, 2, 1, 0,
13240 0,
13241 0,
13242 93|128,2,
13243 OPC_RecordChild0,
13244 OPC_Scope, 34|128,2,
13245 OPC_RecordChild1,
13246 OPC_Scope, 115,
13247 OPC_MoveChild1,
13248 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13249 OPC_Scope, 13,
13250 OPC_CheckPredicate, 55,
13251 OPC_MoveParent,
13252 OPC_CheckTypeI32,
13253 OPC_CheckPatternPredicate2,
13254 OPC_EmitConvertToTarget1,
13255 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13256 MVT::i32, 2, 0, 2,
13257 13,
13258 OPC_CheckPredicate7,
13259 OPC_MoveParent,
13260 OPC_CheckTypeI64,
13261 OPC_CheckPatternPredicate, 23,
13262 OPC_EmitConvertToTarget1,
13263 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13264 MVT::i64, 2, 0, 2,
13265 13,
13266 OPC_CheckPredicate, 56,
13267 OPC_MoveParent,
13268 OPC_CheckTypeI32,
13269 OPC_CheckPatternPredicate5,
13270 OPC_EmitConvertToTarget1,
13271 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImm16),
13272 MVT::i32, 2, 0, 2,
13273 12,
13274 OPC_CheckPredicate7,
13275 OPC_MoveParent,
13276 OPC_CheckTypeI32,
13277 OPC_CheckPatternPredicate5,
13278 OPC_EmitConvertToTarget1,
13279 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
13280 MVT::i32, 2, 0, 2,
13281 13,
13282 OPC_CheckPredicate, 57,
13283 OPC_MoveParent,
13284 OPC_CheckTypeI32,
13285 OPC_CheckPatternPredicate4,
13286 OPC_EmitConvertToTarget1,
13287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUR2_MM),
13288 MVT::i32, 2, 0, 2,
13289 13,
13290 OPC_CheckPredicate, 58,
13291 OPC_MoveParent,
13292 OPC_CheckTypeI32,
13293 OPC_CheckPatternPredicate4,
13294 OPC_EmitConvertToTarget1,
13295 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUS5_MM),
13296 MVT::i32, 2, 0, 2,
13297 25,
13298 OPC_CheckPredicate7,
13299 OPC_MoveParent,
13300 OPC_CheckTypeI32,
13301 OPC_Scope, 9,
13302 OPC_CheckPatternPredicate4,
13303 OPC_EmitConvertToTarget1,
13304 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13305 MVT::i32, 2, 0, 2,
13306 9,
13307 OPC_CheckPatternPredicate7,
13308 OPC_EmitConvertToTarget1,
13309 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIU_MMR6),
13310 MVT::i32, 2, 0, 2,
13311 0,
13312 0,
13313 51,
13314 OPC_CheckTypeI32,
13315 OPC_Scope, 8,
13316 OPC_CheckPatternPredicate7,
13317 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MMR6),
13318 MVT::i32, 2, 0, 1,
13319 8,
13320 OPC_CheckPatternPredicate2,
13321 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu),
13322 MVT::i32, 2, 0, 1,
13323 8,
13324 OPC_CheckPatternPredicate5,
13325 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AdduRxRyRz16),
13326 MVT::i32, 2, 0, 1,
13327 20,
13328 OPC_CheckPatternPredicate, 8,
13329 OPC_Scope, 7,
13330 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MM),
13331 MVT::i32, 2, 0, 1,
13332 7,
13333 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu_MM),
13334 MVT::i32, 2, 0, 1,
13335 0,
13336 0,
13337 10,
13338 OPC_CheckTypeI64,
13339 OPC_CheckPatternPredicate, 23,
13340 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDu),
13341 MVT::i64, 2, 0, 1,
13342 25,
13343 OPC_CheckType, MVT::v16i8,
13344 OPC_CheckPatternPredicate0,
13345 OPC_Scope, 9,
13346 OPC_CheckComplexPat7, /*#*/1,
13347 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
13348 MVT::v16i8, 2, 0, 2,
13349 9,
13350 OPC_CheckComplexPat7, /*#*/0,
13351 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
13352 MVT::v16i8, 2, 1, 2,
13353 0,
13354 27,
13355 OPC_CheckType, MVT::v8i16,
13356 OPC_CheckPatternPredicate0,
13357 OPC_Scope, 10,
13358 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13359 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
13360 MVT::v8i16, 2, 0, 2,
13361 10,
13362 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
13363 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
13364 MVT::v8i16, 2, 1, 2,
13365 0,
13366 25,
13367 OPC_CheckType, MVT::v4i32,
13368 OPC_CheckPatternPredicate0,
13369 OPC_Scope, 9,
13370 OPC_CheckComplexPat4, /*#*/1,
13371 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
13372 MVT::v4i32, 2, 0, 2,
13373 9,
13374 OPC_CheckComplexPat4, /*#*/0,
13375 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
13376 MVT::v4i32, 2, 1, 2,
13377 0,
13378 27,
13379 OPC_CheckType, MVT::v2i64,
13380 OPC_CheckPatternPredicate0,
13381 OPC_Scope, 10,
13382 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
13383 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
13384 MVT::v2i64, 2, 0, 2,
13385 10,
13386 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
13387 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
13388 MVT::v2i64, 2, 1, 2,
13389 0,
13390 0,
13391 53,
13392 OPC_MoveChild1,
13393 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
13394 OPC_RecordChild0,
13395 OPC_RecordChild1,
13396 OPC_MoveParent,
13397 OPC_SwitchType , 9, MVT::v16i8,
13398 OPC_CheckPatternPredicate0,
13399 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
13400 MVT::v16i8, 3, 0, 1, 2,
13401 9, MVT::v8i16,
13402 OPC_CheckPatternPredicate0,
13403 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
13404 MVT::v8i16, 3, 0, 1, 2,
13405 9, MVT::v4i32,
13406 OPC_CheckPatternPredicate0,
13407 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
13408 MVT::v4i32, 3, 0, 1, 2,
13409 9, MVT::v2i64,
13410 OPC_CheckPatternPredicate0,
13411 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
13412 MVT::v2i64, 3, 0, 1, 2,
13413 0,
13414 0,
13415 54,
13416 OPC_MoveChild0,
13417 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
13418 OPC_RecordChild0,
13419 OPC_RecordChild1,
13420 OPC_MoveParent,
13421 OPC_RecordChild1,
13422 OPC_SwitchType , 9, MVT::v16i8,
13423 OPC_CheckPatternPredicate0,
13424 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
13425 MVT::v16i8, 3, 2, 0, 1,
13426 9, MVT::v8i16,
13427 OPC_CheckPatternPredicate0,
13428 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
13429 MVT::v8i16, 3, 2, 0, 1,
13430 9, MVT::v4i32,
13431 OPC_CheckPatternPredicate0,
13432 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
13433 MVT::v4i32, 3, 2, 0, 1,
13434 9, MVT::v2i64,
13435 OPC_CheckPatternPredicate0,
13436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
13437 MVT::v2i64, 3, 2, 0, 1,
13438 0,
13439 64,
13440 OPC_RecordChild0,
13441 OPC_RecordChild1,
13442 OPC_SwitchType , 8, MVT::v2i16,
13443 OPC_CheckPatternPredicate1,
13444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
13445 MVT::v2i16, 2, 0, 1,
13446 8, MVT::v4i8,
13447 OPC_CheckPatternPredicate1,
13448 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
13449 MVT::v4i8, 2, 0, 1,
13450 8, MVT::v16i8,
13451 OPC_CheckPatternPredicate0,
13452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_B),
13453 MVT::v16i8, 2, 0, 1,
13454 8, MVT::v8i16,
13455 OPC_CheckPatternPredicate0,
13456 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_H),
13457 MVT::v8i16, 2, 0, 1,
13458 8, MVT::v4i32,
13459 OPC_CheckPatternPredicate0,
13460 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_W),
13461 MVT::v4i32, 2, 0, 1,
13462 8, MVT::v2i64,
13463 OPC_CheckPatternPredicate0,
13464 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_D),
13465 MVT::v2i64, 2, 0, 1,
13466 0,
13467 0,
13468 35|128,4, TARGET_VAL(ISD::SIGN_EXTEND),
13469 OPC_Scope, 20|128,4,
13470 OPC_MoveChild0,
13471 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::ADD),
13472 OPC_RecordChild0,
13473 OPC_RecordChild1,
13474 OPC_Scope, 31,
13475 OPC_MoveChild1,
13476 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13477 OPC_CheckPredicate7,
13478 OPC_MoveParent,
13479 OPC_MoveParent,
13480 OPC_CheckTypeI64,
13481 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13482 MVT::i64, 0,
13483 OPC_EmitConvertToTarget1,
13484 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
13485 MVT::i32, 2, 0, 3,
13486 OPC_EmitStringInteger32, Mips::sub_32,
13487 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13488 MVT::i64, 3, 2, 4, 5,
13489 24,
13490 OPC_MoveParent,
13491 OPC_CheckTypeI64,
13492 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13493 MVT::i64, 0,
13494 OPC_EmitNode1None, TARGET_VAL(Mips::ADDu),
13495 MVT::i32, 2, 0, 1,
13496 OPC_EmitStringInteger32, Mips::sub_32,
13497 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13498 MVT::i64, 3, 2, 3, 4,
13499 0,
13500 63, TARGET_VAL(ISD::SHL),
13501 OPC_RecordChild0,
13502 OPC_RecordChild1,
13503 OPC_Scope, 32,
13504 OPC_MoveChild1,
13505 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13506 OPC_CheckPredicate3,
13507 OPC_CheckTypeI32,
13508 OPC_MoveParent,
13509 OPC_MoveParent,
13510 OPC_CheckTypeI64,
13511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13512 MVT::i64, 0,
13513 OPC_EmitConvertToTarget1,
13514 OPC_EmitNode1None, TARGET_VAL(Mips::SLL),
13515 MVT::i32, 2, 0, 3,
13516 OPC_EmitStringInteger32, Mips::sub_32,
13517 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13518 MVT::i64, 3, 2, 4, 5,
13519 25,
13520 OPC_CheckChild1TypeI32,
13521 OPC_MoveParent,
13522 OPC_CheckTypeI64,
13523 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13524 MVT::i64, 0,
13525 OPC_EmitNode1None, TARGET_VAL(Mips::SLLV),
13526 MVT::i32, 2, 0, 1,
13527 OPC_EmitStringInteger32, Mips::sub_32,
13528 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13529 MVT::i64, 3, 2, 3, 4,
13530 0,
13531 63, TARGET_VAL(ISD::SRL),
13532 OPC_RecordChild0,
13533 OPC_RecordChild1,
13534 OPC_Scope, 32,
13535 OPC_MoveChild1,
13536 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13537 OPC_CheckPredicate3,
13538 OPC_CheckTypeI32,
13539 OPC_MoveParent,
13540 OPC_MoveParent,
13541 OPC_CheckTypeI64,
13542 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13543 MVT::i64, 0,
13544 OPC_EmitConvertToTarget1,
13545 OPC_EmitNode1None, TARGET_VAL(Mips::SRL),
13546 MVT::i32, 2, 0, 3,
13547 OPC_EmitStringInteger32, Mips::sub_32,
13548 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13549 MVT::i64, 3, 2, 4, 5,
13550 25,
13551 OPC_CheckChild1TypeI32,
13552 OPC_MoveParent,
13553 OPC_CheckTypeI64,
13554 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13555 MVT::i64, 0,
13556 OPC_EmitNode1None, TARGET_VAL(Mips::SRLV),
13557 MVT::i32, 2, 0, 1,
13558 OPC_EmitStringInteger32, Mips::sub_32,
13559 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13560 MVT::i64, 3, 2, 3, 4,
13561 0,
13562 63, TARGET_VAL(ISD::SRA),
13563 OPC_RecordChild0,
13564 OPC_RecordChild1,
13565 OPC_Scope, 32,
13566 OPC_MoveChild1,
13567 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13568 OPC_CheckPredicate3,
13569 OPC_CheckTypeI32,
13570 OPC_MoveParent,
13571 OPC_MoveParent,
13572 OPC_CheckTypeI64,
13573 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13574 MVT::i64, 0,
13575 OPC_EmitConvertToTarget1,
13576 OPC_EmitNode1None, TARGET_VAL(Mips::SRA),
13577 MVT::i32, 2, 0, 3,
13578 OPC_EmitStringInteger32, Mips::sub_32,
13579 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13580 MVT::i64, 3, 2, 4, 5,
13581 25,
13582 OPC_CheckChild1TypeI32,
13583 OPC_MoveParent,
13584 OPC_CheckTypeI64,
13585 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13586 MVT::i64, 0,
13587 OPC_EmitNode1None, TARGET_VAL(Mips::SRAV),
13588 MVT::i32, 2, 0, 1,
13589 OPC_EmitStringInteger32, Mips::sub_32,
13590 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13591 MVT::i64, 3, 2, 3, 4,
13592 0,
13593 26, TARGET_VAL(ISD::SUB),
13594 OPC_RecordChild0,
13595 OPC_RecordChild1,
13596 OPC_MoveParent,
13597 OPC_CheckTypeI64,
13598 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13599 MVT::i64, 0,
13600 OPC_EmitNode1None, TARGET_VAL(Mips::SUBu),
13601 MVT::i32, 2, 0, 1,
13602 OPC_EmitStringInteger32, Mips::sub_32,
13603 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13604 MVT::i64, 3, 2, 3, 4,
13605 57, TARGET_VAL(ISD::MUL),
13606 OPC_RecordChild0,
13607 OPC_RecordChild1,
13608 OPC_MoveParent,
13609 OPC_CheckTypeI64,
13610 OPC_Scope, 25,
13611 OPC_CheckPatternPredicate, 110,
13612 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13613 MVT::i64, 0,
13614 OPC_EmitNode2None, TARGET_VAL(Mips::MUL),
13615 MVT::i32, MVT::i32, 2, 0, 1,
13616 OPC_EmitStringInteger32, Mips::sub_32,
13617 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13618 MVT::i64, 3, 2, 3, 5,
13619 24,
13620 OPC_CheckPatternPredicate, 19,
13621 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13622 MVT::i64, 0,
13623 OPC_EmitNode1None, TARGET_VAL(Mips::MUL_R6),
13624 MVT::i32, 2, 0, 1,
13625 OPC_EmitStringInteger32, Mips::sub_32,
13626 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13627 MVT::i64, 3, 2, 3, 4,
13628 0,
13629 24, TARGET_VAL(MipsISD::MFHI),
13630 OPC_RecordChild0,
13631 OPC_MoveParent,
13632 OPC_CheckTypeI64,
13633 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13634 MVT::i64, 0,
13635 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFHI),
13636 MVT::i32, 1, 0,
13637 OPC_EmitStringInteger32, Mips::sub_32,
13638 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13639 MVT::i64, 3, 1, 2, 3,
13640 24, TARGET_VAL(MipsISD::MFLO),
13641 OPC_RecordChild0,
13642 OPC_MoveParent,
13643 OPC_CheckTypeI64,
13644 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13645 MVT::i64, 0,
13646 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFLO),
13647 MVT::i32, 1, 0,
13648 OPC_EmitStringInteger32, Mips::sub_32,
13649 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13650 MVT::i64, 3, 1, 2, 3,
13651 28, TARGET_VAL(ISD::SDIV),
13652 OPC_RecordChild0,
13653 OPC_RecordChild1,
13654 OPC_MoveParent,
13655 OPC_CheckTypeI64,
13656 OPC_CheckPatternPredicate, 19,
13657 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13658 MVT::i64, 0,
13659 OPC_EmitNode1None, TARGET_VAL(Mips::DIV),
13660 MVT::i32, 2, 0, 1,
13661 OPC_EmitStringInteger32, Mips::sub_32,
13662 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13663 MVT::i64, 3, 2, 3, 4,
13664 28, TARGET_VAL(ISD::UDIV),
13665 OPC_RecordChild0,
13666 OPC_RecordChild1,
13667 OPC_MoveParent,
13668 OPC_CheckTypeI64,
13669 OPC_CheckPatternPredicate, 19,
13670 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13671 MVT::i64, 0,
13672 OPC_EmitNode1None, TARGET_VAL(Mips::DIVU),
13673 MVT::i32, 2, 0, 1,
13674 OPC_EmitStringInteger32, Mips::sub_32,
13675 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13676 MVT::i64, 3, 2, 3, 4,
13677 28, TARGET_VAL(ISD::SREM),
13678 OPC_RecordChild0,
13679 OPC_RecordChild1,
13680 OPC_MoveParent,
13681 OPC_CheckTypeI64,
13682 OPC_CheckPatternPredicate, 19,
13683 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13684 MVT::i64, 0,
13685 OPC_EmitNode1None, TARGET_VAL(Mips::MOD),
13686 MVT::i32, 2, 0, 1,
13687 OPC_EmitStringInteger32, Mips::sub_32,
13688 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13689 MVT::i64, 3, 2, 3, 4,
13690 28, TARGET_VAL(ISD::UREM),
13691 OPC_RecordChild0,
13692 OPC_RecordChild1,
13693 OPC_MoveParent,
13694 OPC_CheckTypeI64,
13695 OPC_CheckPatternPredicate, 19,
13696 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13697 MVT::i64, 0,
13698 OPC_EmitNode1None, TARGET_VAL(Mips::MODU),
13699 MVT::i32, 2, 0, 1,
13700 OPC_EmitStringInteger32, Mips::sub_32,
13701 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13702 MVT::i64, 3, 2, 3, 4,
13703 0,
13704 10,
13705 OPC_RecordChild0,
13706 OPC_CheckTypeI64,
13707 OPC_CheckPatternPredicate, 12,
13708 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_32),
13709 MVT::i64, 1, 0,
13710 0,
13711 20, TARGET_VAL(ISD::CALLSEQ_START),
13712 OPC_RecordNode,
13713 OPC_RecordChild1,
13714 OPC_MoveChild1,
13715 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13716 OPC_MoveSibling2,
13717 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13718 OPC_RecordNode,
13719 OPC_MoveParent,
13720 OPC_EmitMergeInputChains1_0,
13721 OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
13722 2, 1, 2,
13723 21, TARGET_VAL(ISD::CALLSEQ_END),
13724 OPC_RecordNode,
13725 OPC_CaptureGlueInput,
13726 OPC_RecordChild1,
13727 OPC_MoveChild1,
13728 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13729 OPC_MoveSibling2,
13730 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13731 OPC_RecordNode,
13732 OPC_MoveParent,
13733 OPC_EmitMergeInputChains1_0,
13734 OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
13735 2, 1, 2,
13736 54, TARGET_VAL(ISD::FrameIndex),
13737 OPC_RecordNode,
13738 OPC_SwitchType , 36, MVT::i32,
13739 OPC_Scope, 10,
13740 OPC_CheckPatternPredicate2,
13741 OPC_CheckComplexPat0, /*#*/0,
13742 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu),
13743 MVT::i32, 2, 1, 2,
13744 11,
13745 OPC_CheckPatternPredicate5,
13746 OPC_CheckComplexPat, /*CP*/20, /*#*/0,
13747 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRyOffMemX16),
13748 MVT::i32, 2, 1, 2,
13749 10,
13750 OPC_CheckPatternPredicate4,
13751 OPC_CheckComplexPat0, /*#*/0,
13752 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu_MM),
13753 MVT::i32, 2, 1, 2,
13754 0,
13755 11, MVT::i64,
13756 OPC_CheckPatternPredicate, 111,
13757 OPC_CheckComplexPat0, /*#*/0,
13758 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu64),
13759 MVT::i64, 2, 1, 2,
13760 0,
13761 26, TARGET_VAL(MipsISD::Ins),
13762 OPC_RecordChild0,
13763 OPC_RecordChild1,
13764 OPC_MoveChild1,
13765 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13766 OPC_MoveSibling2,
13767 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13768 OPC_RecordNode,
13769 OPC_MoveParent,
13770 OPC_RecordChild3,
13771 OPC_CheckTypeI32,
13772 OPC_CheckPatternPredicate7,
13773 OPC_EmitConvertToTarget1,
13774 OPC_EmitConvertToTarget2,
13775 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INS_MMR6),
13776 MVT::i32, 4, 0, 4, 5, 3,
13777 104|128,22, TARGET_VAL(ISD::SETCC),
13778 OPC_RecordChild0,
13779 OPC_Scope, 35|128,6,
13780 OPC_CheckChild0TypeI32,
13781 OPC_Scope, 70,
13782 OPC_CheckChild1Integer, 0,
13783 OPC_CheckTypeI32,
13784 OPC_Scope, 37,
13785 OPC_CheckChild2CondCode, ISD::SETEQ,
13786 OPC_Scope, 10,
13787 OPC_CheckPatternPredicate2,
13788 OPC_EmitInteger32, 2,
13789 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
13790 MVT::i32, 2, 0, 1,
13791 10,
13792 OPC_CheckPatternPredicate4,
13793 OPC_EmitInteger32, 2,
13794 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
13795 MVT::i32, 2, 0, 1,
13796 10,
13797 OPC_CheckPatternPredicate5,
13798 OPC_EmitInteger32, 2,
13799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
13800 MVT::i32, 2, 0, 1,
13801 0,
13802 26,
13803 OPC_CheckChild2CondCode, ISD::SETNE,
13804 OPC_Scope, 10,
13805 OPC_CheckPatternPredicate2,
13806 OPC_EmitRegisterI32, Mips::ZERO,
13807 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
13808 MVT::i32, 2, 1, 0,
13809 10,
13810 OPC_CheckPatternPredicate4,
13811 OPC_EmitRegisterI32, Mips::ZERO,
13812 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
13813 MVT::i32, 2, 1, 0,
13814 0,
13815 0,
13816 34,
13817 OPC_CheckChild1Integer, 3|128,0|128,4,
13818 OPC_CheckChild2CondCode, ISD::SETGT,
13819 OPC_CheckTypeI32,
13820 OPC_CheckPatternPredicate5,
13821 OPC_EmitInteger32, 1|128,0|128,4,
13822 OPC_EmitNode1None, TARGET_VAL(Mips::SltiCCRxImmX16),
13823 MVT::i32, 2, 0, 1,
13824 OPC_EmitInteger32, 2,
13825 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
13826 MVT::i32, 1, 3,
13827 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
13828 MVT::i32, 2, 2, 4,
13829 52|128,5,
13830 OPC_RecordChild1,
13831 OPC_Scope, 37|128,1,
13832 OPC_MoveChild1,
13833 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13834 OPC_CheckPredicate7,
13835 OPC_MoveParent,
13836 OPC_CheckTypeI32,
13837 OPC_Scope, 34,
13838 OPC_CheckChild2CondCode, ISD::SETLT,
13839 OPC_Scope, 9,
13840 OPC_CheckPatternPredicate2,
13841 OPC_EmitConvertToTarget1,
13842 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi),
13843 MVT::i32, 2, 0, 2,
13844 9,
13845 OPC_CheckPatternPredicate4,
13846 OPC_EmitConvertToTarget1,
13847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi_MM),
13848 MVT::i32, 2, 0, 2,
13849 9,
13850 OPC_CheckPatternPredicate5,
13851 OPC_EmitConvertToTarget1,
13852 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiCCRxImmX16),
13853 MVT::i32, 2, 0, 2,
13854 0,
13855 34,
13856 OPC_CheckChild2CondCode, ISD::SETULT,
13857 OPC_Scope, 9,
13858 OPC_CheckPatternPredicate2,
13859 OPC_EmitConvertToTarget1,
13860 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
13861 MVT::i32, 2, 0, 2,
13862 9,
13863 OPC_CheckPatternPredicate4,
13864 OPC_EmitConvertToTarget1,
13865 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
13866 MVT::i32, 2, 0, 2,
13867 9,
13868 OPC_CheckPatternPredicate5,
13869 OPC_EmitConvertToTarget1,
13870 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
13871 MVT::i32, 2, 0, 2,
13872 0,
13873 42,
13874 OPC_CheckChild2CondCode, ISD::SETGE,
13875 OPC_Scope, 18,
13876 OPC_CheckPatternPredicate2,
13877 OPC_EmitConvertToTarget1,
13878 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
13879 MVT::i32, 2, 0, 2,
13880 OPC_EmitInteger32, 2,
13881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
13882 MVT::i32, 2, 3, 4,
13883 18,
13884 OPC_CheckPatternPredicate4,
13885 OPC_EmitConvertToTarget1,
13886 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
13887 MVT::i32, 2, 0, 2,
13888 OPC_EmitInteger32, 2,
13889 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
13890 MVT::i32, 2, 3, 4,
13891 0,
13892 42,
13893 OPC_CheckChild2CondCode, ISD::SETUGE,
13894 OPC_Scope, 18,
13895 OPC_CheckPatternPredicate2,
13896 OPC_EmitConvertToTarget1,
13897 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
13898 MVT::i32, 2, 0, 2,
13899 OPC_EmitInteger32, 2,
13900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
13901 MVT::i32, 2, 3, 4,
13902 18,
13903 OPC_CheckPatternPredicate4,
13904 OPC_EmitConvertToTarget1,
13905 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
13906 MVT::i32, 2, 0, 2,
13907 OPC_EmitInteger32, 2,
13908 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
13909 MVT::i32, 2, 3, 4,
13910 0,
13911 0,
13912 32,
13913 OPC_CheckChild2CondCode, ISD::SETLT,
13914 OPC_CheckTypeI32,
13915 OPC_Scope, 8,
13916 OPC_CheckPatternPredicate2,
13917 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
13918 MVT::i32, 2, 0, 1,
13919 8,
13920 OPC_CheckPatternPredicate4,
13921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
13922 MVT::i32, 2, 0, 1,
13923 8,
13924 OPC_CheckPatternPredicate5,
13925 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
13926 MVT::i32, 2, 0, 1,
13927 0,
13928 32,
13929 OPC_CheckChild2CondCode, ISD::SETULT,
13930 OPC_CheckTypeI32,
13931 OPC_Scope, 8,
13932 OPC_CheckPatternPredicate2,
13933 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
13934 MVT::i32, 2, 0, 1,
13935 8,
13936 OPC_CheckPatternPredicate4,
13937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
13938 MVT::i32, 2, 0, 1,
13939 8,
13940 OPC_CheckPatternPredicate5,
13941 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
13942 MVT::i32, 2, 0, 1,
13943 0,
13944 32,
13945 OPC_CheckChild2CondCode, ISD::SETGT,
13946 OPC_CheckTypeI32,
13947 OPC_Scope, 8,
13948 OPC_CheckPatternPredicate2,
13949 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
13950 MVT::i32, 2, 1, 0,
13951 8,
13952 OPC_CheckPatternPredicate4,
13953 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
13954 MVT::i32, 2, 1, 0,
13955 8,
13956 OPC_CheckPatternPredicate5,
13957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
13958 MVT::i32, 2, 1, 0,
13959 0,
13960 32,
13961 OPC_CheckChild2CondCode, ISD::SETUGT,
13962 OPC_CheckTypeI32,
13963 OPC_Scope, 8,
13964 OPC_CheckPatternPredicate2,
13965 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
13966 MVT::i32, 2, 1, 0,
13967 8,
13968 OPC_CheckPatternPredicate4,
13969 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
13970 MVT::i32, 2, 1, 0,
13971 8,
13972 OPC_CheckPatternPredicate5,
13973 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
13974 MVT::i32, 2, 1, 0,
13975 0,
13976 59,
13977 OPC_CheckChild2CondCode, ISD::SETEQ,
13978 OPC_CheckTypeI32,
13979 OPC_Scope, 17,
13980 OPC_CheckPatternPredicate2,
13981 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
13982 MVT::i32, 2, 0, 1,
13983 OPC_EmitInteger32, 2,
13984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
13985 MVT::i32, 2, 2, 3,
13986 17,
13987 OPC_CheckPatternPredicate4,
13988 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
13989 MVT::i32, 2, 0, 1,
13990 OPC_EmitInteger32, 2,
13991 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
13992 MVT::i32, 2, 2, 3,
13993 17,
13994 OPC_CheckPatternPredicate5,
13995 OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
13996 MVT::i32, 2, 0, 1,
13997 OPC_EmitInteger32, 2,
13998 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
13999 MVT::i32, 2, 2, 3,
14000 0,
14001 65,
14002 OPC_CheckChild2CondCode, ISD::SETNE,
14003 OPC_CheckTypeI32,
14004 OPC_Scope, 17,
14005 OPC_CheckPatternPredicate2,
14006 OPC_EmitRegisterI32, Mips::ZERO,
14007 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
14008 MVT::i32, 2, 0, 1,
14009 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
14010 MVT::i32, 2, 2, 3,
14011 17,
14012 OPC_CheckPatternPredicate4,
14013 OPC_EmitRegisterI32, Mips::ZERO,
14014 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
14015 MVT::i32, 2, 0, 1,
14016 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
14017 MVT::i32, 2, 2, 3,
14018 23,
14019 OPC_CheckPatternPredicate5,
14020 OPC_EmitInteger32, 0,
14021 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14022 MVT::i32, 1, 2,
14023 OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
14024 MVT::i32, 2, 0, 1,
14025 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
14026 MVT::i32, 2, 3, 4,
14027 0,
14028 65,
14029 OPC_CheckChild2CondCode, ISD::SETLE,
14030 OPC_CheckTypeI32,
14031 OPC_Scope, 17,
14032 OPC_CheckPatternPredicate2,
14033 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
14034 MVT::i32, 2, 1, 0,
14035 OPC_EmitInteger32, 2,
14036 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14037 MVT::i32, 2, 2, 3,
14038 17,
14039 OPC_CheckPatternPredicate4,
14040 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
14041 MVT::i32, 2, 1, 0,
14042 OPC_EmitInteger32, 2,
14043 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14044 MVT::i32, 2, 2, 3,
14045 23,
14046 OPC_CheckPatternPredicate5,
14047 OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
14048 MVT::i32, 2, 1, 0,
14049 OPC_EmitInteger32, 2,
14050 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImm16),
14051 MVT::i32, 1, 3,
14052 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14053 MVT::i32, 2, 2, 4,
14054 0,
14055 65,
14056 OPC_CheckChild2CondCode, ISD::SETULE,
14057 OPC_CheckTypeI32,
14058 OPC_Scope, 17,
14059 OPC_CheckPatternPredicate2,
14060 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
14061 MVT::i32, 2, 1, 0,
14062 OPC_EmitInteger32, 2,
14063 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14064 MVT::i32, 2, 2, 3,
14065 17,
14066 OPC_CheckPatternPredicate4,
14067 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
14068 MVT::i32, 2, 1, 0,
14069 OPC_EmitInteger32, 2,
14070 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14071 MVT::i32, 2, 2, 3,
14072 23,
14073 OPC_CheckPatternPredicate5,
14074 OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
14075 MVT::i32, 2, 1, 0,
14076 OPC_EmitInteger32, 2,
14077 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14078 MVT::i32, 1, 3,
14079 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14080 MVT::i32, 2, 2, 4,
14081 0,
14082 65,
14083 OPC_CheckChild2CondCode, ISD::SETGE,
14084 OPC_CheckTypeI32,
14085 OPC_Scope, 17,
14086 OPC_CheckPatternPredicate2,
14087 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
14088 MVT::i32, 2, 0, 1,
14089 OPC_EmitInteger32, 2,
14090 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14091 MVT::i32, 2, 2, 3,
14092 17,
14093 OPC_CheckPatternPredicate4,
14094 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
14095 MVT::i32, 2, 0, 1,
14096 OPC_EmitInteger32, 2,
14097 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14098 MVT::i32, 2, 2, 3,
14099 23,
14100 OPC_CheckPatternPredicate5,
14101 OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
14102 MVT::i32, 2, 0, 1,
14103 OPC_EmitInteger32, 2,
14104 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14105 MVT::i32, 1, 3,
14106 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14107 MVT::i32, 2, 2, 4,
14108 0,
14109 65,
14110 OPC_CheckChild2CondCode, ISD::SETUGE,
14111 OPC_CheckTypeI32,
14112 OPC_Scope, 17,
14113 OPC_CheckPatternPredicate2,
14114 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
14115 MVT::i32, 2, 0, 1,
14116 OPC_EmitInteger32, 2,
14117 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14118 MVT::i32, 2, 2, 3,
14119 17,
14120 OPC_CheckPatternPredicate4,
14121 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
14122 MVT::i32, 2, 0, 1,
14123 OPC_EmitInteger32, 2,
14124 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14125 MVT::i32, 2, 2, 3,
14126 23,
14127 OPC_CheckPatternPredicate5,
14128 OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
14129 MVT::i32, 2, 0, 1,
14130 OPC_EmitInteger32, 2,
14131 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14132 MVT::i32, 1, 3,
14133 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14134 MVT::i32, 2, 2, 4,
14135 0,
14136 0,
14137 0,
14138 54|128,2,
14139 OPC_CheckChild0TypeI64,
14140 OPC_Scope, 35,
14141 OPC_CheckChild1Integer, 0,
14142 OPC_CheckTypeI32,
14143 OPC_Scope, 13,
14144 OPC_CheckChild2CondCode, ISD::SETEQ,
14145 OPC_CheckPatternPredicate, 29,
14146 OPC_EmitInteger64, 2,
14147 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14148 MVT::i32, 2, 0, 1,
14149 15,
14150 OPC_CheckChild2CondCode, ISD::SETNE,
14151 OPC_CheckPatternPredicate, 29,
14152 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
14153 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14154 MVT::i32, 2, 1, 0,
14155 0,
14156 13|128,2,
14157 OPC_RecordChild1,
14158 OPC_Scope, 79,
14159 OPC_MoveChild1,
14160 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14161 OPC_CheckPredicate7,
14162 OPC_MoveParent,
14163 OPC_CheckTypeI32,
14164 OPC_Scope, 12,
14165 OPC_CheckChild2CondCode, ISD::SETLT,
14166 OPC_CheckPatternPredicate, 18,
14167 OPC_EmitConvertToTarget1,
14168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi64),
14169 MVT::i32, 2, 0, 2,
14170 12,
14171 OPC_CheckChild2CondCode, ISD::SETULT,
14172 OPC_CheckPatternPredicate, 18,
14173 OPC_EmitConvertToTarget1,
14174 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14175 MVT::i32, 2, 0, 2,
14176 21,
14177 OPC_CheckChild2CondCode, ISD::SETGE,
14178 OPC_CheckPatternPredicate, 29,
14179 OPC_EmitConvertToTarget1,
14180 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
14181 MVT::i32, 2, 0, 2,
14182 OPC_EmitInteger32, 2,
14183 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14184 MVT::i32, 2, 3, 4,
14185 21,
14186 OPC_CheckChild2CondCode, ISD::SETUGE,
14187 OPC_CheckPatternPredicate, 29,
14188 OPC_EmitConvertToTarget1,
14189 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
14190 MVT::i32, 2, 0, 2,
14191 OPC_EmitInteger32, 2,
14192 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14193 MVT::i32, 2, 3, 4,
14194 0,
14195 12,
14196 OPC_CheckChild2CondCode, ISD::SETLT,
14197 OPC_CheckTypeI32,
14198 OPC_CheckPatternPredicate, 18,
14199 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
14200 MVT::i32, 2, 0, 1,
14201 12,
14202 OPC_CheckChild2CondCode, ISD::SETULT,
14203 OPC_CheckTypeI32,
14204 OPC_CheckPatternPredicate, 18,
14205 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14206 MVT::i32, 2, 0, 1,
14207 12,
14208 OPC_CheckChild2CondCode, ISD::SETGT,
14209 OPC_CheckTypeI32,
14210 OPC_CheckPatternPredicate, 29,
14211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
14212 MVT::i32, 2, 1, 0,
14213 12,
14214 OPC_CheckChild2CondCode, ISD::SETUGT,
14215 OPC_CheckTypeI32,
14216 OPC_CheckPatternPredicate, 29,
14217 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14218 MVT::i32, 2, 1, 0,
14219 21,
14220 OPC_CheckChild2CondCode, ISD::SETEQ,
14221 OPC_CheckTypeI32,
14222 OPC_CheckPatternPredicate, 29,
14223 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
14224 MVT::i64, 2, 0, 1,
14225 OPC_EmitInteger64, 2,
14226 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14227 MVT::i32, 2, 2, 3,
14228 23,
14229 OPC_CheckChild2CondCode, ISD::SETNE,
14230 OPC_CheckTypeI32,
14231 OPC_CheckPatternPredicate, 29,
14232 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
14233 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
14234 MVT::i64, 2, 0, 1,
14235 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14236 MVT::i32, 2, 2, 3,
14237 21,
14238 OPC_CheckChild2CondCode, ISD::SETLE,
14239 OPC_CheckTypeI32,
14240 OPC_CheckPatternPredicate, 29,
14241 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
14242 MVT::i32, 2, 1, 0,
14243 OPC_EmitInteger32, 2,
14244 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14245 MVT::i32, 2, 2, 3,
14246 21,
14247 OPC_CheckChild2CondCode, ISD::SETULE,
14248 OPC_CheckTypeI32,
14249 OPC_CheckPatternPredicate, 29,
14250 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
14251 MVT::i32, 2, 1, 0,
14252 OPC_EmitInteger32, 2,
14253 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14254 MVT::i32, 2, 2, 3,
14255 21,
14256 OPC_CheckChild2CondCode, ISD::SETGE,
14257 OPC_CheckTypeI32,
14258 OPC_CheckPatternPredicate, 29,
14259 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
14260 MVT::i32, 2, 0, 1,
14261 OPC_EmitInteger32, 2,
14262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14263 MVT::i32, 2, 2, 3,
14264 21,
14265 OPC_CheckChild2CondCode, ISD::SETUGE,
14266 OPC_CheckTypeI32,
14267 OPC_CheckPatternPredicate, 29,
14268 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
14269 MVT::i32, 2, 0, 1,
14270 OPC_EmitInteger32, 2,
14271 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14272 MVT::i32, 2, 2, 3,
14273 0,
14274 0,
14275 85|128,3,
14276 OPC_CheckChild0Type, MVT::f32,
14277 OPC_RecordChild1,
14278 OPC_CheckTypeI32,
14279 OPC_Scope, 24,
14280 OPC_CheckChild2CondCode, ISD::SETUO,
14281 OPC_Scope, 9,
14282 OPC_CheckPatternPredicate, 26,
14283 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S),
14284 MVT::i32, 2, 0, 1,
14285 9,
14286 OPC_CheckPatternPredicate, 24,
14287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S_MMR6),
14288 MVT::i32, 2, 0, 1,
14289 0,
14290 24,
14291 OPC_CheckChild2CondCode, ISD::SETOEQ,
14292 OPC_Scope, 9,
14293 OPC_CheckPatternPredicate, 26,
14294 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
14295 MVT::i32, 2, 0, 1,
14296 9,
14297 OPC_CheckPatternPredicate, 24,
14298 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14299 MVT::i32, 2, 0, 1,
14300 0,
14301 24,
14302 OPC_CheckChild2CondCode, ISD::SETUEQ,
14303 OPC_Scope, 9,
14304 OPC_CheckPatternPredicate, 26,
14305 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S),
14306 MVT::i32, 2, 0, 1,
14307 9,
14308 OPC_CheckPatternPredicate, 24,
14309 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S_MMR6),
14310 MVT::i32, 2, 0, 1,
14311 0,
14312 24,
14313 OPC_CheckChild2CondCode, ISD::SETOLT,
14314 OPC_Scope, 9,
14315 OPC_CheckPatternPredicate, 26,
14316 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14317 MVT::i32, 2, 0, 1,
14318 9,
14319 OPC_CheckPatternPredicate, 24,
14320 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14321 MVT::i32, 2, 0, 1,
14322 0,
14323 24,
14324 OPC_CheckChild2CondCode, ISD::SETULT,
14325 OPC_Scope, 9,
14326 OPC_CheckPatternPredicate, 26,
14327 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S),
14328 MVT::i32, 2, 0, 1,
14329 9,
14330 OPC_CheckPatternPredicate, 24,
14331 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S_MMR6),
14332 MVT::i32, 2, 0, 1,
14333 0,
14334 24,
14335 OPC_CheckChild2CondCode, ISD::SETOLE,
14336 OPC_Scope, 9,
14337 OPC_CheckPatternPredicate, 26,
14338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14339 MVT::i32, 2, 0, 1,
14340 9,
14341 OPC_CheckPatternPredicate, 24,
14342 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14343 MVT::i32, 2, 0, 1,
14344 0,
14345 24,
14346 OPC_CheckChild2CondCode, ISD::SETULE,
14347 OPC_Scope, 9,
14348 OPC_CheckPatternPredicate, 26,
14349 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S),
14350 MVT::i32, 2, 0, 1,
14351 9,
14352 OPC_CheckPatternPredicate, 24,
14353 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S_MMR6),
14354 MVT::i32, 2, 0, 1,
14355 0,
14356 23,
14357 OPC_CheckChild2CondCode, ISD::SETEQ,
14358 OPC_Scope, 9,
14359 OPC_CheckPatternPredicate, 14,
14360 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
14361 MVT::i32, 2, 0, 1,
14362 8,
14363 OPC_CheckPatternPredicate7,
14364 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14365 MVT::i32, 2, 0, 1,
14366 0,
14367 23,
14368 OPC_CheckChild2CondCode, ISD::SETGT,
14369 OPC_Scope, 9,
14370 OPC_CheckPatternPredicate, 14,
14371 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14372 MVT::i32, 2, 1, 0,
14373 8,
14374 OPC_CheckPatternPredicate7,
14375 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14376 MVT::i32, 2, 1, 0,
14377 0,
14378 23,
14379 OPC_CheckChild2CondCode, ISD::SETGE,
14380 OPC_Scope, 9,
14381 OPC_CheckPatternPredicate, 14,
14382 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14383 MVT::i32, 2, 1, 0,
14384 8,
14385 OPC_CheckPatternPredicate7,
14386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14387 MVT::i32, 2, 1, 0,
14388 0,
14389 23,
14390 OPC_CheckChild2CondCode, ISD::SETLT,
14391 OPC_Scope, 9,
14392 OPC_CheckPatternPredicate, 14,
14393 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14394 MVT::i32, 2, 0, 1,
14395 8,
14396 OPC_CheckPatternPredicate7,
14397 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14398 MVT::i32, 2, 0, 1,
14399 0,
14400 23,
14401 OPC_CheckChild2CondCode, ISD::SETLE,
14402 OPC_Scope, 9,
14403 OPC_CheckPatternPredicate, 14,
14404 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14405 MVT::i32, 2, 0, 1,
14406 8,
14407 OPC_CheckPatternPredicate7,
14408 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14409 MVT::i32, 2, 0, 1,
14410 0,
14411 41,
14412 OPC_CheckChild2CondCode, ISD::SETONE,
14413 OPC_Scope, 18,
14414 OPC_CheckPatternPredicate, 14,
14415 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UEQ_S),
14416 MVT::i32, 2, 0, 1,
14417 OPC_EmitRegisterI32, Mips::ZERO,
14418 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14419 MVT::i32, 2, 2, 3,
14420 17,
14421 OPC_CheckPatternPredicate7,
14422 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UEQ_S_MMR6),
14423 MVT::i32, 2, 0, 1,
14424 OPC_EmitRegisterI32, Mips::ZERO,
14425 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14426 MVT::i32, 2, 2, 3,
14427 0,
14428 41,
14429 OPC_CheckChild2CondCode, ISD::SETO,
14430 OPC_Scope, 18,
14431 OPC_CheckPatternPredicate, 14,
14432 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UN_S),
14433 MVT::i32, 2, 0, 1,
14434 OPC_EmitRegisterI32, Mips::ZERO,
14435 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14436 MVT::i32, 2, 2, 3,
14437 17,
14438 OPC_CheckPatternPredicate7,
14439 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UN_S_MMR6),
14440 MVT::i32, 2, 0, 1,
14441 OPC_EmitRegisterI32, Mips::ZERO,
14442 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14443 MVT::i32, 2, 2, 3,
14444 0,
14445 41,
14446 OPC_CheckChild2CondCode, ISD::SETUNE,
14447 OPC_Scope, 18,
14448 OPC_CheckPatternPredicate, 14,
14449 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_S),
14450 MVT::i32, 2, 0, 1,
14451 OPC_EmitRegisterI32, Mips::ZERO,
14452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14453 MVT::i32, 2, 2, 3,
14454 17,
14455 OPC_CheckPatternPredicate7,
14456 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14457 MVT::i32, 2, 0, 1,
14458 OPC_EmitRegisterI32, Mips::ZERO,
14459 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14460 MVT::i32, 2, 2, 3,
14461 0,
14462 41,
14463 OPC_CheckChild2CondCode, ISD::SETNE,
14464 OPC_Scope, 18,
14465 OPC_CheckPatternPredicate, 14,
14466 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_S),
14467 MVT::i32, 2, 0, 1,
14468 OPC_EmitRegisterI32, Mips::ZERO,
14469 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14470 MVT::i32, 2, 2, 3,
14471 17,
14472 OPC_CheckPatternPredicate7,
14473 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14474 MVT::i32, 2, 0, 1,
14475 OPC_EmitRegisterI32, Mips::ZERO,
14476 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14477 MVT::i32, 2, 2, 3,
14478 0,
14479 0,
14480 85|128,3,
14481 OPC_CheckChild0Type, MVT::f64,
14482 OPC_RecordChild1,
14483 OPC_CheckTypeI32,
14484 OPC_Scope, 24,
14485 OPC_CheckChild2CondCode, ISD::SETUO,
14486 OPC_Scope, 9,
14487 OPC_CheckPatternPredicate, 26,
14488 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D),
14489 MVT::i32, 2, 0, 1,
14490 9,
14491 OPC_CheckPatternPredicate, 24,
14492 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D_MMR6),
14493 MVT::i32, 2, 0, 1,
14494 0,
14495 24,
14496 OPC_CheckChild2CondCode, ISD::SETOEQ,
14497 OPC_Scope, 9,
14498 OPC_CheckPatternPredicate, 26,
14499 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
14500 MVT::i32, 2, 0, 1,
14501 9,
14502 OPC_CheckPatternPredicate, 24,
14503 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14504 MVT::i32, 2, 0, 1,
14505 0,
14506 24,
14507 OPC_CheckChild2CondCode, ISD::SETUEQ,
14508 OPC_Scope, 9,
14509 OPC_CheckPatternPredicate, 26,
14510 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D),
14511 MVT::i32, 2, 0, 1,
14512 9,
14513 OPC_CheckPatternPredicate, 24,
14514 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D_MMR6),
14515 MVT::i32, 2, 0, 1,
14516 0,
14517 24,
14518 OPC_CheckChild2CondCode, ISD::SETOLT,
14519 OPC_Scope, 9,
14520 OPC_CheckPatternPredicate, 26,
14521 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14522 MVT::i32, 2, 0, 1,
14523 9,
14524 OPC_CheckPatternPredicate, 24,
14525 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14526 MVT::i32, 2, 0, 1,
14527 0,
14528 24,
14529 OPC_CheckChild2CondCode, ISD::SETULT,
14530 OPC_Scope, 9,
14531 OPC_CheckPatternPredicate, 26,
14532 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D),
14533 MVT::i32, 2, 0, 1,
14534 9,
14535 OPC_CheckPatternPredicate, 24,
14536 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D_MMR6),
14537 MVT::i32, 2, 0, 1,
14538 0,
14539 24,
14540 OPC_CheckChild2CondCode, ISD::SETOLE,
14541 OPC_Scope, 9,
14542 OPC_CheckPatternPredicate, 26,
14543 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14544 MVT::i32, 2, 0, 1,
14545 9,
14546 OPC_CheckPatternPredicate, 24,
14547 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14548 MVT::i32, 2, 0, 1,
14549 0,
14550 24,
14551 OPC_CheckChild2CondCode, ISD::SETULE,
14552 OPC_Scope, 9,
14553 OPC_CheckPatternPredicate, 26,
14554 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D),
14555 MVT::i32, 2, 0, 1,
14556 9,
14557 OPC_CheckPatternPredicate, 24,
14558 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D_MMR6),
14559 MVT::i32, 2, 0, 1,
14560 0,
14561 23,
14562 OPC_CheckChild2CondCode, ISD::SETEQ,
14563 OPC_Scope, 9,
14564 OPC_CheckPatternPredicate, 14,
14565 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
14566 MVT::i32, 2, 0, 1,
14567 8,
14568 OPC_CheckPatternPredicate7,
14569 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14570 MVT::i32, 2, 0, 1,
14571 0,
14572 23,
14573 OPC_CheckChild2CondCode, ISD::SETGT,
14574 OPC_Scope, 9,
14575 OPC_CheckPatternPredicate, 14,
14576 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14577 MVT::i32, 2, 1, 0,
14578 8,
14579 OPC_CheckPatternPredicate7,
14580 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14581 MVT::i32, 2, 1, 0,
14582 0,
14583 23,
14584 OPC_CheckChild2CondCode, ISD::SETGE,
14585 OPC_Scope, 9,
14586 OPC_CheckPatternPredicate, 14,
14587 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14588 MVT::i32, 2, 1, 0,
14589 8,
14590 OPC_CheckPatternPredicate7,
14591 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14592 MVT::i32, 2, 1, 0,
14593 0,
14594 23,
14595 OPC_CheckChild2CondCode, ISD::SETLT,
14596 OPC_Scope, 9,
14597 OPC_CheckPatternPredicate, 14,
14598 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14599 MVT::i32, 2, 0, 1,
14600 8,
14601 OPC_CheckPatternPredicate7,
14602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14603 MVT::i32, 2, 0, 1,
14604 0,
14605 23,
14606 OPC_CheckChild2CondCode, ISD::SETLE,
14607 OPC_Scope, 9,
14608 OPC_CheckPatternPredicate, 14,
14609 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14610 MVT::i32, 2, 0, 1,
14611 8,
14612 OPC_CheckPatternPredicate7,
14613 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14614 MVT::i32, 2, 0, 1,
14615 0,
14616 41,
14617 OPC_CheckChild2CondCode, ISD::SETONE,
14618 OPC_Scope, 18,
14619 OPC_CheckPatternPredicate, 14,
14620 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UEQ_D),
14621 MVT::i32, 2, 0, 1,
14622 OPC_EmitRegisterI32, Mips::ZERO,
14623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14624 MVT::i32, 2, 2, 3,
14625 17,
14626 OPC_CheckPatternPredicate7,
14627 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UEQ_D_MMR6),
14628 MVT::i32, 2, 0, 1,
14629 OPC_EmitRegisterI32, Mips::ZERO,
14630 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14631 MVT::i32, 2, 2, 3,
14632 0,
14633 41,
14634 OPC_CheckChild2CondCode, ISD::SETO,
14635 OPC_Scope, 18,
14636 OPC_CheckPatternPredicate, 14,
14637 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UN_D),
14638 MVT::i32, 2, 0, 1,
14639 OPC_EmitRegisterI32, Mips::ZERO,
14640 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14641 MVT::i32, 2, 2, 3,
14642 17,
14643 OPC_CheckPatternPredicate7,
14644 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UN_D_MMR6),
14645 MVT::i32, 2, 0, 1,
14646 OPC_EmitRegisterI32, Mips::ZERO,
14647 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14648 MVT::i32, 2, 2, 3,
14649 0,
14650 41,
14651 OPC_CheckChild2CondCode, ISD::SETUNE,
14652 OPC_Scope, 18,
14653 OPC_CheckPatternPredicate, 14,
14654 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_D),
14655 MVT::i32, 2, 0, 1,
14656 OPC_EmitRegisterI32, Mips::ZERO,
14657 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14658 MVT::i32, 2, 2, 3,
14659 17,
14660 OPC_CheckPatternPredicate7,
14661 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14662 MVT::i32, 2, 0, 1,
14663 OPC_EmitRegisterI32, Mips::ZERO,
14664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14665 MVT::i32, 2, 2, 3,
14666 0,
14667 41,
14668 OPC_CheckChild2CondCode, ISD::SETNE,
14669 OPC_Scope, 18,
14670 OPC_CheckPatternPredicate, 14,
14671 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_D),
14672 MVT::i32, 2, 0, 1,
14673 OPC_EmitRegisterI32, Mips::ZERO,
14674 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14675 MVT::i32, 2, 2, 3,
14676 17,
14677 OPC_CheckPatternPredicate7,
14678 OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14679 MVT::i32, 2, 0, 1,
14680 OPC_EmitRegisterI32, Mips::ZERO,
14681 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14682 MVT::i32, 2, 2, 3,
14683 0,
14684 0,
14685 2|128,1,
14686 OPC_CheckChild0Type, MVT::v16i8,
14687 OPC_RecordChild1,
14688 OPC_CheckType, MVT::v16i8,
14689 OPC_Scope, 24,
14690 OPC_CheckChild2CondCode, ISD::SETEQ,
14691 OPC_CheckPatternPredicate0,
14692 OPC_Scope, 10,
14693 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
14694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_B),
14695 MVT::v16i8, 2, 0, 2,
14696 7,
14697 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_B),
14698 MVT::v16i8, 2, 0, 1,
14699 0,
14700 24,
14701 OPC_CheckChild2CondCode, ISD::SETLE,
14702 OPC_CheckPatternPredicate0,
14703 OPC_Scope, 10,
14704 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
14705 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_B),
14706 MVT::v16i8, 2, 0, 2,
14707 7,
14708 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_B),
14709 MVT::v16i8, 2, 0, 1,
14710 0,
14711 23,
14712 OPC_CheckChild2CondCode, ISD::SETULE,
14713 OPC_CheckPatternPredicate0,
14714 OPC_Scope, 9,
14715 OPC_CheckComplexPat7, /*#*/1,
14716 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_B),
14717 MVT::v16i8, 2, 0, 2,
14718 7,
14719 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_B),
14720 MVT::v16i8, 2, 0, 1,
14721 0,
14722 24,
14723 OPC_CheckChild2CondCode, ISD::SETLT,
14724 OPC_CheckPatternPredicate0,
14725 OPC_Scope, 10,
14726 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
14727 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_B),
14728 MVT::v16i8, 2, 0, 2,
14729 7,
14730 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_B),
14731 MVT::v16i8, 2, 0, 1,
14732 0,
14733 23,
14734 OPC_CheckChild2CondCode, ISD::SETULT,
14735 OPC_CheckPatternPredicate0,
14736 OPC_Scope, 9,
14737 OPC_CheckComplexPat7, /*#*/1,
14738 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_B),
14739 MVT::v16i8, 2, 0, 2,
14740 7,
14741 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_B),
14742 MVT::v16i8, 2, 0, 1,
14743 0,
14744 0,
14745 4|128,1,
14746 OPC_CheckChild0Type, MVT::v8i16,
14747 OPC_RecordChild1,
14748 OPC_CheckType, MVT::v8i16,
14749 OPC_Scope, 24,
14750 OPC_CheckChild2CondCode, ISD::SETEQ,
14751 OPC_CheckPatternPredicate0,
14752 OPC_Scope, 10,
14753 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
14754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_H),
14755 MVT::v8i16, 2, 0, 2,
14756 7,
14757 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_H),
14758 MVT::v8i16, 2, 0, 1,
14759 0,
14760 24,
14761 OPC_CheckChild2CondCode, ISD::SETLE,
14762 OPC_CheckPatternPredicate0,
14763 OPC_Scope, 10,
14764 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
14765 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_H),
14766 MVT::v8i16, 2, 0, 2,
14767 7,
14768 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_H),
14769 MVT::v8i16, 2, 0, 1,
14770 0,
14771 24,
14772 OPC_CheckChild2CondCode, ISD::SETULE,
14773 OPC_CheckPatternPredicate0,
14774 OPC_Scope, 10,
14775 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
14776 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_H),
14777 MVT::v8i16, 2, 0, 2,
14778 7,
14779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_H),
14780 MVT::v8i16, 2, 0, 1,
14781 0,
14782 24,
14783 OPC_CheckChild2CondCode, ISD::SETLT,
14784 OPC_CheckPatternPredicate0,
14785 OPC_Scope, 10,
14786 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
14787 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_H),
14788 MVT::v8i16, 2, 0, 2,
14789 7,
14790 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_H),
14791 MVT::v8i16, 2, 0, 1,
14792 0,
14793 24,
14794 OPC_CheckChild2CondCode, ISD::SETULT,
14795 OPC_CheckPatternPredicate0,
14796 OPC_Scope, 10,
14797 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
14798 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_H),
14799 MVT::v8i16, 2, 0, 2,
14800 7,
14801 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_H),
14802 MVT::v8i16, 2, 0, 1,
14803 0,
14804 0,
14805 2|128,1,
14806 OPC_CheckChild0Type, MVT::v4i32,
14807 OPC_RecordChild1,
14808 OPC_CheckType, MVT::v4i32,
14809 OPC_Scope, 24,
14810 OPC_CheckChild2CondCode, ISD::SETEQ,
14811 OPC_CheckPatternPredicate0,
14812 OPC_Scope, 10,
14813 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
14814 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_W),
14815 MVT::v4i32, 2, 0, 2,
14816 7,
14817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_W),
14818 MVT::v4i32, 2, 0, 1,
14819 0,
14820 24,
14821 OPC_CheckChild2CondCode, ISD::SETLE,
14822 OPC_CheckPatternPredicate0,
14823 OPC_Scope, 10,
14824 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
14825 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_W),
14826 MVT::v4i32, 2, 0, 2,
14827 7,
14828 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_W),
14829 MVT::v4i32, 2, 0, 1,
14830 0,
14831 23,
14832 OPC_CheckChild2CondCode, ISD::SETULE,
14833 OPC_CheckPatternPredicate0,
14834 OPC_Scope, 9,
14835 OPC_CheckComplexPat4, /*#*/1,
14836 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_W),
14837 MVT::v4i32, 2, 0, 2,
14838 7,
14839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_W),
14840 MVT::v4i32, 2, 0, 1,
14841 0,
14842 24,
14843 OPC_CheckChild2CondCode, ISD::SETLT,
14844 OPC_CheckPatternPredicate0,
14845 OPC_Scope, 10,
14846 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
14847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_W),
14848 MVT::v4i32, 2, 0, 2,
14849 7,
14850 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_W),
14851 MVT::v4i32, 2, 0, 1,
14852 0,
14853 23,
14854 OPC_CheckChild2CondCode, ISD::SETULT,
14855 OPC_CheckPatternPredicate0,
14856 OPC_Scope, 9,
14857 OPC_CheckComplexPat4, /*#*/1,
14858 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_W),
14859 MVT::v4i32, 2, 0, 2,
14860 7,
14861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_W),
14862 MVT::v4i32, 2, 0, 1,
14863 0,
14864 0,
14865 4|128,1,
14866 OPC_CheckChild0Type, MVT::v2i64,
14867 OPC_RecordChild1,
14868 OPC_CheckType, MVT::v2i64,
14869 OPC_Scope, 24,
14870 OPC_CheckChild2CondCode, ISD::SETEQ,
14871 OPC_CheckPatternPredicate0,
14872 OPC_Scope, 10,
14873 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
14874 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_D),
14875 MVT::v2i64, 2, 0, 2,
14876 7,
14877 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_D),
14878 MVT::v2i64, 2, 0, 1,
14879 0,
14880 24,
14881 OPC_CheckChild2CondCode, ISD::SETLE,
14882 OPC_CheckPatternPredicate0,
14883 OPC_Scope, 10,
14884 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
14885 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_D),
14886 MVT::v2i64, 2, 0, 2,
14887 7,
14888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_D),
14889 MVT::v2i64, 2, 0, 1,
14890 0,
14891 24,
14892 OPC_CheckChild2CondCode, ISD::SETULE,
14893 OPC_CheckPatternPredicate0,
14894 OPC_Scope, 10,
14895 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
14896 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_D),
14897 MVT::v2i64, 2, 0, 2,
14898 7,
14899 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_D),
14900 MVT::v2i64, 2, 0, 1,
14901 0,
14902 24,
14903 OPC_CheckChild2CondCode, ISD::SETLT,
14904 OPC_CheckPatternPredicate0,
14905 OPC_Scope, 10,
14906 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
14907 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_D),
14908 MVT::v2i64, 2, 0, 2,
14909 7,
14910 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_D),
14911 MVT::v2i64, 2, 0, 1,
14912 0,
14913 24,
14914 OPC_CheckChild2CondCode, ISD::SETULT,
14915 OPC_CheckPatternPredicate0,
14916 OPC_Scope, 10,
14917 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
14918 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_D),
14919 MVT::v2i64, 2, 0, 2,
14920 7,
14921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_D),
14922 MVT::v2i64, 2, 0, 1,
14923 0,
14924 0,
14925 33|128,1,
14926 OPC_CheckChild0Type, MVT::v4f32,
14927 OPC_RecordChild1,
14928 OPC_CheckType, MVT::v4i32,
14929 OPC_Scope, 10,
14930 OPC_CheckChild2CondCode, ISD::SETOEQ,
14931 OPC_CheckPatternPredicate0,
14932 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
14933 MVT::v4i32, 2, 0, 1,
14934 10,
14935 OPC_CheckChild2CondCode, ISD::SETOLE,
14936 OPC_CheckPatternPredicate0,
14937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
14938 MVT::v4i32, 2, 0, 1,
14939 10,
14940 OPC_CheckChild2CondCode, ISD::SETOLT,
14941 OPC_CheckPatternPredicate0,
14942 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
14943 MVT::v4i32, 2, 0, 1,
14944 10,
14945 OPC_CheckChild2CondCode, ISD::SETONE,
14946 OPC_CheckPatternPredicate0,
14947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
14948 MVT::v4i32, 2, 0, 1,
14949 10,
14950 OPC_CheckChild2CondCode, ISD::SETO,
14951 OPC_CheckPatternPredicate0,
14952 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_W),
14953 MVT::v4i32, 2, 0, 1,
14954 10,
14955 OPC_CheckChild2CondCode, ISD::SETUEQ,
14956 OPC_CheckPatternPredicate0,
14957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_W),
14958 MVT::v4i32, 2, 0, 1,
14959 10,
14960 OPC_CheckChild2CondCode, ISD::SETULE,
14961 OPC_CheckPatternPredicate0,
14962 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_W),
14963 MVT::v4i32, 2, 0, 1,
14964 10,
14965 OPC_CheckChild2CondCode, ISD::SETULT,
14966 OPC_CheckPatternPredicate0,
14967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_W),
14968 MVT::v4i32, 2, 0, 1,
14969 10,
14970 OPC_CheckChild2CondCode, ISD::SETUO,
14971 OPC_CheckPatternPredicate0,
14972 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_W),
14973 MVT::v4i32, 2, 0, 1,
14974 10,
14975 OPC_CheckChild2CondCode, ISD::SETUNE,
14976 OPC_CheckPatternPredicate0,
14977 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_W),
14978 MVT::v4i32, 2, 0, 1,
14979 10,
14980 OPC_CheckChild2CondCode, ISD::SETEQ,
14981 OPC_CheckPatternPredicate3,
14982 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
14983 MVT::v4i32, 2, 0, 1,
14984 10,
14985 OPC_CheckChild2CondCode, ISD::SETLE,
14986 OPC_CheckPatternPredicate3,
14987 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
14988 MVT::v4i32, 2, 0, 1,
14989 10,
14990 OPC_CheckChild2CondCode, ISD::SETLT,
14991 OPC_CheckPatternPredicate3,
14992 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
14993 MVT::v4i32, 2, 0, 1,
14994 10,
14995 OPC_CheckChild2CondCode, ISD::SETNE,
14996 OPC_CheckPatternPredicate3,
14997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
14998 MVT::v4i32, 2, 0, 1,
14999 0,
15000 33|128,1,
15001 OPC_CheckChild0Type, MVT::v2f64,
15002 OPC_RecordChild1,
15003 OPC_CheckType, MVT::v2i64,
15004 OPC_Scope, 10,
15005 OPC_CheckChild2CondCode, ISD::SETOEQ,
15006 OPC_CheckPatternPredicate0,
15007 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
15008 MVT::v2i64, 2, 0, 1,
15009 10,
15010 OPC_CheckChild2CondCode, ISD::SETOLE,
15011 OPC_CheckPatternPredicate0,
15012 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
15013 MVT::v2i64, 2, 0, 1,
15014 10,
15015 OPC_CheckChild2CondCode, ISD::SETOLT,
15016 OPC_CheckPatternPredicate0,
15017 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
15018 MVT::v2i64, 2, 0, 1,
15019 10,
15020 OPC_CheckChild2CondCode, ISD::SETONE,
15021 OPC_CheckPatternPredicate0,
15022 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
15023 MVT::v2i64, 2, 0, 1,
15024 10,
15025 OPC_CheckChild2CondCode, ISD::SETO,
15026 OPC_CheckPatternPredicate0,
15027 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_D),
15028 MVT::v2i64, 2, 0, 1,
15029 10,
15030 OPC_CheckChild2CondCode, ISD::SETUEQ,
15031 OPC_CheckPatternPredicate0,
15032 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_D),
15033 MVT::v2i64, 2, 0, 1,
15034 10,
15035 OPC_CheckChild2CondCode, ISD::SETULE,
15036 OPC_CheckPatternPredicate0,
15037 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_D),
15038 MVT::v2i64, 2, 0, 1,
15039 10,
15040 OPC_CheckChild2CondCode, ISD::SETULT,
15041 OPC_CheckPatternPredicate0,
15042 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_D),
15043 MVT::v2i64, 2, 0, 1,
15044 10,
15045 OPC_CheckChild2CondCode, ISD::SETUO,
15046 OPC_CheckPatternPredicate0,
15047 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_D),
15048 MVT::v2i64, 2, 0, 1,
15049 10,
15050 OPC_CheckChild2CondCode, ISD::SETUNE,
15051 OPC_CheckPatternPredicate0,
15052 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_D),
15053 MVT::v2i64, 2, 0, 1,
15054 10,
15055 OPC_CheckChild2CondCode, ISD::SETEQ,
15056 OPC_CheckPatternPredicate3,
15057 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
15058 MVT::v2i64, 2, 0, 1,
15059 10,
15060 OPC_CheckChild2CondCode, ISD::SETLE,
15061 OPC_CheckPatternPredicate3,
15062 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
15063 MVT::v2i64, 2, 0, 1,
15064 10,
15065 OPC_CheckChild2CondCode, ISD::SETLT,
15066 OPC_CheckPatternPredicate3,
15067 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
15068 MVT::v2i64, 2, 0, 1,
15069 10,
15070 OPC_CheckChild2CondCode, ISD::SETNE,
15071 OPC_CheckPatternPredicate3,
15072 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
15073 MVT::v2i64, 2, 0, 1,
15074 0,
15075 0,
15076 74, TARGET_VAL(MipsISD::FPBrcond),
15077 OPC_RecordNode,
15078 OPC_CaptureGlueInput,
15079 OPC_Scope, 34,
15080 OPC_CheckChild1Integer, 0,
15081 OPC_CheckChild1TypeI32,
15082 OPC_RecordChild2,
15083 OPC_RecordChild3,
15084 OPC_MoveChild3,
15085 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15086 OPC_MoveParent,
15087 OPC_Scope, 10,
15088 OPC_CheckPatternPredicate, 65,
15089 OPC_EmitMergeInputChains1_0,
15090 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F), 0|OPFL_Chain|OPFL_GlueInput,
15091 2, 1, 2,
15092 10,
15093 OPC_CheckPatternPredicate, 31,
15094 OPC_EmitMergeInputChains1_0,
15095 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F_MM), 0|OPFL_Chain|OPFL_GlueInput,
15096 2, 1, 2,
15097 0,
15098 34,
15099 OPC_CheckChild1Integer, 2,
15100 OPC_CheckChild1TypeI32,
15101 OPC_RecordChild2,
15102 OPC_RecordChild3,
15103 OPC_MoveChild3,
15104 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15105 OPC_MoveParent,
15106 OPC_Scope, 10,
15107 OPC_CheckPatternPredicate, 65,
15108 OPC_EmitMergeInputChains1_0,
15109 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T), 0|OPFL_Chain|OPFL_GlueInput,
15110 2, 1, 2,
15111 10,
15112 OPC_CheckPatternPredicate, 31,
15113 OPC_EmitMergeInputChains1_0,
15114 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T_MM), 0|OPFL_Chain|OPFL_GlueInput,
15115 2, 1, 2,
15116 0,
15117 0,
15118 126|128,1, TARGET_VAL(ISD::SUB),
15119 OPC_Scope, 11,
15120 OPC_CheckChild0Integer, 0,
15121 OPC_RecordChild1,
15122 OPC_CheckTypeI32,
15123 OPC_CheckPatternPredicate5,
15124 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NegRxRy16),
15125 MVT::i32, 1, 0,
15126 110|128,1,
15127 OPC_RecordChild0,
15128 OPC_Scope, 116,
15129 OPC_RecordChild1,
15130 OPC_SwitchType , 50, MVT::i32,
15131 OPC_Scope, 8,
15132 OPC_CheckPatternPredicate7,
15133 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MMR6),
15134 MVT::i32, 2, 0, 1,
15135 8,
15136 OPC_CheckPatternPredicate2,
15137 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu),
15138 MVT::i32, 2, 0, 1,
15139 8,
15140 OPC_CheckPatternPredicate5,
15141 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SubuRxRyRz16),
15142 MVT::i32, 2, 0, 1,
15143 20,
15144 OPC_CheckPatternPredicate, 8,
15145 OPC_Scope, 7,
15146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MM),
15147 MVT::i32, 2, 0, 1,
15148 7,
15149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu_MM),
15150 MVT::i32, 2, 0, 1,
15151 0,
15152 0,
15153 9, MVT::i64,
15154 OPC_CheckPatternPredicate, 23,
15155 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSUBu),
15156 MVT::i64, 2, 0, 1,
15157 10, MVT::v16i8,
15158 OPC_CheckPatternPredicate0,
15159 OPC_CheckComplexPat7, /*#*/1,
15160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_B),
15161 MVT::v16i8, 2, 0, 2,
15162 11, MVT::v8i16,
15163 OPC_CheckPatternPredicate0,
15164 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
15165 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_H),
15166 MVT::v8i16, 2, 0, 2,
15167 10, MVT::v4i32,
15168 OPC_CheckPatternPredicate0,
15169 OPC_CheckComplexPat4, /*#*/1,
15170 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_W),
15171 MVT::v4i32, 2, 0, 2,
15172 11, MVT::v2i64,
15173 OPC_CheckPatternPredicate0,
15174 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
15175 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_D),
15176 MVT::v2i64, 2, 0, 2,
15177 0,
15178 53,
15179 OPC_MoveChild1,
15180 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
15181 OPC_RecordChild0,
15182 OPC_RecordChild1,
15183 OPC_MoveParent,
15184 OPC_SwitchType , 9, MVT::v16i8,
15185 OPC_CheckPatternPredicate0,
15186 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_B),
15187 MVT::v16i8, 3, 0, 1, 2,
15188 9, MVT::v8i16,
15189 OPC_CheckPatternPredicate0,
15190 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_H),
15191 MVT::v8i16, 3, 0, 1, 2,
15192 9, MVT::v4i32,
15193 OPC_CheckPatternPredicate0,
15194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_W),
15195 MVT::v4i32, 3, 0, 1, 2,
15196 9, MVT::v2i64,
15197 OPC_CheckPatternPredicate0,
15198 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_D),
15199 MVT::v2i64, 3, 0, 1, 2,
15200 0,
15201 63,
15202 OPC_RecordChild1,
15203 OPC_SwitchType , 8, MVT::v2i16,
15204 OPC_CheckPatternPredicate1,
15205 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
15206 MVT::v2i16, 2, 0, 1,
15207 8, MVT::v4i8,
15208 OPC_CheckPatternPredicate1,
15209 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
15210 MVT::v4i8, 2, 0, 1,
15211 8, MVT::v16i8,
15212 OPC_CheckPatternPredicate0,
15213 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_B),
15214 MVT::v16i8, 2, 0, 1,
15215 8, MVT::v8i16,
15216 OPC_CheckPatternPredicate0,
15217 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_H),
15218 MVT::v8i16, 2, 0, 1,
15219 8, MVT::v4i32,
15220 OPC_CheckPatternPredicate0,
15221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_W),
15222 MVT::v4i32, 2, 0, 1,
15223 8, MVT::v2i64,
15224 OPC_CheckPatternPredicate0,
15225 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_D),
15226 MVT::v2i64, 2, 0, 1,
15227 0,
15228 0,
15229 0,
15230 82|128,13, TARGET_VAL(ISD::OR),
15231 OPC_Scope, 31|128,3,
15232 OPC_RecordChild0,
15233 OPC_Scope, 12|128,1,
15234 OPC_RecordChild1,
15235 OPC_Scope, 73,
15236 OPC_MoveChild1,
15237 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15238 OPC_Scope, 16,
15239 OPC_CheckPredicate, 13,
15240 OPC_MoveParent,
15241 OPC_CheckTypeI32,
15242 OPC_CheckPatternPredicate7,
15243 OPC_EmitConvertToTarget1,
15244 OPC_EmitNodeXForm, 3, 2,
15245 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_MMR6),
15246 MVT::i32, 2, 0, 3,
15247 13,
15248 OPC_CheckPredicate, 34,
15249 OPC_MoveParent,
15250 OPC_CheckTypeI32,
15251 OPC_CheckPatternPredicate2,
15252 OPC_EmitConvertToTarget1,
15253 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
15254 MVT::i32, 2, 0, 2,
15255 35,
15256 OPC_CheckPredicate, 13,
15257 OPC_MoveParent,
15258 OPC_SwitchType , 13, MVT::i64,
15259 OPC_CheckPatternPredicate, 18,
15260 OPC_EmitConvertToTarget1,
15261 OPC_EmitNodeXForm, 3, 2,
15262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
15263 MVT::i64, 2, 0, 3,
15264 13, MVT::i32,
15265 OPC_CheckPatternPredicate, 8,
15266 OPC_EmitConvertToTarget1,
15267 OPC_EmitNodeXForm, 3, 2,
15268 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
15269 MVT::i32, 2, 0, 3,
15270 0,
15271 0,
15272 51,
15273 OPC_CheckTypeI32,
15274 OPC_Scope, 8,
15275 OPC_CheckPatternPredicate2,
15276 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
15277 MVT::i32, 2, 0, 1,
15278 8,
15279 OPC_CheckPatternPredicate5,
15280 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OrRxRxRy16),
15281 MVT::i32, 2, 0, 1,
15282 20,
15283 OPC_CheckPatternPredicate, 8,
15284 OPC_Scope, 7,
15285 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR16_MM),
15286 MVT::i32, 2, 0, 1,
15287 7,
15288 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
15289 MVT::i32, 2, 0, 1,
15290 0,
15291 8,
15292 OPC_CheckPatternPredicate7,
15293 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MMR6),
15294 MVT::i32, 2, 0, 1,
15295 0,
15296 10,
15297 OPC_CheckTypeI64,
15298 OPC_CheckPatternPredicate, 18,
15299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
15300 MVT::i64, 2, 0, 1,
15301 0,
15302 12|128,2,
15303 OPC_MoveChild1,
15304 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15305 OPC_MoveChild0,
15306 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15307 OPC_CheckPredicate, 8,
15308 OPC_MoveSibling1,
15309 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15310 OPC_Scope, 125,
15311 OPC_RecordChild0,
15312 OPC_MoveChild1,
15313 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15314 OPC_MoveChild0,
15315 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15316 OPC_CheckPredicate0,
15317 OPC_CheckTypeI32,
15318 OPC_MoveSibling1,
15319 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15320 OPC_CheckPredicate0,
15321 OPC_CheckTypeI32,
15322 OPC_MoveSibling2,
15323 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15324 OPC_CheckPredicate0,
15325 OPC_CheckTypeI32,
15326 OPC_MoveSibling3,
15327 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15328 OPC_CheckPredicate0,
15329 OPC_CheckTypeI32,
15330 OPC_MoveSibling4,
15331 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15332 OPC_CheckPredicate0,
15333 OPC_CheckTypeI32,
15334 OPC_MoveSibling5,
15335 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15336 OPC_CheckPredicate0,
15337 OPC_CheckTypeI32,
15338 OPC_MoveSibling6,
15339 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15340 OPC_CheckPredicate0,
15341 OPC_CheckTypeI32,
15342 OPC_MoveSibling7,
15343 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15344 OPC_CheckPredicate0,
15345 OPC_CheckTypeI32,
15346 OPC_MoveSibling, 8,
15347 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15348 OPC_CheckPredicate0,
15349 OPC_CheckTypeI32,
15350 OPC_MoveSibling, 9,
15351 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15352 OPC_CheckPredicate0,
15353 OPC_CheckTypeI32,
15354 OPC_MoveSibling, 10,
15355 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15356 OPC_CheckPredicate0,
15357 OPC_CheckTypeI32,
15358 OPC_MoveSibling, 11,
15359 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15360 OPC_CheckPredicate0,
15361 OPC_CheckTypeI32,
15362 OPC_MoveSibling, 12,
15363 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15364 OPC_CheckPredicate0,
15365 OPC_CheckTypeI32,
15366 OPC_MoveSibling, 13,
15367 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15368 OPC_CheckPredicate0,
15369 OPC_CheckTypeI32,
15370 OPC_MoveSibling, 14,
15371 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15372 OPC_CheckPredicate0,
15373 OPC_CheckTypeI32,
15374 OPC_MoveSibling, 15,
15375 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15376 OPC_CheckPredicate0,
15377 OPC_CheckTypeI32,
15378 OPC_MoveParent,
15379 OPC_MoveParent,
15380 OPC_CheckType, MVT::v16i8,
15381 OPC_MoveParent,
15382 OPC_MoveParent,
15383 OPC_CheckType, MVT::v16i8,
15384 OPC_CheckPatternPredicate3,
15385 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15386 MVT::v16i8, 2, 0, 1,
15387 125,
15388 OPC_MoveChild0,
15389 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15390 OPC_MoveChild0,
15391 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15392 OPC_CheckPredicate0,
15393 OPC_CheckTypeI32,
15394 OPC_MoveSibling1,
15395 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15396 OPC_CheckPredicate0,
15397 OPC_CheckTypeI32,
15398 OPC_MoveSibling2,
15399 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15400 OPC_CheckPredicate0,
15401 OPC_CheckTypeI32,
15402 OPC_MoveSibling3,
15403 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15404 OPC_CheckPredicate0,
15405 OPC_CheckTypeI32,
15406 OPC_MoveSibling4,
15407 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15408 OPC_CheckPredicate0,
15409 OPC_CheckTypeI32,
15410 OPC_MoveSibling5,
15411 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15412 OPC_CheckPredicate0,
15413 OPC_CheckTypeI32,
15414 OPC_MoveSibling6,
15415 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15416 OPC_CheckPredicate0,
15417 OPC_CheckTypeI32,
15418 OPC_MoveSibling7,
15419 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15420 OPC_CheckPredicate0,
15421 OPC_CheckTypeI32,
15422 OPC_MoveSibling, 8,
15423 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15424 OPC_CheckPredicate0,
15425 OPC_CheckTypeI32,
15426 OPC_MoveSibling, 9,
15427 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15428 OPC_CheckPredicate0,
15429 OPC_CheckTypeI32,
15430 OPC_MoveSibling, 10,
15431 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15432 OPC_CheckPredicate0,
15433 OPC_CheckTypeI32,
15434 OPC_MoveSibling, 11,
15435 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15436 OPC_CheckPredicate0,
15437 OPC_CheckTypeI32,
15438 OPC_MoveSibling, 12,
15439 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15440 OPC_CheckPredicate0,
15441 OPC_CheckTypeI32,
15442 OPC_MoveSibling, 13,
15443 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15444 OPC_CheckPredicate0,
15445 OPC_CheckTypeI32,
15446 OPC_MoveSibling, 14,
15447 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15448 OPC_CheckPredicate0,
15449 OPC_CheckTypeI32,
15450 OPC_MoveSibling, 15,
15451 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15452 OPC_CheckPredicate0,
15453 OPC_CheckTypeI32,
15454 OPC_MoveParent,
15455 OPC_MoveParent,
15456 OPC_RecordChild1,
15457 OPC_CheckType, MVT::v16i8,
15458 OPC_MoveParent,
15459 OPC_MoveParent,
15460 OPC_CheckType, MVT::v16i8,
15461 OPC_CheckPatternPredicate3,
15462 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15463 MVT::v16i8, 2, 0, 1,
15464 0,
15465 0,
15466 14|128,2,
15467 OPC_MoveChild0,
15468 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15469 OPC_MoveChild0,
15470 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15471 OPC_CheckPredicate, 8,
15472 OPC_MoveSibling1,
15473 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15474 OPC_Scope, 126,
15475 OPC_RecordChild0,
15476 OPC_MoveChild1,
15477 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15478 OPC_MoveChild0,
15479 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15480 OPC_CheckPredicate0,
15481 OPC_CheckTypeI32,
15482 OPC_MoveSibling1,
15483 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15484 OPC_CheckPredicate0,
15485 OPC_CheckTypeI32,
15486 OPC_MoveSibling2,
15487 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15488 OPC_CheckPredicate0,
15489 OPC_CheckTypeI32,
15490 OPC_MoveSibling3,
15491 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15492 OPC_CheckPredicate0,
15493 OPC_CheckTypeI32,
15494 OPC_MoveSibling4,
15495 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15496 OPC_CheckPredicate0,
15497 OPC_CheckTypeI32,
15498 OPC_MoveSibling5,
15499 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15500 OPC_CheckPredicate0,
15501 OPC_CheckTypeI32,
15502 OPC_MoveSibling6,
15503 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15504 OPC_CheckPredicate0,
15505 OPC_CheckTypeI32,
15506 OPC_MoveSibling7,
15507 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15508 OPC_CheckPredicate0,
15509 OPC_CheckTypeI32,
15510 OPC_MoveSibling, 8,
15511 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15512 OPC_CheckPredicate0,
15513 OPC_CheckTypeI32,
15514 OPC_MoveSibling, 9,
15515 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15516 OPC_CheckPredicate0,
15517 OPC_CheckTypeI32,
15518 OPC_MoveSibling, 10,
15519 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15520 OPC_CheckPredicate0,
15521 OPC_CheckTypeI32,
15522 OPC_MoveSibling, 11,
15523 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15524 OPC_CheckPredicate0,
15525 OPC_CheckTypeI32,
15526 OPC_MoveSibling, 12,
15527 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15528 OPC_CheckPredicate0,
15529 OPC_CheckTypeI32,
15530 OPC_MoveSibling, 13,
15531 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15532 OPC_CheckPredicate0,
15533 OPC_CheckTypeI32,
15534 OPC_MoveSibling, 14,
15535 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15536 OPC_CheckPredicate0,
15537 OPC_CheckTypeI32,
15538 OPC_MoveSibling, 15,
15539 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15540 OPC_CheckPredicate0,
15541 OPC_CheckTypeI32,
15542 OPC_MoveParent,
15543 OPC_MoveParent,
15544 OPC_CheckType, MVT::v16i8,
15545 OPC_MoveParent,
15546 OPC_MoveParent,
15547 OPC_RecordChild1,
15548 OPC_CheckType, MVT::v16i8,
15549 OPC_CheckPatternPredicate3,
15550 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15551 MVT::v16i8, 2, 1, 0,
15552 126,
15553 OPC_MoveChild0,
15554 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15555 OPC_MoveChild0,
15556 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15557 OPC_CheckPredicate0,
15558 OPC_CheckTypeI32,
15559 OPC_MoveSibling1,
15560 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15561 OPC_CheckPredicate0,
15562 OPC_CheckTypeI32,
15563 OPC_MoveSibling2,
15564 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15565 OPC_CheckPredicate0,
15566 OPC_CheckTypeI32,
15567 OPC_MoveSibling3,
15568 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15569 OPC_CheckPredicate0,
15570 OPC_CheckTypeI32,
15571 OPC_MoveSibling4,
15572 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15573 OPC_CheckPredicate0,
15574 OPC_CheckTypeI32,
15575 OPC_MoveSibling5,
15576 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15577 OPC_CheckPredicate0,
15578 OPC_CheckTypeI32,
15579 OPC_MoveSibling6,
15580 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15581 OPC_CheckPredicate0,
15582 OPC_CheckTypeI32,
15583 OPC_MoveSibling7,
15584 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15585 OPC_CheckPredicate0,
15586 OPC_CheckTypeI32,
15587 OPC_MoveSibling, 8,
15588 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15589 OPC_CheckPredicate0,
15590 OPC_CheckTypeI32,
15591 OPC_MoveSibling, 9,
15592 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15593 OPC_CheckPredicate0,
15594 OPC_CheckTypeI32,
15595 OPC_MoveSibling, 10,
15596 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15597 OPC_CheckPredicate0,
15598 OPC_CheckTypeI32,
15599 OPC_MoveSibling, 11,
15600 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15601 OPC_CheckPredicate0,
15602 OPC_CheckTypeI32,
15603 OPC_MoveSibling, 12,
15604 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15605 OPC_CheckPredicate0,
15606 OPC_CheckTypeI32,
15607 OPC_MoveSibling, 13,
15608 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15609 OPC_CheckPredicate0,
15610 OPC_CheckTypeI32,
15611 OPC_MoveSibling, 14,
15612 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15613 OPC_CheckPredicate0,
15614 OPC_CheckTypeI32,
15615 OPC_MoveSibling, 15,
15616 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15617 OPC_CheckPredicate0,
15618 OPC_CheckTypeI32,
15619 OPC_MoveParent,
15620 OPC_MoveParent,
15621 OPC_RecordChild1,
15622 OPC_CheckType, MVT::v16i8,
15623 OPC_MoveParent,
15624 OPC_MoveParent,
15625 OPC_RecordChild1,
15626 OPC_CheckType, MVT::v16i8,
15627 OPC_CheckPatternPredicate3,
15628 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15629 MVT::v16i8, 2, 1, 0,
15630 0,
15631 29|128,1,
15632 OPC_RecordChild0,
15633 OPC_MoveChild1,
15634 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15635 OPC_MoveChild0,
15636 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15637 OPC_CheckPredicate, 8,
15638 OPC_MoveSibling1,
15639 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15640 OPC_Scope, 69,
15641 OPC_RecordChild0,
15642 OPC_MoveChild1,
15643 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15644 OPC_MoveChild0,
15645 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15646 OPC_CheckPredicate1,
15647 OPC_CheckTypeI32,
15648 OPC_MoveSibling1,
15649 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15650 OPC_CheckPredicate1,
15651 OPC_CheckTypeI32,
15652 OPC_MoveSibling2,
15653 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15654 OPC_CheckPredicate1,
15655 OPC_CheckTypeI32,
15656 OPC_MoveSibling3,
15657 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15658 OPC_CheckPredicate1,
15659 OPC_CheckTypeI32,
15660 OPC_MoveSibling4,
15661 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15662 OPC_CheckPredicate1,
15663 OPC_CheckTypeI32,
15664 OPC_MoveSibling5,
15665 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15666 OPC_CheckPredicate1,
15667 OPC_CheckTypeI32,
15668 OPC_MoveSibling6,
15669 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15670 OPC_CheckPredicate1,
15671 OPC_CheckTypeI32,
15672 OPC_MoveSibling7,
15673 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15674 OPC_CheckPredicate1,
15675 OPC_CheckTypeI32,
15676 OPC_MoveParent,
15677 OPC_MoveParent,
15678 OPC_CheckType, MVT::v8i16,
15679 OPC_MoveParent,
15680 OPC_MoveParent,
15681 OPC_CheckType, MVT::v8i16,
15682 OPC_CheckPatternPredicate3,
15683 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15684 MVT::v8i16, 2, 0, 1,
15685 69,
15686 OPC_MoveChild0,
15687 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15688 OPC_MoveChild0,
15689 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15690 OPC_CheckPredicate1,
15691 OPC_CheckTypeI32,
15692 OPC_MoveSibling1,
15693 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15694 OPC_CheckPredicate1,
15695 OPC_CheckTypeI32,
15696 OPC_MoveSibling2,
15697 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15698 OPC_CheckPredicate1,
15699 OPC_CheckTypeI32,
15700 OPC_MoveSibling3,
15701 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15702 OPC_CheckPredicate1,
15703 OPC_CheckTypeI32,
15704 OPC_MoveSibling4,
15705 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15706 OPC_CheckPredicate1,
15707 OPC_CheckTypeI32,
15708 OPC_MoveSibling5,
15709 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15710 OPC_CheckPredicate1,
15711 OPC_CheckTypeI32,
15712 OPC_MoveSibling6,
15713 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15714 OPC_CheckPredicate1,
15715 OPC_CheckTypeI32,
15716 OPC_MoveSibling7,
15717 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15718 OPC_CheckPredicate1,
15719 OPC_CheckTypeI32,
15720 OPC_MoveParent,
15721 OPC_MoveParent,
15722 OPC_RecordChild1,
15723 OPC_CheckType, MVT::v8i16,
15724 OPC_MoveParent,
15725 OPC_MoveParent,
15726 OPC_CheckType, MVT::v8i16,
15727 OPC_CheckPatternPredicate3,
15728 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15729 MVT::v8i16, 2, 0, 1,
15730 0,
15731 30|128,1,
15732 OPC_MoveChild0,
15733 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15734 OPC_MoveChild0,
15735 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15736 OPC_CheckPredicate, 8,
15737 OPC_MoveSibling1,
15738 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15739 OPC_Scope, 70,
15740 OPC_RecordChild0,
15741 OPC_MoveChild1,
15742 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15743 OPC_MoveChild0,
15744 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15745 OPC_CheckPredicate1,
15746 OPC_CheckTypeI32,
15747 OPC_MoveSibling1,
15748 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15749 OPC_CheckPredicate1,
15750 OPC_CheckTypeI32,
15751 OPC_MoveSibling2,
15752 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15753 OPC_CheckPredicate1,
15754 OPC_CheckTypeI32,
15755 OPC_MoveSibling3,
15756 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15757 OPC_CheckPredicate1,
15758 OPC_CheckTypeI32,
15759 OPC_MoveSibling4,
15760 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15761 OPC_CheckPredicate1,
15762 OPC_CheckTypeI32,
15763 OPC_MoveSibling5,
15764 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15765 OPC_CheckPredicate1,
15766 OPC_CheckTypeI32,
15767 OPC_MoveSibling6,
15768 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15769 OPC_CheckPredicate1,
15770 OPC_CheckTypeI32,
15771 OPC_MoveSibling7,
15772 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15773 OPC_CheckPredicate1,
15774 OPC_CheckTypeI32,
15775 OPC_MoveParent,
15776 OPC_MoveParent,
15777 OPC_CheckType, MVT::v8i16,
15778 OPC_MoveParent,
15779 OPC_MoveParent,
15780 OPC_RecordChild1,
15781 OPC_CheckType, MVT::v8i16,
15782 OPC_CheckPatternPredicate3,
15783 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15784 MVT::v8i16, 2, 1, 0,
15785 70,
15786 OPC_MoveChild0,
15787 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15788 OPC_MoveChild0,
15789 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15790 OPC_CheckPredicate1,
15791 OPC_CheckTypeI32,
15792 OPC_MoveSibling1,
15793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15794 OPC_CheckPredicate1,
15795 OPC_CheckTypeI32,
15796 OPC_MoveSibling2,
15797 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15798 OPC_CheckPredicate1,
15799 OPC_CheckTypeI32,
15800 OPC_MoveSibling3,
15801 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15802 OPC_CheckPredicate1,
15803 OPC_CheckTypeI32,
15804 OPC_MoveSibling4,
15805 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15806 OPC_CheckPredicate1,
15807 OPC_CheckTypeI32,
15808 OPC_MoveSibling5,
15809 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15810 OPC_CheckPredicate1,
15811 OPC_CheckTypeI32,
15812 OPC_MoveSibling6,
15813 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15814 OPC_CheckPredicate1,
15815 OPC_CheckTypeI32,
15816 OPC_MoveSibling7,
15817 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15818 OPC_CheckPredicate1,
15819 OPC_CheckTypeI32,
15820 OPC_MoveParent,
15821 OPC_MoveParent,
15822 OPC_RecordChild1,
15823 OPC_CheckType, MVT::v8i16,
15824 OPC_MoveParent,
15825 OPC_MoveParent,
15826 OPC_RecordChild1,
15827 OPC_CheckType, MVT::v8i16,
15828 OPC_CheckPatternPredicate3,
15829 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15830 MVT::v8i16, 2, 1, 0,
15831 0,
15832 109,
15833 OPC_RecordChild0,
15834 OPC_MoveChild1,
15835 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15836 OPC_MoveChild0,
15837 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15838 OPC_CheckPredicate, 8,
15839 OPC_MoveSibling1,
15840 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15841 OPC_Scope, 45,
15842 OPC_RecordChild0,
15843 OPC_MoveChild1,
15844 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15845 OPC_MoveChild0,
15846 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15847 OPC_CheckPredicate2,
15848 OPC_CheckTypeI32,
15849 OPC_MoveSibling1,
15850 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15851 OPC_CheckPredicate2,
15852 OPC_CheckTypeI32,
15853 OPC_MoveSibling2,
15854 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15855 OPC_CheckPredicate2,
15856 OPC_CheckTypeI32,
15857 OPC_MoveSibling3,
15858 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15859 OPC_CheckPredicate2,
15860 OPC_CheckTypeI32,
15861 OPC_MoveParent,
15862 OPC_MoveParent,
15863 OPC_CheckType, MVT::v4i32,
15864 OPC_MoveParent,
15865 OPC_MoveParent,
15866 OPC_CheckType, MVT::v4i32,
15867 OPC_CheckPatternPredicate3,
15868 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
15869 MVT::v4i32, 2, 0, 1,
15870 45,
15871 OPC_MoveChild0,
15872 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15873 OPC_MoveChild0,
15874 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15875 OPC_CheckPredicate2,
15876 OPC_CheckTypeI32,
15877 OPC_MoveSibling1,
15878 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15879 OPC_CheckPredicate2,
15880 OPC_CheckTypeI32,
15881 OPC_MoveSibling2,
15882 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15883 OPC_CheckPredicate2,
15884 OPC_CheckTypeI32,
15885 OPC_MoveSibling3,
15886 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15887 OPC_CheckPredicate2,
15888 OPC_CheckTypeI32,
15889 OPC_MoveParent,
15890 OPC_MoveParent,
15891 OPC_RecordChild1,
15892 OPC_CheckType, MVT::v4i32,
15893 OPC_MoveParent,
15894 OPC_MoveParent,
15895 OPC_CheckType, MVT::v4i32,
15896 OPC_CheckPatternPredicate3,
15897 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
15898 MVT::v4i32, 2, 0, 1,
15899 0,
15900 110,
15901 OPC_MoveChild0,
15902 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15903 OPC_MoveChild0,
15904 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15905 OPC_CheckPredicate, 8,
15906 OPC_MoveSibling1,
15907 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15908 OPC_Scope, 46,
15909 OPC_RecordChild0,
15910 OPC_MoveChild1,
15911 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15912 OPC_MoveChild0,
15913 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15914 OPC_CheckPredicate2,
15915 OPC_CheckTypeI32,
15916 OPC_MoveSibling1,
15917 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15918 OPC_CheckPredicate2,
15919 OPC_CheckTypeI32,
15920 OPC_MoveSibling2,
15921 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15922 OPC_CheckPredicate2,
15923 OPC_CheckTypeI32,
15924 OPC_MoveSibling3,
15925 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15926 OPC_CheckPredicate2,
15927 OPC_CheckTypeI32,
15928 OPC_MoveParent,
15929 OPC_MoveParent,
15930 OPC_CheckType, MVT::v4i32,
15931 OPC_MoveParent,
15932 OPC_MoveParent,
15933 OPC_RecordChild1,
15934 OPC_CheckType, MVT::v4i32,
15935 OPC_CheckPatternPredicate3,
15936 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
15937 MVT::v4i32, 2, 1, 0,
15938 46,
15939 OPC_MoveChild0,
15940 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15941 OPC_MoveChild0,
15942 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15943 OPC_CheckPredicate2,
15944 OPC_CheckTypeI32,
15945 OPC_MoveSibling1,
15946 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15947 OPC_CheckPredicate2,
15948 OPC_CheckTypeI32,
15949 OPC_MoveSibling2,
15950 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15951 OPC_CheckPredicate2,
15952 OPC_CheckTypeI32,
15953 OPC_MoveSibling3,
15954 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15955 OPC_CheckPredicate2,
15956 OPC_CheckTypeI32,
15957 OPC_MoveParent,
15958 OPC_MoveParent,
15959 OPC_RecordChild1,
15960 OPC_CheckType, MVT::v4i32,
15961 OPC_MoveParent,
15962 OPC_MoveParent,
15963 OPC_RecordChild1,
15964 OPC_CheckType, MVT::v4i32,
15965 OPC_CheckPatternPredicate3,
15966 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
15967 MVT::v4i32, 2, 1, 0,
15968 0,
15969 84,
15970 OPC_RecordChild0,
15971 OPC_MoveChild1,
15972 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15973 OPC_MoveChild0,
15974 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15975 OPC_MoveChild0,
15976 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15977 OPC_CheckType, MVT::v4i32,
15978 OPC_MoveParent,
15979 OPC_CheckPredicate, 20,
15980 OPC_MoveSibling1,
15981 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15982 OPC_Scope, 29,
15983 OPC_RecordChild0,
15984 OPC_MoveChild1,
15985 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15986 OPC_MoveChild0,
15987 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15988 OPC_CheckType, MVT::v4i32,
15989 OPC_MoveParent,
15990 OPC_CheckPredicate, 14,
15991 OPC_MoveParent,
15992 OPC_CheckType, MVT::v2i64,
15993 OPC_MoveParent,
15994 OPC_MoveParent,
15995 OPC_CheckType, MVT::v2i64,
15996 OPC_CheckPatternPredicate3,
15997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
15998 MVT::v2i64, 2, 0, 1,
15999 29,
16000 OPC_MoveChild0,
16001 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16002 OPC_MoveChild0,
16003 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16004 OPC_CheckType, MVT::v4i32,
16005 OPC_MoveParent,
16006 OPC_CheckPredicate, 14,
16007 OPC_MoveParent,
16008 OPC_RecordChild1,
16009 OPC_CheckType, MVT::v2i64,
16010 OPC_MoveParent,
16011 OPC_MoveParent,
16012 OPC_CheckType, MVT::v2i64,
16013 OPC_CheckPatternPredicate3,
16014 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16015 MVT::v2i64, 2, 0, 1,
16016 0,
16017 85,
16018 OPC_MoveChild0,
16019 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16020 OPC_MoveChild0,
16021 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16022 OPC_MoveChild0,
16023 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16024 OPC_CheckType, MVT::v4i32,
16025 OPC_MoveParent,
16026 OPC_CheckPredicate, 20,
16027 OPC_MoveSibling1,
16028 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16029 OPC_Scope, 30,
16030 OPC_RecordChild0,
16031 OPC_MoveChild1,
16032 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16033 OPC_MoveChild0,
16034 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16035 OPC_CheckType, MVT::v4i32,
16036 OPC_MoveParent,
16037 OPC_CheckPredicate, 14,
16038 OPC_MoveParent,
16039 OPC_CheckType, MVT::v2i64,
16040 OPC_MoveParent,
16041 OPC_MoveParent,
16042 OPC_RecordChild1,
16043 OPC_CheckType, MVT::v2i64,
16044 OPC_CheckPatternPredicate3,
16045 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16046 MVT::v2i64, 2, 1, 0,
16047 30,
16048 OPC_MoveChild0,
16049 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16050 OPC_MoveChild0,
16051 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16052 OPC_CheckType, MVT::v4i32,
16053 OPC_MoveParent,
16054 OPC_CheckPredicate, 14,
16055 OPC_MoveParent,
16056 OPC_RecordChild1,
16057 OPC_CheckType, MVT::v2i64,
16058 OPC_MoveParent,
16059 OPC_MoveParent,
16060 OPC_RecordChild1,
16061 OPC_CheckType, MVT::v2i64,
16062 OPC_CheckPatternPredicate3,
16063 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16064 MVT::v2i64, 2, 1, 0,
16065 0,
16066 33,
16067 OPC_RecordChild0,
16068 OPC_MoveChild1,
16069 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16070 OPC_MoveChild0,
16071 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16072 OPC_MoveChild0,
16073 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16074 OPC_CheckType, MVT::v4i32,
16075 OPC_MoveParent,
16076 OPC_CheckPredicate, 20,
16077 OPC_MoveParent,
16078 OPC_RecordChild1,
16079 OPC_CheckChild1Type, MVT::v2i64,
16080 OPC_MoveParent,
16081 OPC_CheckType, MVT::v2i64,
16082 OPC_CheckPatternPredicate0,
16083 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16084 MVT::v2i64, 2, 0, 1,
16085 33,
16086 OPC_MoveChild0,
16087 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16088 OPC_MoveChild0,
16089 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16090 OPC_MoveChild0,
16091 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16092 OPC_CheckType, MVT::v4i32,
16093 OPC_MoveParent,
16094 OPC_CheckPredicate, 20,
16095 OPC_MoveParent,
16096 OPC_RecordChild1,
16097 OPC_CheckChild1Type, MVT::v2i64,
16098 OPC_MoveParent,
16099 OPC_RecordChild1,
16100 OPC_CheckType, MVT::v2i64,
16101 OPC_CheckPatternPredicate0,
16102 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16103 MVT::v2i64, 2, 1, 0,
16104 57,
16105 OPC_RecordChild0,
16106 OPC_MoveChild1,
16107 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16108 OPC_MoveChild0,
16109 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16110 OPC_CheckPredicate, 8,
16111 OPC_MoveParent,
16112 OPC_RecordChild1,
16113 OPC_Scope, 13,
16114 OPC_CheckChild1Type, MVT::v16i8,
16115 OPC_MoveParent,
16116 OPC_CheckType, MVT::v16i8,
16117 OPC_CheckPatternPredicate0,
16118 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
16119 MVT::v16i8, 2, 0, 1,
16120 13,
16121 OPC_CheckChild1Type, MVT::v8i16,
16122 OPC_MoveParent,
16123 OPC_CheckType, MVT::v8i16,
16124 OPC_CheckPatternPredicate0,
16125 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16126 MVT::v8i16, 2, 0, 1,
16127 13,
16128 OPC_CheckChild1Type, MVT::v4i32,
16129 OPC_MoveParent,
16130 OPC_CheckType, MVT::v4i32,
16131 OPC_CheckPatternPredicate0,
16132 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16133 MVT::v4i32, 2, 0, 1,
16134 0,
16135 59,
16136 OPC_MoveChild0,
16137 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16138 OPC_MoveChild0,
16139 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16140 OPC_CheckPredicate, 8,
16141 OPC_MoveParent,
16142 OPC_RecordChild1,
16143 OPC_Scope, 14,
16144 OPC_CheckChild1Type, MVT::v16i8,
16145 OPC_MoveParent,
16146 OPC_RecordChild1,
16147 OPC_CheckType, MVT::v16i8,
16148 OPC_CheckPatternPredicate0,
16149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
16150 MVT::v16i8, 2, 1, 0,
16151 14,
16152 OPC_CheckChild1Type, MVT::v8i16,
16153 OPC_MoveParent,
16154 OPC_RecordChild1,
16155 OPC_CheckType, MVT::v8i16,
16156 OPC_CheckPatternPredicate0,
16157 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16158 MVT::v8i16, 2, 1, 0,
16159 14,
16160 OPC_CheckChild1Type, MVT::v4i32,
16161 OPC_MoveParent,
16162 OPC_RecordChild1,
16163 OPC_CheckType, MVT::v4i32,
16164 OPC_CheckPatternPredicate0,
16165 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16166 MVT::v4i32, 2, 1, 0,
16167 0,
16168 28|128,1,
16169 OPC_RecordChild0,
16170 OPC_RecordChild1,
16171 OPC_SwitchType , 51, MVT::v16i8,
16172 OPC_CheckPatternPredicate0,
16173 OPC_Scope, 9,
16174 OPC_CheckComplexPat3, /*#*/1,
16175 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
16176 MVT::v16i8, 2, 0, 2,
16177 9,
16178 OPC_CheckComplexPat5, /*#*/1,
16179 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
16180 MVT::v16i8, 2, 0, 2,
16181 9,
16182 OPC_CheckComplexPat3, /*#*/0,
16183 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
16184 MVT::v16i8, 2, 1, 2,
16185 9,
16186 OPC_CheckComplexPat5, /*#*/0,
16187 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
16188 MVT::v16i8, 2, 1, 2,
16189 7,
16190 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V),
16191 MVT::v16i8, 2, 0, 1,
16192 0,
16193 31, MVT::v8i16,
16194 OPC_CheckPatternPredicate0,
16195 OPC_Scope, 9,
16196 OPC_CheckComplexPat3, /*#*/1,
16197 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
16198 MVT::v8i16, 2, 0, 2,
16199 9,
16200 OPC_CheckComplexPat3, /*#*/0,
16201 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
16202 MVT::v8i16, 2, 1, 2,
16203 7,
16204 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_H_PSEUDO),
16205 MVT::v8i16, 2, 0, 1,
16206 0,
16207 31, MVT::v4i32,
16208 OPC_CheckPatternPredicate0,
16209 OPC_Scope, 9,
16210 OPC_CheckComplexPat3, /*#*/1,
16211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
16212 MVT::v4i32, 2, 0, 2,
16213 9,
16214 OPC_CheckComplexPat3, /*#*/0,
16215 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
16216 MVT::v4i32, 2, 1, 2,
16217 7,
16218 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_W_PSEUDO),
16219 MVT::v4i32, 2, 0, 1,
16220 0,
16221 31, MVT::v2i64,
16222 OPC_CheckPatternPredicate0,
16223 OPC_Scope, 9,
16224 OPC_CheckComplexPat3, /*#*/1,
16225 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
16226 MVT::v2i64, 2, 0, 2,
16227 9,
16228 OPC_CheckComplexPat3, /*#*/0,
16229 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
16230 MVT::v2i64, 2, 1, 2,
16231 7,
16232 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_D_PSEUDO),
16233 MVT::v2i64, 2, 0, 1,
16234 0,
16235 0,
16236 0,
16237 120, TARGET_VAL(ISD::ROTR),
16238 OPC_RecordChild0,
16239 OPC_Scope, 50,
16240 OPC_RecordChild1,
16241 OPC_MoveChild1,
16242 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16243 OPC_CheckTypeI32,
16244 OPC_Scope, 13,
16245 OPC_CheckPredicate3,
16246 OPC_MoveParent,
16247 OPC_CheckTypeI32,
16248 OPC_CheckPatternPredicate, 41,
16249 OPC_EmitConvertToTarget1,
16250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
16251 MVT::i32, 2, 0, 2,
16252 14,
16253 OPC_CheckPredicate, 16,
16254 OPC_MoveParent,
16255 OPC_CheckTypeI64,
16256 OPC_CheckPatternPredicate, 45,
16257 OPC_EmitConvertToTarget1,
16258 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTR),
16259 MVT::i64, 2, 0, 2,
16260 12,
16261 OPC_CheckPredicate3,
16262 OPC_MoveParent,
16263 OPC_CheckTypeI32,
16264 OPC_CheckPatternPredicate4,
16265 OPC_EmitConvertToTarget1,
16266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
16267 MVT::i32, 2, 0, 2,
16268 0,
16269 26,
16270 OPC_MoveChild1,
16271 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
16272 OPC_RecordChild0,
16273 OPC_CheckTypeI32,
16274 OPC_MoveParent,
16275 OPC_CheckTypeI64,
16276 OPC_CheckPatternPredicate, 12,
16277 OPC_EmitStringInteger32, Mips::sub_32,
16278 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16279 MVT::i32, 2, 1, 2,
16280 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
16281 MVT::i64, 2, 0, 3,
16282 38,
16283 OPC_RecordChild1,
16284 OPC_CheckChild1TypeI32,
16285 OPC_SwitchType , 21, MVT::i32,
16286 OPC_Scope, 9,
16287 OPC_CheckPatternPredicate, 41,
16288 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV),
16289 MVT::i32, 2, 0, 1,
16290 8,
16291 OPC_CheckPatternPredicate4,
16292 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV_MM),
16293 MVT::i32, 2, 0, 1,
16294 0,
16295 9, MVT::i64,
16296 OPC_CheckPatternPredicate, 45,
16297 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
16298 MVT::i64, 2, 0, 1,
16299 0,
16300 0,
16301 65, TARGET_VAL(MipsISD::Sync),
16302 OPC_RecordNode,
16303 OPC_Scope, 16,
16304 OPC_RecordChild1,
16305 OPC_MoveChild1,
16306 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16307 OPC_CheckPredicate3,
16308 OPC_MoveParent,
16309 OPC_CheckPatternPredicate, 112,
16310 OPC_EmitMergeInputChains1_0,
16311 OPC_EmitConvertToTarget1,
16312 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
16313 1, 2,
16314 16,
16315 OPC_MoveChild1,
16316 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16317 OPC_CheckPredicate6,
16318 OPC_MoveParent,
16319 OPC_CheckPatternPredicate, 113,
16320 OPC_EmitMergeInputChains1_0,
16321 OPC_EmitInteger32, 0,
16322 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
16323 1, 1,
16324 27,
16325 OPC_RecordChild1,
16326 OPC_MoveChild1,
16327 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16328 OPC_CheckPredicate3,
16329 OPC_MoveParent,
16330 OPC_Scope, 8,
16331 OPC_CheckPatternPredicate4,
16332 OPC_EmitMergeInputChains1_0,
16333 OPC_EmitConvertToTarget1,
16334 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MM),
16335 1, 2,
16336 8,
16337 OPC_CheckPatternPredicate7,
16338 OPC_EmitMergeInputChains1_0,
16339 OPC_EmitConvertToTarget1,
16340 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MMR6),
16341 1, 2,
16342 0,
16343 0,
16344 71, TARGET_VAL(ISD::ADDC),
16345 OPC_RecordChild0,
16346 OPC_RecordChild1,
16347 OPC_Scope, 32,
16348 OPC_MoveChild1,
16349 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16350 OPC_CheckPredicate7,
16351 OPC_MoveParent,
16352 OPC_SwitchType , 10, MVT::i32,
16353 OPC_CheckPatternPredicate, 89,
16354 OPC_EmitConvertToTarget1,
16355 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDiu),
16356 MVT::i32, 2, 0, 2,
16357 10, MVT::i64,
16358 OPC_CheckPatternPredicate, 90,
16359 OPC_EmitConvertToTarget1,
16360 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDiu),
16361 MVT::i64, 2, 0, 2,
16362 0,
16363 22,
16364 OPC_CheckTypeI32,
16365 OPC_Scope, 9,
16366 OPC_CheckPatternPredicate, 89,
16367 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDu),
16368 MVT::i32, 2, 0, 1,
16369 8,
16370 OPC_CheckPatternPredicate1,
16371 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDSC),
16372 MVT::i32, 2, 0, 1,
16373 0,
16374 10,
16375 OPC_CheckTypeI64,
16376 OPC_CheckPatternPredicate, 90,
16377 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDu),
16378 MVT::i64, 2, 0, 1,
16379 0,
16380 65, TARGET_VAL(ISD::TRUNCATE),
16381 OPC_Scope, 39,
16382 OPC_MoveChild0,
16383 OPC_SwitchOpcode , 16, TARGET_VAL(ISD::AssertZext),
16384 OPC_RecordChild0,
16385 OPC_CheckPredicate, 59,
16386 OPC_MoveParent,
16387 OPC_CheckTypeI32,
16388 OPC_CheckPatternPredicate, 12,
16389 OPC_EmitStringInteger32, Mips::sub_32,
16390 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16391 MVT::i32, 2, 0, 1,
16392 14, TARGET_VAL(ISD::AssertSext),
16393 OPC_RecordChild0,
16394 OPC_MoveParent,
16395 OPC_CheckTypeI32,
16396 OPC_CheckPatternPredicate, 12,
16397 OPC_EmitStringInteger32, Mips::sub_32,
16398 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16399 MVT::i32, 2, 0, 1,
16400 0,
16401 22,
16402 OPC_RecordChild0,
16403 OPC_CheckTypeI32,
16404 OPC_CheckPatternPredicate, 12,
16405 OPC_EmitStringInteger32, Mips::sub_32,
16406 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16407 MVT::i32, 2, 0, 1,
16408 OPC_EmitInteger32, 0,
16409 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
16410 MVT::i32, 2, 2, 3,
16411 0,
16412 56, TARGET_VAL(MipsISD::SHILO),
16413 OPC_RecordChild0,
16414 OPC_Scope, 30,
16415 OPC_MoveChild0,
16416 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16417 OPC_CheckPredicate, 60,
16418 OPC_MoveParent,
16419 OPC_RecordChild1,
16420 OPC_Scope, 9,
16421 OPC_CheckPatternPredicate1,
16422 OPC_EmitConvertToTarget0,
16423 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO),
16424 MVT::Untyped, 2, 2, 1,
16425 9,
16426 OPC_CheckPatternPredicate6,
16427 OPC_EmitConvertToTarget0,
16428 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO_MM),
16429 MVT::Untyped, 2, 2, 1,
16430 0,
16431 21,
16432 OPC_RecordChild1,
16433 OPC_Scope, 8,
16434 OPC_CheckPatternPredicate1,
16435 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV),
16436 MVT::Untyped, 2, 0, 1,
16437 8,
16438 OPC_CheckPatternPredicate6,
16439 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV_MM),
16440 MVT::Untyped, 2, 0, 1,
16441 0,
16442 0,
16443 33, TARGET_VAL(MipsISD::EXTP),
16444 OPC_RecordNode,
16445 OPC_RecordChild1,
16446 OPC_Scope, 17,
16447 OPC_MoveChild1,
16448 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16449 OPC_CheckPredicate3,
16450 OPC_MoveParent,
16451 OPC_RecordChild2,
16452 OPC_CheckPatternPredicate1,
16453 OPC_EmitMergeInputChains1_0,
16454 OPC_EmitConvertToTarget1,
16455 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTP),
16456 MVT::i32, 2, 2, 3,
16457 10,
16458 OPC_RecordChild2,
16459 OPC_CheckPatternPredicate1,
16460 OPC_EmitMergeInputChains1_0,
16461 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPV),
16462 MVT::i32, 2, 2, 1,
16463 0,
16464 33, TARGET_VAL(MipsISD::EXTPDP),
16465 OPC_RecordNode,
16466 OPC_RecordChild1,
16467 OPC_Scope, 17,
16468 OPC_MoveChild1,
16469 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16470 OPC_CheckPredicate3,
16471 OPC_MoveParent,
16472 OPC_RecordChild2,
16473 OPC_CheckPatternPredicate1,
16474 OPC_EmitMergeInputChains1_0,
16475 OPC_EmitConvertToTarget1,
16476 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDP),
16477 MVT::i32, 2, 2, 3,
16478 10,
16479 OPC_RecordChild2,
16480 OPC_CheckPatternPredicate1,
16481 OPC_EmitMergeInputChains1_0,
16482 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDPV),
16483 MVT::i32, 2, 2, 1,
16484 0,
16485 33, TARGET_VAL(MipsISD::EXTR_W),
16486 OPC_RecordNode,
16487 OPC_RecordChild1,
16488 OPC_Scope, 17,
16489 OPC_MoveChild1,
16490 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16491 OPC_CheckPredicate3,
16492 OPC_MoveParent,
16493 OPC_RecordChild2,
16494 OPC_CheckPatternPredicate1,
16495 OPC_EmitMergeInputChains1_0,
16496 OPC_EmitConvertToTarget1,
16497 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_W),
16498 MVT::i32, 2, 2, 3,
16499 10,
16500 OPC_RecordChild2,
16501 OPC_CheckPatternPredicate1,
16502 OPC_EmitMergeInputChains1_0,
16503 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_W),
16504 MVT::i32, 2, 2, 1,
16505 0,
16506 33, TARGET_VAL(MipsISD::EXTR_R_W),
16507 OPC_RecordNode,
16508 OPC_RecordChild1,
16509 OPC_Scope, 17,
16510 OPC_MoveChild1,
16511 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16512 OPC_CheckPredicate3,
16513 OPC_MoveParent,
16514 OPC_RecordChild2,
16515 OPC_CheckPatternPredicate1,
16516 OPC_EmitMergeInputChains1_0,
16517 OPC_EmitConvertToTarget1,
16518 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_R_W),
16519 MVT::i32, 2, 2, 3,
16520 10,
16521 OPC_RecordChild2,
16522 OPC_CheckPatternPredicate1,
16523 OPC_EmitMergeInputChains1_0,
16524 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_R_W),
16525 MVT::i32, 2, 2, 1,
16526 0,
16527 33, TARGET_VAL(MipsISD::EXTR_RS_W),
16528 OPC_RecordNode,
16529 OPC_RecordChild1,
16530 OPC_Scope, 17,
16531 OPC_MoveChild1,
16532 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16533 OPC_CheckPredicate3,
16534 OPC_MoveParent,
16535 OPC_RecordChild2,
16536 OPC_CheckPatternPredicate1,
16537 OPC_EmitMergeInputChains1_0,
16538 OPC_EmitConvertToTarget1,
16539 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_RS_W),
16540 MVT::i32, 2, 2, 3,
16541 10,
16542 OPC_RecordChild2,
16543 OPC_CheckPatternPredicate1,
16544 OPC_EmitMergeInputChains1_0,
16545 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_RS_W),
16546 MVT::i32, 2, 2, 1,
16547 0,
16548 33, TARGET_VAL(MipsISD::EXTR_S_H),
16549 OPC_RecordNode,
16550 OPC_RecordChild1,
16551 OPC_Scope, 17,
16552 OPC_MoveChild1,
16553 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16554 OPC_CheckPredicate3,
16555 OPC_MoveParent,
16556 OPC_RecordChild2,
16557 OPC_CheckPatternPredicate1,
16558 OPC_EmitMergeInputChains1_0,
16559 OPC_EmitConvertToTarget1,
16560 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_S_H),
16561 MVT::i32, 2, 2, 3,
16562 10,
16563 OPC_RecordChild2,
16564 OPC_CheckPatternPredicate1,
16565 OPC_EmitMergeInputChains1_0,
16566 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_S_H),
16567 MVT::i32, 2, 2, 1,
16568 0,
16569 104|128,3, TARGET_VAL(MipsISD::VEXTRACT_SEXT_ELT),
16570 OPC_RecordChild0,
16571 OPC_Scope, 0|128,1,
16572 OPC_CheckChild0Type, MVT::v16i8,
16573 OPC_RecordChild1,
16574 OPC_Scope, 20,
16575 OPC_MoveChild1,
16576 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16577 OPC_CheckPredicate, 15,
16578 OPC_MoveSibling2,
16579 OPC_CheckValueType, MVT::i8,
16580 OPC_MoveParent,
16581 OPC_CheckTypeI32,
16582 OPC_CheckPatternPredicate0,
16583 OPC_EmitConvertToTarget1,
16584 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_B),
16585 MVT::i32, 2, 0, 2,
16586 41,
16587 OPC_CheckChild1TypeI32,
16588 OPC_MoveChild2,
16589 OPC_CheckValueType, MVT::i8,
16590 OPC_MoveParent,
16591 OPC_CheckTypeI32,
16592 OPC_CheckPatternPredicate3,
16593 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16594 MVT::v16i8, 2, 0, 1,
16595 OPC_EmitStringInteger32, Mips::sub_lo,
16596 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16597 MVT::i32, 2, 2, 3,
16598 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16599 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16600 MVT::i32, 2, 4, 5,
16601 OPC_EmitInteger32, 48,
16602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16603 MVT::i32, 2, 6, 7,
16604 59,
16605 OPC_CheckChild1TypeI64,
16606 OPC_MoveChild2,
16607 OPC_CheckValueType, MVT::i8,
16608 OPC_MoveParent,
16609 OPC_CheckTypeI32,
16610 OPC_CheckPatternPredicate3,
16611 OPC_EmitStringInteger32, Mips::sub_32,
16612 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16613 MVT::i32, 2, 1, 2,
16614 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16615 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16616 MVT::i32, 2, 3, 4,
16617 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16618 MVT::v16i8, 2, 0, 5,
16619 OPC_EmitStringInteger32, Mips::sub_lo,
16620 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16621 MVT::i32, 2, 6, 7,
16622 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16623 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16624 MVT::i32, 2, 8, 9,
16625 OPC_EmitInteger32, 48,
16626 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16627 MVT::i32, 2, 10, 11,
16628 0,
16629 0|128,1,
16630 OPC_CheckChild0Type, MVT::v8i16,
16631 OPC_RecordChild1,
16632 OPC_Scope, 20,
16633 OPC_MoveChild1,
16634 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16635 OPC_CheckPredicate, 18,
16636 OPC_MoveSibling2,
16637 OPC_CheckValueType, MVT::i16,
16638 OPC_MoveParent,
16639 OPC_CheckTypeI32,
16640 OPC_CheckPatternPredicate0,
16641 OPC_EmitConvertToTarget1,
16642 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_H),
16643 MVT::i32, 2, 0, 2,
16644 41,
16645 OPC_CheckChild1TypeI32,
16646 OPC_MoveChild2,
16647 OPC_CheckValueType, MVT::i16,
16648 OPC_MoveParent,
16649 OPC_CheckTypeI32,
16650 OPC_CheckPatternPredicate3,
16651 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16652 MVT::v8i16, 2, 0, 1,
16653 OPC_EmitStringInteger32, Mips::sub_lo,
16654 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16655 MVT::i32, 2, 2, 3,
16656 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16657 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16658 MVT::i32, 2, 4, 5,
16659 OPC_EmitInteger32, 32,
16660 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16661 MVT::i32, 2, 6, 7,
16662 59,
16663 OPC_CheckChild1TypeI64,
16664 OPC_MoveChild2,
16665 OPC_CheckValueType, MVT::i16,
16666 OPC_MoveParent,
16667 OPC_CheckTypeI32,
16668 OPC_CheckPatternPredicate3,
16669 OPC_EmitStringInteger32, Mips::sub_32,
16670 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16671 MVT::i32, 2, 1, 2,
16672 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16673 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16674 MVT::i32, 2, 3, 4,
16675 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16676 MVT::v8i16, 2, 0, 5,
16677 OPC_EmitStringInteger32, Mips::sub_lo,
16678 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16679 MVT::i32, 2, 6, 7,
16680 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16681 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16682 MVT::i32, 2, 8, 9,
16683 OPC_EmitInteger32, 32,
16684 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16685 MVT::i32, 2, 10, 11,
16686 0,
16687 110,
16688 OPC_CheckChild0Type, MVT::v4i32,
16689 OPC_RecordChild1,
16690 OPC_Scope, 20,
16691 OPC_MoveChild1,
16692 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16693 OPC_CheckPredicate, 22,
16694 OPC_MoveSibling2,
16695 OPC_CheckValueType, MVT::i32,
16696 OPC_MoveParent,
16697 OPC_CheckTypeI32,
16698 OPC_CheckPatternPredicate0,
16699 OPC_EmitConvertToTarget1,
16700 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
16701 MVT::i32, 2, 0, 2,
16702 32,
16703 OPC_CheckChild1TypeI32,
16704 OPC_MoveChild2,
16705 OPC_CheckValueType, MVT::i32,
16706 OPC_MoveParent,
16707 OPC_CheckTypeI32,
16708 OPC_CheckPatternPredicate3,
16709 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16710 MVT::v4i32, 2, 0, 1,
16711 OPC_EmitStringInteger32, Mips::sub_lo,
16712 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16713 MVT::i32, 2, 2, 3,
16714 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16715 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16716 MVT::i32, 2, 4, 5,
16717 50,
16718 OPC_CheckChild1TypeI64,
16719 OPC_MoveChild2,
16720 OPC_CheckValueType, MVT::i32,
16721 OPC_MoveParent,
16722 OPC_CheckTypeI32,
16723 OPC_CheckPatternPredicate3,
16724 OPC_EmitStringInteger32, Mips::sub_32,
16725 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16726 MVT::i32, 2, 1, 2,
16727 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16728 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16729 MVT::i32, 2, 3, 4,
16730 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16731 MVT::v4i32, 2, 0, 5,
16732 OPC_EmitStringInteger32, Mips::sub_lo,
16733 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16734 MVT::i32, 2, 6, 7,
16735 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16736 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16737 MVT::i32, 2, 8, 9,
16738 0,
16739 113,
16740 OPC_CheckChild0Type, MVT::v2i64,
16741 OPC_RecordChild1,
16742 OPC_Scope, 21,
16743 OPC_MoveChild1,
16744 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16745 OPC_CheckPredicate, 26,
16746 OPC_MoveSibling2,
16747 OPC_CheckValueType, MVT::i64,
16748 OPC_MoveParent,
16749 OPC_CheckTypeI64,
16750 OPC_CheckPatternPredicate, 42,
16751 OPC_EmitConvertToTarget1,
16752 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
16753 MVT::i64, 2, 0, 2,
16754 33,
16755 OPC_CheckChild1TypeI32,
16756 OPC_MoveChild2,
16757 OPC_CheckValueType, MVT::i64,
16758 OPC_MoveParent,
16759 OPC_CheckTypeI64,
16760 OPC_CheckPatternPredicate, 55,
16761 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
16762 MVT::v2i64, 2, 0, 1,
16763 OPC_EmitStringInteger32, Mips::sub_64,
16764 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16765 MVT::i64, 2, 2, 3,
16766 OPC_EmitStringInteger32, Mips::GPR64RegClassID,
16767 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16768 MVT::i64, 2, 4, 5,
16769 51,
16770 OPC_CheckChild1TypeI64,
16771 OPC_MoveChild2,
16772 OPC_CheckValueType, MVT::i64,
16773 OPC_MoveParent,
16774 OPC_CheckTypeI64,
16775 OPC_CheckPatternPredicate, 55,
16776 OPC_EmitStringInteger32, Mips::sub_32,
16777 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16778 MVT::i32, 2, 1, 2,
16779 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16780 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16781 MVT::i32, 2, 3, 4,
16782 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
16783 MVT::v2i64, 2, 0, 5,
16784 OPC_EmitStringInteger32, Mips::sub_64,
16785 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16786 MVT::i64, 2, 6, 7,
16787 OPC_EmitStringInteger32, Mips::GPR64RegClassID,
16788 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16789 MVT::i64, 2, 8, 9,
16790 0,
16791 0,
16792 37|128,4, TARGET_VAL(MipsISD::VEXTRACT_ZEXT_ELT),
16793 OPC_RecordChild0,
16794 OPC_Scope, 0|128,1,
16795 OPC_CheckChild0Type, MVT::v16i8,
16796 OPC_RecordChild1,
16797 OPC_Scope, 20,
16798 OPC_MoveChild1,
16799 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16800 OPC_CheckPredicate, 15,
16801 OPC_MoveSibling2,
16802 OPC_CheckValueType, MVT::i8,
16803 OPC_MoveParent,
16804 OPC_CheckTypeI32,
16805 OPC_CheckPatternPredicate0,
16806 OPC_EmitConvertToTarget1,
16807 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_B),
16808 MVT::i32, 2, 0, 2,
16809 41,
16810 OPC_CheckChild1TypeI32,
16811 OPC_MoveChild2,
16812 OPC_CheckValueType, MVT::i8,
16813 OPC_MoveParent,
16814 OPC_CheckTypeI32,
16815 OPC_CheckPatternPredicate3,
16816 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16817 MVT::v16i8, 2, 0, 1,
16818 OPC_EmitStringInteger32, Mips::sub_lo,
16819 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16820 MVT::i32, 2, 2, 3,
16821 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16822 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16823 MVT::i32, 2, 4, 5,
16824 OPC_EmitInteger32, 48,
16825 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
16826 MVT::i32, 2, 6, 7,
16827 59,
16828 OPC_CheckChild1TypeI64,
16829 OPC_MoveChild2,
16830 OPC_CheckValueType, MVT::i8,
16831 OPC_MoveParent,
16832 OPC_CheckTypeI32,
16833 OPC_CheckPatternPredicate3,
16834 OPC_EmitStringInteger32, Mips::sub_32,
16835 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16836 MVT::i32, 2, 1, 2,
16837 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16838 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16839 MVT::i32, 2, 3, 4,
16840 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16841 MVT::v16i8, 2, 0, 5,
16842 OPC_EmitStringInteger32, Mips::sub_lo,
16843 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16844 MVT::i32, 2, 6, 7,
16845 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16846 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16847 MVT::i32, 2, 8, 9,
16848 OPC_EmitInteger32, 48,
16849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
16850 MVT::i32, 2, 10, 11,
16851 0,
16852 0|128,1,
16853 OPC_CheckChild0Type, MVT::v8i16,
16854 OPC_RecordChild1,
16855 OPC_Scope, 20,
16856 OPC_MoveChild1,
16857 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16858 OPC_CheckPredicate, 18,
16859 OPC_MoveSibling2,
16860 OPC_CheckValueType, MVT::i16,
16861 OPC_MoveParent,
16862 OPC_CheckTypeI32,
16863 OPC_CheckPatternPredicate0,
16864 OPC_EmitConvertToTarget1,
16865 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_H),
16866 MVT::i32, 2, 0, 2,
16867 41,
16868 OPC_CheckChild1TypeI32,
16869 OPC_MoveChild2,
16870 OPC_CheckValueType, MVT::i16,
16871 OPC_MoveParent,
16872 OPC_CheckTypeI32,
16873 OPC_CheckPatternPredicate3,
16874 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16875 MVT::v8i16, 2, 0, 1,
16876 OPC_EmitStringInteger32, Mips::sub_lo,
16877 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16878 MVT::i32, 2, 2, 3,
16879 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16880 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16881 MVT::i32, 2, 4, 5,
16882 OPC_EmitInteger32, 32,
16883 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
16884 MVT::i32, 2, 6, 7,
16885 59,
16886 OPC_CheckChild1TypeI64,
16887 OPC_MoveChild2,
16888 OPC_CheckValueType, MVT::i16,
16889 OPC_MoveParent,
16890 OPC_CheckTypeI32,
16891 OPC_CheckPatternPredicate3,
16892 OPC_EmitStringInteger32, Mips::sub_32,
16893 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16894 MVT::i32, 2, 1, 2,
16895 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16896 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16897 MVT::i32, 2, 3, 4,
16898 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16899 MVT::v8i16, 2, 0, 5,
16900 OPC_EmitStringInteger32, Mips::sub_lo,
16901 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16902 MVT::i32, 2, 6, 7,
16903 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16904 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16905 MVT::i32, 2, 8, 9,
16906 OPC_EmitInteger32, 32,
16907 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
16908 MVT::i32, 2, 10, 11,
16909 0,
16910 124,
16911 OPC_CheckChild0Type, MVT::v4i32,
16912 OPC_RecordChild1,
16913 OPC_Scope, 34,
16914 OPC_MoveChild1,
16915 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16916 OPC_CheckPredicate, 22,
16917 OPC_MoveSibling2,
16918 OPC_CheckValueType, MVT::i32,
16919 OPC_MoveParent,
16920 OPC_CheckTypeI32,
16921 OPC_Scope, 10,
16922 OPC_CheckPatternPredicate, 42,
16923 OPC_EmitConvertToTarget1,
16924 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_W),
16925 MVT::i32, 2, 0, 2,
16926 9,
16927 OPC_CheckPatternPredicate3,
16928 OPC_EmitConvertToTarget1,
16929 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
16930 MVT::i32, 2, 0, 2,
16931 0,
16932 32,
16933 OPC_CheckChild1TypeI32,
16934 OPC_MoveChild2,
16935 OPC_CheckValueType, MVT::i32,
16936 OPC_MoveParent,
16937 OPC_CheckTypeI32,
16938 OPC_CheckPatternPredicate3,
16939 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16940 MVT::v4i32, 2, 0, 1,
16941 OPC_EmitStringInteger32, Mips::sub_lo,
16942 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16943 MVT::i32, 2, 2, 3,
16944 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16945 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16946 MVT::i32, 2, 4, 5,
16947 50,
16948 OPC_CheckChild1TypeI64,
16949 OPC_MoveChild2,
16950 OPC_CheckValueType, MVT::i32,
16951 OPC_MoveParent,
16952 OPC_CheckTypeI32,
16953 OPC_CheckPatternPredicate3,
16954 OPC_EmitStringInteger32, Mips::sub_32,
16955 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16956 MVT::i32, 2, 1, 2,
16957 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16958 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16959 MVT::i32, 2, 3, 4,
16960 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16961 MVT::v4i32, 2, 0, 5,
16962 OPC_EmitStringInteger32, Mips::sub_lo,
16963 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16964 MVT::i32, 2, 6, 7,
16965 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16966 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16967 MVT::i32, 2, 8, 9,
16968 0,
16969 23,
16970 OPC_CheckChild0Type, MVT::v4f32,
16971 OPC_RecordChild1,
16972 OPC_MoveChild1,
16973 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16974 OPC_CheckPredicate, 22,
16975 OPC_MoveSibling2,
16976 OPC_CheckValueType, MVT::i32,
16977 OPC_MoveParent,
16978 OPC_CheckTypeI32,
16979 OPC_CheckPatternPredicate3,
16980 OPC_EmitConvertToTarget1,
16981 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
16982 MVT::i32, 2, 0, 2,
16983 112,
16984 OPC_CheckChild0Type, MVT::v2i64,
16985 OPC_RecordChild1,
16986 OPC_Scope, 20,
16987 OPC_MoveChild1,
16988 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16989 OPC_CheckPredicate, 26,
16990 OPC_MoveSibling2,
16991 OPC_CheckValueType, MVT::i64,
16992 OPC_MoveParent,
16993 OPC_CheckTypeI64,
16994 OPC_CheckPatternPredicate3,
16995 OPC_EmitConvertToTarget1,
16996 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
16997 MVT::i64, 2, 0, 2,
16998 33,
16999 OPC_CheckChild1TypeI32,
17000 OPC_MoveChild2,
17001 OPC_CheckValueType, MVT::i64,
17002 OPC_MoveParent,
17003 OPC_CheckTypeI64,
17004 OPC_CheckPatternPredicate, 55,
17005 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17006 MVT::v2i64, 2, 0, 1,
17007 OPC_EmitStringInteger32, Mips::sub_64,
17008 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17009 MVT::i64, 2, 2, 3,
17010 OPC_EmitStringInteger32, Mips::GPR64RegClassID,
17011 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17012 MVT::i64, 2, 4, 5,
17013 51,
17014 OPC_CheckChild1TypeI64,
17015 OPC_MoveChild2,
17016 OPC_CheckValueType, MVT::i64,
17017 OPC_MoveParent,
17018 OPC_CheckTypeI64,
17019 OPC_CheckPatternPredicate, 55,
17020 OPC_EmitStringInteger32, Mips::sub_32,
17021 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17022 MVT::i32, 2, 1, 2,
17023 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
17024 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17025 MVT::i32, 2, 3, 4,
17026 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17027 MVT::v2i64, 2, 0, 5,
17028 OPC_EmitStringInteger32, Mips::sub_64,
17029 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17030 MVT::i64, 2, 6, 7,
17031 OPC_EmitStringInteger32, Mips::GPR64RegClassID,
17032 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17033 MVT::i64, 2, 8, 9,
17034 0,
17035 23,
17036 OPC_CheckChild0Type, MVT::v2f64,
17037 OPC_RecordChild1,
17038 OPC_MoveChild1,
17039 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17040 OPC_CheckPredicate, 26,
17041 OPC_MoveSibling2,
17042 OPC_CheckValueType, MVT::i64,
17043 OPC_MoveParent,
17044 OPC_CheckTypeI64,
17045 OPC_CheckPatternPredicate3,
17046 OPC_EmitConvertToTarget1,
17047 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
17048 MVT::i64, 2, 0, 2,
17049 0,
17050 65|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
17051 OPC_RecordChild0,
17052 OPC_Scope, 19,
17053 OPC_RecordChild1,
17054 OPC_MoveChild1,
17055 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17056 OPC_CheckPredicate, 15,
17057 OPC_CheckTypeI32,
17058 OPC_MoveParent,
17059 OPC_CheckTypeI32,
17060 OPC_CheckPatternPredicate3,
17061 OPC_EmitConvertToTarget1,
17062 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
17063 MVT::i32, 2, 0, 2,
17064 84,
17065 OPC_CheckChild0Type, MVT::v4f32,
17066 OPC_RecordChild1,
17067 OPC_Scope, 18,
17068 OPC_MoveChild1,
17069 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17070 OPC_CheckPredicate, 22,
17071 OPC_MoveParent,
17072 OPC_CheckType, MVT::f32,
17073 OPC_CheckPatternPredicate0,
17074 OPC_EmitConvertToTarget1,
17075 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FW_PSEUDO),
17076 MVT::f32, 2, 0, 2,
17077 20,
17078 OPC_CheckChild1TypeI32,
17079 OPC_CheckType, MVT::f32,
17080 OPC_CheckPatternPredicate3,
17081 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17082 MVT::v4i32, 2, 0, 1,
17083 OPC_EmitStringInteger32, Mips::sub_lo,
17084 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17085 MVT::f32, 2, 2, 3,
17086 38,
17087 OPC_CheckChild1TypeI64,
17088 OPC_CheckType, MVT::f32,
17089 OPC_CheckPatternPredicate3,
17090 OPC_EmitStringInteger32, Mips::sub_32,
17091 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17092 MVT::i32, 2, 1, 2,
17093 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
17094 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17095 MVT::i32, 2, 3, 4,
17096 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17097 MVT::v4i32, 2, 0, 5,
17098 OPC_EmitStringInteger32, Mips::sub_lo,
17099 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17100 MVT::f32, 2, 6, 7,
17101 0,
17102 84,
17103 OPC_CheckChild0Type, MVT::v2f64,
17104 OPC_RecordChild1,
17105 OPC_Scope, 18,
17106 OPC_MoveChild1,
17107 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17108 OPC_CheckPredicate, 26,
17109 OPC_MoveParent,
17110 OPC_CheckType, MVT::f64,
17111 OPC_CheckPatternPredicate0,
17112 OPC_EmitConvertToTarget1,
17113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FD_PSEUDO),
17114 MVT::f64, 2, 0, 2,
17115 20,
17116 OPC_CheckChild1TypeI32,
17117 OPC_CheckType, MVT::f64,
17118 OPC_CheckPatternPredicate3,
17119 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17120 MVT::v2i64, 2, 0, 1,
17121 OPC_EmitStringInteger32, Mips::sub_64,
17122 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17123 MVT::f64, 2, 2, 3,
17124 38,
17125 OPC_CheckChild1TypeI64,
17126 OPC_CheckType, MVT::f64,
17127 OPC_CheckPatternPredicate3,
17128 OPC_EmitStringInteger32, Mips::sub_32,
17129 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17130 MVT::i32, 2, 1, 2,
17131 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
17132 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17133 MVT::i32, 2, 3, 4,
17134 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17135 MVT::v2i64, 2, 0, 5,
17136 OPC_EmitStringInteger32, Mips::sub_64,
17137 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17138 MVT::f64, 2, 6, 7,
17139 0,
17140 0,
17141 90|128,1, TARGET_VAL(MipsISD::JmpLink),
17142 OPC_RecordNode,
17143 OPC_CaptureGlueInput,
17144 OPC_RecordChild1,
17145 OPC_Scope, 7|128,1,
17146 OPC_MoveChild1,
17147 OPC_SwitchOpcode , 69, TARGET_VAL(ISD::TargetGlobalAddress),
17148 OPC_Scope, 22,
17149 OPC_MoveParent,
17150 OPC_Scope, 8,
17151 OPC_CheckPatternPredicate2,
17152 OPC_EmitMergeInputChains1_0,
17153 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17154 1, 1,
17155 9,
17156 OPC_CheckPatternPredicate, 53,
17157 OPC_EmitMergeInputChains1_0,
17158 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17159 1, 1,
17160 0,
17161 10,
17162 OPC_CheckTypeI32,
17163 OPC_MoveParent,
17164 OPC_CheckPatternPredicate5,
17165 OPC_EmitMergeInputChains1_0,
17166 OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17167 1, 1,
17168 32,
17169 OPC_MoveParent,
17170 OPC_Scope, 19,
17171 OPC_CheckPatternPredicate, 8,
17172 OPC_EmitMergeInputChains1_0,
17173 OPC_Scope, 6,
17174 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17175 1, 1,
17176 6,
17177 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17178 1, 1,
17179 0,
17180 8,
17181 OPC_CheckPatternPredicate7,
17182 OPC_EmitMergeInputChains1_0,
17183 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17184 1, 1,
17185 0,
17186 0,
17187 57, TARGET_VAL(ISD::TargetExternalSymbol),
17188 OPC_SwitchType , 41, MVT::i32,
17189 OPC_MoveParent,
17190 OPC_Scope, 9,
17191 OPC_CheckPatternPredicate, 56,
17192 OPC_EmitMergeInputChains1_0,
17193 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17194 1, 1,
17195 8,
17196 OPC_CheckPatternPredicate5,
17197 OPC_EmitMergeInputChains1_0,
17198 OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17199 1, 1,
17200 9,
17201 OPC_CheckPatternPredicate, 8,
17202 OPC_EmitMergeInputChains1_0,
17203 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17204 1, 1,
17205 8,
17206 OPC_CheckPatternPredicate7,
17207 OPC_EmitMergeInputChains1_0,
17208 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17209 1, 1,
17210 0,
17211 10, MVT::i64,
17212 OPC_MoveParent,
17213 OPC_CheckPatternPredicate, 11,
17214 OPC_EmitMergeInputChains1_0,
17215 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17216 1, 1,
17217 0,
17218 0,
17219 51,
17220 OPC_CheckChild1TypeI32,
17221 OPC_Scope, 9,
17222 OPC_CheckPatternPredicate, 114,
17223 OPC_EmitMergeInputChains1_0,
17224 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17225 1, 1,
17226 9,
17227 OPC_CheckPatternPredicate, 115,
17228 OPC_EmitMergeInputChains1_0,
17229 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHBPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17230 1, 1,
17231 8,
17232 OPC_CheckPatternPredicate5,
17233 OPC_EmitMergeInputChains1_0,
17234 OPC_MorphNodeTo0, TARGET_VAL(Mips::JumpLinkReg16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17235 1, 1,
17236 9,
17237 OPC_CheckPatternPredicate, 8,
17238 OPC_EmitMergeInputChains1_0,
17239 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR16_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17240 1, 1,
17241 8,
17242 OPC_CheckPatternPredicate7,
17243 OPC_EmitMergeInputChains1_0,
17244 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRC16_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17245 1, 1,
17246 0,
17247 23,
17248 OPC_CheckChild1TypeI64,
17249 OPC_Scope, 9,
17250 OPC_CheckPatternPredicate, 116,
17251 OPC_EmitMergeInputChains1_0,
17252 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17253 1, 1,
17254 9,
17255 OPC_CheckPatternPredicate, 117,
17256 OPC_EmitMergeInputChains1_0,
17257 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHB64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17258 1, 1,
17259 0,
17260 0,
17261 56|128,1, TARGET_VAL(MipsISD::TailCall),
17262 OPC_RecordNode,
17263 OPC_CaptureGlueInput,
17264 OPC_RecordChild1,
17265 OPC_Scope, 71,
17266 OPC_MoveChild1,
17267 OPC_SwitchOpcode , 31, TARGET_VAL(ISD::TargetGlobalAddress),
17268 OPC_MoveParent,
17269 OPC_Scope, 8,
17270 OPC_CheckPatternPredicate2,
17271 OPC_EmitMergeInputChains1_0,
17272 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17273 1, 1,
17274 9,
17275 OPC_CheckPatternPredicate, 8,
17276 OPC_EmitMergeInputChains1_0,
17277 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17278 1, 1,
17279 8,
17280 OPC_CheckPatternPredicate7,
17281 OPC_EmitMergeInputChains1_0,
17282 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17283 1, 1,
17284 0,
17285 31, TARGET_VAL(ISD::TargetExternalSymbol),
17286 OPC_MoveParent,
17287 OPC_Scope, 8,
17288 OPC_CheckPatternPredicate2,
17289 OPC_EmitMergeInputChains1_0,
17290 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17291 1, 1,
17292 9,
17293 OPC_CheckPatternPredicate, 8,
17294 OPC_EmitMergeInputChains1_0,
17295 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17296 1, 1,
17297 8,
17298 OPC_CheckPatternPredicate7,
17299 OPC_EmitMergeInputChains1_0,
17300 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17301 1, 1,
17302 0,
17303 0,
17304 62,
17305 OPC_CheckChild1TypeI32,
17306 OPC_Scope, 9,
17307 OPC_CheckPatternPredicate, 91,
17308 OPC_EmitMergeInputChains1_0,
17309 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17310 1, 1,
17311 9,
17312 OPC_CheckPatternPredicate, 118,
17313 OPC_EmitMergeInputChains1_0,
17314 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17315 1, 1,
17316 9,
17317 OPC_CheckPatternPredicate, 92,
17318 OPC_EmitMergeInputChains1_0,
17319 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17320 1, 1,
17321 9,
17322 OPC_CheckPatternPredicate, 93,
17323 OPC_EmitMergeInputChains1_0,
17324 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHBR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17325 1, 1,
17326 9,
17327 OPC_CheckPatternPredicate, 8,
17328 OPC_EmitMergeInputChains1_0,
17329 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17330 1, 1,
17331 8,
17332 OPC_CheckPatternPredicate7,
17333 OPC_EmitMergeInputChains1_0,
17334 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17335 1, 1,
17336 0,
17337 43,
17338 OPC_CheckChild1TypeI64,
17339 OPC_Scope, 9,
17340 OPC_CheckPatternPredicate, 119,
17341 OPC_EmitMergeInputChains1_0,
17342 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17343 1, 1,
17344 9,
17345 OPC_CheckPatternPredicate, 94,
17346 OPC_EmitMergeInputChains1_0,
17347 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17348 1, 1,
17349 9,
17350 OPC_CheckPatternPredicate, 95,
17351 OPC_EmitMergeInputChains1_0,
17352 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17353 1, 1,
17354 9,
17355 OPC_CheckPatternPredicate, 96,
17356 OPC_EmitMergeInputChains1_0,
17357 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHB64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17358 1, 1,
17359 0,
17360 0,
17361 64|128,2, TARGET_VAL(MipsISD::Hi),
17362 OPC_RecordChild0,
17363 OPC_MoveChild0,
17364 OPC_SwitchOpcode , 67, TARGET_VAL(ISD::TargetGlobalAddress),
17365 OPC_MoveParent,
17366 OPC_SwitchType , 35, MVT::i32,
17367 OPC_Scope, 7,
17368 OPC_CheckPatternPredicate2,
17369 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17370 MVT::i32, 1, 0,
17371 7,
17372 OPC_CheckPatternPredicate4,
17373 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17374 MVT::i32, 1, 0,
17375 16,
17376 OPC_CheckPatternPredicate5,
17377 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17378 MVT::i32, 1, 0,
17379 OPC_EmitInteger32, 32,
17380 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17381 MVT::i32, 2, 1, 2,
17382 0,
17383 25, MVT::i64,
17384 OPC_Scope, 8,
17385 OPC_CheckPatternPredicate, 22,
17386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17387 MVT::i64, 1, 0,
17388 13,
17389 OPC_CheckPatternPredicate, 11,
17390 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17391 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17392 MVT::i64, 2, 1, 0,
17393 0,
17394 0,
17395 67, TARGET_VAL(ISD::TargetBlockAddress),
17396 OPC_MoveParent,
17397 OPC_SwitchType , 35, MVT::i32,
17398 OPC_Scope, 7,
17399 OPC_CheckPatternPredicate2,
17400 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17401 MVT::i32, 1, 0,
17402 7,
17403 OPC_CheckPatternPredicate4,
17404 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17405 MVT::i32, 1, 0,
17406 16,
17407 OPC_CheckPatternPredicate5,
17408 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17409 MVT::i32, 1, 0,
17410 OPC_EmitInteger32, 32,
17411 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17412 MVT::i32, 2, 1, 2,
17413 0,
17414 25, MVT::i64,
17415 OPC_Scope, 8,
17416 OPC_CheckPatternPredicate, 22,
17417 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17418 MVT::i64, 1, 0,
17419 13,
17420 OPC_CheckPatternPredicate, 11,
17421 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17422 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17423 MVT::i64, 2, 1, 0,
17424 0,
17425 0,
17426 67, TARGET_VAL(ISD::TargetJumpTable),
17427 OPC_MoveParent,
17428 OPC_SwitchType , 35, MVT::i32,
17429 OPC_Scope, 7,
17430 OPC_CheckPatternPredicate2,
17431 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17432 MVT::i32, 1, 0,
17433 7,
17434 OPC_CheckPatternPredicate4,
17435 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17436 MVT::i32, 1, 0,
17437 16,
17438 OPC_CheckPatternPredicate5,
17439 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17440 MVT::i32, 1, 0,
17441 OPC_EmitInteger32, 32,
17442 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17443 MVT::i32, 2, 1, 2,
17444 0,
17445 25, MVT::i64,
17446 OPC_Scope, 8,
17447 OPC_CheckPatternPredicate, 22,
17448 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17449 MVT::i64, 1, 0,
17450 13,
17451 OPC_CheckPatternPredicate, 11,
17452 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17453 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17454 MVT::i64, 2, 1, 0,
17455 0,
17456 0,
17457 50, TARGET_VAL(ISD::TargetConstantPool),
17458 OPC_MoveParent,
17459 OPC_SwitchType , 18, MVT::i32,
17460 OPC_Scope, 7,
17461 OPC_CheckPatternPredicate2,
17462 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17463 MVT::i32, 1, 0,
17464 7,
17465 OPC_CheckPatternPredicate4,
17466 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17467 MVT::i32, 1, 0,
17468 0,
17469 25, MVT::i64,
17470 OPC_Scope, 8,
17471 OPC_CheckPatternPredicate, 22,
17472 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17473 MVT::i64, 1, 0,
17474 13,
17475 OPC_CheckPatternPredicate, 11,
17476 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17477 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17478 MVT::i64, 2, 1, 0,
17479 0,
17480 0,
17481 50, TARGET_VAL(ISD::TargetExternalSymbol),
17482 OPC_MoveParent,
17483 OPC_SwitchType , 18, MVT::i32,
17484 OPC_Scope, 7,
17485 OPC_CheckPatternPredicate2,
17486 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17487 MVT::i32, 1, 0,
17488 7,
17489 OPC_CheckPatternPredicate4,
17490 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17491 MVT::i32, 1, 0,
17492 0,
17493 25, MVT::i64,
17494 OPC_Scope, 8,
17495 OPC_CheckPatternPredicate, 22,
17496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17497 MVT::i64, 1, 0,
17498 13,
17499 OPC_CheckPatternPredicate, 11,
17500 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17501 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17502 MVT::i64, 2, 1, 0,
17503 0,
17504 0,
17505 0,
17506 12|128,3, TARGET_VAL(MipsISD::Lo),
17507 OPC_RecordChild0,
17508 OPC_MoveChild0,
17509 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::TargetGlobalAddress),
17510 OPC_MoveParent,
17511 OPC_SwitchType , 24, MVT::i32,
17512 OPC_Scope, 10,
17513 OPC_CheckPatternPredicate2,
17514 OPC_EmitRegisterI32, Mips::ZERO,
17515 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17516 MVT::i32, 2, 1, 0,
17517 10,
17518 OPC_CheckPatternPredicate4,
17519 OPC_EmitRegisterI32, Mips::ZERO,
17520 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17521 MVT::i32, 2, 1, 0,
17522 0,
17523 30, MVT::i64,
17524 OPC_Scope, 13,
17525 OPC_CheckPatternPredicate, 22,
17526 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17527 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17528 MVT::i64, 2, 1, 0,
17529 13,
17530 OPC_CheckPatternPredicate, 11,
17531 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17532 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17533 MVT::i64, 2, 1, 0,
17534 0,
17535 0,
17536 69, TARGET_VAL(ISD::TargetBlockAddress),
17537 OPC_MoveParent,
17538 OPC_SwitchType , 32, MVT::i32,
17539 OPC_Scope, 10,
17540 OPC_CheckPatternPredicate2,
17541 OPC_EmitRegisterI32, Mips::ZERO,
17542 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17543 MVT::i32, 2, 1, 0,
17544 7,
17545 OPC_CheckPatternPredicate5,
17546 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
17547 MVT::i32, 1, 0,
17548 10,
17549 OPC_CheckPatternPredicate4,
17550 OPC_EmitRegisterI32, Mips::ZERO,
17551 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17552 MVT::i32, 2, 1, 0,
17553 0,
17554 30, MVT::i64,
17555 OPC_Scope, 13,
17556 OPC_CheckPatternPredicate, 22,
17557 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17558 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17559 MVT::i64, 2, 1, 0,
17560 13,
17561 OPC_CheckPatternPredicate, 11,
17562 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17563 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17564 MVT::i64, 2, 1, 0,
17565 0,
17566 0,
17567 61, TARGET_VAL(ISD::TargetJumpTable),
17568 OPC_MoveParent,
17569 OPC_SwitchType , 24, MVT::i32,
17570 OPC_Scope, 10,
17571 OPC_CheckPatternPredicate2,
17572 OPC_EmitRegisterI32, Mips::ZERO,
17573 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17574 MVT::i32, 2, 1, 0,
17575 10,
17576 OPC_CheckPatternPredicate4,
17577 OPC_EmitRegisterI32, Mips::ZERO,
17578 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17579 MVT::i32, 2, 1, 0,
17580 0,
17581 30, MVT::i64,
17582 OPC_Scope, 13,
17583 OPC_CheckPatternPredicate, 22,
17584 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17585 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17586 MVT::i64, 2, 1, 0,
17587 13,
17588 OPC_CheckPatternPredicate, 11,
17589 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17590 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17591 MVT::i64, 2, 1, 0,
17592 0,
17593 0,
17594 61, TARGET_VAL(ISD::TargetConstantPool),
17595 OPC_MoveParent,
17596 OPC_SwitchType , 24, MVT::i32,
17597 OPC_Scope, 10,
17598 OPC_CheckPatternPredicate2,
17599 OPC_EmitRegisterI32, Mips::ZERO,
17600 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17601 MVT::i32, 2, 1, 0,
17602 10,
17603 OPC_CheckPatternPredicate4,
17604 OPC_EmitRegisterI32, Mips::ZERO,
17605 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17606 MVT::i32, 2, 1, 0,
17607 0,
17608 30, MVT::i64,
17609 OPC_Scope, 13,
17610 OPC_CheckPatternPredicate, 22,
17611 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17612 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17613 MVT::i64, 2, 1, 0,
17614 13,
17615 OPC_CheckPatternPredicate, 11,
17616 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17617 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17618 MVT::i64, 2, 1, 0,
17619 0,
17620 0,
17621 61, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17622 OPC_MoveParent,
17623 OPC_SwitchType , 24, MVT::i32,
17624 OPC_Scope, 10,
17625 OPC_CheckPatternPredicate2,
17626 OPC_EmitRegisterI32, Mips::ZERO,
17627 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17628 MVT::i32, 2, 1, 0,
17629 10,
17630 OPC_CheckPatternPredicate4,
17631 OPC_EmitRegisterI32, Mips::ZERO,
17632 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17633 MVT::i32, 2, 1, 0,
17634 0,
17635 30, MVT::i64,
17636 OPC_Scope, 13,
17637 OPC_CheckPatternPredicate, 22,
17638 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17639 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17640 MVT::i64, 2, 1, 0,
17641 13,
17642 OPC_CheckPatternPredicate, 11,
17643 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17645 MVT::i64, 2, 1, 0,
17646 0,
17647 0,
17648 61, TARGET_VAL(ISD::TargetExternalSymbol),
17649 OPC_MoveParent,
17650 OPC_SwitchType , 24, MVT::i32,
17651 OPC_Scope, 10,
17652 OPC_CheckPatternPredicate2,
17653 OPC_EmitRegisterI32, Mips::ZERO,
17654 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17655 MVT::i32, 2, 1, 0,
17656 10,
17657 OPC_CheckPatternPredicate4,
17658 OPC_EmitRegisterI32, Mips::ZERO,
17659 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17660 MVT::i32, 2, 1, 0,
17661 0,
17662 30, MVT::i64,
17663 OPC_Scope, 13,
17664 OPC_CheckPatternPredicate, 22,
17665 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17666 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17667 MVT::i64, 2, 1, 0,
17668 13,
17669 OPC_CheckPatternPredicate, 11,
17670 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17671 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17672 MVT::i64, 2, 1, 0,
17673 0,
17674 0,
17675 0,
17676 76, TARGET_VAL(MipsISD::GotHi),
17677 OPC_RecordChild0,
17678 OPC_MoveChild0,
17679 OPC_SwitchOpcode , 33, TARGET_VAL(ISD::TargetGlobalAddress),
17680 OPC_MoveParent,
17681 OPC_SwitchType , 18, MVT::i32,
17682 OPC_Scope, 7,
17683 OPC_CheckPatternPredicate2,
17684 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17685 MVT::i32, 1, 0,
17686 7,
17687 OPC_CheckPatternPredicate4,
17688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17689 MVT::i32, 1, 0,
17690 0,
17691 8, MVT::i64,
17692 OPC_CheckPatternPredicate, 12,
17693 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17694 MVT::i64, 1, 0,
17695 0,
17696 33, TARGET_VAL(ISD::TargetExternalSymbol),
17697 OPC_MoveParent,
17698 OPC_SwitchType , 18, MVT::i32,
17699 OPC_Scope, 7,
17700 OPC_CheckPatternPredicate2,
17701 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17702 MVT::i32, 1, 0,
17703 7,
17704 OPC_CheckPatternPredicate4,
17705 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17706 MVT::i32, 1, 0,
17707 0,
17708 8, MVT::i64,
17709 OPC_CheckPatternPredicate, 12,
17710 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17711 MVT::i64, 1, 0,
17712 0,
17713 0,
17714 55, TARGET_VAL(MipsISD::TlsHi),
17715 OPC_RecordChild0,
17716 OPC_MoveChild0,
17717 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17718 OPC_MoveParent,
17719 OPC_SwitchType , 35, MVT::i32,
17720 OPC_Scope, 7,
17721 OPC_CheckPatternPredicate2,
17722 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17723 MVT::i32, 1, 0,
17724 7,
17725 OPC_CheckPatternPredicate4,
17726 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17727 MVT::i32, 1, 0,
17728 16,
17729 OPC_CheckPatternPredicate5,
17730 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17731 MVT::i32, 1, 0,
17732 OPC_EmitInteger32, 32,
17733 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17734 MVT::i32, 2, 1, 2,
17735 0,
17736 8, MVT::i64,
17737 OPC_CheckPatternPredicate, 12,
17738 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17739 MVT::i64, 1, 0,
17740 0,
17741 1|128,2, TARGET_VAL(MipsISD::Wrapper),
17742 OPC_RecordChild0,
17743 OPC_RecordChild1,
17744 OPC_MoveChild1,
17745 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::TargetGlobalAddress),
17746 OPC_MoveParent,
17747 OPC_SwitchType , 29, MVT::i32,
17748 OPC_Scope, 8,
17749 OPC_CheckPatternPredicate2,
17750 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17751 MVT::i32, 2, 0, 1,
17752 8,
17753 OPC_CheckPatternPredicate5,
17754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
17755 MVT::i32, 2, 0, 1,
17756 8,
17757 OPC_CheckPatternPredicate4,
17758 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17759 MVT::i32, 2, 0, 1,
17760 0,
17761 9, MVT::i64,
17762 OPC_CheckPatternPredicate, 12,
17763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17764 MVT::i64, 2, 0, 1,
17765 0,
17766 36, TARGET_VAL(ISD::TargetConstantPool),
17767 OPC_MoveParent,
17768 OPC_SwitchType , 20, MVT::i32,
17769 OPC_Scope, 8,
17770 OPC_CheckPatternPredicate2,
17771 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17772 MVT::i32, 2, 0, 1,
17773 8,
17774 OPC_CheckPatternPredicate4,
17775 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17776 MVT::i32, 2, 0, 1,
17777 0,
17778 9, MVT::i64,
17779 OPC_CheckPatternPredicate, 12,
17780 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17781 MVT::i64, 2, 0, 1,
17782 0,
17783 36, TARGET_VAL(ISD::TargetExternalSymbol),
17784 OPC_MoveParent,
17785 OPC_SwitchType , 20, MVT::i32,
17786 OPC_Scope, 8,
17787 OPC_CheckPatternPredicate2,
17788 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17789 MVT::i32, 2, 0, 1,
17790 8,
17791 OPC_CheckPatternPredicate4,
17792 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17793 MVT::i32, 2, 0, 1,
17794 0,
17795 9, MVT::i64,
17796 OPC_CheckPatternPredicate, 12,
17797 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17798 MVT::i64, 2, 0, 1,
17799 0,
17800 36, TARGET_VAL(ISD::TargetBlockAddress),
17801 OPC_MoveParent,
17802 OPC_SwitchType , 20, MVT::i32,
17803 OPC_Scope, 8,
17804 OPC_CheckPatternPredicate2,
17805 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17806 MVT::i32, 2, 0, 1,
17807 8,
17808 OPC_CheckPatternPredicate4,
17809 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17810 MVT::i32, 2, 0, 1,
17811 0,
17812 9, MVT::i64,
17813 OPC_CheckPatternPredicate, 12,
17814 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17815 MVT::i64, 2, 0, 1,
17816 0,
17817 36, TARGET_VAL(ISD::TargetJumpTable),
17818 OPC_MoveParent,
17819 OPC_SwitchType , 20, MVT::i32,
17820 OPC_Scope, 8,
17821 OPC_CheckPatternPredicate2,
17822 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17823 MVT::i32, 2, 0, 1,
17824 8,
17825 OPC_CheckPatternPredicate4,
17826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17827 MVT::i32, 2, 0, 1,
17828 0,
17829 9, MVT::i64,
17830 OPC_CheckPatternPredicate, 12,
17831 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17832 MVT::i64, 2, 0, 1,
17833 0,
17834 45, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17835 OPC_MoveParent,
17836 OPC_SwitchType , 29, MVT::i32,
17837 OPC_Scope, 8,
17838 OPC_CheckPatternPredicate2,
17839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17840 MVT::i32, 2, 0, 1,
17841 8,
17842 OPC_CheckPatternPredicate5,
17843 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
17844 MVT::i32, 2, 0, 1,
17845 8,
17846 OPC_CheckPatternPredicate4,
17847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17848 MVT::i32, 2, 0, 1,
17849 0,
17850 9, MVT::i64,
17851 OPC_CheckPatternPredicate, 12,
17852 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17853 MVT::i64, 2, 0, 1,
17854 0,
17855 0,
17856 120, TARGET_VAL(MipsISD::FPCmp),
17857 OPC_RecordChild0,
17858 OPC_Scope, 35,
17859 OPC_CheckChild0Type, MVT::f32,
17860 OPC_RecordChild1,
17861 OPC_RecordChild2,
17862 OPC_MoveChild2,
17863 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17864 OPC_MoveParent,
17865 OPC_Scope, 11,
17866 OPC_CheckPatternPredicate, 65,
17867 OPC_EmitConvertToTarget2,
17868 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
17869 MVT::i32, 3, 0, 1, 3,
17870 11,
17871 OPC_CheckPatternPredicate, 31,
17872 OPC_EmitConvertToTarget2,
17873 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32_MM),
17874 MVT::i32, 3, 0, 1, 3,
17875 0,
17876 47,
17877 OPC_CheckChild0Type, MVT::f64,
17878 OPC_RecordChild1,
17879 OPC_RecordChild2,
17880 OPC_MoveChild2,
17881 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17882 OPC_MoveParent,
17883 OPC_Scope, 11,
17884 OPC_CheckPatternPredicate, 120,
17885 OPC_EmitConvertToTarget2,
17886 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32),
17887 MVT::i32, 3, 0, 1, 3,
17888 11,
17889 OPC_CheckPatternPredicate, 121,
17890 OPC_EmitConvertToTarget2,
17891 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D64),
17892 MVT::i32, 3, 0, 1, 3,
17893 11,
17894 OPC_CheckPatternPredicate, 31,
17895 OPC_EmitConvertToTarget2,
17896 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32_MM),
17897 MVT::i32, 3, 0, 1, 3,
17898 0,
17899 32,
17900 OPC_CheckChild0Type, MVT::f16,
17901 OPC_RecordChild1,
17902 OPC_RecordChild2,
17903 OPC_MoveChild2,
17904 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17905 OPC_MoveParent,
17906 OPC_CheckPatternPredicate, 122,
17907 OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
17908 MVT::f32, 1, 0,
17909 OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
17910 MVT::f32, 1, 1,
17911 OPC_EmitConvertToTarget2,
17912 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
17913 MVT::i32, 3, 3, 4, 5,
17914 0,
17915 31, TARGET_VAL(MipsISD::ExtractElementF64),
17916 OPC_RecordChild0,
17917 OPC_RecordChild1,
17918 OPC_MoveChild1,
17919 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17920 OPC_MoveParent,
17921 OPC_Scope, 10,
17922 OPC_CheckPatternPredicate, 97,
17923 OPC_EmitConvertToTarget1,
17924 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64),
17925 MVT::i32, 2, 0, 2,
17926 10,
17927 OPC_CheckPatternPredicate, 98,
17928 OPC_EmitConvertToTarget1,
17929 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64_64),
17930 MVT::i32, 2, 0, 2,
17931 0,
17932 69, TARGET_VAL(MipsISD::Highest),
17933 OPC_RecordChild0,
17934 OPC_MoveChild0,
17935 OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
17936 OPC_MoveParent,
17937 OPC_CheckTypeI64,
17938 OPC_CheckPatternPredicate, 11,
17939 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17940 MVT::i64, 1, 0,
17941 10, TARGET_VAL(ISD::TargetBlockAddress),
17942 OPC_MoveParent,
17943 OPC_CheckTypeI64,
17944 OPC_CheckPatternPredicate, 11,
17945 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17946 MVT::i64, 1, 0,
17947 10, TARGET_VAL(ISD::TargetJumpTable),
17948 OPC_MoveParent,
17949 OPC_CheckTypeI64,
17950 OPC_CheckPatternPredicate, 11,
17951 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17952 MVT::i64, 1, 0,
17953 10, TARGET_VAL(ISD::TargetConstantPool),
17954 OPC_MoveParent,
17955 OPC_CheckTypeI64,
17956 OPC_CheckPatternPredicate, 11,
17957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17958 MVT::i64, 1, 0,
17959 10, TARGET_VAL(ISD::TargetExternalSymbol),
17960 OPC_MoveParent,
17961 OPC_CheckTypeI64,
17962 OPC_CheckPatternPredicate, 11,
17963 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17964 MVT::i64, 1, 0,
17965 0,
17966 94, TARGET_VAL(MipsISD::Higher),
17967 OPC_RecordChild0,
17968 OPC_MoveChild0,
17969 OPC_SwitchOpcode , 15, TARGET_VAL(ISD::TargetGlobalAddress),
17970 OPC_MoveParent,
17971 OPC_CheckTypeI64,
17972 OPC_CheckPatternPredicate, 11,
17973 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17974 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17975 MVT::i64, 2, 1, 0,
17976 15, TARGET_VAL(ISD::TargetBlockAddress),
17977 OPC_MoveParent,
17978 OPC_CheckTypeI64,
17979 OPC_CheckPatternPredicate, 11,
17980 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17981 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17982 MVT::i64, 2, 1, 0,
17983 15, TARGET_VAL(ISD::TargetJumpTable),
17984 OPC_MoveParent,
17985 OPC_CheckTypeI64,
17986 OPC_CheckPatternPredicate, 11,
17987 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17988 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17989 MVT::i64, 2, 1, 0,
17990 15, TARGET_VAL(ISD::TargetConstantPool),
17991 OPC_MoveParent,
17992 OPC_CheckTypeI64,
17993 OPC_CheckPatternPredicate, 11,
17994 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17995 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17996 MVT::i64, 2, 1, 0,
17997 15, TARGET_VAL(ISD::TargetExternalSymbol),
17998 OPC_MoveParent,
17999 OPC_CheckTypeI64,
18000 OPC_CheckPatternPredicate, 11,
18001 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18002 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18003 MVT::i64, 2, 1, 0,
18004 0,
18005 115|128,2, TARGET_VAL(ISD::Constant),
18006 OPC_RecordNode,
18007 OPC_Scope, 14,
18008 OPC_CheckPredicate, 36,
18009 OPC_CheckTypeI32,
18010 OPC_CheckPatternPredicate2,
18011 OPC_EmitConvertToTarget0,
18012 OPC_EmitNodeXForm, 5, 1,
18013 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
18014 MVT::i32, 1, 2,
18015 14,
18016 OPC_CheckPredicate, 37,
18017 OPC_CheckTypeI32,
18018 OPC_CheckPatternPredicate2,
18019 OPC_EmitRegisterI32, Mips::ZERO,
18020 OPC_EmitConvertToTarget0,
18021 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
18022 MVT::i32, 2, 1, 2,
18023 13,
18024 OPC_CheckPredicate7,
18025 OPC_CheckTypeI32,
18026 OPC_CheckPatternPredicate2,
18027 OPC_EmitRegisterI32, Mips::ZERO,
18028 OPC_EmitConvertToTarget0,
18029 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18030 MVT::i32, 2, 1, 2,
18031 15,
18032 OPC_CheckPredicate, 36,
18033 OPC_CheckTypeI64,
18034 OPC_CheckPatternPredicate, 12,
18035 OPC_EmitConvertToTarget0,
18036 OPC_EmitNodeXForm, 5, 1,
18037 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18038 MVT::i64, 1, 2,
18039 17,
18040 OPC_CheckPredicate, 37,
18041 OPC_CheckTypeI64,
18042 OPC_CheckPatternPredicate, 12,
18043 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18044 OPC_EmitConvertToTarget0,
18045 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18046 MVT::i64, 2, 1, 2,
18047 16,
18048 OPC_CheckPredicate7,
18049 OPC_CheckTypeI64,
18050 OPC_CheckPatternPredicate, 12,
18051 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18052 OPC_EmitConvertToTarget0,
18053 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18054 MVT::i64, 2, 1, 2,
18055 14,
18056 OPC_CheckPredicate, 13,
18057 OPC_CheckTypeI32,
18058 OPC_CheckPatternPredicate5,
18059 OPC_EmitConvertToTarget0,
18060 OPC_EmitNodeXForm, 3, 1,
18061 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
18062 MVT::i32, 1, 2,
18063 11,
18064 OPC_CheckPredicate, 61,
18065 OPC_CheckTypeI32,
18066 OPC_CheckPatternPredicate4,
18067 OPC_EmitConvertToTarget0,
18068 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LI16_MM),
18069 MVT::i32, 1, 1,
18070 14,
18071 OPC_CheckPredicate, 36,
18072 OPC_CheckTypeI32,
18073 OPC_CheckPatternPredicate4,
18074 OPC_EmitConvertToTarget0,
18075 OPC_EmitNodeXForm, 5, 1,
18076 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
18077 MVT::i32, 1, 2,
18078 14,
18079 OPC_CheckPredicate, 37,
18080 OPC_CheckTypeI32,
18081 OPC_CheckPatternPredicate4,
18082 OPC_EmitRegisterI32, Mips::ZERO,
18083 OPC_EmitConvertToTarget0,
18084 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
18085 MVT::i32, 2, 1, 2,
18086 13,
18087 OPC_CheckPredicate7,
18088 OPC_CheckTypeI32,
18089 OPC_CheckPatternPredicate4,
18090 OPC_EmitRegisterI32, Mips::ZERO,
18091 OPC_EmitConvertToTarget0,
18092 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18093 MVT::i32, 2, 1, 2,
18094 17,
18095 OPC_CheckPredicate, 13,
18096 OPC_CheckTypeI32,
18097 OPC_CheckPatternPredicate7,
18098 OPC_EmitRegisterI32, Mips::ZERO,
18099 OPC_EmitConvertToTarget0,
18100 OPC_EmitNodeXForm, 3, 2,
18101 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
18102 MVT::i32, 2, 1, 3,
18103 53,
18104 OPC_CheckPredicate, 47,
18105 OPC_SwitchType , 22, MVT::i32,
18106 OPC_CheckPatternPredicate2,
18107 OPC_EmitConvertToTarget0,
18108 OPC_EmitNodeXForm, 5, 1,
18109 OPC_EmitNode1None, TARGET_VAL(Mips::LUi),
18110 MVT::i32, 1, 2,
18111 OPC_EmitConvertToTarget0,
18112 OPC_EmitNodeXForm, 3, 4,
18113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
18114 MVT::i32, 2, 3, 5,
18115 23, MVT::i64,
18116 OPC_CheckPatternPredicate, 12,
18117 OPC_EmitConvertToTarget0,
18118 OPC_EmitNodeXForm, 5, 1,
18119 OPC_EmitNode1None, TARGET_VAL(Mips::LUi64),
18120 MVT::i64, 1, 2,
18121 OPC_EmitConvertToTarget0,
18122 OPC_EmitNodeXForm, 3, 4,
18123 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18124 MVT::i64, 2, 3, 5,
18125 0,
18126 29,
18127 OPC_CheckPredicate, 62,
18128 OPC_CheckTypeI64,
18129 OPC_CheckPatternPredicate, 12,
18130 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18131 OPC_EmitConvertToTarget0,
18132 OPC_EmitNodeXForm, 5, 2,
18133 OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
18134 MVT::i64, 2, 1, 3,
18135 OPC_EmitInteger32, 32,
18136 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
18137 MVT::i64, 2, 4, 5,
18138 19,
18139 OPC_CheckPredicate7,
18140 OPC_CheckTypeI32,
18141 OPC_CheckPatternPredicate5,
18142 OPC_EmitRegisterI32, Mips::ZERO,
18143 OPC_EmitNode1None, TARGET_VAL(Mips::MoveR3216),
18144 MVT::i32, 1, 1,
18145 OPC_EmitConvertToTarget0,
18146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
18147 MVT::i32, 2, 2, 3,
18148 25,
18149 OPC_CheckPredicate, 47,
18150 OPC_CheckTypeI32,
18151 OPC_CheckPatternPredicate4,
18152 OPC_EmitConvertToTarget0,
18153 OPC_EmitNodeXForm, 5, 1,
18154 OPC_EmitNode1None, TARGET_VAL(Mips::LUi_MM),
18155 MVT::i32, 1, 2,
18156 OPC_EmitConvertToTarget0,
18157 OPC_EmitNodeXForm, 3, 4,
18158 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
18159 MVT::i32, 2, 3, 5,
18160 40,
18161 OPC_CheckPredicate, 63,
18162 OPC_CheckTypeI64,
18163 OPC_CheckPatternPredicate, 12,
18164 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18165 OPC_EmitConvertToTarget0,
18166 OPC_EmitNodeXForm, 5, 2,
18167 OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
18168 MVT::i64, 2, 1, 3,
18169 OPC_EmitInteger32, 32,
18170 OPC_EmitNode1None, TARGET_VAL(Mips::DSLL),
18171 MVT::i64, 2, 4, 5,
18172 OPC_EmitConvertToTarget0,
18173 OPC_EmitNodeXForm, 3, 7,
18174 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18175 MVT::i64, 2, 6, 8,
18176 12,
18177 OPC_CheckTypeI32,
18178 OPC_CheckPatternPredicate5,
18179 OPC_EmitConvertToTarget0,
18180 OPC_EmitInteger32, 3,
18181 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LwConstant32),
18182 MVT::i32, 2, 1, 2,
18183 0,
18184 109, TARGET_VAL(ISD::BRIND),
18185 OPC_RecordNode,
18186 OPC_RecordChild1,
18187 OPC_Scope, 64,
18188 OPC_CheckChild1TypeI32,
18189 OPC_Scope, 7,
18190 OPC_CheckPatternPredicate5,
18191 OPC_EmitMergeInputChains1_0,
18192 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::JrcRx16),
18193 1, 1,
18194 8,
18195 OPC_CheckPatternPredicate, 91,
18196 OPC_EmitMergeInputChains1_0,
18197 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch),
18198 1, 1,
18199 8,
18200 OPC_CheckPatternPredicate, 123,
18201 OPC_EmitMergeInputChains1_0,
18202 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch),
18203 1, 1,
18204 8,
18205 OPC_CheckPatternPredicate, 92,
18206 OPC_EmitMergeInputChains1_0,
18207 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranchR6),
18208 1, 1,
18209 8,
18210 OPC_CheckPatternPredicate, 93,
18211 OPC_EmitMergeInputChains1_0,
18212 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranchR6),
18213 1, 1,
18214 8,
18215 OPC_CheckPatternPredicate, 8,
18216 OPC_EmitMergeInputChains1_0,
18217 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MM),
18218 1, 1,
18219 7,
18220 OPC_CheckPatternPredicate7,
18221 OPC_EmitMergeInputChains1_0,
18222 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MMR6),
18223 1, 1,
18224 0,
18225 39,
18226 OPC_CheckChild1TypeI64,
18227 OPC_Scope, 8,
18228 OPC_CheckPatternPredicate, 124,
18229 OPC_EmitMergeInputChains1_0,
18230 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64),
18231 1, 1,
18232 8,
18233 OPC_CheckPatternPredicate, 94,
18234 OPC_EmitMergeInputChains1_0,
18235 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch64),
18236 1, 1,
18237 8,
18238 OPC_CheckPatternPredicate, 95,
18239 OPC_EmitMergeInputChains1_0,
18240 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64R6),
18241 1, 1,
18242 8,
18243 OPC_CheckPatternPredicate, 96,
18244 OPC_EmitMergeInputChains1_0,
18245 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranch64R6),
18246 1, 1,
18247 0,
18248 0,
18249 65, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
18250 OPC_RecordMemRef,
18251 OPC_RecordNode,
18252 OPC_RecordChild1,
18253 OPC_RecordChild2,
18254 OPC_SwitchType , 42, MVT::i32,
18255 OPC_Scope, 12,
18256 OPC_CheckPredicate5,
18257 OPC_CheckPatternPredicate, 10,
18258 OPC_EmitMergeInputChains1_0,
18259 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I8), 0|OPFL_Chain|OPFL_MemRefs,
18260 MVT::i32, 2, 1, 2,
18261 12,
18262 OPC_CheckPredicate4,
18263 OPC_CheckPatternPredicate, 10,
18264 OPC_EmitMergeInputChains1_0,
18265 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I16), 0|OPFL_Chain|OPFL_MemRefs,
18266 MVT::i32, 2, 1, 2,
18267 13,
18268 OPC_CheckPredicate, 10,
18269 OPC_CheckPatternPredicate, 10,
18270 OPC_EmitMergeInputChains1_0,
18271 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
18272 MVT::i32, 2, 1, 2,
18273 0,
18274 13, MVT::i64,
18275 OPC_CheckPredicate, 17,
18276 OPC_CheckPatternPredicate, 10,
18277 OPC_EmitMergeInputChains1_0,
18278 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
18279 MVT::i64, 2, 1, 2,
18280 0,
18281 65, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
18282 OPC_RecordMemRef,
18283 OPC_RecordNode,
18284 OPC_RecordChild1,
18285 OPC_RecordChild2,
18286 OPC_SwitchType , 42, MVT::i32,
18287 OPC_Scope, 12,
18288 OPC_CheckPredicate5,
18289 OPC_CheckPatternPredicate, 10,
18290 OPC_EmitMergeInputChains1_0,
18291 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I8), 0|OPFL_Chain|OPFL_MemRefs,
18292 MVT::i32, 2, 1, 2,
18293 12,
18294 OPC_CheckPredicate4,
18295 OPC_CheckPatternPredicate, 10,
18296 OPC_EmitMergeInputChains1_0,
18297 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I16), 0|OPFL_Chain|OPFL_MemRefs,
18298 MVT::i32, 2, 1, 2,
18299 13,
18300 OPC_CheckPredicate, 10,
18301 OPC_CheckPatternPredicate, 10,
18302 OPC_EmitMergeInputChains1_0,
18303 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
18304 MVT::i32, 2, 1, 2,
18305 0,
18306 13, MVT::i64,
18307 OPC_CheckPredicate, 17,
18308 OPC_CheckPatternPredicate, 10,
18309 OPC_EmitMergeInputChains1_0,
18310 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
18311 MVT::i64, 2, 1, 2,
18312 0,
18313 65, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
18314 OPC_RecordMemRef,
18315 OPC_RecordNode,
18316 OPC_RecordChild1,
18317 OPC_RecordChild2,
18318 OPC_SwitchType , 42, MVT::i32,
18319 OPC_Scope, 12,
18320 OPC_CheckPredicate5,
18321 OPC_CheckPatternPredicate, 10,
18322 OPC_EmitMergeInputChains1_0,
18323 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I8), 0|OPFL_Chain|OPFL_MemRefs,
18324 MVT::i32, 2, 1, 2,
18325 12,
18326 OPC_CheckPredicate4,
18327 OPC_CheckPatternPredicate, 10,
18328 OPC_EmitMergeInputChains1_0,
18329 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I16), 0|OPFL_Chain|OPFL_MemRefs,
18330 MVT::i32, 2, 1, 2,
18331 13,
18332 OPC_CheckPredicate, 10,
18333 OPC_CheckPatternPredicate, 10,
18334 OPC_EmitMergeInputChains1_0,
18335 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
18336 MVT::i32, 2, 1, 2,
18337 0,
18338 13, MVT::i64,
18339 OPC_CheckPredicate, 17,
18340 OPC_CheckPatternPredicate, 10,
18341 OPC_EmitMergeInputChains1_0,
18342 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
18343 MVT::i64, 2, 1, 2,
18344 0,
18345 65, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
18346 OPC_RecordMemRef,
18347 OPC_RecordNode,
18348 OPC_RecordChild1,
18349 OPC_RecordChild2,
18350 OPC_SwitchType , 42, MVT::i32,
18351 OPC_Scope, 12,
18352 OPC_CheckPredicate5,
18353 OPC_CheckPatternPredicate, 10,
18354 OPC_EmitMergeInputChains1_0,
18355 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I8), 0|OPFL_Chain|OPFL_MemRefs,
18356 MVT::i32, 2, 1, 2,
18357 12,
18358 OPC_CheckPredicate4,
18359 OPC_CheckPatternPredicate, 10,
18360 OPC_EmitMergeInputChains1_0,
18361 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I16), 0|OPFL_Chain|OPFL_MemRefs,
18362 MVT::i32, 2, 1, 2,
18363 13,
18364 OPC_CheckPredicate, 10,
18365 OPC_CheckPatternPredicate, 10,
18366 OPC_EmitMergeInputChains1_0,
18367 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
18368 MVT::i32, 2, 1, 2,
18369 0,
18370 13, MVT::i64,
18371 OPC_CheckPredicate, 17,
18372 OPC_CheckPatternPredicate, 10,
18373 OPC_EmitMergeInputChains1_0,
18374 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
18375 MVT::i64, 2, 1, 2,
18376 0,
18377 65, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
18378 OPC_RecordMemRef,
18379 OPC_RecordNode,
18380 OPC_RecordChild1,
18381 OPC_RecordChild2,
18382 OPC_SwitchType , 42, MVT::i32,
18383 OPC_Scope, 12,
18384 OPC_CheckPredicate5,
18385 OPC_CheckPatternPredicate, 10,
18386 OPC_EmitMergeInputChains1_0,
18387 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I8), 0|OPFL_Chain|OPFL_MemRefs,
18388 MVT::i32, 2, 1, 2,
18389 12,
18390 OPC_CheckPredicate4,
18391 OPC_CheckPatternPredicate, 10,
18392 OPC_EmitMergeInputChains1_0,
18393 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I16), 0|OPFL_Chain|OPFL_MemRefs,
18394 MVT::i32, 2, 1, 2,
18395 13,
18396 OPC_CheckPredicate, 10,
18397 OPC_CheckPatternPredicate, 10,
18398 OPC_EmitMergeInputChains1_0,
18399 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
18400 MVT::i32, 2, 1, 2,
18401 0,
18402 13, MVT::i64,
18403 OPC_CheckPredicate, 17,
18404 OPC_CheckPatternPredicate, 10,
18405 OPC_EmitMergeInputChains1_0,
18406 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
18407 MVT::i64, 2, 1, 2,
18408 0,
18409 65, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
18410 OPC_RecordMemRef,
18411 OPC_RecordNode,
18412 OPC_RecordChild1,
18413 OPC_RecordChild2,
18414 OPC_SwitchType , 42, MVT::i32,
18415 OPC_Scope, 12,
18416 OPC_CheckPredicate5,
18417 OPC_CheckPatternPredicate, 10,
18418 OPC_EmitMergeInputChains1_0,
18419 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I8), 0|OPFL_Chain|OPFL_MemRefs,
18420 MVT::i32, 2, 1, 2,
18421 12,
18422 OPC_CheckPredicate4,
18423 OPC_CheckPatternPredicate, 10,
18424 OPC_EmitMergeInputChains1_0,
18425 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I16), 0|OPFL_Chain|OPFL_MemRefs,
18426 MVT::i32, 2, 1, 2,
18427 13,
18428 OPC_CheckPredicate, 10,
18429 OPC_CheckPatternPredicate, 10,
18430 OPC_EmitMergeInputChains1_0,
18431 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I32), 0|OPFL_Chain|OPFL_MemRefs,
18432 MVT::i32, 2, 1, 2,
18433 0,
18434 13, MVT::i64,
18435 OPC_CheckPredicate, 17,
18436 OPC_CheckPatternPredicate, 10,
18437 OPC_EmitMergeInputChains1_0,
18438 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I64), 0|OPFL_Chain|OPFL_MemRefs,
18439 MVT::i64, 2, 1, 2,
18440 0,
18441 65, TARGET_VAL(ISD::ATOMIC_SWAP),
18442 OPC_RecordMemRef,
18443 OPC_RecordNode,
18444 OPC_RecordChild1,
18445 OPC_RecordChild2,
18446 OPC_SwitchType , 42, MVT::i32,
18447 OPC_Scope, 12,
18448 OPC_CheckPredicate5,
18449 OPC_CheckPatternPredicate, 10,
18450 OPC_EmitMergeInputChains1_0,
18451 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
18452 MVT::i32, 2, 1, 2,
18453 12,
18454 OPC_CheckPredicate4,
18455 OPC_CheckPatternPredicate, 10,
18456 OPC_EmitMergeInputChains1_0,
18457 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
18458 MVT::i32, 2, 1, 2,
18459 13,
18460 OPC_CheckPredicate, 10,
18461 OPC_CheckPatternPredicate, 10,
18462 OPC_EmitMergeInputChains1_0,
18463 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
18464 MVT::i32, 2, 1, 2,
18465 0,
18466 13, MVT::i64,
18467 OPC_CheckPredicate, 17,
18468 OPC_CheckPatternPredicate, 10,
18469 OPC_EmitMergeInputChains1_0,
18470 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
18471 MVT::i64, 2, 1, 2,
18472 0,
18473 70, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
18474 OPC_RecordMemRef,
18475 OPC_RecordNode,
18476 OPC_RecordChild1,
18477 OPC_RecordChild2,
18478 OPC_RecordChild3,
18479 OPC_SwitchType , 45, MVT::i32,
18480 OPC_Scope, 13,
18481 OPC_CheckPredicate5,
18482 OPC_CheckPatternPredicate, 10,
18483 OPC_EmitMergeInputChains1_0,
18484 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
18485 MVT::i32, 3, 1, 2, 3,
18486 13,
18487 OPC_CheckPredicate4,
18488 OPC_CheckPatternPredicate, 10,
18489 OPC_EmitMergeInputChains1_0,
18490 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
18491 MVT::i32, 3, 1, 2, 3,
18492 14,
18493 OPC_CheckPredicate, 10,
18494 OPC_CheckPatternPredicate, 10,
18495 OPC_EmitMergeInputChains1_0,
18496 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
18497 MVT::i32, 3, 1, 2, 3,
18498 0,
18499 14, MVT::i64,
18500 OPC_CheckPredicate, 17,
18501 OPC_CheckPatternPredicate, 10,
18502 OPC_EmitMergeInputChains1_0,
18503 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
18504 MVT::i64, 3, 1, 2, 3,
18505 0,
18506 65, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
18507 OPC_RecordMemRef,
18508 OPC_RecordNode,
18509 OPC_RecordChild1,
18510 OPC_RecordChild2,
18511 OPC_SwitchType , 42, MVT::i32,
18512 OPC_Scope, 12,
18513 OPC_CheckPredicate5,
18514 OPC_CheckPatternPredicate, 10,
18515 OPC_EmitMergeInputChains1_0,
18516 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
18517 MVT::i32, 2, 1, 2,
18518 12,
18519 OPC_CheckPredicate4,
18520 OPC_CheckPatternPredicate, 10,
18521 OPC_EmitMergeInputChains1_0,
18522 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
18523 MVT::i32, 2, 1, 2,
18524 13,
18525 OPC_CheckPredicate, 10,
18526 OPC_CheckPatternPredicate, 10,
18527 OPC_EmitMergeInputChains1_0,
18528 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
18529 MVT::i32, 2, 1, 2,
18530 0,
18531 13, MVT::i64,
18532 OPC_CheckPredicate, 17,
18533 OPC_CheckPatternPredicate, 10,
18534 OPC_EmitMergeInputChains1_0,
18535 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
18536 MVT::i64, 2, 1, 2,
18537 0,
18538 65, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
18539 OPC_RecordMemRef,
18540 OPC_RecordNode,
18541 OPC_RecordChild1,
18542 OPC_RecordChild2,
18543 OPC_SwitchType , 42, MVT::i32,
18544 OPC_Scope, 12,
18545 OPC_CheckPredicate5,
18546 OPC_CheckPatternPredicate, 10,
18547 OPC_EmitMergeInputChains1_0,
18548 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
18549 MVT::i32, 2, 1, 2,
18550 12,
18551 OPC_CheckPredicate4,
18552 OPC_CheckPatternPredicate, 10,
18553 OPC_EmitMergeInputChains1_0,
18554 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
18555 MVT::i32, 2, 1, 2,
18556 13,
18557 OPC_CheckPredicate, 10,
18558 OPC_CheckPatternPredicate, 10,
18559 OPC_EmitMergeInputChains1_0,
18560 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
18561 MVT::i32, 2, 1, 2,
18562 0,
18563 13, MVT::i64,
18564 OPC_CheckPredicate, 17,
18565 OPC_CheckPatternPredicate, 10,
18566 OPC_EmitMergeInputChains1_0,
18567 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
18568 MVT::i64, 2, 1, 2,
18569 0,
18570 65, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
18571 OPC_RecordMemRef,
18572 OPC_RecordNode,
18573 OPC_RecordChild1,
18574 OPC_RecordChild2,
18575 OPC_SwitchType , 42, MVT::i32,
18576 OPC_Scope, 12,
18577 OPC_CheckPredicate5,
18578 OPC_CheckPatternPredicate, 10,
18579 OPC_EmitMergeInputChains1_0,
18580 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
18581 MVT::i32, 2, 1, 2,
18582 12,
18583 OPC_CheckPredicate4,
18584 OPC_CheckPatternPredicate, 10,
18585 OPC_EmitMergeInputChains1_0,
18586 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
18587 MVT::i32, 2, 1, 2,
18588 13,
18589 OPC_CheckPredicate, 10,
18590 OPC_CheckPatternPredicate, 10,
18591 OPC_EmitMergeInputChains1_0,
18592 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
18593 MVT::i32, 2, 1, 2,
18594 0,
18595 13, MVT::i64,
18596 OPC_CheckPredicate, 17,
18597 OPC_CheckPatternPredicate, 10,
18598 OPC_EmitMergeInputChains1_0,
18599 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
18600 MVT::i64, 2, 1, 2,
18601 0,
18602 65, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
18603 OPC_RecordMemRef,
18604 OPC_RecordNode,
18605 OPC_RecordChild1,
18606 OPC_RecordChild2,
18607 OPC_SwitchType , 42, MVT::i32,
18608 OPC_Scope, 12,
18609 OPC_CheckPredicate5,
18610 OPC_CheckPatternPredicate, 10,
18611 OPC_EmitMergeInputChains1_0,
18612 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
18613 MVT::i32, 2, 1, 2,
18614 12,
18615 OPC_CheckPredicate4,
18616 OPC_CheckPatternPredicate, 10,
18617 OPC_EmitMergeInputChains1_0,
18618 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
18619 MVT::i32, 2, 1, 2,
18620 13,
18621 OPC_CheckPredicate, 10,
18622 OPC_CheckPatternPredicate, 10,
18623 OPC_EmitMergeInputChains1_0,
18624 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
18625 MVT::i32, 2, 1, 2,
18626 0,
18627 13, MVT::i64,
18628 OPC_CheckPredicate, 17,
18629 OPC_CheckPatternPredicate, 10,
18630 OPC_EmitMergeInputChains1_0,
18631 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
18632 MVT::i64, 2, 1, 2,
18633 0,
18634 21, TARGET_VAL(MipsISD::Ret),
18635 OPC_RecordNode,
18636 OPC_CaptureGlueInput,
18637 OPC_Scope, 8,
18638 OPC_CheckPatternPredicate, 10,
18639 OPC_EmitMergeInputChains1_0,
18640 OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18641 0,
18642 7,
18643 OPC_CheckPatternPredicate5,
18644 OPC_EmitMergeInputChains1_0,
18645 OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18646 0,
18647 0,
18648 10, TARGET_VAL(MipsISD::ERet),
18649 OPC_RecordNode,
18650 OPC_CaptureGlueInput,
18651 OPC_CheckPatternPredicate, 10,
18652 OPC_EmitMergeInputChains1_0,
18653 OPC_MorphNodeTo0, TARGET_VAL(Mips::ERet), 0|OPFL_Chain|OPFL_GlueInput,
18654 0,
18655 23|128,1, TARGET_VAL(ISD::MUL),
18656 OPC_RecordChild0,
18657 OPC_RecordChild1,
18658 OPC_SwitchType , 69, MVT::i32,
18659 OPC_Scope, 10,
18660 OPC_CheckPatternPredicate, 53,
18661 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL),
18662 MVT::i32, MVT::i32, 2, 0, 1,
18663 9,
18664 OPC_CheckPatternPredicate, 14,
18665 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_R6),
18666 MVT::i32, 2, 0, 1,
18667 9,
18668 OPC_CheckPatternPredicate5,
18669 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MultRxRyRz16),
18670 MVT::i32, MVT::i32, 2, 0, 1,
18671 10,
18672 OPC_CheckPatternPredicate, 8,
18673 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL_MM),
18674 MVT::i32, MVT::i32, 2, 0, 1,
18675 8,
18676 OPC_CheckPatternPredicate7,
18677 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_MMR6),
18678 MVT::i32, 2, 0, 1,
18679 15,
18680 OPC_CheckPatternPredicate, 125,
18681 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMULT),
18682 MVT::Untyped, 2, 0, 1,
18683 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
18684 MVT::i32, 1, 2,
18685 0,
18686 23, MVT::i64,
18687 OPC_Scope, 10,
18688 OPC_CheckPatternPredicate, 25,
18689 OPC_MorphNodeTo2None, TARGET_VAL(Mips::DMUL),
18690 MVT::i64, MVT::i32, 2, 0, 1,
18691 9,
18692 OPC_CheckPatternPredicate, 36,
18693 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUL_R6),
18694 MVT::i64, 2, 0, 1,
18695 0,
18696 9, MVT::v2i16,
18697 OPC_CheckPatternPredicate, 13,
18698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_PH),
18699 MVT::v2i16, 2, 0, 1,
18700 8, MVT::v16i8,
18701 OPC_CheckPatternPredicate0,
18702 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_B),
18703 MVT::v16i8, 2, 0, 1,
18704 8, MVT::v8i16,
18705 OPC_CheckPatternPredicate0,
18706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_H),
18707 MVT::v8i16, 2, 0, 1,
18708 8, MVT::v4i32,
18709 OPC_CheckPatternPredicate0,
18710 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_W),
18711 MVT::v4i32, 2, 0, 1,
18712 8, MVT::v2i64,
18713 OPC_CheckPatternPredicate0,
18714 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_D),
18715 MVT::v2i64, 2, 0, 1,
18716 0,
18717 24, TARGET_VAL(ISD::TRAP),
18718 OPC_RecordNode,
18719 OPC_Scope, 6,
18720 OPC_CheckPatternPredicate2,
18721 OPC_EmitMergeInputChains1_0,
18722 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP),
18723 0,
18724 6,
18725 OPC_CheckPatternPredicate5,
18726 OPC_EmitMergeInputChains1_0,
18727 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Break16),
18728 0,
18729 6,
18730 OPC_CheckPatternPredicate4,
18731 OPC_EmitMergeInputChains1_0,
18732 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP_MM),
18733 0,
18734 0,
18735 60, TARGET_VAL(ISD::BR),
18736 OPC_RecordNode,
18737 OPC_RecordChild1,
18738 OPC_MoveChild1,
18739 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
18740 OPC_MoveParent,
18741 OPC_Scope, 8,
18742 OPC_CheckPatternPredicate, 126,
18743 OPC_EmitMergeInputChains1_0,
18744 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J),
18745 1, 1,
18746 7,
18747 OPC_CheckPatternPredicate2,
18748 OPC_EmitMergeInputChains1_0,
18749 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B),
18750 1, 1,
18751 7,
18752 OPC_CheckPatternPredicate5,
18753 OPC_EmitMergeInputChains1_0,
18754 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Bimm16),
18755 1, 1,
18756 8,
18757 OPC_CheckPatternPredicate, 127,
18758 OPC_EmitMergeInputChains1_0,
18759 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J_MM),
18760 1, 1,
18761 8,
18762 OPC_CheckPatternPredicate, 128,
18763 OPC_EmitMergeInputChains1_0,
18764 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B_MM),
18765 1, 1,
18766 7,
18767 OPC_CheckPatternPredicate7,
18768 OPC_EmitMergeInputChains1_0,
18769 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BC_MMR6),
18770 1, 1,
18771 0,
18772 29, TARGET_VAL(MipsISD::EH_RETURN),
18773 OPC_RecordNode,
18774 OPC_CaptureGlueInput,
18775 OPC_RecordChild1,
18776 OPC_Scope, 11,
18777 OPC_CheckChild1TypeI32,
18778 OPC_RecordChild2,
18779 OPC_CheckChild2TypeI32,
18780 OPC_EmitMergeInputChains1_0,
18781 OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
18782 2, 1, 2,
18783 11,
18784 OPC_CheckChild1TypeI64,
18785 OPC_RecordChild2,
18786 OPC_CheckChild2TypeI64,
18787 OPC_EmitMergeInputChains1_0,
18788 OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
18789 2, 1, 2,
18790 0,
18791 106, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
18792 OPC_RecordChild0,
18793 OPC_MoveChild1,
18794 OPC_Scope, 44,
18795 OPC_CheckValueType, MVT::i8,
18796 OPC_MoveParent,
18797 OPC_SwitchType , 27, MVT::i32,
18798 OPC_Scope, 8,
18799 OPC_CheckPatternPredicate, 41,
18800 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB),
18801 MVT::i32, 1, 0,
18802 7,
18803 OPC_CheckPatternPredicate5,
18804 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SebRx16),
18805 MVT::i32, 1, 0,
18806 7,
18807 OPC_CheckPatternPredicate4,
18808 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB_MM),
18809 MVT::i32, 1, 0,
18810 0,
18811 8, MVT::i64,
18812 OPC_CheckPatternPredicate, 99,
18813 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB64),
18814 MVT::i64, 1, 0,
18815 0,
18816 44,
18817 OPC_CheckValueType, MVT::i16,
18818 OPC_MoveParent,
18819 OPC_SwitchType , 27, MVT::i32,
18820 OPC_Scope, 8,
18821 OPC_CheckPatternPredicate, 41,
18822 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH),
18823 MVT::i32, 1, 0,
18824 7,
18825 OPC_CheckPatternPredicate5,
18826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SehRx16),
18827 MVT::i32, 1, 0,
18828 7,
18829 OPC_CheckPatternPredicate4,
18830 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH_MM),
18831 MVT::i32, 1, 0,
18832 0,
18833 8, MVT::i64,
18834 OPC_CheckPatternPredicate, 99,
18835 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH64),
18836 MVT::i64, 1, 0,
18837 0,
18838 11,
18839 OPC_CheckValueType, MVT::i32,
18840 OPC_MoveParent,
18841 OPC_CheckPatternPredicate, 12,
18842 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_64),
18843 MVT::i64, 1, 0,
18844 0,
18845 58, TARGET_VAL(MipsISD::Mult),
18846 OPC_RecordChild0,
18847 OPC_Scope, 42,
18848 OPC_CheckChild0TypeI32,
18849 OPC_RecordChild1,
18850 OPC_Scope, 9,
18851 OPC_CheckPatternPredicate, 46,
18852 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT),
18853 MVT::Untyped, 2, 0, 1,
18854 8,
18855 OPC_CheckPatternPredicate1,
18856 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP),
18857 MVT::Untyped, 2, 0, 1,
18858 9,
18859 OPC_CheckPatternPredicate, 37,
18860 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT_MM),
18861 MVT::Untyped, 2, 0, 1,
18862 8,
18863 OPC_CheckPatternPredicate6,
18864 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP_MM),
18865 MVT::Untyped, 2, 0, 1,
18866 0,
18867 11,
18868 OPC_CheckChild0TypeI64,
18869 OPC_RecordChild1,
18870 OPC_CheckPatternPredicate, 30,
18871 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULT),
18872 MVT::Untyped, 2, 0, 1,
18873 0,
18874 58, TARGET_VAL(MipsISD::Multu),
18875 OPC_RecordChild0,
18876 OPC_Scope, 42,
18877 OPC_CheckChild0TypeI32,
18878 OPC_RecordChild1,
18879 OPC_Scope, 9,
18880 OPC_CheckPatternPredicate, 46,
18881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu),
18882 MVT::Untyped, 2, 0, 1,
18883 8,
18884 OPC_CheckPatternPredicate1,
18885 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP),
18886 MVT::Untyped, 2, 0, 1,
18887 9,
18888 OPC_CheckPatternPredicate, 37,
18889 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu_MM),
18890 MVT::Untyped, 2, 0, 1,
18891 8,
18892 OPC_CheckPatternPredicate6,
18893 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP_MM),
18894 MVT::Untyped, 2, 0, 1,
18895 0,
18896 11,
18897 OPC_CheckChild0TypeI64,
18898 OPC_RecordChild1,
18899 OPC_CheckPatternPredicate, 30,
18900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULTu),
18901 MVT::Untyped, 2, 0, 1,
18902 0,
18903 51, TARGET_VAL(MipsISD::MFHI),
18904 OPC_RecordChild0,
18905 OPC_SwitchType , 36, MVT::i32,
18906 OPC_Scope, 8,
18907 OPC_CheckPatternPredicate, 46,
18908 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI),
18909 MVT::i32, 1, 0,
18910 7,
18911 OPC_CheckPatternPredicate1,
18912 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP),
18913 MVT::i32, 1, 0,
18914 8,
18915 OPC_CheckPatternPredicate, 37,
18916 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI_MM),
18917 MVT::i32, 1, 0,
18918 7,
18919 OPC_CheckPatternPredicate6,
18920 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP_MM),
18921 MVT::i32, 1, 0,
18922 0,
18923 8, MVT::i64,
18924 OPC_CheckPatternPredicate, 30,
18925 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI64),
18926 MVT::i64, 1, 0,
18927 0,
18928 51, TARGET_VAL(MipsISD::MFLO),
18929 OPC_RecordChild0,
18930 OPC_SwitchType , 36, MVT::i32,
18931 OPC_Scope, 8,
18932 OPC_CheckPatternPredicate, 46,
18933 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
18934 MVT::i32, 1, 0,
18935 7,
18936 OPC_CheckPatternPredicate1,
18937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP),
18938 MVT::i32, 1, 0,
18939 8,
18940 OPC_CheckPatternPredicate, 37,
18941 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO_MM),
18942 MVT::i32, 1, 0,
18943 7,
18944 OPC_CheckPatternPredicate6,
18945 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP_MM),
18946 MVT::i32, 1, 0,
18947 0,
18948 8, MVT::i64,
18949 OPC_CheckPatternPredicate, 30,
18950 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO64),
18951 MVT::i64, 1, 0,
18952 0,
18953 50, TARGET_VAL(MipsISD::MTLOHI),
18954 OPC_RecordChild0,
18955 OPC_Scope, 34,
18956 OPC_CheckChild0TypeI32,
18957 OPC_RecordChild1,
18958 OPC_Scope, 9,
18959 OPC_CheckPatternPredicate, 46,
18960 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI),
18961 MVT::Untyped, 2, 0, 1,
18962 9,
18963 OPC_CheckPatternPredicate, 129,
18964 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_DSP),
18965 MVT::Untyped, 2, 0, 1,
18966 9,
18967 OPC_CheckPatternPredicate, 37,
18968 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_MM),
18969 MVT::Untyped, 2, 0, 1,
18970 0,
18971 11,
18972 OPC_CheckChild0TypeI64,
18973 OPC_RecordChild1,
18974 OPC_CheckPatternPredicate, 30,
18975 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI64),
18976 MVT::Untyped, 2, 0, 1,
18977 0,
18978 47, TARGET_VAL(MipsISD::MAdd),
18979 OPC_RecordChild0,
18980 OPC_RecordChild1,
18981 OPC_RecordChild2,
18982 OPC_Scope, 10,
18983 OPC_CheckPatternPredicate, 57,
18984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD),
18985 MVT::Untyped, 3, 0, 1, 2,
18986 9,
18987 OPC_CheckPatternPredicate1,
18988 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP),
18989 MVT::Untyped, 3, 0, 1, 2,
18990 10,
18991 OPC_CheckPatternPredicate, 37,
18992 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD_MM),
18993 MVT::Untyped, 3, 0, 1, 2,
18994 9,
18995 OPC_CheckPatternPredicate6,
18996 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP_MM),
18997 MVT::Untyped, 3, 0, 1, 2,
18998 0,
18999 47, TARGET_VAL(MipsISD::MAddu),
19000 OPC_RecordChild0,
19001 OPC_RecordChild1,
19002 OPC_RecordChild2,
19003 OPC_Scope, 10,
19004 OPC_CheckPatternPredicate, 57,
19005 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU),
19006 MVT::Untyped, 3, 0, 1, 2,
19007 9,
19008 OPC_CheckPatternPredicate1,
19009 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP),
19010 MVT::Untyped, 3, 0, 1, 2,
19011 10,
19012 OPC_CheckPatternPredicate, 37,
19013 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU_MM),
19014 MVT::Untyped, 3, 0, 1, 2,
19015 9,
19016 OPC_CheckPatternPredicate6,
19017 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP_MM),
19018 MVT::Untyped, 3, 0, 1, 2,
19019 0,
19020 47, TARGET_VAL(MipsISD::MSub),
19021 OPC_RecordChild0,
19022 OPC_RecordChild1,
19023 OPC_RecordChild2,
19024 OPC_Scope, 10,
19025 OPC_CheckPatternPredicate, 57,
19026 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB),
19027 MVT::Untyped, 3, 0, 1, 2,
19028 9,
19029 OPC_CheckPatternPredicate1,
19030 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP),
19031 MVT::Untyped, 3, 0, 1, 2,
19032 10,
19033 OPC_CheckPatternPredicate, 37,
19034 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB_MM),
19035 MVT::Untyped, 3, 0, 1, 2,
19036 9,
19037 OPC_CheckPatternPredicate6,
19038 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP_MM),
19039 MVT::Untyped, 3, 0, 1, 2,
19040 0,
19041 47, TARGET_VAL(MipsISD::MSubu),
19042 OPC_RecordChild0,
19043 OPC_RecordChild1,
19044 OPC_RecordChild2,
19045 OPC_Scope, 10,
19046 OPC_CheckPatternPredicate, 57,
19047 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU),
19048 MVT::Untyped, 3, 0, 1, 2,
19049 9,
19050 OPC_CheckPatternPredicate1,
19051 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP),
19052 MVT::Untyped, 3, 0, 1, 2,
19053 10,
19054 OPC_CheckPatternPredicate, 37,
19055 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU_MM),
19056 MVT::Untyped, 3, 0, 1, 2,
19057 9,
19058 OPC_CheckPatternPredicate6,
19059 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP_MM),
19060 MVT::Untyped, 3, 0, 1, 2,
19061 0,
19062 46, TARGET_VAL(ISD::SUBC),
19063 OPC_RecordChild0,
19064 OPC_RecordChild1,
19065 OPC_SwitchType , 29, MVT::i32,
19066 OPC_Scope, 8,
19067 OPC_CheckPatternPredicate2,
19068 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu),
19069 MVT::i32, 2, 0, 1,
19070 8,
19071 OPC_CheckPatternPredicate4,
19072 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu_MM),
19073 MVT::i32, 2, 0, 1,
19074 8,
19075 OPC_CheckPatternPredicate7,
19076 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBU_MMR6),
19077 MVT::i32, 2, 0, 1,
19078 0,
19079 9, MVT::i64,
19080 OPC_CheckPatternPredicate, 29,
19081 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DSUBu),
19082 MVT::i64, 2, 0, 1,
19083 0,
19084 75|128,15, TARGET_VAL(ISD::BITCAST),
19085 OPC_RecordChild0,
19086 OPC_Scope, 59,
19087 OPC_CheckChild0Type, MVT::f32,
19088 OPC_SwitchType , 29, MVT::i32,
19089 OPC_Scope, 8,
19090 OPC_CheckPatternPredicate, 39,
19091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1),
19092 MVT::i32, 1, 0,
19093 8,
19094 OPC_CheckPatternPredicate, 32,
19095 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MM),
19096 MVT::i32, 1, 0,
19097 8,
19098 OPC_CheckPatternPredicate, 24,
19099 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MMR6),
19100 MVT::i32, 1, 0,
19101 0,
19102 10, MVT::v2i16,
19103 OPC_CheckPatternPredicate1,
19104 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
19105 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19106 MVT::v2i16, 2, 0, 1,
19107 10, MVT::v4i8,
19108 OPC_CheckPatternPredicate1,
19109 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
19110 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19111 MVT::v4i8, 2, 0, 1,
19112 0,
19113 11,
19114 OPC_CheckChild0Type, MVT::f64,
19115 OPC_CheckTypeI64,
19116 OPC_CheckPatternPredicate, 100,
19117 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMFC1),
19118 MVT::i64, 1, 0,
19119 28,
19120 OPC_CheckChild0Type, MVT::v2i16,
19121 OPC_SwitchType , 10, MVT::i32,
19122 OPC_CheckPatternPredicate1,
19123 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
19124 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19125 MVT::i32, 2, 0, 1,
19126 10, MVT::f32,
19127 OPC_CheckPatternPredicate1,
19128 OPC_EmitStringInteger32, Mips::FGR32RegClassID,
19129 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19130 MVT::f32, 2, 0, 1,
19131 0,
19132 28,
19133 OPC_CheckChild0Type, MVT::v4i8,
19134 OPC_SwitchType , 10, MVT::i32,
19135 OPC_CheckPatternPredicate1,
19136 OPC_EmitStringInteger32, Mips::GPR32RegClassID,
19137 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19138 MVT::i32, 2, 0, 1,
19139 10, MVT::f32,
19140 OPC_CheckPatternPredicate1,
19141 OPC_EmitStringInteger32, Mips::FGR32RegClassID,
19142 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19143 MVT::f32, 2, 0, 1,
19144 0,
19145 58,
19146 OPC_CheckChild0TypeI32,
19147 OPC_SwitchType , 29, MVT::f32,
19148 OPC_Scope, 8,
19149 OPC_CheckPatternPredicate, 39,
19150 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
19151 MVT::f32, 1, 0,
19152 8,
19153 OPC_CheckPatternPredicate, 32,
19154 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
19155 MVT::f32, 1, 0,
19156 8,
19157 OPC_CheckPatternPredicate, 24,
19158 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
19159 MVT::f32, 1, 0,
19160 0,
19161 10, MVT::v2i16,
19162 OPC_CheckPatternPredicate1,
19163 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
19164 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19165 MVT::v2i16, 2, 0, 1,
19166 10, MVT::v4i8,
19167 OPC_CheckPatternPredicate1,
19168 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
19169 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19170 MVT::v4i8, 2, 0, 1,
19171 0,
19172 11,
19173 OPC_CheckChild0TypeI64,
19174 OPC_CheckType, MVT::f64,
19175 OPC_CheckPatternPredicate, 100,
19176 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
19177 MVT::f64, 1, 0,
19178 121|128,1,
19179 OPC_CheckChild0Type, MVT::v8f16,
19180 OPC_SwitchType , 10, MVT::v8i16,
19181 OPC_CheckPatternPredicate3,
19182 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19183 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19184 MVT::v8i16, 2, 0, 1,
19185 45, MVT::v16i8,
19186 OPC_Scope, 11,
19187 OPC_CheckPatternPredicate, 17,
19188 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19189 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19190 MVT::v16i8, 2, 0, 1,
19191 30,
19192 OPC_CheckPatternPredicate, 16,
19193 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19194 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19195 MVT::v16i8, 2, 0, 1,
19196 OPC_EmitInteger32, 98|128,2,
19197 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19198 MVT::v16i8, 2, 2, 3,
19199 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19200 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19201 MVT::v16i8, 2, 4, 5,
19202 0,
19203 45, MVT::v4i32,
19204 OPC_Scope, 11,
19205 OPC_CheckPatternPredicate, 17,
19206 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19207 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19208 MVT::v4i32, 2, 0, 1,
19209 30,
19210 OPC_CheckPatternPredicate, 16,
19211 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19212 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19213 MVT::v8i16, 2, 0, 1,
19214 OPC_EmitInteger32, 98|128,2,
19215 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19216 MVT::v8i16, 2, 2, 3,
19217 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19218 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19219 MVT::v4i32, 2, 4, 5,
19220 0,
19221 44, MVT::v2i64,
19222 OPC_Scope, 11,
19223 OPC_CheckPatternPredicate, 17,
19224 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19225 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19226 MVT::v2i64, 2, 0, 1,
19227 29,
19228 OPC_CheckPatternPredicate, 16,
19229 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19230 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19231 MVT::v8i16, 2, 0, 1,
19232 OPC_EmitInteger32, 54,
19233 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19234 MVT::v8i16, 2, 2, 3,
19235 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19236 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19237 MVT::v2i64, 2, 4, 5,
19238 0,
19239 45, MVT::v4f32,
19240 OPC_Scope, 11,
19241 OPC_CheckPatternPredicate, 17,
19242 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19243 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19244 MVT::v4f32, 2, 0, 1,
19245 30,
19246 OPC_CheckPatternPredicate, 16,
19247 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19248 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19249 MVT::v8i16, 2, 0, 1,
19250 OPC_EmitInteger32, 98|128,2,
19251 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19252 MVT::v8i16, 2, 2, 3,
19253 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19254 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19255 MVT::v4f32, 2, 4, 5,
19256 0,
19257 44, MVT::v2f64,
19258 OPC_Scope, 11,
19259 OPC_CheckPatternPredicate, 17,
19260 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19261 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19262 MVT::v2f64, 2, 0, 1,
19263 29,
19264 OPC_CheckPatternPredicate, 16,
19265 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19266 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19267 MVT::v8i16, 2, 0, 1,
19268 OPC_EmitInteger32, 54,
19269 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19270 MVT::v8i16, 2, 2, 3,
19271 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19272 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19273 MVT::v2f64, 2, 4, 5,
19274 0,
19275 0,
19276 107|128,1,
19277 OPC_CheckChild0Type, MVT::v4f32,
19278 OPC_SwitchType , 10, MVT::v4i32,
19279 OPC_CheckPatternPredicate3,
19280 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19281 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19282 MVT::v4i32, 2, 0, 1,
19283 44, MVT::v16i8,
19284 OPC_Scope, 11,
19285 OPC_CheckPatternPredicate, 17,
19286 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19287 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19288 MVT::v16i8, 2, 0, 1,
19289 29,
19290 OPC_CheckPatternPredicate, 16,
19291 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19292 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19293 MVT::v16i8, 2, 0, 1,
19294 OPC_EmitInteger32, 54,
19295 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19296 MVT::v16i8, 2, 2, 3,
19297 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19298 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19299 MVT::v16i8, 2, 4, 5,
19300 0,
19301 45, MVT::v8i16,
19302 OPC_Scope, 11,
19303 OPC_CheckPatternPredicate, 17,
19304 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19305 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19306 MVT::v8i16, 2, 0, 1,
19307 30,
19308 OPC_CheckPatternPredicate, 16,
19309 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19310 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19311 MVT::v8i16, 2, 0, 1,
19312 OPC_EmitInteger32, 98|128,2,
19313 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19314 MVT::v8i16, 2, 2, 3,
19315 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19316 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19317 MVT::v8i16, 2, 4, 5,
19318 0,
19319 45, MVT::v2i64,
19320 OPC_Scope, 11,
19321 OPC_CheckPatternPredicate, 17,
19322 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19323 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19324 MVT::v2i64, 2, 0, 1,
19325 30,
19326 OPC_CheckPatternPredicate, 16,
19327 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19328 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19329 MVT::v4i32, 2, 0, 1,
19330 OPC_EmitInteger32, 98|128,2,
19331 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19332 MVT::v4i32, 2, 2, 3,
19333 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19334 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19335 MVT::v2i64, 2, 4, 5,
19336 0,
19337 45, MVT::v2f64,
19338 OPC_Scope, 11,
19339 OPC_CheckPatternPredicate, 17,
19340 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19341 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19342 MVT::v2f64, 2, 0, 1,
19343 30,
19344 OPC_CheckPatternPredicate, 16,
19345 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19346 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19347 MVT::v4i32, 2, 0, 1,
19348 OPC_EmitInteger32, 98|128,2,
19349 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19350 MVT::v4i32, 2, 2, 3,
19351 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19352 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19353 MVT::v2f64, 2, 4, 5,
19354 0,
19355 30, MVT::v8f16,
19356 OPC_CheckPatternPredicate, 16,
19357 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19358 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19359 MVT::v8i16, 2, 0, 1,
19360 OPC_EmitInteger32, 98|128,2,
19361 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19362 MVT::v8i16, 2, 2, 3,
19363 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19364 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19365 MVT::v8f16, 2, 4, 5,
19366 0,
19367 124|128,1,
19368 OPC_CheckChild0Type, MVT::v2f64,
19369 OPC_SwitchType , 10, MVT::v2i64,
19370 OPC_CheckPatternPredicate3,
19371 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19372 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19373 MVT::v2i64, 2, 0, 1,
19374 63, MVT::v16i8,
19375 OPC_Scope, 11,
19376 OPC_CheckPatternPredicate, 17,
19377 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19378 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19379 MVT::v16i8, 2, 0, 1,
19380 48,
19381 OPC_CheckPatternPredicate, 16,
19382 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19383 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19384 MVT::v16i8, 2, 0, 1,
19385 OPC_EmitInteger32, 54,
19386 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19387 MVT::v16i8, 2, 2, 3,
19388 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19389 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19390 MVT::v4i32, 2, 4, 5,
19391 OPC_EmitInteger32, 98|128,2,
19392 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19393 MVT::v4i32, 2, 6, 7,
19394 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19395 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19396 MVT::v16i8, 2, 8, 9,
19397 0,
19398 44, MVT::v8i16,
19399 OPC_Scope, 11,
19400 OPC_CheckPatternPredicate, 17,
19401 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19402 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19403 MVT::v8i16, 2, 0, 1,
19404 29,
19405 OPC_CheckPatternPredicate, 16,
19406 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19407 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19408 MVT::v8i16, 2, 0, 1,
19409 OPC_EmitInteger32, 54,
19410 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19411 MVT::v8i16, 2, 2, 3,
19412 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19413 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19414 MVT::v8i16, 2, 4, 5,
19415 0,
19416 45, MVT::v4i32,
19417 OPC_Scope, 11,
19418 OPC_CheckPatternPredicate, 17,
19419 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19420 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19421 MVT::v4i32, 2, 0, 1,
19422 30,
19423 OPC_CheckPatternPredicate, 16,
19424 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19425 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19426 MVT::v4i32, 2, 0, 1,
19427 OPC_EmitInteger32, 98|128,2,
19428 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19429 MVT::v4i32, 2, 2, 3,
19430 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19431 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19432 MVT::v4i32, 2, 4, 5,
19433 0,
19434 45, MVT::v4f32,
19435 OPC_Scope, 11,
19436 OPC_CheckPatternPredicate, 17,
19437 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19438 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19439 MVT::v4f32, 2, 0, 1,
19440 30,
19441 OPC_CheckPatternPredicate, 16,
19442 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19443 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19444 MVT::v4i32, 2, 0, 1,
19445 OPC_EmitInteger32, 98|128,2,
19446 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19447 MVT::v4i32, 2, 2, 3,
19448 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19449 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19450 MVT::v4f32, 2, 4, 5,
19451 0,
19452 29, MVT::v8f16,
19453 OPC_CheckPatternPredicate, 16,
19454 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19455 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19456 MVT::v8i16, 2, 0, 1,
19457 OPC_EmitInteger32, 54,
19458 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19459 MVT::v8i16, 2, 2, 3,
19460 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19461 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19462 MVT::v8f16, 2, 4, 5,
19463 0,
19464 121|128,1,
19465 OPC_CheckChild0Type, MVT::v8i16,
19466 OPC_SwitchType , 45, MVT::v16i8,
19467 OPC_Scope, 11,
19468 OPC_CheckPatternPredicate, 17,
19469 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19470 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19471 MVT::v16i8, 2, 0, 1,
19472 30,
19473 OPC_CheckPatternPredicate, 16,
19474 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19475 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19476 MVT::v16i8, 2, 0, 1,
19477 OPC_EmitInteger32, 98|128,2,
19478 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19479 MVT::v16i8, 2, 2, 3,
19480 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19481 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19482 MVT::v16i8, 2, 4, 5,
19483 0,
19484 45, MVT::v4i32,
19485 OPC_Scope, 11,
19486 OPC_CheckPatternPredicate, 17,
19487 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19488 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19489 MVT::v4i32, 2, 0, 1,
19490 30,
19491 OPC_CheckPatternPredicate, 16,
19492 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19493 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19494 MVT::v8i16, 2, 0, 1,
19495 OPC_EmitInteger32, 98|128,2,
19496 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19497 MVT::v8i16, 2, 2, 3,
19498 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19499 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19500 MVT::v4i32, 2, 4, 5,
19501 0,
19502 44, MVT::v2i64,
19503 OPC_Scope, 11,
19504 OPC_CheckPatternPredicate, 17,
19505 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19506 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19507 MVT::v2i64, 2, 0, 1,
19508 29,
19509 OPC_CheckPatternPredicate, 16,
19510 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19512 MVT::v8i16, 2, 0, 1,
19513 OPC_EmitInteger32, 54,
19514 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19515 MVT::v8i16, 2, 2, 3,
19516 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19517 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19518 MVT::v2i64, 2, 4, 5,
19519 0,
19520 10, MVT::v8f16,
19521 OPC_CheckPatternPredicate3,
19522 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19523 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19524 MVT::v8f16, 2, 0, 1,
19525 45, MVT::v4f32,
19526 OPC_Scope, 11,
19527 OPC_CheckPatternPredicate, 17,
19528 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19529 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19530 MVT::v4f32, 2, 0, 1,
19531 30,
19532 OPC_CheckPatternPredicate, 16,
19533 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19534 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19535 MVT::v8i16, 2, 0, 1,
19536 OPC_EmitInteger32, 98|128,2,
19537 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19538 MVT::v8i16, 2, 2, 3,
19539 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19540 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19541 MVT::v4f32, 2, 4, 5,
19542 0,
19543 44, MVT::v2f64,
19544 OPC_Scope, 11,
19545 OPC_CheckPatternPredicate, 17,
19546 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19547 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19548 MVT::v2f64, 2, 0, 1,
19549 29,
19550 OPC_CheckPatternPredicate, 16,
19551 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19552 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19553 MVT::v8i16, 2, 0, 1,
19554 OPC_EmitInteger32, 54,
19555 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19556 MVT::v8i16, 2, 2, 3,
19557 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19558 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19559 MVT::v2f64, 2, 4, 5,
19560 0,
19561 0,
19562 107|128,1,
19563 OPC_CheckChild0Type, MVT::v4i32,
19564 OPC_SwitchType , 44, MVT::v16i8,
19565 OPC_Scope, 11,
19566 OPC_CheckPatternPredicate, 17,
19567 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19568 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19569 MVT::v16i8, 2, 0, 1,
19570 29,
19571 OPC_CheckPatternPredicate, 16,
19572 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19573 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19574 MVT::v16i8, 2, 0, 1,
19575 OPC_EmitInteger32, 54,
19576 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19577 MVT::v16i8, 2, 2, 3,
19578 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19579 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19580 MVT::v16i8, 2, 4, 5,
19581 0,
19582 45, MVT::v8i16,
19583 OPC_Scope, 11,
19584 OPC_CheckPatternPredicate, 17,
19585 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19586 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19587 MVT::v8i16, 2, 0, 1,
19588 30,
19589 OPC_CheckPatternPredicate, 16,
19590 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19591 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19592 MVT::v8i16, 2, 0, 1,
19593 OPC_EmitInteger32, 98|128,2,
19594 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19595 MVT::v8i16, 2, 2, 3,
19596 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19597 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19598 MVT::v8i16, 2, 4, 5,
19599 0,
19600 45, MVT::v2i64,
19601 OPC_Scope, 11,
19602 OPC_CheckPatternPredicate, 17,
19603 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19604 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19605 MVT::v2i64, 2, 0, 1,
19606 30,
19607 OPC_CheckPatternPredicate, 16,
19608 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19609 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19610 MVT::v4i32, 2, 0, 1,
19611 OPC_EmitInteger32, 98|128,2,
19612 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19613 MVT::v4i32, 2, 2, 3,
19614 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19615 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19616 MVT::v2i64, 2, 4, 5,
19617 0,
19618 10, MVT::v4f32,
19619 OPC_CheckPatternPredicate3,
19620 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19621 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19622 MVT::v4f32, 2, 0, 1,
19623 45, MVT::v2f64,
19624 OPC_Scope, 11,
19625 OPC_CheckPatternPredicate, 17,
19626 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19627 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19628 MVT::v2f64, 2, 0, 1,
19629 30,
19630 OPC_CheckPatternPredicate, 16,
19631 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19632 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19633 MVT::v4i32, 2, 0, 1,
19634 OPC_EmitInteger32, 98|128,2,
19635 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19636 MVT::v4i32, 2, 2, 3,
19637 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19638 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19639 MVT::v2f64, 2, 4, 5,
19640 0,
19641 30, MVT::v8f16,
19642 OPC_CheckPatternPredicate, 16,
19643 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19644 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19645 MVT::v8i16, 2, 0, 1,
19646 OPC_EmitInteger32, 98|128,2,
19647 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19648 MVT::v8i16, 2, 2, 3,
19649 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19650 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19651 MVT::v8f16, 2, 4, 5,
19652 0,
19653 124|128,1,
19654 OPC_CheckChild0Type, MVT::v2i64,
19655 OPC_SwitchType , 63, MVT::v16i8,
19656 OPC_Scope, 11,
19657 OPC_CheckPatternPredicate, 17,
19658 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19659 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19660 MVT::v16i8, 2, 0, 1,
19661 48,
19662 OPC_CheckPatternPredicate, 16,
19663 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19664 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19665 MVT::v16i8, 2, 0, 1,
19666 OPC_EmitInteger32, 54,
19667 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19668 MVT::v16i8, 2, 2, 3,
19669 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19670 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19671 MVT::v4i32, 2, 4, 5,
19672 OPC_EmitInteger32, 98|128,2,
19673 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19674 MVT::v4i32, 2, 6, 7,
19675 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19676 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19677 MVT::v16i8, 2, 8, 9,
19678 0,
19679 44, MVT::v8i16,
19680 OPC_Scope, 11,
19681 OPC_CheckPatternPredicate, 17,
19682 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19683 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19684 MVT::v8i16, 2, 0, 1,
19685 29,
19686 OPC_CheckPatternPredicate, 16,
19687 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19688 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19689 MVT::v8i16, 2, 0, 1,
19690 OPC_EmitInteger32, 54,
19691 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19692 MVT::v8i16, 2, 2, 3,
19693 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19694 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19695 MVT::v8i16, 2, 4, 5,
19696 0,
19697 45, MVT::v4i32,
19698 OPC_Scope, 11,
19699 OPC_CheckPatternPredicate, 17,
19700 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19701 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19702 MVT::v4i32, 2, 0, 1,
19703 30,
19704 OPC_CheckPatternPredicate, 16,
19705 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19706 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19707 MVT::v4i32, 2, 0, 1,
19708 OPC_EmitInteger32, 98|128,2,
19709 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19710 MVT::v4i32, 2, 2, 3,
19711 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19712 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19713 MVT::v4i32, 2, 4, 5,
19714 0,
19715 10, MVT::v2f64,
19716 OPC_CheckPatternPredicate3,
19717 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19718 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19719 MVT::v2f64, 2, 0, 1,
19720 45, MVT::v4f32,
19721 OPC_Scope, 11,
19722 OPC_CheckPatternPredicate, 17,
19723 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19724 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19725 MVT::v4f32, 2, 0, 1,
19726 30,
19727 OPC_CheckPatternPredicate, 16,
19728 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19729 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19730 MVT::v4i32, 2, 0, 1,
19731 OPC_EmitInteger32, 98|128,2,
19732 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19733 MVT::v4i32, 2, 2, 3,
19734 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19735 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19736 MVT::v4f32, 2, 4, 5,
19737 0,
19738 29, MVT::v8f16,
19739 OPC_CheckPatternPredicate, 16,
19740 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19741 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19742 MVT::v8i16, 2, 0, 1,
19743 OPC_EmitInteger32, 54,
19744 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19745 MVT::v8i16, 2, 2, 3,
19746 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19747 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19748 MVT::v8f16, 2, 4, 5,
19749 0,
19750 49|128,2,
19751 OPC_CheckChild0Type, MVT::v16i8,
19752 OPC_SwitchType , 45, MVT::v8i16,
19753 OPC_Scope, 11,
19754 OPC_CheckPatternPredicate, 17,
19755 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19756 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19757 MVT::v8i16, 2, 0, 1,
19758 30,
19759 OPC_CheckPatternPredicate, 16,
19760 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19761 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19762 MVT::v16i8, 2, 0, 1,
19763 OPC_EmitInteger32, 98|128,2,
19764 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19765 MVT::v16i8, 2, 2, 3,
19766 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19767 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19768 MVT::v8i16, 2, 4, 5,
19769 0,
19770 44, MVT::v4i32,
19771 OPC_Scope, 11,
19772 OPC_CheckPatternPredicate, 17,
19773 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19774 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19775 MVT::v4i32, 2, 0, 1,
19776 29,
19777 OPC_CheckPatternPredicate, 16,
19778 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19779 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19780 MVT::v16i8, 2, 0, 1,
19781 OPC_EmitInteger32, 54,
19782 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19783 MVT::v16i8, 2, 2, 3,
19784 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19785 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19786 MVT::v4i32, 2, 4, 5,
19787 0,
19788 63, MVT::v2i64,
19789 OPC_Scope, 11,
19790 OPC_CheckPatternPredicate, 17,
19791 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19792 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19793 MVT::v2i64, 2, 0, 1,
19794 48,
19795 OPC_CheckPatternPredicate, 16,
19796 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19797 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19798 MVT::v16i8, 2, 0, 1,
19799 OPC_EmitInteger32, 54,
19800 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19801 MVT::v16i8, 2, 2, 3,
19802 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19803 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19804 MVT::v4i32, 2, 4, 5,
19805 OPC_EmitInteger32, 98|128,2,
19806 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19807 MVT::v4i32, 2, 6, 7,
19808 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19809 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19810 MVT::v2i64, 2, 8, 9,
19811 0,
19812 44, MVT::v4f32,
19813 OPC_Scope, 11,
19814 OPC_CheckPatternPredicate, 17,
19815 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19816 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19817 MVT::v4f32, 2, 0, 1,
19818 29,
19819 OPC_CheckPatternPredicate, 16,
19820 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19821 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19822 MVT::v16i8, 2, 0, 1,
19823 OPC_EmitInteger32, 54,
19824 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19825 MVT::v16i8, 2, 2, 3,
19826 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19827 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19828 MVT::v4f32, 2, 4, 5,
19829 0,
19830 63, MVT::v2f64,
19831 OPC_Scope, 11,
19832 OPC_CheckPatternPredicate, 17,
19833 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19834 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19835 MVT::v2f64, 2, 0, 1,
19836 48,
19837 OPC_CheckPatternPredicate, 16,
19838 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19839 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19840 MVT::v16i8, 2, 0, 1,
19841 OPC_EmitInteger32, 54,
19842 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19843 MVT::v16i8, 2, 2, 3,
19844 OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19845 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19846 MVT::v4i32, 2, 4, 5,
19847 OPC_EmitInteger32, 98|128,2,
19848 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19849 MVT::v4i32, 2, 6, 7,
19850 OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19851 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19852 MVT::v2f64, 2, 8, 9,
19853 0,
19854 30, MVT::v8f16,
19855 OPC_CheckPatternPredicate, 16,
19856 OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19857 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19858 MVT::v16i8, 2, 0, 1,
19859 OPC_EmitInteger32, 98|128,2,
19860 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19861 MVT::v16i8, 2, 2, 3,
19862 OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19863 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19864 MVT::v8f16, 2, 4, 5,
19865 0,
19866 0,
19867 69, TARGET_VAL(ISD::CTPOP),
19868 OPC_RecordChild0,
19869 OPC_SwitchType , 9, MVT::i32,
19870 OPC_CheckChild0TypeI32,
19871 OPC_CheckPatternPredicate, 25,
19872 OPC_MorphNodeTo1None, TARGET_VAL(Mips::POP),
19873 MVT::i32, 1, 0,
19874 9, MVT::i64,
19875 OPC_CheckChild0TypeI64,
19876 OPC_CheckPatternPredicate, 25,
19877 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPOP),
19878 MVT::i64, 1, 0,
19879 9, MVT::v16i8,
19880 OPC_CheckChild0Type, MVT::v16i8,
19881 OPC_CheckPatternPredicate0,
19882 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_B),
19883 MVT::v16i8, 1, 0,
19884 9, MVT::v8i16,
19885 OPC_CheckChild0Type, MVT::v8i16,
19886 OPC_CheckPatternPredicate0,
19887 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_H),
19888 MVT::v8i16, 1, 0,
19889 9, MVT::v4i32,
19890 OPC_CheckChild0Type, MVT::v4i32,
19891 OPC_CheckPatternPredicate0,
19892 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_W),
19893 MVT::v4i32, 1, 0,
19894 9, MVT::v2i64,
19895 OPC_CheckChild0Type, MVT::v2i64,
19896 OPC_CheckPatternPredicate0,
19897 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_D),
19898 MVT::v2i64, 1, 0,
19899 0,
19900 37|128,1, TARGET_VAL(MipsISD::CMovFP_T),
19901 OPC_CaptureGlueInput,
19902 OPC_RecordChild0,
19903 OPC_RecordChild1,
19904 OPC_RecordChild2,
19905 OPC_SwitchType , 35, MVT::i32,
19906 OPC_Scope, 10,
19907 OPC_CheckPatternPredicate, 58,
19908 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I),
19909 MVT::i32, 3, 0, 1, 2,
19910 10,
19911 OPC_CheckPatternPredicate, 31,
19912 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I_MM),
19913 MVT::i32, 3, 0, 1, 2,
19914 10,
19915 OPC_CheckPatternPredicate, 35,
19916 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I),
19917 MVT::i32, 3, 1, 0, 2,
19918 0,
19919 24, MVT::i64,
19920 OPC_Scope, 10,
19921 OPC_CheckPatternPredicate, 101,
19922 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I64),
19923 MVT::i64, 3, 0, 1, 2,
19924 10,
19925 OPC_CheckPatternPredicate, 35,
19926 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I64),
19927 MVT::i64, 3, 1, 0, 2,
19928 0,
19929 35, MVT::f32,
19930 OPC_Scope, 10,
19931 OPC_CheckPatternPredicate, 58,
19932 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S),
19933 MVT::f32, 3, 0, 1, 2,
19934 10,
19935 OPC_CheckPatternPredicate, 31,
19936 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S_MM),
19937 MVT::f32, 3, 0, 1, 2,
19938 10,
19939 OPC_CheckPatternPredicate, 35,
19940 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_S),
19941 MVT::f32, 3, 1, 0, 2,
19942 0,
19943 57, MVT::f64,
19944 OPC_Scope, 10,
19945 OPC_CheckPatternPredicate, 102,
19946 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32),
19947 MVT::f64, 3, 0, 1, 2,
19948 10,
19949 OPC_CheckPatternPredicate, 103,
19950 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D64),
19951 MVT::f64, 3, 0, 1, 2,
19952 10,
19953 OPC_CheckPatternPredicate, 104,
19954 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32_MM),
19955 MVT::f64, 3, 0, 1, 2,
19956 10,
19957 OPC_CheckPatternPredicate, 62,
19958 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D32),
19959 MVT::f64, 3, 1, 0, 2,
19960 10,
19961 OPC_CheckPatternPredicate, 63,
19962 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D64),
19963 MVT::f64, 3, 1, 0, 2,
19964 0,
19965 0,
19966 37|128,1, TARGET_VAL(MipsISD::CMovFP_F),
19967 OPC_CaptureGlueInput,
19968 OPC_RecordChild0,
19969 OPC_RecordChild1,
19970 OPC_RecordChild2,
19971 OPC_SwitchType , 35, MVT::i32,
19972 OPC_Scope, 10,
19973 OPC_CheckPatternPredicate, 58,
19974 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I),
19975 MVT::i32, 3, 0, 1, 2,
19976 10,
19977 OPC_CheckPatternPredicate, 31,
19978 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I_MM),
19979 MVT::i32, 3, 0, 1, 2,
19980 10,
19981 OPC_CheckPatternPredicate, 35,
19982 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I),
19983 MVT::i32, 3, 1, 0, 2,
19984 0,
19985 24, MVT::i64,
19986 OPC_Scope, 10,
19987 OPC_CheckPatternPredicate, 101,
19988 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I64),
19989 MVT::i64, 3, 0, 1, 2,
19990 10,
19991 OPC_CheckPatternPredicate, 35,
19992 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I64),
19993 MVT::i64, 3, 1, 0, 2,
19994 0,
19995 35, MVT::f32,
19996 OPC_Scope, 10,
19997 OPC_CheckPatternPredicate, 58,
19998 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S),
19999 MVT::f32, 3, 0, 1, 2,
20000 10,
20001 OPC_CheckPatternPredicate, 31,
20002 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S_MM),
20003 MVT::f32, 3, 0, 1, 2,
20004 10,
20005 OPC_CheckPatternPredicate, 35,
20006 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_S),
20007 MVT::f32, 3, 1, 0, 2,
20008 0,
20009 57, MVT::f64,
20010 OPC_Scope, 10,
20011 OPC_CheckPatternPredicate, 102,
20012 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32),
20013 MVT::f64, 3, 0, 1, 2,
20014 10,
20015 OPC_CheckPatternPredicate, 103,
20016 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D64),
20017 MVT::f64, 3, 0, 1, 2,
20018 10,
20019 OPC_CheckPatternPredicate, 104,
20020 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32_MM),
20021 MVT::f64, 3, 0, 1, 2,
20022 10,
20023 OPC_CheckPatternPredicate, 62,
20024 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D32),
20025 MVT::f64, 3, 1, 0, 2,
20026 10,
20027 OPC_CheckPatternPredicate, 63,
20028 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D64),
20029 MVT::f64, 3, 1, 0, 2,
20030 0,
20031 0,
20032 38, TARGET_VAL(ISD::MULHS),
20033 OPC_RecordChild0,
20034 OPC_RecordChild1,
20035 OPC_SwitchType , 21, MVT::i32,
20036 OPC_Scope, 9,
20037 OPC_CheckPatternPredicate, 14,
20038 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH),
20039 MVT::i32, 2, 0, 1,
20040 8,
20041 OPC_CheckPatternPredicate7,
20042 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH_MMR6),
20043 MVT::i32, 2, 0, 1,
20044 0,
20045 9, MVT::i64,
20046 OPC_CheckPatternPredicate, 36,
20047 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUH),
20048 MVT::i64, 2, 0, 1,
20049 0,
20050 38, TARGET_VAL(ISD::MULHU),
20051 OPC_RecordChild0,
20052 OPC_RecordChild1,
20053 OPC_SwitchType , 21, MVT::i32,
20054 OPC_Scope, 9,
20055 OPC_CheckPatternPredicate, 14,
20056 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU),
20057 MVT::i32, 2, 0, 1,
20058 8,
20059 OPC_CheckPatternPredicate7,
20060 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU_MMR6),
20061 MVT::i32, 2, 0, 1,
20062 0,
20063 9, MVT::i64,
20064 OPC_CheckPatternPredicate, 36,
20065 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUHU),
20066 MVT::i64, 2, 0, 1,
20067 0,
20068 11, TARGET_VAL(MipsISD::DivRem16),
20069 OPC_RecordChild0,
20070 OPC_CheckChild0TypeI32,
20071 OPC_RecordChild1,
20072 OPC_CheckPatternPredicate5,
20073 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivRxRy16),
20074 MVT::i32, 2, 0, 1,
20075 11, TARGET_VAL(MipsISD::DivRemU16),
20076 OPC_RecordChild0,
20077 OPC_CheckChild0TypeI32,
20078 OPC_RecordChild1,
20079 OPC_CheckPatternPredicate5,
20080 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivuRxRy16),
20081 MVT::i32, 2, 0, 1,
20082 28, TARGET_VAL(MipsISD::MULSAQ_S_W_PH),
20083 OPC_RecordNode,
20084 OPC_RecordChild1,
20085 OPC_RecordChild2,
20086 OPC_RecordChild3,
20087 OPC_Scope, 10,
20088 OPC_CheckPatternPredicate1,
20089 OPC_EmitMergeInputChains1_0,
20090 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH),
20091 MVT::Untyped, 3, 1, 2, 3,
20092 10,
20093 OPC_CheckPatternPredicate6,
20094 OPC_EmitMergeInputChains1_0,
20095 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH_MM),
20096 MVT::Untyped, 3, 1, 2, 3,
20097 0,
20098 28, TARGET_VAL(MipsISD::MAQ_S_W_PHL),
20099 OPC_RecordNode,
20100 OPC_RecordChild1,
20101 OPC_RecordChild2,
20102 OPC_RecordChild3,
20103 OPC_Scope, 10,
20104 OPC_CheckPatternPredicate1,
20105 OPC_EmitMergeInputChains1_0,
20106 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL),
20107 MVT::Untyped, 3, 1, 2, 3,
20108 10,
20109 OPC_CheckPatternPredicate6,
20110 OPC_EmitMergeInputChains1_0,
20111 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL_MM),
20112 MVT::Untyped, 3, 1, 2, 3,
20113 0,
20114 28, TARGET_VAL(MipsISD::MAQ_S_W_PHR),
20115 OPC_RecordNode,
20116 OPC_RecordChild1,
20117 OPC_RecordChild2,
20118 OPC_RecordChild3,
20119 OPC_Scope, 10,
20120 OPC_CheckPatternPredicate1,
20121 OPC_EmitMergeInputChains1_0,
20122 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR),
20123 MVT::Untyped, 3, 1, 2, 3,
20124 10,
20125 OPC_CheckPatternPredicate6,
20126 OPC_EmitMergeInputChains1_0,
20127 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR_MM),
20128 MVT::Untyped, 3, 1, 2, 3,
20129 0,
20130 28, TARGET_VAL(MipsISD::MAQ_SA_W_PHL),
20131 OPC_RecordNode,
20132 OPC_RecordChild1,
20133 OPC_RecordChild2,
20134 OPC_RecordChild3,
20135 OPC_Scope, 10,
20136 OPC_CheckPatternPredicate1,
20137 OPC_EmitMergeInputChains1_0,
20138 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL),
20139 MVT::Untyped, 3, 1, 2, 3,
20140 10,
20141 OPC_CheckPatternPredicate6,
20142 OPC_EmitMergeInputChains1_0,
20143 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL_MM),
20144 MVT::Untyped, 3, 1, 2, 3,
20145 0,
20146 28, TARGET_VAL(MipsISD::MAQ_SA_W_PHR),
20147 OPC_RecordNode,
20148 OPC_RecordChild1,
20149 OPC_RecordChild2,
20150 OPC_RecordChild3,
20151 OPC_Scope, 10,
20152 OPC_CheckPatternPredicate1,
20153 OPC_EmitMergeInputChains1_0,
20154 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR),
20155 MVT::Untyped, 3, 1, 2, 3,
20156 10,
20157 OPC_CheckPatternPredicate6,
20158 OPC_EmitMergeInputChains1_0,
20159 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR_MM),
20160 MVT::Untyped, 3, 1, 2, 3,
20161 0,
20162 25, TARGET_VAL(MipsISD::DPAU_H_QBL),
20163 OPC_RecordChild0,
20164 OPC_RecordChild1,
20165 OPC_RecordChild2,
20166 OPC_Scope, 9,
20167 OPC_CheckPatternPredicate1,
20168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL),
20169 MVT::Untyped, 3, 0, 1, 2,
20170 9,
20171 OPC_CheckPatternPredicate6,
20172 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL_MM),
20173 MVT::Untyped, 3, 0, 1, 2,
20174 0,
20175 25, TARGET_VAL(MipsISD::DPAU_H_QBR),
20176 OPC_RecordChild0,
20177 OPC_RecordChild1,
20178 OPC_RecordChild2,
20179 OPC_Scope, 9,
20180 OPC_CheckPatternPredicate1,
20181 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR),
20182 MVT::Untyped, 3, 0, 1, 2,
20183 9,
20184 OPC_CheckPatternPredicate6,
20185 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR_MM),
20186 MVT::Untyped, 3, 0, 1, 2,
20187 0,
20188 25, TARGET_VAL(MipsISD::DPSU_H_QBL),
20189 OPC_RecordChild0,
20190 OPC_RecordChild1,
20191 OPC_RecordChild2,
20192 OPC_Scope, 9,
20193 OPC_CheckPatternPredicate1,
20194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL),
20195 MVT::Untyped, 3, 0, 1, 2,
20196 9,
20197 OPC_CheckPatternPredicate6,
20198 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL_MM),
20199 MVT::Untyped, 3, 0, 1, 2,
20200 0,
20201 25, TARGET_VAL(MipsISD::DPSU_H_QBR),
20202 OPC_RecordChild0,
20203 OPC_RecordChild1,
20204 OPC_RecordChild2,
20205 OPC_Scope, 9,
20206 OPC_CheckPatternPredicate1,
20207 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR),
20208 MVT::Untyped, 3, 0, 1, 2,
20209 9,
20210 OPC_CheckPatternPredicate6,
20211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR_MM),
20212 MVT::Untyped, 3, 0, 1, 2,
20213 0,
20214 28, TARGET_VAL(MipsISD::DPAQ_S_W_PH),
20215 OPC_RecordNode,
20216 OPC_RecordChild1,
20217 OPC_RecordChild2,
20218 OPC_RecordChild3,
20219 OPC_Scope, 10,
20220 OPC_CheckPatternPredicate1,
20221 OPC_EmitMergeInputChains1_0,
20222 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH),
20223 MVT::Untyped, 3, 1, 2, 3,
20224 10,
20225 OPC_CheckPatternPredicate6,
20226 OPC_EmitMergeInputChains1_0,
20227 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH_MM),
20228 MVT::Untyped, 3, 1, 2, 3,
20229 0,
20230 28, TARGET_VAL(MipsISD::DPSQ_S_W_PH),
20231 OPC_RecordNode,
20232 OPC_RecordChild1,
20233 OPC_RecordChild2,
20234 OPC_RecordChild3,
20235 OPC_Scope, 10,
20236 OPC_CheckPatternPredicate1,
20237 OPC_EmitMergeInputChains1_0,
20238 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH),
20239 MVT::Untyped, 3, 1, 2, 3,
20240 10,
20241 OPC_CheckPatternPredicate6,
20242 OPC_EmitMergeInputChains1_0,
20243 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH_MM),
20244 MVT::Untyped, 3, 1, 2, 3,
20245 0,
20246 28, TARGET_VAL(MipsISD::DPAQ_SA_L_W),
20247 OPC_RecordNode,
20248 OPC_RecordChild1,
20249 OPC_RecordChild2,
20250 OPC_RecordChild3,
20251 OPC_Scope, 10,
20252 OPC_CheckPatternPredicate1,
20253 OPC_EmitMergeInputChains1_0,
20254 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W),
20255 MVT::Untyped, 3, 1, 2, 3,
20256 10,
20257 OPC_CheckPatternPredicate6,
20258 OPC_EmitMergeInputChains1_0,
20259 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W_MM),
20260 MVT::Untyped, 3, 1, 2, 3,
20261 0,
20262 28, TARGET_VAL(MipsISD::DPSQ_SA_L_W),
20263 OPC_RecordNode,
20264 OPC_RecordChild1,
20265 OPC_RecordChild2,
20266 OPC_RecordChild3,
20267 OPC_Scope, 10,
20268 OPC_CheckPatternPredicate1,
20269 OPC_EmitMergeInputChains1_0,
20270 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W),
20271 MVT::Untyped, 3, 1, 2, 3,
20272 10,
20273 OPC_CheckPatternPredicate6,
20274 OPC_EmitMergeInputChains1_0,
20275 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W_MM),
20276 MVT::Untyped, 3, 1, 2, 3,
20277 0,
20278 25, TARGET_VAL(MipsISD::MTHLIP),
20279 OPC_RecordNode,
20280 OPC_RecordChild1,
20281 OPC_RecordChild2,
20282 OPC_Scope, 9,
20283 OPC_CheckPatternPredicate1,
20284 OPC_EmitMergeInputChains1_0,
20285 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP),
20286 MVT::Untyped, 2, 1, 2,
20287 9,
20288 OPC_CheckPatternPredicate6,
20289 OPC_EmitMergeInputChains1_0,
20290 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP_MM),
20291 MVT::Untyped, 2, 1, 2,
20292 0,
20293 27, TARGET_VAL(MipsISD::DPA_W_PH),
20294 OPC_RecordChild0,
20295 OPC_RecordChild1,
20296 OPC_RecordChild2,
20297 OPC_Scope, 10,
20298 OPC_CheckPatternPredicate, 13,
20299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH),
20300 MVT::Untyped, 3, 0, 1, 2,
20301 10,
20302 OPC_CheckPatternPredicate, 15,
20303 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH_MMR2),
20304 MVT::Untyped, 3, 0, 1, 2,
20305 0,
20306 27, TARGET_VAL(MipsISD::DPS_W_PH),
20307 OPC_RecordChild0,
20308 OPC_RecordChild1,
20309 OPC_RecordChild2,
20310 OPC_Scope, 10,
20311 OPC_CheckPatternPredicate, 13,
20312 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH),
20313 MVT::Untyped, 3, 0, 1, 2,
20314 10,
20315 OPC_CheckPatternPredicate, 15,
20316 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH_MMR2),
20317 MVT::Untyped, 3, 0, 1, 2,
20318 0,
20319 30, TARGET_VAL(MipsISD::DPAQX_S_W_PH),
20320 OPC_RecordNode,
20321 OPC_RecordChild1,
20322 OPC_RecordChild2,
20323 OPC_RecordChild3,
20324 OPC_Scope, 11,
20325 OPC_CheckPatternPredicate, 13,
20326 OPC_EmitMergeInputChains1_0,
20327 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH),
20328 MVT::Untyped, 3, 1, 2, 3,
20329 11,
20330 OPC_CheckPatternPredicate, 15,
20331 OPC_EmitMergeInputChains1_0,
20332 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH_MMR2),
20333 MVT::Untyped, 3, 1, 2, 3,
20334 0,
20335 30, TARGET_VAL(MipsISD::DPAQX_SA_W_PH),
20336 OPC_RecordNode,
20337 OPC_RecordChild1,
20338 OPC_RecordChild2,
20339 OPC_RecordChild3,
20340 OPC_Scope, 11,
20341 OPC_CheckPatternPredicate, 13,
20342 OPC_EmitMergeInputChains1_0,
20343 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH),
20344 MVT::Untyped, 3, 1, 2, 3,
20345 11,
20346 OPC_CheckPatternPredicate, 15,
20347 OPC_EmitMergeInputChains1_0,
20348 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH_MMR2),
20349 MVT::Untyped, 3, 1, 2, 3,
20350 0,
20351 27, TARGET_VAL(MipsISD::DPAX_W_PH),
20352 OPC_RecordChild0,
20353 OPC_RecordChild1,
20354 OPC_RecordChild2,
20355 OPC_Scope, 10,
20356 OPC_CheckPatternPredicate, 13,
20357 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH),
20358 MVT::Untyped, 3, 0, 1, 2,
20359 10,
20360 OPC_CheckPatternPredicate, 15,
20361 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH_MMR2),
20362 MVT::Untyped, 3, 0, 1, 2,
20363 0,
20364 27, TARGET_VAL(MipsISD::DPSX_W_PH),
20365 OPC_RecordChild0,
20366 OPC_RecordChild1,
20367 OPC_RecordChild2,
20368 OPC_Scope, 10,
20369 OPC_CheckPatternPredicate, 13,
20370 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH),
20371 MVT::Untyped, 3, 0, 1, 2,
20372 10,
20373 OPC_CheckPatternPredicate, 15,
20374 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH_MMR2),
20375 MVT::Untyped, 3, 0, 1, 2,
20376 0,
20377 30, TARGET_VAL(MipsISD::DPSQX_S_W_PH),
20378 OPC_RecordNode,
20379 OPC_RecordChild1,
20380 OPC_RecordChild2,
20381 OPC_RecordChild3,
20382 OPC_Scope, 11,
20383 OPC_CheckPatternPredicate, 13,
20384 OPC_EmitMergeInputChains1_0,
20385 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH),
20386 MVT::Untyped, 3, 1, 2, 3,
20387 11,
20388 OPC_CheckPatternPredicate, 15,
20389 OPC_EmitMergeInputChains1_0,
20390 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH_MMR2),
20391 MVT::Untyped, 3, 1, 2, 3,
20392 0,
20393 30, TARGET_VAL(MipsISD::DPSQX_SA_W_PH),
20394 OPC_RecordNode,
20395 OPC_RecordChild1,
20396 OPC_RecordChild2,
20397 OPC_RecordChild3,
20398 OPC_Scope, 11,
20399 OPC_CheckPatternPredicate, 13,
20400 OPC_EmitMergeInputChains1_0,
20401 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH),
20402 MVT::Untyped, 3, 1, 2, 3,
20403 11,
20404 OPC_CheckPatternPredicate, 15,
20405 OPC_EmitMergeInputChains1_0,
20406 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH_MMR2),
20407 MVT::Untyped, 3, 1, 2, 3,
20408 0,
20409 27, TARGET_VAL(MipsISD::MULSA_W_PH),
20410 OPC_RecordChild0,
20411 OPC_RecordChild1,
20412 OPC_RecordChild2,
20413 OPC_Scope, 10,
20414 OPC_CheckPatternPredicate, 13,
20415 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH),
20416 MVT::Untyped, 3, 0, 1, 2,
20417 10,
20418 OPC_CheckPatternPredicate, 15,
20419 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH_MMR2),
20420 MVT::Untyped, 3, 0, 1, 2,
20421 0,
20422 13, TARGET_VAL(ISD::ADDE),
20423 OPC_CaptureGlueInput,
20424 OPC_RecordChild0,
20425 OPC_RecordChild1,
20426 OPC_CheckTypeI32,
20427 OPC_CheckPatternPredicate1,
20428 OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDWC), 0|OPFL_GlueInput|OPFL_GlueOutput,
20429 MVT::i32, 2, 0, 1,
20430 58, TARGET_VAL(ISD::BSWAP),
20431 OPC_RecordChild0,
20432 OPC_SwitchType , 37, MVT::i32,
20433 OPC_Scope, 17,
20434 OPC_CheckPatternPredicate, 41,
20435 OPC_EmitNode1None, TARGET_VAL(Mips::WSBH),
20436 MVT::i32, 1, 0,
20437 OPC_EmitInteger32, 32,
20438 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
20439 MVT::i32, 2, 1, 2,
20440 16,
20441 OPC_CheckPatternPredicate4,
20442 OPC_EmitNode1None, TARGET_VAL(Mips::WSBH_MM),
20443 MVT::i32, 1, 0,
20444 OPC_EmitInteger32, 32,
20445 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
20446 MVT::i32, 2, 1, 2,
20447 0,
20448 14, MVT::i64,
20449 OPC_CheckPatternPredicate, 130,
20450 OPC_EmitNode1None, TARGET_VAL(Mips::DSBH),
20451 MVT::i64, 1, 0,
20452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSHD),
20453 MVT::i64, 1, 1,
20454 0,
20455 19, TARGET_VAL(ISD::ANY_EXTEND),
20456 OPC_RecordChild0,
20457 OPC_CheckTypeI64,
20458 OPC_CheckPatternPredicate, 12,
20459 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20460 MVT::i64, 0,
20461 OPC_EmitStringInteger32, Mips::sub_32,
20462 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20463 MVT::i64, 3, 1, 0, 2,
20464 40, TARGET_VAL(MipsISD::DivRem),
20465 OPC_RecordChild0,
20466 OPC_Scope, 24,
20467 OPC_CheckChild0TypeI32,
20468 OPC_RecordChild1,
20469 OPC_Scope, 9,
20470 OPC_CheckPatternPredicate, 38,
20471 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSDIV),
20472 MVT::Untyped, 2, 0, 1,
20473 9,
20474 OPC_CheckPatternPredicate, 105,
20475 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SDIV_MM_Pseudo),
20476 MVT::Untyped, 2, 0, 1,
20477 0,
20478 11,
20479 OPC_CheckChild0TypeI64,
20480 OPC_RecordChild1,
20481 OPC_CheckPatternPredicate, 30,
20482 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDSDIV),
20483 MVT::Untyped, 2, 0, 1,
20484 0,
20485 40, TARGET_VAL(MipsISD::DivRemU),
20486 OPC_RecordChild0,
20487 OPC_Scope, 24,
20488 OPC_CheckChild0TypeI32,
20489 OPC_RecordChild1,
20490 OPC_Scope, 9,
20491 OPC_CheckPatternPredicate, 38,
20492 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoUDIV),
20493 MVT::Untyped, 2, 0, 1,
20494 9,
20495 OPC_CheckPatternPredicate, 105,
20496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::UDIV_MM_Pseudo),
20497 MVT::Untyped, 2, 0, 1,
20498 0,
20499 11,
20500 OPC_CheckChild0TypeI64,
20501 OPC_RecordChild1,
20502 OPC_CheckPatternPredicate, 30,
20503 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDUDIV),
20504 MVT::Untyped, 2, 0, 1,
20505 0,
20506 78, TARGET_VAL(ISD::SDIV),
20507 OPC_RecordChild0,
20508 OPC_RecordChild1,
20509 OPC_SwitchType , 21, MVT::i32,
20510 OPC_Scope, 9,
20511 OPC_CheckPatternPredicate, 14,
20512 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV),
20513 MVT::i32, 2, 0, 1,
20514 8,
20515 OPC_CheckPatternPredicate7,
20516 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_MMR6),
20517 MVT::i32, 2, 0, 1,
20518 0,
20519 9, MVT::i64,
20520 OPC_CheckPatternPredicate, 36,
20521 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIV),
20522 MVT::i64, 2, 0, 1,
20523 8, MVT::v16i8,
20524 OPC_CheckPatternPredicate0,
20525 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_B),
20526 MVT::v16i8, 2, 0, 1,
20527 8, MVT::v8i16,
20528 OPC_CheckPatternPredicate0,
20529 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_H),
20530 MVT::v8i16, 2, 0, 1,
20531 8, MVT::v4i32,
20532 OPC_CheckPatternPredicate0,
20533 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_W),
20534 MVT::v4i32, 2, 0, 1,
20535 8, MVT::v2i64,
20536 OPC_CheckPatternPredicate0,
20537 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_D),
20538 MVT::v2i64, 2, 0, 1,
20539 0,
20540 78, TARGET_VAL(ISD::UDIV),
20541 OPC_RecordChild0,
20542 OPC_RecordChild1,
20543 OPC_SwitchType , 21, MVT::i32,
20544 OPC_Scope, 9,
20545 OPC_CheckPatternPredicate, 14,
20546 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU),
20547 MVT::i32, 2, 0, 1,
20548 8,
20549 OPC_CheckPatternPredicate7,
20550 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU_MMR6),
20551 MVT::i32, 2, 0, 1,
20552 0,
20553 9, MVT::i64,
20554 OPC_CheckPatternPredicate, 36,
20555 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIVU),
20556 MVT::i64, 2, 0, 1,
20557 8, MVT::v16i8,
20558 OPC_CheckPatternPredicate0,
20559 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_B),
20560 MVT::v16i8, 2, 0, 1,
20561 8, MVT::v8i16,
20562 OPC_CheckPatternPredicate0,
20563 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_H),
20564 MVT::v8i16, 2, 0, 1,
20565 8, MVT::v4i32,
20566 OPC_CheckPatternPredicate0,
20567 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_W),
20568 MVT::v4i32, 2, 0, 1,
20569 8, MVT::v2i64,
20570 OPC_CheckPatternPredicate0,
20571 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_D),
20572 MVT::v2i64, 2, 0, 1,
20573 0,
20574 78, TARGET_VAL(ISD::SREM),
20575 OPC_RecordChild0,
20576 OPC_RecordChild1,
20577 OPC_SwitchType , 21, MVT::i32,
20578 OPC_Scope, 9,
20579 OPC_CheckPatternPredicate, 14,
20580 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD),
20581 MVT::i32, 2, 0, 1,
20582 8,
20583 OPC_CheckPatternPredicate7,
20584 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_MMR6),
20585 MVT::i32, 2, 0, 1,
20586 0,
20587 9, MVT::i64,
20588 OPC_CheckPatternPredicate, 36,
20589 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMOD),
20590 MVT::i64, 2, 0, 1,
20591 8, MVT::v16i8,
20592 OPC_CheckPatternPredicate0,
20593 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_B),
20594 MVT::v16i8, 2, 0, 1,
20595 8, MVT::v8i16,
20596 OPC_CheckPatternPredicate0,
20597 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_H),
20598 MVT::v8i16, 2, 0, 1,
20599 8, MVT::v4i32,
20600 OPC_CheckPatternPredicate0,
20601 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_W),
20602 MVT::v4i32, 2, 0, 1,
20603 8, MVT::v2i64,
20604 OPC_CheckPatternPredicate0,
20605 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_D),
20606 MVT::v2i64, 2, 0, 1,
20607 0,
20608 78, TARGET_VAL(ISD::UREM),
20609 OPC_RecordChild0,
20610 OPC_RecordChild1,
20611 OPC_SwitchType , 21, MVT::i32,
20612 OPC_Scope, 9,
20613 OPC_CheckPatternPredicate, 14,
20614 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU),
20615 MVT::i32, 2, 0, 1,
20616 8,
20617 OPC_CheckPatternPredicate7,
20618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU_MMR6),
20619 MVT::i32, 2, 0, 1,
20620 0,
20621 9, MVT::i64,
20622 OPC_CheckPatternPredicate, 36,
20623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMODU),
20624 MVT::i64, 2, 0, 1,
20625 8, MVT::v16i8,
20626 OPC_CheckPatternPredicate0,
20627 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_B),
20628 MVT::v16i8, 2, 0, 1,
20629 8, MVT::v8i16,
20630 OPC_CheckPatternPredicate0,
20631 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_H),
20632 MVT::v8i16, 2, 0, 1,
20633 8, MVT::v4i32,
20634 OPC_CheckPatternPredicate0,
20635 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_W),
20636 MVT::v4i32, 2, 0, 1,
20637 8, MVT::v2i64,
20638 OPC_CheckPatternPredicate0,
20639 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_D),
20640 MVT::v2i64, 2, 0, 1,
20641 0,
20642 40, TARGET_VAL(MipsISD::VALL_NONZERO),
20643 OPC_RecordChild0,
20644 OPC_CheckTypeI32,
20645 OPC_Scope, 8,
20646 OPC_CheckChild0Type, MVT::v16i8,
20647 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_B_PSEUDO),
20648 MVT::i32, 1, 0,
20649 8,
20650 OPC_CheckChild0Type, MVT::v8i16,
20651 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_H_PSEUDO),
20652 MVT::i32, 1, 0,
20653 8,
20654 OPC_CheckChild0Type, MVT::v4i32,
20655 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_W_PSEUDO),
20656 MVT::i32, 1, 0,
20657 8,
20658 OPC_CheckChild0Type, MVT::v2i64,
20659 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_D_PSEUDO),
20660 MVT::i32, 1, 0,
20661 0,
20662 10, TARGET_VAL(MipsISD::VANY_NONZERO),
20663 OPC_RecordChild0,
20664 OPC_CheckChild0Type, MVT::v16i8,
20665 OPC_CheckTypeI32,
20666 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_V_PSEUDO),
20667 MVT::i32, 1, 0,
20668 40, TARGET_VAL(MipsISD::VALL_ZERO),
20669 OPC_RecordChild0,
20670 OPC_CheckTypeI32,
20671 OPC_Scope, 8,
20672 OPC_CheckChild0Type, MVT::v16i8,
20673 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_B_PSEUDO),
20674 MVT::i32, 1, 0,
20675 8,
20676 OPC_CheckChild0Type, MVT::v8i16,
20677 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_H_PSEUDO),
20678 MVT::i32, 1, 0,
20679 8,
20680 OPC_CheckChild0Type, MVT::v4i32,
20681 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_W_PSEUDO),
20682 MVT::i32, 1, 0,
20683 8,
20684 OPC_CheckChild0Type, MVT::v2i64,
20685 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_D_PSEUDO),
20686 MVT::i32, 1, 0,
20687 0,
20688 10, TARGET_VAL(MipsISD::VANY_ZERO),
20689 OPC_RecordChild0,
20690 OPC_CheckChild0Type, MVT::v16i8,
20691 OPC_CheckTypeI32,
20692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_V_PSEUDO),
20693 MVT::i32, 1, 0,
20694 109|128,2, TARGET_VAL(ISD::FSUB),
20695 OPC_Scope, 88|128,1,
20696 OPC_MoveChild0,
20697 OPC_SwitchOpcode , 34|128,1, TARGET_VAL(ISD::ConstantFP),
20698 OPC_CheckPredicate, 48,
20699 OPC_MoveSibling1,
20700 OPC_SwitchOpcode , 102, TARGET_VAL(ISD::FADD),
20701 OPC_Scope, 49,
20702 OPC_MoveChild0,
20703 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20704 OPC_RecordChild0,
20705 OPC_RecordChild1,
20706 OPC_MoveParent,
20707 OPC_RecordChild1,
20708 OPC_MoveParent,
20709 OPC_SwitchType , 10, MVT::f32,
20710 OPC_CheckPatternPredicate, 66,
20711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
20712 MVT::f32, 3, 2, 0, 1,
20713 24, MVT::f64,
20714 OPC_Scope, 10,
20715 OPC_CheckPatternPredicate, 67,
20716 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
20717 MVT::f64, 3, 2, 0, 1,
20718 10,
20719 OPC_CheckPatternPredicate, 68,
20720 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
20721 MVT::f64, 3, 2, 0, 1,
20722 0,
20723 0,
20724 49,
20725 OPC_RecordChild0,
20726 OPC_MoveChild1,
20727 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20728 OPC_RecordChild0,
20729 OPC_RecordChild1,
20730 OPC_MoveParent,
20731 OPC_MoveParent,
20732 OPC_SwitchType , 10, MVT::f32,
20733 OPC_CheckPatternPredicate, 66,
20734 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
20735 MVT::f32, 3, 0, 1, 2,
20736 24, MVT::f64,
20737 OPC_Scope, 10,
20738 OPC_CheckPatternPredicate, 67,
20739 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
20740 MVT::f64, 3, 0, 1, 2,
20741 10,
20742 OPC_CheckPatternPredicate, 68,
20743 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
20744 MVT::f64, 3, 0, 1, 2,
20745 0,
20746 0,
20747 0,
20748 49, TARGET_VAL(ISD::FSUB),
20749 OPC_MoveChild0,
20750 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20751 OPC_RecordChild0,
20752 OPC_RecordChild1,
20753 OPC_MoveParent,
20754 OPC_RecordChild1,
20755 OPC_MoveParent,
20756 OPC_SwitchType , 10, MVT::f32,
20757 OPC_CheckPatternPredicate, 66,
20758 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
20759 MVT::f32, 3, 2, 0, 1,
20760 24, MVT::f64,
20761 OPC_Scope, 10,
20762 OPC_CheckPatternPredicate, 67,
20763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
20764 MVT::f64, 3, 2, 0, 1,
20765 10,
20766 OPC_CheckPatternPredicate, 68,
20767 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
20768 MVT::f64, 3, 2, 0, 1,
20769 0,
20770 0,
20771 0,
20772 44, TARGET_VAL(ISD::FMUL),
20773 OPC_RecordChild0,
20774 OPC_RecordChild1,
20775 OPC_MoveParent,
20776 OPC_RecordChild1,
20777 OPC_SwitchType , 10, MVT::f32,
20778 OPC_CheckPatternPredicate, 69,
20779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_S),
20780 MVT::f32, 3, 2, 0, 1,
20781 24, MVT::f64,
20782 OPC_Scope, 10,
20783 OPC_CheckPatternPredicate, 70,
20784 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D32),
20785 MVT::f64, 3, 2, 0, 1,
20786 10,
20787 OPC_CheckPatternPredicate, 71,
20788 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D64),
20789 MVT::f64, 3, 2, 0, 1,
20790 0,
20791 0,
20792 0,
20793 15|128,1,
20794 OPC_RecordChild0,
20795 OPC_Scope, 81,
20796 OPC_RecordChild1,
20797 OPC_SwitchType , 32, MVT::f32,
20798 OPC_Scope, 9,
20799 OPC_CheckPatternPredicate, 39,
20800 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S),
20801 MVT::f32, 2, 0, 1,
20802 9,
20803 OPC_CheckPatternPredicate, 32,
20804 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MM),
20805 MVT::f32, 2, 0, 1,
20806 9,
20807 OPC_CheckPatternPredicate, 24,
20808 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MMR6),
20809 MVT::f32, 2, 1, 0,
20810 0,
20811 42, MVT::f64,
20812 OPC_Scope, 9,
20813 OPC_CheckPatternPredicate, 47,
20814 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32),
20815 MVT::f64, 2, 0, 1,
20816 9,
20817 OPC_CheckPatternPredicate, 48,
20818 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64),
20819 MVT::f64, 2, 0, 1,
20820 9,
20821 OPC_CheckPatternPredicate, 33,
20822 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32_MM),
20823 MVT::f64, 2, 0, 1,
20824 9,
20825 OPC_CheckPatternPredicate, 34,
20826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64_MM),
20827 MVT::f64, 2, 0, 1,
20828 0,
20829 0,
20830 33,
20831 OPC_MoveChild1,
20832 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20833 OPC_RecordChild0,
20834 OPC_RecordChild1,
20835 OPC_MoveParent,
20836 OPC_SwitchType , 10, MVT::v4f32,
20837 OPC_CheckPatternPredicate, 43,
20838 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
20839 MVT::v4f32, 3, 0, 1, 2,
20840 10, MVT::v2f64,
20841 OPC_CheckPatternPredicate, 43,
20842 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
20843 MVT::v2f64, 3, 0, 1, 2,
20844 0,
20845 23,
20846 OPC_RecordChild1,
20847 OPC_SwitchType , 8, MVT::v4f32,
20848 OPC_CheckPatternPredicate0,
20849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_W),
20850 MVT::v4f32, 2, 0, 1,
20851 8, MVT::v2f64,
20852 OPC_CheckPatternPredicate0,
20853 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D),
20854 MVT::v2f64, 2, 0, 1,
20855 0,
20856 0,
20857 0,
20858 59|128,2, TARGET_VAL(ISD::FNEG),
20859 OPC_Scope, 108|128,1,
20860 OPC_MoveChild0,
20861 OPC_SwitchOpcode , 24|128,1, TARGET_VAL(ISD::FADD),
20862 OPC_Scope, 74,
20863 OPC_MoveChild0,
20864 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20865 OPC_RecordChild0,
20866 OPC_RecordChild1,
20867 OPC_MoveParent,
20868 OPC_RecordChild1,
20869 OPC_MoveParent,
20870 OPC_SwitchType , 24, MVT::f32,
20871 OPC_Scope, 10,
20872 OPC_CheckPatternPredicate, 72,
20873 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
20874 MVT::f32, 3, 2, 0, 1,
20875 10,
20876 OPC_CheckPatternPredicate, 73,
20877 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
20878 MVT::f32, 3, 2, 0, 1,
20879 0,
20880 35, MVT::f64,
20881 OPC_Scope, 10,
20882 OPC_CheckPatternPredicate, 74,
20883 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
20884 MVT::f64, 3, 2, 0, 1,
20885 10,
20886 OPC_CheckPatternPredicate, 75,
20887 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
20888 MVT::f64, 3, 2, 0, 1,
20889 10,
20890 OPC_CheckPatternPredicate, 76,
20891 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
20892 MVT::f64, 3, 2, 0, 1,
20893 0,
20894 0,
20895 74,
20896 OPC_RecordChild0,
20897 OPC_MoveChild1,
20898 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20899 OPC_RecordChild0,
20900 OPC_RecordChild1,
20901 OPC_MoveParent,
20902 OPC_MoveParent,
20903 OPC_SwitchType , 24, MVT::f32,
20904 OPC_Scope, 10,
20905 OPC_CheckPatternPredicate, 72,
20906 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
20907 MVT::f32, 3, 0, 1, 2,
20908 10,
20909 OPC_CheckPatternPredicate, 73,
20910 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
20911 MVT::f32, 3, 0, 1, 2,
20912 0,
20913 35, MVT::f64,
20914 OPC_Scope, 10,
20915 OPC_CheckPatternPredicate, 74,
20916 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
20917 MVT::f64, 3, 0, 1, 2,
20918 10,
20919 OPC_CheckPatternPredicate, 75,
20920 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
20921 MVT::f64, 3, 0, 1, 2,
20922 10,
20923 OPC_CheckPatternPredicate, 76,
20924 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
20925 MVT::f64, 3, 0, 1, 2,
20926 0,
20927 0,
20928 0,
20929 74, TARGET_VAL(ISD::FSUB),
20930 OPC_MoveChild0,
20931 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20932 OPC_RecordChild0,
20933 OPC_RecordChild1,
20934 OPC_MoveParent,
20935 OPC_RecordChild1,
20936 OPC_MoveParent,
20937 OPC_SwitchType , 24, MVT::f32,
20938 OPC_Scope, 10,
20939 OPC_CheckPatternPredicate, 72,
20940 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
20941 MVT::f32, 3, 2, 0, 1,
20942 10,
20943 OPC_CheckPatternPredicate, 73,
20944 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S_MM),
20945 MVT::f32, 3, 2, 0, 1,
20946 0,
20947 35, MVT::f64,
20948 OPC_Scope, 10,
20949 OPC_CheckPatternPredicate, 74,
20950 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
20951 MVT::f64, 3, 2, 0, 1,
20952 10,
20953 OPC_CheckPatternPredicate, 75,
20954 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
20955 MVT::f64, 3, 2, 0, 1,
20956 10,
20957 OPC_CheckPatternPredicate, 76,
20958 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32_MM),
20959 MVT::f64, 3, 2, 0, 1,
20960 0,
20961 0,
20962 0,
20963 74,
20964 OPC_RecordChild0,
20965 OPC_SwitchType , 29, MVT::f32,
20966 OPC_Scope, 8,
20967 OPC_CheckPatternPredicate, 131,
20968 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
20969 MVT::f32, 1, 0,
20970 8,
20971 OPC_CheckPatternPredicate, 32,
20972 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
20973 MVT::f32, 1, 0,
20974 8,
20975 OPC_CheckPatternPredicate, 24,
20976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
20977 MVT::f32, 1, 0,
20978 0,
20979 38, MVT::f64,
20980 OPC_Scope, 8,
20981 OPC_CheckPatternPredicate, 47,
20982 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32),
20983 MVT::f64, 1, 0,
20984 8,
20985 OPC_CheckPatternPredicate, 48,
20986 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
20987 MVT::f64, 1, 0,
20988 8,
20989 OPC_CheckPatternPredicate, 33,
20990 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32_MM),
20991 MVT::f64, 1, 0,
20992 8,
20993 OPC_CheckPatternPredicate, 34,
20994 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64_MM),
20995 MVT::f64, 1, 0,
20996 0,
20997 0,
20998 0,
20999 24|128,2, TARGET_VAL(ISD::FADD),
21000 OPC_Scope, 48,
21001 OPC_MoveChild0,
21002 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21003 OPC_RecordChild0,
21004 OPC_RecordChild1,
21005 OPC_MoveParent,
21006 OPC_RecordChild1,
21007 OPC_SwitchType , 10, MVT::f32,
21008 OPC_CheckPatternPredicate, 69,
21009 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
21010 MVT::f32, 3, 2, 0, 1,
21011 24, MVT::f64,
21012 OPC_Scope, 10,
21013 OPC_CheckPatternPredicate, 70,
21014 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
21015 MVT::f64, 3, 2, 0, 1,
21016 10,
21017 OPC_CheckPatternPredicate, 71,
21018 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
21019 MVT::f64, 3, 2, 0, 1,
21020 0,
21021 0,
21022 39|128,1,
21023 OPC_RecordChild0,
21024 OPC_Scope, 47,
21025 OPC_MoveChild1,
21026 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21027 OPC_RecordChild0,
21028 OPC_RecordChild1,
21029 OPC_MoveParent,
21030 OPC_SwitchType , 10, MVT::f32,
21031 OPC_CheckPatternPredicate, 69,
21032 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
21033 MVT::f32, 3, 0, 1, 2,
21034 24, MVT::f64,
21035 OPC_Scope, 10,
21036 OPC_CheckPatternPredicate, 70,
21037 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
21038 MVT::f64, 3, 0, 1, 2,
21039 10,
21040 OPC_CheckPatternPredicate, 71,
21041 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
21042 MVT::f64, 3, 0, 1, 2,
21043 0,
21044 0,
21045 81,
21046 OPC_RecordChild1,
21047 OPC_SwitchType , 32, MVT::f32,
21048 OPC_Scope, 9,
21049 OPC_CheckPatternPredicate, 39,
21050 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S),
21051 MVT::f32, 2, 0, 1,
21052 9,
21053 OPC_CheckPatternPredicate, 32,
21054 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MM),
21055 MVT::f32, 2, 0, 1,
21056 9,
21057 OPC_CheckPatternPredicate, 24,
21058 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MMR6),
21059 MVT::f32, 2, 1, 0,
21060 0,
21061 42, MVT::f64,
21062 OPC_Scope, 9,
21063 OPC_CheckPatternPredicate, 47,
21064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32),
21065 MVT::f64, 2, 0, 1,
21066 9,
21067 OPC_CheckPatternPredicate, 48,
21068 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64),
21069 MVT::f64, 2, 0, 1,
21070 9,
21071 OPC_CheckPatternPredicate, 33,
21072 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32_MM),
21073 MVT::f64, 2, 0, 1,
21074 9,
21075 OPC_CheckPatternPredicate, 34,
21076 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64_MM),
21077 MVT::f64, 2, 0, 1,
21078 0,
21079 0,
21080 33,
21081 OPC_MoveChild1,
21082 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21083 OPC_RecordChild0,
21084 OPC_RecordChild1,
21085 OPC_MoveParent,
21086 OPC_SwitchType , 10, MVT::v4f32,
21087 OPC_CheckPatternPredicate, 43,
21088 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
21089 MVT::v4f32, 3, 0, 1, 2,
21090 10, MVT::v2f64,
21091 OPC_CheckPatternPredicate, 43,
21092 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
21093 MVT::v2f64, 3, 0, 1, 2,
21094 0,
21095 0,
21096 34,
21097 OPC_MoveChild0,
21098 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21099 OPC_RecordChild0,
21100 OPC_RecordChild1,
21101 OPC_MoveParent,
21102 OPC_RecordChild1,
21103 OPC_SwitchType , 10, MVT::v4f32,
21104 OPC_CheckPatternPredicate, 43,
21105 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
21106 MVT::v4f32, 3, 2, 0, 1,
21107 10, MVT::v2f64,
21108 OPC_CheckPatternPredicate, 43,
21109 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
21110 MVT::v2f64, 3, 2, 0, 1,
21111 0,
21112 24,
21113 OPC_RecordChild0,
21114 OPC_RecordChild1,
21115 OPC_SwitchType , 8, MVT::v4f32,
21116 OPC_CheckPatternPredicate0,
21117 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_W),
21118 MVT::v4f32, 2, 0, 1,
21119 8, MVT::v2f64,
21120 OPC_CheckPatternPredicate0,
21121 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D),
21122 MVT::v2f64, 2, 0, 1,
21123 0,
21124 0,
21125 8|128,1, TARGET_VAL(ISD::ConstantFP),
21126 OPC_Scope, 54,
21127 OPC_CheckPredicate, 48,
21128 OPC_SwitchType , 34, MVT::f32,
21129 OPC_Scope, 10,
21130 OPC_CheckPatternPredicate, 56,
21131 OPC_EmitRegisterI32, Mips::ZERO,
21132 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
21133 MVT::f32, 1, 0,
21134 10,
21135 OPC_CheckPatternPredicate, 8,
21136 OPC_EmitRegisterI32, Mips::ZERO,
21137 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
21138 MVT::f32, 1, 0,
21139 9,
21140 OPC_CheckPatternPredicate7,
21141 OPC_EmitRegisterI32, Mips::ZERO,
21142 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
21143 MVT::f32, 1, 0,
21144 0,
21145 12, MVT::f64,
21146 OPC_CheckPatternPredicate, 106,
21147 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
21148 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
21149 MVT::f64, 1, 0,
21150 0,
21151 78,
21152 OPC_CheckPredicate, 64,
21153 OPC_SwitchType , 52, MVT::f32,
21154 OPC_Scope, 16,
21155 OPC_CheckPatternPredicate, 56,
21156 OPC_EmitRegisterI32, Mips::ZERO,
21157 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1),
21158 MVT::f32, 1, 0,
21159 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
21160 MVT::f32, 1, 1,
21161 16,
21162 OPC_CheckPatternPredicate, 8,
21163 OPC_EmitRegisterI32, Mips::ZERO,
21164 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MM),
21165 MVT::f32, 1, 0,
21166 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
21167 MVT::f32, 1, 1,
21168 15,
21169 OPC_CheckPatternPredicate7,
21170 OPC_EmitRegisterI32, Mips::ZERO,
21171 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MMR6),
21172 MVT::f32, 1, 0,
21173 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
21174 MVT::f32, 1, 1,
21175 0,
21176 18, MVT::f64,
21177 OPC_CheckPatternPredicate, 106,
21178 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
21179 OPC_EmitNode1None, TARGET_VAL(Mips::DMTC1),
21180 MVT::f64, 1, 0,
21181 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
21182 MVT::f64, 1, 1,
21183 0,
21184 0,
21185 83, TARGET_VAL(ISD::FABS),
21186 OPC_RecordChild0,
21187 OPC_SwitchType , 20, MVT::f32,
21188 OPC_Scope, 8,
21189 OPC_CheckPatternPredicate, 132,
21190 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S),
21191 MVT::f32, 1, 0,
21192 8,
21193 OPC_CheckPatternPredicate, 133,
21194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S_MM),
21195 MVT::f32, 1, 0,
21196 0,
21197 38, MVT::f64,
21198 OPC_Scope, 8,
21199 OPC_CheckPatternPredicate, 134,
21200 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32),
21201 MVT::f64, 1, 0,
21202 8,
21203 OPC_CheckPatternPredicate, 135,
21204 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64),
21205 MVT::f64, 1, 0,
21206 8,
21207 OPC_CheckPatternPredicate, 33,
21208 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32_MM),
21209 MVT::f64, 1, 0,
21210 8,
21211 OPC_CheckPatternPredicate, 34,
21212 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64_MM),
21213 MVT::f64, 1, 0,
21214 0,
21215 7, MVT::v4f32,
21216 OPC_CheckPatternPredicate0,
21217 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_W),
21218 MVT::v4f32, 1, 0,
21219 7, MVT::v2f64,
21220 OPC_CheckPatternPredicate0,
21221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D),
21222 MVT::v2f64, 1, 0,
21223 0,
21224 83, TARGET_VAL(ISD::FSQRT),
21225 OPC_RecordChild0,
21226 OPC_SwitchType , 20, MVT::f32,
21227 OPC_Scope, 8,
21228 OPC_CheckPatternPredicate, 136,
21229 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S),
21230 MVT::f32, 1, 0,
21231 8,
21232 OPC_CheckPatternPredicate, 32,
21233 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S_MM),
21234 MVT::f32, 1, 0,
21235 0,
21236 38, MVT::f64,
21237 OPC_Scope, 8,
21238 OPC_CheckPatternPredicate, 60,
21239 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32),
21240 MVT::f64, 1, 0,
21241 8,
21242 OPC_CheckPatternPredicate, 59,
21243 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64),
21244 MVT::f64, 1, 0,
21245 8,
21246 OPC_CheckPatternPredicate, 33,
21247 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32_MM),
21248 MVT::f64, 1, 0,
21249 8,
21250 OPC_CheckPatternPredicate, 34,
21251 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64_MM),
21252 MVT::f64, 1, 0,
21253 0,
21254 7, MVT::v4f32,
21255 OPC_CheckPatternPredicate0,
21256 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_W),
21257 MVT::v4f32, 1, 0,
21258 7, MVT::v2f64,
21259 OPC_CheckPatternPredicate0,
21260 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D),
21261 MVT::v2f64, 1, 0,
21262 0,
21263 102, TARGET_VAL(ISD::FDIV),
21264 OPC_RecordChild0,
21265 OPC_RecordChild1,
21266 OPC_SwitchType , 32, MVT::f32,
21267 OPC_Scope, 9,
21268 OPC_CheckPatternPredicate, 39,
21269 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S),
21270 MVT::f32, 2, 0, 1,
21271 9,
21272 OPC_CheckPatternPredicate, 32,
21273 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MM),
21274 MVT::f32, 2, 0, 1,
21275 9,
21276 OPC_CheckPatternPredicate, 24,
21277 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MMR6),
21278 MVT::f32, 2, 1, 0,
21279 0,
21280 42, MVT::f64,
21281 OPC_Scope, 9,
21282 OPC_CheckPatternPredicate, 47,
21283 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32),
21284 MVT::f64, 2, 0, 1,
21285 9,
21286 OPC_CheckPatternPredicate, 48,
21287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64),
21288 MVT::f64, 2, 0, 1,
21289 9,
21290 OPC_CheckPatternPredicate, 33,
21291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32_MM),
21292 MVT::f64, 2, 0, 1,
21293 9,
21294 OPC_CheckPatternPredicate, 34,
21295 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64_MM),
21296 MVT::f64, 2, 0, 1,
21297 0,
21298 8, MVT::v4f32,
21299 OPC_CheckPatternPredicate0,
21300 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_W),
21301 MVT::v4f32, 2, 0, 1,
21302 8, MVT::v2f64,
21303 OPC_CheckPatternPredicate0,
21304 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D),
21305 MVT::v2f64, 2, 0, 1,
21306 0,
21307 44|128,1, TARGET_VAL(ISD::FMUL),
21308 OPC_Scope, 114,
21309 OPC_RecordChild0,
21310 OPC_Scope, 81,
21311 OPC_RecordChild1,
21312 OPC_SwitchType , 32, MVT::f32,
21313 OPC_Scope, 9,
21314 OPC_CheckPatternPredicate, 39,
21315 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S),
21316 MVT::f32, 2, 0, 1,
21317 9,
21318 OPC_CheckPatternPredicate, 32,
21319 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MM),
21320 MVT::f32, 2, 0, 1,
21321 9,
21322 OPC_CheckPatternPredicate, 24,
21323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MMR6),
21324 MVT::f32, 2, 1, 0,
21325 0,
21326 42, MVT::f64,
21327 OPC_Scope, 9,
21328 OPC_CheckPatternPredicate, 47,
21329 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32),
21330 MVT::f64, 2, 0, 1,
21331 9,
21332 OPC_CheckPatternPredicate, 48,
21333 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64),
21334 MVT::f64, 2, 0, 1,
21335 9,
21336 OPC_CheckPatternPredicate, 33,
21337 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32_MM),
21338 MVT::f64, 2, 0, 1,
21339 9,
21340 OPC_CheckPatternPredicate, 34,
21341 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64_MM),
21342 MVT::f64, 2, 0, 1,
21343 0,
21344 0,
21345 28,
21346 OPC_MoveChild1,
21347 OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
21348 OPC_RecordChild0,
21349 OPC_MoveParent,
21350 OPC_SwitchType , 8, MVT::v4f32,
21351 OPC_CheckPatternPredicate0,
21352 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
21353 MVT::v4f32, 2, 0, 1,
21354 8, MVT::v2f64,
21355 OPC_CheckPatternPredicate0,
21356 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
21357 MVT::v2f64, 2, 0, 1,
21358 0,
21359 0,
21360 29,
21361 OPC_MoveChild0,
21362 OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
21363 OPC_RecordChild0,
21364 OPC_MoveParent,
21365 OPC_RecordChild1,
21366 OPC_SwitchType , 8, MVT::v4f32,
21367 OPC_CheckPatternPredicate0,
21368 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
21369 MVT::v4f32, 2, 1, 0,
21370 8, MVT::v2f64,
21371 OPC_CheckPatternPredicate0,
21372 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
21373 MVT::v2f64, 2, 1, 0,
21374 0,
21375 24,
21376 OPC_RecordChild0,
21377 OPC_RecordChild1,
21378 OPC_SwitchType , 8, MVT::v4f32,
21379 OPC_CheckPatternPredicate0,
21380 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_W),
21381 MVT::v4f32, 2, 0, 1,
21382 8, MVT::v2f64,
21383 OPC_CheckPatternPredicate0,
21384 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D),
21385 MVT::v2f64, 2, 0, 1,
21386 0,
21387 0,
21388 24, TARGET_VAL(MipsISD::BuildPairF64),
21389 OPC_RecordChild0,
21390 OPC_RecordChild1,
21391 OPC_Scope, 9,
21392 OPC_CheckPatternPredicate, 97,
21393 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64),
21394 MVT::f64, 2, 0, 1,
21395 9,
21396 OPC_CheckPatternPredicate, 98,
21397 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64_64),
21398 MVT::f64, 2, 0, 1,
21399 0,
21400 94, TARGET_VAL(ISD::SINT_TO_FP),
21401 OPC_RecordChild0,
21402 OPC_Scope, 33,
21403 OPC_CheckChild0TypeI32,
21404 OPC_SwitchType , 6, MVT::f32,
21405 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_S_W),
21406 MVT::f32, 1, 0,
21407 20, MVT::f64,
21408 OPC_Scope, 8,
21409 OPC_CheckPatternPredicate, 137,
21410 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D32_W),
21411 MVT::f64, 1, 0,
21412 8,
21413 OPC_CheckPatternPredicate, 77,
21414 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_W),
21415 MVT::f64, 1, 0,
21416 0,
21417 0,
21418 32,
21419 OPC_CheckChild0TypeI64,
21420 OPC_SwitchType , 8, MVT::f64,
21421 OPC_CheckPatternPredicate, 77,
21422 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_L),
21423 MVT::f64, 1, 0,
21424 17, MVT::f32,
21425 OPC_CheckPatternPredicate, 77,
21426 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCVT_S_L),
21427 MVT::f64, 1, 0,
21428 OPC_EmitStringInteger32, Mips::sub_lo,
21429 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21430 MVT::f32, 2, 1, 2,
21431 0,
21432 11,
21433 OPC_CheckChild0Type, MVT::v4i32,
21434 OPC_CheckType, MVT::v4f32,
21435 OPC_CheckPatternPredicate0,
21436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_W),
21437 MVT::v4f32, 1, 0,
21438 11,
21439 OPC_CheckChild0Type, MVT::v2i64,
21440 OPC_CheckType, MVT::v2f64,
21441 OPC_CheckPatternPredicate0,
21442 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_D),
21443 MVT::v2f64, 1, 0,
21444 0,
21445 1|128,1, TARGET_VAL(MipsISD::TruncIntFP),
21446 OPC_RecordChild0,
21447 OPC_Scope, 44,
21448 OPC_CheckChild0Type, MVT::f32,
21449 OPC_SwitchType , 28, MVT::f32,
21450 OPC_Scope, 8,
21451 OPC_CheckPatternPredicate, 56,
21452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S),
21453 MVT::f32, 1, 0,
21454 8,
21455 OPC_CheckPatternPredicate, 8,
21456 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MM),
21457 MVT::f32, 1, 0,
21458 7,
21459 OPC_CheckPatternPredicate7,
21460 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MMR6),
21461 MVT::f32, 1, 0,
21462 0,
21463 8, MVT::f64,
21464 OPC_CheckPatternPredicate, 78,
21465 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_S),
21466 MVT::f64, 1, 0,
21467 0,
21468 62,
21469 OPC_CheckChild0Type, MVT::f64,
21470 OPC_SwitchType , 46, MVT::f32,
21471 OPC_Scope, 8,
21472 OPC_CheckPatternPredicate, 138,
21473 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D32),
21474 MVT::f32, 1, 0,
21475 8,
21476 OPC_CheckPatternPredicate, 78,
21477 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
21478 MVT::f32, 1, 0,
21479 8,
21480 OPC_CheckPatternPredicate, 27,
21481 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_MM),
21482 MVT::f32, 1, 0,
21483 8,
21484 OPC_CheckPatternPredicate, 139,
21485 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_W_D64_MM),
21486 MVT::f32, 1, 0,
21487 7,
21488 OPC_CheckPatternPredicate7,
21489 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D_MMR6),
21490 MVT::f32, 1, 0,
21491 0,
21492 8, MVT::f64,
21493 OPC_CheckPatternPredicate, 78,
21494 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_D64),
21495 MVT::f64, 1, 0,
21496 0,
21497 17,
21498 OPC_CheckChild0Type, MVT::f16,
21499 OPC_CheckType, MVT::f32,
21500 OPC_CheckPatternPredicate0,
21501 OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO),
21502 MVT::f64, 1, 0,
21503 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
21504 MVT::f32, 1, 1,
21505 0,
21506 21, TARGET_VAL(MipsISD::MTC1_D64),
21507 OPC_RecordChild0,
21508 OPC_Scope, 8,
21509 OPC_CheckPatternPredicate, 140,
21510 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64),
21511 MVT::f64, 1, 0,
21512 8,
21513 OPC_CheckPatternPredicate, 44,
21514 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64_MM),
21515 MVT::f64, 1, 0,
21516 0,
21517 67, TARGET_VAL(ISD::FP_ROUND),
21518 OPC_RecordChild0,
21519 OPC_SwitchType , 38, MVT::f32,
21520 OPC_Scope, 8,
21521 OPC_CheckPatternPredicate, 50,
21522 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32),
21523 MVT::f32, 1, 0,
21524 8,
21525 OPC_CheckPatternPredicate, 49,
21526 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64),
21527 MVT::f32, 1, 0,
21528 8,
21529 OPC_CheckPatternPredicate, 44,
21530 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64_MM),
21531 MVT::f32, 1, 0,
21532 8,
21533 OPC_CheckPatternPredicate, 51,
21534 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32_MM),
21535 MVT::f32, 1, 0,
21536 0,
21537 22, MVT::f16,
21538 OPC_Scope, 9,
21539 OPC_CheckChild0Type, MVT::f32,
21540 OPC_CheckPatternPredicate3,
21541 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_ROUND_W_PSEUDO),
21542 MVT::f16, 1, 0,
21543 9,
21544 OPC_CheckChild0Type, MVT::f64,
21545 OPC_CheckPatternPredicate3,
21546 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_ROUND_D_PSEUDO),
21547 MVT::f16, 1, 0,
21548 0,
21549 0,
21550 67, TARGET_VAL(ISD::FP_EXTEND),
21551 OPC_RecordChild0,
21552 OPC_SwitchType , 53, MVT::f64,
21553 OPC_Scope, 40,
21554 OPC_CheckChild0Type, MVT::f32,
21555 OPC_Scope, 8,
21556 OPC_CheckPatternPredicate, 50,
21557 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S),
21558 MVT::f64, 1, 0,
21559 8,
21560 OPC_CheckPatternPredicate, 49,
21561 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S),
21562 MVT::f64, 1, 0,
21563 8,
21564 OPC_CheckPatternPredicate, 44,
21565 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S_MM),
21566 MVT::f64, 1, 0,
21567 8,
21568 OPC_CheckPatternPredicate, 51,
21569 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S_MM),
21570 MVT::f64, 1, 0,
21571 0,
21572 9,
21573 OPC_CheckChild0Type, MVT::f16,
21574 OPC_CheckPatternPredicate3,
21575 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO),
21576 MVT::f64, 1, 0,
21577 0,
21578 7, MVT::f32,
21579 OPC_CheckPatternPredicate3,
21580 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
21581 MVT::f32, 1, 0,
21582 0,
21583 30, TARGET_VAL(MipsISD::FSELECT),
21584 OPC_RecordChild0,
21585 OPC_CheckChild0Type, MVT::f64,
21586 OPC_RecordChild1,
21587 OPC_RecordChild2,
21588 OPC_CheckType, MVT::f64,
21589 OPC_Scope, 10,
21590 OPC_CheckPatternPredicate, 26,
21591 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D),
21592 MVT::f64, 3, 0, 2, 1,
21593 9,
21594 OPC_CheckPatternPredicate7,
21595 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D_MMR6),
21596 MVT::f64, 3, 0, 2, 1,
21597 0,
21598 26, TARGET_VAL(ISD::FMAXNUM_IEEE),
21599 OPC_RecordChild0,
21600 OPC_RecordChild1,
21601 OPC_SwitchType , 9, MVT::f32,
21602 OPC_CheckPatternPredicate, 14,
21603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S),
21604 MVT::f32, 2, 0, 1,
21605 9, MVT::f64,
21606 OPC_CheckPatternPredicate, 14,
21607 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_D),
21608 MVT::f64, 2, 0, 1,
21609 0,
21610 26, TARGET_VAL(ISD::FMINNUM_IEEE),
21611 OPC_RecordChild0,
21612 OPC_RecordChild1,
21613 OPC_SwitchType , 9, MVT::f32,
21614 OPC_CheckPatternPredicate, 14,
21615 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
21616 MVT::f32, 2, 0, 1,
21617 9, MVT::f64,
21618 OPC_CheckPatternPredicate, 14,
21619 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
21620 MVT::f64, 2, 0, 1,
21621 0,
21622 25, TARGET_VAL(ISD::FCANONICALIZE),
21623 OPC_RecordChild0,
21624 OPC_SwitchType , 9, MVT::f32,
21625 OPC_CheckPatternPredicate, 14,
21626 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
21627 MVT::f32, 2, 0, 0,
21628 9, MVT::f64,
21629 OPC_CheckPatternPredicate, 14,
21630 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
21631 MVT::f64, 2, 0, 0,
21632 0,
21633 82|128,2, TARGET_VAL(MipsISD::VSHF),
21634 OPC_Scope, 80,
21635 OPC_MoveChild0,
21636 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
21637 OPC_MoveChild0,
21638 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
21639 OPC_MoveChild0,
21640 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
21641 OPC_Scope, 32,
21642 OPC_RecordChild0,
21643 OPC_CheckChild0TypeI32,
21644 OPC_CheckChild1Same, 0,
21645 OPC_CheckChild2Same, 0,
21646 OPC_CheckChild3Same, 0,
21647 OPC_MoveSibling1,
21648 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
21649 OPC_MoveParent,
21650 OPC_CheckType, MVT::v4i32,
21651 OPC_MoveParent,
21652 OPC_CheckType, MVT::v2i64,
21653 OPC_MoveParent,
21654 OPC_RecordChild1,
21655 OPC_CheckChild2Same, 1,
21656 OPC_CheckType, MVT::v2i64,
21657 OPC_CheckPatternPredicate0,
21658 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
21659 MVT::v2i64, 2, 1, 0,
21660 32,
21661 OPC_MoveSibling1,
21662 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
21663 OPC_RecordChild0,
21664 OPC_CheckChild0TypeI32,
21665 OPC_CheckChild1Same, 0,
21666 OPC_CheckChild2Same, 0,
21667 OPC_CheckChild3Same, 0,
21668 OPC_MoveParent,
21669 OPC_CheckType, MVT::v4i32,
21670 OPC_MoveParent,
21671 OPC_CheckType, MVT::v2i64,
21672 OPC_MoveParent,
21673 OPC_RecordChild1,
21674 OPC_CheckChild2Same, 1,
21675 OPC_CheckType, MVT::v2i64,
21676 OPC_CheckPatternPredicate0,
21677 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
21678 MVT::v2i64, 2, 1, 0,
21679 0,
21680 75,
21681 OPC_RecordChild0,
21682 OPC_SwitchType , 16, MVT::v16i8,
21683 OPC_CheckChild0Type, MVT::v16i8,
21684 OPC_RecordChild1,
21685 OPC_CheckChild2Same, 1,
21686 OPC_CheckPatternPredicate0,
21687 OPC_CheckComplexPat, /*CP*/27, /*#*/0,
21688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_B),
21689 MVT::v16i8, 2, 1, 2,
21690 16, MVT::v8i16,
21691 OPC_CheckChild0Type, MVT::v8i16,
21692 OPC_RecordChild1,
21693 OPC_CheckChild2Same, 1,
21694 OPC_CheckPatternPredicate0,
21695 OPC_CheckComplexPat, /*CP*/28, /*#*/0,
21696 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_H),
21697 MVT::v8i16, 2, 1, 2,
21698 16, MVT::v4i32,
21699 OPC_CheckChild0Type, MVT::v4i32,
21700 OPC_RecordChild1,
21701 OPC_CheckChild2Same, 1,
21702 OPC_CheckPatternPredicate0,
21703 OPC_CheckComplexPat, /*CP*/29, /*#*/0,
21704 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_W),
21705 MVT::v4i32, 2, 1, 2,
21706 16, MVT::v2i64,
21707 OPC_CheckChild0Type, MVT::v2i64,
21708 OPC_RecordChild1,
21709 OPC_CheckChild2Same, 1,
21710 OPC_CheckPatternPredicate0,
21711 OPC_CheckComplexPat, /*CP*/30, /*#*/0,
21712 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_D),
21713 MVT::v2i64, 2, 1, 2,
21714 0,
21715 114,
21716 OPC_MoveChild0,
21717 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
21718 OPC_RecordChild0,
21719 OPC_CheckChild0TypeI32,
21720 OPC_CheckChild1Same, 0,
21721 OPC_CheckChild2Same, 0,
21722 OPC_CheckChild3Same, 0,
21723 OPC_Scope, 82,
21724 OPC_MoveChild4,
21725 OPC_CheckSame, 0,
21726 OPC_MoveSibling5,
21727 OPC_CheckSame, 0,
21728 OPC_MoveSibling6,
21729 OPC_CheckSame, 0,
21730 OPC_MoveSibling7,
21731 OPC_CheckSame, 0,
21732 OPC_Scope, 49,
21733 OPC_MoveSibling, 8,
21734 OPC_CheckSame, 0,
21735 OPC_MoveSibling, 9,
21736 OPC_CheckSame, 0,
21737 OPC_MoveSibling, 10,
21738 OPC_CheckSame, 0,
21739 OPC_MoveSibling, 11,
21740 OPC_CheckSame, 0,
21741 OPC_MoveSibling, 12,
21742 OPC_CheckSame, 0,
21743 OPC_MoveSibling, 13,
21744 OPC_CheckSame, 0,
21745 OPC_MoveSibling, 14,
21746 OPC_CheckSame, 0,
21747 OPC_MoveSibling, 15,
21748 OPC_CheckSame, 0,
21749 OPC_MoveParent,
21750 OPC_CheckType, MVT::v16i8,
21751 OPC_MoveParent,
21752 OPC_RecordChild1,
21753 OPC_CheckChild2Same, 1,
21754 OPC_CheckType, MVT::v16i8,
21755 OPC_CheckPatternPredicate0,
21756 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_B),
21757 MVT::v16i8, 2, 1, 0,
21758 17,
21759 OPC_MoveParent,
21760 OPC_CheckType, MVT::v8i16,
21761 OPC_MoveParent,
21762 OPC_RecordChild1,
21763 OPC_CheckChild2Same, 1,
21764 OPC_CheckType, MVT::v8i16,
21765 OPC_CheckPatternPredicate0,
21766 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_H),
21767 MVT::v8i16, 2, 1, 0,
21768 0,
21769 16,
21770 OPC_CheckType, MVT::v4i32,
21771 OPC_MoveParent,
21772 OPC_RecordChild1,
21773 OPC_CheckChild2Same, 1,
21774 OPC_CheckType, MVT::v4i32,
21775 OPC_CheckPatternPredicate0,
21776 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_W),
21777 MVT::v4i32, 2, 1, 0,
21778 0,
21779 63,
21780 OPC_RecordChild0,
21781 OPC_SwitchType , 13, MVT::v16i8,
21782 OPC_CheckChild0Type, MVT::v16i8,
21783 OPC_RecordChild1,
21784 OPC_RecordChild2,
21785 OPC_CheckPatternPredicate0,
21786 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_B),
21787 MVT::v16i8, 3, 0, 1, 2,
21788 13, MVT::v8i16,
21789 OPC_CheckChild0Type, MVT::v8i16,
21790 OPC_RecordChild1,
21791 OPC_RecordChild2,
21792 OPC_CheckPatternPredicate0,
21793 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_H),
21794 MVT::v8i16, 3, 0, 1, 2,
21795 13, MVT::v4i32,
21796 OPC_CheckChild0Type, MVT::v4i32,
21797 OPC_RecordChild1,
21798 OPC_RecordChild2,
21799 OPC_CheckPatternPredicate0,
21800 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_W),
21801 MVT::v4i32, 3, 0, 1, 2,
21802 13, MVT::v2i64,
21803 OPC_CheckChild0Type, MVT::v2i64,
21804 OPC_RecordChild1,
21805 OPC_RecordChild2,
21806 OPC_CheckPatternPredicate0,
21807 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_D),
21808 MVT::v2i64, 3, 0, 1, 2,
21809 0,
21810 0,
21811 108, TARGET_VAL(MipsISD::INSVE),
21812 OPC_RecordChild0,
21813 OPC_RecordChild1,
21814 OPC_MoveChild1,
21815 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21816 OPC_Scope, 24,
21817 OPC_CheckPredicate, 15,
21818 OPC_MoveParent,
21819 OPC_RecordChild2,
21820 OPC_RecordChild3,
21821 OPC_MoveChild3,
21822 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21823 OPC_CheckPredicate6,
21824 OPC_MoveParent,
21825 OPC_CheckType, MVT::v16i8,
21826 OPC_CheckPatternPredicate0,
21827 OPC_EmitConvertToTarget3,
21828 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_B),
21829 MVT::v16i8, 4, 0, 1, 2, 4,
21830 24,
21831 OPC_CheckPredicate, 18,
21832 OPC_MoveParent,
21833 OPC_RecordChild2,
21834 OPC_RecordChild3,
21835 OPC_MoveChild3,
21836 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21837 OPC_CheckPredicate6,
21838 OPC_MoveParent,
21839 OPC_CheckType, MVT::v8i16,
21840 OPC_CheckPatternPredicate0,
21841 OPC_EmitConvertToTarget3,
21842 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_H),
21843 MVT::v8i16, 4, 0, 1, 2, 4,
21844 24,
21845 OPC_CheckPredicate, 22,
21846 OPC_MoveParent,
21847 OPC_RecordChild2,
21848 OPC_RecordChild3,
21849 OPC_MoveChild3,
21850 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21851 OPC_CheckPredicate6,
21852 OPC_MoveParent,
21853 OPC_CheckType, MVT::v4i32,
21854 OPC_CheckPatternPredicate0,
21855 OPC_EmitConvertToTarget3,
21856 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_W),
21857 MVT::v4i32, 4, 0, 1, 2, 4,
21858 24,
21859 OPC_CheckPredicate, 26,
21860 OPC_MoveParent,
21861 OPC_RecordChild2,
21862 OPC_RecordChild3,
21863 OPC_MoveChild3,
21864 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21865 OPC_CheckPredicate6,
21866 OPC_MoveParent,
21867 OPC_CheckType, MVT::v2i64,
21868 OPC_CheckPatternPredicate0,
21869 OPC_EmitConvertToTarget3,
21870 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_D),
21871 MVT::v2i64, 4, 0, 1, 2, 4,
21872 0,
21873 29|128,2, TARGET_VAL(ISD::VSELECT),
21874 OPC_RecordChild0,
21875 OPC_Scope, 32,
21876 OPC_RecordChild1,
21877 OPC_RecordChild2,
21878 OPC_SwitchType , 12, MVT::v16i8,
21879 OPC_CheckPatternPredicate0,
21880 OPC_CheckComplexPat, /*CP*/31, /*#*/0,
21881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_B),
21882 MVT::v16i8, 3, 2, 1, 3,
21883 12, MVT::v8i16,
21884 OPC_CheckPatternPredicate0,
21885 OPC_CheckComplexPat, /*CP*/32, /*#*/0,
21886 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_H),
21887 MVT::v8i16, 3, 2, 1, 3,
21888 0,
21889 18,
21890 OPC_CheckChild0Type, MVT::v4i32,
21891 OPC_RecordChild1,
21892 OPC_RecordChild2,
21893 OPC_CheckType, MVT::v4i32,
21894 OPC_CheckPatternPredicate0,
21895 OPC_CheckComplexPat, /*CP*/33, /*#*/0,
21896 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_W),
21897 MVT::v4i32, 3, 2, 1, 3,
21898 18,
21899 OPC_CheckChild0Type, MVT::v2i64,
21900 OPC_RecordChild1,
21901 OPC_RecordChild2,
21902 OPC_CheckType, MVT::v2i64,
21903 OPC_CheckPatternPredicate0,
21904 OPC_CheckComplexPat, /*CP*/34, /*#*/0,
21905 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_D),
21906 MVT::v2i64, 3, 2, 1, 3,
21907 32,
21908 OPC_RecordChild1,
21909 OPC_RecordChild2,
21910 OPC_SwitchType , 12, MVT::v16i8,
21911 OPC_CheckPatternPredicate0,
21912 OPC_CheckComplexPat, /*CP*/35, /*#*/0,
21913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_B),
21914 MVT::v16i8, 3, 2, 1, 3,
21915 12, MVT::v8i16,
21916 OPC_CheckPatternPredicate0,
21917 OPC_CheckComplexPat, /*CP*/36, /*#*/0,
21918 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_H),
21919 MVT::v8i16, 3, 2, 1, 3,
21920 0,
21921 18,
21922 OPC_CheckChild0Type, MVT::v4i32,
21923 OPC_RecordChild1,
21924 OPC_RecordChild2,
21925 OPC_CheckType, MVT::v4i32,
21926 OPC_CheckPatternPredicate0,
21927 OPC_CheckComplexPat, /*CP*/37, /*#*/0,
21928 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_W),
21929 MVT::v4i32, 3, 2, 1, 3,
21930 18,
21931 OPC_CheckChild0Type, MVT::v2i64,
21932 OPC_RecordChild1,
21933 OPC_RecordChild2,
21934 OPC_CheckType, MVT::v2i64,
21935 OPC_CheckPatternPredicate0,
21936 OPC_CheckComplexPat, /*CP*/38, /*#*/0,
21937 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_D),
21938 MVT::v2i64, 3, 2, 1, 3,
21939 81,
21940 OPC_RecordChild1,
21941 OPC_RecordChild2,
21942 OPC_SwitchType , 64, MVT::v16i8,
21943 OPC_CheckPatternPredicate0,
21944 OPC_Scope, 22,
21945 OPC_CheckComplexPat5, /*#*/0,
21946 OPC_Scope, 8,
21947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZI_B),
21948 MVT::v16i8, 3, 2, 1, 3,
21949 8,
21950 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZI_B),
21951 MVT::v16i8, 3, 1, 2, 3,
21952 0,
21953 10,
21954 OPC_CheckComplexPat5, /*#*/1,
21955 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSELI_B),
21956 MVT::v16i8, 3, 0, 2, 3,
21957 8,
21958 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZ_V),
21959 MVT::v16i8, 3, 2, 1, 0,
21960 8,
21961 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZ_V),
21962 MVT::v16i8, 3, 1, 2, 0,
21963 8,
21964 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_V),
21965 MVT::v16i8, 3, 0, 2, 1,
21966 0,
21967 9, MVT::v8i16,
21968 OPC_CheckPatternPredicate0,
21969 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_H_PSEUDO),
21970 MVT::v8i16, 3, 0, 2, 1,
21971 0,
21972 28,
21973 OPC_CheckChild0Type, MVT::v4i32,
21974 OPC_RecordChild1,
21975 OPC_RecordChild2,
21976 OPC_SwitchType , 9, MVT::v4i32,
21977 OPC_CheckPatternPredicate0,
21978 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_W_PSEUDO),
21979 MVT::v4i32, 3, 0, 2, 1,
21980 9, MVT::v4f32,
21981 OPC_CheckPatternPredicate0,
21982 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FW_PSEUDO),
21983 MVT::v4f32, 3, 0, 2, 1,
21984 0,
21985 28,
21986 OPC_CheckChild0Type, MVT::v2i64,
21987 OPC_RecordChild1,
21988 OPC_RecordChild2,
21989 OPC_SwitchType , 9, MVT::v2i64,
21990 OPC_CheckPatternPredicate0,
21991 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_D_PSEUDO),
21992 MVT::v2i64, 3, 0, 2, 1,
21993 9, MVT::v2f64,
21994 OPC_CheckPatternPredicate0,
21995 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FD_PSEUDO),
21996 MVT::v2f64, 3, 0, 2, 1,
21997 0,
21998 0,
21999 16|128,1, TARGET_VAL(ISD::SMAX),
22000 OPC_RecordChild0,
22001 OPC_RecordChild1,
22002 OPC_SwitchType , 33, MVT::v16i8,
22003 OPC_CheckPatternPredicate0,
22004 OPC_Scope, 10,
22005 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
22006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
22007 MVT::v16i8, 2, 0, 2,
22008 10,
22009 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
22010 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
22011 MVT::v16i8, 2, 1, 2,
22012 7,
22013 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_B),
22014 MVT::v16i8, 2, 0, 1,
22015 0,
22016 33, MVT::v8i16,
22017 OPC_CheckPatternPredicate0,
22018 OPC_Scope, 10,
22019 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
22020 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
22021 MVT::v8i16, 2, 0, 2,
22022 10,
22023 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
22024 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
22025 MVT::v8i16, 2, 1, 2,
22026 7,
22027 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_H),
22028 MVT::v8i16, 2, 0, 1,
22029 0,
22030 33, MVT::v4i32,
22031 OPC_CheckPatternPredicate0,
22032 OPC_Scope, 10,
22033 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
22034 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
22035 MVT::v4i32, 2, 0, 2,
22036 10,
22037 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
22038 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
22039 MVT::v4i32, 2, 1, 2,
22040 7,
22041 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_W),
22042 MVT::v4i32, 2, 0, 1,
22043 0,
22044 33, MVT::v2i64,
22045 OPC_CheckPatternPredicate0,
22046 OPC_Scope, 10,
22047 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
22048 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
22049 MVT::v2i64, 2, 0, 2,
22050 10,
22051 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
22052 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
22053 MVT::v2i64, 2, 1, 2,
22054 7,
22055 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_D),
22056 MVT::v2i64, 2, 0, 1,
22057 0,
22058 0,
22059 12|128,1, TARGET_VAL(ISD::UMAX),
22060 OPC_RecordChild0,
22061 OPC_RecordChild1,
22062 OPC_SwitchType , 31, MVT::v16i8,
22063 OPC_CheckPatternPredicate0,
22064 OPC_Scope, 9,
22065 OPC_CheckComplexPat7, /*#*/1,
22066 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
22067 MVT::v16i8, 2, 0, 2,
22068 9,
22069 OPC_CheckComplexPat7, /*#*/0,
22070 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
22071 MVT::v16i8, 2, 1, 2,
22072 7,
22073 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_B),
22074 MVT::v16i8, 2, 0, 1,
22075 0,
22076 33, MVT::v8i16,
22077 OPC_CheckPatternPredicate0,
22078 OPC_Scope, 10,
22079 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
22080 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
22081 MVT::v8i16, 2, 0, 2,
22082 10,
22083 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
22084 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
22085 MVT::v8i16, 2, 1, 2,
22086 7,
22087 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_H),
22088 MVT::v8i16, 2, 0, 1,
22089 0,
22090 31, MVT::v4i32,
22091 OPC_CheckPatternPredicate0,
22092 OPC_Scope, 9,
22093 OPC_CheckComplexPat4, /*#*/1,
22094 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
22095 MVT::v4i32, 2, 0, 2,
22096 9,
22097 OPC_CheckComplexPat4, /*#*/0,
22098 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
22099 MVT::v4i32, 2, 1, 2,
22100 7,
22101 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_W),
22102 MVT::v4i32, 2, 0, 1,
22103 0,
22104 33, MVT::v2i64,
22105 OPC_CheckPatternPredicate0,
22106 OPC_Scope, 10,
22107 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
22108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
22109 MVT::v2i64, 2, 0, 2,
22110 10,
22111 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
22112 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
22113 MVT::v2i64, 2, 1, 2,
22114 7,
22115 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_D),
22116 MVT::v2i64, 2, 0, 1,
22117 0,
22118 0,
22119 16|128,1, TARGET_VAL(ISD::SMIN),
22120 OPC_RecordChild0,
22121 OPC_RecordChild1,
22122 OPC_SwitchType , 33, MVT::v16i8,
22123 OPC_CheckPatternPredicate0,
22124 OPC_Scope, 10,
22125 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
22126 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
22127 MVT::v16i8, 2, 0, 2,
22128 10,
22129 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
22130 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
22131 MVT::v16i8, 2, 1, 2,
22132 7,
22133 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_B),
22134 MVT::v16i8, 2, 0, 1,
22135 0,
22136 33, MVT::v8i16,
22137 OPC_CheckPatternPredicate0,
22138 OPC_Scope, 10,
22139 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
22140 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
22141 MVT::v8i16, 2, 0, 2,
22142 10,
22143 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
22144 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
22145 MVT::v8i16, 2, 1, 2,
22146 7,
22147 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_H),
22148 MVT::v8i16, 2, 0, 1,
22149 0,
22150 33, MVT::v4i32,
22151 OPC_CheckPatternPredicate0,
22152 OPC_Scope, 10,
22153 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
22154 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
22155 MVT::v4i32, 2, 0, 2,
22156 10,
22157 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
22158 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
22159 MVT::v4i32, 2, 1, 2,
22160 7,
22161 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_W),
22162 MVT::v4i32, 2, 0, 1,
22163 0,
22164 33, MVT::v2i64,
22165 OPC_CheckPatternPredicate0,
22166 OPC_Scope, 10,
22167 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
22168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
22169 MVT::v2i64, 2, 0, 2,
22170 10,
22171 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
22172 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
22173 MVT::v2i64, 2, 1, 2,
22174 7,
22175 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_D),
22176 MVT::v2i64, 2, 0, 1,
22177 0,
22178 0,
22179 12|128,1, TARGET_VAL(ISD::UMIN),
22180 OPC_RecordChild0,
22181 OPC_RecordChild1,
22182 OPC_SwitchType , 31, MVT::v16i8,
22183 OPC_CheckPatternPredicate0,
22184 OPC_Scope, 9,
22185 OPC_CheckComplexPat7, /*#*/1,
22186 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
22187 MVT::v16i8, 2, 0, 2,
22188 9,
22189 OPC_CheckComplexPat7, /*#*/0,
22190 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
22191 MVT::v16i8, 2, 1, 2,
22192 7,
22193 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_B),
22194 MVT::v16i8, 2, 0, 1,
22195 0,
22196 33, MVT::v8i16,
22197 OPC_CheckPatternPredicate0,
22198 OPC_Scope, 10,
22199 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
22200 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
22201 MVT::v8i16, 2, 0, 2,
22202 10,
22203 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
22204 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
22205 MVT::v8i16, 2, 1, 2,
22206 7,
22207 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_H),
22208 MVT::v8i16, 2, 0, 1,
22209 0,
22210 31, MVT::v4i32,
22211 OPC_CheckPatternPredicate0,
22212 OPC_Scope, 9,
22213 OPC_CheckComplexPat4, /*#*/1,
22214 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
22215 MVT::v4i32, 2, 0, 2,
22216 9,
22217 OPC_CheckComplexPat4, /*#*/0,
22218 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
22219 MVT::v4i32, 2, 1, 2,
22220 7,
22221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_W),
22222 MVT::v4i32, 2, 0, 1,
22223 0,
22224 33, MVT::v2i64,
22225 OPC_CheckPatternPredicate0,
22226 OPC_Scope, 10,
22227 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
22228 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
22229 MVT::v2i64, 2, 0, 2,
22230 10,
22231 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
22232 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
22233 MVT::v2i64, 2, 1, 2,
22234 7,
22235 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_D),
22236 MVT::v2i64, 2, 0, 1,
22237 0,
22238 0,
22239 67, TARGET_VAL(MipsISD::VNOR),
22240 OPC_RecordChild0,
22241 OPC_RecordChild1,
22242 OPC_SwitchType , 31, MVT::v16i8,
22243 OPC_CheckPatternPredicate0,
22244 OPC_Scope, 9,
22245 OPC_CheckComplexPat5, /*#*/1,
22246 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
22247 MVT::v16i8, 2, 0, 2,
22248 9,
22249 OPC_CheckComplexPat5, /*#*/0,
22250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
22251 MVT::v16i8, 2, 1, 2,
22252 7,
22253 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V),
22254 MVT::v16i8, 2, 0, 1,
22255 0,
22256 8, MVT::v8i16,
22257 OPC_CheckPatternPredicate0,
22258 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_H_PSEUDO),
22259 MVT::v8i16, 2, 0, 1,
22260 8, MVT::v4i32,
22261 OPC_CheckPatternPredicate0,
22262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_W_PSEUDO),
22263 MVT::v4i32, 2, 0, 1,
22264 8, MVT::v2i64,
22265 OPC_CheckPatternPredicate0,
22266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_D_PSEUDO),
22267 MVT::v2i64, 2, 0, 1,
22268 0,
22269 39|128,2, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
22270 OPC_RecordChild0,
22271 OPC_RecordChild1,
22272 OPC_Scope, 5|128,1,
22273 OPC_CheckChild1TypeI32,
22274 OPC_RecordChild2,
22275 OPC_Scope, 54,
22276 OPC_MoveChild2,
22277 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22278 OPC_Scope, 15,
22279 OPC_CheckPredicate, 15,
22280 OPC_MoveParent,
22281 OPC_CheckType, MVT::v16i8,
22282 OPC_CheckPatternPredicate0,
22283 OPC_EmitConvertToTarget2,
22284 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B),
22285 MVT::v16i8, 3, 0, 1, 3,
22286 15,
22287 OPC_CheckPredicate, 18,
22288 OPC_MoveParent,
22289 OPC_CheckType, MVT::v8i16,
22290 OPC_CheckPatternPredicate0,
22291 OPC_EmitConvertToTarget2,
22292 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H),
22293 MVT::v8i16, 3, 0, 1, 3,
22294 15,
22295 OPC_CheckPredicate, 22,
22296 OPC_MoveParent,
22297 OPC_CheckType, MVT::v4i32,
22298 OPC_CheckPatternPredicate0,
22299 OPC_EmitConvertToTarget2,
22300 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W),
22301 MVT::v4i32, 3, 0, 1, 3,
22302 0,
22303 36,
22304 OPC_CheckChild2TypeI32,
22305 OPC_SwitchType , 9, MVT::v16i8,
22306 OPC_CheckPatternPredicate0,
22307 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX_PSEUDO),
22308 MVT::v16i8, 3, 0, 2, 1,
22309 9, MVT::v8i16,
22310 OPC_CheckPatternPredicate0,
22311 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX_PSEUDO),
22312 MVT::v8i16, 3, 0, 2, 1,
22313 9, MVT::v4i32,
22314 OPC_CheckPatternPredicate0,
22315 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX_PSEUDO),
22316 MVT::v4i32, 3, 0, 2, 1,
22317 0,
22318 36,
22319 OPC_CheckChild2TypeI64,
22320 OPC_SwitchType , 9, MVT::v16i8,
22321 OPC_CheckPatternPredicate0,
22322 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX64_PSEUDO),
22323 MVT::v16i8, 3, 0, 2, 1,
22324 9, MVT::v8i16,
22325 OPC_CheckPatternPredicate0,
22326 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX64_PSEUDO),
22327 MVT::v8i16, 3, 0, 2, 1,
22328 9, MVT::v4i32,
22329 OPC_CheckPatternPredicate0,
22330 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX64_PSEUDO),
22331 MVT::v4i32, 3, 0, 2, 1,
22332 0,
22333 0,
22334 51,
22335 OPC_CheckChild1TypeI64,
22336 OPC_RecordChild2,
22337 OPC_Scope, 20,
22338 OPC_MoveChild2,
22339 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22340 OPC_CheckPredicate, 26,
22341 OPC_MoveParent,
22342 OPC_CheckType, MVT::v2i64,
22343 OPC_CheckPatternPredicate, 42,
22344 OPC_EmitConvertToTarget2,
22345 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D),
22346 MVT::v2i64, 3, 0, 1, 3,
22347 12,
22348 OPC_CheckChild2TypeI32,
22349 OPC_CheckType, MVT::v2i64,
22350 OPC_CheckPatternPredicate0,
22351 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX_PSEUDO),
22352 MVT::v2i64, 3, 0, 2, 1,
22353 12,
22354 OPC_CheckChild2TypeI64,
22355 OPC_CheckType, MVT::v2i64,
22356 OPC_CheckPatternPredicate0,
22357 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX64_PSEUDO),
22358 MVT::v2i64, 3, 0, 2, 1,
22359 0,
22360 51,
22361 OPC_CheckChild1Type, MVT::f32,
22362 OPC_RecordChild2,
22363 OPC_Scope, 19,
22364 OPC_MoveChild2,
22365 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22366 OPC_CheckPredicate, 22,
22367 OPC_MoveParent,
22368 OPC_CheckType, MVT::v4f32,
22369 OPC_CheckPatternPredicate0,
22370 OPC_EmitConvertToTarget2,
22371 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_PSEUDO),
22372 MVT::v4f32, 3, 0, 3, 1,
22373 12,
22374 OPC_CheckChild2TypeI32,
22375 OPC_CheckType, MVT::v4f32,
22376 OPC_CheckPatternPredicate0,
22377 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX_PSEUDO),
22378 MVT::v4f32, 3, 0, 2, 1,
22379 12,
22380 OPC_CheckChild2TypeI64,
22381 OPC_CheckType, MVT::v4f32,
22382 OPC_CheckPatternPredicate0,
22383 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX64_PSEUDO),
22384 MVT::v4f32, 3, 0, 2, 1,
22385 0,
22386 51,
22387 OPC_CheckChild1Type, MVT::f64,
22388 OPC_RecordChild2,
22389 OPC_Scope, 19,
22390 OPC_MoveChild2,
22391 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22392 OPC_CheckPredicate, 26,
22393 OPC_MoveParent,
22394 OPC_CheckType, MVT::v2f64,
22395 OPC_CheckPatternPredicate0,
22396 OPC_EmitConvertToTarget2,
22397 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_PSEUDO),
22398 MVT::v2f64, 3, 0, 3, 1,
22399 12,
22400 OPC_CheckChild2TypeI32,
22401 OPC_CheckType, MVT::v2f64,
22402 OPC_CheckPatternPredicate0,
22403 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX_PSEUDO),
22404 MVT::v2f64, 3, 0, 2, 1,
22405 12,
22406 OPC_CheckChild2TypeI64,
22407 OPC_CheckType, MVT::v2f64,
22408 OPC_CheckPatternPredicate0,
22409 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX64_PSEUDO),
22410 MVT::v2f64, 3, 0, 2, 1,
22411 0,
22412 0,
22413 41, TARGET_VAL(MipsISD::SHF),
22414 OPC_RecordChild0,
22415 OPC_MoveChild0,
22416 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22417 OPC_CheckPredicate, 43,
22418 OPC_MoveParent,
22419 OPC_RecordChild1,
22420 OPC_SwitchType , 8, MVT::v16i8,
22421 OPC_CheckPatternPredicate0,
22422 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_B),
22423 MVT::v16i8, 2, 1, 0,
22424 8, MVT::v8i16,
22425 OPC_CheckPatternPredicate0,
22426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_H),
22427 MVT::v8i16, 2, 1, 0,
22428 8, MVT::v4i32,
22429 OPC_CheckPatternPredicate0,
22430 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_W),
22431 MVT::v4i32, 2, 1, 0,
22432 0,
22433 31, TARGET_VAL(MipsISD::SHLL_DSP),
22434 OPC_RecordChild0,
22435 OPC_RecordChild1,
22436 OPC_MoveChild1,
22437 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22438 OPC_MoveParent,
22439 OPC_SwitchType , 9, MVT::v2i16,
22440 OPC_CheckPatternPredicate1,
22441 OPC_EmitConvertToTarget1,
22442 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_PH),
22443 MVT::v2i16, 2, 0, 2,
22444 9, MVT::v4i8,
22445 OPC_CheckPatternPredicate1,
22446 OPC_EmitConvertToTarget1,
22447 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_QB),
22448 MVT::v4i8, 2, 0, 2,
22449 0,
22450 32, TARGET_VAL(MipsISD::SHRA_DSP),
22451 OPC_RecordChild0,
22452 OPC_RecordChild1,
22453 OPC_MoveChild1,
22454 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22455 OPC_MoveParent,
22456 OPC_SwitchType , 9, MVT::v2i16,
22457 OPC_CheckPatternPredicate1,
22458 OPC_EmitConvertToTarget1,
22459 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
22460 MVT::v2i16, 2, 0, 2,
22461 10, MVT::v4i8,
22462 OPC_CheckPatternPredicate, 13,
22463 OPC_EmitConvertToTarget1,
22464 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
22465 MVT::v4i8, 2, 0, 2,
22466 0,
22467 32, TARGET_VAL(MipsISD::SHRL_DSP),
22468 OPC_RecordChild0,
22469 OPC_RecordChild1,
22470 OPC_MoveChild1,
22471 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22472 OPC_MoveParent,
22473 OPC_SwitchType , 10, MVT::v2i16,
22474 OPC_CheckPatternPredicate, 13,
22475 OPC_EmitConvertToTarget1,
22476 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
22477 MVT::v2i16, 2, 0, 2,
22478 9, MVT::v4i8,
22479 OPC_CheckPatternPredicate1,
22480 OPC_EmitConvertToTarget1,
22481 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
22482 MVT::v4i8, 2, 0, 2,
22483 0,
22484 10|128,1, TARGET_VAL(ISD::BUILD_VECTOR),
22485 OPC_RecordChild0,
22486 OPC_Scope, 88,
22487 OPC_CheckChild0TypeI32,
22488 OPC_CheckChild1Same, 0,
22489 OPC_CheckChild2Same, 0,
22490 OPC_CheckChild3Same, 0,
22491 OPC_Scope, 68,
22492 OPC_MoveChild4,
22493 OPC_CheckSame, 0,
22494 OPC_MoveSibling5,
22495 OPC_CheckSame, 0,
22496 OPC_MoveSibling6,
22497 OPC_CheckSame, 0,
22498 OPC_MoveSibling7,
22499 OPC_CheckSame, 0,
22500 OPC_Scope, 42,
22501 OPC_MoveSibling, 8,
22502 OPC_CheckSame, 0,
22503 OPC_MoveSibling, 9,
22504 OPC_CheckSame, 0,
22505 OPC_MoveSibling, 10,
22506 OPC_CheckSame, 0,
22507 OPC_MoveSibling, 11,
22508 OPC_CheckSame, 0,
22509 OPC_MoveSibling, 12,
22510 OPC_CheckSame, 0,
22511 OPC_MoveSibling, 13,
22512 OPC_CheckSame, 0,
22513 OPC_MoveSibling, 14,
22514 OPC_CheckSame, 0,
22515 OPC_MoveSibling, 15,
22516 OPC_CheckSame, 0,
22517 OPC_MoveParent,
22518 OPC_CheckType, MVT::v16i8,
22519 OPC_CheckPatternPredicate0,
22520 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_B),
22521 MVT::v16i8, 1, 0,
22522 10,
22523 OPC_MoveParent,
22524 OPC_CheckType, MVT::v8i16,
22525 OPC_CheckPatternPredicate0,
22526 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_H),
22527 MVT::v8i16, 1, 0,
22528 0,
22529 9,
22530 OPC_CheckType, MVT::v4i32,
22531 OPC_CheckPatternPredicate0,
22532 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_W),
22533 MVT::v4i32, 1, 0,
22534 0,
22535 13,
22536 OPC_CheckChild0TypeI64,
22537 OPC_CheckChild1Same, 0,
22538 OPC_CheckType, MVT::v2i64,
22539 OPC_CheckPatternPredicate, 42,
22540 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_D),
22541 MVT::v2i64, 1, 0,
22542 17,
22543 OPC_CheckChild0Type, MVT::f32,
22544 OPC_CheckChild1Same, 0,
22545 OPC_CheckChild2Same, 0,
22546 OPC_CheckChild3Same, 0,
22547 OPC_CheckType, MVT::v4f32,
22548 OPC_CheckPatternPredicate0,
22549 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FW_PSEUDO),
22550 MVT::v4f32, 1, 0,
22551 13,
22552 OPC_CheckChild0Type, MVT::f64,
22553 OPC_CheckChild1Same, 0,
22554 OPC_CheckType, MVT::v2f64,
22555 OPC_CheckPatternPredicate0,
22556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FD_PSEUDO),
22557 MVT::v2f64, 1, 0,
22558 0,
22559 21, TARGET_VAL(ISD::FP_TO_SINT),
22560 OPC_RecordChild0,
22561 OPC_SwitchType , 7, MVT::v4i32,
22562 OPC_CheckPatternPredicate0,
22563 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_W),
22564 MVT::v4i32, 1, 0,
22565 7, MVT::v2i64,
22566 OPC_CheckPatternPredicate0,
22567 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_D),
22568 MVT::v2i64, 1, 0,
22569 0,
22570 21, TARGET_VAL(ISD::FP_TO_UINT),
22571 OPC_RecordChild0,
22572 OPC_SwitchType , 7, MVT::v4i32,
22573 OPC_CheckPatternPredicate0,
22574 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_W),
22575 MVT::v4i32, 1, 0,
22576 7, MVT::v2i64,
22577 OPC_CheckPatternPredicate0,
22578 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_D),
22579 MVT::v2i64, 1, 0,
22580 0,
22581 44, TARGET_VAL(MipsISD::ILVEV),
22582 OPC_RecordChild0,
22583 OPC_RecordChild1,
22584 OPC_SwitchType , 8, MVT::v16i8,
22585 OPC_CheckPatternPredicate0,
22586 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_B),
22587 MVT::v16i8, 2, 0, 1,
22588 8, MVT::v8i16,
22589 OPC_CheckPatternPredicate0,
22590 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_H),
22591 MVT::v8i16, 2, 0, 1,
22592 8, MVT::v4i32,
22593 OPC_CheckPatternPredicate0,
22594 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_W),
22595 MVT::v4i32, 2, 0, 1,
22596 8, MVT::v2i64,
22597 OPC_CheckPatternPredicate0,
22598 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_D),
22599 MVT::v2i64, 2, 0, 1,
22600 0,
22601 44, TARGET_VAL(MipsISD::ILVL),
22602 OPC_RecordChild0,
22603 OPC_RecordChild1,
22604 OPC_SwitchType , 8, MVT::v16i8,
22605 OPC_CheckPatternPredicate0,
22606 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_B),
22607 MVT::v16i8, 2, 0, 1,
22608 8, MVT::v8i16,
22609 OPC_CheckPatternPredicate0,
22610 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_H),
22611 MVT::v8i16, 2, 0, 1,
22612 8, MVT::v4i32,
22613 OPC_CheckPatternPredicate0,
22614 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_W),
22615 MVT::v4i32, 2, 0, 1,
22616 8, MVT::v2i64,
22617 OPC_CheckPatternPredicate0,
22618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_D),
22619 MVT::v2i64, 2, 0, 1,
22620 0,
22621 44, TARGET_VAL(MipsISD::ILVOD),
22622 OPC_RecordChild0,
22623 OPC_RecordChild1,
22624 OPC_SwitchType , 8, MVT::v16i8,
22625 OPC_CheckPatternPredicate0,
22626 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_B),
22627 MVT::v16i8, 2, 0, 1,
22628 8, MVT::v8i16,
22629 OPC_CheckPatternPredicate0,
22630 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_H),
22631 MVT::v8i16, 2, 0, 1,
22632 8, MVT::v4i32,
22633 OPC_CheckPatternPredicate0,
22634 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_W),
22635 MVT::v4i32, 2, 0, 1,
22636 8, MVT::v2i64,
22637 OPC_CheckPatternPredicate0,
22638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_D),
22639 MVT::v2i64, 2, 0, 1,
22640 0,
22641 44, TARGET_VAL(MipsISD::ILVR),
22642 OPC_RecordChild0,
22643 OPC_RecordChild1,
22644 OPC_SwitchType , 8, MVT::v16i8,
22645 OPC_CheckPatternPredicate0,
22646 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_B),
22647 MVT::v16i8, 2, 0, 1,
22648 8, MVT::v8i16,
22649 OPC_CheckPatternPredicate0,
22650 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_H),
22651 MVT::v8i16, 2, 0, 1,
22652 8, MVT::v4i32,
22653 OPC_CheckPatternPredicate0,
22654 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_W),
22655 MVT::v4i32, 2, 0, 1,
22656 8, MVT::v2i64,
22657 OPC_CheckPatternPredicate0,
22658 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_D),
22659 MVT::v2i64, 2, 0, 1,
22660 0,
22661 44, TARGET_VAL(MipsISD::PCKEV),
22662 OPC_RecordChild0,
22663 OPC_RecordChild1,
22664 OPC_SwitchType , 8, MVT::v16i8,
22665 OPC_CheckPatternPredicate0,
22666 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_B),
22667 MVT::v16i8, 2, 0, 1,
22668 8, MVT::v8i16,
22669 OPC_CheckPatternPredicate0,
22670 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_H),
22671 MVT::v8i16, 2, 0, 1,
22672 8, MVT::v4i32,
22673 OPC_CheckPatternPredicate0,
22674 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_W),
22675 MVT::v4i32, 2, 0, 1,
22676 8, MVT::v2i64,
22677 OPC_CheckPatternPredicate0,
22678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_D),
22679 MVT::v2i64, 2, 0, 1,
22680 0,
22681 44, TARGET_VAL(MipsISD::PCKOD),
22682 OPC_RecordChild0,
22683 OPC_RecordChild1,
22684 OPC_SwitchType , 8, MVT::v16i8,
22685 OPC_CheckPatternPredicate0,
22686 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_B),
22687 MVT::v16i8, 2, 0, 1,
22688 8, MVT::v8i16,
22689 OPC_CheckPatternPredicate0,
22690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_H),
22691 MVT::v8i16, 2, 0, 1,
22692 8, MVT::v4i32,
22693 OPC_CheckPatternPredicate0,
22694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_W),
22695 MVT::v4i32, 2, 0, 1,
22696 8, MVT::v2i64,
22697 OPC_CheckPatternPredicate0,
22698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_D),
22699 MVT::v2i64, 2, 0, 1,
22700 0,
22701 31|128,2, TARGET_VAL(MipsISD::SELECT_CC_DSP),
22702 OPC_RecordChild0,
22703 OPC_Scope, 12|128,1,
22704 OPC_CheckChild0Type, MVT::v2i16,
22705 OPC_RecordChild1,
22706 OPC_RecordChild2,
22707 OPC_RecordChild3,
22708 OPC_MoveChild4,
22709 OPC_Scope, 21,
22710 OPC_CheckCondCode, ISD::SETEQ,
22711 OPC_MoveParent,
22712 OPC_CheckType, MVT::v2i16,
22713 OPC_CheckPatternPredicate1,
22714 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
22715 MVT::v2i16, 2, 0, 1,
22716 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22717 MVT::v2i16, 3, 4, 2, 3,
22718 21,
22719 OPC_CheckCondCode, ISD::SETLT,
22720 OPC_MoveParent,
22721 OPC_CheckType, MVT::v2i16,
22722 OPC_CheckPatternPredicate1,
22723 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
22724 MVT::v2i16, 2, 0, 1,
22725 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22726 MVT::v2i16, 3, 4, 2, 3,
22727 21,
22728 OPC_CheckCondCode, ISD::SETLE,
22729 OPC_MoveParent,
22730 OPC_CheckType, MVT::v2i16,
22731 OPC_CheckPatternPredicate1,
22732 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
22733 MVT::v2i16, 2, 0, 1,
22734 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22735 MVT::v2i16, 3, 4, 2, 3,
22736 21,
22737 OPC_CheckCondCode, ISD::SETNE,
22738 OPC_MoveParent,
22739 OPC_CheckType, MVT::v2i16,
22740 OPC_CheckPatternPredicate1,
22741 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
22742 MVT::v2i16, 2, 0, 1,
22743 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22744 MVT::v2i16, 3, 4, 3, 2,
22745 21,
22746 OPC_CheckCondCode, ISD::SETGE,
22747 OPC_MoveParent,
22748 OPC_CheckType, MVT::v2i16,
22749 OPC_CheckPatternPredicate1,
22750 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
22751 MVT::v2i16, 2, 0, 1,
22752 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22753 MVT::v2i16, 3, 4, 3, 2,
22754 21,
22755 OPC_CheckCondCode, ISD::SETGT,
22756 OPC_MoveParent,
22757 OPC_CheckType, MVT::v2i16,
22758 OPC_CheckPatternPredicate1,
22759 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
22760 MVT::v2i16, 2, 0, 1,
22761 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22762 MVT::v2i16, 3, 4, 3, 2,
22763 0,
22764 12|128,1,
22765 OPC_CheckChild0Type, MVT::v4i8,
22766 OPC_RecordChild1,
22767 OPC_RecordChild2,
22768 OPC_RecordChild3,
22769 OPC_MoveChild4,
22770 OPC_Scope, 21,
22771 OPC_CheckCondCode, ISD::SETEQ,
22772 OPC_MoveParent,
22773 OPC_CheckType, MVT::v4i8,
22774 OPC_CheckPatternPredicate1,
22775 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
22776 MVT::v4i8, 2, 0, 1,
22777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22778 MVT::v4i8, 3, 4, 2, 3,
22779 21,
22780 OPC_CheckCondCode, ISD::SETULT,
22781 OPC_MoveParent,
22782 OPC_CheckType, MVT::v4i8,
22783 OPC_CheckPatternPredicate1,
22784 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
22785 MVT::v4i8, 2, 0, 1,
22786 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22787 MVT::v4i8, 3, 4, 2, 3,
22788 21,
22789 OPC_CheckCondCode, ISD::SETULE,
22790 OPC_MoveParent,
22791 OPC_CheckType, MVT::v4i8,
22792 OPC_CheckPatternPredicate1,
22793 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
22794 MVT::v4i8, 2, 0, 1,
22795 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22796 MVT::v4i8, 3, 4, 2, 3,
22797 21,
22798 OPC_CheckCondCode, ISD::SETNE,
22799 OPC_MoveParent,
22800 OPC_CheckType, MVT::v4i8,
22801 OPC_CheckPatternPredicate1,
22802 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
22803 MVT::v4i8, 2, 0, 1,
22804 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22805 MVT::v4i8, 3, 4, 3, 2,
22806 21,
22807 OPC_CheckCondCode, ISD::SETUGE,
22808 OPC_MoveParent,
22809 OPC_CheckType, MVT::v4i8,
22810 OPC_CheckPatternPredicate1,
22811 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
22812 MVT::v4i8, 2, 0, 1,
22813 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22814 MVT::v4i8, 3, 4, 3, 2,
22815 21,
22816 OPC_CheckCondCode, ISD::SETUGT,
22817 OPC_MoveParent,
22818 OPC_CheckType, MVT::v4i8,
22819 OPC_CheckPatternPredicate1,
22820 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
22821 MVT::v4i8, 2, 0, 1,
22822 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22823 MVT::v4i8, 3, 4, 3, 2,
22824 0,
22825 0,
22826 11|128,4, TARGET_VAL(MipsISD::SETCC_DSP),
22827 OPC_RecordChild0,
22828 OPC_SwitchType , 1|128,2, MVT::v2i16,
22829 OPC_CheckChild0Type, MVT::v2i16,
22830 OPC_RecordChild1,
22831 OPC_Scope, 41,
22832 OPC_CheckChild2CondCode, ISD::SETEQ,
22833 OPC_CheckPatternPredicate1,
22834 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
22835 MVT::v2i16, 2, 0, 1,
22836 OPC_EmitRegisterI32, Mips::ZERO,
22837 OPC_EmitInteger32, 3,
22838 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22839 MVT::i32, 2, 3, 4,
22840 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22841 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22842 MVT::v2i16, 2, 5, 6,
22843 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22844 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22845 MVT::v2i16, 3, 2, 7, 8,
22846 41,
22847 OPC_CheckChild2CondCode, ISD::SETLT,
22848 OPC_CheckPatternPredicate1,
22849 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
22850 MVT::v2i16, 2, 0, 1,
22851 OPC_EmitRegisterI32, Mips::ZERO,
22852 OPC_EmitInteger32, 3,
22853 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22854 MVT::i32, 2, 3, 4,
22855 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22856 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22857 MVT::v2i16, 2, 5, 6,
22858 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22860 MVT::v2i16, 3, 2, 7, 8,
22861 41,
22862 OPC_CheckChild2CondCode, ISD::SETLE,
22863 OPC_CheckPatternPredicate1,
22864 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
22865 MVT::v2i16, 2, 0, 1,
22866 OPC_EmitRegisterI32, Mips::ZERO,
22867 OPC_EmitInteger32, 3,
22868 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22869 MVT::i32, 2, 3, 4,
22870 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22871 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22872 MVT::v2i16, 2, 5, 6,
22873 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22874 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22875 MVT::v2i16, 3, 2, 7, 8,
22876 41,
22877 OPC_CheckChild2CondCode, ISD::SETNE,
22878 OPC_CheckPatternPredicate1,
22879 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
22880 MVT::v2i16, 2, 0, 1,
22881 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22882 OPC_EmitRegisterI32, Mips::ZERO,
22883 OPC_EmitInteger32, 3,
22884 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22885 MVT::i32, 2, 4, 5,
22886 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22887 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22888 MVT::v2i16, 2, 6, 7,
22889 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22890 MVT::v2i16, 3, 2, 3, 8,
22891 41,
22892 OPC_CheckChild2CondCode, ISD::SETGE,
22893 OPC_CheckPatternPredicate1,
22894 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
22895 MVT::v2i16, 2, 0, 1,
22896 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22897 OPC_EmitRegisterI32, Mips::ZERO,
22898 OPC_EmitInteger32, 3,
22899 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22900 MVT::i32, 2, 4, 5,
22901 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22902 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22903 MVT::v2i16, 2, 6, 7,
22904 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22905 MVT::v2i16, 3, 2, 3, 8,
22906 41,
22907 OPC_CheckChild2CondCode, ISD::SETGT,
22908 OPC_CheckPatternPredicate1,
22909 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
22910 MVT::v2i16, 2, 0, 1,
22911 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22912 OPC_EmitRegisterI32, Mips::ZERO,
22913 OPC_EmitInteger32, 3,
22914 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22915 MVT::i32, 2, 4, 5,
22916 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22917 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22918 MVT::v2i16, 2, 6, 7,
22919 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22920 MVT::v2i16, 3, 2, 3, 8,
22921 0,
22922 1|128,2, MVT::v4i8,
22923 OPC_CheckChild0Type, MVT::v4i8,
22924 OPC_RecordChild1,
22925 OPC_Scope, 41,
22926 OPC_CheckChild2CondCode, ISD::SETEQ,
22927 OPC_CheckPatternPredicate1,
22928 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
22929 MVT::v4i8, 2, 0, 1,
22930 OPC_EmitRegisterI32, Mips::ZERO,
22931 OPC_EmitInteger32, 3,
22932 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22933 MVT::i32, 2, 3, 4,
22934 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22935 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22936 MVT::v4i8, 2, 5, 6,
22937 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22938 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22939 MVT::v4i8, 3, 2, 7, 8,
22940 41,
22941 OPC_CheckChild2CondCode, ISD::SETULT,
22942 OPC_CheckPatternPredicate1,
22943 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
22944 MVT::v4i8, 2, 0, 1,
22945 OPC_EmitRegisterI32, Mips::ZERO,
22946 OPC_EmitInteger32, 3,
22947 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22948 MVT::i32, 2, 3, 4,
22949 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22950 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22951 MVT::v4i8, 2, 5, 6,
22952 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22953 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22954 MVT::v4i8, 3, 2, 7, 8,
22955 41,
22956 OPC_CheckChild2CondCode, ISD::SETULE,
22957 OPC_CheckPatternPredicate1,
22958 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
22959 MVT::v4i8, 2, 0, 1,
22960 OPC_EmitRegisterI32, Mips::ZERO,
22961 OPC_EmitInteger32, 3,
22962 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22963 MVT::i32, 2, 3, 4,
22964 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22965 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22966 MVT::v4i8, 2, 5, 6,
22967 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22968 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22969 MVT::v4i8, 3, 2, 7, 8,
22970 41,
22971 OPC_CheckChild2CondCode, ISD::SETNE,
22972 OPC_CheckPatternPredicate1,
22973 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
22974 MVT::v4i8, 2, 0, 1,
22975 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22976 OPC_EmitRegisterI32, Mips::ZERO,
22977 OPC_EmitInteger32, 3,
22978 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22979 MVT::i32, 2, 4, 5,
22980 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22981 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22982 MVT::v4i8, 2, 6, 7,
22983 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22984 MVT::v4i8, 3, 2, 3, 8,
22985 41,
22986 OPC_CheckChild2CondCode, ISD::SETUGE,
22987 OPC_CheckPatternPredicate1,
22988 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
22989 MVT::v4i8, 2, 0, 1,
22990 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22991 OPC_EmitRegisterI32, Mips::ZERO,
22992 OPC_EmitInteger32, 3,
22993 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22994 MVT::i32, 2, 4, 5,
22995 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22996 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22997 MVT::v4i8, 2, 6, 7,
22998 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22999 MVT::v4i8, 3, 2, 3, 8,
23000 41,
23001 OPC_CheckChild2CondCode, ISD::SETUGT,
23002 OPC_CheckPatternPredicate1,
23003 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
23004 MVT::v4i8, 2, 0, 1,
23005 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
23006 OPC_EmitRegisterI32, Mips::ZERO,
23007 OPC_EmitInteger32, 3,
23008 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
23009 MVT::i32, 2, 4, 5,
23010 OPC_EmitStringInteger32, Mips::DSPRRegClassID,
23011 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23012 MVT::v4i8, 2, 6, 7,
23013 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
23014 MVT::v4i8, 3, 2, 3, 8,
23015 0,
23016 0,
23017 25, TARGET_VAL(ISD::UINT_TO_FP),
23018 OPC_RecordChild0,
23019 OPC_SwitchType , 9, MVT::v4f32,
23020 OPC_CheckChild0Type, MVT::v4i32,
23021 OPC_CheckPatternPredicate0,
23022 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_W),
23023 MVT::v4f32, 1, 0,
23024 9, MVT::v2f64,
23025 OPC_CheckChild0Type, MVT::v2i64,
23026 OPC_CheckPatternPredicate0,
23027 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_D),
23028 MVT::v2f64, 1, 0,
23029 0,
23030 21, TARGET_VAL(ISD::FLOG2),
23031 OPC_RecordChild0,
23032 OPC_SwitchType , 7, MVT::v4f32,
23033 OPC_CheckPatternPredicate0,
23034 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_W),
23035 MVT::v4f32, 1, 0,
23036 7, MVT::v2f64,
23037 OPC_CheckPatternPredicate0,
23038 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_D),
23039 MVT::v2f64, 1, 0,
23040 0,
23041 27, TARGET_VAL(ISD::FMA),
23042 OPC_RecordChild0,
23043 OPC_RecordChild1,
23044 OPC_RecordChild2,
23045 OPC_SwitchType , 9, MVT::v4f32,
23046 OPC_CheckPatternPredicate0,
23047 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
23048 MVT::v4f32, 3, 0, 1, 2,
23049 9, MVT::v2f64,
23050 OPC_CheckPatternPredicate0,
23051 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
23052 MVT::v2f64, 3, 0, 1, 2,
23053 0,
23054 27, TARGET_VAL(MipsISD::FMS),
23055 OPC_RecordChild0,
23056 OPC_RecordChild1,
23057 OPC_RecordChild2,
23058 OPC_SwitchType , 9, MVT::v4f32,
23059 OPC_CheckPatternPredicate0,
23060 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
23061 MVT::v4f32, 3, 0, 1, 2,
23062 9, MVT::v2f64,
23063 OPC_CheckPatternPredicate0,
23064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
23065 MVT::v2f64, 3, 0, 1, 2,
23066 0,
23067 21, TARGET_VAL(ISD::FRINT),
23068 OPC_RecordChild0,
23069 OPC_SwitchType , 7, MVT::v4f32,
23070 OPC_CheckPatternPredicate0,
23071 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_W),
23072 MVT::v4f32, 1, 0,
23073 7, MVT::v2f64,
23074 OPC_CheckPatternPredicate0,
23075 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_D),
23076 MVT::v2f64, 1, 0,
23077 0,
23078 21, TARGET_VAL(ISD::FEXP2),
23079 OPC_RecordChild0,
23080 OPC_SwitchType , 7, MVT::v4f32,
23081 OPC_CheckPatternPredicate0,
23082 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W_1_PSEUDO),
23083 MVT::v4f32, 1, 0,
23084 7, MVT::v2f64,
23085 OPC_CheckPatternPredicate0,
23086 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D_1_PSEUDO),
23087 MVT::v2f64, 1, 0,
23088 0,
23089 0,
23090 0
23091 }; // Total Array size is 47280 bytes
23092
23093 #undef TARGET_VAL
23094 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
23095}
23096#endif // GET_DAGISEL_BODY
23097
23098#ifdef GET_DAGISEL_DECL
23099bool CheckPatternPredicate(unsigned PredNo) const override;
23100#endif
23101#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23102bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
23103#if DAGISEL_INLINE
23104 override
23105#endif
23106{
23107 switch (PredNo) {
23108 default: llvm_unreachable("Invalid predicate in table?");
23109 case 0: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
23110 case 1: return (Subtarget->hasDSP());
23111 case 2: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23112 case 3: return (Subtarget->hasMSA());
23113 case 4: return (Subtarget->inMicroMipsMode());
23114 case 5: return (Subtarget->inMips16Mode());
23115 case 6: return (Subtarget->hasDSP()) && (Subtarget->inMicroMipsMode());
23116 case 7: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode());
23117 case 8: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
23118 case 9: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23119 case 10: return (!Subtarget->inMips16Mode());
23120 case 11: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
23121 case 12: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
23122 case 13: return (Subtarget->hasDSPR2());
23123 case 14: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23124 case 15: return (Subtarget->hasDSPR2()) && (Subtarget->inMicroMipsMode());
23125 case 16: return (Subtarget->hasMSA()) && (!Subtarget->isLittle());
23126 case 17: return (Subtarget->hasMSA()) && (Subtarget->isLittle());
23127 case 18: return (Subtarget->isGP64bit()) && (!Subtarget->inMips16Mode());
23128 case 19: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding());
23129 case 20: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23130 case 21: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23131 case 22: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
23132 case 23: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23133 case 24: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
23134 case 25: return (Subtarget->hasCnMips());
23135 case 26: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23136 case 27: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
23137 case 28: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23138 case 29: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
23139 case 30: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23140 case 31: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6());
23141 case 32: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
23142 case 33: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit());
23143 case 34: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
23144 case 35: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips4_32());
23145 case 36: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23146 case 37: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6());
23147 case 38: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23148 case 39: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23149 case 40: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
23150 case 41: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23151 case 42: return (Subtarget->hasMSA()) && (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding());
23152 case 43: return (TM.Options.AllowFPOpFusion == FPOpFusion::Fast) && (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
23153 case 44: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
23154 case 45: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23155 case 46: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23156 case 47: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23157 case 48: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23158 case 49: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23159 case 50: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23160 case 51: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit());
23161 case 52: return (Subtarget->hasEVA()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
23162 case 53: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23163 case 54: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64());
23164 case 55: return (Subtarget->hasMSA()) && (Subtarget->isGP64bit());
23165 case 56: return (Subtarget->hasStandardEncoding());
23166 case 57: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23167 case 58: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23168 case 59: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23169 case 60: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23170 case 61: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23171 case 62: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
23172 case 63: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
23173 case 64: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (!Subtarget->inMicroMipsMode());
23174 case 65: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23175 case 66: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23176 case 67: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23177 case 68: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23178 case 69: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23179 case 70: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23180 case 71: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23181 case 72: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23182 case 73: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->hasMips32r6());
23183 case 74: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23184 case 75: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23185 case 76: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
23186 case 77: return (Subtarget->isFP64bit());
23187 case 78: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
23188 case 79: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
23189 case 80: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isTargetNaCl()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23190 case 81: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23191 case 82: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isTargetNaCl()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23192 case 83: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23193 case 84: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23194 case 85: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode());
23195 case 86: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
23196 case 87: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding());
23197 case 88: return (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips64r6());
23198 case 89: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP());
23199 case 90: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
23200 case 91: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23201 case 92: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
23202 case 93: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
23203 case 94: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
23204 case 95: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
23205 case 96: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
23206 case 97: return (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMips16Mode());
23207 case 98: return (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMips16Mode());
23208 case 99: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
23209 case 100: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23210 case 101: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23211 case 102: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23212 case 103: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23213 case 104: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
23214 case 105: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23215 case 106: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (Subtarget->isGP64bit());
23216 case 107: return (Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
23217 case 108: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
23218 case 109: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
23219 case 110: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23220 case 111: return (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
23221 case 112: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23222 case 113: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding());
23223 case 114: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode());
23224 case 115: return (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
23225 case 116: return (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMips16Mode());
23226 case 117: return (Subtarget->isABI_N64()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
23227 case 118: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
23228 case 119: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23229 case 120: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23230 case 121: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23231 case 122: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23232 case 123: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
23233 case 124: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23234 case 125: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23235 case 126: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!TM.isPositionIndependent());
23236 case 127: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!TM.isPositionIndependent());
23237 case 128: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (TM.isPositionIndependent());
23238 case 129: return (Subtarget->hasDSP()) && (!Subtarget->inMips16Mode());
23239 case 130: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
23240 case 131: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat());
23241 case 132: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
23242 case 133: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
23243 case 134: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
23244 case 135: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
23245 case 136: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23246 case 137: return (!Subtarget->isFP64bit());
23247 case 138: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23248 case 139: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
23249 case 140: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
23250 }
23251}
23252#endif // GET_DAGISEL_BODY
23253
23254#ifdef GET_DAGISEL_DECL
23255bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
23256#endif
23257#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23258bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
23259#if DAGISEL_INLINE
23260 override
23261#endif
23262{
23263 switch (PredNo) {
23264 default: llvm_unreachable("Invalid predicate in table?");
23265 case 0: {
23266 // Predicate_immi32Cst7
23267 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23268return isUInt<32>(x: Imm) && Imm == 7;
23269 }
23270 case 1: {
23271 // Predicate_immi32Cst15
23272 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23273return isUInt<32>(x: Imm) && Imm == 15;
23274 }
23275 case 2: {
23276 // Predicate_immi32Cst31
23277 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23278return isUInt<32>(x: Imm) && Imm == 31;
23279 }
23280 case 3: {
23281 // Predicate_immZExt5
23282 // Predicate_timmZExt5
23283 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23284return Imm == (Imm & 0x1f);
23285 }
23286 case 4: {
23287 // Predicate_atomic_cmp_swap_i16
23288 // Predicate_atomic_load_16
23289 // Predicate_atomic_load_add_i16
23290 // Predicate_atomic_load_and_i16
23291 // Predicate_atomic_load_max_i16
23292 // Predicate_atomic_load_min_i16
23293 // Predicate_atomic_load_nand_i16
23294 // Predicate_atomic_load_or_i16
23295 // Predicate_atomic_load_sub_i16
23296 // Predicate_atomic_load_umax_i16
23297 // Predicate_atomic_load_umin_i16
23298 // Predicate_atomic_load_xor_i16
23299 // Predicate_atomic_store_16
23300 // Predicate_atomic_swap_i16
23301 // Predicate_extloadi16
23302 // Predicate_sextloadi16
23303 // Predicate_zextloadi16
23304 SDNode *N = Node;
23305 (void)N;
23306if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
23307return true;
23308
23309 }
23310 case 5: {
23311 // Predicate_atomic_cmp_swap_i8
23312 // Predicate_atomic_load_8
23313 // Predicate_atomic_load_add_i8
23314 // Predicate_atomic_load_and_i8
23315 // Predicate_atomic_load_max_i8
23316 // Predicate_atomic_load_min_i8
23317 // Predicate_atomic_load_nand_i8
23318 // Predicate_atomic_load_or_i8
23319 // Predicate_atomic_load_sub_i8
23320 // Predicate_atomic_load_umax_i8
23321 // Predicate_atomic_load_umin_i8
23322 // Predicate_atomic_load_xor_i8
23323 // Predicate_atomic_store_8
23324 // Predicate_atomic_swap_i8
23325 // Predicate_extloadi8
23326 // Predicate_sextloadi8
23327 // Predicate_zextloadi8
23328 SDNode *N = Node;
23329 (void)N;
23330if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
23331return true;
23332
23333 }
23334 case 6: {
23335 // Predicate_immz
23336 auto *N = cast<ConstantSDNode>(Val: Node);
23337 (void)N;
23338 return N->getSExtValue() == 0;
23339 }
23340 case 7: {
23341 // Predicate_immSExt16
23342 auto *N = cast<ConstantSDNode>(Val: Node);
23343 (void)N;
23344 return isInt<16>(x: N->getSExtValue());
23345 }
23346 case 8: {
23347 // Predicate_vsplat_imm_eq_1
23348 SDNode *N = Node;
23349 (void)N;
23350
23351 APInt Imm;
23352 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
23353
23354 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
23355 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
23356
23357 }
23358 case 9: {
23359 // Predicate_store
23360 SDNode *N = Node;
23361 (void)N;
23362 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
23363return true;
23364
23365 }
23366 case 10: {
23367 // Predicate_atomic_cmp_swap_i32
23368 // Predicate_atomic_load_32
23369 // Predicate_atomic_load_add_i32
23370 // Predicate_atomic_load_and_i32
23371 // Predicate_atomic_load_max_i32
23372 // Predicate_atomic_load_min_i32
23373 // Predicate_atomic_load_nand_i32
23374 // Predicate_atomic_load_or_i32
23375 // Predicate_atomic_load_sub_i32
23376 // Predicate_atomic_load_umax_i32
23377 // Predicate_atomic_load_umin_i32
23378 // Predicate_atomic_load_xor_i32
23379 // Predicate_atomic_store_32
23380 // Predicate_atomic_swap_i32
23381 // Predicate_extloadi32
23382 // Predicate_sextloadi32
23383 // Predicate_zextloadi32
23384 SDNode *N = Node;
23385 (void)N;
23386if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
23387return true;
23388
23389 }
23390 case 11: {
23391 // Predicate_immSExt16Plus1
23392 auto *N = cast<ConstantSDNode>(Val: Node);
23393 (void)N;
23394
23395 return isInt<17>(x: N->getSExtValue()) && isInt<16>(x: N->getSExtValue() + 1);
23396
23397 }
23398 case 12: {
23399 // Predicate_unindexedstore
23400 SDNode *N = Node;
23401 (void)N;
23402if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
23403return true;
23404
23405 }
23406 case 13: {
23407 // Predicate_immZExt16
23408 auto *N = cast<ConstantSDNode>(Val: Node);
23409 (void)N;
23410
23411 if (N->getValueType(ResNo: 0) == MVT::i32)
23412 return (uint32_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
23413 else
23414 return (uint64_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
23415
23416 }
23417 case 14: {
23418 // Predicate_vsplati64_imm_eq_63
23419 SDNode *N = Node;
23420 (void)N;
23421
23422 APInt Imm;
23423 SDNode *BV = N->getOperand(Num: 0).getNode();
23424 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
23425
23426 return selectVSplat(N: BV, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
23427 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
23428
23429 }
23430 case 15: {
23431 // Predicate_immZExt4
23432 // Predicate_immZExt4Ptr
23433 // Predicate_timmZExt4
23434 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23435return isUInt<4>(x: Imm);
23436 }
23437 case 16: {
23438 // Predicate_immZExt6
23439 // Predicate_timmZExt6
23440 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23441return Imm == (Imm & 0x3f);
23442 }
23443 case 17: {
23444 // Predicate_atomic_cmp_swap_i64
23445 // Predicate_atomic_load_64
23446 // Predicate_atomic_load_add_i64
23447 // Predicate_atomic_load_and_i64
23448 // Predicate_atomic_load_max_i64
23449 // Predicate_atomic_load_min_i64
23450 // Predicate_atomic_load_nand_i64
23451 // Predicate_atomic_load_or_i64
23452 // Predicate_atomic_load_sub_i64
23453 // Predicate_atomic_load_umax_i64
23454 // Predicate_atomic_load_umin_i64
23455 // Predicate_atomic_load_xor_i64
23456 // Predicate_atomic_store_64
23457 // Predicate_atomic_swap_i64
23458 SDNode *N = Node;
23459 (void)N;
23460if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
23461return true;
23462
23463 }
23464 case 18: {
23465 // Predicate_immZExt3
23466 // Predicate_immZExt3Ptr
23467 // Predicate_timmZExt3
23468 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23469return isUInt<3>(x: Imm);
23470 }
23471 case 19: {
23472 // Predicate_sextload
23473 SDNode *N = Node;
23474 (void)N;
23475if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
23476return true;
23477
23478 }
23479 case 20: {
23480 // Predicate_vsplati64_imm_eq_1
23481 SDNode *N = Node;
23482 (void)N;
23483
23484 APInt Imm;
23485 SDNode *BV = N->getOperand(Num: 0).getNode();
23486 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
23487
23488 return selectVSplat(N: BV, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
23489 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
23490
23491 }
23492 case 21: {
23493 // Predicate_zextload
23494 SDNode *N = Node;
23495 (void)N;
23496if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
23497return true;
23498
23499 }
23500 case 22: {
23501 // Predicate_immZExt2
23502 // Predicate_immZExt2Ptr
23503 // Predicate_timmZExt2
23504 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23505return isUInt<2>(x: Imm);
23506 }
23507 case 23: {
23508 // Predicate_load
23509 SDNode *N = Node;
23510 (void)N;
23511if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
23512return true;
23513
23514 }
23515 case 24: {
23516 // Predicate_shiftMask_32
23517 SDNode *N = Node;
23518 (void)N;
23519
23520 return isUnneededShiftMask(N, ShAmtBits: 5);
23521
23522 }
23523 case 25: {
23524 // Predicate_shiftMask_64
23525 SDNode *N = Node;
23526 (void)N;
23527
23528 return isUnneededShiftMask(N, ShAmtBits: 6);
23529
23530 }
23531 case 26: {
23532 // Predicate_immZExt1Ptr
23533 // Predicate_timmZExt1
23534 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23535return isUInt<1>(x: Imm);
23536 }
23537 case 27: {
23538 // Predicate_unindexedload
23539 SDNode *N = Node;
23540 (void)N;
23541if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
23542return true;
23543
23544 }
23545 case 28: {
23546 // Predicate_truncstore
23547 SDNode *N = Node;
23548 (void)N;
23549 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
23550return true;
23551
23552 }
23553 case 29: {
23554 // Predicate_truncstorei8
23555 SDNode *N = Node;
23556 (void)N;
23557if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
23558 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
23559return true;
23560
23561 }
23562 case 30: {
23563 // Predicate_truncstorei16
23564 SDNode *N = Node;
23565 (void)N;
23566if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
23567 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
23568return true;
23569
23570 }
23571 case 31: {
23572 // Predicate_extload
23573 SDNode *N = Node;
23574 (void)N;
23575if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
23576return true;
23577
23578 }
23579 case 32: {
23580 // Predicate_immZExt5_64
23581 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23582 return Imm == (Imm & 0x1f);
23583 }
23584 case 33: {
23585 // Predicate_extloadi1
23586 SDNode *N = Node;
23587 (void)N;
23588if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i1) return false;
23589return true;
23590
23591 }
23592 case 34: {
23593 // Predicate_imm32ZExt16
23594 const APInt & Imm = Node->getAsAPIntVal();
23595
23596 return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();
23597
23598 }
23599 case 35: {
23600 // Predicate_immZExt5Plus1
23601 auto *N = cast<ConstantSDNode>(Val: Node);
23602 (void)N;
23603
23604 return isUInt<5>(x: N->getZExtValue() - 1);
23605
23606 }
23607 case 36: {
23608 // Predicate_LUiPred
23609 auto *N = cast<ConstantSDNode>(Val: Node);
23610 (void)N;
23611
23612 int64_t Val = N->getSExtValue();
23613 return !isInt<16>(x: Val) && isInt<32>(x: Val) && !(Val & 0xffff);
23614
23615 }
23616 case 37: {
23617 // Predicate_ORiPred
23618 auto *N = cast<ConstantSDNode>(Val: Node);
23619 (void)N;
23620
23621 return isUInt<16>(x: N->getZExtValue()) && !isInt<16>(x: N->getSExtValue());
23622
23623 }
23624 case 38: {
23625 // Predicate_PowerOf2LO
23626 auto *N = cast<ConstantSDNode>(Val: Node);
23627 (void)N;
23628
23629 if (N->getValueType(ResNo: 0) == MVT::i64) {
23630 uint64_t Imm = N->getZExtValue();
23631 return isPowerOf2_64(Value: Imm) && (Imm & 0xffffffff) == Imm;
23632 }
23633 else
23634 return false;
23635
23636 }
23637 case 39: {
23638 // Predicate_PowerOf2HI
23639 auto *N = cast<ConstantSDNode>(Val: Node);
23640 (void)N;
23641
23642 if (N->getValueType(ResNo: 0) == MVT::i64) {
23643 uint64_t Imm = N->getZExtValue();
23644 return isPowerOf2_64(Value: Imm) && (Imm & 0xffffffff00000000) == Imm;
23645 }
23646 else
23647 return false;
23648
23649 }
23650 case 40: {
23651 // Predicate_immZExt2Shift
23652 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23653return Imm >= 1 && Imm <= 8;
23654 }
23655 case 41: {
23656 // Predicate_timmZExt10
23657 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23658return isUInt<10>(x: Imm);
23659 }
23660 case 42: {
23661 // Predicate_timmZExt7
23662 auto *N = cast<ConstantSDNode>(Val: Node);
23663 (void)N;
23664 return isUInt<7>(x: N->getZExtValue());
23665 }
23666 case 43: {
23667 // Predicate_immZExt8
23668 // Predicate_timmZExt8
23669 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23670return isUInt<8>(x: Imm);
23671 }
23672 case 44: {
23673 // Predicate_immZExt5Plus32
23674 auto *N = cast<ConstantSDNode>(Val: Node);
23675 (void)N;
23676
23677 return isUInt<5>(x: N->getZExtValue() - 32);
23678
23679 }
23680 case 45: {
23681 // Predicate_immZExtAndi16
23682 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23683return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
23684 Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
23685 Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
23686 }
23687 case 46: {
23688 // Predicate_immZExt2Lsa
23689 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23690return isUInt<2>(x: Imm - 1);
23691 }
23692 case 47: {
23693 // Predicate_LUiORiPred
23694 auto *N = cast<ConstantSDNode>(Val: Node);
23695 (void)N;
23696
23697 int64_t SVal = N->getSExtValue();
23698 return isInt<32>(x: SVal) && (SVal & 0xffff);
23699
23700 }
23701 case 48: {
23702 // Predicate_fpimm0
23703 auto *N = cast<ConstantFPSDNode>(Val: Node);
23704 (void)N;
23705
23706 return N->isExactlyValue(V: +0.0);
23707
23708 }
23709 case 49: {
23710 // Predicate_truncstorei32
23711 SDNode *N = Node;
23712 (void)N;
23713if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
23714 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
23715return true;
23716
23717 }
23718 case 50: {
23719 // Predicate_PowerOf2LO_i32
23720 auto *N = cast<ConstantSDNode>(Val: Node);
23721 (void)N;
23722
23723 if (N->getValueType(ResNo: 0) == MVT::i32) {
23724 uint64_t Imm = N->getZExtValue();
23725 return isPowerOf2_32(Value: Imm) && isUInt<32>(x: Imm);
23726 }
23727 else
23728 return false;
23729
23730 }
23731 case 51: {
23732 // Predicate_immZExt16_64
23733 auto *N = cast<ConstantSDNode>(Val: Node);
23734 (void)N;
23735 return isUInt<16>(x: N->getZExtValue());
23736 }
23737 case 52: {
23738 // Predicate_immSExt10
23739 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23740return isInt<10>(x: Imm);
23741 }
23742 case 53: {
23743 // Predicate_immZExt5Plus33
23744 auto *N = cast<ConstantSDNode>(Val: Node);
23745 (void)N;
23746
23747 return isUInt<5>(x: N->getZExtValue() - 33);
23748
23749 }
23750 case 54: {
23751 // Predicate_immSExt10_64
23752 auto *N = cast<ConstantSDNode>(Val: Node);
23753 (void)N;
23754 return isInt<10>(x: N->getSExtValue());
23755 }
23756 case 55: {
23757 // Predicate_imm32SExt16
23758 const APInt & Imm = Node->getAsAPIntVal();
23759 return isInt<16>(x: Imm.getSExtValue());
23760 }
23761 case 56: {
23762 // Predicate_immSExt8
23763 auto *N = cast<ConstantSDNode>(Val: Node);
23764 (void)N;
23765 return isInt<8>(x: N->getSExtValue());
23766 }
23767 case 57: {
23768 // Predicate_immSExtAddiur2
23769 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23770return Imm == 1 || Imm == -1 ||
23771 ((Imm % 4 == 0) &&
23772 Imm < 28 && Imm > 0);
23773 }
23774 case 58: {
23775 // Predicate_immSExtAddius5
23776 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23777return Imm >= -8 && Imm <= 7;
23778 }
23779 case 59: {
23780 // Predicate_assertzext_lt_i32
23781 SDNode *N = Node;
23782 (void)N;
23783
23784 return cast<VTSDNode>(Val: N->getOperand(Num: 1))->getVT().bitsLT(VT: MVT::i32);
23785
23786 }
23787 case 60: {
23788 // Predicate_immSExt6
23789 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23790return isInt<6>(x: Imm);
23791 }
23792 case 61: {
23793 // Predicate_immLi16
23794 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
23795return Imm >= -1 && Imm <= 126;
23796 }
23797 case 62: {
23798 // Predicate_immZExt32Low16Zero
23799 auto *N = cast<ConstantSDNode>(Val: Node);
23800 (void)N;
23801
23802 uint64_t Val = N->getZExtValue();
23803 return isUInt<32>(x: Val) && !(Val & 0xffff);
23804
23805 }
23806 case 63: {
23807 // Predicate_immZExt32
23808 auto *N = cast<ConstantSDNode>(Val: Node);
23809 (void)N;
23810 return isUInt<32>(x: N->getZExtValue());
23811 }
23812 case 64: {
23813 // Predicate_fpimm0neg
23814 auto *N = cast<ConstantFPSDNode>(Val: Node);
23815 (void)N;
23816
23817 return N->isExactlyValue(V: -0.0);
23818
23819 }
23820 }
23821}
23822#endif // GET_DAGISEL_BODY
23823
23824#ifdef GET_DAGISEL_DECL
23825bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
23826 SDValue N, unsigned PatternNo,
23827 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
23828#endif
23829#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23830bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
23831 SDValue N, unsigned PatternNo,
23832 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
23833#if DAGISEL_INLINE
23834 override
23835#endif
23836{
23837 unsigned NextRes = Result.size();
23838 switch (PatternNo) {
23839 default: llvm_unreachable("Invalid pattern # in table?");
23840 case 0:
23841 Result.resize(N: NextRes+2);
23842 return selectIntAddr(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23843 case 1:
23844 Result.resize(N: NextRes+2);
23845 return selectAddrDefault(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23846 case 2:
23847 Result.resize(N: NextRes+2);
23848 return selectAddrRegImm(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23849 case 3:
23850 Result.resize(N: NextRes+1);
23851 return selectVSplatUimmPow2(N, Imm&: Result[NextRes+0].first);
23852 case 4:
23853 Result.resize(N: NextRes+1);
23854 return selectVSplatUimm5(N, Imm&: Result[NextRes+0].first);
23855 case 5:
23856 Result.resize(N: NextRes+1);
23857 return selectVSplatUimm8(N, Imm&: Result[NextRes+0].first);
23858 case 6:
23859 Result.resize(N: NextRes+2);
23860 return selectIntAddr12MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23861 case 7:
23862 Result.resize(N: NextRes+1);
23863 return selectVSplatUimm5(N, Imm&: Result[NextRes+0].first);
23864 case 8:
23865 Result.resize(N: NextRes+1);
23866 return selectVSplatUimm5(N, Imm&: Result[NextRes+0].first);
23867 case 9:
23868 Result.resize(N: NextRes+1);
23869 return selectVSplatUimm5(N, Imm&: Result[NextRes+0].first);
23870 case 10:
23871 Result.resize(N: NextRes+2);
23872 return selectAddr16(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23873 case 11:
23874 Result.resize(N: NextRes+1);
23875 return selectVSplatUimmInvPow2(N, Imm&: Result[NextRes+0].first);
23876 case 12:
23877 Result.resize(N: NextRes+1);
23878 return selectVSplatSimm5(N, Imm&: Result[NextRes+0].first);
23879 case 13:
23880 Result.resize(N: NextRes+1);
23881 return selectVSplatSimm5(N, Imm&: Result[NextRes+0].first);
23882 case 14:
23883 Result.resize(N: NextRes+1);
23884 return selectVSplatSimm5(N, Imm&: Result[NextRes+0].first);
23885 case 15:
23886 Result.resize(N: NextRes+1);
23887 return selectVSplatSimm5(N, Imm&: Result[NextRes+0].first);
23888 case 16:
23889 Result.resize(N: NextRes+2);
23890 return selectIntAddrSImm10(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23891 case 17:
23892 Result.resize(N: NextRes+2);
23893 return selectIntAddrSImm10Lsl1(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23894 case 18:
23895 Result.resize(N: NextRes+2);
23896 return selectIntAddrSImm10Lsl2(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23897 case 19:
23898 Result.resize(N: NextRes+2);
23899 return selectIntAddrSImm10Lsl3(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23900 case 20:
23901 Result.resize(N: NextRes+2);
23902 return selectAddr16SP(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23903 case 21:
23904 Result.resize(N: NextRes+2);
23905 return selectIntAddrLSL2MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23906 case 22:
23907 Result.resize(N: NextRes+1);
23908 return selectVSplatUimm3(N, Imm&: Result[NextRes+0].first);
23909 case 23:
23910 Result.resize(N: NextRes+1);
23911 return selectVSplatUimm4(N, Imm&: Result[NextRes+0].first);
23912 case 24:
23913 Result.resize(N: NextRes+1);
23914 return selectVSplatUimm6(N, Imm&: Result[NextRes+0].first);
23915 case 25:
23916 Result.resize(N: NextRes+2);
23917 return selectIntAddr11MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23918 case 26:
23919 Result.resize(N: NextRes+2);
23920 return selectIntAddr16MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
23921 case 27:
23922 Result.resize(N: NextRes+1);
23923 return selectVSplatUimm4(N, Imm&: Result[NextRes+0].first);
23924 case 28:
23925 Result.resize(N: NextRes+1);
23926 return selectVSplatUimm3(N, Imm&: Result[NextRes+0].first);
23927 case 29:
23928 Result.resize(N: NextRes+1);
23929 return selectVSplatUimm2(N, Imm&: Result[NextRes+0].first);
23930 case 30:
23931 Result.resize(N: NextRes+1);
23932 return selectVSplatUimm1(N, Imm&: Result[NextRes+0].first);
23933 case 31:
23934 Result.resize(N: NextRes+1);
23935 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
23936 case 32:
23937 Result.resize(N: NextRes+1);
23938 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
23939 case 33:
23940 Result.resize(N: NextRes+1);
23941 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
23942 case 34:
23943 Result.resize(N: NextRes+1);
23944 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
23945 case 35:
23946 Result.resize(N: NextRes+1);
23947 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
23948 case 36:
23949 Result.resize(N: NextRes+1);
23950 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
23951 case 37:
23952 Result.resize(N: NextRes+1);
23953 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
23954 case 38:
23955 Result.resize(N: NextRes+1);
23956 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
23957 }
23958}
23959#endif // GET_DAGISEL_BODY
23960
23961#ifdef GET_DAGISEL_DECL
23962SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
23963#endif
23964#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23965SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
23966#if DAGISEL_INLINE
23967 override
23968#endif
23969{
23970 switch (XFormNo) {
23971 default: llvm_unreachable("Invalid xform # in table?");
23972 case 0: {
23973 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
23974
23975 return getImm(Node: N, Imm: Log2_64(Value: (unsigned) N->getZExtValue()));
23976
23977 }
23978 case 1: {
23979 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
23980
23981 return getImm(Node: N, Imm: Log2_64(Value: (unsigned) (N->getZExtValue() >> 32)));
23982
23983 }
23984 case 2: {
23985 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
23986 return getImm(Node: N, Imm: N->getSExtValue() + 1);
23987 }
23988 case 3: {
23989 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
23990
23991 return getImm(Node: N, Imm: N->getZExtValue() & 0xFFFF);
23992
23993 }
23994 case 4: {
23995 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
23996
23997 return getImm(Node: N, Imm: 31 - N->getZExtValue());
23998
23999 }
24000 case 5: {
24001 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
24002
24003 return getImm(Node: N, Imm: (N->getZExtValue() >> 16) & 0xFFFF);
24004
24005 }
24006 }
24007}
24008#endif // GET_DAGISEL_BODY
24009
24010
24011#ifdef DAGISEL_INLINE
24012#undef DAGISEL_INLINE
24013#endif
24014#ifdef DAGISEL_CLASS_COLONCOLON
24015#undef DAGISEL_CLASS_COLONCOLON
24016#endif
24017#ifdef GET_DAGISEL_DECL
24018#undef GET_DAGISEL_DECL
24019#endif
24020#ifdef GET_DAGISEL_BODY
24021#undef GET_DAGISEL_BODY
24022#endif
24023