1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* DAG Instruction Selector for the Mips target *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9// *** NOTE: This file is #included into the middle of the target
10// *** instruction selector class. These functions are really methods.
11
12// If GET_DAGISEL_DECL is #defined with any value, only function
13// declarations will be included when this file is included.
14// If GET_DAGISEL_BODY is #defined, its value should be the name of
15// the instruction selector class. Function bodies will be emitted
16// and each function's name will be qualified with the name of the
17// class.
18//
19// When neither of the GET_DAGISEL* macros is defined, the functions
20// are emitted inline.
21
22#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
23#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
24#endif
25
26#ifdef GET_DAGISEL_BODY
27#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
28#define LOCAL_DAGISEL_STRINGIZE_(X) #X
29static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
30 "GET_DAGISEL_BODY is empty: it should be defined with the class name");
31#undef LOCAL_DAGISEL_STRINGIZE_
32#undef LOCAL_DAGISEL_STRINGIZE
33#endif
34
35#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
36#define DAGISEL_INLINE 1
37#else
38#define DAGISEL_INLINE 0
39#endif
40
41#if !DAGISEL_INLINE
42#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
43#else
44#define DAGISEL_CLASS_COLONCOLON
45#endif
46
47#ifdef GET_DAGISEL_DECL
48void SelectCode(SDNode *N);
49#endif
50#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52{
53 // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 // this. Coverage indexes are emitted as 4 bytes,
55 // COVERAGE_IDX_VAL handles this.
56 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
57 #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255
58 static const uint8_t MatcherTable[] = {
59 OPC_SwitchOpcode , 37|128,7, TARGET_VAL(ISD::STORE),
60 OPC_RecordMemRef,
61 OPC_RecordNode,
62 OPC_Scope, 73|128,1,
63 OPC_RecordChild1,
64 OPC_Scope, 120,
65 OPC_CheckChild1Type, MVT::f64,
66 OPC_Scope, 77,
67 OPC_RecordChild2,
68 OPC_CheckPredicate, 12,
69 OPC_CheckPredicate, 9,
70 OPC_Scope, 13,
71 OPC_CheckPatternPredicate, 82,
72 OPC_CheckComplexPat3, /*#*/2,
73 OPC_EmitMergeInputChains1_0,
74 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
75 3, 1, 3, 4,
76 13,
77 OPC_CheckPatternPredicate, 55,
78 OPC_CheckComplexPat3, /*#*/2,
79 OPC_EmitMergeInputChains1_0,
80 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
81 3, 1, 3, 4,
82 13,
83 OPC_CheckPatternPredicate, 56,
84 OPC_CheckComplexPat3, /*#*/2,
85 OPC_EmitMergeInputChains1_0,
86 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
87 3, 1, 3, 4,
88 13,
89 OPC_CheckPatternPredicate, 66,
90 OPC_CheckComplexPat3, /*#*/2,
91 OPC_EmitMergeInputChains1_0,
92 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
93 3, 1, 3, 4,
94 13,
95 OPC_CheckPatternPredicate, 62,
96 OPC_CheckComplexPat3, /*#*/2,
97 OPC_EmitMergeInputChains1_0,
98 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
99 3, 1, 3, 4,
100 0,
101 37,
102 OPC_MoveChild2,
103 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
104 OPC_RecordChild0,
105 OPC_RecordChild1,
106 OPC_MoveParent,
107 OPC_CheckPredicate, 12,
108 OPC_CheckPredicate, 9,
109 OPC_Scope, 11,
110 OPC_CheckPatternPredicate, 83,
111 OPC_EmitMergeInputChains1_0,
112 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC1), 0|OPFL_Chain|OPFL_MemRefs,
113 3, 1, 2, 3,
114 11,
115 OPC_CheckPatternPredicate, 84,
116 OPC_EmitMergeInputChains1_0,
117 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC164), 0|OPFL_Chain|OPFL_MemRefs,
118 3, 1, 2, 3,
119 0,
120 0,
121 76,
122 OPC_CheckChild1Type, MVT::f32,
123 OPC_Scope, 33,
124 OPC_RecordChild2,
125 OPC_CheckPredicate, 12,
126 OPC_CheckPredicate, 9,
127 OPC_Scope, 12,
128 OPC_CheckPatternPredicate2,
129 OPC_CheckComplexPat3, /*#*/2,
130 OPC_EmitMergeInputChains1_0,
131 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
132 3, 1, 3, 4,
133 12,
134 OPC_CheckPatternPredicate4,
135 OPC_CheckComplexPat3, /*#*/2,
136 OPC_EmitMergeInputChains1_0,
137 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
138 3, 1, 3, 4,
139 0,
140 37,
141 OPC_MoveChild2,
142 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
143 OPC_RecordChild0,
144 OPC_RecordChild1,
145 OPC_MoveParent,
146 OPC_CheckPredicate, 12,
147 OPC_CheckPredicate, 9,
148 OPC_Scope, 11,
149 OPC_CheckPatternPredicate, 85,
150 OPC_EmitMergeInputChains1_0,
151 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1), 0|OPFL_Chain|OPFL_MemRefs,
152 3, 1, 2, 3,
153 11,
154 OPC_CheckPatternPredicate, 44,
155 OPC_EmitMergeInputChains1_0,
156 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
157 3, 1, 2, 3,
158 0,
159 0,
160 0,
161 22,
162 OPC_CheckChild1Integer, 0,
163 OPC_CheckChild1TypeI32,
164 OPC_RecordChild2,
165 OPC_CheckPredicate, 12,
166 OPC_CheckPredicate, 9,
167 OPC_CheckPatternPredicate2,
168 OPC_CheckComplexPat0, /*#*/1,
169 OPC_EmitMergeInputChains1_0,
170 OPC_EmitRegisterI32, Mips::ZERO,
171 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
172 3, 4, 2, 3,
173 61|128,5,
174 OPC_RecordChild1,
175 OPC_Scope, 18|128,2,
176 OPC_CheckChild1TypeI32,
177 OPC_RecordChild2,
178 OPC_CheckPredicate, 12,
179 OPC_Scope, 32,
180 OPC_CheckPredicate, 29,
181 OPC_Scope, 13,
182 OPC_CheckPredicate5,
183 OPC_CheckPatternPredicate2,
184 OPC_CheckComplexPat0, /*#*/2,
185 OPC_EmitMergeInputChains1_0,
186 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
187 3, 1, 3, 4,
188 13,
189 OPC_CheckPredicate4,
190 OPC_CheckPatternPredicate2,
191 OPC_CheckComplexPat0, /*#*/2,
192 OPC_EmitMergeInputChains1_0,
193 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
194 3, 1, 3, 4,
195 0,
196 73,
197 OPC_CheckPredicate, 9,
198 OPC_Scope, 12,
199 OPC_CheckPatternPredicate2,
200 OPC_CheckComplexPat0, /*#*/2,
201 OPC_EmitMergeInputChains1_0,
202 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
203 3, 1, 3, 4,
204 13,
205 OPC_CheckPatternPredicate, 53,
206 OPC_CheckComplexPat2, /*#*/2,
207 OPC_EmitMergeInputChains1_0,
208 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2), 0|OPFL_Chain|OPFL_MemRefs,
209 3, 1, 3, 4,
210 13,
211 OPC_CheckPatternPredicate, 86,
212 OPC_CheckComplexPat2, /*#*/2,
213 OPC_EmitMergeInputChains1_0,
214 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2), 0|OPFL_Chain|OPFL_MemRefs,
215 3, 1, 3, 4,
216 13,
217 OPC_CheckPatternPredicate, 87,
218 OPC_CheckComplexPat2, /*#*/2,
219 OPC_EmitMergeInputChains1_0,
220 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC3), 0|OPFL_Chain|OPFL_MemRefs,
221 3, 1, 3, 4,
222 13,
223 OPC_CheckPatternPredicate, 88,
224 OPC_CheckComplexPat2, /*#*/2,
225 OPC_EmitMergeInputChains1_0,
226 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC3), 0|OPFL_Chain|OPFL_MemRefs,
227 3, 1, 3, 4,
228 0,
229 34,
230 OPC_CheckPredicate, 29,
231 OPC_Scope, 14,
232 OPC_CheckPredicate5,
233 OPC_CheckPatternPredicate5,
234 OPC_CheckComplexPat, /*CP*/11, /*#*/2,
235 OPC_EmitMergeInputChains1_0,
236 OPC_MorphNodeTo0, TARGET_VAL(Mips::SbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
237 3, 1, 3, 4,
238 14,
239 OPC_CheckPredicate4,
240 OPC_CheckPatternPredicate5,
241 OPC_CheckComplexPat, /*CP*/11, /*#*/2,
242 OPC_EmitMergeInputChains1_0,
243 OPC_MorphNodeTo0, TARGET_VAL(Mips::ShRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
244 3, 1, 3, 4,
245 0,
246 15,
247 OPC_CheckPredicate, 9,
248 OPC_CheckPatternPredicate5,
249 OPC_CheckComplexPat, /*CP*/21, /*#*/2,
250 OPC_EmitMergeInputChains1_0,
251 OPC_MorphNodeTo0, TARGET_VAL(Mips::SwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
252 3, 1, 3, 4,
253 32,
254 OPC_CheckPredicate, 29,
255 OPC_Scope, 13,
256 OPC_CheckPredicate5,
257 OPC_CheckPatternPredicate4,
258 OPC_CheckComplexPat0, /*#*/2,
259 OPC_EmitMergeInputChains1_0,
260 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB_MM), 0|OPFL_Chain|OPFL_MemRefs,
261 3, 1, 3, 4,
262 13,
263 OPC_CheckPredicate4,
264 OPC_CheckPatternPredicate4,
265 OPC_CheckComplexPat0, /*#*/2,
266 OPC_EmitMergeInputChains1_0,
267 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH_MM), 0|OPFL_Chain|OPFL_MemRefs,
268 3, 1, 3, 4,
269 0,
270 76,
271 OPC_CheckPredicate, 9,
272 OPC_Scope, 28,
273 OPC_CheckPatternPredicate4,
274 OPC_Scope, 12,
275 OPC_CheckComplexPat, /*CP*/22, /*#*/2,
276 OPC_EmitMergeInputChains1_0,
277 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
278 3, 1, 3, 4,
279 11,
280 OPC_CheckComplexPat0, /*#*/2,
281 OPC_EmitMergeInputChains1_0,
282 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW_MM), 0|OPFL_Chain|OPFL_MemRefs,
283 3, 1, 3, 4,
284 0,
285 42,
286 OPC_CheckPatternPredicate, 8,
287 OPC_Scope, 24,
288 OPC_CheckComplexPat, /*CP*/26, /*#*/2,
289 OPC_EmitMergeInputChains1_0,
290 OPC_Scope, 8,
291 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
292 3, 1, 3, 4,
293 8,
294 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
295 3, 1, 3, 4,
296 0,
297 12,
298 OPC_CheckComplexPat, /*CP*/22, /*#*/2,
299 OPC_EmitMergeInputChains1_0,
300 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
301 3, 1, 3, 4,
302 0,
303 0,
304 0,
305 37,
306 OPC_CheckChild1Type, MVT::f32,
307 OPC_RecordChild2,
308 OPC_CheckPredicate, 12,
309 OPC_CheckPredicate, 9,
310 OPC_Scope, 13,
311 OPC_CheckPatternPredicate, 35,
312 OPC_CheckComplexPat2, /*#*/2,
313 OPC_EmitMergeInputChains1_0,
314 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
315 3, 1, 3, 4,
316 13,
317 OPC_CheckPatternPredicate, 45,
318 OPC_CheckComplexPat2, /*#*/2,
319 OPC_EmitMergeInputChains1_0,
320 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
321 3, 1, 3, 4,
322 0,
323 80,
324 OPC_CheckChild1Type, MVT::f64,
325 OPC_RecordChild2,
326 OPC_CheckPredicate, 12,
327 OPC_CheckPredicate, 9,
328 OPC_Scope, 13,
329 OPC_CheckPatternPredicate, 67,
330 OPC_CheckComplexPat2, /*#*/2,
331 OPC_EmitMergeInputChains1_0,
332 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
333 3, 1, 3, 4,
334 13,
335 OPC_CheckPatternPredicate, 68,
336 OPC_CheckComplexPat2, /*#*/2,
337 OPC_EmitMergeInputChains1_0,
338 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
339 3, 1, 3, 4,
340 13,
341 OPC_CheckPatternPredicate, 46,
342 OPC_CheckComplexPat2, /*#*/2,
343 OPC_EmitMergeInputChains1_0,
344 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
345 3, 1, 3, 4,
346 13,
347 OPC_CheckPatternPredicate, 47,
348 OPC_CheckComplexPat2, /*#*/2,
349 OPC_EmitMergeInputChains1_0,
350 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
351 3, 1, 3, 4,
352 14,
353 OPC_CheckPatternPredicate, 89,
354 OPC_CheckComplexPat, /*CP*/27, /*#*/2,
355 OPC_EmitMergeInputChains1_0,
356 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
357 3, 1, 3, 4,
358 0,
359 73,
360 OPC_CheckChild1TypeI64,
361 OPC_RecordChild2,
362 OPC_CheckPredicate, 12,
363 OPC_Scope, 50,
364 OPC_CheckPredicate, 29,
365 OPC_Scope, 14,
366 OPC_CheckPredicate5,
367 OPC_CheckPatternPredicate, 18,
368 OPC_CheckComplexPat0, /*#*/2,
369 OPC_EmitMergeInputChains1_0,
370 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
371 3, 1, 3, 4,
372 14,
373 OPC_CheckPredicate4,
374 OPC_CheckPatternPredicate, 18,
375 OPC_CheckComplexPat0, /*#*/2,
376 OPC_EmitMergeInputChains1_0,
377 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
378 3, 1, 3, 4,
379 15,
380 OPC_CheckPredicate, 8,
381 OPC_CheckPatternPredicate, 18,
382 OPC_CheckComplexPat0, /*#*/2,
383 OPC_EmitMergeInputChains1_0,
384 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
385 3, 1, 3, 4,
386 0,
387 15,
388 OPC_CheckPredicate, 9,
389 OPC_CheckPatternPredicate, 26,
390 OPC_CheckComplexPat0, /*#*/2,
391 OPC_EmitMergeInputChains1_0,
392 OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
393 3, 1, 3, 4,
394 0,
395 20,
396 OPC_CheckChild1Type, MVT::v16i8,
397 OPC_RecordChild2,
398 OPC_CheckPredicate, 12,
399 OPC_CheckPredicate, 9,
400 OPC_CheckPatternPredicate0,
401 OPC_CheckComplexPat, /*CP*/17, /*#*/2,
402 OPC_EmitMergeInputChains1_0,
403 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
404 3, 1, 3, 4,
405 20,
406 OPC_CheckChild1Type, MVT::v8i16,
407 OPC_RecordChild2,
408 OPC_CheckPredicate, 12,
409 OPC_CheckPredicate, 9,
410 OPC_CheckPatternPredicate0,
411 OPC_CheckComplexPat, /*CP*/18, /*#*/2,
412 OPC_EmitMergeInputChains1_0,
413 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
414 3, 1, 3, 4,
415 20,
416 OPC_CheckChild1Type, MVT::v4i32,
417 OPC_RecordChild2,
418 OPC_CheckPredicate, 12,
419 OPC_CheckPredicate, 9,
420 OPC_CheckPatternPredicate0,
421 OPC_CheckComplexPat, /*CP*/19, /*#*/2,
422 OPC_EmitMergeInputChains1_0,
423 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
424 3, 1, 3, 4,
425 20,
426 OPC_CheckChild1Type, MVT::v2i64,
427 OPC_RecordChild2,
428 OPC_CheckPredicate, 12,
429 OPC_CheckPredicate, 9,
430 OPC_CheckPatternPredicate0,
431 OPC_CheckComplexPat, /*CP*/20, /*#*/2,
432 OPC_EmitMergeInputChains1_0,
433 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
434 3, 1, 3, 4,
435 20,
436 OPC_CheckChild1Type, MVT::v8f16,
437 OPC_RecordChild2,
438 OPC_CheckPredicate, 12,
439 OPC_CheckPredicate, 9,
440 OPC_CheckPatternPredicate3,
441 OPC_CheckComplexPat, /*CP*/18, /*#*/2,
442 OPC_EmitMergeInputChains1_0,
443 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
444 3, 1, 3, 4,
445 21,
446 OPC_CheckChild1Type, 6|128,1,
447 OPC_RecordChild2,
448 OPC_CheckPredicate, 12,
449 OPC_CheckPredicate, 9,
450 OPC_CheckPatternPredicate3,
451 OPC_CheckComplexPat, /*CP*/19, /*#*/2,
452 OPC_EmitMergeInputChains1_0,
453 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
454 3, 1, 3, 4,
455 21,
456 OPC_CheckChild1Type, 24|128,1,
457 OPC_RecordChild2,
458 OPC_CheckPredicate, 12,
459 OPC_CheckPredicate, 9,
460 OPC_CheckPatternPredicate3,
461 OPC_CheckComplexPat, /*CP*/20, /*#*/2,
462 OPC_EmitMergeInputChains1_0,
463 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
464 3, 1, 3, 4,
465 28,
466 OPC_CheckChild1Type, MVT::v2i16,
467 OPC_RecordChild2,
468 OPC_CheckPredicate, 12,
469 OPC_CheckPredicate, 9,
470 OPC_CheckPatternPredicate1,
471 OPC_CheckComplexPat0, /*#*/2,
472 OPC_EmitMergeInputChains1_0,
473 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
474 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
475 MVT::i32, 2, 1, 5,
476 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
477 3, 6, 3, 4,
478 28,
479 OPC_CheckChild1Type, MVT::v4i8,
480 OPC_RecordChild2,
481 OPC_CheckPredicate, 12,
482 OPC_CheckPredicate, 9,
483 OPC_CheckPatternPredicate1,
484 OPC_CheckComplexPat0, /*#*/2,
485 OPC_EmitMergeInputChains1_0,
486 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
487 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
488 MVT::i32, 2, 1, 5,
489 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
490 3, 6, 3, 4,
491 21,
492 OPC_CheckChild1Type, MVT::f16,
493 OPC_RecordChild2,
494 OPC_RecordChild2,
495 OPC_CheckPredicate, 12,
496 OPC_CheckPredicate, 9,
497 OPC_CheckPatternPredicate3,
498 OPC_CheckComplexPat, /*CP*/17, /*#*/3,
499 OPC_EmitMergeInputChains1_0,
500 OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_F16), 0|OPFL_Chain|OPFL_MemRefs,
501 3, 1, 2, 3,
502 0,
503 0,
504 78|128,10, TARGET_VAL(ISD::LOAD),
505 OPC_RecordMemRef,
506 OPC_RecordNode,
507 OPC_Scope, 103,
508 OPC_RecordChild1,
509 OPC_CheckPredicate, 28,
510 OPC_CheckTypeI32,
511 OPC_Scope, 32,
512 OPC_CheckPredicate, 20,
513 OPC_Scope, 13,
514 OPC_CheckPredicate5,
515 OPC_CheckPatternPredicate2,
516 OPC_CheckComplexPat3, /*#*/1,
517 OPC_EmitMergeInputChains1_0,
518 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
519 MVT::i32, 2, 2, 3,
520 13,
521 OPC_CheckPredicate4,
522 OPC_CheckPatternPredicate2,
523 OPC_CheckComplexPat3, /*#*/1,
524 OPC_EmitMergeInputChains1_0,
525 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
526 MVT::i32, 2, 2, 3,
527 0,
528 32,
529 OPC_CheckPredicate, 19,
530 OPC_Scope, 13,
531 OPC_CheckPredicate5,
532 OPC_CheckPatternPredicate2,
533 OPC_CheckComplexPat3, /*#*/1,
534 OPC_EmitMergeInputChains1_0,
535 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
536 MVT::i32, 2, 2, 3,
537 13,
538 OPC_CheckPredicate4,
539 OPC_CheckPatternPredicate2,
540 OPC_CheckComplexPat3, /*#*/1,
541 OPC_EmitMergeInputChains1_0,
542 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
543 MVT::i32, 2, 2, 3,
544 0,
545 14,
546 OPC_CheckPredicate, 22,
547 OPC_CheckPatternPredicate2,
548 OPC_CheckComplexPat3, /*#*/1,
549 OPC_EmitMergeInputChains1_0,
550 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
551 MVT::i32, 2, 2, 3,
552 15,
553 OPC_CheckPredicate, 19,
554 OPC_CheckPredicate4,
555 OPC_CheckPatternPredicate4,
556 OPC_CheckComplexPat3, /*#*/1,
557 OPC_EmitMergeInputChains1_0,
558 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
559 MVT::i32, 2, 2, 3,
560 0,
561 54,
562 OPC_MoveChild1,
563 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
564 OPC_RecordChild0,
565 OPC_RecordChild1,
566 OPC_CheckTypeI32,
567 OPC_MoveParent,
568 OPC_CheckPredicate, 28,
569 OPC_CheckTypeI32,
570 OPC_Scope, 13,
571 OPC_CheckPredicate, 20,
572 OPC_CheckPredicate5,
573 OPC_CheckPatternPredicate1,
574 OPC_EmitMergeInputChains1_0,
575 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBUX), 0|OPFL_Chain|OPFL_MemRefs,
576 MVT::i32, 2, 1, 2,
577 13,
578 OPC_CheckPredicate, 19,
579 OPC_CheckPredicate4,
580 OPC_CheckPatternPredicate1,
581 OPC_EmitMergeInputChains1_0,
582 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHX), 0|OPFL_Chain|OPFL_MemRefs,
583 MVT::i32, 2, 1, 2,
584 12,
585 OPC_CheckPredicate, 22,
586 OPC_CheckPatternPredicate1,
587 OPC_EmitMergeInputChains1_0,
588 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWX), 0|OPFL_Chain|OPFL_MemRefs,
589 MVT::i32, 2, 1, 2,
590 0,
591 69|128,6,
592 OPC_RecordChild1,
593 OPC_CheckPredicate, 28,
594 OPC_Scope, 16,
595 OPC_CheckPredicate, 19,
596 OPC_CheckPredicate5,
597 OPC_CheckTypeI32,
598 OPC_CheckPatternPredicate2,
599 OPC_CheckComplexPat0, /*#*/1,
600 OPC_EmitMergeInputChains1_0,
601 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
602 MVT::i32, 2, 2, 3,
603 16,
604 OPC_CheckPredicate, 20,
605 OPC_CheckPredicate5,
606 OPC_CheckTypeI32,
607 OPC_CheckPatternPredicate2,
608 OPC_CheckComplexPat2, /*#*/1,
609 OPC_EmitMergeInputChains1_0,
610 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
611 MVT::i32, 2, 2, 3,
612 16,
613 OPC_CheckPredicate, 19,
614 OPC_CheckPredicate4,
615 OPC_CheckTypeI32,
616 OPC_CheckPatternPredicate2,
617 OPC_CheckComplexPat2, /*#*/1,
618 OPC_EmitMergeInputChains1_0,
619 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
620 MVT::i32, 2, 2, 3,
621 16,
622 OPC_CheckPredicate, 20,
623 OPC_CheckPredicate4,
624 OPC_CheckTypeI32,
625 OPC_CheckPatternPredicate2,
626 OPC_CheckComplexPat0, /*#*/1,
627 OPC_EmitMergeInputChains1_0,
628 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
629 MVT::i32, 2, 2, 3,
630 74,
631 OPC_CheckPredicate, 22,
632 OPC_CheckTypeI32,
633 OPC_Scope, 12,
634 OPC_CheckPatternPredicate2,
635 OPC_CheckComplexPat2, /*#*/1,
636 OPC_EmitMergeInputChains1_0,
637 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
638 MVT::i32, 2, 2, 3,
639 13,
640 OPC_CheckPatternPredicate, 53,
641 OPC_CheckComplexPat2, /*#*/1,
642 OPC_EmitMergeInputChains1_0,
643 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2), 0|OPFL_Chain|OPFL_MemRefs,
644 MVT::i32, 2, 2, 3,
645 13,
646 OPC_CheckPatternPredicate, 86,
647 OPC_CheckComplexPat2, /*#*/1,
648 OPC_EmitMergeInputChains1_0,
649 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2), 0|OPFL_Chain|OPFL_MemRefs,
650 MVT::i32, 2, 2, 3,
651 13,
652 OPC_CheckPatternPredicate, 87,
653 OPC_CheckComplexPat2, /*#*/1,
654 OPC_EmitMergeInputChains1_0,
655 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC3), 0|OPFL_Chain|OPFL_MemRefs,
656 MVT::i32, 2, 2, 3,
657 13,
658 OPC_CheckPatternPredicate, 88,
659 OPC_CheckComplexPat2, /*#*/1,
660 OPC_EmitMergeInputChains1_0,
661 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC3), 0|OPFL_Chain|OPFL_MemRefs,
662 MVT::i32, 2, 2, 3,
663 0,
664 48,
665 OPC_CheckPredicate, 30,
666 OPC_CheckTypeI32,
667 OPC_Scope, 14,
668 OPC_CheckPredicate, 32,
669 OPC_CheckPatternPredicate2,
670 OPC_CheckComplexPat0, /*#*/1,
671 OPC_EmitMergeInputChains1_0,
672 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
673 MVT::i32, 2, 2, 3,
674 13,
675 OPC_CheckPredicate5,
676 OPC_CheckPatternPredicate2,
677 OPC_CheckComplexPat0, /*#*/1,
678 OPC_EmitMergeInputChains1_0,
679 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
680 MVT::i32, 2, 2, 3,
681 13,
682 OPC_CheckPredicate4,
683 OPC_CheckPatternPredicate2,
684 OPC_CheckComplexPat0, /*#*/1,
685 OPC_EmitMergeInputChains1_0,
686 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
687 MVT::i32, 2, 2, 3,
688 0,
689 17,
690 OPC_CheckPredicate, 19,
691 OPC_CheckPredicate5,
692 OPC_CheckTypeI64,
693 OPC_CheckPatternPredicate, 18,
694 OPC_CheckComplexPat0, /*#*/1,
695 OPC_EmitMergeInputChains1_0,
696 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
697 MVT::i64, 2, 2, 3,
698 17,
699 OPC_CheckPredicate, 20,
700 OPC_CheckPredicate5,
701 OPC_CheckTypeI64,
702 OPC_CheckPatternPredicate, 18,
703 OPC_CheckComplexPat0, /*#*/1,
704 OPC_EmitMergeInputChains1_0,
705 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu64), 0|OPFL_Chain|OPFL_MemRefs,
706 MVT::i64, 2, 2, 3,
707 17,
708 OPC_CheckPredicate, 19,
709 OPC_CheckPredicate4,
710 OPC_CheckTypeI64,
711 OPC_CheckPatternPredicate, 18,
712 OPC_CheckComplexPat0, /*#*/1,
713 OPC_EmitMergeInputChains1_0,
714 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
715 MVT::i64, 2, 2, 3,
716 17,
717 OPC_CheckPredicate, 20,
718 OPC_CheckPredicate4,
719 OPC_CheckTypeI64,
720 OPC_CheckPatternPredicate, 18,
721 OPC_CheckComplexPat0, /*#*/1,
722 OPC_EmitMergeInputChains1_0,
723 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu64), 0|OPFL_Chain|OPFL_MemRefs,
724 MVT::i64, 2, 2, 3,
725 18,
726 OPC_CheckPredicate, 19,
727 OPC_CheckPredicate, 8,
728 OPC_CheckTypeI64,
729 OPC_CheckPatternPredicate, 18,
730 OPC_CheckComplexPat0, /*#*/1,
731 OPC_EmitMergeInputChains1_0,
732 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
733 MVT::i64, 2, 2, 3,
734 18,
735 OPC_CheckPredicate, 20,
736 OPC_CheckPredicate, 8,
737 OPC_CheckTypeI64,
738 OPC_CheckPatternPredicate, 26,
739 OPC_CheckComplexPat0, /*#*/1,
740 OPC_EmitMergeInputChains1_0,
741 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWu), 0|OPFL_Chain|OPFL_MemRefs,
742 MVT::i64, 2, 2, 3,
743 16,
744 OPC_CheckPredicate, 22,
745 OPC_CheckTypeI64,
746 OPC_CheckPatternPredicate, 26,
747 OPC_CheckComplexPat0, /*#*/1,
748 OPC_EmitMergeInputChains1_0,
749 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
750 MVT::i64, 2, 2, 3,
751 67,
752 OPC_CheckPredicate, 30,
753 OPC_CheckTypeI64,
754 OPC_Scope, 15,
755 OPC_CheckPredicate, 32,
756 OPC_CheckPatternPredicate, 9,
757 OPC_CheckComplexPat0, /*#*/1,
758 OPC_EmitMergeInputChains1_0,
759 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
760 MVT::i64, 2, 2, 3,
761 14,
762 OPC_CheckPredicate5,
763 OPC_CheckPatternPredicate, 9,
764 OPC_CheckComplexPat0, /*#*/1,
765 OPC_EmitMergeInputChains1_0,
766 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
767 MVT::i64, 2, 2, 3,
768 14,
769 OPC_CheckPredicate4,
770 OPC_CheckPatternPredicate, 9,
771 OPC_CheckComplexPat0, /*#*/1,
772 OPC_EmitMergeInputChains1_0,
773 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
774 MVT::i64, 2, 2, 3,
775 15,
776 OPC_CheckPredicate, 8,
777 OPC_CheckPatternPredicate, 9,
778 OPC_CheckComplexPat0, /*#*/1,
779 OPC_EmitMergeInputChains1_0,
780 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
781 MVT::i64, 2, 2, 3,
782 0,
783 17,
784 OPC_CheckPredicate, 19,
785 OPC_CheckPredicate5,
786 OPC_CheckTypeI32,
787 OPC_CheckPatternPredicate5,
788 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
789 OPC_EmitMergeInputChains1_0,
790 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
791 MVT::i32, 2, 2, 3,
792 17,
793 OPC_CheckPredicate, 20,
794 OPC_CheckPredicate5,
795 OPC_CheckTypeI32,
796 OPC_CheckPatternPredicate5,
797 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
798 OPC_EmitMergeInputChains1_0,
799 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
800 MVT::i32, 2, 2, 3,
801 17,
802 OPC_CheckPredicate, 19,
803 OPC_CheckPredicate4,
804 OPC_CheckTypeI32,
805 OPC_CheckPatternPredicate5,
806 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
807 OPC_EmitMergeInputChains1_0,
808 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
809 MVT::i32, 2, 2, 3,
810 17,
811 OPC_CheckPredicate, 20,
812 OPC_CheckPredicate4,
813 OPC_CheckTypeI32,
814 OPC_CheckPatternPredicate5,
815 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
816 OPC_EmitMergeInputChains1_0,
817 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
818 MVT::i32, 2, 2, 3,
819 16,
820 OPC_CheckPredicate, 22,
821 OPC_CheckTypeI32,
822 OPC_CheckPatternPredicate5,
823 OPC_CheckComplexPat, /*CP*/21, /*#*/1,
824 OPC_EmitMergeInputChains1_0,
825 OPC_MorphNodeTo1, TARGET_VAL(Mips::LwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
826 MVT::i32, 2, 2, 3,
827 35,
828 OPC_CheckPredicate, 30,
829 OPC_CheckTypeI32,
830 OPC_Scope, 14,
831 OPC_CheckPredicate5,
832 OPC_CheckPatternPredicate5,
833 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
834 OPC_EmitMergeInputChains1_0,
835 OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
836 MVT::i32, 2, 2, 3,
837 14,
838 OPC_CheckPredicate4,
839 OPC_CheckPatternPredicate5,
840 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
841 OPC_EmitMergeInputChains1_0,
842 OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
843 MVT::i32, 2, 2, 3,
844 0,
845 16,
846 OPC_CheckPredicate, 19,
847 OPC_CheckPredicate5,
848 OPC_CheckTypeI32,
849 OPC_CheckPatternPredicate4,
850 OPC_CheckComplexPat0, /*#*/1,
851 OPC_EmitMergeInputChains1_0,
852 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
853 MVT::i32, 2, 2, 3,
854 16,
855 OPC_CheckPredicate, 20,
856 OPC_CheckPredicate5,
857 OPC_CheckTypeI32,
858 OPC_CheckPatternPredicate4,
859 OPC_CheckComplexPat0, /*#*/1,
860 OPC_EmitMergeInputChains1_0,
861 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
862 MVT::i32, 2, 2, 3,
863 16,
864 OPC_CheckPredicate, 19,
865 OPC_CheckPredicate4,
866 OPC_CheckTypeI32,
867 OPC_CheckPatternPredicate4,
868 OPC_CheckComplexPat2, /*#*/1,
869 OPC_EmitMergeInputChains1_0,
870 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
871 MVT::i32, 2, 2, 3,
872 34,
873 OPC_CheckPredicate, 20,
874 OPC_CheckTypeI32,
875 OPC_Scope, 13,
876 OPC_CheckPredicate4,
877 OPC_CheckPatternPredicate4,
878 OPC_CheckComplexPat0, /*#*/1,
879 OPC_EmitMergeInputChains1_0,
880 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
881 MVT::i32, 2, 2, 3,
882 14,
883 OPC_CheckPredicate, 8,
884 OPC_CheckPatternPredicate7,
885 OPC_CheckComplexPat7, /*#*/1,
886 OPC_EmitMergeInputChains1_0,
887 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWU_MM), 0|OPFL_Chain|OPFL_MemRefs,
888 MVT::i32, 2, 2, 3,
889 0,
890 31,
891 OPC_CheckPredicate, 22,
892 OPC_CheckTypeI32,
893 OPC_CheckPatternPredicate4,
894 OPC_Scope, 12,
895 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
896 OPC_EmitMergeInputChains1_0,
897 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
898 MVT::i32, 2, 2, 3,
899 11,
900 OPC_CheckComplexPat0, /*#*/1,
901 OPC_EmitMergeInputChains1_0,
902 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
903 MVT::i32, 2, 2, 3,
904 0,
905 48,
906 OPC_CheckPredicate, 30,
907 OPC_CheckTypeI32,
908 OPC_Scope, 14,
909 OPC_CheckPredicate, 32,
910 OPC_CheckPatternPredicate4,
911 OPC_CheckComplexPat0, /*#*/1,
912 OPC_EmitMergeInputChains1_0,
913 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
914 MVT::i32, 2, 2, 3,
915 13,
916 OPC_CheckPredicate5,
917 OPC_CheckPatternPredicate4,
918 OPC_CheckComplexPat0, /*#*/1,
919 OPC_EmitMergeInputChains1_0,
920 OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
921 MVT::i32, 2, 2, 3,
922 13,
923 OPC_CheckPredicate4,
924 OPC_CheckPatternPredicate4,
925 OPC_CheckComplexPat0, /*#*/1,
926 OPC_EmitMergeInputChains1_0,
927 OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
928 MVT::i32, 2, 2, 3,
929 0,
930 23|128,1,
931 OPC_CheckPredicate, 22,
932 OPC_SwitchType , 41, MVT::i32,
933 OPC_CheckPatternPredicate, 8,
934 OPC_Scope, 11,
935 OPC_CheckComplexPat2, /*#*/1,
936 OPC_EmitMergeInputChains1_0,
937 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
938 MVT::i32, 2, 2, 3,
939 24,
940 OPC_CheckComplexPat, /*CP*/26, /*#*/1,
941 OPC_EmitMergeInputChains1_0,
942 OPC_Scope, 8,
943 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
944 MVT::i32, 2, 2, 3,
945 8,
946 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
947 MVT::i32, 2, 2, 3,
948 0,
949 0,
950 72, MVT::f64,
951 OPC_Scope, 13,
952 OPC_CheckPatternPredicate, 82,
953 OPC_CheckComplexPat3, /*#*/1,
954 OPC_EmitMergeInputChains1_0,
955 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
956 MVT::f64, 2, 2, 3,
957 13,
958 OPC_CheckPatternPredicate, 55,
959 OPC_CheckComplexPat3, /*#*/1,
960 OPC_EmitMergeInputChains1_0,
961 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
962 MVT::f64, 2, 2, 3,
963 13,
964 OPC_CheckPatternPredicate, 56,
965 OPC_CheckComplexPat3, /*#*/1,
966 OPC_EmitMergeInputChains1_0,
967 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
968 MVT::f64, 2, 2, 3,
969 13,
970 OPC_CheckPatternPredicate, 66,
971 OPC_CheckComplexPat3, /*#*/1,
972 OPC_EmitMergeInputChains1_0,
973 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
974 MVT::f64, 2, 2, 3,
975 13,
976 OPC_CheckPatternPredicate, 62,
977 OPC_CheckComplexPat3, /*#*/1,
978 OPC_EmitMergeInputChains1_0,
979 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
980 MVT::f64, 2, 2, 3,
981 0,
982 28, MVT::f32,
983 OPC_Scope, 12,
984 OPC_CheckPatternPredicate2,
985 OPC_CheckComplexPat3, /*#*/1,
986 OPC_EmitMergeInputChains1_0,
987 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
988 MVT::f32, 2, 2, 3,
989 12,
990 OPC_CheckPatternPredicate4,
991 OPC_CheckComplexPat3, /*#*/1,
992 OPC_EmitMergeInputChains1_0,
993 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
994 MVT::f32, 2, 2, 3,
995 0,
996 0,
997 0,
998 69,
999 OPC_MoveChild1,
1000 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1001 OPC_RecordChild0,
1002 OPC_RecordChild1,
1003 OPC_MoveParent,
1004 OPC_CheckPredicate, 28,
1005 OPC_CheckPredicate, 22,
1006 OPC_SwitchType , 26, MVT::f32,
1007 OPC_Scope, 11,
1008 OPC_CheckPatternPredicate, 85,
1009 OPC_EmitMergeInputChains1_0,
1010 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1), 0|OPFL_Chain|OPFL_MemRefs,
1011 MVT::f32, 2, 1, 2,
1012 11,
1013 OPC_CheckPatternPredicate, 44,
1014 OPC_EmitMergeInputChains1_0,
1015 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
1016 MVT::f32, 2, 1, 2,
1017 0,
1018 26, MVT::f64,
1019 OPC_Scope, 11,
1020 OPC_CheckPatternPredicate, 83,
1021 OPC_EmitMergeInputChains1_0,
1022 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC1), 0|OPFL_Chain|OPFL_MemRefs,
1023 MVT::f64, 2, 1, 2,
1024 11,
1025 OPC_CheckPatternPredicate, 84,
1026 OPC_EmitMergeInputChains1_0,
1027 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC164), 0|OPFL_Chain|OPFL_MemRefs,
1028 MVT::f64, 2, 1, 2,
1029 0,
1030 0,
1031 28|128,2,
1032 OPC_RecordChild1,
1033 OPC_CheckPredicate, 28,
1034 OPC_CheckPredicate, 22,
1035 OPC_SwitchType , 30, MVT::f32,
1036 OPC_Scope, 13,
1037 OPC_CheckPatternPredicate, 35,
1038 OPC_CheckComplexPat2, /*#*/1,
1039 OPC_EmitMergeInputChains1_0,
1040 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
1041 MVT::f32, 2, 2, 3,
1042 13,
1043 OPC_CheckPatternPredicate, 45,
1044 OPC_CheckComplexPat2, /*#*/1,
1045 OPC_EmitMergeInputChains1_0,
1046 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
1047 MVT::f32, 2, 2, 3,
1048 0,
1049 73, MVT::f64,
1050 OPC_Scope, 13,
1051 OPC_CheckPatternPredicate, 67,
1052 OPC_CheckComplexPat2, /*#*/1,
1053 OPC_EmitMergeInputChains1_0,
1054 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
1055 MVT::f64, 2, 2, 3,
1056 13,
1057 OPC_CheckPatternPredicate, 68,
1058 OPC_CheckComplexPat2, /*#*/1,
1059 OPC_EmitMergeInputChains1_0,
1060 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
1061 MVT::f64, 2, 2, 3,
1062 13,
1063 OPC_CheckPatternPredicate, 46,
1064 OPC_CheckComplexPat2, /*#*/1,
1065 OPC_EmitMergeInputChains1_0,
1066 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
1067 MVT::f64, 2, 2, 3,
1068 13,
1069 OPC_CheckPatternPredicate, 47,
1070 OPC_CheckComplexPat2, /*#*/1,
1071 OPC_EmitMergeInputChains1_0,
1072 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
1073 MVT::f64, 2, 2, 3,
1074 14,
1075 OPC_CheckPatternPredicate, 89,
1076 OPC_CheckComplexPat, /*CP*/27, /*#*/1,
1077 OPC_EmitMergeInputChains1_0,
1078 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
1079 MVT::f64, 2, 2, 3,
1080 0,
1081 13, MVT::f16,
1082 OPC_CheckPatternPredicate3,
1083 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
1084 OPC_EmitMergeInputChains1_0,
1085 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_F16), 0|OPFL_Chain|OPFL_MemRefs,
1086 MVT::f16, 2, 2, 3,
1087 13, MVT::v16i8,
1088 OPC_CheckPatternPredicate0,
1089 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
1090 OPC_EmitMergeInputChains1_0,
1091 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
1092 MVT::v16i8, 2, 2, 3,
1093 13, MVT::v8i16,
1094 OPC_CheckPatternPredicate0,
1095 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
1096 OPC_EmitMergeInputChains1_0,
1097 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
1098 MVT::v8i16, 2, 2, 3,
1099 13, MVT::v4i32,
1100 OPC_CheckPatternPredicate0,
1101 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
1102 OPC_EmitMergeInputChains1_0,
1103 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
1104 MVT::v4i32, 2, 2, 3,
1105 13, MVT::v2i64,
1106 OPC_CheckPatternPredicate0,
1107 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
1108 OPC_EmitMergeInputChains1_0,
1109 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
1110 MVT::v2i64, 2, 2, 3,
1111 21, MVT::v2i16,
1112 OPC_CheckPatternPredicate1,
1113 OPC_CheckComplexPat0, /*#*/1,
1114 OPC_EmitMergeInputChains1_0,
1115 OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
1116 MVT::i32, 2, 2, 3,
1117 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
1118 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1119 MVT::v2i16, 2, 4, 5,
1120 21, MVT::v4i8,
1121 OPC_CheckPatternPredicate1,
1122 OPC_CheckComplexPat0, /*#*/1,
1123 OPC_EmitMergeInputChains1_0,
1124 OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
1125 MVT::i32, 2, 2, 3,
1126 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
1127 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1128 MVT::v4i8, 2, 4, 5,
1129 13, MVT::v8f16,
1130 OPC_CheckPatternPredicate3,
1131 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
1132 OPC_EmitMergeInputChains1_0,
1133 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
1134 MVT::v8f16, 2, 2, 3,
1135 14, 6|128,1,
1136 OPC_CheckPatternPredicate3,
1137 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
1138 OPC_EmitMergeInputChains1_0,
1139 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
1140 6|128,1, 2, 2, 3,
1141 14, 24|128,1,
1142 OPC_CheckPatternPredicate3,
1143 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
1144 OPC_EmitMergeInputChains1_0,
1145 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
1146 24|128,1, 2, 2, 3,
1147 0,
1148 0,
1149 47|128,21, TARGET_VAL(ISD::BRCOND),
1150 OPC_RecordNode,
1151 OPC_Scope, 91|128,20,
1152 OPC_MoveChild1,
1153 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
1154 OPC_Scope, 110|128,3,
1155 OPC_MoveChild0,
1156 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
1157 OPC_Scope, 3|128,1,
1158 OPC_RecordChild0,
1159 OPC_MoveChild1,
1160 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1161 OPC_Scope, 59,
1162 OPC_CheckChild0Integer, 1,
1163 OPC_RecordChild1,
1164 OPC_MoveChild1,
1165 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1166 OPC_CheckPredicate, 31,
1167 OPC_CheckTypeI64,
1168 OPC_MoveParent,
1169 OPC_MoveParent,
1170 OPC_CheckTypeI64,
1171 OPC_MoveParent,
1172 OPC_CheckChild1Integer, 0,
1173 OPC_CheckTypeI32,
1174 OPC_Scope, 19,
1175 OPC_CheckChild2CondCode, ISD::SETEQ,
1176 OPC_MoveSibling2,
1177 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1178 OPC_RecordNode,
1179 OPC_MoveParent,
1180 OPC_CheckPatternPredicate, 28,
1181 OPC_EmitMergeInputChains1_0,
1182 OPC_EmitConvertToTarget2,
1183 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1184 3, 1, 4, 3,
1185 19,
1186 OPC_CheckChild2CondCode, ISD::SETNE,
1187 OPC_MoveSibling2,
1188 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1189 OPC_RecordNode,
1190 OPC_MoveParent,
1191 OPC_CheckPatternPredicate, 28,
1192 OPC_EmitMergeInputChains1_0,
1193 OPC_EmitConvertToTarget2,
1194 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1195 3, 1, 4, 3,
1196 0,
1197 63,
1198 OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,16,
1199 OPC_RecordChild1,
1200 OPC_MoveChild1,
1201 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1202 OPC_CheckPredicate, 31,
1203 OPC_CheckTypeI64,
1204 OPC_MoveParent,
1205 OPC_MoveParent,
1206 OPC_CheckTypeI64,
1207 OPC_MoveParent,
1208 OPC_CheckChild1Integer, 0,
1209 OPC_CheckTypeI32,
1210 OPC_Scope, 19,
1211 OPC_CheckChild2CondCode, ISD::SETEQ,
1212 OPC_MoveSibling2,
1213 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1214 OPC_RecordNode,
1215 OPC_MoveParent,
1216 OPC_CheckPatternPredicate, 28,
1217 OPC_EmitMergeInputChains1_0,
1218 OPC_EmitConvertToTarget2,
1219 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1220 3, 1, 4, 3,
1221 19,
1222 OPC_CheckChild2CondCode, ISD::SETNE,
1223 OPC_MoveSibling2,
1224 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1225 OPC_RecordNode,
1226 OPC_MoveParent,
1227 OPC_CheckPatternPredicate, 28,
1228 OPC_EmitMergeInputChains1_0,
1229 OPC_EmitConvertToTarget2,
1230 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1231 3, 1, 4, 3,
1232 0,
1233 0,
1234 4|128,1,
1235 OPC_MoveChild0,
1236 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1237 OPC_Scope, 60,
1238 OPC_CheckChild0Integer, 1,
1239 OPC_RecordChild1,
1240 OPC_MoveChild1,
1241 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1242 OPC_CheckPredicate, 31,
1243 OPC_CheckTypeI64,
1244 OPC_MoveParent,
1245 OPC_MoveParent,
1246 OPC_RecordChild1,
1247 OPC_CheckTypeI64,
1248 OPC_MoveParent,
1249 OPC_CheckChild1Integer, 0,
1250 OPC_CheckTypeI32,
1251 OPC_Scope, 19,
1252 OPC_CheckChild2CondCode, ISD::SETEQ,
1253 OPC_MoveSibling2,
1254 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1255 OPC_RecordNode,
1256 OPC_MoveParent,
1257 OPC_CheckPatternPredicate, 28,
1258 OPC_EmitMergeInputChains1_0,
1259 OPC_EmitConvertToTarget1,
1260 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1261 3, 2, 4, 3,
1262 19,
1263 OPC_CheckChild2CondCode, ISD::SETNE,
1264 OPC_MoveSibling2,
1265 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1266 OPC_RecordNode,
1267 OPC_MoveParent,
1268 OPC_CheckPatternPredicate, 28,
1269 OPC_EmitMergeInputChains1_0,
1270 OPC_EmitConvertToTarget1,
1271 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1272 3, 2, 4, 3,
1273 0,
1274 64,
1275 OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,16,
1276 OPC_RecordChild1,
1277 OPC_MoveChild1,
1278 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1279 OPC_CheckPredicate, 31,
1280 OPC_CheckTypeI64,
1281 OPC_MoveParent,
1282 OPC_MoveParent,
1283 OPC_RecordChild1,
1284 OPC_CheckTypeI64,
1285 OPC_MoveParent,
1286 OPC_CheckChild1Integer, 0,
1287 OPC_CheckTypeI32,
1288 OPC_Scope, 19,
1289 OPC_CheckChild2CondCode, ISD::SETEQ,
1290 OPC_MoveSibling2,
1291 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1292 OPC_RecordNode,
1293 OPC_MoveParent,
1294 OPC_CheckPatternPredicate, 28,
1295 OPC_EmitMergeInputChains1_0,
1296 OPC_EmitConvertToTarget1,
1297 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1298 3, 2, 4, 3,
1299 19,
1300 OPC_CheckChild2CondCode, ISD::SETNE,
1301 OPC_MoveSibling2,
1302 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1303 OPC_RecordNode,
1304 OPC_MoveParent,
1305 OPC_CheckPatternPredicate, 28,
1306 OPC_EmitMergeInputChains1_0,
1307 OPC_EmitConvertToTarget1,
1308 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1309 3, 2, 4, 3,
1310 0,
1311 0,
1312 91|128,1,
1313 OPC_RecordChild0,
1314 OPC_RecordChild1,
1315 OPC_MoveChild1,
1316 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1317 OPC_Scope, 30,
1318 OPC_CheckPredicate, 39,
1319 OPC_MoveParent,
1320 OPC_CheckTypeI64,
1321 OPC_MoveParent,
1322 OPC_CheckChild1Integer, 0,
1323 OPC_CheckChild2CondCode, ISD::SETEQ,
1324 OPC_CheckTypeI32,
1325 OPC_MoveSibling2,
1326 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1327 OPC_RecordNode,
1328 OPC_MoveParent,
1329 OPC_CheckPatternPredicate, 57,
1330 OPC_EmitMergeInputChains1_0,
1331 OPC_EmitConvertToTarget2,
1332 OPC_EmitNodeXForm, 0, 4,
1333 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1334 3, 1, 5, 3,
1335 30,
1336 OPC_CheckPredicate, 40,
1337 OPC_MoveParent,
1338 OPC_CheckTypeI64,
1339 OPC_MoveParent,
1340 OPC_CheckChild1Integer, 0,
1341 OPC_CheckChild2CondCode, ISD::SETEQ,
1342 OPC_CheckTypeI32,
1343 OPC_MoveSibling2,
1344 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1345 OPC_RecordNode,
1346 OPC_MoveParent,
1347 OPC_CheckPatternPredicate, 57,
1348 OPC_EmitMergeInputChains1_0,
1349 OPC_EmitConvertToTarget2,
1350 OPC_EmitNodeXForm, 1, 4,
1351 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1352 3, 1, 5, 3,
1353 30,
1354 OPC_CheckPredicate, 39,
1355 OPC_MoveParent,
1356 OPC_CheckTypeI64,
1357 OPC_MoveParent,
1358 OPC_CheckChild1Integer, 0,
1359 OPC_CheckChild2CondCode, ISD::SETNE,
1360 OPC_CheckTypeI32,
1361 OPC_MoveSibling2,
1362 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1363 OPC_RecordNode,
1364 OPC_MoveParent,
1365 OPC_CheckPatternPredicate, 57,
1366 OPC_EmitMergeInputChains1_0,
1367 OPC_EmitConvertToTarget2,
1368 OPC_EmitNodeXForm, 0, 4,
1369 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1370 3, 1, 5, 3,
1371 30,
1372 OPC_CheckPredicate, 40,
1373 OPC_MoveParent,
1374 OPC_CheckTypeI64,
1375 OPC_MoveParent,
1376 OPC_CheckChild1Integer, 0,
1377 OPC_CheckChild2CondCode, ISD::SETNE,
1378 OPC_CheckTypeI32,
1379 OPC_MoveSibling2,
1380 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1381 OPC_RecordNode,
1382 OPC_MoveParent,
1383 OPC_CheckPatternPredicate, 57,
1384 OPC_EmitMergeInputChains1_0,
1385 OPC_EmitConvertToTarget2,
1386 OPC_EmitNodeXForm, 1, 4,
1387 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1388 3, 1, 5, 3,
1389 86,
1390 OPC_CheckPredicate, 49,
1391 OPC_MoveParent,
1392 OPC_CheckTypeI32,
1393 OPC_MoveParent,
1394 OPC_CheckChild1Integer, 0,
1395 OPC_CheckTypeI32,
1396 OPC_Scope, 37,
1397 OPC_CheckChild2CondCode, ISD::SETEQ,
1398 OPC_MoveSibling2,
1399 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1400 OPC_RecordNode,
1401 OPC_MoveParent,
1402 OPC_CheckPatternPredicate, 57,
1403 OPC_EmitMergeInputChains1_0,
1404 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
1405 MVT::i64, 0,
1406 OPC_EmitIntegerI32, Mips::sub_32,
1407 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
1408 MVT::i64, 3, 4, 1, 5,
1409 OPC_EmitConvertToTarget2,
1410 OPC_EmitNodeXForm, 0, 7,
1411 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1412 3, 6, 8, 3,
1413 37,
1414 OPC_CheckChild2CondCode, ISD::SETNE,
1415 OPC_MoveSibling2,
1416 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1417 OPC_RecordNode,
1418 OPC_MoveParent,
1419 OPC_CheckPatternPredicate, 57,
1420 OPC_EmitMergeInputChains1_0,
1421 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
1422 MVT::i64, 0,
1423 OPC_EmitIntegerI32, Mips::sub_32,
1424 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
1425 MVT::i64, 3, 4, 1, 5,
1426 OPC_EmitConvertToTarget2,
1427 OPC_EmitNodeXForm, 0, 7,
1428 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1429 3, 6, 8, 3,
1430 0,
1431 0,
1432 0,
1433 99|128,16,
1434 OPC_RecordChild0,
1435 OPC_Scope, 2|128,11,
1436 OPC_CheckChild0TypeI32,
1437 OPC_Scope, 13|128,2,
1438 OPC_CheckChild1Integer, 0,
1439 OPC_CheckTypeI32,
1440 OPC_Scope, 38,
1441 OPC_CheckChild2CondCode, ISD::SETGE,
1442 OPC_MoveSibling2,
1443 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1444 OPC_RecordNode,
1445 OPC_MoveParent,
1446 OPC_Scope, 8,
1447 OPC_CheckPatternPredicate2,
1448 OPC_EmitMergeInputChains1_0,
1449 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
1450 2, 1, 2,
1451 9,
1452 OPC_CheckPatternPredicate, 29,
1453 OPC_EmitMergeInputChains1_0,
1454 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC),
1455 2, 1, 2,
1456 8,
1457 OPC_CheckPatternPredicate7,
1458 OPC_EmitMergeInputChains1_0,
1459 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
1460 2, 1, 2,
1461 0,
1462 38,
1463 OPC_CheckChild2CondCode, ISD::SETGT,
1464 OPC_MoveSibling2,
1465 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1466 OPC_RecordNode,
1467 OPC_MoveParent,
1468 OPC_Scope, 8,
1469 OPC_CheckPatternPredicate2,
1470 OPC_EmitMergeInputChains1_0,
1471 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ),
1472 2, 1, 2,
1473 9,
1474 OPC_CheckPatternPredicate, 29,
1475 OPC_EmitMergeInputChains1_0,
1476 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC),
1477 2, 1, 2,
1478 8,
1479 OPC_CheckPatternPredicate7,
1480 OPC_EmitMergeInputChains1_0,
1481 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ_MM),
1482 2, 1, 2,
1483 0,
1484 38,
1485 OPC_CheckChild2CondCode, ISD::SETLE,
1486 OPC_MoveSibling2,
1487 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1488 OPC_RecordNode,
1489 OPC_MoveParent,
1490 OPC_Scope, 8,
1491 OPC_CheckPatternPredicate2,
1492 OPC_EmitMergeInputChains1_0,
1493 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
1494 2, 1, 2,
1495 9,
1496 OPC_CheckPatternPredicate, 29,
1497 OPC_EmitMergeInputChains1_0,
1498 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC),
1499 2, 1, 2,
1500 8,
1501 OPC_CheckPatternPredicate7,
1502 OPC_EmitMergeInputChains1_0,
1503 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
1504 2, 1, 2,
1505 0,
1506 38,
1507 OPC_CheckChild2CondCode, ISD::SETLT,
1508 OPC_MoveSibling2,
1509 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1510 OPC_RecordNode,
1511 OPC_MoveParent,
1512 OPC_Scope, 8,
1513 OPC_CheckPatternPredicate2,
1514 OPC_EmitMergeInputChains1_0,
1515 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ),
1516 2, 1, 2,
1517 9,
1518 OPC_CheckPatternPredicate, 29,
1519 OPC_EmitMergeInputChains1_0,
1520 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC),
1521 2, 1, 2,
1522 8,
1523 OPC_CheckPatternPredicate7,
1524 OPC_EmitMergeInputChains1_0,
1525 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ_MM),
1526 2, 1, 2,
1527 0,
1528 53,
1529 OPC_CheckChild2CondCode, ISD::SETNE,
1530 OPC_MoveSibling2,
1531 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1532 OPC_RecordNode,
1533 OPC_MoveParent,
1534 OPC_Scope, 11,
1535 OPC_CheckPatternPredicate2,
1536 OPC_EmitMergeInputChains1_0,
1537 OPC_EmitRegisterI32, Mips::ZERO,
1538 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
1539 3, 1, 3, 2,
1540 8,
1541 OPC_CheckPatternPredicate5,
1542 OPC_EmitMergeInputChains1_0,
1543 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
1544 2, 1, 2,
1545 11,
1546 OPC_CheckPatternPredicate7,
1547 OPC_EmitMergeInputChains1_0,
1548 OPC_EmitRegisterI32, Mips::ZERO,
1549 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
1550 3, 1, 3, 2,
1551 9,
1552 OPC_CheckPatternPredicate, 8,
1553 OPC_EmitMergeInputChains1_0,
1554 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
1555 2, 1, 2,
1556 0,
1557 53,
1558 OPC_CheckChild2CondCode, ISD::SETEQ,
1559 OPC_MoveSibling2,
1560 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1561 OPC_RecordNode,
1562 OPC_MoveParent,
1563 OPC_Scope, 11,
1564 OPC_CheckPatternPredicate2,
1565 OPC_EmitMergeInputChains1_0,
1566 OPC_EmitRegisterI32, Mips::ZERO,
1567 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1568 3, 1, 3, 2,
1569 8,
1570 OPC_CheckPatternPredicate5,
1571 OPC_EmitMergeInputChains1_0,
1572 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BeqzRxImm16),
1573 2, 1, 2,
1574 11,
1575 OPC_CheckPatternPredicate7,
1576 OPC_EmitMergeInputChains1_0,
1577 OPC_EmitRegisterI32, Mips::ZERO,
1578 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1579 3, 1, 3, 2,
1580 9,
1581 OPC_CheckPatternPredicate, 8,
1582 OPC_EmitMergeInputChains1_0,
1583 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1584 2, 1, 2,
1585 0,
1586 0,
1587 62,
1588 OPC_CheckChild1Integer, 1,
1589 OPC_CheckTypeI32,
1590 OPC_Scope, 38,
1591 OPC_CheckChild2CondCode, ISD::SETLT,
1592 OPC_MoveSibling2,
1593 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1594 OPC_RecordNode,
1595 OPC_MoveParent,
1596 OPC_Scope, 8,
1597 OPC_CheckPatternPredicate2,
1598 OPC_EmitMergeInputChains1_0,
1599 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
1600 2, 1, 2,
1601 9,
1602 OPC_CheckPatternPredicate, 29,
1603 OPC_EmitMergeInputChains1_0,
1604 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC),
1605 2, 1, 2,
1606 8,
1607 OPC_CheckPatternPredicate7,
1608 OPC_EmitMergeInputChains1_0,
1609 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
1610 2, 1, 2,
1611 0,
1612 17,
1613 OPC_CheckChild2CondCode, ISD::SETGE,
1614 OPC_MoveSibling2,
1615 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1616 OPC_RecordNode,
1617 OPC_MoveParent,
1618 OPC_CheckPatternPredicate, 29,
1619 OPC_EmitMergeInputChains1_0,
1620 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC),
1621 2, 1, 2,
1622 0,
1623 62,
1624 OPC_CheckChild1Integer, 127,
1625 OPC_CheckTypeI32,
1626 OPC_Scope, 38,
1627 OPC_CheckChild2CondCode, ISD::SETGT,
1628 OPC_MoveSibling2,
1629 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1630 OPC_RecordNode,
1631 OPC_MoveParent,
1632 OPC_Scope, 8,
1633 OPC_CheckPatternPredicate2,
1634 OPC_EmitMergeInputChains1_0,
1635 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
1636 2, 1, 2,
1637 9,
1638 OPC_CheckPatternPredicate, 29,
1639 OPC_EmitMergeInputChains1_0,
1640 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC),
1641 2, 1, 2,
1642 8,
1643 OPC_CheckPatternPredicate7,
1644 OPC_EmitMergeInputChains1_0,
1645 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
1646 2, 1, 2,
1647 0,
1648 17,
1649 OPC_CheckChild2CondCode, ISD::SETLE,
1650 OPC_MoveSibling2,
1651 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1652 OPC_RecordNode,
1653 OPC_MoveParent,
1654 OPC_CheckPatternPredicate, 29,
1655 OPC_EmitMergeInputChains1_0,
1656 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC),
1657 2, 1, 2,
1658 0,
1659 112|128,7,
1660 OPC_RecordChild1,
1661 OPC_Scope, 97|128,3,
1662 OPC_MoveChild1,
1663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1664 OPC_Scope, 61,
1665 OPC_CheckPredicate7,
1666 OPC_MoveParent,
1667 OPC_CheckTypeI32,
1668 OPC_Scope, 27,
1669 OPC_CheckChild2CondCode, ISD::SETGE,
1670 OPC_MoveSibling2,
1671 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1672 OPC_RecordNode,
1673 OPC_MoveParent,
1674 OPC_CheckPatternPredicate2,
1675 OPC_EmitMergeInputChains1_0,
1676 OPC_EmitConvertToTarget2,
1677 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
1678 MVT::i32, 2, 1, 4,
1679 OPC_EmitRegisterI32, Mips::ZERO,
1680 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1681 3, 5, 6, 3,
1682 27,
1683 OPC_CheckChild2CondCode, ISD::SETUGE,
1684 OPC_MoveSibling2,
1685 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1686 OPC_RecordNode,
1687 OPC_MoveParent,
1688 OPC_CheckPatternPredicate2,
1689 OPC_EmitMergeInputChains1_0,
1690 OPC_EmitConvertToTarget2,
1691 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
1692 MVT::i32, 2, 1, 4,
1693 OPC_EmitRegisterI32, Mips::ZERO,
1694 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1695 3, 5, 6, 3,
1696 0,
1697 68,
1698 OPC_CheckPredicate, 10,
1699 OPC_MoveParent,
1700 OPC_CheckTypeI32,
1701 OPC_Scope, 30,
1702 OPC_CheckChild2CondCode, ISD::SETGT,
1703 OPC_MoveSibling2,
1704 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1705 OPC_RecordNode,
1706 OPC_MoveParent,
1707 OPC_CheckPatternPredicate2,
1708 OPC_EmitMergeInputChains1_0,
1709 OPC_EmitConvertToTarget2,
1710 OPC_EmitNodeXForm, 2, 4,
1711 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
1712 MVT::i32, 2, 1, 5,
1713 OPC_EmitRegisterI32, Mips::ZERO,
1714 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1715 3, 6, 7, 3,
1716 30,
1717 OPC_CheckChild2CondCode, ISD::SETUGT,
1718 OPC_MoveSibling2,
1719 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1720 OPC_RecordNode,
1721 OPC_MoveParent,
1722 OPC_CheckPatternPredicate2,
1723 OPC_EmitMergeInputChains1_0,
1724 OPC_EmitConvertToTarget2,
1725 OPC_EmitNodeXForm, 2, 4,
1726 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
1727 MVT::i32, 2, 1, 5,
1728 OPC_EmitRegisterI32, Mips::ZERO,
1729 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1730 3, 6, 7, 3,
1731 0,
1732 61,
1733 OPC_CheckPredicate7,
1734 OPC_MoveParent,
1735 OPC_CheckTypeI32,
1736 OPC_Scope, 27,
1737 OPC_CheckChild2CondCode, ISD::SETGE,
1738 OPC_MoveSibling2,
1739 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1740 OPC_RecordNode,
1741 OPC_MoveParent,
1742 OPC_CheckPatternPredicate7,
1743 OPC_EmitMergeInputChains1_0,
1744 OPC_EmitConvertToTarget2,
1745 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1746 MVT::i32, 2, 1, 4,
1747 OPC_EmitRegisterI32, Mips::ZERO,
1748 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1749 3, 5, 6, 3,
1750 27,
1751 OPC_CheckChild2CondCode, ISD::SETUGE,
1752 OPC_MoveSibling2,
1753 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1754 OPC_RecordNode,
1755 OPC_MoveParent,
1756 OPC_CheckPatternPredicate7,
1757 OPC_EmitMergeInputChains1_0,
1758 OPC_EmitConvertToTarget2,
1759 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1760 MVT::i32, 2, 1, 4,
1761 OPC_EmitRegisterI32, Mips::ZERO,
1762 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1763 3, 5, 6, 3,
1764 0,
1765 68,
1766 OPC_CheckPredicate, 10,
1767 OPC_MoveParent,
1768 OPC_CheckTypeI32,
1769 OPC_Scope, 30,
1770 OPC_CheckChild2CondCode, ISD::SETGT,
1771 OPC_MoveSibling2,
1772 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1773 OPC_RecordNode,
1774 OPC_MoveParent,
1775 OPC_CheckPatternPredicate7,
1776 OPC_EmitMergeInputChains1_0,
1777 OPC_EmitConvertToTarget2,
1778 OPC_EmitNodeXForm, 2, 4,
1779 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1780 MVT::i32, 2, 1, 5,
1781 OPC_EmitRegisterI32, Mips::ZERO,
1782 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1783 3, 6, 7, 3,
1784 30,
1785 OPC_CheckChild2CondCode, ISD::SETUGT,
1786 OPC_MoveSibling2,
1787 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1788 OPC_RecordNode,
1789 OPC_MoveParent,
1790 OPC_CheckPatternPredicate7,
1791 OPC_EmitMergeInputChains1_0,
1792 OPC_EmitConvertToTarget2,
1793 OPC_EmitNodeXForm, 2, 4,
1794 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1795 MVT::i32, 2, 1, 5,
1796 OPC_EmitRegisterI32, Mips::ZERO,
1797 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1798 3, 6, 7, 3,
1799 0,
1800 57,
1801 OPC_CheckPredicate7,
1802 OPC_MoveParent,
1803 OPC_CheckTypeI32,
1804 OPC_Scope, 25,
1805 OPC_CheckChild2CondCode, ISD::SETGE,
1806 OPC_MoveSibling2,
1807 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1808 OPC_RecordNode,
1809 OPC_MoveParent,
1810 OPC_CheckPatternPredicate, 8,
1811 OPC_EmitMergeInputChains1_0,
1812 OPC_EmitConvertToTarget2,
1813 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1814 MVT::i32, 2, 1, 4,
1815 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1816 2, 5, 3,
1817 25,
1818 OPC_CheckChild2CondCode, ISD::SETUGE,
1819 OPC_MoveSibling2,
1820 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1821 OPC_RecordNode,
1822 OPC_MoveParent,
1823 OPC_CheckPatternPredicate, 8,
1824 OPC_EmitMergeInputChains1_0,
1825 OPC_EmitConvertToTarget2,
1826 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1827 MVT::i32, 2, 1, 4,
1828 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1829 2, 5, 3,
1830 0,
1831 64,
1832 OPC_CheckPredicate, 10,
1833 OPC_MoveParent,
1834 OPC_CheckTypeI32,
1835 OPC_Scope, 28,
1836 OPC_CheckChild2CondCode, ISD::SETGT,
1837 OPC_MoveSibling2,
1838 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1839 OPC_RecordNode,
1840 OPC_MoveParent,
1841 OPC_CheckPatternPredicate, 8,
1842 OPC_EmitMergeInputChains1_0,
1843 OPC_EmitConvertToTarget2,
1844 OPC_EmitNodeXForm, 2, 4,
1845 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1846 MVT::i32, 2, 1, 5,
1847 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1848 2, 6, 3,
1849 28,
1850 OPC_CheckChild2CondCode, ISD::SETUGT,
1851 OPC_MoveSibling2,
1852 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1853 OPC_RecordNode,
1854 OPC_MoveParent,
1855 OPC_CheckPatternPredicate, 8,
1856 OPC_EmitMergeInputChains1_0,
1857 OPC_EmitConvertToTarget2,
1858 OPC_EmitNodeXForm, 2, 4,
1859 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1860 MVT::i32, 2, 1, 5,
1861 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1862 2, 6, 3,
1863 0,
1864 22,
1865 OPC_CheckPredicate, 11,
1866 OPC_MoveParent,
1867 OPC_CheckChild2CondCode, ISD::SETEQ,
1868 OPC_CheckTypeI32,
1869 OPC_MoveSibling2,
1870 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1871 OPC_RecordNode,
1872 OPC_MoveParent,
1873 OPC_CheckPatternPredicate5,
1874 OPC_EmitMergeInputChains1_0,
1875 OPC_EmitConvertToTarget2,
1876 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpiX16),
1877 3, 1, 4, 3,
1878 43,
1879 OPC_CheckPredicate7,
1880 OPC_MoveParent,
1881 OPC_CheckTypeI32,
1882 OPC_Scope, 18,
1883 OPC_CheckChild2CondCode, ISD::SETGE,
1884 OPC_MoveSibling2,
1885 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1886 OPC_RecordNode,
1887 OPC_MoveParent,
1888 OPC_CheckPatternPredicate5,
1889 OPC_EmitMergeInputChains1_0,
1890 OPC_EmitConvertToTarget2,
1891 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltiX16),
1892 3, 1, 4, 3,
1893 18,
1894 OPC_CheckChild2CondCode, ISD::SETLT,
1895 OPC_MoveSibling2,
1896 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1897 OPC_RecordNode,
1898 OPC_MoveParent,
1899 OPC_CheckPatternPredicate5,
1900 OPC_EmitMergeInputChains1_0,
1901 OPC_EmitConvertToTarget2,
1902 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltiX16),
1903 3, 1, 4, 3,
1904 0,
1905 22,
1906 OPC_CheckPredicate, 11,
1907 OPC_MoveParent,
1908 OPC_CheckChild2CondCode, ISD::SETNE,
1909 OPC_CheckTypeI32,
1910 OPC_MoveSibling2,
1911 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1912 OPC_RecordNode,
1913 OPC_MoveParent,
1914 OPC_CheckPatternPredicate5,
1915 OPC_EmitMergeInputChains1_0,
1916 OPC_EmitConvertToTarget2,
1917 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpiX16),
1918 3, 1, 4, 3,
1919 0,
1920 41,
1921 OPC_CheckChild2CondCode, ISD::SETEQ,
1922 OPC_CheckTypeI32,
1923 OPC_MoveSibling2,
1924 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1925 OPC_RecordNode,
1926 OPC_MoveParent,
1927 OPC_Scope, 9,
1928 OPC_CheckPatternPredicate2,
1929 OPC_EmitMergeInputChains1_0,
1930 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1931 3, 1, 2, 3,
1932 9,
1933 OPC_CheckPatternPredicate7,
1934 OPC_EmitMergeInputChains1_0,
1935 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1936 3, 1, 2, 3,
1937 9,
1938 OPC_CheckPatternPredicate5,
1939 OPC_EmitMergeInputChains1_0,
1940 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpX16),
1941 3, 1, 2, 3,
1942 0,
1943 41,
1944 OPC_CheckChild2CondCode, ISD::SETNE,
1945 OPC_CheckTypeI32,
1946 OPC_MoveSibling2,
1947 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1948 OPC_RecordNode,
1949 OPC_MoveParent,
1950 OPC_Scope, 9,
1951 OPC_CheckPatternPredicate2,
1952 OPC_EmitMergeInputChains1_0,
1953 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
1954 3, 1, 2, 3,
1955 9,
1956 OPC_CheckPatternPredicate7,
1957 OPC_EmitMergeInputChains1_0,
1958 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
1959 3, 1, 2, 3,
1960 9,
1961 OPC_CheckPatternPredicate5,
1962 OPC_EmitMergeInputChains1_0,
1963 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpX16),
1964 3, 1, 2, 3,
1965 0,
1966 32,
1967 OPC_CheckChild2CondCode, ISD::SETLT,
1968 OPC_CheckTypeI32,
1969 OPC_MoveSibling2,
1970 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1971 OPC_RecordNode,
1972 OPC_MoveParent,
1973 OPC_Scope, 10,
1974 OPC_CheckPatternPredicate, 29,
1975 OPC_EmitMergeInputChains1_0,
1976 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC),
1977 3, 1, 2, 3,
1978 9,
1979 OPC_CheckPatternPredicate5,
1980 OPC_EmitMergeInputChains1_0,
1981 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
1982 3, 1, 2, 3,
1983 0,
1984 87,
1985 OPC_CheckChild2CondCode, ISD::SETGE,
1986 OPC_CheckTypeI32,
1987 OPC_MoveSibling2,
1988 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1989 OPC_RecordNode,
1990 OPC_MoveParent,
1991 OPC_Scope, 10,
1992 OPC_CheckPatternPredicate, 29,
1993 OPC_EmitMergeInputChains1_0,
1994 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC),
1995 3, 1, 2, 3,
1996 18,
1997 OPC_CheckPatternPredicate2,
1998 OPC_EmitMergeInputChains1_0,
1999 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
2000 MVT::i32, 2, 1, 2,
2001 OPC_EmitRegisterI32, Mips::ZERO,
2002 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2003 3, 4, 5, 3,
2004 18,
2005 OPC_CheckPatternPredicate7,
2006 OPC_EmitMergeInputChains1_0,
2007 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
2008 MVT::i32, 2, 1, 2,
2009 OPC_EmitRegisterI32, Mips::ZERO,
2010 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2011 3, 4, 5, 3,
2012 16,
2013 OPC_CheckPatternPredicate, 8,
2014 OPC_EmitMergeInputChains1_0,
2015 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
2016 MVT::i32, 2, 1, 2,
2017 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2018 2, 4, 3,
2019 9,
2020 OPC_CheckPatternPredicate5,
2021 OPC_EmitMergeInputChains1_0,
2022 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
2023 3, 1, 2, 3,
2024 0,
2025 32,
2026 OPC_CheckChild2CondCode, ISD::SETGT,
2027 OPC_CheckTypeI32,
2028 OPC_MoveSibling2,
2029 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2030 OPC_RecordNode,
2031 OPC_MoveParent,
2032 OPC_Scope, 10,
2033 OPC_CheckPatternPredicate, 29,
2034 OPC_EmitMergeInputChains1_0,
2035 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC),
2036 3, 2, 1, 3,
2037 9,
2038 OPC_CheckPatternPredicate5,
2039 OPC_EmitMergeInputChains1_0,
2040 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
2041 3, 2, 1, 3,
2042 0,
2043 87,
2044 OPC_CheckChild2CondCode, ISD::SETLE,
2045 OPC_CheckTypeI32,
2046 OPC_MoveSibling2,
2047 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2048 OPC_RecordNode,
2049 OPC_MoveParent,
2050 OPC_Scope, 10,
2051 OPC_CheckPatternPredicate, 29,
2052 OPC_EmitMergeInputChains1_0,
2053 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC),
2054 3, 2, 1, 3,
2055 18,
2056 OPC_CheckPatternPredicate2,
2057 OPC_EmitMergeInputChains1_0,
2058 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
2059 MVT::i32, 2, 2, 1,
2060 OPC_EmitRegisterI32, Mips::ZERO,
2061 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2062 3, 4, 5, 3,
2063 18,
2064 OPC_CheckPatternPredicate7,
2065 OPC_EmitMergeInputChains1_0,
2066 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
2067 MVT::i32, 2, 2, 1,
2068 OPC_EmitRegisterI32, Mips::ZERO,
2069 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2070 3, 4, 5, 3,
2071 16,
2072 OPC_CheckPatternPredicate, 8,
2073 OPC_EmitMergeInputChains1_0,
2074 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
2075 MVT::i32, 2, 2, 1,
2076 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2077 2, 4, 3,
2078 9,
2079 OPC_CheckPatternPredicate5,
2080 OPC_EmitMergeInputChains1_0,
2081 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
2082 3, 2, 1, 3,
2083 0,
2084 19,
2085 OPC_CheckChild2CondCode, ISD::SETULT,
2086 OPC_CheckTypeI32,
2087 OPC_MoveSibling2,
2088 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2089 OPC_RecordNode,
2090 OPC_MoveParent,
2091 OPC_CheckPatternPredicate, 29,
2092 OPC_EmitMergeInputChains1_0,
2093 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC),
2094 3, 1, 2, 3,
2095 77,
2096 OPC_CheckChild2CondCode, ISD::SETUGE,
2097 OPC_CheckTypeI32,
2098 OPC_MoveSibling2,
2099 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2100 OPC_RecordNode,
2101 OPC_MoveParent,
2102 OPC_Scope, 10,
2103 OPC_CheckPatternPredicate, 29,
2104 OPC_EmitMergeInputChains1_0,
2105 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC),
2106 3, 1, 2, 3,
2107 18,
2108 OPC_CheckPatternPredicate2,
2109 OPC_EmitMergeInputChains1_0,
2110 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
2111 MVT::i32, 2, 1, 2,
2112 OPC_EmitRegisterI32, Mips::ZERO,
2113 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2114 3, 4, 5, 3,
2115 18,
2116 OPC_CheckPatternPredicate7,
2117 OPC_EmitMergeInputChains1_0,
2118 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2119 MVT::i32, 2, 1, 2,
2120 OPC_EmitRegisterI32, Mips::ZERO,
2121 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2122 3, 4, 5, 3,
2123 16,
2124 OPC_CheckPatternPredicate, 8,
2125 OPC_EmitMergeInputChains1_0,
2126 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2127 MVT::i32, 2, 1, 2,
2128 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2129 2, 4, 3,
2130 0,
2131 19,
2132 OPC_CheckChild2CondCode, ISD::SETUGT,
2133 OPC_CheckTypeI32,
2134 OPC_MoveSibling2,
2135 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2136 OPC_RecordNode,
2137 OPC_MoveParent,
2138 OPC_CheckPatternPredicate, 29,
2139 OPC_EmitMergeInputChains1_0,
2140 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC),
2141 3, 2, 1, 3,
2142 77,
2143 OPC_CheckChild2CondCode, ISD::SETULE,
2144 OPC_CheckTypeI32,
2145 OPC_MoveSibling2,
2146 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2147 OPC_RecordNode,
2148 OPC_MoveParent,
2149 OPC_Scope, 10,
2150 OPC_CheckPatternPredicate, 29,
2151 OPC_EmitMergeInputChains1_0,
2152 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC),
2153 3, 2, 1, 3,
2154 18,
2155 OPC_CheckPatternPredicate2,
2156 OPC_EmitMergeInputChains1_0,
2157 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
2158 MVT::i32, 2, 2, 1,
2159 OPC_EmitRegisterI32, Mips::ZERO,
2160 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2161 3, 4, 5, 3,
2162 18,
2163 OPC_CheckPatternPredicate7,
2164 OPC_EmitMergeInputChains1_0,
2165 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2166 MVT::i32, 2, 2, 1,
2167 OPC_EmitRegisterI32, Mips::ZERO,
2168 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2169 3, 4, 5, 3,
2170 16,
2171 OPC_CheckPatternPredicate, 8,
2172 OPC_EmitMergeInputChains1_0,
2173 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2174 MVT::i32, 2, 2, 1,
2175 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2176 2, 4, 3,
2177 0,
2178 0,
2179 0,
2180 90|128,5,
2181 OPC_CheckChild0TypeI64,
2182 OPC_Scope, 47|128,1,
2183 OPC_CheckChild1Integer, 0,
2184 OPC_CheckTypeI32,
2185 OPC_Scope, 30,
2186 OPC_CheckChild2CondCode, ISD::SETGE,
2187 OPC_MoveSibling2,
2188 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2189 OPC_RecordNode,
2190 OPC_MoveParent,
2191 OPC_Scope, 9,
2192 OPC_CheckPatternPredicate, 18,
2193 OPC_EmitMergeInputChains1_0,
2194 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
2195 2, 1, 2,
2196 9,
2197 OPC_CheckPatternPredicate, 30,
2198 OPC_EmitMergeInputChains1_0,
2199 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC64),
2200 2, 1, 2,
2201 0,
2202 30,
2203 OPC_CheckChild2CondCode, ISD::SETGT,
2204 OPC_MoveSibling2,
2205 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2206 OPC_RecordNode,
2207 OPC_MoveParent,
2208 OPC_Scope, 9,
2209 OPC_CheckPatternPredicate, 18,
2210 OPC_EmitMergeInputChains1_0,
2211 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ64),
2212 2, 1, 2,
2213 9,
2214 OPC_CheckPatternPredicate, 30,
2215 OPC_EmitMergeInputChains1_0,
2216 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC64),
2217 2, 1, 2,
2218 0,
2219 30,
2220 OPC_CheckChild2CondCode, ISD::SETLE,
2221 OPC_MoveSibling2,
2222 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2223 OPC_RecordNode,
2224 OPC_MoveParent,
2225 OPC_Scope, 9,
2226 OPC_CheckPatternPredicate, 18,
2227 OPC_EmitMergeInputChains1_0,
2228 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
2229 2, 1, 2,
2230 9,
2231 OPC_CheckPatternPredicate, 30,
2232 OPC_EmitMergeInputChains1_0,
2233 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC64),
2234 2, 1, 2,
2235 0,
2236 30,
2237 OPC_CheckChild2CondCode, ISD::SETLT,
2238 OPC_MoveSibling2,
2239 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2240 OPC_RecordNode,
2241 OPC_MoveParent,
2242 OPC_Scope, 9,
2243 OPC_CheckPatternPredicate, 18,
2244 OPC_EmitMergeInputChains1_0,
2245 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ64),
2246 2, 1, 2,
2247 9,
2248 OPC_CheckPatternPredicate, 30,
2249 OPC_EmitMergeInputChains1_0,
2250 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC64),
2251 2, 1, 2,
2252 0,
2253 22,
2254 OPC_CheckChild2CondCode, ISD::SETNE,
2255 OPC_MoveSibling2,
2256 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2257 OPC_RecordNode,
2258 OPC_MoveParent,
2259 OPC_CheckPatternPredicate, 9,
2260 OPC_EmitMergeInputChains1_0,
2261 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2262 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2263 3, 1, 3, 2,
2264 22,
2265 OPC_CheckChild2CondCode, ISD::SETEQ,
2266 OPC_MoveSibling2,
2267 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2268 OPC_RecordNode,
2269 OPC_MoveParent,
2270 OPC_CheckPatternPredicate, 9,
2271 OPC_EmitMergeInputChains1_0,
2272 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2273 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
2274 3, 1, 3, 2,
2275 0,
2276 54,
2277 OPC_CheckChild1Integer, 1,
2278 OPC_CheckTypeI32,
2279 OPC_Scope, 30,
2280 OPC_CheckChild2CondCode, ISD::SETLT,
2281 OPC_MoveSibling2,
2282 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2283 OPC_RecordNode,
2284 OPC_MoveParent,
2285 OPC_Scope, 9,
2286 OPC_CheckPatternPredicate, 9,
2287 OPC_EmitMergeInputChains1_0,
2288 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
2289 2, 1, 2,
2290 9,
2291 OPC_CheckPatternPredicate, 30,
2292 OPC_EmitMergeInputChains1_0,
2293 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC64),
2294 2, 1, 2,
2295 0,
2296 17,
2297 OPC_CheckChild2CondCode, ISD::SETGE,
2298 OPC_MoveSibling2,
2299 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2300 OPC_RecordNode,
2301 OPC_MoveParent,
2302 OPC_CheckPatternPredicate, 30,
2303 OPC_EmitMergeInputChains1_0,
2304 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC64),
2305 2, 1, 2,
2306 0,
2307 54,
2308 OPC_CheckChild1Integer, 127,
2309 OPC_CheckTypeI32,
2310 OPC_Scope, 30,
2311 OPC_CheckChild2CondCode, ISD::SETGT,
2312 OPC_MoveSibling2,
2313 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2314 OPC_RecordNode,
2315 OPC_MoveParent,
2316 OPC_Scope, 9,
2317 OPC_CheckPatternPredicate, 9,
2318 OPC_EmitMergeInputChains1_0,
2319 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
2320 2, 1, 2,
2321 9,
2322 OPC_CheckPatternPredicate, 30,
2323 OPC_EmitMergeInputChains1_0,
2324 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC64),
2325 2, 1, 2,
2326 0,
2327 17,
2328 OPC_CheckChild2CondCode, ISD::SETLE,
2329 OPC_MoveSibling2,
2330 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2331 OPC_RecordNode,
2332 OPC_MoveParent,
2333 OPC_CheckPatternPredicate, 30,
2334 OPC_EmitMergeInputChains1_0,
2335 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC64),
2336 2, 1, 2,
2337 0,
2338 54|128,3,
2339 OPC_RecordChild1,
2340 OPC_Scope, 13|128,1,
2341 OPC_MoveChild1,
2342 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2343 OPC_Scope, 63,
2344 OPC_CheckPredicate7,
2345 OPC_MoveParent,
2346 OPC_CheckTypeI32,
2347 OPC_Scope, 28,
2348 OPC_CheckChild2CondCode, ISD::SETGE,
2349 OPC_MoveSibling2,
2350 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2351 OPC_RecordNode,
2352 OPC_MoveParent,
2353 OPC_CheckPatternPredicate, 9,
2354 OPC_EmitMergeInputChains1_0,
2355 OPC_EmitConvertToTarget2,
2356 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
2357 MVT::i32, 2, 1, 4,
2358 OPC_EmitRegisterI32, Mips::ZERO,
2359 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2360 3, 5, 6, 3,
2361 28,
2362 OPC_CheckChild2CondCode, ISD::SETUGE,
2363 OPC_MoveSibling2,
2364 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2365 OPC_RecordNode,
2366 OPC_MoveParent,
2367 OPC_CheckPatternPredicate, 9,
2368 OPC_EmitMergeInputChains1_0,
2369 OPC_EmitConvertToTarget2,
2370 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
2371 MVT::i32, 2, 1, 4,
2372 OPC_EmitRegisterI32, Mips::ZERO,
2373 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2374 3, 5, 6, 3,
2375 0,
2376 70,
2377 OPC_CheckPredicate, 10,
2378 OPC_MoveParent,
2379 OPC_CheckTypeI32,
2380 OPC_Scope, 31,
2381 OPC_CheckChild2CondCode, ISD::SETGT,
2382 OPC_MoveSibling2,
2383 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2384 OPC_RecordNode,
2385 OPC_MoveParent,
2386 OPC_CheckPatternPredicate, 9,
2387 OPC_EmitMergeInputChains1_0,
2388 OPC_EmitConvertToTarget2,
2389 OPC_EmitNodeXForm, 2, 4,
2390 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
2391 MVT::i32, 2, 1, 5,
2392 OPC_EmitRegisterI32, Mips::ZERO,
2393 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2394 3, 6, 7, 3,
2395 31,
2396 OPC_CheckChild2CondCode, ISD::SETUGT,
2397 OPC_MoveSibling2,
2398 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2399 OPC_RecordNode,
2400 OPC_MoveParent,
2401 OPC_CheckPatternPredicate, 9,
2402 OPC_EmitMergeInputChains1_0,
2403 OPC_EmitConvertToTarget2,
2404 OPC_EmitNodeXForm, 2, 4,
2405 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
2406 MVT::i32, 2, 1, 5,
2407 OPC_EmitRegisterI32, Mips::ZERO,
2408 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2409 3, 6, 7, 3,
2410 0,
2411 0,
2412 19,
2413 OPC_CheckChild2CondCode, ISD::SETEQ,
2414 OPC_CheckTypeI32,
2415 OPC_MoveSibling2,
2416 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2417 OPC_RecordNode,
2418 OPC_MoveParent,
2419 OPC_CheckPatternPredicate, 18,
2420 OPC_EmitMergeInputChains1_0,
2421 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
2422 3, 1, 2, 3,
2423 19,
2424 OPC_CheckChild2CondCode, ISD::SETNE,
2425 OPC_CheckTypeI32,
2426 OPC_MoveSibling2,
2427 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2428 OPC_RecordNode,
2429 OPC_MoveParent,
2430 OPC_CheckPatternPredicate, 18,
2431 OPC_EmitMergeInputChains1_0,
2432 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2433 3, 1, 2, 3,
2434 19,
2435 OPC_CheckChild2CondCode, ISD::SETLT,
2436 OPC_CheckTypeI32,
2437 OPC_MoveSibling2,
2438 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2439 OPC_RecordNode,
2440 OPC_MoveParent,
2441 OPC_CheckPatternPredicate, 30,
2442 OPC_EmitMergeInputChains1_0,
2443 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC64),
2444 3, 1, 2, 3,
2445 42,
2446 OPC_CheckChild2CondCode, ISD::SETGE,
2447 OPC_CheckTypeI32,
2448 OPC_MoveSibling2,
2449 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2450 OPC_RecordNode,
2451 OPC_MoveParent,
2452 OPC_Scope, 10,
2453 OPC_CheckPatternPredicate, 30,
2454 OPC_EmitMergeInputChains1_0,
2455 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC64),
2456 3, 1, 2, 3,
2457 19,
2458 OPC_CheckPatternPredicate, 9,
2459 OPC_EmitMergeInputChains1_0,
2460 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
2461 MVT::i32, 2, 1, 2,
2462 OPC_EmitRegisterI32, Mips::ZERO,
2463 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2464 3, 4, 5, 3,
2465 0,
2466 19,
2467 OPC_CheckChild2CondCode, ISD::SETGT,
2468 OPC_CheckTypeI32,
2469 OPC_MoveSibling2,
2470 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2471 OPC_RecordNode,
2472 OPC_MoveParent,
2473 OPC_CheckPatternPredicate, 30,
2474 OPC_EmitMergeInputChains1_0,
2475 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC64),
2476 3, 2, 1, 3,
2477 42,
2478 OPC_CheckChild2CondCode, ISD::SETLE,
2479 OPC_CheckTypeI32,
2480 OPC_MoveSibling2,
2481 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2482 OPC_RecordNode,
2483 OPC_MoveParent,
2484 OPC_Scope, 10,
2485 OPC_CheckPatternPredicate, 30,
2486 OPC_EmitMergeInputChains1_0,
2487 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC64),
2488 3, 2, 1, 3,
2489 19,
2490 OPC_CheckPatternPredicate, 9,
2491 OPC_EmitMergeInputChains1_0,
2492 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
2493 MVT::i32, 2, 2, 1,
2494 OPC_EmitRegisterI32, Mips::ZERO,
2495 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2496 3, 4, 5, 3,
2497 0,
2498 19,
2499 OPC_CheckChild2CondCode, ISD::SETULT,
2500 OPC_CheckTypeI32,
2501 OPC_MoveSibling2,
2502 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2503 OPC_RecordNode,
2504 OPC_MoveParent,
2505 OPC_CheckPatternPredicate, 30,
2506 OPC_EmitMergeInputChains1_0,
2507 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC64),
2508 3, 1, 2, 3,
2509 42,
2510 OPC_CheckChild2CondCode, ISD::SETUGE,
2511 OPC_CheckTypeI32,
2512 OPC_MoveSibling2,
2513 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2514 OPC_RecordNode,
2515 OPC_MoveParent,
2516 OPC_Scope, 10,
2517 OPC_CheckPatternPredicate, 30,
2518 OPC_EmitMergeInputChains1_0,
2519 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC64),
2520 3, 1, 2, 3,
2521 19,
2522 OPC_CheckPatternPredicate, 9,
2523 OPC_EmitMergeInputChains1_0,
2524 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
2525 MVT::i32, 2, 1, 2,
2526 OPC_EmitRegisterI32, Mips::ZERO,
2527 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2528 3, 4, 5, 3,
2529 0,
2530 19,
2531 OPC_CheckChild2CondCode, ISD::SETUGT,
2532 OPC_CheckTypeI32,
2533 OPC_MoveSibling2,
2534 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2535 OPC_RecordNode,
2536 OPC_MoveParent,
2537 OPC_CheckPatternPredicate, 30,
2538 OPC_EmitMergeInputChains1_0,
2539 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC64),
2540 3, 2, 1, 3,
2541 42,
2542 OPC_CheckChild2CondCode, ISD::SETULE,
2543 OPC_CheckTypeI32,
2544 OPC_MoveSibling2,
2545 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2546 OPC_RecordNode,
2547 OPC_MoveParent,
2548 OPC_Scope, 10,
2549 OPC_CheckPatternPredicate, 30,
2550 OPC_EmitMergeInputChains1_0,
2551 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC64),
2552 3, 2, 1, 3,
2553 19,
2554 OPC_CheckPatternPredicate, 9,
2555 OPC_EmitMergeInputChains1_0,
2556 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
2557 MVT::i32, 2, 2, 1,
2558 OPC_EmitRegisterI32, Mips::ZERO,
2559 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2560 3, 4, 5, 3,
2561 0,
2562 0,
2563 0,
2564 0,
2565 0,
2566 78,
2567 OPC_RecordChild1,
2568 OPC_Scope, 52,
2569 OPC_CheckChild1TypeI32,
2570 OPC_RecordChild2,
2571 OPC_MoveChild2,
2572 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2573 OPC_MoveParent,
2574 OPC_Scope, 11,
2575 OPC_CheckPatternPredicate2,
2576 OPC_EmitMergeInputChains1_0,
2577 OPC_EmitRegisterI32, Mips::ZERO,
2578 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
2579 3, 1, 3, 2,
2580 8,
2581 OPC_CheckPatternPredicate5,
2582 OPC_EmitMergeInputChains1_0,
2583 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
2584 2, 1, 2,
2585 11,
2586 OPC_CheckPatternPredicate7,
2587 OPC_EmitMergeInputChains1_0,
2588 OPC_EmitRegisterI32, Mips::ZERO,
2589 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
2590 3, 1, 3, 2,
2591 9,
2592 OPC_CheckPatternPredicate, 8,
2593 OPC_EmitMergeInputChains1_0,
2594 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
2595 2, 1, 2,
2596 0,
2597 21,
2598 OPC_CheckChild1TypeI64,
2599 OPC_RecordChild2,
2600 OPC_MoveChild2,
2601 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2602 OPC_MoveParent,
2603 OPC_CheckPatternPredicate, 9,
2604 OPC_EmitMergeInputChains1_0,
2605 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2606 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2607 3, 1, 3, 2,
2608 0,
2609 0,
2610 97|128,14, TARGET_VAL(ISD::AND),
2611 OPC_Scope, 56,
2612 OPC_MoveChild0,
2613 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2614 OPC_MoveChild0,
2615 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2616 OPC_RecordChild0,
2617 OPC_MoveSibling1,
2618 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2619 OPC_RecordNode,
2620 OPC_CheckPredicate3,
2621 OPC_CheckTypeI32,
2622 OPC_MoveParent,
2623 OPC_MoveSibling1,
2624 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2625 OPC_RecordNode,
2626 OPC_CheckPredicate, 11,
2627 OPC_MoveParent,
2628 OPC_CheckTypeI32,
2629 OPC_CheckPatternPredicate, 9,
2630 OPC_EmitConvertToTarget1,
2631 OPC_EmitNode1None, TARGET_VAL(Mips::DSRL),
2632 MVT::i64, 2, 0, 3,
2633 OPC_EmitIntegerI32, Mips::sub_32,
2634 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
2635 MVT::i32, 2, 4, 5,
2636 OPC_EmitConvertToTarget2,
2637 OPC_EmitNodeXForm, 3, 7,
2638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi),
2639 MVT::i32, 2, 6, 8,
2640 20,
2641 OPC_CheckAndImm, 127|128,1,
2642 OPC_MoveChild0,
2643 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2644 OPC_RecordChild0,
2645 OPC_RecordChild1,
2646 OPC_MoveParent,
2647 OPC_CheckTypeI64,
2648 OPC_CheckPatternPredicate, 28,
2649 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BADDu),
2650 MVT::i64, 2, 0, 1,
2651 67|128,3,
2652 OPC_RecordChild0,
2653 OPC_Scope, 41|128,1,
2654 OPC_RecordChild1,
2655 OPC_Scope, 102,
2656 OPC_MoveChild1,
2657 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2658 OPC_Scope, 13,
2659 OPC_CheckPredicate, 33,
2660 OPC_MoveParent,
2661 OPC_CheckTypeI32,
2662 OPC_CheckPatternPredicate2,
2663 OPC_EmitConvertToTarget1,
2664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi),
2665 MVT::i32, 2, 0, 2,
2666 17,
2667 OPC_CheckPredicate, 11,
2668 OPC_MoveParent,
2669 OPC_CheckTypeI64,
2670 OPC_CheckPatternPredicate, 18,
2671 OPC_EmitConvertToTarget1,
2672 OPC_EmitNodeXForm, 3, 2,
2673 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi64),
2674 MVT::i64, 2, 0, 3,
2675 13,
2676 OPC_CheckPredicate, 41,
2677 OPC_MoveParent,
2678 OPC_CheckTypeI32,
2679 OPC_CheckPatternPredicate4,
2680 OPC_EmitConvertToTarget1,
2681 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MM),
2682 MVT::i32, 2, 0, 2,
2683 16,
2684 OPC_CheckPredicate, 11,
2685 OPC_MoveParent,
2686 OPC_CheckTypeI32,
2687 OPC_CheckPatternPredicate4,
2688 OPC_EmitConvertToTarget1,
2689 OPC_EmitNodeXForm, 3, 2,
2690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi_MM),
2691 MVT::i32, 2, 0, 3,
2692 14,
2693 OPC_CheckPredicate, 41,
2694 OPC_MoveParent,
2695 OPC_CheckTypeI32,
2696 OPC_CheckPatternPredicate, 8,
2697 OPC_EmitConvertToTarget1,
2698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MMR6),
2699 MVT::i32, 2, 0, 2,
2700 17,
2701 OPC_CheckPredicate, 11,
2702 OPC_MoveParent,
2703 OPC_CheckTypeI32,
2704 OPC_CheckPatternPredicate, 8,
2705 OPC_EmitConvertToTarget1,
2706 OPC_EmitNodeXForm, 3, 2,
2707 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_MMR6),
2708 MVT::i32, 2, 0, 3,
2709 0,
2710 51,
2711 OPC_CheckTypeI32,
2712 OPC_Scope, 8,
2713 OPC_CheckPatternPredicate2,
2714 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND),
2715 MVT::i32, 2, 0, 1,
2716 8,
2717 OPC_CheckPatternPredicate5,
2718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AndRxRxRy16),
2719 MVT::i32, 2, 0, 1,
2720 19,
2721 OPC_CheckPatternPredicate7,
2722 OPC_Scope, 7,
2723 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND16_MM),
2724 MVT::i32, 2, 0, 1,
2725 7,
2726 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MM),
2727 MVT::i32, 2, 0, 1,
2728 0,
2729 9,
2730 OPC_CheckPatternPredicate, 8,
2731 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MMR6),
2732 MVT::i32, 2, 0, 1,
2733 0,
2734 10,
2735 OPC_CheckTypeI64,
2736 OPC_CheckPatternPredicate, 18,
2737 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND64),
2738 MVT::i64, 2, 0, 1,
2739 0,
2740 19|128,2,
2741 OPC_MoveChild1,
2742 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2743 OPC_MoveChild0,
2744 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2745 OPC_RecordChild0,
2746 OPC_MoveChild1,
2747 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2748 OPC_Scope, 0|128,1,
2749 OPC_RecordChild0,
2750 OPC_MoveChild1,
2751 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2752 OPC_MoveChild0,
2753 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2754 OPC_CheckPredicate0,
2755 OPC_CheckTypeI32,
2756 OPC_MoveSibling1,
2757 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2758 OPC_CheckPredicate0,
2759 OPC_CheckTypeI32,
2760 OPC_MoveSibling2,
2761 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2762 OPC_CheckPredicate0,
2763 OPC_CheckTypeI32,
2764 OPC_MoveSibling3,
2765 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2766 OPC_CheckPredicate0,
2767 OPC_CheckTypeI32,
2768 OPC_MoveSibling4,
2769 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2770 OPC_CheckPredicate0,
2771 OPC_CheckTypeI32,
2772 OPC_MoveSibling5,
2773 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2774 OPC_CheckPredicate0,
2775 OPC_CheckTypeI32,
2776 OPC_MoveSibling6,
2777 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2778 OPC_CheckPredicate0,
2779 OPC_CheckTypeI32,
2780 OPC_MoveSibling7,
2781 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2782 OPC_CheckPredicate0,
2783 OPC_CheckTypeI32,
2784 OPC_MoveSibling, 8,
2785 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2786 OPC_CheckPredicate0,
2787 OPC_CheckTypeI32,
2788 OPC_MoveSibling, 9,
2789 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2790 OPC_CheckPredicate0,
2791 OPC_CheckTypeI32,
2792 OPC_MoveSibling, 10,
2793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2794 OPC_CheckPredicate0,
2795 OPC_CheckTypeI32,
2796 OPC_MoveSibling, 11,
2797 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2798 OPC_CheckPredicate0,
2799 OPC_CheckTypeI32,
2800 OPC_MoveSibling, 12,
2801 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2802 OPC_CheckPredicate0,
2803 OPC_CheckTypeI32,
2804 OPC_MoveSibling, 13,
2805 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2806 OPC_CheckPredicate0,
2807 OPC_CheckTypeI32,
2808 OPC_MoveSibling, 14,
2809 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2810 OPC_CheckPredicate0,
2811 OPC_CheckTypeI32,
2812 OPC_MoveSibling, 15,
2813 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2814 OPC_CheckPredicate0,
2815 OPC_CheckTypeI32,
2816 OPC_MoveParent,
2817 OPC_MoveParent,
2818 OPC_MoveParent,
2819 OPC_MoveSibling1,
2820 OPC_CheckImmAllOnesV,
2821 OPC_MoveParent,
2822 OPC_MoveParent,
2823 OPC_CheckType, MVT::v16i8,
2824 OPC_CheckPatternPredicate3,
2825 OPC_CheckComplexPat1, /*#*/1,
2826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
2827 MVT::v16i8, 2, 0, 2,
2828 0|128,1,
2829 OPC_MoveChild0,
2830 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2831 OPC_MoveChild0,
2832 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2833 OPC_CheckPredicate0,
2834 OPC_CheckTypeI32,
2835 OPC_MoveSibling1,
2836 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2837 OPC_CheckPredicate0,
2838 OPC_CheckTypeI32,
2839 OPC_MoveSibling2,
2840 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2841 OPC_CheckPredicate0,
2842 OPC_CheckTypeI32,
2843 OPC_MoveSibling3,
2844 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2845 OPC_CheckPredicate0,
2846 OPC_CheckTypeI32,
2847 OPC_MoveSibling4,
2848 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2849 OPC_CheckPredicate0,
2850 OPC_CheckTypeI32,
2851 OPC_MoveSibling5,
2852 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2853 OPC_CheckPredicate0,
2854 OPC_CheckTypeI32,
2855 OPC_MoveSibling6,
2856 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2857 OPC_CheckPredicate0,
2858 OPC_CheckTypeI32,
2859 OPC_MoveSibling7,
2860 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2861 OPC_CheckPredicate0,
2862 OPC_CheckTypeI32,
2863 OPC_MoveSibling, 8,
2864 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2865 OPC_CheckPredicate0,
2866 OPC_CheckTypeI32,
2867 OPC_MoveSibling, 9,
2868 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2869 OPC_CheckPredicate0,
2870 OPC_CheckTypeI32,
2871 OPC_MoveSibling, 10,
2872 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2873 OPC_CheckPredicate0,
2874 OPC_CheckTypeI32,
2875 OPC_MoveSibling, 11,
2876 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2877 OPC_CheckPredicate0,
2878 OPC_CheckTypeI32,
2879 OPC_MoveSibling, 12,
2880 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2881 OPC_CheckPredicate0,
2882 OPC_CheckTypeI32,
2883 OPC_MoveSibling, 13,
2884 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2885 OPC_CheckPredicate0,
2886 OPC_CheckTypeI32,
2887 OPC_MoveSibling, 14,
2888 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2889 OPC_CheckPredicate0,
2890 OPC_CheckTypeI32,
2891 OPC_MoveSibling, 15,
2892 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2893 OPC_CheckPredicate0,
2894 OPC_CheckTypeI32,
2895 OPC_MoveParent,
2896 OPC_MoveParent,
2897 OPC_RecordChild1,
2898 OPC_MoveParent,
2899 OPC_MoveSibling1,
2900 OPC_CheckImmAllOnesV,
2901 OPC_MoveParent,
2902 OPC_MoveParent,
2903 OPC_CheckType, MVT::v16i8,
2904 OPC_CheckPatternPredicate3,
2905 OPC_CheckComplexPat1, /*#*/1,
2906 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
2907 MVT::v16i8, 2, 0, 2,
2908 0,
2909 0,
2910 21|128,2,
2911 OPC_MoveChild0,
2912 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2913 OPC_MoveChild0,
2914 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2915 OPC_RecordChild0,
2916 OPC_MoveChild1,
2917 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2918 OPC_Scope, 1|128,1,
2919 OPC_RecordChild0,
2920 OPC_MoveChild1,
2921 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2922 OPC_MoveChild0,
2923 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2924 OPC_CheckPredicate0,
2925 OPC_CheckTypeI32,
2926 OPC_MoveSibling1,
2927 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2928 OPC_CheckPredicate0,
2929 OPC_CheckTypeI32,
2930 OPC_MoveSibling2,
2931 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2932 OPC_CheckPredicate0,
2933 OPC_CheckTypeI32,
2934 OPC_MoveSibling3,
2935 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2936 OPC_CheckPredicate0,
2937 OPC_CheckTypeI32,
2938 OPC_MoveSibling4,
2939 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2940 OPC_CheckPredicate0,
2941 OPC_CheckTypeI32,
2942 OPC_MoveSibling5,
2943 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2944 OPC_CheckPredicate0,
2945 OPC_CheckTypeI32,
2946 OPC_MoveSibling6,
2947 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2948 OPC_CheckPredicate0,
2949 OPC_CheckTypeI32,
2950 OPC_MoveSibling7,
2951 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2952 OPC_CheckPredicate0,
2953 OPC_CheckTypeI32,
2954 OPC_MoveSibling, 8,
2955 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2956 OPC_CheckPredicate0,
2957 OPC_CheckTypeI32,
2958 OPC_MoveSibling, 9,
2959 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2960 OPC_CheckPredicate0,
2961 OPC_CheckTypeI32,
2962 OPC_MoveSibling, 10,
2963 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2964 OPC_CheckPredicate0,
2965 OPC_CheckTypeI32,
2966 OPC_MoveSibling, 11,
2967 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2968 OPC_CheckPredicate0,
2969 OPC_CheckTypeI32,
2970 OPC_MoveSibling, 12,
2971 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2972 OPC_CheckPredicate0,
2973 OPC_CheckTypeI32,
2974 OPC_MoveSibling, 13,
2975 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2976 OPC_CheckPredicate0,
2977 OPC_CheckTypeI32,
2978 OPC_MoveSibling, 14,
2979 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2980 OPC_CheckPredicate0,
2981 OPC_CheckTypeI32,
2982 OPC_MoveSibling, 15,
2983 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2984 OPC_CheckPredicate0,
2985 OPC_CheckTypeI32,
2986 OPC_MoveParent,
2987 OPC_MoveParent,
2988 OPC_MoveParent,
2989 OPC_MoveSibling1,
2990 OPC_CheckImmAllOnesV,
2991 OPC_MoveParent,
2992 OPC_MoveParent,
2993 OPC_RecordChild1,
2994 OPC_CheckType, MVT::v16i8,
2995 OPC_CheckPatternPredicate3,
2996 OPC_CheckComplexPat1, /*#*/0,
2997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
2998 MVT::v16i8, 2, 2, 1,
2999 1|128,1,
3000 OPC_MoveChild0,
3001 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3002 OPC_MoveChild0,
3003 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3004 OPC_CheckPredicate0,
3005 OPC_CheckTypeI32,
3006 OPC_MoveSibling1,
3007 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3008 OPC_CheckPredicate0,
3009 OPC_CheckTypeI32,
3010 OPC_MoveSibling2,
3011 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3012 OPC_CheckPredicate0,
3013 OPC_CheckTypeI32,
3014 OPC_MoveSibling3,
3015 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3016 OPC_CheckPredicate0,
3017 OPC_CheckTypeI32,
3018 OPC_MoveSibling4,
3019 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3020 OPC_CheckPredicate0,
3021 OPC_CheckTypeI32,
3022 OPC_MoveSibling5,
3023 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3024 OPC_CheckPredicate0,
3025 OPC_CheckTypeI32,
3026 OPC_MoveSibling6,
3027 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3028 OPC_CheckPredicate0,
3029 OPC_CheckTypeI32,
3030 OPC_MoveSibling7,
3031 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3032 OPC_CheckPredicate0,
3033 OPC_CheckTypeI32,
3034 OPC_MoveSibling, 8,
3035 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3036 OPC_CheckPredicate0,
3037 OPC_CheckTypeI32,
3038 OPC_MoveSibling, 9,
3039 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3040 OPC_CheckPredicate0,
3041 OPC_CheckTypeI32,
3042 OPC_MoveSibling, 10,
3043 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3044 OPC_CheckPredicate0,
3045 OPC_CheckTypeI32,
3046 OPC_MoveSibling, 11,
3047 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3048 OPC_CheckPredicate0,
3049 OPC_CheckTypeI32,
3050 OPC_MoveSibling, 12,
3051 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3052 OPC_CheckPredicate0,
3053 OPC_CheckTypeI32,
3054 OPC_MoveSibling, 13,
3055 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3056 OPC_CheckPredicate0,
3057 OPC_CheckTypeI32,
3058 OPC_MoveSibling, 14,
3059 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3060 OPC_CheckPredicate0,
3061 OPC_CheckTypeI32,
3062 OPC_MoveSibling, 15,
3063 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3064 OPC_CheckPredicate0,
3065 OPC_CheckTypeI32,
3066 OPC_MoveParent,
3067 OPC_MoveParent,
3068 OPC_RecordChild1,
3069 OPC_MoveParent,
3070 OPC_MoveSibling1,
3071 OPC_CheckImmAllOnesV,
3072 OPC_MoveParent,
3073 OPC_MoveParent,
3074 OPC_RecordChild1,
3075 OPC_CheckType, MVT::v16i8,
3076 OPC_CheckPatternPredicate3,
3077 OPC_CheckComplexPat1, /*#*/0,
3078 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
3079 MVT::v16i8, 2, 2, 1,
3080 0,
3081 34|128,1,
3082 OPC_RecordChild0,
3083 OPC_MoveChild1,
3084 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3085 OPC_MoveChild0,
3086 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3087 OPC_RecordChild0,
3088 OPC_MoveChild1,
3089 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3090 OPC_Scope, 72,
3091 OPC_RecordChild0,
3092 OPC_MoveChild1,
3093 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3094 OPC_MoveChild0,
3095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3096 OPC_CheckPredicate1,
3097 OPC_CheckTypeI32,
3098 OPC_MoveSibling1,
3099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3100 OPC_CheckPredicate1,
3101 OPC_CheckTypeI32,
3102 OPC_MoveSibling2,
3103 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3104 OPC_CheckPredicate1,
3105 OPC_CheckTypeI32,
3106 OPC_MoveSibling3,
3107 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3108 OPC_CheckPredicate1,
3109 OPC_CheckTypeI32,
3110 OPC_MoveSibling4,
3111 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3112 OPC_CheckPredicate1,
3113 OPC_CheckTypeI32,
3114 OPC_MoveSibling5,
3115 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3116 OPC_CheckPredicate1,
3117 OPC_CheckTypeI32,
3118 OPC_MoveSibling6,
3119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3120 OPC_CheckPredicate1,
3121 OPC_CheckTypeI32,
3122 OPC_MoveSibling7,
3123 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3124 OPC_CheckPredicate1,
3125 OPC_CheckTypeI32,
3126 OPC_MoveParent,
3127 OPC_MoveParent,
3128 OPC_MoveParent,
3129 OPC_MoveSibling1,
3130 OPC_CheckImmAllOnesV,
3131 OPC_MoveParent,
3132 OPC_MoveParent,
3133 OPC_CheckType, MVT::v8i16,
3134 OPC_CheckPatternPredicate3,
3135 OPC_CheckComplexPat1, /*#*/1,
3136 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3137 MVT::v8i16, 2, 0, 2,
3138 72,
3139 OPC_MoveChild0,
3140 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3141 OPC_MoveChild0,
3142 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3143 OPC_CheckPredicate1,
3144 OPC_CheckTypeI32,
3145 OPC_MoveSibling1,
3146 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3147 OPC_CheckPredicate1,
3148 OPC_CheckTypeI32,
3149 OPC_MoveSibling2,
3150 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3151 OPC_CheckPredicate1,
3152 OPC_CheckTypeI32,
3153 OPC_MoveSibling3,
3154 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3155 OPC_CheckPredicate1,
3156 OPC_CheckTypeI32,
3157 OPC_MoveSibling4,
3158 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3159 OPC_CheckPredicate1,
3160 OPC_CheckTypeI32,
3161 OPC_MoveSibling5,
3162 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3163 OPC_CheckPredicate1,
3164 OPC_CheckTypeI32,
3165 OPC_MoveSibling6,
3166 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3167 OPC_CheckPredicate1,
3168 OPC_CheckTypeI32,
3169 OPC_MoveSibling7,
3170 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3171 OPC_CheckPredicate1,
3172 OPC_CheckTypeI32,
3173 OPC_MoveParent,
3174 OPC_MoveParent,
3175 OPC_RecordChild1,
3176 OPC_MoveParent,
3177 OPC_MoveSibling1,
3178 OPC_CheckImmAllOnesV,
3179 OPC_MoveParent,
3180 OPC_MoveParent,
3181 OPC_CheckType, MVT::v8i16,
3182 OPC_CheckPatternPredicate3,
3183 OPC_CheckComplexPat1, /*#*/1,
3184 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3185 MVT::v8i16, 2, 0, 2,
3186 0,
3187 35|128,1,
3188 OPC_MoveChild0,
3189 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3190 OPC_MoveChild0,
3191 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3192 OPC_RecordChild0,
3193 OPC_MoveChild1,
3194 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3195 OPC_Scope, 73,
3196 OPC_RecordChild0,
3197 OPC_MoveChild1,
3198 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3199 OPC_MoveChild0,
3200 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3201 OPC_CheckPredicate1,
3202 OPC_CheckTypeI32,
3203 OPC_MoveSibling1,
3204 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3205 OPC_CheckPredicate1,
3206 OPC_CheckTypeI32,
3207 OPC_MoveSibling2,
3208 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3209 OPC_CheckPredicate1,
3210 OPC_CheckTypeI32,
3211 OPC_MoveSibling3,
3212 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3213 OPC_CheckPredicate1,
3214 OPC_CheckTypeI32,
3215 OPC_MoveSibling4,
3216 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3217 OPC_CheckPredicate1,
3218 OPC_CheckTypeI32,
3219 OPC_MoveSibling5,
3220 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3221 OPC_CheckPredicate1,
3222 OPC_CheckTypeI32,
3223 OPC_MoveSibling6,
3224 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3225 OPC_CheckPredicate1,
3226 OPC_CheckTypeI32,
3227 OPC_MoveSibling7,
3228 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3229 OPC_CheckPredicate1,
3230 OPC_CheckTypeI32,
3231 OPC_MoveParent,
3232 OPC_MoveParent,
3233 OPC_MoveParent,
3234 OPC_MoveSibling1,
3235 OPC_CheckImmAllOnesV,
3236 OPC_MoveParent,
3237 OPC_MoveParent,
3238 OPC_RecordChild1,
3239 OPC_CheckType, MVT::v8i16,
3240 OPC_CheckPatternPredicate3,
3241 OPC_CheckComplexPat1, /*#*/0,
3242 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3243 MVT::v8i16, 2, 2, 1,
3244 73,
3245 OPC_MoveChild0,
3246 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3247 OPC_MoveChild0,
3248 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3249 OPC_CheckPredicate1,
3250 OPC_CheckTypeI32,
3251 OPC_MoveSibling1,
3252 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3253 OPC_CheckPredicate1,
3254 OPC_CheckTypeI32,
3255 OPC_MoveSibling2,
3256 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3257 OPC_CheckPredicate1,
3258 OPC_CheckTypeI32,
3259 OPC_MoveSibling3,
3260 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3261 OPC_CheckPredicate1,
3262 OPC_CheckTypeI32,
3263 OPC_MoveSibling4,
3264 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3265 OPC_CheckPredicate1,
3266 OPC_CheckTypeI32,
3267 OPC_MoveSibling5,
3268 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3269 OPC_CheckPredicate1,
3270 OPC_CheckTypeI32,
3271 OPC_MoveSibling6,
3272 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3273 OPC_CheckPredicate1,
3274 OPC_CheckTypeI32,
3275 OPC_MoveSibling7,
3276 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3277 OPC_CheckPredicate1,
3278 OPC_CheckTypeI32,
3279 OPC_MoveParent,
3280 OPC_MoveParent,
3281 OPC_RecordChild1,
3282 OPC_MoveParent,
3283 OPC_MoveSibling1,
3284 OPC_CheckImmAllOnesV,
3285 OPC_MoveParent,
3286 OPC_MoveParent,
3287 OPC_RecordChild1,
3288 OPC_CheckType, MVT::v8i16,
3289 OPC_CheckPatternPredicate3,
3290 OPC_CheckComplexPat1, /*#*/0,
3291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3292 MVT::v8i16, 2, 2, 1,
3293 0,
3294 118,
3295 OPC_RecordChild0,
3296 OPC_MoveChild1,
3297 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3298 OPC_MoveChild0,
3299 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3300 OPC_RecordChild0,
3301 OPC_MoveChild1,
3302 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3303 OPC_Scope, 50,
3304 OPC_RecordChild0,
3305 OPC_MoveChild1,
3306 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3307 OPC_MoveChild0,
3308 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3309 OPC_CheckPredicate2,
3310 OPC_CheckTypeI32,
3311 OPC_MoveSibling1,
3312 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3313 OPC_CheckPredicate2,
3314 OPC_CheckTypeI32,
3315 OPC_MoveSibling2,
3316 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3317 OPC_CheckPredicate2,
3318 OPC_CheckTypeI32,
3319 OPC_MoveSibling3,
3320 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3321 OPC_CheckPredicate2,
3322 OPC_CheckTypeI32,
3323 OPC_MoveParent,
3324 OPC_MoveParent,
3325 OPC_CheckType, MVT::v4i32,
3326 OPC_MoveParent,
3327 OPC_MoveSibling1,
3328 OPC_CheckImmAllOnesV,
3329 OPC_MoveParent,
3330 OPC_MoveParent,
3331 OPC_CheckType, MVT::v4i32,
3332 OPC_CheckPatternPredicate3,
3333 OPC_CheckComplexPat1, /*#*/1,
3334 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3335 MVT::v4i32, 2, 0, 2,
3336 50,
3337 OPC_MoveChild0,
3338 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3339 OPC_MoveChild0,
3340 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3341 OPC_CheckPredicate2,
3342 OPC_CheckTypeI32,
3343 OPC_MoveSibling1,
3344 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3345 OPC_CheckPredicate2,
3346 OPC_CheckTypeI32,
3347 OPC_MoveSibling2,
3348 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3349 OPC_CheckPredicate2,
3350 OPC_CheckTypeI32,
3351 OPC_MoveSibling3,
3352 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3353 OPC_CheckPredicate2,
3354 OPC_CheckTypeI32,
3355 OPC_MoveParent,
3356 OPC_MoveParent,
3357 OPC_RecordChild1,
3358 OPC_CheckType, MVT::v4i32,
3359 OPC_MoveParent,
3360 OPC_MoveSibling1,
3361 OPC_CheckImmAllOnesV,
3362 OPC_MoveParent,
3363 OPC_MoveParent,
3364 OPC_CheckType, MVT::v4i32,
3365 OPC_CheckPatternPredicate3,
3366 OPC_CheckComplexPat1, /*#*/1,
3367 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3368 MVT::v4i32, 2, 0, 2,
3369 0,
3370 119,
3371 OPC_MoveChild0,
3372 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3373 OPC_MoveChild0,
3374 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3375 OPC_RecordChild0,
3376 OPC_MoveChild1,
3377 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3378 OPC_Scope, 51,
3379 OPC_RecordChild0,
3380 OPC_MoveChild1,
3381 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3382 OPC_MoveChild0,
3383 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3384 OPC_CheckPredicate2,
3385 OPC_CheckTypeI32,
3386 OPC_MoveSibling1,
3387 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3388 OPC_CheckPredicate2,
3389 OPC_CheckTypeI32,
3390 OPC_MoveSibling2,
3391 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3392 OPC_CheckPredicate2,
3393 OPC_CheckTypeI32,
3394 OPC_MoveSibling3,
3395 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3396 OPC_CheckPredicate2,
3397 OPC_CheckTypeI32,
3398 OPC_MoveParent,
3399 OPC_MoveParent,
3400 OPC_CheckType, MVT::v4i32,
3401 OPC_MoveParent,
3402 OPC_MoveSibling1,
3403 OPC_CheckImmAllOnesV,
3404 OPC_MoveParent,
3405 OPC_MoveParent,
3406 OPC_RecordChild1,
3407 OPC_CheckType, MVT::v4i32,
3408 OPC_CheckPatternPredicate3,
3409 OPC_CheckComplexPat1, /*#*/0,
3410 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3411 MVT::v4i32, 2, 2, 1,
3412 51,
3413 OPC_MoveChild0,
3414 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3415 OPC_MoveChild0,
3416 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3417 OPC_CheckPredicate2,
3418 OPC_CheckTypeI32,
3419 OPC_MoveSibling1,
3420 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3421 OPC_CheckPredicate2,
3422 OPC_CheckTypeI32,
3423 OPC_MoveSibling2,
3424 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3425 OPC_CheckPredicate2,
3426 OPC_CheckTypeI32,
3427 OPC_MoveSibling3,
3428 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3429 OPC_CheckPredicate2,
3430 OPC_CheckTypeI32,
3431 OPC_MoveParent,
3432 OPC_MoveParent,
3433 OPC_RecordChild1,
3434 OPC_CheckType, MVT::v4i32,
3435 OPC_MoveParent,
3436 OPC_MoveSibling1,
3437 OPC_CheckImmAllOnesV,
3438 OPC_MoveParent,
3439 OPC_MoveParent,
3440 OPC_RecordChild1,
3441 OPC_CheckType, MVT::v4i32,
3442 OPC_CheckPatternPredicate3,
3443 OPC_CheckComplexPat1, /*#*/0,
3444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3445 MVT::v4i32, 2, 2, 1,
3446 0,
3447 86,
3448 OPC_RecordChild0,
3449 OPC_MoveChild1,
3450 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3451 OPC_MoveChild0,
3452 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3453 OPC_RecordChild0,
3454 OPC_MoveChild1,
3455 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3456 OPC_Scope, 34,
3457 OPC_RecordChild0,
3458 OPC_MoveChild1,
3459 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3460 OPC_MoveChild0,
3461 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3462 OPC_CheckType, MVT::v4i32,
3463 OPC_MoveParent,
3464 OPC_CheckPredicate, 13,
3465 OPC_MoveParent,
3466 OPC_CheckType, MVT::v2i64,
3467 OPC_MoveParent,
3468 OPC_MoveSibling1,
3469 OPC_CheckImmAllOnesV,
3470 OPC_MoveParent,
3471 OPC_MoveParent,
3472 OPC_CheckType, MVT::v2i64,
3473 OPC_CheckPatternPredicate3,
3474 OPC_CheckComplexPat1, /*#*/1,
3475 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3476 MVT::v2i64, 2, 0, 2,
3477 34,
3478 OPC_MoveChild0,
3479 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3480 OPC_MoveChild0,
3481 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3482 OPC_CheckType, MVT::v4i32,
3483 OPC_MoveParent,
3484 OPC_CheckPredicate, 13,
3485 OPC_MoveParent,
3486 OPC_RecordChild1,
3487 OPC_CheckType, MVT::v2i64,
3488 OPC_MoveParent,
3489 OPC_MoveSibling1,
3490 OPC_CheckImmAllOnesV,
3491 OPC_MoveParent,
3492 OPC_MoveParent,
3493 OPC_CheckType, MVT::v2i64,
3494 OPC_CheckPatternPredicate3,
3495 OPC_CheckComplexPat1, /*#*/1,
3496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3497 MVT::v2i64, 2, 0, 2,
3498 0,
3499 87,
3500 OPC_MoveChild0,
3501 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3502 OPC_MoveChild0,
3503 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3504 OPC_RecordChild0,
3505 OPC_MoveChild1,
3506 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3507 OPC_Scope, 35,
3508 OPC_RecordChild0,
3509 OPC_MoveChild1,
3510 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3511 OPC_MoveChild0,
3512 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3513 OPC_CheckType, MVT::v4i32,
3514 OPC_MoveParent,
3515 OPC_CheckPredicate, 13,
3516 OPC_MoveParent,
3517 OPC_CheckType, MVT::v2i64,
3518 OPC_MoveParent,
3519 OPC_MoveSibling1,
3520 OPC_CheckImmAllOnesV,
3521 OPC_MoveParent,
3522 OPC_MoveParent,
3523 OPC_RecordChild1,
3524 OPC_CheckType, MVT::v2i64,
3525 OPC_CheckPatternPredicate3,
3526 OPC_CheckComplexPat1, /*#*/0,
3527 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3528 MVT::v2i64, 2, 2, 1,
3529 35,
3530 OPC_MoveChild0,
3531 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3532 OPC_MoveChild0,
3533 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3534 OPC_CheckType, MVT::v4i32,
3535 OPC_MoveParent,
3536 OPC_CheckPredicate, 13,
3537 OPC_MoveParent,
3538 OPC_RecordChild1,
3539 OPC_CheckType, MVT::v2i64,
3540 OPC_MoveParent,
3541 OPC_MoveSibling1,
3542 OPC_CheckImmAllOnesV,
3543 OPC_MoveParent,
3544 OPC_MoveParent,
3545 OPC_RecordChild1,
3546 OPC_CheckType, MVT::v2i64,
3547 OPC_CheckPatternPredicate3,
3548 OPC_CheckComplexPat1, /*#*/0,
3549 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3550 MVT::v2i64, 2, 2, 1,
3551 0,
3552 82,
3553 OPC_RecordChild0,
3554 OPC_MoveChild1,
3555 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3556 OPC_MoveChild0,
3557 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3558 OPC_RecordChild0,
3559 OPC_RecordChild1,
3560 OPC_Scope, 30,
3561 OPC_MoveSibling1,
3562 OPC_CheckImmAllOnesV,
3563 OPC_MoveParent,
3564 OPC_MoveParent,
3565 OPC_SwitchType , 10, MVT::v16i8,
3566 OPC_CheckPatternPredicate0,
3567 OPC_CheckComplexPat1, /*#*/1,
3568 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
3569 MVT::v16i8, 2, 0, 2,
3570 10, MVT::v8i16,
3571 OPC_CheckPatternPredicate0,
3572 OPC_CheckComplexPat1, /*#*/1,
3573 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3574 MVT::v8i16, 2, 0, 2,
3575 0,
3576 18,
3577 OPC_CheckChild1Type, MVT::v4i32,
3578 OPC_MoveSibling1,
3579 OPC_CheckImmAllOnesV,
3580 OPC_MoveParent,
3581 OPC_MoveParent,
3582 OPC_CheckType, MVT::v4i32,
3583 OPC_CheckPatternPredicate0,
3584 OPC_CheckComplexPat1, /*#*/1,
3585 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3586 MVT::v4i32, 2, 0, 2,
3587 18,
3588 OPC_CheckChild1Type, MVT::v2i64,
3589 OPC_MoveSibling1,
3590 OPC_CheckImmAllOnesV,
3591 OPC_MoveParent,
3592 OPC_MoveParent,
3593 OPC_CheckType, MVT::v2i64,
3594 OPC_CheckPatternPredicate0,
3595 OPC_CheckComplexPat1, /*#*/1,
3596 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3597 MVT::v2i64, 2, 0, 2,
3598 0,
3599 84,
3600 OPC_MoveChild0,
3601 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3602 OPC_MoveChild0,
3603 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3604 OPC_RecordChild0,
3605 OPC_RecordChild1,
3606 OPC_Scope, 31,
3607 OPC_MoveSibling1,
3608 OPC_CheckImmAllOnesV,
3609 OPC_MoveParent,
3610 OPC_MoveParent,
3611 OPC_RecordChild1,
3612 OPC_SwitchType , 10, MVT::v16i8,
3613 OPC_CheckPatternPredicate0,
3614 OPC_CheckComplexPat1, /*#*/0,
3615 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
3616 MVT::v16i8, 2, 2, 1,
3617 10, MVT::v8i16,
3618 OPC_CheckPatternPredicate0,
3619 OPC_CheckComplexPat1, /*#*/0,
3620 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
3621 MVT::v8i16, 2, 2, 1,
3622 0,
3623 19,
3624 OPC_CheckChild1Type, MVT::v4i32,
3625 OPC_MoveSibling1,
3626 OPC_CheckImmAllOnesV,
3627 OPC_MoveParent,
3628 OPC_MoveParent,
3629 OPC_RecordChild1,
3630 OPC_CheckType, MVT::v4i32,
3631 OPC_CheckPatternPredicate0,
3632 OPC_CheckComplexPat1, /*#*/0,
3633 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
3634 MVT::v4i32, 2, 2, 1,
3635 19,
3636 OPC_CheckChild1Type, MVT::v2i64,
3637 OPC_MoveSibling1,
3638 OPC_CheckImmAllOnesV,
3639 OPC_MoveParent,
3640 OPC_MoveParent,
3641 OPC_RecordChild1,
3642 OPC_CheckType, MVT::v2i64,
3643 OPC_CheckPatternPredicate0,
3644 OPC_CheckComplexPat1, /*#*/0,
3645 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
3646 MVT::v2i64, 2, 2, 1,
3647 0,
3648 36|128,1,
3649 OPC_RecordChild0,
3650 OPC_RecordChild1,
3651 OPC_SwitchType , 53, MVT::v16i8,
3652 OPC_CheckPatternPredicate0,
3653 OPC_Scope, 9,
3654 OPC_CheckComplexPat6, /*#*/1,
3655 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
3656 MVT::v16i8, 2, 0, 2,
3657 10,
3658 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
3659 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
3660 MVT::v16i8, 2, 0, 2,
3661 9,
3662 OPC_CheckComplexPat6, /*#*/0,
3663 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
3664 MVT::v16i8, 2, 1, 2,
3665 10,
3666 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
3667 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
3668 MVT::v16i8, 2, 1, 2,
3669 7,
3670 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V),
3671 MVT::v16i8, 2, 0, 1,
3672 0,
3673 33, MVT::v8i16,
3674 OPC_CheckPatternPredicate0,
3675 OPC_Scope, 10,
3676 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
3677 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
3678 MVT::v8i16, 2, 0, 2,
3679 10,
3680 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
3681 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
3682 MVT::v8i16, 2, 1, 2,
3683 7,
3684 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_H_PSEUDO),
3685 MVT::v8i16, 2, 0, 1,
3686 0,
3687 33, MVT::v4i32,
3688 OPC_CheckPatternPredicate0,
3689 OPC_Scope, 10,
3690 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
3691 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
3692 MVT::v4i32, 2, 0, 2,
3693 10,
3694 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
3695 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
3696 MVT::v4i32, 2, 1, 2,
3697 7,
3698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_W_PSEUDO),
3699 MVT::v4i32, 2, 0, 1,
3700 0,
3701 33, MVT::v2i64,
3702 OPC_CheckPatternPredicate0,
3703 OPC_Scope, 10,
3704 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
3705 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
3706 MVT::v2i64, 2, 0, 2,
3707 10,
3708 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
3709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
3710 MVT::v2i64, 2, 1, 2,
3711 7,
3712 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_D_PSEUDO),
3713 MVT::v2i64, 2, 0, 1,
3714 0,
3715 0,
3716 0,
3717 41|128,7, TARGET_VAL(ISD::SHL),
3718 OPC_RecordChild0,
3719 OPC_Scope, 15|128,1,
3720 OPC_MoveChild1,
3721 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3722 OPC_Scope, 51,
3723 OPC_RecordChild0,
3724 OPC_MoveChild0,
3725 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3726 OPC_Scope, 20,
3727 OPC_CheckPredicate3,
3728 OPC_MoveSibling1,
3729 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3730 OPC_MoveParent,
3731 OPC_CheckPredicate, 23,
3732 OPC_CheckTypeI32,
3733 OPC_MoveParent,
3734 OPC_CheckTypeI32,
3735 OPC_CheckPatternPredicate2,
3736 OPC_EmitConvertToTarget1,
3737 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
3738 MVT::i32, 2, 0, 2,
3739 22,
3740 OPC_CheckPredicate, 15,
3741 OPC_MoveSibling1,
3742 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3743 OPC_MoveParent,
3744 OPC_CheckPredicate, 24,
3745 OPC_CheckTypeI32,
3746 OPC_MoveParent,
3747 OPC_CheckTypeI64,
3748 OPC_CheckPatternPredicate, 26,
3749 OPC_EmitConvertToTarget1,
3750 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
3751 MVT::i64, 2, 0, 2,
3752 0,
3753 47,
3754 OPC_MoveChild0,
3755 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3756 OPC_MoveSibling1,
3757 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3758 OPC_RecordNode,
3759 OPC_Scope, 16,
3760 OPC_CheckPredicate3,
3761 OPC_MoveParent,
3762 OPC_CheckPredicate, 23,
3763 OPC_CheckTypeI32,
3764 OPC_MoveParent,
3765 OPC_CheckTypeI32,
3766 OPC_CheckPatternPredicate2,
3767 OPC_EmitConvertToTarget1,
3768 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
3769 MVT::i32, 2, 0, 2,
3770 18,
3771 OPC_CheckPredicate, 15,
3772 OPC_MoveParent,
3773 OPC_CheckPredicate, 24,
3774 OPC_CheckTypeI32,
3775 OPC_MoveParent,
3776 OPC_CheckTypeI64,
3777 OPC_CheckPatternPredicate, 26,
3778 OPC_EmitConvertToTarget1,
3779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
3780 MVT::i64, 2, 0, 2,
3781 0,
3782 36,
3783 OPC_RecordChild0,
3784 OPC_MoveChild1,
3785 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3786 OPC_MoveParent,
3787 OPC_CheckTypeI32,
3788 OPC_Scope, 12,
3789 OPC_CheckPredicate, 23,
3790 OPC_MoveParent,
3791 OPC_CheckTypeI32,
3792 OPC_CheckPatternPredicate2,
3793 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
3794 MVT::i32, 2, 0, 1,
3795 13,
3796 OPC_CheckPredicate, 24,
3797 OPC_MoveParent,
3798 OPC_CheckTypeI64,
3799 OPC_CheckPatternPredicate, 26,
3800 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
3801 MVT::i64, 2, 0, 1,
3802 0,
3803 0,
3804 76,
3805 OPC_RecordChild1,
3806 OPC_MoveChild1,
3807 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3808 OPC_CheckTypeI32,
3809 OPC_Scope, 12,
3810 OPC_CheckPredicate3,
3811 OPC_MoveParent,
3812 OPC_CheckTypeI32,
3813 OPC_CheckPatternPredicate2,
3814 OPC_EmitConvertToTarget1,
3815 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
3816 MVT::i32, 2, 0, 2,
3817 14,
3818 OPC_CheckPredicate, 15,
3819 OPC_MoveParent,
3820 OPC_CheckTypeI64,
3821 OPC_CheckPatternPredicate, 26,
3822 OPC_EmitConvertToTarget1,
3823 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
3824 MVT::i64, 2, 0, 2,
3825 12,
3826 OPC_CheckPredicate3,
3827 OPC_MoveParent,
3828 OPC_CheckTypeI32,
3829 OPC_CheckPatternPredicate5,
3830 OPC_EmitConvertToTarget1,
3831 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
3832 MVT::i32, 2, 0, 2,
3833 13,
3834 OPC_CheckPredicate, 42,
3835 OPC_MoveParent,
3836 OPC_CheckTypeI32,
3837 OPC_CheckPatternPredicate4,
3838 OPC_EmitConvertToTarget1,
3839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL16_MM),
3840 MVT::i32, 2, 0, 2,
3841 12,
3842 OPC_CheckPredicate3,
3843 OPC_MoveParent,
3844 OPC_CheckTypeI32,
3845 OPC_CheckPatternPredicate4,
3846 OPC_EmitConvertToTarget1,
3847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_MM),
3848 MVT::i32, 2, 0, 2,
3849 0,
3850 25,
3851 OPC_MoveChild1,
3852 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3853 OPC_RecordChild0,
3854 OPC_MoveParent,
3855 OPC_CheckTypeI64,
3856 OPC_CheckPatternPredicate, 9,
3857 OPC_EmitIntegerI32, Mips::sub_32,
3858 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3859 MVT::i32, 2, 1, 2,
3860 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
3861 MVT::i64, 2, 0, 3,
3862 46,
3863 OPC_RecordChild1,
3864 OPC_CheckChild1TypeI32,
3865 OPC_SwitchType , 29, MVT::i32,
3866 OPC_Scope, 8,
3867 OPC_CheckPatternPredicate2,
3868 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
3869 MVT::i32, 2, 0, 1,
3870 8,
3871 OPC_CheckPatternPredicate5,
3872 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllvRxRy16),
3873 MVT::i32, 2, 0, 1,
3874 8,
3875 OPC_CheckPatternPredicate4,
3876 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV_MM),
3877 MVT::i32, 2, 0, 1,
3878 0,
3879 9, MVT::i64,
3880 OPC_CheckPatternPredicate, 26,
3881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
3882 MVT::i64, 2, 0, 1,
3883 0,
3884 22|128,4,
3885 OPC_MoveChild1,
3886 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3887 OPC_Scope, 122,
3888 OPC_RecordChild0,
3889 OPC_MoveChild1,
3890 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3891 OPC_MoveChild0,
3892 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3893 OPC_CheckPredicate0,
3894 OPC_CheckTypeI32,
3895 OPC_MoveSibling1,
3896 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3897 OPC_CheckPredicate0,
3898 OPC_CheckTypeI32,
3899 OPC_MoveSibling2,
3900 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3901 OPC_CheckPredicate0,
3902 OPC_CheckTypeI32,
3903 OPC_MoveSibling3,
3904 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3905 OPC_CheckPredicate0,
3906 OPC_CheckTypeI32,
3907 OPC_MoveSibling4,
3908 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3909 OPC_CheckPredicate0,
3910 OPC_CheckTypeI32,
3911 OPC_MoveSibling5,
3912 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3913 OPC_CheckPredicate0,
3914 OPC_CheckTypeI32,
3915 OPC_MoveSibling6,
3916 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3917 OPC_CheckPredicate0,
3918 OPC_CheckTypeI32,
3919 OPC_MoveSibling7,
3920 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3921 OPC_CheckPredicate0,
3922 OPC_CheckTypeI32,
3923 OPC_MoveSibling, 8,
3924 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3925 OPC_CheckPredicate0,
3926 OPC_CheckTypeI32,
3927 OPC_MoveSibling, 9,
3928 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3929 OPC_CheckPredicate0,
3930 OPC_CheckTypeI32,
3931 OPC_MoveSibling, 10,
3932 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3933 OPC_CheckPredicate0,
3934 OPC_CheckTypeI32,
3935 OPC_MoveSibling, 11,
3936 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3937 OPC_CheckPredicate0,
3938 OPC_CheckTypeI32,
3939 OPC_MoveSibling, 12,
3940 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3941 OPC_CheckPredicate0,
3942 OPC_CheckTypeI32,
3943 OPC_MoveSibling, 13,
3944 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3945 OPC_CheckPredicate0,
3946 OPC_CheckTypeI32,
3947 OPC_MoveSibling, 14,
3948 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3949 OPC_CheckPredicate0,
3950 OPC_CheckTypeI32,
3951 OPC_MoveSibling, 15,
3952 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3953 OPC_CheckPredicate0,
3954 OPC_CheckTypeI32,
3955 OPC_MoveParent,
3956 OPC_MoveParent,
3957 OPC_MoveParent,
3958 OPC_CheckType, MVT::v16i8,
3959 OPC_CheckPatternPredicate3,
3960 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
3961 MVT::v16i8, 2, 0, 1,
3962 122,
3963 OPC_MoveChild0,
3964 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3965 OPC_MoveChild0,
3966 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3967 OPC_CheckPredicate0,
3968 OPC_CheckTypeI32,
3969 OPC_MoveSibling1,
3970 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3971 OPC_CheckPredicate0,
3972 OPC_CheckTypeI32,
3973 OPC_MoveSibling2,
3974 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3975 OPC_CheckPredicate0,
3976 OPC_CheckTypeI32,
3977 OPC_MoveSibling3,
3978 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3979 OPC_CheckPredicate0,
3980 OPC_CheckTypeI32,
3981 OPC_MoveSibling4,
3982 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3983 OPC_CheckPredicate0,
3984 OPC_CheckTypeI32,
3985 OPC_MoveSibling5,
3986 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3987 OPC_CheckPredicate0,
3988 OPC_CheckTypeI32,
3989 OPC_MoveSibling6,
3990 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3991 OPC_CheckPredicate0,
3992 OPC_CheckTypeI32,
3993 OPC_MoveSibling7,
3994 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3995 OPC_CheckPredicate0,
3996 OPC_CheckTypeI32,
3997 OPC_MoveSibling, 8,
3998 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3999 OPC_CheckPredicate0,
4000 OPC_CheckTypeI32,
4001 OPC_MoveSibling, 9,
4002 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4003 OPC_CheckPredicate0,
4004 OPC_CheckTypeI32,
4005 OPC_MoveSibling, 10,
4006 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4007 OPC_CheckPredicate0,
4008 OPC_CheckTypeI32,
4009 OPC_MoveSibling, 11,
4010 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4011 OPC_CheckPredicate0,
4012 OPC_CheckTypeI32,
4013 OPC_MoveSibling, 12,
4014 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4015 OPC_CheckPredicate0,
4016 OPC_CheckTypeI32,
4017 OPC_MoveSibling, 13,
4018 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4019 OPC_CheckPredicate0,
4020 OPC_CheckTypeI32,
4021 OPC_MoveSibling, 14,
4022 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4023 OPC_CheckPredicate0,
4024 OPC_CheckTypeI32,
4025 OPC_MoveSibling, 15,
4026 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4027 OPC_CheckPredicate0,
4028 OPC_CheckTypeI32,
4029 OPC_MoveParent,
4030 OPC_MoveParent,
4031 OPC_RecordChild1,
4032 OPC_MoveParent,
4033 OPC_CheckType, MVT::v16i8,
4034 OPC_CheckPatternPredicate3,
4035 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
4036 MVT::v16i8, 2, 0, 1,
4037 66,
4038 OPC_RecordChild0,
4039 OPC_MoveChild1,
4040 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4041 OPC_MoveChild0,
4042 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4043 OPC_CheckPredicate1,
4044 OPC_CheckTypeI32,
4045 OPC_MoveSibling1,
4046 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4047 OPC_CheckPredicate1,
4048 OPC_CheckTypeI32,
4049 OPC_MoveSibling2,
4050 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4051 OPC_CheckPredicate1,
4052 OPC_CheckTypeI32,
4053 OPC_MoveSibling3,
4054 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4055 OPC_CheckPredicate1,
4056 OPC_CheckTypeI32,
4057 OPC_MoveSibling4,
4058 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4059 OPC_CheckPredicate1,
4060 OPC_CheckTypeI32,
4061 OPC_MoveSibling5,
4062 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4063 OPC_CheckPredicate1,
4064 OPC_CheckTypeI32,
4065 OPC_MoveSibling6,
4066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4067 OPC_CheckPredicate1,
4068 OPC_CheckTypeI32,
4069 OPC_MoveSibling7,
4070 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4071 OPC_CheckPredicate1,
4072 OPC_CheckTypeI32,
4073 OPC_MoveParent,
4074 OPC_MoveParent,
4075 OPC_MoveParent,
4076 OPC_CheckType, MVT::v8i16,
4077 OPC_CheckPatternPredicate3,
4078 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
4079 MVT::v8i16, 2, 0, 1,
4080 66,
4081 OPC_MoveChild0,
4082 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4083 OPC_MoveChild0,
4084 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4085 OPC_CheckPredicate1,
4086 OPC_CheckTypeI32,
4087 OPC_MoveSibling1,
4088 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4089 OPC_CheckPredicate1,
4090 OPC_CheckTypeI32,
4091 OPC_MoveSibling2,
4092 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4093 OPC_CheckPredicate1,
4094 OPC_CheckTypeI32,
4095 OPC_MoveSibling3,
4096 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4097 OPC_CheckPredicate1,
4098 OPC_CheckTypeI32,
4099 OPC_MoveSibling4,
4100 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4101 OPC_CheckPredicate1,
4102 OPC_CheckTypeI32,
4103 OPC_MoveSibling5,
4104 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4105 OPC_CheckPredicate1,
4106 OPC_CheckTypeI32,
4107 OPC_MoveSibling6,
4108 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4109 OPC_CheckPredicate1,
4110 OPC_CheckTypeI32,
4111 OPC_MoveSibling7,
4112 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4113 OPC_CheckPredicate1,
4114 OPC_CheckTypeI32,
4115 OPC_MoveParent,
4116 OPC_MoveParent,
4117 OPC_RecordChild1,
4118 OPC_MoveParent,
4119 OPC_CheckType, MVT::v8i16,
4120 OPC_CheckPatternPredicate3,
4121 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
4122 MVT::v8i16, 2, 0, 1,
4123 44,
4124 OPC_RecordChild0,
4125 OPC_MoveChild1,
4126 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4127 OPC_MoveChild0,
4128 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4129 OPC_CheckPredicate2,
4130 OPC_CheckTypeI32,
4131 OPC_MoveSibling1,
4132 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4133 OPC_CheckPredicate2,
4134 OPC_CheckTypeI32,
4135 OPC_MoveSibling2,
4136 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4137 OPC_CheckPredicate2,
4138 OPC_CheckTypeI32,
4139 OPC_MoveSibling3,
4140 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4141 OPC_CheckPredicate2,
4142 OPC_CheckTypeI32,
4143 OPC_MoveParent,
4144 OPC_MoveParent,
4145 OPC_CheckType, MVT::v4i32,
4146 OPC_MoveParent,
4147 OPC_CheckType, MVT::v4i32,
4148 OPC_CheckPatternPredicate3,
4149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
4150 MVT::v4i32, 2, 0, 1,
4151 44,
4152 OPC_MoveChild0,
4153 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4154 OPC_MoveChild0,
4155 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4156 OPC_CheckPredicate2,
4157 OPC_CheckTypeI32,
4158 OPC_MoveSibling1,
4159 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4160 OPC_CheckPredicate2,
4161 OPC_CheckTypeI32,
4162 OPC_MoveSibling2,
4163 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4164 OPC_CheckPredicate2,
4165 OPC_CheckTypeI32,
4166 OPC_MoveSibling3,
4167 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4168 OPC_CheckPredicate2,
4169 OPC_CheckTypeI32,
4170 OPC_MoveParent,
4171 OPC_MoveParent,
4172 OPC_RecordChild1,
4173 OPC_CheckType, MVT::v4i32,
4174 OPC_MoveParent,
4175 OPC_CheckType, MVT::v4i32,
4176 OPC_CheckPatternPredicate3,
4177 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
4178 MVT::v4i32, 2, 0, 1,
4179 28,
4180 OPC_RecordChild0,
4181 OPC_MoveChild1,
4182 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
4183 OPC_MoveChild0,
4184 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4185 OPC_CheckType, MVT::v4i32,
4186 OPC_MoveParent,
4187 OPC_CheckPredicate, 13,
4188 OPC_MoveParent,
4189 OPC_CheckType, MVT::v2i64,
4190 OPC_MoveParent,
4191 OPC_CheckType, MVT::v2i64,
4192 OPC_CheckPatternPredicate3,
4193 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
4194 MVT::v2i64, 2, 0, 1,
4195 28,
4196 OPC_MoveChild0,
4197 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
4198 OPC_MoveChild0,
4199 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4200 OPC_CheckType, MVT::v4i32,
4201 OPC_MoveParent,
4202 OPC_CheckPredicate, 13,
4203 OPC_MoveParent,
4204 OPC_RecordChild1,
4205 OPC_CheckType, MVT::v2i64,
4206 OPC_MoveParent,
4207 OPC_CheckType, MVT::v2i64,
4208 OPC_CheckPatternPredicate3,
4209 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
4210 MVT::v2i64, 2, 0, 1,
4211 0,
4212 102,
4213 OPC_RecordChild1,
4214 OPC_SwitchType , 22, MVT::v16i8,
4215 OPC_CheckPatternPredicate0,
4216 OPC_Scope, 10,
4217 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
4218 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_B),
4219 MVT::v16i8, 2, 0, 2,
4220 7,
4221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
4222 MVT::v16i8, 2, 0, 1,
4223 0,
4224 22, MVT::v8i16,
4225 OPC_CheckPatternPredicate0,
4226 OPC_Scope, 10,
4227 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
4228 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_H),
4229 MVT::v8i16, 2, 0, 2,
4230 7,
4231 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
4232 MVT::v8i16, 2, 0, 1,
4233 0,
4234 23, MVT::v4i32,
4235 OPC_CheckChild1Type, MVT::v4i32,
4236 OPC_CheckPatternPredicate0,
4237 OPC_Scope, 9,
4238 OPC_CheckComplexPat5, /*#*/1,
4239 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_W),
4240 MVT::v4i32, 2, 0, 2,
4241 7,
4242 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
4243 MVT::v4i32, 2, 0, 1,
4244 0,
4245 24, MVT::v2i64,
4246 OPC_CheckChild1Type, MVT::v2i64,
4247 OPC_CheckPatternPredicate0,
4248 OPC_Scope, 10,
4249 OPC_CheckComplexPat, /*CP*/25, /*#*/1,
4250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_D),
4251 MVT::v2i64, 2, 0, 2,
4252 7,
4253 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
4254 MVT::v2i64, 2, 0, 1,
4255 0,
4256 0,
4257 0,
4258 41|128,7, TARGET_VAL(ISD::SRL),
4259 OPC_RecordChild0,
4260 OPC_Scope, 15|128,1,
4261 OPC_MoveChild1,
4262 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4263 OPC_Scope, 51,
4264 OPC_RecordChild0,
4265 OPC_MoveChild0,
4266 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4267 OPC_Scope, 20,
4268 OPC_CheckPredicate3,
4269 OPC_MoveSibling1,
4270 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4271 OPC_MoveParent,
4272 OPC_CheckPredicate, 23,
4273 OPC_CheckTypeI32,
4274 OPC_MoveParent,
4275 OPC_CheckTypeI32,
4276 OPC_CheckPatternPredicate2,
4277 OPC_EmitConvertToTarget1,
4278 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
4279 MVT::i32, 2, 0, 2,
4280 22,
4281 OPC_CheckPredicate, 15,
4282 OPC_MoveSibling1,
4283 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4284 OPC_MoveParent,
4285 OPC_CheckPredicate, 24,
4286 OPC_CheckTypeI32,
4287 OPC_MoveParent,
4288 OPC_CheckTypeI64,
4289 OPC_CheckPatternPredicate, 26,
4290 OPC_EmitConvertToTarget1,
4291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
4292 MVT::i64, 2, 0, 2,
4293 0,
4294 47,
4295 OPC_MoveChild0,
4296 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4297 OPC_MoveSibling1,
4298 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4299 OPC_RecordNode,
4300 OPC_Scope, 16,
4301 OPC_CheckPredicate3,
4302 OPC_MoveParent,
4303 OPC_CheckPredicate, 23,
4304 OPC_CheckTypeI32,
4305 OPC_MoveParent,
4306 OPC_CheckTypeI32,
4307 OPC_CheckPatternPredicate2,
4308 OPC_EmitConvertToTarget1,
4309 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
4310 MVT::i32, 2, 0, 2,
4311 18,
4312 OPC_CheckPredicate, 15,
4313 OPC_MoveParent,
4314 OPC_CheckPredicate, 24,
4315 OPC_CheckTypeI32,
4316 OPC_MoveParent,
4317 OPC_CheckTypeI64,
4318 OPC_CheckPatternPredicate, 26,
4319 OPC_EmitConvertToTarget1,
4320 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
4321 MVT::i64, 2, 0, 2,
4322 0,
4323 36,
4324 OPC_RecordChild0,
4325 OPC_MoveChild1,
4326 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4327 OPC_MoveParent,
4328 OPC_CheckTypeI32,
4329 OPC_Scope, 12,
4330 OPC_CheckPredicate, 23,
4331 OPC_MoveParent,
4332 OPC_CheckTypeI32,
4333 OPC_CheckPatternPredicate2,
4334 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
4335 MVT::i32, 2, 0, 1,
4336 13,
4337 OPC_CheckPredicate, 24,
4338 OPC_MoveParent,
4339 OPC_CheckTypeI64,
4340 OPC_CheckPatternPredicate, 26,
4341 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
4342 MVT::i64, 2, 0, 1,
4343 0,
4344 0,
4345 76,
4346 OPC_RecordChild1,
4347 OPC_MoveChild1,
4348 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4349 OPC_CheckTypeI32,
4350 OPC_Scope, 12,
4351 OPC_CheckPredicate3,
4352 OPC_MoveParent,
4353 OPC_CheckTypeI32,
4354 OPC_CheckPatternPredicate2,
4355 OPC_EmitConvertToTarget1,
4356 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
4357 MVT::i32, 2, 0, 2,
4358 14,
4359 OPC_CheckPredicate, 15,
4360 OPC_MoveParent,
4361 OPC_CheckTypeI64,
4362 OPC_CheckPatternPredicate, 26,
4363 OPC_EmitConvertToTarget1,
4364 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
4365 MVT::i64, 2, 0, 2,
4366 12,
4367 OPC_CheckPredicate3,
4368 OPC_MoveParent,
4369 OPC_CheckTypeI32,
4370 OPC_CheckPatternPredicate5,
4371 OPC_EmitConvertToTarget1,
4372 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlX16),
4373 MVT::i32, 2, 0, 2,
4374 13,
4375 OPC_CheckPredicate, 42,
4376 OPC_MoveParent,
4377 OPC_CheckTypeI32,
4378 OPC_CheckPatternPredicate4,
4379 OPC_EmitConvertToTarget1,
4380 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL16_MM),
4381 MVT::i32, 2, 0, 2,
4382 12,
4383 OPC_CheckPredicate3,
4384 OPC_MoveParent,
4385 OPC_CheckTypeI32,
4386 OPC_CheckPatternPredicate4,
4387 OPC_EmitConvertToTarget1,
4388 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_MM),
4389 MVT::i32, 2, 0, 2,
4390 0,
4391 25,
4392 OPC_MoveChild1,
4393 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4394 OPC_RecordChild0,
4395 OPC_MoveParent,
4396 OPC_CheckTypeI64,
4397 OPC_CheckPatternPredicate, 9,
4398 OPC_EmitIntegerI32, Mips::sub_32,
4399 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4400 MVT::i32, 2, 1, 2,
4401 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
4402 MVT::i64, 2, 0, 3,
4403 46,
4404 OPC_RecordChild1,
4405 OPC_CheckChild1TypeI32,
4406 OPC_SwitchType , 29, MVT::i32,
4407 OPC_Scope, 8,
4408 OPC_CheckPatternPredicate2,
4409 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
4410 MVT::i32, 2, 0, 1,
4411 8,
4412 OPC_CheckPatternPredicate5,
4413 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlvRxRy16),
4414 MVT::i32, 2, 0, 1,
4415 8,
4416 OPC_CheckPatternPredicate4,
4417 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV_MM),
4418 MVT::i32, 2, 0, 1,
4419 0,
4420 9, MVT::i64,
4421 OPC_CheckPatternPredicate, 26,
4422 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
4423 MVT::i64, 2, 0, 1,
4424 0,
4425 22|128,4,
4426 OPC_MoveChild1,
4427 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4428 OPC_Scope, 122,
4429 OPC_RecordChild0,
4430 OPC_MoveChild1,
4431 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4432 OPC_MoveChild0,
4433 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4434 OPC_CheckPredicate0,
4435 OPC_CheckTypeI32,
4436 OPC_MoveSibling1,
4437 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4438 OPC_CheckPredicate0,
4439 OPC_CheckTypeI32,
4440 OPC_MoveSibling2,
4441 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4442 OPC_CheckPredicate0,
4443 OPC_CheckTypeI32,
4444 OPC_MoveSibling3,
4445 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4446 OPC_CheckPredicate0,
4447 OPC_CheckTypeI32,
4448 OPC_MoveSibling4,
4449 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4450 OPC_CheckPredicate0,
4451 OPC_CheckTypeI32,
4452 OPC_MoveSibling5,
4453 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4454 OPC_CheckPredicate0,
4455 OPC_CheckTypeI32,
4456 OPC_MoveSibling6,
4457 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4458 OPC_CheckPredicate0,
4459 OPC_CheckTypeI32,
4460 OPC_MoveSibling7,
4461 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4462 OPC_CheckPredicate0,
4463 OPC_CheckTypeI32,
4464 OPC_MoveSibling, 8,
4465 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4466 OPC_CheckPredicate0,
4467 OPC_CheckTypeI32,
4468 OPC_MoveSibling, 9,
4469 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4470 OPC_CheckPredicate0,
4471 OPC_CheckTypeI32,
4472 OPC_MoveSibling, 10,
4473 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4474 OPC_CheckPredicate0,
4475 OPC_CheckTypeI32,
4476 OPC_MoveSibling, 11,
4477 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4478 OPC_CheckPredicate0,
4479 OPC_CheckTypeI32,
4480 OPC_MoveSibling, 12,
4481 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4482 OPC_CheckPredicate0,
4483 OPC_CheckTypeI32,
4484 OPC_MoveSibling, 13,
4485 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4486 OPC_CheckPredicate0,
4487 OPC_CheckTypeI32,
4488 OPC_MoveSibling, 14,
4489 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4490 OPC_CheckPredicate0,
4491 OPC_CheckTypeI32,
4492 OPC_MoveSibling, 15,
4493 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4494 OPC_CheckPredicate0,
4495 OPC_CheckTypeI32,
4496 OPC_MoveParent,
4497 OPC_MoveParent,
4498 OPC_MoveParent,
4499 OPC_CheckType, MVT::v16i8,
4500 OPC_CheckPatternPredicate3,
4501 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
4502 MVT::v16i8, 2, 0, 1,
4503 122,
4504 OPC_MoveChild0,
4505 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4506 OPC_MoveChild0,
4507 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4508 OPC_CheckPredicate0,
4509 OPC_CheckTypeI32,
4510 OPC_MoveSibling1,
4511 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4512 OPC_CheckPredicate0,
4513 OPC_CheckTypeI32,
4514 OPC_MoveSibling2,
4515 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4516 OPC_CheckPredicate0,
4517 OPC_CheckTypeI32,
4518 OPC_MoveSibling3,
4519 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4520 OPC_CheckPredicate0,
4521 OPC_CheckTypeI32,
4522 OPC_MoveSibling4,
4523 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4524 OPC_CheckPredicate0,
4525 OPC_CheckTypeI32,
4526 OPC_MoveSibling5,
4527 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4528 OPC_CheckPredicate0,
4529 OPC_CheckTypeI32,
4530 OPC_MoveSibling6,
4531 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4532 OPC_CheckPredicate0,
4533 OPC_CheckTypeI32,
4534 OPC_MoveSibling7,
4535 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4536 OPC_CheckPredicate0,
4537 OPC_CheckTypeI32,
4538 OPC_MoveSibling, 8,
4539 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4540 OPC_CheckPredicate0,
4541 OPC_CheckTypeI32,
4542 OPC_MoveSibling, 9,
4543 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4544 OPC_CheckPredicate0,
4545 OPC_CheckTypeI32,
4546 OPC_MoveSibling, 10,
4547 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4548 OPC_CheckPredicate0,
4549 OPC_CheckTypeI32,
4550 OPC_MoveSibling, 11,
4551 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4552 OPC_CheckPredicate0,
4553 OPC_CheckTypeI32,
4554 OPC_MoveSibling, 12,
4555 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4556 OPC_CheckPredicate0,
4557 OPC_CheckTypeI32,
4558 OPC_MoveSibling, 13,
4559 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4560 OPC_CheckPredicate0,
4561 OPC_CheckTypeI32,
4562 OPC_MoveSibling, 14,
4563 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4564 OPC_CheckPredicate0,
4565 OPC_CheckTypeI32,
4566 OPC_MoveSibling, 15,
4567 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4568 OPC_CheckPredicate0,
4569 OPC_CheckTypeI32,
4570 OPC_MoveParent,
4571 OPC_MoveParent,
4572 OPC_RecordChild1,
4573 OPC_MoveParent,
4574 OPC_CheckType, MVT::v16i8,
4575 OPC_CheckPatternPredicate3,
4576 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
4577 MVT::v16i8, 2, 0, 1,
4578 66,
4579 OPC_RecordChild0,
4580 OPC_MoveChild1,
4581 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4582 OPC_MoveChild0,
4583 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4584 OPC_CheckPredicate1,
4585 OPC_CheckTypeI32,
4586 OPC_MoveSibling1,
4587 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4588 OPC_CheckPredicate1,
4589 OPC_CheckTypeI32,
4590 OPC_MoveSibling2,
4591 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4592 OPC_CheckPredicate1,
4593 OPC_CheckTypeI32,
4594 OPC_MoveSibling3,
4595 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4596 OPC_CheckPredicate1,
4597 OPC_CheckTypeI32,
4598 OPC_MoveSibling4,
4599 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4600 OPC_CheckPredicate1,
4601 OPC_CheckTypeI32,
4602 OPC_MoveSibling5,
4603 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4604 OPC_CheckPredicate1,
4605 OPC_CheckTypeI32,
4606 OPC_MoveSibling6,
4607 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4608 OPC_CheckPredicate1,
4609 OPC_CheckTypeI32,
4610 OPC_MoveSibling7,
4611 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4612 OPC_CheckPredicate1,
4613 OPC_CheckTypeI32,
4614 OPC_MoveParent,
4615 OPC_MoveParent,
4616 OPC_MoveParent,
4617 OPC_CheckType, MVT::v8i16,
4618 OPC_CheckPatternPredicate3,
4619 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
4620 MVT::v8i16, 2, 0, 1,
4621 66,
4622 OPC_MoveChild0,
4623 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4624 OPC_MoveChild0,
4625 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4626 OPC_CheckPredicate1,
4627 OPC_CheckTypeI32,
4628 OPC_MoveSibling1,
4629 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4630 OPC_CheckPredicate1,
4631 OPC_CheckTypeI32,
4632 OPC_MoveSibling2,
4633 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4634 OPC_CheckPredicate1,
4635 OPC_CheckTypeI32,
4636 OPC_MoveSibling3,
4637 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4638 OPC_CheckPredicate1,
4639 OPC_CheckTypeI32,
4640 OPC_MoveSibling4,
4641 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4642 OPC_CheckPredicate1,
4643 OPC_CheckTypeI32,
4644 OPC_MoveSibling5,
4645 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4646 OPC_CheckPredicate1,
4647 OPC_CheckTypeI32,
4648 OPC_MoveSibling6,
4649 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4650 OPC_CheckPredicate1,
4651 OPC_CheckTypeI32,
4652 OPC_MoveSibling7,
4653 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4654 OPC_CheckPredicate1,
4655 OPC_CheckTypeI32,
4656 OPC_MoveParent,
4657 OPC_MoveParent,
4658 OPC_RecordChild1,
4659 OPC_MoveParent,
4660 OPC_CheckType, MVT::v8i16,
4661 OPC_CheckPatternPredicate3,
4662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
4663 MVT::v8i16, 2, 0, 1,
4664 44,
4665 OPC_RecordChild0,
4666 OPC_MoveChild1,
4667 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4668 OPC_MoveChild0,
4669 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4670 OPC_CheckPredicate2,
4671 OPC_CheckTypeI32,
4672 OPC_MoveSibling1,
4673 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4674 OPC_CheckPredicate2,
4675 OPC_CheckTypeI32,
4676 OPC_MoveSibling2,
4677 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4678 OPC_CheckPredicate2,
4679 OPC_CheckTypeI32,
4680 OPC_MoveSibling3,
4681 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4682 OPC_CheckPredicate2,
4683 OPC_CheckTypeI32,
4684 OPC_MoveParent,
4685 OPC_MoveParent,
4686 OPC_CheckType, MVT::v4i32,
4687 OPC_MoveParent,
4688 OPC_CheckType, MVT::v4i32,
4689 OPC_CheckPatternPredicate3,
4690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
4691 MVT::v4i32, 2, 0, 1,
4692 44,
4693 OPC_MoveChild0,
4694 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4695 OPC_MoveChild0,
4696 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4697 OPC_CheckPredicate2,
4698 OPC_CheckTypeI32,
4699 OPC_MoveSibling1,
4700 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4701 OPC_CheckPredicate2,
4702 OPC_CheckTypeI32,
4703 OPC_MoveSibling2,
4704 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4705 OPC_CheckPredicate2,
4706 OPC_CheckTypeI32,
4707 OPC_MoveSibling3,
4708 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4709 OPC_CheckPredicate2,
4710 OPC_CheckTypeI32,
4711 OPC_MoveParent,
4712 OPC_MoveParent,
4713 OPC_RecordChild1,
4714 OPC_CheckType, MVT::v4i32,
4715 OPC_MoveParent,
4716 OPC_CheckType, MVT::v4i32,
4717 OPC_CheckPatternPredicate3,
4718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
4719 MVT::v4i32, 2, 0, 1,
4720 28,
4721 OPC_RecordChild0,
4722 OPC_MoveChild1,
4723 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
4724 OPC_MoveChild0,
4725 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4726 OPC_CheckType, MVT::v4i32,
4727 OPC_MoveParent,
4728 OPC_CheckPredicate, 13,
4729 OPC_MoveParent,
4730 OPC_CheckType, MVT::v2i64,
4731 OPC_MoveParent,
4732 OPC_CheckType, MVT::v2i64,
4733 OPC_CheckPatternPredicate3,
4734 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
4735 MVT::v2i64, 2, 0, 1,
4736 28,
4737 OPC_MoveChild0,
4738 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
4739 OPC_MoveChild0,
4740 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4741 OPC_CheckType, MVT::v4i32,
4742 OPC_MoveParent,
4743 OPC_CheckPredicate, 13,
4744 OPC_MoveParent,
4745 OPC_RecordChild1,
4746 OPC_CheckType, MVT::v2i64,
4747 OPC_MoveParent,
4748 OPC_CheckType, MVT::v2i64,
4749 OPC_CheckPatternPredicate3,
4750 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
4751 MVT::v2i64, 2, 0, 1,
4752 0,
4753 102,
4754 OPC_RecordChild1,
4755 OPC_SwitchType , 22, MVT::v16i8,
4756 OPC_CheckPatternPredicate0,
4757 OPC_Scope, 10,
4758 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
4759 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_B),
4760 MVT::v16i8, 2, 0, 2,
4761 7,
4762 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
4763 MVT::v16i8, 2, 0, 1,
4764 0,
4765 22, MVT::v8i16,
4766 OPC_CheckPatternPredicate0,
4767 OPC_Scope, 10,
4768 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
4769 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_H),
4770 MVT::v8i16, 2, 0, 2,
4771 7,
4772 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
4773 MVT::v8i16, 2, 0, 1,
4774 0,
4775 23, MVT::v4i32,
4776 OPC_CheckChild1Type, MVT::v4i32,
4777 OPC_CheckPatternPredicate0,
4778 OPC_Scope, 9,
4779 OPC_CheckComplexPat5, /*#*/1,
4780 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_W),
4781 MVT::v4i32, 2, 0, 2,
4782 7,
4783 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
4784 MVT::v4i32, 2, 0, 1,
4785 0,
4786 24, MVT::v2i64,
4787 OPC_CheckChild1Type, MVT::v2i64,
4788 OPC_CheckPatternPredicate0,
4789 OPC_Scope, 10,
4790 OPC_CheckComplexPat, /*CP*/25, /*#*/1,
4791 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_D),
4792 MVT::v2i64, 2, 0, 2,
4793 7,
4794 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
4795 MVT::v2i64, 2, 0, 1,
4796 0,
4797 0,
4798 0,
4799 27|128,7, TARGET_VAL(ISD::SRA),
4800 OPC_RecordChild0,
4801 OPC_Scope, 15|128,1,
4802 OPC_MoveChild1,
4803 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4804 OPC_Scope, 51,
4805 OPC_RecordChild0,
4806 OPC_MoveChild0,
4807 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4808 OPC_Scope, 20,
4809 OPC_CheckPredicate3,
4810 OPC_MoveSibling1,
4811 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4812 OPC_MoveParent,
4813 OPC_CheckPredicate, 23,
4814 OPC_CheckTypeI32,
4815 OPC_MoveParent,
4816 OPC_CheckTypeI32,
4817 OPC_CheckPatternPredicate2,
4818 OPC_EmitConvertToTarget1,
4819 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
4820 MVT::i32, 2, 0, 2,
4821 22,
4822 OPC_CheckPredicate, 15,
4823 OPC_MoveSibling1,
4824 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4825 OPC_MoveParent,
4826 OPC_CheckPredicate, 24,
4827 OPC_CheckTypeI32,
4828 OPC_MoveParent,
4829 OPC_CheckTypeI64,
4830 OPC_CheckPatternPredicate, 26,
4831 OPC_EmitConvertToTarget1,
4832 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
4833 MVT::i64, 2, 0, 2,
4834 0,
4835 47,
4836 OPC_MoveChild0,
4837 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4838 OPC_MoveSibling1,
4839 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4840 OPC_RecordNode,
4841 OPC_Scope, 16,
4842 OPC_CheckPredicate3,
4843 OPC_MoveParent,
4844 OPC_CheckPredicate, 23,
4845 OPC_CheckTypeI32,
4846 OPC_MoveParent,
4847 OPC_CheckTypeI32,
4848 OPC_CheckPatternPredicate2,
4849 OPC_EmitConvertToTarget1,
4850 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
4851 MVT::i32, 2, 0, 2,
4852 18,
4853 OPC_CheckPredicate, 15,
4854 OPC_MoveParent,
4855 OPC_CheckPredicate, 24,
4856 OPC_CheckTypeI32,
4857 OPC_MoveParent,
4858 OPC_CheckTypeI64,
4859 OPC_CheckPatternPredicate, 26,
4860 OPC_EmitConvertToTarget1,
4861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
4862 MVT::i64, 2, 0, 2,
4863 0,
4864 36,
4865 OPC_RecordChild0,
4866 OPC_MoveChild1,
4867 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4868 OPC_MoveParent,
4869 OPC_CheckTypeI32,
4870 OPC_Scope, 12,
4871 OPC_CheckPredicate, 23,
4872 OPC_MoveParent,
4873 OPC_CheckTypeI32,
4874 OPC_CheckPatternPredicate2,
4875 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
4876 MVT::i32, 2, 0, 1,
4877 13,
4878 OPC_CheckPredicate, 24,
4879 OPC_MoveParent,
4880 OPC_CheckTypeI64,
4881 OPC_CheckPatternPredicate, 26,
4882 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
4883 MVT::i64, 2, 0, 1,
4884 0,
4885 0,
4886 62,
4887 OPC_RecordChild1,
4888 OPC_MoveChild1,
4889 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4890 OPC_CheckTypeI32,
4891 OPC_Scope, 12,
4892 OPC_CheckPredicate3,
4893 OPC_MoveParent,
4894 OPC_CheckTypeI32,
4895 OPC_CheckPatternPredicate2,
4896 OPC_EmitConvertToTarget1,
4897 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
4898 MVT::i32, 2, 0, 2,
4899 14,
4900 OPC_CheckPredicate, 15,
4901 OPC_MoveParent,
4902 OPC_CheckTypeI64,
4903 OPC_CheckPatternPredicate, 26,
4904 OPC_EmitConvertToTarget1,
4905 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
4906 MVT::i64, 2, 0, 2,
4907 25,
4908 OPC_CheckPredicate3,
4909 OPC_MoveParent,
4910 OPC_CheckTypeI32,
4911 OPC_Scope, 9,
4912 OPC_CheckPatternPredicate5,
4913 OPC_EmitConvertToTarget1,
4914 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SraX16),
4915 MVT::i32, 2, 0, 2,
4916 9,
4917 OPC_CheckPatternPredicate4,
4918 OPC_EmitConvertToTarget1,
4919 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_MM),
4920 MVT::i32, 2, 0, 2,
4921 0,
4922 0,
4923 25,
4924 OPC_MoveChild1,
4925 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4926 OPC_RecordChild0,
4927 OPC_MoveParent,
4928 OPC_CheckTypeI64,
4929 OPC_CheckPatternPredicate, 9,
4930 OPC_EmitIntegerI32, Mips::sub_32,
4931 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4932 MVT::i32, 2, 1, 2,
4933 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
4934 MVT::i64, 2, 0, 3,
4935 46,
4936 OPC_RecordChild1,
4937 OPC_CheckChild1TypeI32,
4938 OPC_SwitchType , 29, MVT::i32,
4939 OPC_Scope, 8,
4940 OPC_CheckPatternPredicate2,
4941 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
4942 MVT::i32, 2, 0, 1,
4943 8,
4944 OPC_CheckPatternPredicate5,
4945 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SravRxRy16),
4946 MVT::i32, 2, 0, 1,
4947 8,
4948 OPC_CheckPatternPredicate4,
4949 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV_MM),
4950 MVT::i32, 2, 0, 1,
4951 0,
4952 9, MVT::i64,
4953 OPC_CheckPatternPredicate, 26,
4954 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
4955 MVT::i64, 2, 0, 1,
4956 0,
4957 22|128,4,
4958 OPC_MoveChild1,
4959 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4960 OPC_Scope, 122,
4961 OPC_RecordChild0,
4962 OPC_MoveChild1,
4963 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4964 OPC_MoveChild0,
4965 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4966 OPC_CheckPredicate0,
4967 OPC_CheckTypeI32,
4968 OPC_MoveSibling1,
4969 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4970 OPC_CheckPredicate0,
4971 OPC_CheckTypeI32,
4972 OPC_MoveSibling2,
4973 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4974 OPC_CheckPredicate0,
4975 OPC_CheckTypeI32,
4976 OPC_MoveSibling3,
4977 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4978 OPC_CheckPredicate0,
4979 OPC_CheckTypeI32,
4980 OPC_MoveSibling4,
4981 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4982 OPC_CheckPredicate0,
4983 OPC_CheckTypeI32,
4984 OPC_MoveSibling5,
4985 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4986 OPC_CheckPredicate0,
4987 OPC_CheckTypeI32,
4988 OPC_MoveSibling6,
4989 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4990 OPC_CheckPredicate0,
4991 OPC_CheckTypeI32,
4992 OPC_MoveSibling7,
4993 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4994 OPC_CheckPredicate0,
4995 OPC_CheckTypeI32,
4996 OPC_MoveSibling, 8,
4997 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4998 OPC_CheckPredicate0,
4999 OPC_CheckTypeI32,
5000 OPC_MoveSibling, 9,
5001 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5002 OPC_CheckPredicate0,
5003 OPC_CheckTypeI32,
5004 OPC_MoveSibling, 10,
5005 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5006 OPC_CheckPredicate0,
5007 OPC_CheckTypeI32,
5008 OPC_MoveSibling, 11,
5009 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5010 OPC_CheckPredicate0,
5011 OPC_CheckTypeI32,
5012 OPC_MoveSibling, 12,
5013 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5014 OPC_CheckPredicate0,
5015 OPC_CheckTypeI32,
5016 OPC_MoveSibling, 13,
5017 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5018 OPC_CheckPredicate0,
5019 OPC_CheckTypeI32,
5020 OPC_MoveSibling, 14,
5021 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5022 OPC_CheckPredicate0,
5023 OPC_CheckTypeI32,
5024 OPC_MoveSibling, 15,
5025 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5026 OPC_CheckPredicate0,
5027 OPC_CheckTypeI32,
5028 OPC_MoveParent,
5029 OPC_MoveParent,
5030 OPC_MoveParent,
5031 OPC_CheckType, MVT::v16i8,
5032 OPC_CheckPatternPredicate3,
5033 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
5034 MVT::v16i8, 2, 0, 1,
5035 122,
5036 OPC_MoveChild0,
5037 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5038 OPC_MoveChild0,
5039 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5040 OPC_CheckPredicate0,
5041 OPC_CheckTypeI32,
5042 OPC_MoveSibling1,
5043 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5044 OPC_CheckPredicate0,
5045 OPC_CheckTypeI32,
5046 OPC_MoveSibling2,
5047 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5048 OPC_CheckPredicate0,
5049 OPC_CheckTypeI32,
5050 OPC_MoveSibling3,
5051 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5052 OPC_CheckPredicate0,
5053 OPC_CheckTypeI32,
5054 OPC_MoveSibling4,
5055 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5056 OPC_CheckPredicate0,
5057 OPC_CheckTypeI32,
5058 OPC_MoveSibling5,
5059 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5060 OPC_CheckPredicate0,
5061 OPC_CheckTypeI32,
5062 OPC_MoveSibling6,
5063 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5064 OPC_CheckPredicate0,
5065 OPC_CheckTypeI32,
5066 OPC_MoveSibling7,
5067 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5068 OPC_CheckPredicate0,
5069 OPC_CheckTypeI32,
5070 OPC_MoveSibling, 8,
5071 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5072 OPC_CheckPredicate0,
5073 OPC_CheckTypeI32,
5074 OPC_MoveSibling, 9,
5075 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5076 OPC_CheckPredicate0,
5077 OPC_CheckTypeI32,
5078 OPC_MoveSibling, 10,
5079 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5080 OPC_CheckPredicate0,
5081 OPC_CheckTypeI32,
5082 OPC_MoveSibling, 11,
5083 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5084 OPC_CheckPredicate0,
5085 OPC_CheckTypeI32,
5086 OPC_MoveSibling, 12,
5087 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5088 OPC_CheckPredicate0,
5089 OPC_CheckTypeI32,
5090 OPC_MoveSibling, 13,
5091 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5092 OPC_CheckPredicate0,
5093 OPC_CheckTypeI32,
5094 OPC_MoveSibling, 14,
5095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5096 OPC_CheckPredicate0,
5097 OPC_CheckTypeI32,
5098 OPC_MoveSibling, 15,
5099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5100 OPC_CheckPredicate0,
5101 OPC_CheckTypeI32,
5102 OPC_MoveParent,
5103 OPC_MoveParent,
5104 OPC_RecordChild1,
5105 OPC_MoveParent,
5106 OPC_CheckType, MVT::v16i8,
5107 OPC_CheckPatternPredicate3,
5108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
5109 MVT::v16i8, 2, 0, 1,
5110 66,
5111 OPC_RecordChild0,
5112 OPC_MoveChild1,
5113 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5114 OPC_MoveChild0,
5115 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5116 OPC_CheckPredicate1,
5117 OPC_CheckTypeI32,
5118 OPC_MoveSibling1,
5119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5120 OPC_CheckPredicate1,
5121 OPC_CheckTypeI32,
5122 OPC_MoveSibling2,
5123 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5124 OPC_CheckPredicate1,
5125 OPC_CheckTypeI32,
5126 OPC_MoveSibling3,
5127 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5128 OPC_CheckPredicate1,
5129 OPC_CheckTypeI32,
5130 OPC_MoveSibling4,
5131 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5132 OPC_CheckPredicate1,
5133 OPC_CheckTypeI32,
5134 OPC_MoveSibling5,
5135 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5136 OPC_CheckPredicate1,
5137 OPC_CheckTypeI32,
5138 OPC_MoveSibling6,
5139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5140 OPC_CheckPredicate1,
5141 OPC_CheckTypeI32,
5142 OPC_MoveSibling7,
5143 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5144 OPC_CheckPredicate1,
5145 OPC_CheckTypeI32,
5146 OPC_MoveParent,
5147 OPC_MoveParent,
5148 OPC_MoveParent,
5149 OPC_CheckType, MVT::v8i16,
5150 OPC_CheckPatternPredicate3,
5151 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
5152 MVT::v8i16, 2, 0, 1,
5153 66,
5154 OPC_MoveChild0,
5155 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5156 OPC_MoveChild0,
5157 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5158 OPC_CheckPredicate1,
5159 OPC_CheckTypeI32,
5160 OPC_MoveSibling1,
5161 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5162 OPC_CheckPredicate1,
5163 OPC_CheckTypeI32,
5164 OPC_MoveSibling2,
5165 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5166 OPC_CheckPredicate1,
5167 OPC_CheckTypeI32,
5168 OPC_MoveSibling3,
5169 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5170 OPC_CheckPredicate1,
5171 OPC_CheckTypeI32,
5172 OPC_MoveSibling4,
5173 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5174 OPC_CheckPredicate1,
5175 OPC_CheckTypeI32,
5176 OPC_MoveSibling5,
5177 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5178 OPC_CheckPredicate1,
5179 OPC_CheckTypeI32,
5180 OPC_MoveSibling6,
5181 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5182 OPC_CheckPredicate1,
5183 OPC_CheckTypeI32,
5184 OPC_MoveSibling7,
5185 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5186 OPC_CheckPredicate1,
5187 OPC_CheckTypeI32,
5188 OPC_MoveParent,
5189 OPC_MoveParent,
5190 OPC_RecordChild1,
5191 OPC_MoveParent,
5192 OPC_CheckType, MVT::v8i16,
5193 OPC_CheckPatternPredicate3,
5194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
5195 MVT::v8i16, 2, 0, 1,
5196 44,
5197 OPC_RecordChild0,
5198 OPC_MoveChild1,
5199 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5200 OPC_MoveChild0,
5201 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5202 OPC_CheckPredicate2,
5203 OPC_CheckTypeI32,
5204 OPC_MoveSibling1,
5205 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5206 OPC_CheckPredicate2,
5207 OPC_CheckTypeI32,
5208 OPC_MoveSibling2,
5209 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5210 OPC_CheckPredicate2,
5211 OPC_CheckTypeI32,
5212 OPC_MoveSibling3,
5213 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5214 OPC_CheckPredicate2,
5215 OPC_CheckTypeI32,
5216 OPC_MoveParent,
5217 OPC_MoveParent,
5218 OPC_CheckType, MVT::v4i32,
5219 OPC_MoveParent,
5220 OPC_CheckType, MVT::v4i32,
5221 OPC_CheckPatternPredicate3,
5222 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
5223 MVT::v4i32, 2, 0, 1,
5224 44,
5225 OPC_MoveChild0,
5226 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5227 OPC_MoveChild0,
5228 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5229 OPC_CheckPredicate2,
5230 OPC_CheckTypeI32,
5231 OPC_MoveSibling1,
5232 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5233 OPC_CheckPredicate2,
5234 OPC_CheckTypeI32,
5235 OPC_MoveSibling2,
5236 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5237 OPC_CheckPredicate2,
5238 OPC_CheckTypeI32,
5239 OPC_MoveSibling3,
5240 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5241 OPC_CheckPredicate2,
5242 OPC_CheckTypeI32,
5243 OPC_MoveParent,
5244 OPC_MoveParent,
5245 OPC_RecordChild1,
5246 OPC_CheckType, MVT::v4i32,
5247 OPC_MoveParent,
5248 OPC_CheckType, MVT::v4i32,
5249 OPC_CheckPatternPredicate3,
5250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
5251 MVT::v4i32, 2, 0, 1,
5252 28,
5253 OPC_RecordChild0,
5254 OPC_MoveChild1,
5255 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
5256 OPC_MoveChild0,
5257 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5258 OPC_CheckType, MVT::v4i32,
5259 OPC_MoveParent,
5260 OPC_CheckPredicate, 13,
5261 OPC_MoveParent,
5262 OPC_CheckType, MVT::v2i64,
5263 OPC_MoveParent,
5264 OPC_CheckType, MVT::v2i64,
5265 OPC_CheckPatternPredicate3,
5266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
5267 MVT::v2i64, 2, 0, 1,
5268 28,
5269 OPC_MoveChild0,
5270 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
5271 OPC_MoveChild0,
5272 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5273 OPC_CheckType, MVT::v4i32,
5274 OPC_MoveParent,
5275 OPC_CheckPredicate, 13,
5276 OPC_MoveParent,
5277 OPC_RecordChild1,
5278 OPC_CheckType, MVT::v2i64,
5279 OPC_MoveParent,
5280 OPC_CheckType, MVT::v2i64,
5281 OPC_CheckPatternPredicate3,
5282 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
5283 MVT::v2i64, 2, 0, 1,
5284 0,
5285 102,
5286 OPC_RecordChild1,
5287 OPC_SwitchType , 22, MVT::v16i8,
5288 OPC_CheckPatternPredicate0,
5289 OPC_Scope, 10,
5290 OPC_CheckComplexPat, /*CP*/23, /*#*/1,
5291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_B),
5292 MVT::v16i8, 2, 0, 2,
5293 7,
5294 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
5295 MVT::v16i8, 2, 0, 1,
5296 0,
5297 22, MVT::v8i16,
5298 OPC_CheckPatternPredicate0,
5299 OPC_Scope, 10,
5300 OPC_CheckComplexPat, /*CP*/24, /*#*/1,
5301 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_H),
5302 MVT::v8i16, 2, 0, 2,
5303 7,
5304 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
5305 MVT::v8i16, 2, 0, 1,
5306 0,
5307 23, MVT::v4i32,
5308 OPC_CheckChild1Type, MVT::v4i32,
5309 OPC_CheckPatternPredicate0,
5310 OPC_Scope, 9,
5311 OPC_CheckComplexPat5, /*#*/1,
5312 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_W),
5313 MVT::v4i32, 2, 0, 2,
5314 7,
5315 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
5316 MVT::v4i32, 2, 0, 1,
5317 0,
5318 24, MVT::v2i64,
5319 OPC_CheckChild1Type, MVT::v2i64,
5320 OPC_CheckPatternPredicate0,
5321 OPC_Scope, 10,
5322 OPC_CheckComplexPat, /*CP*/25, /*#*/1,
5323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_D),
5324 MVT::v2i64, 2, 0, 2,
5325 7,
5326 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
5327 MVT::v2i64, 2, 0, 1,
5328 0,
5329 0,
5330 0,
5331 86|128,47, TARGET_VAL(ISD::SELECT),
5332 OPC_Scope, 19|128,21,
5333 OPC_MoveChild0,
5334 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5335 OPC_RecordChild0,
5336 OPC_Scope, 94|128,14,
5337 OPC_CheckChild0TypeI32,
5338 OPC_Scope, 9|128,2,
5339 OPC_MoveChild1,
5340 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5341 OPC_CheckPredicate6,
5342 OPC_MoveParent,
5343 OPC_CheckTypeI32,
5344 OPC_Scope, 127,
5345 OPC_CheckChild2CondCode, ISD::SETEQ,
5346 OPC_Scope, 18,
5347 OPC_MoveParent,
5348 OPC_RecordChild1,
5349 OPC_MoveChild2,
5350 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5351 OPC_CheckPredicate6,
5352 OPC_MoveParent,
5353 OPC_CheckTypeI32,
5354 OPC_CheckPatternPredicate, 15,
5355 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
5356 MVT::i32, 2, 1, 0,
5357 17,
5358 OPC_MoveSibling1,
5359 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5360 OPC_CheckPredicate6,
5361 OPC_MoveParent,
5362 OPC_RecordChild2,
5363 OPC_CheckTypeI32,
5364 OPC_CheckPatternPredicate, 15,
5365 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
5366 MVT::i32, 2, 1, 0,
5367 18,
5368 OPC_MoveParent,
5369 OPC_RecordChild1,
5370 OPC_MoveChild2,
5371 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5372 OPC_CheckPredicate6,
5373 OPC_MoveParent,
5374 OPC_CheckTypeI32,
5375 OPC_CheckPatternPredicate, 8,
5376 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5377 MVT::i32, 2, 1, 0,
5378 17,
5379 OPC_MoveSibling1,
5380 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5381 OPC_CheckPredicate6,
5382 OPC_MoveParent,
5383 OPC_RecordChild2,
5384 OPC_CheckTypeI32,
5385 OPC_CheckPatternPredicate, 8,
5386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5387 MVT::i32, 2, 1, 0,
5388 24,
5389 OPC_MoveParent,
5390 OPC_RecordChild1,
5391 OPC_MoveChild2,
5392 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5393 OPC_CheckPredicate6,
5394 OPC_MoveParent,
5395 OPC_CheckTypeI64,
5396 OPC_CheckPatternPredicate, 19,
5397 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5398 MVT::i64, 1, 0,
5399 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
5400 MVT::i64, 2, 1, 2,
5401 23,
5402 OPC_MoveSibling1,
5403 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5404 OPC_CheckPredicate6,
5405 OPC_MoveParent,
5406 OPC_RecordChild2,
5407 OPC_CheckTypeI64,
5408 OPC_CheckPatternPredicate, 19,
5409 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5410 MVT::i64, 1, 0,
5411 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
5412 MVT::i64, 2, 1, 2,
5413 0,
5414 127,
5415 OPC_CheckChild2CondCode, ISD::SETNE,
5416 OPC_Scope, 18,
5417 OPC_MoveParent,
5418 OPC_RecordChild1,
5419 OPC_MoveChild2,
5420 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5421 OPC_CheckPredicate6,
5422 OPC_MoveParent,
5423 OPC_CheckTypeI32,
5424 OPC_CheckPatternPredicate, 15,
5425 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
5426 MVT::i32, 2, 1, 0,
5427 17,
5428 OPC_MoveSibling1,
5429 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5430 OPC_CheckPredicate6,
5431 OPC_MoveParent,
5432 OPC_RecordChild2,
5433 OPC_CheckTypeI32,
5434 OPC_CheckPatternPredicate, 15,
5435 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
5436 MVT::i32, 2, 1, 0,
5437 18,
5438 OPC_MoveParent,
5439 OPC_RecordChild1,
5440 OPC_MoveChild2,
5441 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5442 OPC_CheckPredicate6,
5443 OPC_MoveParent,
5444 OPC_CheckTypeI32,
5445 OPC_CheckPatternPredicate, 8,
5446 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5447 MVT::i32, 2, 1, 0,
5448 17,
5449 OPC_MoveSibling1,
5450 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5451 OPC_CheckPredicate6,
5452 OPC_MoveParent,
5453 OPC_RecordChild2,
5454 OPC_CheckTypeI32,
5455 OPC_CheckPatternPredicate, 8,
5456 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5457 MVT::i32, 2, 1, 0,
5458 24,
5459 OPC_MoveParent,
5460 OPC_RecordChild1,
5461 OPC_MoveChild2,
5462 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5463 OPC_CheckPredicate6,
5464 OPC_MoveParent,
5465 OPC_CheckTypeI64,
5466 OPC_CheckPatternPredicate, 19,
5467 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5468 MVT::i64, 1, 0,
5469 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
5470 MVT::i64, 2, 1, 2,
5471 23,
5472 OPC_MoveSibling1,
5473 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5474 OPC_CheckPredicate6,
5475 OPC_MoveParent,
5476 OPC_RecordChild2,
5477 OPC_CheckTypeI64,
5478 OPC_CheckPatternPredicate, 19,
5479 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5480 MVT::i64, 1, 0,
5481 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
5482 MVT::i64, 2, 1, 2,
5483 0,
5484 0,
5485 126,
5486 OPC_CheckChild1Integer, 0,
5487 OPC_CheckTypeI32,
5488 OPC_Scope, 54,
5489 OPC_CheckChild2CondCode, ISD::SETEQ,
5490 OPC_MoveParent,
5491 OPC_RecordChild1,
5492 OPC_RecordChild2,
5493 OPC_SwitchType , 33, MVT::i32,
5494 OPC_Scope, 10,
5495 OPC_CheckPatternPredicate, 20,
5496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5497 MVT::i32, 3, 1, 0, 2,
5498 9,
5499 OPC_CheckPatternPredicate7,
5500 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5501 MVT::i32, 3, 1, 0, 2,
5502 9,
5503 OPC_CheckPatternPredicate5,
5504 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBeqZ),
5505 MVT::i32, 3, 1, 2, 0,
5506 0,
5507 10, MVT::i64,
5508 OPC_CheckPatternPredicate, 10,
5509 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5510 MVT::i64, 3, 1, 0, 2,
5511 0,
5512 65,
5513 OPC_CheckChild2CondCode, ISD::SETNE,
5514 OPC_MoveParent,
5515 OPC_RecordChild1,
5516 OPC_RecordChild2,
5517 OPC_SwitchType , 44, MVT::i32,
5518 OPC_Scope, 10,
5519 OPC_CheckPatternPredicate, 20,
5520 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
5521 MVT::i32, 3, 1, 0, 2,
5522 10,
5523 OPC_CheckPatternPredicate, 76,
5524 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5525 MVT::i32, 3, 1, 0, 2,
5526 9,
5527 OPC_CheckPatternPredicate7,
5528 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5529 MVT::i32, 3, 1, 0, 2,
5530 9,
5531 OPC_CheckPatternPredicate5,
5532 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
5533 MVT::i32, 3, 1, 2, 0,
5534 0,
5535 10, MVT::i64,
5536 OPC_CheckPatternPredicate, 10,
5537 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
5538 MVT::i64, 3, 1, 0, 2,
5539 0,
5540 0,
5541 89|128,4,
5542 OPC_RecordChild1,
5543 OPC_MoveChild1,
5544 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5545 OPC_Scope, 55,
5546 OPC_CheckPredicate7,
5547 OPC_MoveParent,
5548 OPC_CheckTypeI32,
5549 OPC_Scope, 24,
5550 OPC_CheckChild2CondCode, ISD::SETGE,
5551 OPC_MoveParent,
5552 OPC_RecordChild1,
5553 OPC_RecordChild2,
5554 OPC_CheckTypeI32,
5555 OPC_CheckPatternPredicate, 20,
5556 OPC_EmitConvertToTarget1,
5557 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5558 MVT::i32, 2, 0, 4,
5559 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5560 MVT::i32, 3, 2, 5, 3,
5561 24,
5562 OPC_CheckChild2CondCode, ISD::SETUGE,
5563 OPC_MoveParent,
5564 OPC_RecordChild1,
5565 OPC_RecordChild2,
5566 OPC_CheckTypeI32,
5567 OPC_CheckPatternPredicate, 20,
5568 OPC_EmitConvertToTarget1,
5569 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5570 MVT::i32, 2, 0, 4,
5571 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5572 MVT::i32, 3, 2, 5, 3,
5573 0,
5574 62,
5575 OPC_CheckPredicate, 10,
5576 OPC_MoveParent,
5577 OPC_CheckTypeI32,
5578 OPC_Scope, 27,
5579 OPC_CheckChild2CondCode, ISD::SETGT,
5580 OPC_MoveParent,
5581 OPC_RecordChild1,
5582 OPC_RecordChild2,
5583 OPC_CheckTypeI32,
5584 OPC_CheckPatternPredicate, 20,
5585 OPC_EmitConvertToTarget1,
5586 OPC_EmitNodeXForm, 2, 4,
5587 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5588 MVT::i32, 2, 0, 5,
5589 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5590 MVT::i32, 3, 2, 6, 3,
5591 27,
5592 OPC_CheckChild2CondCode, ISD::SETUGT,
5593 OPC_MoveParent,
5594 OPC_RecordChild1,
5595 OPC_RecordChild2,
5596 OPC_CheckTypeI32,
5597 OPC_CheckPatternPredicate, 20,
5598 OPC_EmitConvertToTarget1,
5599 OPC_EmitNodeXForm, 2, 4,
5600 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5601 MVT::i32, 2, 0, 5,
5602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5603 MVT::i32, 3, 2, 6, 3,
5604 0,
5605 31,
5606 OPC_CheckPredicate, 11,
5607 OPC_MoveParent,
5608 OPC_CheckChild2CondCode, ISD::SETEQ,
5609 OPC_CheckTypeI32,
5610 OPC_MoveParent,
5611 OPC_RecordChild1,
5612 OPC_RecordChild2,
5613 OPC_CheckTypeI32,
5614 OPC_CheckPatternPredicate, 20,
5615 OPC_EmitConvertToTarget1,
5616 OPC_EmitNodeXForm, 3, 4,
5617 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5618 MVT::i32, 2, 0, 5,
5619 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5620 MVT::i32, 3, 2, 6, 3,
5621 55,
5622 OPC_CheckPredicate7,
5623 OPC_MoveParent,
5624 OPC_CheckTypeI32,
5625 OPC_Scope, 24,
5626 OPC_CheckChild2CondCode, ISD::SETGE,
5627 OPC_MoveParent,
5628 OPC_RecordChild1,
5629 OPC_RecordChild2,
5630 OPC_CheckTypeI64,
5631 OPC_CheckPatternPredicate, 10,
5632 OPC_EmitConvertToTarget1,
5633 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5634 MVT::i32, 2, 0, 4,
5635 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5636 MVT::i64, 3, 2, 5, 3,
5637 24,
5638 OPC_CheckChild2CondCode, ISD::SETUGE,
5639 OPC_MoveParent,
5640 OPC_RecordChild1,
5641 OPC_RecordChild2,
5642 OPC_CheckTypeI64,
5643 OPC_CheckPatternPredicate, 10,
5644 OPC_EmitConvertToTarget1,
5645 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5646 MVT::i32, 2, 0, 4,
5647 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5648 MVT::i64, 3, 2, 5, 3,
5649 0,
5650 62,
5651 OPC_CheckPredicate, 10,
5652 OPC_MoveParent,
5653 OPC_CheckTypeI32,
5654 OPC_Scope, 27,
5655 OPC_CheckChild2CondCode, ISD::SETGT,
5656 OPC_MoveParent,
5657 OPC_RecordChild1,
5658 OPC_RecordChild2,
5659 OPC_CheckTypeI64,
5660 OPC_CheckPatternPredicate, 10,
5661 OPC_EmitConvertToTarget1,
5662 OPC_EmitNodeXForm, 2, 4,
5663 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5664 MVT::i32, 2, 0, 5,
5665 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5666 MVT::i64, 3, 2, 6, 3,
5667 27,
5668 OPC_CheckChild2CondCode, ISD::SETUGT,
5669 OPC_MoveParent,
5670 OPC_RecordChild1,
5671 OPC_RecordChild2,
5672 OPC_CheckTypeI64,
5673 OPC_CheckPatternPredicate, 10,
5674 OPC_EmitConvertToTarget1,
5675 OPC_EmitNodeXForm, 2, 4,
5676 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5677 MVT::i32, 2, 0, 5,
5678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5679 MVT::i64, 3, 2, 6, 3,
5680 0,
5681 31,
5682 OPC_CheckPredicate, 11,
5683 OPC_MoveParent,
5684 OPC_CheckChild2CondCode, ISD::SETEQ,
5685 OPC_CheckTypeI32,
5686 OPC_MoveParent,
5687 OPC_RecordChild1,
5688 OPC_RecordChild2,
5689 OPC_CheckTypeI64,
5690 OPC_CheckPatternPredicate, 10,
5691 OPC_EmitConvertToTarget1,
5692 OPC_EmitNodeXForm, 3, 4,
5693 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5694 MVT::i32, 2, 0, 5,
5695 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5696 MVT::i64, 3, 2, 6, 3,
5697 53,
5698 OPC_CheckPredicate7,
5699 OPC_MoveParent,
5700 OPC_CheckTypeI32,
5701 OPC_Scope, 23,
5702 OPC_CheckChild2CondCode, ISD::SETGE,
5703 OPC_MoveParent,
5704 OPC_RecordChild1,
5705 OPC_RecordChild2,
5706 OPC_CheckTypeI32,
5707 OPC_CheckPatternPredicate7,
5708 OPC_EmitConvertToTarget1,
5709 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
5710 MVT::i32, 2, 0, 4,
5711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5712 MVT::i32, 3, 2, 5, 3,
5713 23,
5714 OPC_CheckChild2CondCode, ISD::SETUGE,
5715 OPC_MoveParent,
5716 OPC_RecordChild1,
5717 OPC_RecordChild2,
5718 OPC_CheckTypeI32,
5719 OPC_CheckPatternPredicate7,
5720 OPC_EmitConvertToTarget1,
5721 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
5722 MVT::i32, 2, 0, 4,
5723 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5724 MVT::i32, 3, 2, 5, 3,
5725 0,
5726 60,
5727 OPC_CheckPredicate, 10,
5728 OPC_MoveParent,
5729 OPC_CheckTypeI32,
5730 OPC_Scope, 26,
5731 OPC_CheckChild2CondCode, ISD::SETGT,
5732 OPC_MoveParent,
5733 OPC_RecordChild1,
5734 OPC_RecordChild2,
5735 OPC_CheckTypeI32,
5736 OPC_CheckPatternPredicate7,
5737 OPC_EmitConvertToTarget1,
5738 OPC_EmitNodeXForm, 2, 4,
5739 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
5740 MVT::i32, 2, 0, 5,
5741 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5742 MVT::i32, 3, 2, 6, 3,
5743 26,
5744 OPC_CheckChild2CondCode, ISD::SETUGT,
5745 OPC_MoveParent,
5746 OPC_RecordChild1,
5747 OPC_RecordChild2,
5748 OPC_CheckTypeI32,
5749 OPC_CheckPatternPredicate7,
5750 OPC_EmitConvertToTarget1,
5751 OPC_EmitNodeXForm, 2, 4,
5752 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
5753 MVT::i32, 2, 0, 5,
5754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5755 MVT::i32, 3, 2, 6, 3,
5756 0,
5757 30,
5758 OPC_CheckPredicate, 11,
5759 OPC_MoveParent,
5760 OPC_CheckChild2CondCode, ISD::SETEQ,
5761 OPC_CheckTypeI32,
5762 OPC_MoveParent,
5763 OPC_RecordChild1,
5764 OPC_RecordChild2,
5765 OPC_CheckTypeI32,
5766 OPC_CheckPatternPredicate7,
5767 OPC_EmitConvertToTarget1,
5768 OPC_EmitNodeXForm, 3, 4,
5769 OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
5770 MVT::i32, 2, 0, 5,
5771 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5772 MVT::i32, 3, 2, 6, 3,
5773 53,
5774 OPC_CheckPredicate7,
5775 OPC_MoveParent,
5776 OPC_CheckTypeI32,
5777 OPC_Scope, 23,
5778 OPC_CheckChild2CondCode, ISD::SETGE,
5779 OPC_MoveParent,
5780 OPC_RecordChild1,
5781 OPC_RecordChild2,
5782 OPC_CheckTypeI32,
5783 OPC_CheckPatternPredicate7,
5784 OPC_EmitConvertToTarget1,
5785 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
5786 MVT::i32, 2, 0, 4,
5787 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5788 MVT::i32, 3, 2, 5, 3,
5789 23,
5790 OPC_CheckChild2CondCode, ISD::SETUGE,
5791 OPC_MoveParent,
5792 OPC_RecordChild1,
5793 OPC_RecordChild2,
5794 OPC_CheckTypeI32,
5795 OPC_CheckPatternPredicate7,
5796 OPC_EmitConvertToTarget1,
5797 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
5798 MVT::i32, 2, 0, 4,
5799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5800 MVT::i32, 3, 2, 5, 3,
5801 0,
5802 60,
5803 OPC_CheckPredicate, 10,
5804 OPC_MoveParent,
5805 OPC_CheckTypeI32,
5806 OPC_Scope, 26,
5807 OPC_CheckChild2CondCode, ISD::SETGT,
5808 OPC_MoveParent,
5809 OPC_RecordChild1,
5810 OPC_RecordChild2,
5811 OPC_CheckTypeI32,
5812 OPC_CheckPatternPredicate7,
5813 OPC_EmitConvertToTarget1,
5814 OPC_EmitNodeXForm, 2, 4,
5815 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
5816 MVT::i32, 2, 0, 5,
5817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5818 MVT::i32, 3, 2, 6, 3,
5819 26,
5820 OPC_CheckChild2CondCode, ISD::SETUGT,
5821 OPC_MoveParent,
5822 OPC_RecordChild1,
5823 OPC_RecordChild2,
5824 OPC_CheckTypeI32,
5825 OPC_CheckPatternPredicate7,
5826 OPC_EmitConvertToTarget1,
5827 OPC_EmitNodeXForm, 2, 4,
5828 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
5829 MVT::i32, 2, 0, 5,
5830 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5831 MVT::i32, 3, 2, 6, 3,
5832 0,
5833 30,
5834 OPC_CheckPredicate, 11,
5835 OPC_MoveParent,
5836 OPC_CheckChild2CondCode, ISD::SETEQ,
5837 OPC_CheckTypeI32,
5838 OPC_MoveParent,
5839 OPC_RecordChild1,
5840 OPC_RecordChild2,
5841 OPC_CheckTypeI32,
5842 OPC_CheckPatternPredicate7,
5843 OPC_EmitConvertToTarget1,
5844 OPC_EmitNodeXForm, 3, 4,
5845 OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
5846 MVT::i32, 2, 0, 5,
5847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5848 MVT::i32, 3, 2, 6, 3,
5849 0,
5850 123,
5851 OPC_MoveChild1,
5852 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5853 OPC_CheckPredicate6,
5854 OPC_MoveParent,
5855 OPC_CheckTypeI32,
5856 OPC_Scope, 56,
5857 OPC_CheckChild2CondCode, ISD::SETEQ,
5858 OPC_MoveParent,
5859 OPC_RecordChild1,
5860 OPC_RecordChild2,
5861 OPC_CheckTypeI32,
5862 OPC_Scope, 23,
5863 OPC_CheckPatternPredicate, 15,
5864 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5865 MVT::i32, 2, 1, 0,
5866 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5867 MVT::i32, 2, 2, 0,
5868 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5869 MVT::i32, 2, 3, 4,
5870 23,
5871 OPC_CheckPatternPredicate, 8,
5872 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5873 MVT::i32, 2, 1, 0,
5874 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5875 MVT::i32, 2, 2, 0,
5876 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
5877 MVT::i32, 2, 3, 4,
5878 0,
5879 56,
5880 OPC_CheckChild2CondCode, ISD::SETNE,
5881 OPC_MoveParent,
5882 OPC_RecordChild1,
5883 OPC_RecordChild2,
5884 OPC_CheckTypeI32,
5885 OPC_Scope, 23,
5886 OPC_CheckPatternPredicate, 15,
5887 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5888 MVT::i32, 2, 1, 0,
5889 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5890 MVT::i32, 2, 2, 0,
5891 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5892 MVT::i32, 2, 3, 4,
5893 23,
5894 OPC_CheckPatternPredicate, 8,
5895 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5896 MVT::i32, 2, 1, 0,
5897 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5898 MVT::i32, 2, 2, 0,
5899 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
5900 MVT::i32, 2, 3, 4,
5901 0,
5902 0,
5903 101|128,1,
5904 OPC_RecordChild1,
5905 OPC_MoveChild1,
5906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5907 OPC_Scope, 110,
5908 OPC_CheckPredicate, 11,
5909 OPC_MoveParent,
5910 OPC_CheckTypeI32,
5911 OPC_Scope, 51,
5912 OPC_CheckChild2CondCode, ISD::SETEQ,
5913 OPC_MoveParent,
5914 OPC_RecordChild1,
5915 OPC_RecordChild2,
5916 OPC_CheckTypeI32,
5917 OPC_CheckPatternPredicate, 15,
5918 OPC_EmitConvertToTarget1,
5919 OPC_EmitNodeXForm, 3, 4,
5920 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5921 MVT::i32, 2, 0, 5,
5922 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5923 MVT::i32, 2, 2, 6,
5924 OPC_EmitConvertToTarget1,
5925 OPC_EmitNodeXForm, 3, 8,
5926 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5927 MVT::i32, 2, 0, 9,
5928 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5929 MVT::i32, 2, 3, 10,
5930 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5931 MVT::i32, 2, 7, 11,
5932 51,
5933 OPC_CheckChild2CondCode, ISD::SETNE,
5934 OPC_MoveParent,
5935 OPC_RecordChild1,
5936 OPC_RecordChild2,
5937 OPC_CheckTypeI32,
5938 OPC_CheckPatternPredicate, 15,
5939 OPC_EmitConvertToTarget1,
5940 OPC_EmitNodeXForm, 3, 4,
5941 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5942 MVT::i32, 2, 0, 5,
5943 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5944 MVT::i32, 2, 2, 6,
5945 OPC_EmitConvertToTarget1,
5946 OPC_EmitNodeXForm, 3, 8,
5947 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
5948 MVT::i32, 2, 0, 9,
5949 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5950 MVT::i32, 2, 3, 10,
5951 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5952 MVT::i32, 2, 7, 11,
5953 0,
5954 110,
5955 OPC_CheckPredicate, 10,
5956 OPC_MoveParent,
5957 OPC_CheckTypeI32,
5958 OPC_Scope, 51,
5959 OPC_CheckChild2CondCode, ISD::SETGT,
5960 OPC_MoveParent,
5961 OPC_RecordChild1,
5962 OPC_RecordChild2,
5963 OPC_CheckTypeI32,
5964 OPC_CheckPatternPredicate, 15,
5965 OPC_EmitConvertToTarget1,
5966 OPC_EmitNodeXForm, 2, 4,
5967 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5968 MVT::i32, 2, 0, 5,
5969 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5970 MVT::i32, 2, 2, 6,
5971 OPC_EmitConvertToTarget1,
5972 OPC_EmitNodeXForm, 2, 8,
5973 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5974 MVT::i32, 2, 0, 9,
5975 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5976 MVT::i32, 2, 3, 10,
5977 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5978 MVT::i32, 2, 7, 11,
5979 51,
5980 OPC_CheckChild2CondCode, ISD::SETUGT,
5981 OPC_MoveParent,
5982 OPC_RecordChild1,
5983 OPC_RecordChild2,
5984 OPC_CheckTypeI32,
5985 OPC_CheckPatternPredicate, 15,
5986 OPC_EmitConvertToTarget1,
5987 OPC_EmitNodeXForm, 2, 4,
5988 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5989 MVT::i32, 2, 0, 5,
5990 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5991 MVT::i32, 2, 2, 6,
5992 OPC_EmitConvertToTarget1,
5993 OPC_EmitNodeXForm, 2, 8,
5994 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5995 MVT::i32, 2, 0, 9,
5996 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5997 MVT::i32, 2, 3, 10,
5998 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5999 MVT::i32, 2, 7, 11,
6000 0,
6001 0,
6002 93,
6003 OPC_MoveChild1,
6004 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6005 OPC_CheckPredicate6,
6006 OPC_MoveParent,
6007 OPC_CheckTypeI32,
6008 OPC_Scope, 41,
6009 OPC_CheckChild2CondCode, ISD::SETEQ,
6010 OPC_MoveParent,
6011 OPC_RecordChild1,
6012 OPC_RecordChild2,
6013 OPC_CheckTypeI64,
6014 OPC_CheckPatternPredicate, 19,
6015 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6016 MVT::i64, 1, 0,
6017 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6018 MVT::i64, 2, 1, 3,
6019 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6020 MVT::i64, 1, 0,
6021 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6022 MVT::i64, 2, 2, 5,
6023 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6024 MVT::i64, 2, 4, 6,
6025 41,
6026 OPC_CheckChild2CondCode, ISD::SETNE,
6027 OPC_MoveParent,
6028 OPC_RecordChild1,
6029 OPC_RecordChild2,
6030 OPC_CheckTypeI64,
6031 OPC_CheckPatternPredicate, 19,
6032 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6033 MVT::i64, 1, 0,
6034 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6035 MVT::i64, 2, 1, 3,
6036 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6037 MVT::i64, 1, 0,
6038 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6039 MVT::i64, 2, 2, 5,
6040 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6041 MVT::i64, 2, 4, 6,
6042 0,
6043 51|128,3,
6044 OPC_RecordChild1,
6045 OPC_MoveChild1,
6046 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6047 OPC_Scope, 110,
6048 OPC_CheckPredicate, 11,
6049 OPC_MoveParent,
6050 OPC_CheckTypeI32,
6051 OPC_Scope, 51,
6052 OPC_CheckChild2CondCode, ISD::SETEQ,
6053 OPC_MoveParent,
6054 OPC_RecordChild1,
6055 OPC_RecordChild2,
6056 OPC_CheckTypeI32,
6057 OPC_CheckPatternPredicate, 8,
6058 OPC_EmitConvertToTarget1,
6059 OPC_EmitNodeXForm, 3, 4,
6060 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
6061 MVT::i32, 2, 0, 5,
6062 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6063 MVT::i32, 2, 2, 6,
6064 OPC_EmitConvertToTarget1,
6065 OPC_EmitNodeXForm, 3, 8,
6066 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
6067 MVT::i32, 2, 0, 9,
6068 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6069 MVT::i32, 2, 3, 10,
6070 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
6071 MVT::i32, 2, 7, 11,
6072 51,
6073 OPC_CheckChild2CondCode, ISD::SETNE,
6074 OPC_MoveParent,
6075 OPC_RecordChild1,
6076 OPC_RecordChild2,
6077 OPC_CheckTypeI32,
6078 OPC_CheckPatternPredicate, 8,
6079 OPC_EmitConvertToTarget1,
6080 OPC_EmitNodeXForm, 3, 4,
6081 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
6082 MVT::i32, 2, 0, 5,
6083 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6084 MVT::i32, 2, 2, 6,
6085 OPC_EmitConvertToTarget1,
6086 OPC_EmitNodeXForm, 3, 8,
6087 OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
6088 MVT::i32, 2, 0, 9,
6089 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6090 MVT::i32, 2, 3, 10,
6091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
6092 MVT::i32, 2, 7, 11,
6093 0,
6094 110,
6095 OPC_CheckPredicate, 10,
6096 OPC_MoveParent,
6097 OPC_CheckTypeI32,
6098 OPC_Scope, 51,
6099 OPC_CheckChild2CondCode, ISD::SETGT,
6100 OPC_MoveParent,
6101 OPC_RecordChild1,
6102 OPC_RecordChild2,
6103 OPC_CheckTypeI32,
6104 OPC_CheckPatternPredicate, 8,
6105 OPC_EmitConvertToTarget1,
6106 OPC_EmitNodeXForm, 2, 4,
6107 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6108 MVT::i32, 2, 0, 5,
6109 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6110 MVT::i32, 2, 2, 6,
6111 OPC_EmitConvertToTarget1,
6112 OPC_EmitNodeXForm, 2, 8,
6113 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6114 MVT::i32, 2, 0, 9,
6115 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6116 MVT::i32, 2, 3, 10,
6117 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
6118 MVT::i32, 2, 7, 11,
6119 51,
6120 OPC_CheckChild2CondCode, ISD::SETUGT,
6121 OPC_MoveParent,
6122 OPC_RecordChild1,
6123 OPC_RecordChild2,
6124 OPC_CheckTypeI32,
6125 OPC_CheckPatternPredicate, 8,
6126 OPC_EmitConvertToTarget1,
6127 OPC_EmitNodeXForm, 2, 4,
6128 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6129 MVT::i32, 2, 0, 5,
6130 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6131 MVT::i32, 2, 2, 6,
6132 OPC_EmitConvertToTarget1,
6133 OPC_EmitNodeXForm, 2, 8,
6134 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6135 MVT::i32, 2, 0, 9,
6136 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6137 MVT::i32, 2, 3, 10,
6138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
6139 MVT::i32, 2, 7, 11,
6140 0,
6141 6|128,1,
6142 OPC_CheckPredicate, 11,
6143 OPC_MoveParent,
6144 OPC_CheckTypeI32,
6145 OPC_Scope, 63,
6146 OPC_CheckChild2CondCode, ISD::SETEQ,
6147 OPC_MoveParent,
6148 OPC_RecordChild1,
6149 OPC_RecordChild2,
6150 OPC_CheckTypeI64,
6151 OPC_CheckPatternPredicate, 19,
6152 OPC_EmitConvertToTarget1,
6153 OPC_EmitNodeXForm, 3, 4,
6154 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
6155 MVT::i32, 2, 0, 5,
6156 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6157 MVT::i64, 1, 6,
6158 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6159 MVT::i64, 2, 2, 7,
6160 OPC_EmitConvertToTarget1,
6161 OPC_EmitNodeXForm, 3, 9,
6162 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
6163 MVT::i32, 2, 0, 10,
6164 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6165 MVT::i64, 1, 11,
6166 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6167 MVT::i64, 2, 3, 12,
6168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6169 MVT::i64, 2, 8, 13,
6170 63,
6171 OPC_CheckChild2CondCode, ISD::SETNE,
6172 OPC_MoveParent,
6173 OPC_RecordChild1,
6174 OPC_RecordChild2,
6175 OPC_CheckTypeI64,
6176 OPC_CheckPatternPredicate, 19,
6177 OPC_EmitConvertToTarget1,
6178 OPC_EmitNodeXForm, 3, 4,
6179 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
6180 MVT::i32, 2, 0, 5,
6181 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6182 MVT::i64, 1, 6,
6183 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6184 MVT::i64, 2, 2, 7,
6185 OPC_EmitConvertToTarget1,
6186 OPC_EmitNodeXForm, 3, 9,
6187 OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
6188 MVT::i32, 2, 0, 10,
6189 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6190 MVT::i64, 1, 11,
6191 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6192 MVT::i64, 2, 3, 12,
6193 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6194 MVT::i64, 2, 8, 13,
6195 0,
6196 20,
6197 OPC_CheckPredicate7,
6198 OPC_MoveParent,
6199 OPC_CheckChild2CondCode, ISD::SETLT,
6200 OPC_CheckTypeI32,
6201 OPC_MoveParent,
6202 OPC_RecordChild1,
6203 OPC_RecordChild2,
6204 OPC_CheckTypeI32,
6205 OPC_CheckPatternPredicate5,
6206 OPC_EmitConvertToTarget1,
6207 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlti),
6208 MVT::i32, 4, 2, 3, 0, 4,
6209 48,
6210 OPC_CheckPredicate, 11,
6211 OPC_MoveParent,
6212 OPC_CheckTypeI32,
6213 OPC_Scope, 20,
6214 OPC_CheckChild2CondCode, ISD::SETEQ,
6215 OPC_MoveParent,
6216 OPC_RecordChild1,
6217 OPC_RecordChild2,
6218 OPC_CheckTypeI32,
6219 OPC_CheckPatternPredicate5,
6220 OPC_EmitConvertToTarget1,
6221 OPC_EmitNodeXForm, 3, 4,
6222 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmpi),
6223 MVT::i32, 4, 2, 3, 0, 5,
6224 20,
6225 OPC_CheckChild2CondCode, ISD::SETNE,
6226 OPC_MoveParent,
6227 OPC_RecordChild1,
6228 OPC_RecordChild2,
6229 OPC_CheckTypeI32,
6230 OPC_CheckPatternPredicate5,
6231 OPC_EmitConvertToTarget1,
6232 OPC_EmitNodeXForm, 3, 4,
6233 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmpi),
6234 MVT::i32, 4, 2, 3, 0, 5,
6235 0,
6236 0,
6237 0,
6238 42|128,6,
6239 OPC_CheckChild0TypeI64,
6240 OPC_Scope, 93,
6241 OPC_MoveChild1,
6242 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6243 OPC_CheckPredicate6,
6244 OPC_MoveParent,
6245 OPC_CheckTypeI32,
6246 OPC_Scope, 41,
6247 OPC_CheckChild2CondCode, ISD::SETNE,
6248 OPC_Scope, 18,
6249 OPC_MoveParent,
6250 OPC_RecordChild1,
6251 OPC_MoveChild2,
6252 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6253 OPC_CheckPredicate6,
6254 OPC_MoveParent,
6255 OPC_CheckTypeI64,
6256 OPC_CheckPatternPredicate, 19,
6257 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
6258 MVT::i64, 2, 1, 0,
6259 17,
6260 OPC_MoveSibling1,
6261 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6262 OPC_CheckPredicate6,
6263 OPC_MoveParent,
6264 OPC_RecordChild2,
6265 OPC_CheckTypeI64,
6266 OPC_CheckPatternPredicate, 19,
6267 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
6268 MVT::i64, 2, 1, 0,
6269 0,
6270 41,
6271 OPC_CheckChild2CondCode, ISD::SETEQ,
6272 OPC_Scope, 18,
6273 OPC_MoveParent,
6274 OPC_RecordChild1,
6275 OPC_MoveChild2,
6276 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6277 OPC_CheckPredicate6,
6278 OPC_MoveParent,
6279 OPC_CheckTypeI64,
6280 OPC_CheckPatternPredicate, 19,
6281 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
6282 MVT::i64, 2, 1, 0,
6283 17,
6284 OPC_MoveSibling1,
6285 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6286 OPC_CheckPredicate6,
6287 OPC_MoveParent,
6288 OPC_RecordChild2,
6289 OPC_CheckTypeI64,
6290 OPC_CheckPatternPredicate, 19,
6291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
6292 MVT::i64, 2, 1, 0,
6293 0,
6294 0,
6295 69,
6296 OPC_CheckChild1Integer, 0,
6297 OPC_CheckTypeI32,
6298 OPC_Scope, 31,
6299 OPC_CheckChild2CondCode, ISD::SETEQ,
6300 OPC_MoveParent,
6301 OPC_RecordChild1,
6302 OPC_RecordChild2,
6303 OPC_SwitchType , 10, MVT::i32,
6304 OPC_CheckPatternPredicate, 10,
6305 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
6306 MVT::i32, 3, 1, 0, 2,
6307 10, MVT::i64,
6308 OPC_CheckPatternPredicate, 10,
6309 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
6310 MVT::i64, 3, 1, 0, 2,
6311 0,
6312 31,
6313 OPC_CheckChild2CondCode, ISD::SETNE,
6314 OPC_MoveParent,
6315 OPC_RecordChild1,
6316 OPC_RecordChild2,
6317 OPC_SwitchType , 10, MVT::i32,
6318 OPC_CheckPatternPredicate, 10,
6319 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
6320 MVT::i32, 3, 1, 0, 2,
6321 10, MVT::i64,
6322 OPC_CheckPatternPredicate, 10,
6323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
6324 MVT::i64, 3, 1, 0, 2,
6325 0,
6326 0,
6327 47|128,2,
6328 OPC_RecordChild1,
6329 OPC_MoveChild1,
6330 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6331 OPC_Scope, 55,
6332 OPC_CheckPredicate7,
6333 OPC_MoveParent,
6334 OPC_CheckTypeI32,
6335 OPC_Scope, 24,
6336 OPC_CheckChild2CondCode, ISD::SETGE,
6337 OPC_MoveParent,
6338 OPC_RecordChild1,
6339 OPC_RecordChild2,
6340 OPC_CheckTypeI32,
6341 OPC_CheckPatternPredicate, 10,
6342 OPC_EmitConvertToTarget1,
6343 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6344 MVT::i32, 2, 0, 4,
6345 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6346 MVT::i32, 3, 2, 5, 3,
6347 24,
6348 OPC_CheckChild2CondCode, ISD::SETUGE,
6349 OPC_MoveParent,
6350 OPC_RecordChild1,
6351 OPC_RecordChild2,
6352 OPC_CheckTypeI32,
6353 OPC_CheckPatternPredicate, 10,
6354 OPC_EmitConvertToTarget1,
6355 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6356 MVT::i32, 2, 0, 4,
6357 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6358 MVT::i32, 3, 2, 5, 3,
6359 0,
6360 62,
6361 OPC_CheckPredicate, 10,
6362 OPC_MoveParent,
6363 OPC_CheckTypeI32,
6364 OPC_Scope, 27,
6365 OPC_CheckChild2CondCode, ISD::SETGT,
6366 OPC_MoveParent,
6367 OPC_RecordChild1,
6368 OPC_RecordChild2,
6369 OPC_CheckTypeI32,
6370 OPC_CheckPatternPredicate, 10,
6371 OPC_EmitConvertToTarget1,
6372 OPC_EmitNodeXForm, 2, 4,
6373 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6374 MVT::i32, 2, 0, 5,
6375 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6376 MVT::i32, 3, 2, 6, 3,
6377 27,
6378 OPC_CheckChild2CondCode, ISD::SETUGT,
6379 OPC_MoveParent,
6380 OPC_RecordChild1,
6381 OPC_RecordChild2,
6382 OPC_CheckTypeI32,
6383 OPC_CheckPatternPredicate, 10,
6384 OPC_EmitConvertToTarget1,
6385 OPC_EmitNodeXForm, 2, 4,
6386 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6387 MVT::i32, 2, 0, 5,
6388 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6389 MVT::i32, 3, 2, 6, 3,
6390 0,
6391 55,
6392 OPC_CheckPredicate7,
6393 OPC_MoveParent,
6394 OPC_CheckTypeI32,
6395 OPC_Scope, 24,
6396 OPC_CheckChild2CondCode, ISD::SETGE,
6397 OPC_MoveParent,
6398 OPC_RecordChild1,
6399 OPC_RecordChild2,
6400 OPC_CheckTypeI64,
6401 OPC_CheckPatternPredicate, 10,
6402 OPC_EmitConvertToTarget1,
6403 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6404 MVT::i32, 2, 0, 4,
6405 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6406 MVT::i64, 3, 2, 5, 3,
6407 24,
6408 OPC_CheckChild2CondCode, ISD::SETUGE,
6409 OPC_MoveParent,
6410 OPC_RecordChild1,
6411 OPC_RecordChild2,
6412 OPC_CheckTypeI64,
6413 OPC_CheckPatternPredicate, 10,
6414 OPC_EmitConvertToTarget1,
6415 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6416 MVT::i32, 2, 0, 4,
6417 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6418 MVT::i64, 3, 2, 5, 3,
6419 0,
6420 62,
6421 OPC_CheckPredicate, 10,
6422 OPC_MoveParent,
6423 OPC_CheckTypeI32,
6424 OPC_Scope, 27,
6425 OPC_CheckChild2CondCode, ISD::SETGT,
6426 OPC_MoveParent,
6427 OPC_RecordChild1,
6428 OPC_RecordChild2,
6429 OPC_CheckTypeI64,
6430 OPC_CheckPatternPredicate, 10,
6431 OPC_EmitConvertToTarget1,
6432 OPC_EmitNodeXForm, 2, 4,
6433 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6434 MVT::i32, 2, 0, 5,
6435 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6436 MVT::i64, 3, 2, 6, 3,
6437 27,
6438 OPC_CheckChild2CondCode, ISD::SETUGT,
6439 OPC_MoveParent,
6440 OPC_RecordChild1,
6441 OPC_RecordChild2,
6442 OPC_CheckTypeI64,
6443 OPC_CheckPatternPredicate, 10,
6444 OPC_EmitConvertToTarget1,
6445 OPC_EmitNodeXForm, 2, 4,
6446 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6447 MVT::i32, 2, 0, 5,
6448 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6449 MVT::i64, 3, 2, 6, 3,
6450 0,
6451 57,
6452 OPC_CheckPredicate, 11,
6453 OPC_MoveParent,
6454 OPC_CheckChild2CondCode, ISD::SETEQ,
6455 OPC_CheckTypeI32,
6456 OPC_MoveParent,
6457 OPC_RecordChild1,
6458 OPC_RecordChild2,
6459 OPC_SwitchType , 21, MVT::i32,
6460 OPC_CheckPatternPredicate, 10,
6461 OPC_EmitConvertToTarget1,
6462 OPC_EmitNodeXForm, 3, 4,
6463 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6464 MVT::i64, 2, 0, 5,
6465 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
6466 MVT::i32, 3, 2, 6, 3,
6467 21, MVT::i64,
6468 OPC_CheckPatternPredicate, 10,
6469 OPC_EmitConvertToTarget1,
6470 OPC_EmitNodeXForm, 3, 4,
6471 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6472 MVT::i64, 2, 0, 5,
6473 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
6474 MVT::i64, 3, 2, 6, 3,
6475 0,
6476 0,
6477 69,
6478 OPC_MoveChild1,
6479 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6480 OPC_CheckPredicate6,
6481 OPC_MoveParent,
6482 OPC_CheckTypeI32,
6483 OPC_Scope, 29,
6484 OPC_CheckChild2CondCode, ISD::SETEQ,
6485 OPC_MoveParent,
6486 OPC_RecordChild1,
6487 OPC_RecordChild2,
6488 OPC_CheckTypeI64,
6489 OPC_CheckPatternPredicate, 19,
6490 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6491 MVT::i64, 2, 1, 0,
6492 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6493 MVT::i64, 2, 2, 0,
6494 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6495 MVT::i64, 2, 3, 4,
6496 29,
6497 OPC_CheckChild2CondCode, ISD::SETNE,
6498 OPC_MoveParent,
6499 OPC_RecordChild1,
6500 OPC_RecordChild2,
6501 OPC_CheckTypeI64,
6502 OPC_CheckPatternPredicate, 19,
6503 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6504 MVT::i64, 2, 1, 0,
6505 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6506 MVT::i64, 2, 2, 0,
6507 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6508 MVT::i64, 2, 3, 4,
6509 0,
6510 10|128,2,
6511 OPC_RecordChild1,
6512 OPC_MoveChild1,
6513 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6514 OPC_Scope, 98,
6515 OPC_CheckPredicate, 50,
6516 OPC_MoveParent,
6517 OPC_CheckTypeI32,
6518 OPC_Scope, 45,
6519 OPC_CheckChild2CondCode, ISD::SETEQ,
6520 OPC_MoveParent,
6521 OPC_RecordChild1,
6522 OPC_RecordChild2,
6523 OPC_CheckTypeI64,
6524 OPC_CheckPatternPredicate, 19,
6525 OPC_EmitConvertToTarget1,
6526 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6527 MVT::i64, 2, 0, 4,
6528 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6529 MVT::i64, 2, 2, 5,
6530 OPC_EmitConvertToTarget1,
6531 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6532 MVT::i64, 2, 0, 7,
6533 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6534 MVT::i64, 2, 3, 8,
6535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6536 MVT::i64, 2, 6, 9,
6537 45,
6538 OPC_CheckChild2CondCode, ISD::SETNE,
6539 OPC_MoveParent,
6540 OPC_RecordChild1,
6541 OPC_RecordChild2,
6542 OPC_CheckTypeI64,
6543 OPC_CheckPatternPredicate, 19,
6544 OPC_EmitConvertToTarget1,
6545 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6546 MVT::i64, 2, 0, 4,
6547 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6548 MVT::i64, 2, 2, 5,
6549 OPC_EmitConvertToTarget1,
6550 OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
6551 MVT::i64, 2, 0, 7,
6552 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6553 MVT::i64, 2, 3, 8,
6554 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6555 MVT::i64, 2, 6, 9,
6556 0,
6557 30|128,1,
6558 OPC_CheckPredicate, 10,
6559 OPC_MoveParent,
6560 OPC_CheckTypeI32,
6561 OPC_Scope, 75,
6562 OPC_CheckChild2CondCode, ISD::SETGT,
6563 OPC_MoveParent,
6564 OPC_RecordChild1,
6565 OPC_RecordChild2,
6566 OPC_CheckTypeI64,
6567 OPC_CheckPatternPredicate, 19,
6568 OPC_EmitIntegerI64, 0,
6569 OPC_EmitConvertToTarget1,
6570 OPC_EmitNodeXForm, 2, 5,
6571 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6572 MVT::i32, 2, 0, 6,
6573 OPC_EmitIntegerI32, Mips::sub_32,
6574 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
6575 MVT::i64, 3, 4, 7, 8,
6576 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6577 MVT::i64, 2, 2, 9,
6578 OPC_EmitIntegerI64, 0,
6579 OPC_EmitConvertToTarget1,
6580 OPC_EmitNodeXForm, 2, 12,
6581 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6582 MVT::i32, 2, 0, 13,
6583 OPC_EmitIntegerI32, Mips::sub_32,
6584 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
6585 MVT::i64, 3, 11, 14, 15,
6586 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6587 MVT::i64, 2, 3, 16,
6588 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6589 MVT::i64, 2, 10, 17,
6590 75,
6591 OPC_CheckChild2CondCode, ISD::SETUGT,
6592 OPC_MoveParent,
6593 OPC_RecordChild1,
6594 OPC_RecordChild2,
6595 OPC_CheckTypeI64,
6596 OPC_CheckPatternPredicate, 19,
6597 OPC_EmitIntegerI64, 0,
6598 OPC_EmitConvertToTarget1,
6599 OPC_EmitNodeXForm, 2, 5,
6600 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6601 MVT::i32, 2, 0, 6,
6602 OPC_EmitIntegerI32, Mips::sub_32,
6603 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
6604 MVT::i64, 3, 4, 7, 8,
6605 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
6606 MVT::i64, 2, 2, 9,
6607 OPC_EmitIntegerI64, 0,
6608 OPC_EmitConvertToTarget1,
6609 OPC_EmitNodeXForm, 2, 12,
6610 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6611 MVT::i32, 2, 0, 13,
6612 OPC_EmitIntegerI32, Mips::sub_32,
6613 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
6614 MVT::i64, 3, 11, 14, 15,
6615 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
6616 MVT::i64, 2, 3, 16,
6617 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
6618 MVT::i64, 2, 10, 17,
6619 0,
6620 0,
6621 0,
6622 0,
6623 124,
6624 OPC_RecordChild0,
6625 OPC_CheckChild0TypeI32,
6626 OPC_Scope, 17,
6627 OPC_RecordChild1,
6628 OPC_MoveChild2,
6629 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6630 OPC_CheckPredicate6,
6631 OPC_MoveParent,
6632 OPC_CheckTypeI32,
6633 OPC_CheckPatternPredicate, 15,
6634 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
6635 MVT::i32, 2, 1, 0,
6636 17,
6637 OPC_MoveChild1,
6638 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6639 OPC_CheckPredicate6,
6640 OPC_MoveParent,
6641 OPC_RecordChild2,
6642 OPC_CheckTypeI32,
6643 OPC_CheckPatternPredicate, 15,
6644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
6645 MVT::i32, 2, 1, 0,
6646 17,
6647 OPC_RecordChild1,
6648 OPC_MoveChild2,
6649 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6650 OPC_CheckPredicate6,
6651 OPC_MoveParent,
6652 OPC_CheckTypeI32,
6653 OPC_CheckPatternPredicate, 8,
6654 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
6655 MVT::i32, 2, 1, 0,
6656 17,
6657 OPC_MoveChild1,
6658 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6659 OPC_CheckPredicate6,
6660 OPC_MoveParent,
6661 OPC_RecordChild2,
6662 OPC_CheckTypeI32,
6663 OPC_CheckPatternPredicate, 8,
6664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
6665 MVT::i32, 2, 1, 0,
6666 23,
6667 OPC_RecordChild1,
6668 OPC_MoveChild2,
6669 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6670 OPC_CheckPredicate6,
6671 OPC_MoveParent,
6672 OPC_CheckTypeI64,
6673 OPC_CheckPatternPredicate, 19,
6674 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6675 MVT::i64, 1, 0,
6676 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
6677 MVT::i64, 2, 1, 2,
6678 23,
6679 OPC_MoveChild1,
6680 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6681 OPC_CheckPredicate6,
6682 OPC_MoveParent,
6683 OPC_RecordChild2,
6684 OPC_CheckTypeI64,
6685 OPC_CheckPatternPredicate, 19,
6686 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
6687 MVT::i64, 1, 0,
6688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
6689 MVT::i64, 2, 1, 2,
6690 0,
6691 42|128,6,
6692 OPC_MoveChild0,
6693 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
6694 OPC_RecordChild0,
6695 OPC_CheckTypeI32,
6696 OPC_Scope, 6|128,4,
6697 OPC_CheckChild0TypeI32,
6698 OPC_RecordChild1,
6699 OPC_Scope, 76,
6700 OPC_CheckChild2CondCode, ISD::SETGE,
6701 OPC_MoveParent,
6702 OPC_RecordChild1,
6703 OPC_RecordChild2,
6704 OPC_SwitchType , 48, MVT::i32,
6705 OPC_Scope, 17,
6706 OPC_CheckPatternPredicate, 20,
6707 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6708 MVT::i32, 2, 0, 1,
6709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6710 MVT::i32, 3, 2, 4, 3,
6711 16,
6712 OPC_CheckPatternPredicate7,
6713 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6714 MVT::i32, 2, 0, 1,
6715 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6716 MVT::i32, 3, 2, 4, 3,
6717 10,
6718 OPC_CheckPatternPredicate5,
6719 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
6720 MVT::i32, 4, 2, 3, 0, 1,
6721 0,
6722 17, MVT::i64,
6723 OPC_CheckPatternPredicate, 10,
6724 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6725 MVT::i32, 2, 0, 1,
6726 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6727 MVT::i64, 3, 2, 4, 3,
6728 0,
6729 76,
6730 OPC_CheckChild2CondCode, ISD::SETUGE,
6731 OPC_MoveParent,
6732 OPC_RecordChild1,
6733 OPC_RecordChild2,
6734 OPC_SwitchType , 48, MVT::i32,
6735 OPC_Scope, 17,
6736 OPC_CheckPatternPredicate, 20,
6737 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6738 MVT::i32, 2, 0, 1,
6739 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6740 MVT::i32, 3, 2, 4, 3,
6741 16,
6742 OPC_CheckPatternPredicate7,
6743 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6744 MVT::i32, 2, 0, 1,
6745 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6746 MVT::i32, 3, 2, 4, 3,
6747 10,
6748 OPC_CheckPatternPredicate5,
6749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
6750 MVT::i32, 4, 2, 3, 0, 1,
6751 0,
6752 17, MVT::i64,
6753 OPC_CheckPatternPredicate, 10,
6754 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6755 MVT::i32, 2, 0, 1,
6756 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6757 MVT::i64, 3, 2, 4, 3,
6758 0,
6759 76,
6760 OPC_CheckChild2CondCode, ISD::SETLE,
6761 OPC_MoveParent,
6762 OPC_RecordChild1,
6763 OPC_RecordChild2,
6764 OPC_SwitchType , 48, MVT::i32,
6765 OPC_Scope, 17,
6766 OPC_CheckPatternPredicate, 20,
6767 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6768 MVT::i32, 2, 1, 0,
6769 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6770 MVT::i32, 3, 2, 4, 3,
6771 16,
6772 OPC_CheckPatternPredicate7,
6773 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6774 MVT::i32, 2, 1, 0,
6775 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6776 MVT::i32, 3, 2, 4, 3,
6777 10,
6778 OPC_CheckPatternPredicate5,
6779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
6780 MVT::i32, 4, 2, 3, 1, 0,
6781 0,
6782 17, MVT::i64,
6783 OPC_CheckPatternPredicate, 10,
6784 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6785 MVT::i32, 2, 1, 0,
6786 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6787 MVT::i64, 3, 2, 4, 3,
6788 0,
6789 76,
6790 OPC_CheckChild2CondCode, ISD::SETULE,
6791 OPC_MoveParent,
6792 OPC_RecordChild1,
6793 OPC_RecordChild2,
6794 OPC_SwitchType , 48, MVT::i32,
6795 OPC_Scope, 17,
6796 OPC_CheckPatternPredicate, 20,
6797 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6798 MVT::i32, 2, 1, 0,
6799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6800 MVT::i32, 3, 2, 4, 3,
6801 16,
6802 OPC_CheckPatternPredicate7,
6803 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6804 MVT::i32, 2, 1, 0,
6805 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6806 MVT::i32, 3, 2, 4, 3,
6807 10,
6808 OPC_CheckPatternPredicate5,
6809 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
6810 MVT::i32, 4, 2, 3, 1, 0,
6811 0,
6812 17, MVT::i64,
6813 OPC_CheckPatternPredicate, 10,
6814 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6815 MVT::i32, 2, 1, 0,
6816 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6817 MVT::i64, 3, 2, 4, 3,
6818 0,
6819 76,
6820 OPC_CheckChild2CondCode, ISD::SETEQ,
6821 OPC_MoveParent,
6822 OPC_RecordChild1,
6823 OPC_RecordChild2,
6824 OPC_SwitchType , 48, MVT::i32,
6825 OPC_Scope, 17,
6826 OPC_CheckPatternPredicate, 20,
6827 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6828 MVT::i32, 2, 0, 1,
6829 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6830 MVT::i32, 3, 2, 4, 3,
6831 16,
6832 OPC_CheckPatternPredicate7,
6833 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6834 MVT::i32, 2, 0, 1,
6835 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
6836 MVT::i32, 3, 2, 4, 3,
6837 10,
6838 OPC_CheckPatternPredicate5,
6839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmp),
6840 MVT::i32, 4, 2, 3, 1, 0,
6841 0,
6842 17, MVT::i64,
6843 OPC_CheckPatternPredicate, 10,
6844 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6845 MVT::i32, 2, 0, 1,
6846 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6847 MVT::i64, 3, 2, 4, 3,
6848 0,
6849 94,
6850 OPC_CheckChild2CondCode, ISD::SETNE,
6851 OPC_MoveParent,
6852 OPC_RecordChild1,
6853 OPC_RecordChild2,
6854 OPC_SwitchType , 66, MVT::i32,
6855 OPC_Scope, 17,
6856 OPC_CheckPatternPredicate, 20,
6857 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6858 MVT::i32, 2, 0, 1,
6859 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
6860 MVT::i32, 3, 2, 4, 3,
6861 17,
6862 OPC_CheckPatternPredicate, 76,
6863 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6864 MVT::i32, 2, 0, 1,
6865 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
6866 MVT::i32, 3, 2, 4, 3,
6867 16,
6868 OPC_CheckPatternPredicate7,
6869 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6870 MVT::i32, 2, 0, 1,
6871 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
6872 MVT::i32, 3, 2, 4, 3,
6873 10,
6874 OPC_CheckPatternPredicate5,
6875 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmp),
6876 MVT::i32, 4, 2, 3, 1, 0,
6877 0,
6878 17, MVT::i64,
6879 OPC_CheckPatternPredicate, 10,
6880 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6881 MVT::i32, 2, 0, 1,
6882 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
6883 MVT::i64, 3, 2, 4, 3,
6884 0,
6885 16,
6886 OPC_CheckChild2CondCode, ISD::SETGT,
6887 OPC_MoveParent,
6888 OPC_RecordChild1,
6889 OPC_RecordChild2,
6890 OPC_CheckTypeI32,
6891 OPC_CheckPatternPredicate5,
6892 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlt),
6893 MVT::i32, 4, 2, 3, 1, 0,
6894 16,
6895 OPC_CheckChild2CondCode, ISD::SETUGT,
6896 OPC_MoveParent,
6897 OPC_RecordChild1,
6898 OPC_RecordChild2,
6899 OPC_CheckTypeI32,
6900 OPC_CheckPatternPredicate5,
6901 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSltu),
6902 MVT::i32, 4, 2, 3, 1, 0,
6903 0,
6904 24|128,2,
6905 OPC_CheckChild0TypeI64,
6906 OPC_RecordChild1,
6907 OPC_Scope, 45,
6908 OPC_CheckChild2CondCode, ISD::SETGE,
6909 OPC_MoveParent,
6910 OPC_RecordChild1,
6911 OPC_RecordChild2,
6912 OPC_SwitchType , 17, MVT::i32,
6913 OPC_CheckPatternPredicate, 10,
6914 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6915 MVT::i32, 2, 0, 1,
6916 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6917 MVT::i32, 3, 2, 4, 3,
6918 17, MVT::i64,
6919 OPC_CheckPatternPredicate, 10,
6920 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6921 MVT::i32, 2, 0, 1,
6922 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6923 MVT::i64, 3, 2, 4, 3,
6924 0,
6925 45,
6926 OPC_CheckChild2CondCode, ISD::SETUGE,
6927 OPC_MoveParent,
6928 OPC_RecordChild1,
6929 OPC_RecordChild2,
6930 OPC_SwitchType , 17, MVT::i32,
6931 OPC_CheckPatternPredicate, 10,
6932 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6933 MVT::i32, 2, 0, 1,
6934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6935 MVT::i32, 3, 2, 4, 3,
6936 17, MVT::i64,
6937 OPC_CheckPatternPredicate, 10,
6938 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6939 MVT::i32, 2, 0, 1,
6940 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6941 MVT::i64, 3, 2, 4, 3,
6942 0,
6943 45,
6944 OPC_CheckChild2CondCode, ISD::SETLE,
6945 OPC_MoveParent,
6946 OPC_RecordChild1,
6947 OPC_RecordChild2,
6948 OPC_SwitchType , 17, MVT::i32,
6949 OPC_CheckPatternPredicate, 10,
6950 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6951 MVT::i32, 2, 1, 0,
6952 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6953 MVT::i32, 3, 2, 4, 3,
6954 17, MVT::i64,
6955 OPC_CheckPatternPredicate, 10,
6956 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6957 MVT::i32, 2, 1, 0,
6958 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6959 MVT::i64, 3, 2, 4, 3,
6960 0,
6961 45,
6962 OPC_CheckChild2CondCode, ISD::SETULE,
6963 OPC_MoveParent,
6964 OPC_RecordChild1,
6965 OPC_RecordChild2,
6966 OPC_SwitchType , 17, MVT::i32,
6967 OPC_CheckPatternPredicate, 10,
6968 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6969 MVT::i32, 2, 1, 0,
6970 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
6971 MVT::i32, 3, 2, 4, 3,
6972 17, MVT::i64,
6973 OPC_CheckPatternPredicate, 10,
6974 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6975 MVT::i32, 2, 1, 0,
6976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
6977 MVT::i64, 3, 2, 4, 3,
6978 0,
6979 45,
6980 OPC_CheckChild2CondCode, ISD::SETEQ,
6981 OPC_MoveParent,
6982 OPC_RecordChild1,
6983 OPC_RecordChild2,
6984 OPC_SwitchType , 17, MVT::i32,
6985 OPC_CheckPatternPredicate, 10,
6986 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6987 MVT::i64, 2, 0, 1,
6988 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
6989 MVT::i32, 3, 2, 4, 3,
6990 17, MVT::i64,
6991 OPC_CheckPatternPredicate, 10,
6992 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6993 MVT::i64, 2, 0, 1,
6994 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
6995 MVT::i64, 3, 2, 4, 3,
6996 0,
6997 45,
6998 OPC_CheckChild2CondCode, ISD::SETNE,
6999 OPC_MoveParent,
7000 OPC_RecordChild1,
7001 OPC_RecordChild2,
7002 OPC_SwitchType , 17, MVT::i32,
7003 OPC_CheckPatternPredicate, 10,
7004 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7005 MVT::i64, 2, 0, 1,
7006 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
7007 MVT::i32, 3, 2, 4, 3,
7008 17, MVT::i64,
7009 OPC_CheckPatternPredicate, 10,
7010 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7011 MVT::i64, 2, 0, 1,
7012 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
7013 MVT::i64, 3, 2, 4, 3,
7014 0,
7015 0,
7016 0,
7017 106|128,1,
7018 OPC_RecordChild0,
7019 OPC_Scope, 44|128,1,
7020 OPC_CheckChild0TypeI32,
7021 OPC_RecordChild1,
7022 OPC_RecordChild2,
7023 OPC_SwitchType , 103, MVT::i32,
7024 OPC_Scope, 10,
7025 OPC_CheckPatternPredicate, 20,
7026 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
7027 MVT::i32, 3, 1, 0, 2,
7028 10,
7029 OPC_CheckPatternPredicate, 76,
7030 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
7031 MVT::i32, 3, 1, 0, 2,
7032 9,
7033 OPC_CheckPatternPredicate7,
7034 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
7035 MVT::i32, 3, 1, 0, 2,
7036 23,
7037 OPC_CheckPatternPredicate, 15,
7038 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
7039 MVT::i32, 2, 1, 0,
7040 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
7041 MVT::i32, 2, 2, 0,
7042 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
7043 MVT::i32, 2, 3, 4,
7044 23,
7045 OPC_CheckPatternPredicate, 8,
7046 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
7047 MVT::i32, 2, 1, 0,
7048 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
7049 MVT::i32, 2, 2, 0,
7050 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
7051 MVT::i32, 2, 3, 4,
7052 10,
7053 OPC_CheckPatternPredicate, 48,
7054 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I),
7055 MVT::i32, 3, 0, 1, 2,
7056 9,
7057 OPC_CheckPatternPredicate5,
7058 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
7059 MVT::i32, 3, 1, 2, 0,
7060 0,
7061 60, MVT::i64,
7062 OPC_Scope, 10,
7063 OPC_CheckPatternPredicate, 10,
7064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
7065 MVT::i64, 3, 1, 0, 2,
7066 35,
7067 OPC_CheckPatternPredicate, 19,
7068 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
7069 MVT::i64, 1, 0,
7070 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
7071 MVT::i64, 2, 1, 3,
7072 OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
7073 MVT::i64, 1, 0,
7074 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
7075 MVT::i64, 2, 2, 5,
7076 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
7077 MVT::i64, 2, 4, 6,
7078 10,
7079 OPC_CheckPatternPredicate, 48,
7080 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I64),
7081 MVT::i64, 3, 0, 1, 2,
7082 0,
7083 0,
7084 56,
7085 OPC_CheckChild0TypeI64,
7086 OPC_RecordChild1,
7087 OPC_RecordChild2,
7088 OPC_SwitchType , 10, MVT::i32,
7089 OPC_CheckPatternPredicate, 10,
7090 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
7091 MVT::i32, 3, 1, 0, 2,
7092 37, MVT::i64,
7093 OPC_Scope, 10,
7094 OPC_CheckPatternPredicate, 10,
7095 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
7096 MVT::i64, 3, 1, 0, 2,
7097 23,
7098 OPC_CheckPatternPredicate, 19,
7099 OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
7100 MVT::i64, 2, 1, 0,
7101 OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
7102 MVT::i64, 2, 2, 0,
7103 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
7104 MVT::i64, 2, 3, 4,
7105 0,
7106 0,
7107 0,
7108 115|128,15,
7109 OPC_MoveChild0,
7110 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
7111 OPC_RecordChild0,
7112 OPC_Scope, 2|128,11,
7113 OPC_CheckChild0TypeI32,
7114 OPC_Scope, 17|128,1,
7115 OPC_CheckChild1Integer, 0,
7116 OPC_CheckTypeI32,
7117 OPC_Scope, 69,
7118 OPC_CheckChild2CondCode, ISD::SETEQ,
7119 OPC_MoveParent,
7120 OPC_RecordChild1,
7121 OPC_RecordChild2,
7122 OPC_SwitchType , 23, MVT::f32,
7123 OPC_Scope, 10,
7124 OPC_CheckPatternPredicate, 20,
7125 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7126 MVT::f32, 3, 1, 0, 2,
7127 9,
7128 OPC_CheckPatternPredicate7,
7129 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7130 MVT::f32, 3, 1, 0, 2,
7131 0,
7132 35, MVT::f64,
7133 OPC_Scope, 10,
7134 OPC_CheckPatternPredicate, 33,
7135 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7136 MVT::f64, 3, 1, 0, 2,
7137 10,
7138 OPC_CheckPatternPredicate, 21,
7139 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7140 MVT::f64, 3, 1, 0, 2,
7141 10,
7142 OPC_CheckPatternPredicate, 32,
7143 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7144 MVT::f64, 3, 1, 0, 2,
7145 0,
7146 0,
7147 69,
7148 OPC_CheckChild2CondCode, ISD::SETNE,
7149 OPC_MoveParent,
7150 OPC_RecordChild1,
7151 OPC_RecordChild2,
7152 OPC_SwitchType , 23, MVT::f32,
7153 OPC_Scope, 10,
7154 OPC_CheckPatternPredicate, 20,
7155 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
7156 MVT::f32, 3, 1, 0, 2,
7157 9,
7158 OPC_CheckPatternPredicate7,
7159 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
7160 MVT::f32, 3, 1, 0, 2,
7161 0,
7162 35, MVT::f64,
7163 OPC_Scope, 10,
7164 OPC_CheckPatternPredicate, 33,
7165 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
7166 MVT::f64, 3, 1, 0, 2,
7167 10,
7168 OPC_CheckPatternPredicate, 21,
7169 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
7170 MVT::f64, 3, 1, 0, 2,
7171 10,
7172 OPC_CheckPatternPredicate, 32,
7173 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
7174 MVT::f64, 3, 1, 0, 2,
7175 0,
7176 0,
7177 0,
7178 106|128,9,
7179 OPC_RecordChild1,
7180 OPC_Scope, 105|128,4,
7181 OPC_MoveChild1,
7182 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7183 OPC_Scope, 57,
7184 OPC_CheckPredicate7,
7185 OPC_MoveParent,
7186 OPC_CheckTypeI32,
7187 OPC_Scope, 25,
7188 OPC_CheckChild2CondCode, ISD::SETGE,
7189 OPC_MoveParent,
7190 OPC_RecordChild1,
7191 OPC_RecordChild2,
7192 OPC_CheckType, MVT::f32,
7193 OPC_CheckPatternPredicate, 20,
7194 OPC_EmitConvertToTarget1,
7195 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7196 MVT::i32, 2, 0, 4,
7197 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7198 MVT::f32, 3, 2, 5, 3,
7199 25,
7200 OPC_CheckChild2CondCode, ISD::SETUGE,
7201 OPC_MoveParent,
7202 OPC_RecordChild1,
7203 OPC_RecordChild2,
7204 OPC_CheckType, MVT::f32,
7205 OPC_CheckPatternPredicate, 20,
7206 OPC_EmitConvertToTarget1,
7207 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7208 MVT::i32, 2, 0, 4,
7209 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7210 MVT::f32, 3, 2, 5, 3,
7211 0,
7212 64,
7213 OPC_CheckPredicate, 10,
7214 OPC_MoveParent,
7215 OPC_CheckTypeI32,
7216 OPC_Scope, 28,
7217 OPC_CheckChild2CondCode, ISD::SETGT,
7218 OPC_MoveParent,
7219 OPC_RecordChild1,
7220 OPC_RecordChild2,
7221 OPC_CheckType, MVT::f32,
7222 OPC_CheckPatternPredicate, 20,
7223 OPC_EmitConvertToTarget1,
7224 OPC_EmitNodeXForm, 2, 4,
7225 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7226 MVT::i32, 2, 0, 5,
7227 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7228 MVT::f32, 3, 2, 6, 3,
7229 28,
7230 OPC_CheckChild2CondCode, ISD::SETUGT,
7231 OPC_MoveParent,
7232 OPC_RecordChild1,
7233 OPC_RecordChild2,
7234 OPC_CheckType, MVT::f32,
7235 OPC_CheckPatternPredicate, 20,
7236 OPC_EmitConvertToTarget1,
7237 OPC_EmitNodeXForm, 2, 4,
7238 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7239 MVT::i32, 2, 0, 5,
7240 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7241 MVT::f32, 3, 2, 6, 3,
7242 0,
7243 57,
7244 OPC_CheckPredicate7,
7245 OPC_MoveParent,
7246 OPC_CheckTypeI32,
7247 OPC_Scope, 25,
7248 OPC_CheckChild2CondCode, ISD::SETGE,
7249 OPC_MoveParent,
7250 OPC_RecordChild1,
7251 OPC_RecordChild2,
7252 OPC_CheckType, MVT::f64,
7253 OPC_CheckPatternPredicate, 33,
7254 OPC_EmitConvertToTarget1,
7255 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7256 MVT::i32, 2, 0, 4,
7257 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7258 MVT::f64, 3, 2, 5, 3,
7259 25,
7260 OPC_CheckChild2CondCode, ISD::SETUGE,
7261 OPC_MoveParent,
7262 OPC_RecordChild1,
7263 OPC_RecordChild2,
7264 OPC_CheckType, MVT::f64,
7265 OPC_CheckPatternPredicate, 33,
7266 OPC_EmitConvertToTarget1,
7267 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7268 MVT::i32, 2, 0, 4,
7269 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7270 MVT::f64, 3, 2, 5, 3,
7271 0,
7272 64,
7273 OPC_CheckPredicate, 10,
7274 OPC_MoveParent,
7275 OPC_CheckTypeI32,
7276 OPC_Scope, 28,
7277 OPC_CheckChild2CondCode, ISD::SETGT,
7278 OPC_MoveParent,
7279 OPC_RecordChild1,
7280 OPC_RecordChild2,
7281 OPC_CheckType, MVT::f64,
7282 OPC_CheckPatternPredicate, 33,
7283 OPC_EmitConvertToTarget1,
7284 OPC_EmitNodeXForm, 2, 4,
7285 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7286 MVT::i32, 2, 0, 5,
7287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7288 MVT::f64, 3, 2, 6, 3,
7289 28,
7290 OPC_CheckChild2CondCode, ISD::SETUGT,
7291 OPC_MoveParent,
7292 OPC_RecordChild1,
7293 OPC_RecordChild2,
7294 OPC_CheckType, MVT::f64,
7295 OPC_CheckPatternPredicate, 33,
7296 OPC_EmitConvertToTarget1,
7297 OPC_EmitNodeXForm, 2, 4,
7298 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7299 MVT::i32, 2, 0, 5,
7300 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7301 MVT::f64, 3, 2, 6, 3,
7302 0,
7303 57,
7304 OPC_CheckPredicate7,
7305 OPC_MoveParent,
7306 OPC_CheckTypeI32,
7307 OPC_Scope, 25,
7308 OPC_CheckChild2CondCode, ISD::SETGE,
7309 OPC_MoveParent,
7310 OPC_RecordChild1,
7311 OPC_RecordChild2,
7312 OPC_CheckType, MVT::f64,
7313 OPC_CheckPatternPredicate, 21,
7314 OPC_EmitConvertToTarget1,
7315 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7316 MVT::i32, 2, 0, 4,
7317 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7318 MVT::f64, 3, 2, 5, 3,
7319 25,
7320 OPC_CheckChild2CondCode, ISD::SETUGE,
7321 OPC_MoveParent,
7322 OPC_RecordChild1,
7323 OPC_RecordChild2,
7324 OPC_CheckType, MVT::f64,
7325 OPC_CheckPatternPredicate, 21,
7326 OPC_EmitConvertToTarget1,
7327 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7328 MVT::i32, 2, 0, 4,
7329 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7330 MVT::f64, 3, 2, 5, 3,
7331 0,
7332 64,
7333 OPC_CheckPredicate, 10,
7334 OPC_MoveParent,
7335 OPC_CheckTypeI32,
7336 OPC_Scope, 28,
7337 OPC_CheckChild2CondCode, ISD::SETGT,
7338 OPC_MoveParent,
7339 OPC_RecordChild1,
7340 OPC_RecordChild2,
7341 OPC_CheckType, MVT::f64,
7342 OPC_CheckPatternPredicate, 21,
7343 OPC_EmitConvertToTarget1,
7344 OPC_EmitNodeXForm, 2, 4,
7345 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
7346 MVT::i32, 2, 0, 5,
7347 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7348 MVT::f64, 3, 2, 6, 3,
7349 28,
7350 OPC_CheckChild2CondCode, ISD::SETUGT,
7351 OPC_MoveParent,
7352 OPC_RecordChild1,
7353 OPC_RecordChild2,
7354 OPC_CheckType, MVT::f64,
7355 OPC_CheckPatternPredicate, 21,
7356 OPC_EmitConvertToTarget1,
7357 OPC_EmitNodeXForm, 2, 4,
7358 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
7359 MVT::i32, 2, 0, 5,
7360 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7361 MVT::f64, 3, 2, 6, 3,
7362 0,
7363 55,
7364 OPC_CheckPredicate7,
7365 OPC_MoveParent,
7366 OPC_CheckTypeI32,
7367 OPC_Scope, 24,
7368 OPC_CheckChild2CondCode, ISD::SETGE,
7369 OPC_MoveParent,
7370 OPC_RecordChild1,
7371 OPC_RecordChild2,
7372 OPC_CheckType, MVT::f32,
7373 OPC_CheckPatternPredicate7,
7374 OPC_EmitConvertToTarget1,
7375 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
7376 MVT::i32, 2, 0, 4,
7377 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7378 MVT::f32, 3, 2, 5, 3,
7379 24,
7380 OPC_CheckChild2CondCode, ISD::SETUGE,
7381 OPC_MoveParent,
7382 OPC_RecordChild1,
7383 OPC_RecordChild2,
7384 OPC_CheckType, MVT::f32,
7385 OPC_CheckPatternPredicate7,
7386 OPC_EmitConvertToTarget1,
7387 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
7388 MVT::i32, 2, 0, 4,
7389 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7390 MVT::f32, 3, 2, 5, 3,
7391 0,
7392 62,
7393 OPC_CheckPredicate, 10,
7394 OPC_MoveParent,
7395 OPC_CheckTypeI32,
7396 OPC_Scope, 27,
7397 OPC_CheckChild2CondCode, ISD::SETGT,
7398 OPC_MoveParent,
7399 OPC_RecordChild1,
7400 OPC_RecordChild2,
7401 OPC_CheckType, MVT::f32,
7402 OPC_CheckPatternPredicate7,
7403 OPC_EmitConvertToTarget1,
7404 OPC_EmitNodeXForm, 2, 4,
7405 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
7406 MVT::i32, 2, 0, 5,
7407 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7408 MVT::f32, 3, 2, 6, 3,
7409 27,
7410 OPC_CheckChild2CondCode, ISD::SETUGT,
7411 OPC_MoveParent,
7412 OPC_RecordChild1,
7413 OPC_RecordChild2,
7414 OPC_CheckType, MVT::f32,
7415 OPC_CheckPatternPredicate7,
7416 OPC_EmitConvertToTarget1,
7417 OPC_EmitNodeXForm, 2, 4,
7418 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
7419 MVT::i32, 2, 0, 5,
7420 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7421 MVT::f32, 3, 2, 6, 3,
7422 0,
7423 57,
7424 OPC_CheckPredicate7,
7425 OPC_MoveParent,
7426 OPC_CheckTypeI32,
7427 OPC_Scope, 25,
7428 OPC_CheckChild2CondCode, ISD::SETGE,
7429 OPC_MoveParent,
7430 OPC_RecordChild1,
7431 OPC_RecordChild2,
7432 OPC_CheckType, MVT::f64,
7433 OPC_CheckPatternPredicate, 32,
7434 OPC_EmitConvertToTarget1,
7435 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
7436 MVT::i32, 2, 0, 4,
7437 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7438 MVT::f64, 3, 2, 5, 3,
7439 25,
7440 OPC_CheckChild2CondCode, ISD::SETUGE,
7441 OPC_MoveParent,
7442 OPC_RecordChild1,
7443 OPC_RecordChild2,
7444 OPC_CheckType, MVT::f64,
7445 OPC_CheckPatternPredicate, 32,
7446 OPC_EmitConvertToTarget1,
7447 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
7448 MVT::i32, 2, 0, 4,
7449 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7450 MVT::f64, 3, 2, 5, 3,
7451 0,
7452 64,
7453 OPC_CheckPredicate, 10,
7454 OPC_MoveParent,
7455 OPC_CheckTypeI32,
7456 OPC_Scope, 28,
7457 OPC_CheckChild2CondCode, ISD::SETGT,
7458 OPC_MoveParent,
7459 OPC_RecordChild1,
7460 OPC_RecordChild2,
7461 OPC_CheckType, MVT::f64,
7462 OPC_CheckPatternPredicate, 32,
7463 OPC_EmitConvertToTarget1,
7464 OPC_EmitNodeXForm, 2, 4,
7465 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
7466 MVT::i32, 2, 0, 5,
7467 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7468 MVT::f64, 3, 2, 6, 3,
7469 28,
7470 OPC_CheckChild2CondCode, ISD::SETUGT,
7471 OPC_MoveParent,
7472 OPC_RecordChild1,
7473 OPC_RecordChild2,
7474 OPC_CheckType, MVT::f64,
7475 OPC_CheckPatternPredicate, 32,
7476 OPC_EmitConvertToTarget1,
7477 OPC_EmitNodeXForm, 2, 4,
7478 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
7479 MVT::i32, 2, 0, 5,
7480 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7481 MVT::f64, 3, 2, 6, 3,
7482 0,
7483 0,
7484 105,
7485 OPC_CheckChild2CondCode, ISD::SETGE,
7486 OPC_CheckTypeI32,
7487 OPC_MoveParent,
7488 OPC_RecordChild1,
7489 OPC_RecordChild2,
7490 OPC_SwitchType , 37, MVT::f32,
7491 OPC_Scope, 17,
7492 OPC_CheckPatternPredicate, 20,
7493 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7494 MVT::i32, 2, 0, 1,
7495 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7496 MVT::f32, 3, 2, 4, 3,
7497 16,
7498 OPC_CheckPatternPredicate7,
7499 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
7500 MVT::i32, 2, 0, 1,
7501 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7502 MVT::f32, 3, 2, 4, 3,
7503 0,
7504 56, MVT::f64,
7505 OPC_Scope, 17,
7506 OPC_CheckPatternPredicate, 33,
7507 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7508 MVT::i32, 2, 0, 1,
7509 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7510 MVT::f64, 3, 2, 4, 3,
7511 17,
7512 OPC_CheckPatternPredicate, 21,
7513 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7514 MVT::i32, 2, 0, 1,
7515 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7516 MVT::f64, 3, 2, 4, 3,
7517 17,
7518 OPC_CheckPatternPredicate, 32,
7519 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
7520 MVT::i32, 2, 0, 1,
7521 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7522 MVT::f64, 3, 2, 4, 3,
7523 0,
7524 0,
7525 105,
7526 OPC_CheckChild2CondCode, ISD::SETUGE,
7527 OPC_CheckTypeI32,
7528 OPC_MoveParent,
7529 OPC_RecordChild1,
7530 OPC_RecordChild2,
7531 OPC_SwitchType , 37, MVT::f32,
7532 OPC_Scope, 17,
7533 OPC_CheckPatternPredicate, 20,
7534 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7535 MVT::i32, 2, 0, 1,
7536 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7537 MVT::f32, 3, 2, 4, 3,
7538 16,
7539 OPC_CheckPatternPredicate7,
7540 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
7541 MVT::i32, 2, 0, 1,
7542 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7543 MVT::f32, 3, 2, 4, 3,
7544 0,
7545 56, MVT::f64,
7546 OPC_Scope, 17,
7547 OPC_CheckPatternPredicate, 33,
7548 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7549 MVT::i32, 2, 0, 1,
7550 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7551 MVT::f64, 3, 2, 4, 3,
7552 17,
7553 OPC_CheckPatternPredicate, 21,
7554 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7555 MVT::i32, 2, 0, 1,
7556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7557 MVT::f64, 3, 2, 4, 3,
7558 17,
7559 OPC_CheckPatternPredicate, 32,
7560 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
7561 MVT::i32, 2, 0, 1,
7562 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7563 MVT::f64, 3, 2, 4, 3,
7564 0,
7565 0,
7566 105,
7567 OPC_CheckChild2CondCode, ISD::SETLE,
7568 OPC_CheckTypeI32,
7569 OPC_MoveParent,
7570 OPC_RecordChild1,
7571 OPC_RecordChild2,
7572 OPC_SwitchType , 37, MVT::f32,
7573 OPC_Scope, 17,
7574 OPC_CheckPatternPredicate, 20,
7575 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7576 MVT::i32, 2, 1, 0,
7577 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7578 MVT::f32, 3, 2, 4, 3,
7579 16,
7580 OPC_CheckPatternPredicate7,
7581 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
7582 MVT::i32, 2, 1, 0,
7583 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7584 MVT::f32, 3, 2, 4, 3,
7585 0,
7586 56, MVT::f64,
7587 OPC_Scope, 17,
7588 OPC_CheckPatternPredicate, 33,
7589 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7590 MVT::i32, 2, 1, 0,
7591 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7592 MVT::f64, 3, 2, 4, 3,
7593 17,
7594 OPC_CheckPatternPredicate, 21,
7595 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
7596 MVT::i32, 2, 1, 0,
7597 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7598 MVT::f64, 3, 2, 4, 3,
7599 17,
7600 OPC_CheckPatternPredicate, 32,
7601 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
7602 MVT::i32, 2, 1, 0,
7603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7604 MVT::f64, 3, 2, 4, 3,
7605 0,
7606 0,
7607 105,
7608 OPC_CheckChild2CondCode, ISD::SETULE,
7609 OPC_CheckTypeI32,
7610 OPC_MoveParent,
7611 OPC_RecordChild1,
7612 OPC_RecordChild2,
7613 OPC_SwitchType , 37, MVT::f32,
7614 OPC_Scope, 17,
7615 OPC_CheckPatternPredicate, 20,
7616 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7617 MVT::i32, 2, 1, 0,
7618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7619 MVT::f32, 3, 2, 4, 3,
7620 16,
7621 OPC_CheckPatternPredicate7,
7622 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
7623 MVT::i32, 2, 1, 0,
7624 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7625 MVT::f32, 3, 2, 4, 3,
7626 0,
7627 56, MVT::f64,
7628 OPC_Scope, 17,
7629 OPC_CheckPatternPredicate, 33,
7630 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7631 MVT::i32, 2, 1, 0,
7632 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7633 MVT::f64, 3, 2, 4, 3,
7634 17,
7635 OPC_CheckPatternPredicate, 21,
7636 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
7637 MVT::i32, 2, 1, 0,
7638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7639 MVT::f64, 3, 2, 4, 3,
7640 17,
7641 OPC_CheckPatternPredicate, 32,
7642 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
7643 MVT::i32, 2, 1, 0,
7644 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7645 MVT::f64, 3, 2, 4, 3,
7646 0,
7647 0,
7648 105,
7649 OPC_CheckChild2CondCode, ISD::SETEQ,
7650 OPC_CheckTypeI32,
7651 OPC_MoveParent,
7652 OPC_RecordChild1,
7653 OPC_RecordChild2,
7654 OPC_SwitchType , 37, MVT::f32,
7655 OPC_Scope, 17,
7656 OPC_CheckPatternPredicate, 20,
7657 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7658 MVT::i32, 2, 0, 1,
7659 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7660 MVT::f32, 3, 2, 4, 3,
7661 16,
7662 OPC_CheckPatternPredicate7,
7663 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
7664 MVT::i32, 2, 0, 1,
7665 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
7666 MVT::f32, 3, 2, 4, 3,
7667 0,
7668 56, MVT::f64,
7669 OPC_Scope, 17,
7670 OPC_CheckPatternPredicate, 33,
7671 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7672 MVT::i32, 2, 0, 1,
7673 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
7674 MVT::f64, 3, 2, 4, 3,
7675 17,
7676 OPC_CheckPatternPredicate, 21,
7677 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7678 MVT::i32, 2, 0, 1,
7679 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7680 MVT::f64, 3, 2, 4, 3,
7681 17,
7682 OPC_CheckPatternPredicate, 32,
7683 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
7684 MVT::i32, 2, 0, 1,
7685 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
7686 MVT::f64, 3, 2, 4, 3,
7687 0,
7688 0,
7689 105,
7690 OPC_CheckChild2CondCode, ISD::SETNE,
7691 OPC_CheckTypeI32,
7692 OPC_MoveParent,
7693 OPC_RecordChild1,
7694 OPC_RecordChild2,
7695 OPC_SwitchType , 37, MVT::f32,
7696 OPC_Scope, 17,
7697 OPC_CheckPatternPredicate, 20,
7698 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7699 MVT::i32, 2, 0, 1,
7700 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
7701 MVT::f32, 3, 2, 4, 3,
7702 16,
7703 OPC_CheckPatternPredicate7,
7704 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
7705 MVT::i32, 2, 0, 1,
7706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
7707 MVT::f32, 3, 2, 4, 3,
7708 0,
7709 56, MVT::f64,
7710 OPC_Scope, 17,
7711 OPC_CheckPatternPredicate, 33,
7712 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7713 MVT::i32, 2, 0, 1,
7714 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
7715 MVT::f64, 3, 2, 4, 3,
7716 17,
7717 OPC_CheckPatternPredicate, 21,
7718 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
7719 MVT::i32, 2, 0, 1,
7720 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
7721 MVT::f64, 3, 2, 4, 3,
7722 17,
7723 OPC_CheckPatternPredicate, 32,
7724 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
7725 MVT::i32, 2, 0, 1,
7726 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
7727 MVT::f64, 3, 2, 4, 3,
7728 0,
7729 0,
7730 0,
7731 0,
7732 102|128,4,
7733 OPC_CheckChild0TypeI64,
7734 OPC_Scope, 69,
7735 OPC_CheckChild1Integer, 0,
7736 OPC_CheckTypeI32,
7737 OPC_Scope, 31,
7738 OPC_CheckChild2CondCode, ISD::SETEQ,
7739 OPC_MoveParent,
7740 OPC_RecordChild1,
7741 OPC_RecordChild2,
7742 OPC_SwitchType , 10, MVT::f32,
7743 OPC_CheckPatternPredicate, 10,
7744 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
7745 MVT::f32, 3, 1, 0, 2,
7746 10, MVT::f64,
7747 OPC_CheckPatternPredicate, 21,
7748 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
7749 MVT::f64, 3, 1, 0, 2,
7750 0,
7751 31,
7752 OPC_CheckChild2CondCode, ISD::SETNE,
7753 OPC_MoveParent,
7754 OPC_RecordChild1,
7755 OPC_RecordChild2,
7756 OPC_SwitchType , 10, MVT::f32,
7757 OPC_CheckPatternPredicate, 10,
7758 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
7759 MVT::f32, 3, 1, 0, 2,
7760 10, MVT::f64,
7761 OPC_CheckPatternPredicate, 21,
7762 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
7763 MVT::f64, 3, 1, 0, 2,
7764 0,
7765 0,
7766 27|128,4,
7767 OPC_RecordChild1,
7768 OPC_Scope, 124|128,1,
7769 OPC_MoveChild1,
7770 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7771 OPC_Scope, 57,
7772 OPC_CheckPredicate7,
7773 OPC_MoveParent,
7774 OPC_CheckTypeI32,
7775 OPC_Scope, 25,
7776 OPC_CheckChild2CondCode, ISD::SETGE,
7777 OPC_MoveParent,
7778 OPC_RecordChild1,
7779 OPC_RecordChild2,
7780 OPC_CheckType, MVT::f32,
7781 OPC_CheckPatternPredicate, 10,
7782 OPC_EmitConvertToTarget1,
7783 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
7784 MVT::i32, 2, 0, 4,
7785 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7786 MVT::f32, 3, 2, 5, 3,
7787 25,
7788 OPC_CheckChild2CondCode, ISD::SETUGE,
7789 OPC_MoveParent,
7790 OPC_RecordChild1,
7791 OPC_RecordChild2,
7792 OPC_CheckType, MVT::f32,
7793 OPC_CheckPatternPredicate, 10,
7794 OPC_EmitConvertToTarget1,
7795 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
7796 MVT::i32, 2, 0, 4,
7797 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7798 MVT::f32, 3, 2, 5, 3,
7799 0,
7800 64,
7801 OPC_CheckPredicate, 10,
7802 OPC_MoveParent,
7803 OPC_CheckTypeI32,
7804 OPC_Scope, 28,
7805 OPC_CheckChild2CondCode, ISD::SETGT,
7806 OPC_MoveParent,
7807 OPC_RecordChild1,
7808 OPC_RecordChild2,
7809 OPC_CheckType, MVT::f32,
7810 OPC_CheckPatternPredicate, 10,
7811 OPC_EmitConvertToTarget1,
7812 OPC_EmitNodeXForm, 2, 4,
7813 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
7814 MVT::i32, 2, 0, 5,
7815 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7816 MVT::f32, 3, 2, 6, 3,
7817 28,
7818 OPC_CheckChild2CondCode, ISD::SETUGT,
7819 OPC_MoveParent,
7820 OPC_RecordChild1,
7821 OPC_RecordChild2,
7822 OPC_CheckType, MVT::f32,
7823 OPC_CheckPatternPredicate, 10,
7824 OPC_EmitConvertToTarget1,
7825 OPC_EmitNodeXForm, 2, 4,
7826 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
7827 MVT::i32, 2, 0, 5,
7828 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7829 MVT::f32, 3, 2, 6, 3,
7830 0,
7831 57,
7832 OPC_CheckPredicate7,
7833 OPC_MoveParent,
7834 OPC_CheckTypeI32,
7835 OPC_Scope, 25,
7836 OPC_CheckChild2CondCode, ISD::SETGE,
7837 OPC_MoveParent,
7838 OPC_RecordChild1,
7839 OPC_RecordChild2,
7840 OPC_CheckType, MVT::f64,
7841 OPC_CheckPatternPredicate, 21,
7842 OPC_EmitConvertToTarget1,
7843 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
7844 MVT::i32, 2, 0, 4,
7845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7846 MVT::f64, 3, 2, 5, 3,
7847 25,
7848 OPC_CheckChild2CondCode, ISD::SETUGE,
7849 OPC_MoveParent,
7850 OPC_RecordChild1,
7851 OPC_RecordChild2,
7852 OPC_CheckType, MVT::f64,
7853 OPC_CheckPatternPredicate, 21,
7854 OPC_EmitConvertToTarget1,
7855 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
7856 MVT::i32, 2, 0, 4,
7857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7858 MVT::f64, 3, 2, 5, 3,
7859 0,
7860 64,
7861 OPC_CheckPredicate, 10,
7862 OPC_MoveParent,
7863 OPC_CheckTypeI32,
7864 OPC_Scope, 28,
7865 OPC_CheckChild2CondCode, ISD::SETGT,
7866 OPC_MoveParent,
7867 OPC_RecordChild1,
7868 OPC_RecordChild2,
7869 OPC_CheckType, MVT::f64,
7870 OPC_CheckPatternPredicate, 21,
7871 OPC_EmitConvertToTarget1,
7872 OPC_EmitNodeXForm, 2, 4,
7873 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
7874 MVT::i32, 2, 0, 5,
7875 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7876 MVT::f64, 3, 2, 6, 3,
7877 28,
7878 OPC_CheckChild2CondCode, ISD::SETUGT,
7879 OPC_MoveParent,
7880 OPC_RecordChild1,
7881 OPC_RecordChild2,
7882 OPC_CheckType, MVT::f64,
7883 OPC_CheckPatternPredicate, 21,
7884 OPC_EmitConvertToTarget1,
7885 OPC_EmitNodeXForm, 2, 4,
7886 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
7887 MVT::i32, 2, 0, 5,
7888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7889 MVT::f64, 3, 2, 6, 3,
7890 0,
7891 0,
7892 46,
7893 OPC_CheckChild2CondCode, ISD::SETGE,
7894 OPC_CheckTypeI32,
7895 OPC_MoveParent,
7896 OPC_RecordChild1,
7897 OPC_RecordChild2,
7898 OPC_SwitchType , 17, MVT::f32,
7899 OPC_CheckPatternPredicate, 10,
7900 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
7901 MVT::i32, 2, 0, 1,
7902 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7903 MVT::f32, 3, 2, 4, 3,
7904 17, MVT::f64,
7905 OPC_CheckPatternPredicate, 21,
7906 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
7907 MVT::i32, 2, 0, 1,
7908 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7909 MVT::f64, 3, 2, 4, 3,
7910 0,
7911 46,
7912 OPC_CheckChild2CondCode, ISD::SETUGE,
7913 OPC_CheckTypeI32,
7914 OPC_MoveParent,
7915 OPC_RecordChild1,
7916 OPC_RecordChild2,
7917 OPC_SwitchType , 17, MVT::f32,
7918 OPC_CheckPatternPredicate, 10,
7919 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
7920 MVT::i32, 2, 0, 1,
7921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7922 MVT::f32, 3, 2, 4, 3,
7923 17, MVT::f64,
7924 OPC_CheckPatternPredicate, 21,
7925 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
7926 MVT::i32, 2, 0, 1,
7927 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7928 MVT::f64, 3, 2, 4, 3,
7929 0,
7930 46,
7931 OPC_CheckChild2CondCode, ISD::SETLE,
7932 OPC_CheckTypeI32,
7933 OPC_MoveParent,
7934 OPC_RecordChild1,
7935 OPC_RecordChild2,
7936 OPC_SwitchType , 17, MVT::f32,
7937 OPC_CheckPatternPredicate, 10,
7938 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
7939 MVT::i32, 2, 1, 0,
7940 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7941 MVT::f32, 3, 2, 4, 3,
7942 17, MVT::f64,
7943 OPC_CheckPatternPredicate, 21,
7944 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
7945 MVT::i32, 2, 1, 0,
7946 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7947 MVT::f64, 3, 2, 4, 3,
7948 0,
7949 46,
7950 OPC_CheckChild2CondCode, ISD::SETULE,
7951 OPC_CheckTypeI32,
7952 OPC_MoveParent,
7953 OPC_RecordChild1,
7954 OPC_RecordChild2,
7955 OPC_SwitchType , 17, MVT::f32,
7956 OPC_CheckPatternPredicate, 10,
7957 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
7958 MVT::i32, 2, 1, 0,
7959 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
7960 MVT::f32, 3, 2, 4, 3,
7961 17, MVT::f64,
7962 OPC_CheckPatternPredicate, 21,
7963 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
7964 MVT::i32, 2, 1, 0,
7965 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
7966 MVT::f64, 3, 2, 4, 3,
7967 0,
7968 46,
7969 OPC_CheckChild2CondCode, ISD::SETEQ,
7970 OPC_CheckTypeI32,
7971 OPC_MoveParent,
7972 OPC_RecordChild1,
7973 OPC_RecordChild2,
7974 OPC_SwitchType , 17, MVT::f32,
7975 OPC_CheckPatternPredicate, 10,
7976 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7977 MVT::i64, 2, 0, 1,
7978 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
7979 MVT::f32, 3, 2, 4, 3,
7980 17, MVT::f64,
7981 OPC_CheckPatternPredicate, 21,
7982 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7983 MVT::i64, 2, 0, 1,
7984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
7985 MVT::f64, 3, 2, 4, 3,
7986 0,
7987 46,
7988 OPC_CheckChild2CondCode, ISD::SETNE,
7989 OPC_CheckTypeI32,
7990 OPC_MoveParent,
7991 OPC_RecordChild1,
7992 OPC_RecordChild2,
7993 OPC_SwitchType , 17, MVT::f32,
7994 OPC_CheckPatternPredicate, 10,
7995 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
7996 MVT::i64, 2, 0, 1,
7997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
7998 MVT::f32, 3, 2, 4, 3,
7999 17, MVT::f64,
8000 OPC_CheckPatternPredicate, 21,
8001 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
8002 MVT::i64, 2, 0, 1,
8003 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
8004 MVT::f64, 3, 2, 4, 3,
8005 0,
8006 0,
8007 0,
8008 0,
8009 51|128,1,
8010 OPC_RecordChild0,
8011 OPC_Scope, 16|128,1,
8012 OPC_CheckChild0TypeI32,
8013 OPC_RecordChild1,
8014 OPC_RecordChild2,
8015 OPC_SwitchType , 56, MVT::f32,
8016 OPC_Scope, 10,
8017 OPC_CheckPatternPredicate, 20,
8018 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
8019 MVT::f32, 3, 1, 0, 2,
8020 10,
8021 OPC_CheckPatternPredicate, 31,
8022 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S),
8023 MVT::f32, 3, 0, 2, 1,
8024 9,
8025 OPC_CheckPatternPredicate7,
8026 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
8027 MVT::f32, 3, 1, 0, 2,
8028 10,
8029 OPC_CheckPatternPredicate, 8,
8030 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S_MMR6),
8031 MVT::f32, 3, 0, 2, 1,
8032 10,
8033 OPC_CheckPatternPredicate, 48,
8034 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_S),
8035 MVT::f32, 3, 0, 1, 2,
8036 0,
8037 79, MVT::f64,
8038 OPC_Scope, 10,
8039 OPC_CheckPatternPredicate, 33,
8040 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
8041 MVT::f64, 3, 1, 0, 2,
8042 10,
8043 OPC_CheckPatternPredicate, 21,
8044 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
8045 MVT::f64, 3, 1, 0, 2,
8046 10,
8047 OPC_CheckPatternPredicate, 31,
8048 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D),
8049 MVT::f64, 3, 0, 2, 1,
8050 10,
8051 OPC_CheckPatternPredicate, 32,
8052 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
8053 MVT::f64, 3, 1, 0, 2,
8054 10,
8055 OPC_CheckPatternPredicate, 8,
8056 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D_MMR6),
8057 MVT::f64, 3, 0, 2, 1,
8058 10,
8059 OPC_CheckPatternPredicate, 77,
8060 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D32),
8061 MVT::f64, 3, 0, 1, 2,
8062 10,
8063 OPC_CheckPatternPredicate, 78,
8064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D64),
8065 MVT::f64, 3, 0, 1, 2,
8066 0,
8067 0,
8068 29,
8069 OPC_CheckChild0TypeI64,
8070 OPC_RecordChild1,
8071 OPC_RecordChild2,
8072 OPC_SwitchType , 10, MVT::f32,
8073 OPC_CheckPatternPredicate, 10,
8074 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
8075 MVT::f32, 3, 1, 0, 2,
8076 10, MVT::f64,
8077 OPC_CheckPatternPredicate, 21,
8078 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
8079 MVT::f64, 3, 1, 0, 2,
8080 0,
8081 0,
8082 0,
8083 51|128,1, TARGET_VAL(MipsISD::Ext),
8084 OPC_Scope, 40,
8085 OPC_MoveChild0,
8086 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8087 OPC_RecordChild0,
8088 OPC_MoveSibling1,
8089 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8090 OPC_RecordNode,
8091 OPC_CheckPredicate3,
8092 OPC_MoveSibling2,
8093 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8094 OPC_RecordNode,
8095 OPC_CheckPredicate3,
8096 OPC_MoveParent,
8097 OPC_CheckTypeI32,
8098 OPC_CheckPatternPredicate, 9,
8099 OPC_EmitConvertToTarget1,
8100 OPC_EmitConvertToTarget2,
8101 OPC_EmitNode1None, TARGET_VAL(Mips::DEXT),
8102 MVT::i64, 3, 0, 3, 4,
8103 OPC_EmitIntegerI32, Mips::sub_32,
8104 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8105 MVT::i32, 2, 5, 6,
8106 6|128,1,
8107 OPC_RecordChild0,
8108 OPC_RecordChild1,
8109 OPC_MoveChild1,
8110 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8111 OPC_Scope, 59,
8112 OPC_CheckPredicate3,
8113 OPC_MoveSibling2,
8114 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8115 OPC_RecordNode,
8116 OPC_Scope, 33,
8117 OPC_CheckPredicate, 34,
8118 OPC_MoveParent,
8119 OPC_SwitchType , 12, MVT::i32,
8120 OPC_CheckPatternPredicate, 58,
8121 OPC_EmitConvertToTarget1,
8122 OPC_EmitConvertToTarget2,
8123 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT),
8124 MVT::i32, 3, 0, 3, 4,
8125 12, MVT::i64,
8126 OPC_CheckPatternPredicate, 63,
8127 OPC_EmitConvertToTarget1,
8128 OPC_EmitConvertToTarget2,
8129 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT),
8130 MVT::i64, 3, 0, 3, 4,
8131 0,
8132 16,
8133 OPC_CheckPredicate, 51,
8134 OPC_MoveParent,
8135 OPC_CheckTypeI64,
8136 OPC_CheckPatternPredicate, 63,
8137 OPC_EmitConvertToTarget1,
8138 OPC_EmitConvertToTarget2,
8139 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTM),
8140 MVT::i64, 3, 0, 3, 4,
8141 0,
8142 23,
8143 OPC_CheckPredicate, 43,
8144 OPC_MoveSibling2,
8145 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8146 OPC_RecordNode,
8147 OPC_CheckPredicate, 34,
8148 OPC_MoveParent,
8149 OPC_CheckTypeI64,
8150 OPC_CheckPatternPredicate, 63,
8151 OPC_EmitConvertToTarget1,
8152 OPC_EmitConvertToTarget2,
8153 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTU),
8154 MVT::i64, 3, 0, 3, 4,
8155 21,
8156 OPC_CheckPredicate3,
8157 OPC_MoveSibling2,
8158 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8159 OPC_RecordNode,
8160 OPC_CheckPredicate, 34,
8161 OPC_MoveParent,
8162 OPC_CheckTypeI32,
8163 OPC_CheckPatternPredicate7,
8164 OPC_EmitConvertToTarget1,
8165 OPC_EmitConvertToTarget2,
8166 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MM),
8167 MVT::i32, 3, 0, 3, 4,
8168 19,
8169 OPC_MoveSibling2,
8170 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8171 OPC_RecordNode,
8172 OPC_MoveParent,
8173 OPC_CheckTypeI32,
8174 OPC_CheckPatternPredicate, 8,
8175 OPC_EmitConvertToTarget1,
8176 OPC_EmitConvertToTarget2,
8177 OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MMR6),
8178 MVT::i32, 3, 0, 3, 4,
8179 0,
8180 0,
8181 42|128,2, TARGET_VAL(ISD::ATOMIC_LOAD),
8182 OPC_RecordMemRef,
8183 OPC_RecordNode,
8184 OPC_RecordChild1,
8185 OPC_SwitchType , 36|128,1, MVT::i32,
8186 OPC_Scope, 15,
8187 OPC_CheckPredicate, 26,
8188 OPC_CheckPredicate5,
8189 OPC_CheckPatternPredicate2,
8190 OPC_CheckComplexPat0, /*#*/1,
8191 OPC_EmitMergeInputChains1_0,
8192 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
8193 MVT::i32, 2, 2, 3,
8194 15,
8195 OPC_CheckPredicate, 27,
8196 OPC_CheckPredicate5,
8197 OPC_CheckPatternPredicate2,
8198 OPC_CheckComplexPat0, /*#*/1,
8199 OPC_EmitMergeInputChains1_0,
8200 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
8201 MVT::i32, 2, 2, 3,
8202 15,
8203 OPC_CheckPredicate, 26,
8204 OPC_CheckPredicate4,
8205 OPC_CheckPatternPredicate2,
8206 OPC_CheckComplexPat0, /*#*/1,
8207 OPC_EmitMergeInputChains1_0,
8208 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
8209 MVT::i32, 2, 2, 3,
8210 15,
8211 OPC_CheckPredicate, 27,
8212 OPC_CheckPredicate4,
8213 OPC_CheckPatternPredicate2,
8214 OPC_CheckComplexPat0, /*#*/1,
8215 OPC_EmitMergeInputChains1_0,
8216 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
8217 MVT::i32, 2, 2, 3,
8218 16,
8219 OPC_CheckPredicate, 35,
8220 OPC_CheckPredicate, 8,
8221 OPC_CheckPatternPredicate2,
8222 OPC_CheckComplexPat0, /*#*/1,
8223 OPC_EmitMergeInputChains1_0,
8224 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
8225 MVT::i32, 2, 2, 3,
8226 15,
8227 OPC_CheckPredicate, 26,
8228 OPC_CheckPredicate5,
8229 OPC_CheckPatternPredicate4,
8230 OPC_CheckComplexPat0, /*#*/1,
8231 OPC_EmitMergeInputChains1_0,
8232 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
8233 MVT::i32, 2, 2, 3,
8234 15,
8235 OPC_CheckPredicate, 27,
8236 OPC_CheckPredicate5,
8237 OPC_CheckPatternPredicate4,
8238 OPC_CheckComplexPat0, /*#*/1,
8239 OPC_EmitMergeInputChains1_0,
8240 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
8241 MVT::i32, 2, 2, 3,
8242 15,
8243 OPC_CheckPredicate, 26,
8244 OPC_CheckPredicate4,
8245 OPC_CheckPatternPredicate4,
8246 OPC_CheckComplexPat0, /*#*/1,
8247 OPC_EmitMergeInputChains1_0,
8248 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
8249 MVT::i32, 2, 2, 3,
8250 15,
8251 OPC_CheckPredicate, 27,
8252 OPC_CheckPredicate4,
8253 OPC_CheckPatternPredicate4,
8254 OPC_CheckComplexPat0, /*#*/1,
8255 OPC_EmitMergeInputChains1_0,
8256 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
8257 MVT::i32, 2, 2, 3,
8258 16,
8259 OPC_CheckPredicate, 35,
8260 OPC_CheckPredicate, 8,
8261 OPC_CheckPatternPredicate4,
8262 OPC_CheckComplexPat0, /*#*/1,
8263 OPC_EmitMergeInputChains1_0,
8264 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
8265 MVT::i32, 2, 2, 3,
8266 0,
8267 124, MVT::i64,
8268 OPC_Scope, 16,
8269 OPC_CheckPredicate, 26,
8270 OPC_CheckPredicate5,
8271 OPC_CheckPatternPredicate, 9,
8272 OPC_CheckComplexPat0, /*#*/1,
8273 OPC_EmitMergeInputChains1_0,
8274 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
8275 MVT::i64, 2, 2, 3,
8276 16,
8277 OPC_CheckPredicate, 27,
8278 OPC_CheckPredicate5,
8279 OPC_CheckPatternPredicate, 9,
8280 OPC_CheckComplexPat0, /*#*/1,
8281 OPC_EmitMergeInputChains1_0,
8282 OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
8283 MVT::i64, 2, 2, 3,
8284 16,
8285 OPC_CheckPredicate, 26,
8286 OPC_CheckPredicate4,
8287 OPC_CheckPatternPredicate, 9,
8288 OPC_CheckComplexPat0, /*#*/1,
8289 OPC_EmitMergeInputChains1_0,
8290 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
8291 MVT::i64, 2, 2, 3,
8292 16,
8293 OPC_CheckPredicate, 27,
8294 OPC_CheckPredicate4,
8295 OPC_CheckPatternPredicate, 9,
8296 OPC_CheckComplexPat0, /*#*/1,
8297 OPC_EmitMergeInputChains1_0,
8298 OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
8299 MVT::i64, 2, 2, 3,
8300 17,
8301 OPC_CheckPredicate, 26,
8302 OPC_CheckPredicate, 8,
8303 OPC_CheckPatternPredicate, 9,
8304 OPC_CheckComplexPat0, /*#*/1,
8305 OPC_EmitMergeInputChains1_0,
8306 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
8307 MVT::i64, 2, 2, 3,
8308 17,
8309 OPC_CheckPredicate, 27,
8310 OPC_CheckPredicate, 8,
8311 OPC_CheckPatternPredicate, 9,
8312 OPC_CheckComplexPat0, /*#*/1,
8313 OPC_EmitMergeInputChains1_0,
8314 OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
8315 MVT::i64, 2, 2, 3,
8316 17,
8317 OPC_CheckPredicate, 35,
8318 OPC_CheckPredicate, 16,
8319 OPC_CheckPatternPredicate, 9,
8320 OPC_CheckComplexPat0, /*#*/1,
8321 OPC_EmitMergeInputChains1_0,
8322 OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
8323 MVT::i64, 2, 2, 3,
8324 0,
8325 0,
8326 120, TARGET_VAL(ISD::ATOMIC_STORE),
8327 OPC_RecordMemRef,
8328 OPC_RecordNode,
8329 OPC_RecordChild1,
8330 OPC_Scope, 47,
8331 OPC_CheckChild1TypeI32,
8332 OPC_RecordChild2,
8333 OPC_Scope, 13,
8334 OPC_CheckPredicate5,
8335 OPC_CheckPatternPredicate2,
8336 OPC_CheckComplexPat0, /*#*/2,
8337 OPC_EmitMergeInputChains1_0,
8338 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
8339 3, 1, 3, 4,
8340 13,
8341 OPC_CheckPredicate4,
8342 OPC_CheckPatternPredicate2,
8343 OPC_CheckComplexPat0, /*#*/2,
8344 OPC_EmitMergeInputChains1_0,
8345 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
8346 3, 1, 3, 4,
8347 14,
8348 OPC_CheckPredicate, 8,
8349 OPC_CheckPatternPredicate2,
8350 OPC_CheckComplexPat0, /*#*/2,
8351 OPC_EmitMergeInputChains1_0,
8352 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
8353 3, 1, 3, 4,
8354 0,
8355 66,
8356 OPC_CheckChild1TypeI64,
8357 OPC_RecordChild2,
8358 OPC_Scope, 14,
8359 OPC_CheckPredicate5,
8360 OPC_CheckPatternPredicate, 9,
8361 OPC_CheckComplexPat0, /*#*/2,
8362 OPC_EmitMergeInputChains1_0,
8363 OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
8364 3, 1, 3, 4,
8365 14,
8366 OPC_CheckPredicate4,
8367 OPC_CheckPatternPredicate, 9,
8368 OPC_CheckComplexPat0, /*#*/2,
8369 OPC_EmitMergeInputChains1_0,
8370 OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
8371 3, 1, 3, 4,
8372 15,
8373 OPC_CheckPredicate, 8,
8374 OPC_CheckPatternPredicate, 9,
8375 OPC_CheckComplexPat0, /*#*/2,
8376 OPC_EmitMergeInputChains1_0,
8377 OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
8378 3, 1, 3, 4,
8379 15,
8380 OPC_CheckPredicate, 16,
8381 OPC_CheckPatternPredicate, 9,
8382 OPC_CheckComplexPat0, /*#*/2,
8383 OPC_EmitMergeInputChains1_0,
8384 OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
8385 3, 1, 3, 4,
8386 0,
8387 0,
8388 70, TARGET_VAL(MipsISD::LWL),
8389 OPC_RecordMemRef,
8390 OPC_RecordNode,
8391 OPC_RecordChild1,
8392 OPC_RecordChild2,
8393 OPC_SwitchType , 46, MVT::i32,
8394 OPC_Scope, 14,
8395 OPC_CheckPatternPredicate, 53,
8396 OPC_CheckComplexPat0, /*#*/1,
8397 OPC_EmitMergeInputChains1_0,
8398 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL), 0|OPFL_Chain|OPFL_MemRefs,
8399 MVT::i32, 3, 3, 4, 2,
8400 14,
8401 OPC_CheckPatternPredicate, 69,
8402 OPC_CheckComplexPat7, /*#*/1,
8403 OPC_EmitMergeInputChains1_0,
8404 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
8405 MVT::i32, 3, 3, 4, 2,
8406 13,
8407 OPC_CheckPatternPredicate7,
8408 OPC_CheckComplexPat7, /*#*/1,
8409 OPC_EmitMergeInputChains1_0,
8410 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
8411 MVT::i32, 3, 3, 4, 2,
8412 0,
8413 14, MVT::i64,
8414 OPC_CheckPatternPredicate, 18,
8415 OPC_CheckComplexPat0, /*#*/1,
8416 OPC_EmitMergeInputChains1_0,
8417 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL64), 0|OPFL_Chain|OPFL_MemRefs,
8418 MVT::i64, 3, 3, 4, 2,
8419 0,
8420 70, TARGET_VAL(MipsISD::LWR),
8421 OPC_RecordMemRef,
8422 OPC_RecordNode,
8423 OPC_RecordChild1,
8424 OPC_RecordChild2,
8425 OPC_SwitchType , 46, MVT::i32,
8426 OPC_Scope, 14,
8427 OPC_CheckPatternPredicate, 53,
8428 OPC_CheckComplexPat0, /*#*/1,
8429 OPC_EmitMergeInputChains1_0,
8430 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR), 0|OPFL_Chain|OPFL_MemRefs,
8431 MVT::i32, 3, 3, 4, 2,
8432 14,
8433 OPC_CheckPatternPredicate, 69,
8434 OPC_CheckComplexPat7, /*#*/1,
8435 OPC_EmitMergeInputChains1_0,
8436 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
8437 MVT::i32, 3, 3, 4, 2,
8438 13,
8439 OPC_CheckPatternPredicate7,
8440 OPC_CheckComplexPat7, /*#*/1,
8441 OPC_EmitMergeInputChains1_0,
8442 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
8443 MVT::i32, 3, 3, 4, 2,
8444 0,
8445 14, MVT::i64,
8446 OPC_CheckPatternPredicate, 18,
8447 OPC_CheckComplexPat0, /*#*/1,
8448 OPC_EmitMergeInputChains1_0,
8449 OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR64), 0|OPFL_Chain|OPFL_MemRefs,
8450 MVT::i64, 3, 3, 4, 2,
8451 0,
8452 67, TARGET_VAL(MipsISD::SWL),
8453 OPC_RecordMemRef,
8454 OPC_RecordNode,
8455 OPC_RecordChild1,
8456 OPC_Scope, 45,
8457 OPC_CheckChild1TypeI32,
8458 OPC_RecordChild2,
8459 OPC_Scope, 13,
8460 OPC_CheckPatternPredicate, 53,
8461 OPC_CheckComplexPat0, /*#*/2,
8462 OPC_EmitMergeInputChains1_0,
8463 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL), 0|OPFL_Chain|OPFL_MemRefs,
8464 3, 1, 3, 4,
8465 13,
8466 OPC_CheckPatternPredicate, 69,
8467 OPC_CheckComplexPat7, /*#*/2,
8468 OPC_EmitMergeInputChains1_0,
8469 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
8470 3, 1, 3, 4,
8471 12,
8472 OPC_CheckPatternPredicate7,
8473 OPC_CheckComplexPat7, /*#*/2,
8474 OPC_EmitMergeInputChains1_0,
8475 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
8476 3, 1, 3, 4,
8477 0,
8478 15,
8479 OPC_CheckChild1TypeI64,
8480 OPC_RecordChild2,
8481 OPC_CheckPatternPredicate, 18,
8482 OPC_CheckComplexPat0, /*#*/2,
8483 OPC_EmitMergeInputChains1_0,
8484 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL64), 0|OPFL_Chain|OPFL_MemRefs,
8485 3, 1, 3, 4,
8486 0,
8487 67, TARGET_VAL(MipsISD::SWR),
8488 OPC_RecordMemRef,
8489 OPC_RecordNode,
8490 OPC_RecordChild1,
8491 OPC_Scope, 45,
8492 OPC_CheckChild1TypeI32,
8493 OPC_RecordChild2,
8494 OPC_Scope, 13,
8495 OPC_CheckPatternPredicate, 53,
8496 OPC_CheckComplexPat0, /*#*/2,
8497 OPC_EmitMergeInputChains1_0,
8498 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR), 0|OPFL_Chain|OPFL_MemRefs,
8499 3, 1, 3, 4,
8500 13,
8501 OPC_CheckPatternPredicate, 69,
8502 OPC_CheckComplexPat7, /*#*/2,
8503 OPC_EmitMergeInputChains1_0,
8504 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
8505 3, 1, 3, 4,
8506 12,
8507 OPC_CheckPatternPredicate7,
8508 OPC_CheckComplexPat7, /*#*/2,
8509 OPC_EmitMergeInputChains1_0,
8510 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
8511 3, 1, 3, 4,
8512 0,
8513 15,
8514 OPC_CheckChild1TypeI64,
8515 OPC_RecordChild2,
8516 OPC_CheckPatternPredicate, 18,
8517 OPC_CheckComplexPat0, /*#*/2,
8518 OPC_EmitMergeInputChains1_0,
8519 OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR64), 0|OPFL_Chain|OPFL_MemRefs,
8520 3, 1, 3, 4,
8521 0,
8522 19, TARGET_VAL(MipsISD::LDL),
8523 OPC_RecordMemRef,
8524 OPC_RecordNode,
8525 OPC_RecordChild1,
8526 OPC_RecordChild2,
8527 OPC_CheckTypeI64,
8528 OPC_CheckPatternPredicate, 54,
8529 OPC_CheckComplexPat0, /*#*/1,
8530 OPC_EmitMergeInputChains1_0,
8531 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDL), 0|OPFL_Chain|OPFL_MemRefs,
8532 MVT::i64, 3, 3, 4, 2,
8533 19, TARGET_VAL(MipsISD::LDR),
8534 OPC_RecordMemRef,
8535 OPC_RecordNode,
8536 OPC_RecordChild1,
8537 OPC_RecordChild2,
8538 OPC_CheckTypeI64,
8539 OPC_CheckPatternPredicate, 54,
8540 OPC_CheckComplexPat0, /*#*/1,
8541 OPC_EmitMergeInputChains1_0,
8542 OPC_MorphNodeTo1, TARGET_VAL(Mips::LDR), 0|OPFL_Chain|OPFL_MemRefs,
8543 MVT::i64, 3, 3, 4, 2,
8544 18, TARGET_VAL(MipsISD::SDL),
8545 OPC_RecordMemRef,
8546 OPC_RecordNode,
8547 OPC_RecordChild1,
8548 OPC_CheckChild1TypeI64,
8549 OPC_RecordChild2,
8550 OPC_CheckPatternPredicate, 54,
8551 OPC_CheckComplexPat0, /*#*/2,
8552 OPC_EmitMergeInputChains1_0,
8553 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDL), 0|OPFL_Chain|OPFL_MemRefs,
8554 3, 1, 3, 4,
8555 18, TARGET_VAL(MipsISD::SDR),
8556 OPC_RecordMemRef,
8557 OPC_RecordNode,
8558 OPC_RecordChild1,
8559 OPC_CheckChild1TypeI64,
8560 OPC_RecordChild2,
8561 OPC_CheckPatternPredicate, 54,
8562 OPC_CheckComplexPat0, /*#*/2,
8563 OPC_EmitMergeInputChains1_0,
8564 OPC_MorphNodeTo0, TARGET_VAL(Mips::SDR), 0|OPFL_Chain|OPFL_MemRefs,
8565 3, 1, 3, 4,
8566 27|128,10, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
8567 OPC_RecordNode,
8568 OPC_Scope, 59,
8569 OPC_CheckChild1Integer, 40|128,66|128,0,
8570 OPC_RecordChild2,
8571 OPC_RecordChild3,
8572 OPC_Scope, 30,
8573 OPC_MoveChild3,
8574 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8575 OPC_CheckPredicate3,
8576 OPC_MoveParent,
8577 OPC_Scope, 10,
8578 OPC_CheckPatternPredicate1,
8579 OPC_EmitMergeInputChains1_0,
8580 OPC_EmitConvertToTarget2,
8581 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W),
8582 MVT::i32, 2, 1, 3,
8583 10,
8584 OPC_CheckPatternPredicate6,
8585 OPC_EmitMergeInputChains1_0,
8586 OPC_EmitConvertToTarget2,
8587 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W_MM),
8588 MVT::i32, 2, 1, 3,
8589 0,
8590 9,
8591 OPC_CheckPatternPredicate1,
8592 OPC_EmitMergeInputChains1_0,
8593 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W),
8594 MVT::i32, 2, 1, 2,
8595 9,
8596 OPC_CheckPatternPredicate6,
8597 OPC_EmitMergeInputChains1_0,
8598 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W_MM),
8599 MVT::i32, 2, 1, 2,
8600 0,
8601 35,
8602 OPC_CheckChild1Integer, 22|128,66|128,0,
8603 OPC_RecordChild2,
8604 OPC_MoveChild2,
8605 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8606 OPC_Scope, 11,
8607 OPC_CheckPredicate, 44,
8608 OPC_MoveParent,
8609 OPC_CheckPatternPredicate1,
8610 OPC_EmitMergeInputChains1_0,
8611 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP),
8612 MVT::i32, 1, 1,
8613 11,
8614 OPC_CheckPredicate, 45,
8615 OPC_MoveParent,
8616 OPC_CheckPatternPredicate6,
8617 OPC_EmitMergeInputChains1_0,
8618 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP_MM),
8619 MVT::i32, 1, 1,
8620 0,
8621 27,
8622 OPC_CheckChild1Integer, 4|128,62,
8623 OPC_RecordChild2,
8624 OPC_RecordChild3,
8625 OPC_Scope, 9,
8626 OPC_CheckPatternPredicate1,
8627 OPC_EmitMergeInputChains1_0,
8628 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W),
8629 MVT::i32, 2, 1, 2,
8630 9,
8631 OPC_CheckPatternPredicate6,
8632 OPC_EmitMergeInputChains1_0,
8633 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W_MM),
8634 MVT::i32, 2, 1, 2,
8635 0,
8636 28,
8637 OPC_CheckChild1Integer, 112|128,66|128,0,
8638 OPC_RecordChild2,
8639 OPC_RecordChild3,
8640 OPC_Scope, 9,
8641 OPC_CheckPatternPredicate1,
8642 OPC_EmitMergeInputChains1_0,
8643 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W),
8644 MVT::i32, 2, 1, 2,
8645 9,
8646 OPC_CheckPatternPredicate6,
8647 OPC_EmitMergeInputChains1_0,
8648 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W_MM),
8649 MVT::i32, 2, 1, 2,
8650 0,
8651 24,
8652 OPC_CheckChild1Integer, 125|128,61,
8653 OPC_RecordChild2,
8654 OPC_Scope, 8,
8655 OPC_CheckPatternPredicate1,
8656 OPC_EmitMergeInputChains1_0,
8657 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W),
8658 MVT::i32, 1, 1,
8659 8,
8660 OPC_CheckPatternPredicate6,
8661 OPC_EmitMergeInputChains1_0,
8662 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W_MM),
8663 MVT::i32, 1, 1,
8664 0,
8665 28,
8666 OPC_CheckChild1Integer, 86|128,65|128,0,
8667 OPC_RecordChild2,
8668 OPC_RecordChild3,
8669 OPC_Scope, 9,
8670 OPC_CheckPatternPredicate1,
8671 OPC_EmitMergeInputChains1_0,
8672 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL),
8673 MVT::i32, 2, 1, 2,
8674 9,
8675 OPC_CheckPatternPredicate6,
8676 OPC_EmitMergeInputChains1_0,
8677 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL_MM),
8678 MVT::i32, 2, 1, 2,
8679 0,
8680 28,
8681 OPC_CheckChild1Integer, 87|128,65|128,0,
8682 OPC_RecordChild2,
8683 OPC_RecordChild3,
8684 OPC_Scope, 9,
8685 OPC_CheckPatternPredicate1,
8686 OPC_EmitMergeInputChains1_0,
8687 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR),
8688 MVT::i32, 2, 1, 2,
8689 9,
8690 OPC_CheckPatternPredicate6,
8691 OPC_EmitMergeInputChains1_0,
8692 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR_MM),
8693 MVT::i32, 2, 1, 2,
8694 0,
8695 27,
8696 OPC_CheckChild1Integer, 42|128,63,
8697 OPC_RecordChild2,
8698 OPC_RecordChild3,
8699 OPC_Scope, 9,
8700 OPC_CheckPatternPredicate1,
8701 OPC_EmitMergeInputChains1_0,
8702 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB),
8703 MVT::i32, 2, 1, 2,
8704 9,
8705 OPC_CheckPatternPredicate6,
8706 OPC_EmitMergeInputChains1_0,
8707 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB_MM),
8708 MVT::i32, 2, 1, 2,
8709 0,
8710 27,
8711 OPC_CheckChild1Integer, 44|128,63,
8712 OPC_RecordChild2,
8713 OPC_RecordChild3,
8714 OPC_Scope, 9,
8715 OPC_CheckPatternPredicate1,
8716 OPC_EmitMergeInputChains1_0,
8717 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB),
8718 MVT::i32, 2, 1, 2,
8719 9,
8720 OPC_CheckPatternPredicate6,
8721 OPC_EmitMergeInputChains1_0,
8722 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB_MM),
8723 MVT::i32, 2, 1, 2,
8724 0,
8725 27,
8726 OPC_CheckChild1Integer, 43|128,63,
8727 OPC_RecordChild2,
8728 OPC_RecordChild3,
8729 OPC_Scope, 9,
8730 OPC_CheckPatternPredicate1,
8731 OPC_EmitMergeInputChains1_0,
8732 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB),
8733 MVT::i32, 2, 1, 2,
8734 9,
8735 OPC_CheckPatternPredicate6,
8736 OPC_EmitMergeInputChains1_0,
8737 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB_MM),
8738 MVT::i32, 2, 1, 2,
8739 0,
8740 28,
8741 OPC_CheckChild1Integer, 6|128,65|128,0,
8742 OPC_RecordChild2,
8743 OPC_RecordChild3,
8744 OPC_Scope, 9,
8745 OPC_CheckPatternPredicate1,
8746 OPC_EmitMergeInputChains1_0,
8747 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX),
8748 MVT::i32, 2, 1, 2,
8749 9,
8750 OPC_CheckPatternPredicate6,
8751 OPC_EmitMergeInputChains1_0,
8752 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX_MM),
8753 MVT::i32, 2, 1, 2,
8754 0,
8755 28,
8756 OPC_CheckChild1Integer, 4|128,65|128,0,
8757 OPC_RecordChild2,
8758 OPC_RecordChild3,
8759 OPC_Scope, 9,
8760 OPC_CheckPatternPredicate1,
8761 OPC_EmitMergeInputChains1_0,
8762 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX),
8763 MVT::i32, 2, 1, 2,
8764 9,
8765 OPC_CheckPatternPredicate6,
8766 OPC_EmitMergeInputChains1_0,
8767 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX_MM),
8768 MVT::i32, 2, 1, 2,
8769 0,
8770 28,
8771 OPC_CheckChild1Integer, 121|128,64|128,0,
8772 OPC_RecordChild2,
8773 OPC_RecordChild3,
8774 OPC_Scope, 9,
8775 OPC_CheckPatternPredicate1,
8776 OPC_EmitMergeInputChains1_0,
8777 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX),
8778 MVT::i32, 2, 1, 2,
8779 9,
8780 OPC_CheckPatternPredicate6,
8781 OPC_EmitMergeInputChains1_0,
8782 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX_MM),
8783 MVT::i32, 2, 1, 2,
8784 0,
8785 28,
8786 OPC_CheckChild1Integer, 116|128,64|128,0,
8787 OPC_RecordChild2,
8788 OPC_RecordChild3,
8789 OPC_Scope, 9,
8790 OPC_CheckPatternPredicate1,
8791 OPC_EmitMergeInputChains1_0,
8792 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV),
8793 MVT::i32, 2, 1, 2,
8794 9,
8795 OPC_CheckPatternPredicate6,
8796 OPC_EmitMergeInputChains1_0,
8797 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV_MM),
8798 MVT::i32, 2, 1, 2,
8799 0,
8800 29,
8801 OPC_CheckChild1Integer, 39|128,63,
8802 OPC_RecordChild2,
8803 OPC_RecordChild3,
8804 OPC_Scope, 10,
8805 OPC_CheckPatternPredicate, 13,
8806 OPC_EmitMergeInputChains1_0,
8807 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB),
8808 MVT::i32, 2, 1, 2,
8809 10,
8810 OPC_CheckPatternPredicate, 14,
8811 OPC_EmitMergeInputChains1_0,
8812 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB_MMR2),
8813 MVT::i32, 2, 1, 2,
8814 0,
8815 29,
8816 OPC_CheckChild1Integer, 41|128,63,
8817 OPC_RecordChild2,
8818 OPC_RecordChild3,
8819 OPC_Scope, 10,
8820 OPC_CheckPatternPredicate, 13,
8821 OPC_EmitMergeInputChains1_0,
8822 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB),
8823 MVT::i32, 2, 1, 2,
8824 10,
8825 OPC_CheckPatternPredicate, 14,
8826 OPC_EmitMergeInputChains1_0,
8827 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB_MMR2),
8828 MVT::i32, 2, 1, 2,
8829 0,
8830 29,
8831 OPC_CheckChild1Integer, 40|128,63,
8832 OPC_RecordChild2,
8833 OPC_RecordChild3,
8834 OPC_Scope, 10,
8835 OPC_CheckPatternPredicate, 13,
8836 OPC_EmitMergeInputChains1_0,
8837 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB),
8838 MVT::i32, 2, 1, 2,
8839 10,
8840 OPC_CheckPatternPredicate, 14,
8841 OPC_EmitMergeInputChains1_0,
8842 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB_MMR2),
8843 MVT::i32, 2, 1, 2,
8844 0,
8845 30,
8846 OPC_CheckChild1Integer, 93|128,65|128,0,
8847 OPC_RecordChild2,
8848 OPC_RecordChild3,
8849 OPC_Scope, 10,
8850 OPC_CheckPatternPredicate, 13,
8851 OPC_EmitMergeInputChains1_0,
8852 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W),
8853 MVT::i32, 2, 1, 2,
8854 10,
8855 OPC_CheckPatternPredicate, 14,
8856 OPC_EmitMergeInputChains1_0,
8857 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W_MMR2),
8858 MVT::i32, 2, 1, 2,
8859 0,
8860 30,
8861 OPC_CheckChild1Integer, 91|128,65|128,0,
8862 OPC_RecordChild2,
8863 OPC_RecordChild3,
8864 OPC_Scope, 10,
8865 OPC_CheckPatternPredicate, 13,
8866 OPC_EmitMergeInputChains1_0,
8867 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W),
8868 MVT::i32, 2, 1, 2,
8869 10,
8870 OPC_CheckPatternPredicate, 14,
8871 OPC_EmitMergeInputChains1_0,
8872 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W_MMR2),
8873 MVT::i32, 2, 1, 2,
8874 0,
8875 14,
8876 OPC_CheckChild1Integer, 21|128,62,
8877 OPC_RecordChild2,
8878 OPC_RecordChild3,
8879 OPC_CheckPatternPredicate1,
8880 OPC_EmitMergeInputChains1_0,
8881 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDSC),
8882 MVT::i32, 2, 1, 2,
8883 14,
8884 OPC_CheckChild1Integer, 36|128,62,
8885 OPC_RecordChild2,
8886 OPC_RecordChild3,
8887 OPC_CheckPatternPredicate1,
8888 OPC_EmitMergeInputChains1_0,
8889 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDWC),
8890 MVT::i32, 2, 1, 2,
8891 9,
8892 OPC_CheckChild1Integer, 107|128,62,
8893 OPC_EmitMergeInputChains1_0,
8894 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::BPOSGE32_PSEUDO),
8895 MVT::i32, 0,
8896 60,
8897 OPC_CheckChild1Integer, 39|128,66|128,0,
8898 OPC_RecordChild2,
8899 OPC_RecordChild3,
8900 OPC_Scope, 31,
8901 OPC_MoveChild3,
8902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8903 OPC_CheckPredicate, 14,
8904 OPC_MoveParent,
8905 OPC_Scope, 10,
8906 OPC_CheckPatternPredicate1,
8907 OPC_EmitMergeInputChains1_0,
8908 OPC_EmitConvertToTarget2,
8909 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH),
8910 MVT::v2i16, 2, 1, 3,
8911 10,
8912 OPC_CheckPatternPredicate6,
8913 OPC_EmitMergeInputChains1_0,
8914 OPC_EmitConvertToTarget2,
8915 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH_MM),
8916 MVT::v2i16, 2, 1, 3,
8917 0,
8918 9,
8919 OPC_CheckPatternPredicate1,
8920 OPC_EmitMergeInputChains1_0,
8921 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH),
8922 MVT::v2i16, 2, 1, 2,
8923 9,
8924 OPC_CheckPatternPredicate6,
8925 OPC_EmitMergeInputChains1_0,
8926 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH_MM),
8927 MVT::v2i16, 2, 1, 2,
8928 0,
8929 46,
8930 OPC_CheckChild1Integer, 37|128,66|128,0,
8931 OPC_RecordChild2,
8932 OPC_RecordChild3,
8933 OPC_Scope, 17,
8934 OPC_MoveChild3,
8935 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8936 OPC_CheckPredicate, 14,
8937 OPC_MoveParent,
8938 OPC_CheckPatternPredicate1,
8939 OPC_EmitMergeInputChains1_0,
8940 OPC_EmitConvertToTarget2,
8941 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_PH),
8942 MVT::v2i16, 2, 1, 3,
8943 9,
8944 OPC_CheckPatternPredicate1,
8945 OPC_EmitMergeInputChains1_0,
8946 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH),
8947 MVT::v2i16, 2, 1, 2,
8948 9,
8949 OPC_CheckPatternPredicate6,
8950 OPC_EmitMergeInputChains1_0,
8951 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH_MM),
8952 MVT::v2i16, 2, 1, 2,
8953 0,
8954 46,
8955 OPC_CheckChild1Integer, 38|128,66|128,0,
8956 OPC_RecordChild2,
8957 OPC_RecordChild3,
8958 OPC_Scope, 17,
8959 OPC_MoveChild3,
8960 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8961 OPC_CheckPredicate, 17,
8962 OPC_MoveParent,
8963 OPC_CheckPatternPredicate1,
8964 OPC_EmitMergeInputChains1_0,
8965 OPC_EmitConvertToTarget2,
8966 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_QB),
8967 MVT::v4i8, 2, 1, 3,
8968 9,
8969 OPC_CheckPatternPredicate1,
8970 OPC_EmitMergeInputChains1_0,
8971 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB),
8972 MVT::v4i8, 2, 1, 2,
8973 9,
8974 OPC_CheckPatternPredicate6,
8975 OPC_EmitMergeInputChains1_0,
8976 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB_MM),
8977 MVT::v4i8, 2, 1, 2,
8978 0,
8979 24,
8980 OPC_CheckChild1Integer, 123|128,61,
8981 OPC_RecordChild2,
8982 OPC_Scope, 8,
8983 OPC_CheckPatternPredicate1,
8984 OPC_EmitMergeInputChains1_0,
8985 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH),
8986 MVT::v2i16, 1, 1,
8987 8,
8988 OPC_CheckPatternPredicate6,
8989 OPC_EmitMergeInputChains1_0,
8990 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH_MM),
8991 MVT::v2i16, 1, 1,
8992 0,
8993 28,
8994 OPC_CheckChild1Integer, 18|128,66|128,0,
8995 OPC_RecordChild2,
8996 OPC_RecordChild3,
8997 OPC_Scope, 9,
8998 OPC_CheckPatternPredicate1,
8999 OPC_EmitMergeInputChains1_0,
9000 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W),
9001 MVT::v2i16, 2, 1, 2,
9002 9,
9003 OPC_CheckPatternPredicate6,
9004 OPC_EmitMergeInputChains1_0,
9005 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W_MM),
9006 MVT::v2i16, 2, 1, 2,
9007 0,
9008 28,
9009 OPC_CheckChild1Integer, 19|128,66|128,0,
9010 OPC_RecordChild2,
9011 OPC_RecordChild3,
9012 OPC_Scope, 9,
9013 OPC_CheckPatternPredicate1,
9014 OPC_EmitMergeInputChains1_0,
9015 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH),
9016 MVT::v4i8, 2, 1, 2,
9017 9,
9018 OPC_CheckPatternPredicate6,
9019 OPC_EmitMergeInputChains1_0,
9020 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH_MM),
9021 MVT::v4i8, 2, 1, 2,
9022 0,
9023 28,
9024 OPC_CheckChild1Integer, 88|128,65|128,0,
9025 OPC_RecordChild2,
9026 OPC_RecordChild3,
9027 OPC_Scope, 9,
9028 OPC_CheckPatternPredicate1,
9029 OPC_EmitMergeInputChains1_0,
9030 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL),
9031 MVT::v2i16, 2, 1, 2,
9032 9,
9033 OPC_CheckPatternPredicate6,
9034 OPC_EmitMergeInputChains1_0,
9035 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL_MM),
9036 MVT::v2i16, 2, 1, 2,
9037 0,
9038 28,
9039 OPC_CheckChild1Integer, 89|128,65|128,0,
9040 OPC_RecordChild2,
9041 OPC_RecordChild3,
9042 OPC_Scope, 9,
9043 OPC_CheckPatternPredicate1,
9044 OPC_EmitMergeInputChains1_0,
9045 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR),
9046 MVT::v2i16, 2, 1, 2,
9047 9,
9048 OPC_CheckPatternPredicate6,
9049 OPC_EmitMergeInputChains1_0,
9050 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR_MM),
9051 MVT::v2i16, 2, 1, 2,
9052 0,
9053 28,
9054 OPC_CheckChild1Integer, 90|128,65|128,0,
9055 OPC_RecordChild2,
9056 OPC_RecordChild3,
9057 OPC_Scope, 9,
9058 OPC_CheckPatternPredicate1,
9059 OPC_EmitMergeInputChains1_0,
9060 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH),
9061 MVT::v2i16, 2, 1, 2,
9062 9,
9063 OPC_CheckPatternPredicate6,
9064 OPC_EmitMergeInputChains1_0,
9065 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH_MM),
9066 MVT::v2i16, 2, 1, 2,
9067 0,
9068 28,
9069 OPC_CheckChild1Integer, 2|128,66|128,0,
9070 OPC_RecordChild2,
9071 OPC_RecordChild3,
9072 OPC_Scope, 9,
9073 OPC_CheckPatternPredicate1,
9074 OPC_EmitMergeInputChains1_0,
9075 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB),
9076 MVT::v4i8, 2, 1, 2,
9077 9,
9078 OPC_CheckPatternPredicate6,
9079 OPC_EmitMergeInputChains1_0,
9080 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB_MM),
9081 MVT::v4i8, 2, 1, 2,
9082 0,
9083 28,
9084 OPC_CheckChild1Integer, 1|128,66|128,0,
9085 OPC_RecordChild2,
9086 OPC_RecordChild3,
9087 OPC_Scope, 9,
9088 OPC_CheckPatternPredicate1,
9089 OPC_EmitMergeInputChains1_0,
9090 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH),
9091 MVT::v2i16, 2, 1, 2,
9092 9,
9093 OPC_CheckPatternPredicate6,
9094 OPC_EmitMergeInputChains1_0,
9095 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH_MM),
9096 MVT::v2i16, 2, 1, 2,
9097 0,
9098 29,
9099 OPC_CheckChild1Integer, 22|128,62,
9100 OPC_RecordChild2,
9101 OPC_RecordChild3,
9102 OPC_Scope, 10,
9103 OPC_CheckPatternPredicate, 13,
9104 OPC_EmitMergeInputChains1_0,
9105 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH),
9106 MVT::v2i16, 2, 1, 2,
9107 10,
9108 OPC_CheckPatternPredicate, 14,
9109 OPC_EmitMergeInputChains1_0,
9110 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH_MMR2),
9111 MVT::v2i16, 2, 1, 2,
9112 0,
9113 29,
9114 OPC_CheckChild1Integer, 24|128,62,
9115 OPC_RecordChild2,
9116 OPC_RecordChild3,
9117 OPC_Scope, 10,
9118 OPC_CheckPatternPredicate, 13,
9119 OPC_EmitMergeInputChains1_0,
9120 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH),
9121 MVT::v2i16, 2, 1, 2,
9122 10,
9123 OPC_CheckPatternPredicate, 14,
9124 OPC_EmitMergeInputChains1_0,
9125 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH_MMR2),
9126 MVT::v2i16, 2, 1, 2,
9127 0,
9128 30,
9129 OPC_CheckChild1Integer, 5|128,67|128,0,
9130 OPC_RecordChild2,
9131 OPC_RecordChild3,
9132 OPC_Scope, 10,
9133 OPC_CheckPatternPredicate, 13,
9134 OPC_EmitMergeInputChains1_0,
9135 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH),
9136 MVT::v2i16, 2, 1, 2,
9137 10,
9138 OPC_CheckPatternPredicate, 14,
9139 OPC_EmitMergeInputChains1_0,
9140 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH_MMR2),
9141 MVT::v2i16, 2, 1, 2,
9142 0,
9143 30,
9144 OPC_CheckChild1Integer, 7|128,67|128,0,
9145 OPC_RecordChild2,
9146 OPC_RecordChild3,
9147 OPC_Scope, 10,
9148 OPC_CheckPatternPredicate, 13,
9149 OPC_EmitMergeInputChains1_0,
9150 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH),
9151 MVT::v2i16, 2, 1, 2,
9152 10,
9153 OPC_CheckPatternPredicate, 14,
9154 OPC_EmitMergeInputChains1_0,
9155 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH_MMR2),
9156 MVT::v2i16, 2, 1, 2,
9157 0,
9158 26,
9159 OPC_CheckChild1Integer, 124|128,61,
9160 OPC_RecordChild2,
9161 OPC_Scope, 9,
9162 OPC_CheckPatternPredicate, 13,
9163 OPC_EmitMergeInputChains1_0,
9164 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB),
9165 MVT::v4i8, 1, 1,
9166 9,
9167 OPC_CheckPatternPredicate, 14,
9168 OPC_EmitMergeInputChains1_0,
9169 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB_MMR2),
9170 MVT::v4i8, 1, 1,
9171 0,
9172 30,
9173 OPC_CheckChild1Integer, 85|128,65|128,0,
9174 OPC_RecordChild2,
9175 OPC_RecordChild3,
9176 OPC_Scope, 10,
9177 OPC_CheckPatternPredicate, 13,
9178 OPC_EmitMergeInputChains1_0,
9179 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH),
9180 MVT::v2i16, 2, 1, 2,
9181 10,
9182 OPC_CheckPatternPredicate, 14,
9183 OPC_EmitMergeInputChains1_0,
9184 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH_MMR2),
9185 MVT::v2i16, 2, 1, 2,
9186 0,
9187 30,
9188 OPC_CheckChild1Integer, 92|128,65|128,0,
9189 OPC_RecordChild2,
9190 OPC_RecordChild3,
9191 OPC_Scope, 10,
9192 OPC_CheckPatternPredicate, 13,
9193 OPC_EmitMergeInputChains1_0,
9194 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH),
9195 MVT::v2i16, 2, 1, 2,
9196 10,
9197 OPC_CheckPatternPredicate, 14,
9198 OPC_EmitMergeInputChains1_0,
9199 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH_MMR2),
9200 MVT::v2i16, 2, 1, 2,
9201 0,
9202 30,
9203 OPC_CheckChild1Integer, 13|128,66|128,0,
9204 OPC_RecordChild2,
9205 OPC_RecordChild3,
9206 OPC_Scope, 10,
9207 OPC_CheckPatternPredicate, 13,
9208 OPC_EmitMergeInputChains1_0,
9209 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH),
9210 MVT::v4i8, 2, 1, 2,
9211 10,
9212 OPC_CheckPatternPredicate, 14,
9213 OPC_EmitMergeInputChains1_0,
9214 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH_MMR2),
9215 MVT::v4i8, 2, 1, 2,
9216 0,
9217 16,
9218 OPC_CheckChild1Integer, 82|128,65|128,0,
9219 OPC_RecordChild2,
9220 OPC_RecordChild3,
9221 OPC_CheckPatternPredicate, 13,
9222 OPC_EmitMergeInputChains1_0,
9223 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_PH),
9224 MVT::v2i16, 2, 1, 2,
9225 16,
9226 OPC_CheckChild1Integer, 2|128,65|128,0,
9227 OPC_RecordChild2,
9228 OPC_RecordChild3,
9229 OPC_CheckPatternPredicate, 11,
9230 OPC_EmitMergeInputChains1_0,
9231 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_D),
9232 MVT::v2i64, 2, 1, 2,
9233 16,
9234 OPC_CheckChild1Integer, 3|128,65|128,0,
9235 OPC_RecordChild2,
9236 OPC_RecordChild3,
9237 OPC_CheckPatternPredicate, 11,
9238 OPC_EmitMergeInputChains1_0,
9239 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_W),
9240 MVT::v4i32, 2, 1, 2,
9241 0,
9242 124|128,36, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
9243 OPC_Scope, 55,
9244 OPC_CheckChild0Integer, 45|128,66|128,0,
9245 OPC_RecordChild1,
9246 OPC_RecordChild2,
9247 OPC_Scope, 28,
9248 OPC_MoveChild2,
9249 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9250 OPC_CheckPredicate3,
9251 OPC_MoveParent,
9252 OPC_Scope, 9,
9253 OPC_CheckPatternPredicate1,
9254 OPC_EmitConvertToTarget1,
9255 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W),
9256 MVT::i32, 2, 0, 2,
9257 9,
9258 OPC_CheckPatternPredicate6,
9259 OPC_EmitConvertToTarget1,
9260 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W_MM),
9261 MVT::i32, 2, 0, 2,
9262 0,
9263 8,
9264 OPC_CheckPatternPredicate1,
9265 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W),
9266 MVT::i32, 2, 0, 1,
9267 8,
9268 OPC_CheckPatternPredicate6,
9269 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W_MM),
9270 MVT::i32, 2, 0, 1,
9271 0,
9272 36,
9273 OPC_CheckChild0Integer, 39|128,62,
9274 OPC_RecordChild1,
9275 OPC_RecordChild2,
9276 OPC_RecordChild3,
9277 OPC_MoveChild3,
9278 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9279 OPC_CheckPredicate3,
9280 OPC_MoveParent,
9281 OPC_Scope, 10,
9282 OPC_CheckPatternPredicate, 13,
9283 OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND),
9284 MVT::i32, 3, 1, 2, 0,
9285 10,
9286 OPC_CheckPatternPredicate, 14,
9287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND_MMR2),
9288 MVT::i32, 3, 1, 2, 0,
9289 0,
9290 42,
9291 OPC_CheckChild0Integer, 64|128,62,
9292 OPC_RecordChild1,
9293 OPC_RecordChild2,
9294 OPC_RecordChild3,
9295 OPC_MoveChild3,
9296 OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetConstant),
9297 OPC_CheckPredicate, 21,
9298 OPC_MoveParent,
9299 OPC_CheckPatternPredicate, 13,
9300 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN),
9301 MVT::i32, 3, 1, 2, 0,
9302 14, TARGET_VAL(ISD::Constant),
9303 OPC_CheckPredicate, 21,
9304 OPC_MoveParent,
9305 OPC_CheckPatternPredicate, 14,
9306 OPC_EmitConvertToTarget2,
9307 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN_MMR2),
9308 MVT::i32, 3, 1, 3, 0,
9309 0,
9310 37,
9311 OPC_CheckChild0Integer, 20|128,66|128,0,
9312 OPC_RecordChild1,
9313 OPC_RecordChild2,
9314 OPC_RecordChild3,
9315 OPC_MoveChild3,
9316 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9317 OPC_CheckPredicate3,
9318 OPC_MoveParent,
9319 OPC_Scope, 10,
9320 OPC_CheckPatternPredicate, 13,
9321 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND),
9322 MVT::i32, 3, 1, 2, 0,
9323 10,
9324 OPC_CheckPatternPredicate, 14,
9325 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND_MMR2),
9326 MVT::i32, 3, 1, 2, 0,
9327 0,
9328 26,
9329 OPC_CheckChild0Integer, 69|128,65|128,0,
9330 OPC_RecordChild1,
9331 OPC_RecordChild2,
9332 OPC_Scope, 8,
9333 OPC_CheckPatternPredicate1,
9334 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB),
9335 MVT::i32, 2, 0, 1,
9336 8,
9337 OPC_CheckPatternPredicate6,
9338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB_MM),
9339 MVT::i32, 2, 0, 1,
9340 0,
9341 23,
9342 OPC_CheckChild0Integer, 21|128,66|128,0,
9343 OPC_RecordChild1,
9344 OPC_Scope, 7,
9345 OPC_CheckPatternPredicate1,
9346 OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB),
9347 MVT::i32, 1, 0,
9348 7,
9349 OPC_CheckPatternPredicate6,
9350 OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB_MM),
9351 MVT::i32, 1, 0,
9352 0,
9353 23,
9354 OPC_CheckChild0Integer, 3|128,66|128,0,
9355 OPC_RecordChild1,
9356 OPC_Scope, 7,
9357 OPC_CheckPatternPredicate1,
9358 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL),
9359 MVT::i32, 1, 0,
9360 7,
9361 OPC_CheckPatternPredicate6,
9362 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL_MM),
9363 MVT::i32, 1, 0,
9364 0,
9365 23,
9366 OPC_CheckChild0Integer, 4|128,66|128,0,
9367 OPC_RecordChild1,
9368 OPC_Scope, 7,
9369 OPC_CheckPatternPredicate1,
9370 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR),
9371 MVT::i32, 1, 0,
9372 7,
9373 OPC_CheckPatternPredicate6,
9374 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR_MM),
9375 MVT::i32, 1, 0,
9376 0,
9377 22,
9378 OPC_CheckChild0Integer, 89|128,62,
9379 OPC_RecordChild1,
9380 OPC_Scope, 7,
9381 OPC_CheckPatternPredicate1,
9382 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV),
9383 MVT::i32, 1, 0,
9384 7,
9385 OPC_CheckPatternPredicate6,
9386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV_MM),
9387 MVT::i32, 1, 0,
9388 0,
9389 27,
9390 OPC_CheckChild0Integer, 8|128,62,
9391 OPC_RecordChild1,
9392 OPC_RecordChild2,
9393 OPC_Scope, 9,
9394 OPC_CheckPatternPredicate, 13,
9395 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W),
9396 MVT::i32, 2, 0, 1,
9397 9,
9398 OPC_CheckPatternPredicate, 14,
9399 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W_MMR2),
9400 MVT::i32, 2, 0, 1,
9401 0,
9402 27,
9403 OPC_CheckChild0Integer, 7|128,62,
9404 OPC_RecordChild1,
9405 OPC_RecordChild2,
9406 OPC_Scope, 9,
9407 OPC_CheckPatternPredicate, 13,
9408 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W),
9409 MVT::i32, 2, 0, 1,
9410 9,
9411 OPC_CheckPatternPredicate, 14,
9412 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W_MMR2),
9413 MVT::i32, 2, 0, 1,
9414 0,
9415 28,
9416 OPC_CheckChild0Integer, 116|128,66|128,0,
9417 OPC_RecordChild1,
9418 OPC_RecordChild2,
9419 OPC_Scope, 9,
9420 OPC_CheckPatternPredicate, 13,
9421 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W),
9422 MVT::i32, 2, 0, 1,
9423 9,
9424 OPC_CheckPatternPredicate, 14,
9425 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W_MMR2),
9426 MVT::i32, 2, 0, 1,
9427 0,
9428 28,
9429 OPC_CheckChild0Integer, 115|128,66|128,0,
9430 OPC_RecordChild1,
9431 OPC_RecordChild2,
9432 OPC_Scope, 9,
9433 OPC_CheckPatternPredicate, 13,
9434 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W),
9435 MVT::i32, 2, 0, 1,
9436 9,
9437 OPC_CheckPatternPredicate, 14,
9438 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W_MMR2),
9439 MVT::i32, 2, 0, 1,
9440 0,
9441 56,
9442 OPC_CheckChild0Integer, 43|128,66|128,0,
9443 OPC_RecordChild1,
9444 OPC_RecordChild2,
9445 OPC_Scope, 29,
9446 OPC_MoveChild2,
9447 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9448 OPC_CheckPredicate, 14,
9449 OPC_MoveParent,
9450 OPC_Scope, 9,
9451 OPC_CheckPatternPredicate1,
9452 OPC_EmitConvertToTarget1,
9453 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH),
9454 MVT::v2i16, 2, 0, 2,
9455 9,
9456 OPC_CheckPatternPredicate6,
9457 OPC_EmitConvertToTarget1,
9458 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH_MM),
9459 MVT::v2i16, 2, 0, 2,
9460 0,
9461 8,
9462 OPC_CheckPatternPredicate1,
9463 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH),
9464 MVT::v2i16, 2, 0, 1,
9465 8,
9466 OPC_CheckPatternPredicate6,
9467 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH_MM),
9468 MVT::v2i16, 2, 0, 1,
9469 0,
9470 51,
9471 OPC_CheckChild0Integer, 24|128,66|128,0,
9472 OPC_RecordChild1,
9473 OPC_Scope, 27,
9474 OPC_MoveChild1,
9475 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9476 OPC_CheckPredicate, 46,
9477 OPC_MoveParent,
9478 OPC_Scope, 8,
9479 OPC_CheckPatternPredicate1,
9480 OPC_EmitConvertToTarget0,
9481 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB),
9482 MVT::v4i8, 1, 1,
9483 8,
9484 OPC_CheckPatternPredicate6,
9485 OPC_EmitConvertToTarget0,
9486 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB_MM),
9487 MVT::v4i8, 1, 1,
9488 0,
9489 7,
9490 OPC_CheckPatternPredicate1,
9491 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB),
9492 MVT::v4i8, 1, 0,
9493 7,
9494 OPC_CheckPatternPredicate6,
9495 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB_MM),
9496 MVT::v4i8, 1, 0,
9497 0,
9498 51,
9499 OPC_CheckChild0Integer, 23|128,66|128,0,
9500 OPC_RecordChild1,
9501 OPC_Scope, 27,
9502 OPC_MoveChild1,
9503 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9504 OPC_CheckPredicate, 52,
9505 OPC_MoveParent,
9506 OPC_Scope, 8,
9507 OPC_CheckPatternPredicate1,
9508 OPC_EmitConvertToTarget0,
9509 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH),
9510 MVT::v2i16, 1, 1,
9511 8,
9512 OPC_CheckPatternPredicate6,
9513 OPC_EmitConvertToTarget0,
9514 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH_MM),
9515 MVT::v2i16, 1, 1,
9516 0,
9517 7,
9518 OPC_CheckPatternPredicate1,
9519 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH),
9520 MVT::v2i16, 1, 0,
9521 7,
9522 OPC_CheckPatternPredicate6,
9523 OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH_MM),
9524 MVT::v2i16, 1, 0,
9525 0,
9526 37,
9527 OPC_CheckChild0Integer, 14|128,66|128,0,
9528 OPC_RecordChild1,
9529 OPC_RecordChild2,
9530 OPC_RecordChild3,
9531 OPC_MoveChild3,
9532 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9533 OPC_CheckPredicate3,
9534 OPC_MoveParent,
9535 OPC_Scope, 10,
9536 OPC_CheckPatternPredicate, 13,
9537 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W),
9538 MVT::v2i16, 3, 1, 2, 0,
9539 10,
9540 OPC_CheckPatternPredicate, 14,
9541 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W_MMR2),
9542 MVT::v2i16, 3, 1, 2, 0,
9543 0,
9544 37,
9545 OPC_CheckChild0Integer, 15|128,66|128,0,
9546 OPC_RecordChild1,
9547 OPC_RecordChild2,
9548 OPC_RecordChild3,
9549 OPC_MoveChild3,
9550 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9551 OPC_CheckPredicate3,
9552 OPC_MoveParent,
9553 OPC_Scope, 10,
9554 OPC_CheckPatternPredicate, 13,
9555 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W),
9556 MVT::v2i16, 3, 1, 2, 0,
9557 10,
9558 OPC_CheckPatternPredicate, 14,
9559 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W_MMR2),
9560 MVT::v2i16, 3, 1, 2, 0,
9561 0,
9562 60,
9563 OPC_CheckChild0Integer, 44|128,66|128,0,
9564 OPC_RecordChild1,
9565 OPC_RecordChild2,
9566 OPC_Scope, 31,
9567 OPC_MoveChild2,
9568 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9569 OPC_CheckPredicate, 17,
9570 OPC_MoveParent,
9571 OPC_Scope, 10,
9572 OPC_CheckPatternPredicate, 13,
9573 OPC_EmitConvertToTarget1,
9574 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB),
9575 MVT::v4i8, 2, 0, 2,
9576 10,
9577 OPC_CheckPatternPredicate, 14,
9578 OPC_EmitConvertToTarget1,
9579 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB_MMR2),
9580 MVT::v4i8, 2, 0, 2,
9581 0,
9582 9,
9583 OPC_CheckPatternPredicate, 13,
9584 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB),
9585 MVT::v4i8, 2, 0, 1,
9586 9,
9587 OPC_CheckPatternPredicate, 14,
9588 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB_MMR2),
9589 MVT::v4i8, 2, 0, 1,
9590 0,
9591 43,
9592 OPC_CheckChild0Integer, 41|128,66|128,0,
9593 OPC_RecordChild1,
9594 OPC_RecordChild2,
9595 OPC_Scope, 16,
9596 OPC_MoveChild2,
9597 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9598 OPC_CheckPredicate, 14,
9599 OPC_MoveParent,
9600 OPC_CheckPatternPredicate1,
9601 OPC_EmitConvertToTarget1,
9602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
9603 MVT::v2i16, 2, 0, 2,
9604 8,
9605 OPC_CheckPatternPredicate1,
9606 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH),
9607 MVT::v2i16, 2, 0, 1,
9608 8,
9609 OPC_CheckPatternPredicate6,
9610 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH_MM),
9611 MVT::v2i16, 2, 0, 1,
9612 0,
9613 46,
9614 OPC_CheckChild0Integer, 46|128,66|128,0,
9615 OPC_RecordChild1,
9616 OPC_RecordChild2,
9617 OPC_Scope, 17,
9618 OPC_MoveChild2,
9619 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9620 OPC_CheckPredicate, 14,
9621 OPC_MoveParent,
9622 OPC_CheckPatternPredicate, 13,
9623 OPC_EmitConvertToTarget1,
9624 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
9625 MVT::v2i16, 2, 0, 2,
9626 9,
9627 OPC_CheckPatternPredicate, 13,
9628 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH),
9629 MVT::v2i16, 2, 0, 1,
9630 9,
9631 OPC_CheckPatternPredicate, 14,
9632 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH_MMR2),
9633 MVT::v2i16, 2, 0, 1,
9634 0,
9635 46,
9636 OPC_CheckChild0Integer, 42|128,66|128,0,
9637 OPC_RecordChild1,
9638 OPC_RecordChild2,
9639 OPC_Scope, 17,
9640 OPC_MoveChild2,
9641 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9642 OPC_CheckPredicate, 17,
9643 OPC_MoveParent,
9644 OPC_CheckPatternPredicate, 13,
9645 OPC_EmitConvertToTarget1,
9646 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
9647 MVT::v4i8, 2, 0, 2,
9648 9,
9649 OPC_CheckPatternPredicate, 13,
9650 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB),
9651 MVT::v4i8, 2, 0, 1,
9652 9,
9653 OPC_CheckPatternPredicate, 14,
9654 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB_MMR2),
9655 MVT::v4i8, 2, 0, 1,
9656 0,
9657 43,
9658 OPC_CheckChild0Integer, 47|128,66|128,0,
9659 OPC_RecordChild1,
9660 OPC_RecordChild2,
9661 OPC_Scope, 16,
9662 OPC_MoveChild2,
9663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9664 OPC_CheckPredicate, 17,
9665 OPC_MoveParent,
9666 OPC_CheckPatternPredicate1,
9667 OPC_EmitConvertToTarget1,
9668 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
9669 MVT::v4i8, 2, 0, 2,
9670 8,
9671 OPC_CheckPatternPredicate1,
9672 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB),
9673 MVT::v4i8, 2, 0, 1,
9674 8,
9675 OPC_CheckPatternPredicate6,
9676 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB_MM),
9677 MVT::v4i8, 2, 0, 1,
9678 0,
9679 21,
9680 OPC_CheckChild0Integer, 25|128,66|128,0,
9681 OPC_RecordChild1,
9682 OPC_RecordChild2,
9683 OPC_MoveChild2,
9684 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9685 OPC_CheckPredicate, 17,
9686 OPC_MoveParent,
9687 OPC_CheckPatternPredicate0,
9688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_B),
9689 MVT::v16i8, 2, 0, 1,
9690 21,
9691 OPC_CheckChild0Integer, 27|128,66|128,0,
9692 OPC_RecordChild1,
9693 OPC_RecordChild2,
9694 OPC_MoveChild2,
9695 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9696 OPC_CheckPredicate, 14,
9697 OPC_MoveParent,
9698 OPC_CheckPatternPredicate0,
9699 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_H),
9700 MVT::v8i16, 2, 0, 1,
9701 20,
9702 OPC_CheckChild0Integer, 28|128,66|128,0,
9703 OPC_RecordChild1,
9704 OPC_RecordChild2,
9705 OPC_MoveChild2,
9706 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9707 OPC_CheckPredicate3,
9708 OPC_MoveParent,
9709 OPC_CheckPatternPredicate0,
9710 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_W),
9711 MVT::v4i32, 2, 0, 1,
9712 21,
9713 OPC_CheckChild0Integer, 26|128,66|128,0,
9714 OPC_RecordChild1,
9715 OPC_RecordChild2,
9716 OPC_MoveChild2,
9717 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9718 OPC_CheckPredicate, 15,
9719 OPC_MoveParent,
9720 OPC_CheckPatternPredicate0,
9721 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_D),
9722 MVT::v2i64, 2, 0, 1,
9723 21,
9724 OPC_CheckChild0Integer, 29|128,66|128,0,
9725 OPC_RecordChild1,
9726 OPC_RecordChild2,
9727 OPC_MoveChild2,
9728 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9729 OPC_CheckPredicate, 17,
9730 OPC_MoveParent,
9731 OPC_CheckPatternPredicate0,
9732 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_B),
9733 MVT::v16i8, 2, 0, 1,
9734 21,
9735 OPC_CheckChild0Integer, 31|128,66|128,0,
9736 OPC_RecordChild1,
9737 OPC_RecordChild2,
9738 OPC_MoveChild2,
9739 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9740 OPC_CheckPredicate, 14,
9741 OPC_MoveParent,
9742 OPC_CheckPatternPredicate0,
9743 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_H),
9744 MVT::v8i16, 2, 0, 1,
9745 20,
9746 OPC_CheckChild0Integer, 32|128,66|128,0,
9747 OPC_RecordChild1,
9748 OPC_RecordChild2,
9749 OPC_MoveChild2,
9750 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9751 OPC_CheckPredicate3,
9752 OPC_MoveParent,
9753 OPC_CheckPatternPredicate0,
9754 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_W),
9755 MVT::v4i32, 2, 0, 1,
9756 21,
9757 OPC_CheckChild0Integer, 30|128,66|128,0,
9758 OPC_RecordChild1,
9759 OPC_RecordChild2,
9760 OPC_MoveChild2,
9761 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9762 OPC_CheckPredicate, 15,
9763 OPC_MoveParent,
9764 OPC_CheckPatternPredicate0,
9765 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_D),
9766 MVT::v2i64, 2, 0, 1,
9767 23,
9768 OPC_CheckChild0Integer, 52|128,66|128,0,
9769 OPC_RecordChild1,
9770 OPC_RecordChild2,
9771 OPC_RecordChild3,
9772 OPC_MoveChild3,
9773 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9774 OPC_CheckPredicate, 14,
9775 OPC_MoveParent,
9776 OPC_CheckPatternPredicate0,
9777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_B),
9778 MVT::v16i8, 3, 0, 1, 2,
9779 23,
9780 OPC_CheckChild0Integer, 54|128,66|128,0,
9781 OPC_RecordChild1,
9782 OPC_RecordChild2,
9783 OPC_RecordChild3,
9784 OPC_MoveChild3,
9785 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9786 OPC_CheckPredicate, 17,
9787 OPC_MoveParent,
9788 OPC_CheckPatternPredicate0,
9789 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_H),
9790 MVT::v8i16, 3, 0, 1, 2,
9791 23,
9792 OPC_CheckChild0Integer, 55|128,66|128,0,
9793 OPC_RecordChild1,
9794 OPC_RecordChild2,
9795 OPC_RecordChild3,
9796 OPC_MoveChild3,
9797 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9798 OPC_CheckPredicate, 21,
9799 OPC_MoveParent,
9800 OPC_CheckPatternPredicate0,
9801 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_W),
9802 MVT::v4i32, 3, 0, 1, 2,
9803 23,
9804 OPC_CheckChild0Integer, 53|128,66|128,0,
9805 OPC_RecordChild1,
9806 OPC_RecordChild2,
9807 OPC_RecordChild3,
9808 OPC_MoveChild3,
9809 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9810 OPC_CheckPredicate, 25,
9811 OPC_MoveParent,
9812 OPC_CheckPatternPredicate0,
9813 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_D),
9814 MVT::v2i64, 3, 0, 1, 2,
9815 21,
9816 OPC_CheckChild0Integer, 84|128,66|128,0,
9817 OPC_RecordChild1,
9818 OPC_RecordChild2,
9819 OPC_MoveChild2,
9820 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9821 OPC_CheckPredicate, 17,
9822 OPC_MoveParent,
9823 OPC_CheckPatternPredicate0,
9824 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_B),
9825 MVT::v16i8, 2, 0, 1,
9826 21,
9827 OPC_CheckChild0Integer, 86|128,66|128,0,
9828 OPC_RecordChild1,
9829 OPC_RecordChild2,
9830 OPC_MoveChild2,
9831 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9832 OPC_CheckPredicate, 14,
9833 OPC_MoveParent,
9834 OPC_CheckPatternPredicate0,
9835 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_H),
9836 MVT::v8i16, 2, 0, 1,
9837 20,
9838 OPC_CheckChild0Integer, 87|128,66|128,0,
9839 OPC_RecordChild1,
9840 OPC_RecordChild2,
9841 OPC_MoveChild2,
9842 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9843 OPC_CheckPredicate3,
9844 OPC_MoveParent,
9845 OPC_CheckPatternPredicate0,
9846 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_W),
9847 MVT::v4i32, 2, 0, 1,
9848 21,
9849 OPC_CheckChild0Integer, 85|128,66|128,0,
9850 OPC_RecordChild1,
9851 OPC_RecordChild2,
9852 OPC_MoveChild2,
9853 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9854 OPC_CheckPredicate, 15,
9855 OPC_MoveParent,
9856 OPC_CheckPatternPredicate0,
9857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_D),
9858 MVT::v2i64, 2, 0, 1,
9859 21,
9860 OPC_CheckChild0Integer, 100|128,66|128,0,
9861 OPC_RecordChild1,
9862 OPC_RecordChild2,
9863 OPC_MoveChild2,
9864 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9865 OPC_CheckPredicate, 17,
9866 OPC_MoveParent,
9867 OPC_CheckPatternPredicate0,
9868 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_B),
9869 MVT::v16i8, 2, 0, 1,
9870 21,
9871 OPC_CheckChild0Integer, 102|128,66|128,0,
9872 OPC_RecordChild1,
9873 OPC_RecordChild2,
9874 OPC_MoveChild2,
9875 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9876 OPC_CheckPredicate, 14,
9877 OPC_MoveParent,
9878 OPC_CheckPatternPredicate0,
9879 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_H),
9880 MVT::v8i16, 2, 0, 1,
9881 20,
9882 OPC_CheckChild0Integer, 103|128,66|128,0,
9883 OPC_RecordChild1,
9884 OPC_RecordChild2,
9885 OPC_MoveChild2,
9886 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9887 OPC_CheckPredicate3,
9888 OPC_MoveParent,
9889 OPC_CheckPatternPredicate0,
9890 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_W),
9891 MVT::v4i32, 2, 0, 1,
9892 21,
9893 OPC_CheckChild0Integer, 101|128,66|128,0,
9894 OPC_RecordChild1,
9895 OPC_RecordChild2,
9896 OPC_MoveChild2,
9897 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9898 OPC_CheckPredicate, 15,
9899 OPC_MoveParent,
9900 OPC_CheckPatternPredicate0,
9901 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_D),
9902 MVT::v2i64, 2, 0, 1,
9903 25,
9904 OPC_CheckChild0Integer, 25|128,62,
9905 OPC_RecordChild1,
9906 OPC_RecordChild2,
9907 OPC_Scope, 8,
9908 OPC_CheckPatternPredicate1,
9909 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB),
9910 MVT::v4i8, 2, 0, 1,
9911 8,
9912 OPC_CheckPatternPredicate6,
9913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB_MM),
9914 MVT::v4i8, 2, 0, 1,
9915 0,
9916 26,
9917 OPC_CheckChild0Integer, 8|128,67|128,0,
9918 OPC_RecordChild1,
9919 OPC_RecordChild2,
9920 OPC_Scope, 8,
9921 OPC_CheckPatternPredicate1,
9922 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB),
9923 MVT::v4i8, 2, 0, 1,
9924 8,
9925 OPC_CheckPatternPredicate6,
9926 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB_MM),
9927 MVT::v4i8, 2, 0, 1,
9928 0,
9929 25,
9930 OPC_CheckChild0Integer, 3|128,62,
9931 OPC_RecordChild1,
9932 OPC_RecordChild2,
9933 OPC_Scope, 8,
9934 OPC_CheckPatternPredicate1,
9935 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH),
9936 MVT::v2i16, 2, 0, 1,
9937 8,
9938 OPC_CheckPatternPredicate6,
9939 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH_MM),
9940 MVT::v2i16, 2, 0, 1,
9941 0,
9942 26,
9943 OPC_CheckChild0Integer, 111|128,66|128,0,
9944 OPC_RecordChild1,
9945 OPC_RecordChild2,
9946 OPC_Scope, 8,
9947 OPC_CheckPatternPredicate1,
9948 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH),
9949 MVT::v2i16, 2, 0, 1,
9950 8,
9951 OPC_CheckPatternPredicate6,
9952 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH_MM),
9953 MVT::v2i16, 2, 0, 1,
9954 0,
9955 26,
9956 OPC_CheckChild0Integer, 17|128,66|128,0,
9957 OPC_RecordChild1,
9958 OPC_RecordChild2,
9959 OPC_Scope, 8,
9960 OPC_CheckPatternPredicate1,
9961 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH),
9962 MVT::v4i8, 2, 0, 1,
9963 8,
9964 OPC_CheckPatternPredicate6,
9965 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH_MM),
9966 MVT::v4i8, 2, 0, 1,
9967 0,
9968 26,
9969 OPC_CheckChild0Integer, 16|128,66|128,0,
9970 OPC_RecordChild1,
9971 OPC_RecordChild2,
9972 OPC_Scope, 8,
9973 OPC_CheckPatternPredicate1,
9974 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W),
9975 MVT::v2i16, 2, 0, 1,
9976 8,
9977 OPC_CheckPatternPredicate6,
9978 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W_MM),
9979 MVT::v2i16, 2, 0, 1,
9980 0,
9981 23,
9982 OPC_CheckChild0Integer, 5|128,66|128,0,
9983 OPC_RecordChild1,
9984 OPC_Scope, 7,
9985 OPC_CheckPatternPredicate1,
9986 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL),
9987 MVT::v2i16, 1, 0,
9988 7,
9989 OPC_CheckPatternPredicate6,
9990 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL_MM),
9991 MVT::v2i16, 1, 0,
9992 0,
9993 23,
9994 OPC_CheckChild0Integer, 7|128,66|128,0,
9995 OPC_RecordChild1,
9996 OPC_Scope, 7,
9997 OPC_CheckPatternPredicate1,
9998 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR),
9999 MVT::v2i16, 1, 0,
10000 7,
10001 OPC_CheckPatternPredicate6,
10002 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR_MM),
10003 MVT::v2i16, 1, 0,
10004 0,
10005 23,
10006 OPC_CheckChild0Integer, 6|128,66|128,0,
10007 OPC_RecordChild1,
10008 OPC_Scope, 7,
10009 OPC_CheckPatternPredicate1,
10010 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA),
10011 MVT::v2i16, 1, 0,
10012 7,
10013 OPC_CheckPatternPredicate6,
10014 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA_MM),
10015 MVT::v2i16, 1, 0,
10016 0,
10017 23,
10018 OPC_CheckChild0Integer, 8|128,66|128,0,
10019 OPC_RecordChild1,
10020 OPC_Scope, 7,
10021 OPC_CheckPatternPredicate1,
10022 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA),
10023 MVT::v2i16, 1, 0,
10024 7,
10025 OPC_CheckPatternPredicate6,
10026 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA_MM),
10027 MVT::v2i16, 1, 0,
10028 0,
10029 23,
10030 OPC_CheckChild0Integer, 9|128,66|128,0,
10031 OPC_RecordChild1,
10032 OPC_Scope, 7,
10033 OPC_CheckPatternPredicate1,
10034 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL),
10035 MVT::v2i16, 1, 0,
10036 7,
10037 OPC_CheckPatternPredicate6,
10038 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL_MM),
10039 MVT::v2i16, 1, 0,
10040 0,
10041 23,
10042 OPC_CheckChild0Integer, 11|128,66|128,0,
10043 OPC_RecordChild1,
10044 OPC_Scope, 7,
10045 OPC_CheckPatternPredicate1,
10046 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR),
10047 MVT::v2i16, 1, 0,
10048 7,
10049 OPC_CheckPatternPredicate6,
10050 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR_MM),
10051 MVT::v2i16, 1, 0,
10052 0,
10053 23,
10054 OPC_CheckChild0Integer, 10|128,66|128,0,
10055 OPC_RecordChild1,
10056 OPC_Scope, 7,
10057 OPC_CheckPatternPredicate1,
10058 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA),
10059 MVT::v2i16, 1, 0,
10060 7,
10061 OPC_CheckPatternPredicate6,
10062 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA_MM),
10063 MVT::v2i16, 1, 0,
10064 0,
10065 23,
10066 OPC_CheckChild0Integer, 12|128,66|128,0,
10067 OPC_RecordChild1,
10068 OPC_Scope, 7,
10069 OPC_CheckPatternPredicate1,
10070 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA),
10071 MVT::v2i16, 1, 0,
10072 7,
10073 OPC_CheckPatternPredicate6,
10074 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA_MM),
10075 MVT::v2i16, 1, 0,
10076 0,
10077 26,
10078 OPC_CheckChild0Integer, 116|128,65|128,0,
10079 OPC_RecordChild1,
10080 OPC_RecordChild2,
10081 OPC_Scope, 8,
10082 OPC_CheckPatternPredicate1,
10083 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH),
10084 MVT::v2i16, 2, 0, 1,
10085 8,
10086 OPC_CheckPatternPredicate6,
10087 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH_MM),
10088 MVT::v2i16, 2, 0, 1,
10089 0,
10090 27,
10091 OPC_CheckChild0Integer, 26|128,62,
10092 OPC_RecordChild1,
10093 OPC_RecordChild2,
10094 OPC_Scope, 9,
10095 OPC_CheckPatternPredicate, 13,
10096 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB),
10097 MVT::v4i8, 2, 0, 1,
10098 9,
10099 OPC_CheckPatternPredicate, 14,
10100 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB_MMR2),
10101 MVT::v4i8, 2, 0, 1,
10102 0,
10103 27,
10104 OPC_CheckChild0Integer, 27|128,62,
10105 OPC_RecordChild1,
10106 OPC_RecordChild2,
10107 OPC_Scope, 9,
10108 OPC_CheckPatternPredicate, 13,
10109 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB),
10110 MVT::v4i8, 2, 0, 1,
10111 9,
10112 OPC_CheckPatternPredicate, 14,
10113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB_MMR2),
10114 MVT::v4i8, 2, 0, 1,
10115 0,
10116 28,
10117 OPC_CheckChild0Integer, 9|128,67|128,0,
10118 OPC_RecordChild1,
10119 OPC_RecordChild2,
10120 OPC_Scope, 9,
10121 OPC_CheckPatternPredicate, 13,
10122 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB),
10123 MVT::v4i8, 2, 0, 1,
10124 9,
10125 OPC_CheckPatternPredicate, 14,
10126 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB_MMR2),
10127 MVT::v4i8, 2, 0, 1,
10128 0,
10129 28,
10130 OPC_CheckChild0Integer, 10|128,67|128,0,
10131 OPC_RecordChild1,
10132 OPC_RecordChild2,
10133 OPC_Scope, 9,
10134 OPC_CheckPatternPredicate, 13,
10135 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB),
10136 MVT::v4i8, 2, 0, 1,
10137 9,
10138 OPC_CheckPatternPredicate, 14,
10139 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB_MMR2),
10140 MVT::v4i8, 2, 0, 1,
10141 0,
10142 27,
10143 OPC_CheckChild0Integer, 5|128,62,
10144 OPC_RecordChild1,
10145 OPC_RecordChild2,
10146 OPC_Scope, 9,
10147 OPC_CheckPatternPredicate, 13,
10148 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH),
10149 MVT::v2i16, 2, 0, 1,
10150 9,
10151 OPC_CheckPatternPredicate, 14,
10152 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH_MMR2),
10153 MVT::v2i16, 2, 0, 1,
10154 0,
10155 27,
10156 OPC_CheckChild0Integer, 6|128,62,
10157 OPC_RecordChild1,
10158 OPC_RecordChild2,
10159 OPC_Scope, 9,
10160 OPC_CheckPatternPredicate, 13,
10161 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH),
10162 MVT::v2i16, 2, 0, 1,
10163 9,
10164 OPC_CheckPatternPredicate, 14,
10165 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH_MMR2),
10166 MVT::v2i16, 2, 0, 1,
10167 0,
10168 28,
10169 OPC_CheckChild0Integer, 113|128,66|128,0,
10170 OPC_RecordChild1,
10171 OPC_RecordChild2,
10172 OPC_Scope, 9,
10173 OPC_CheckPatternPredicate, 13,
10174 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH),
10175 MVT::v2i16, 2, 0, 1,
10176 9,
10177 OPC_CheckPatternPredicate, 14,
10178 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH_MMR2),
10179 MVT::v2i16, 2, 0, 1,
10180 0,
10181 28,
10182 OPC_CheckChild0Integer, 114|128,66|128,0,
10183 OPC_RecordChild1,
10184 OPC_RecordChild2,
10185 OPC_Scope, 9,
10186 OPC_CheckPatternPredicate, 13,
10187 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH),
10188 MVT::v2i16, 2, 0, 1,
10189 9,
10190 OPC_CheckPatternPredicate, 14,
10191 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH_MMR2),
10192 MVT::v2i16, 2, 0, 1,
10193 0,
10194 13,
10195 OPC_CheckChild0Integer, 2|128,62,
10196 OPC_RecordChild1,
10197 OPC_RecordChild2,
10198 OPC_CheckPatternPredicate1,
10199 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
10200 MVT::v2i16, 2, 0, 1,
10201 14,
10202 OPC_CheckChild0Integer, 110|128,66|128,0,
10203 OPC_RecordChild1,
10204 OPC_RecordChild2,
10205 OPC_CheckPatternPredicate1,
10206 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
10207 MVT::v2i16, 2, 0, 1,
10208 13,
10209 OPC_CheckChild0Integer, 23|128,62,
10210 OPC_RecordChild1,
10211 OPC_RecordChild2,
10212 OPC_CheckPatternPredicate1,
10213 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
10214 MVT::v4i8, 2, 0, 1,
10215 14,
10216 OPC_CheckChild0Integer, 6|128,67|128,0,
10217 OPC_RecordChild1,
10218 OPC_RecordChild2,
10219 OPC_CheckPatternPredicate1,
10220 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
10221 MVT::v4i8, 2, 0, 1,
10222 13,
10223 OPC_CheckChild0Integer, 126|128,61,
10224 OPC_RecordChild1,
10225 OPC_RecordChild2,
10226 OPC_CheckPatternPredicate0,
10227 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_B),
10228 MVT::v16i8, 2, 0, 1,
10229 13,
10230 OPC_CheckChild0Integer, 0|128,62,
10231 OPC_RecordChild1,
10232 OPC_RecordChild2,
10233 OPC_CheckPatternPredicate0,
10234 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_H),
10235 MVT::v8i16, 2, 0, 1,
10236 13,
10237 OPC_CheckChild0Integer, 1|128,62,
10238 OPC_RecordChild1,
10239 OPC_RecordChild2,
10240 OPC_CheckPatternPredicate0,
10241 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_W),
10242 MVT::v4i32, 2, 0, 1,
10243 13,
10244 OPC_CheckChild0Integer, 127|128,61,
10245 OPC_RecordChild1,
10246 OPC_RecordChild2,
10247 OPC_CheckPatternPredicate0,
10248 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_D),
10249 MVT::v2i64, 2, 0, 1,
10250 13,
10251 OPC_CheckChild0Integer, 9|128,62,
10252 OPC_RecordChild1,
10253 OPC_RecordChild2,
10254 OPC_CheckPatternPredicate0,
10255 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_B),
10256 MVT::v16i8, 2, 0, 1,
10257 13,
10258 OPC_CheckChild0Integer, 11|128,62,
10259 OPC_RecordChild1,
10260 OPC_RecordChild2,
10261 OPC_CheckPatternPredicate0,
10262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_H),
10263 MVT::v8i16, 2, 0, 1,
10264 13,
10265 OPC_CheckChild0Integer, 12|128,62,
10266 OPC_RecordChild1,
10267 OPC_RecordChild2,
10268 OPC_CheckPatternPredicate0,
10269 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_W),
10270 MVT::v4i32, 2, 0, 1,
10271 13,
10272 OPC_CheckChild0Integer, 10|128,62,
10273 OPC_RecordChild1,
10274 OPC_RecordChild2,
10275 OPC_CheckPatternPredicate0,
10276 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_D),
10277 MVT::v2i64, 2, 0, 1,
10278 13,
10279 OPC_CheckChild0Integer, 13|128,62,
10280 OPC_RecordChild1,
10281 OPC_RecordChild2,
10282 OPC_CheckPatternPredicate0,
10283 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_B),
10284 MVT::v16i8, 2, 0, 1,
10285 13,
10286 OPC_CheckChild0Integer, 15|128,62,
10287 OPC_RecordChild1,
10288 OPC_RecordChild2,
10289 OPC_CheckPatternPredicate0,
10290 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_H),
10291 MVT::v8i16, 2, 0, 1,
10292 13,
10293 OPC_CheckChild0Integer, 16|128,62,
10294 OPC_RecordChild1,
10295 OPC_RecordChild2,
10296 OPC_CheckPatternPredicate0,
10297 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_W),
10298 MVT::v4i32, 2, 0, 1,
10299 13,
10300 OPC_CheckChild0Integer, 14|128,62,
10301 OPC_RecordChild1,
10302 OPC_RecordChild2,
10303 OPC_CheckPatternPredicate0,
10304 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_D),
10305 MVT::v2i64, 2, 0, 1,
10306 13,
10307 OPC_CheckChild0Integer, 17|128,62,
10308 OPC_RecordChild1,
10309 OPC_RecordChild2,
10310 OPC_CheckPatternPredicate0,
10311 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_B),
10312 MVT::v16i8, 2, 0, 1,
10313 13,
10314 OPC_CheckChild0Integer, 19|128,62,
10315 OPC_RecordChild1,
10316 OPC_RecordChild2,
10317 OPC_CheckPatternPredicate0,
10318 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_H),
10319 MVT::v8i16, 2, 0, 1,
10320 13,
10321 OPC_CheckChild0Integer, 20|128,62,
10322 OPC_RecordChild1,
10323 OPC_RecordChild2,
10324 OPC_CheckPatternPredicate0,
10325 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_W),
10326 MVT::v4i32, 2, 0, 1,
10327 13,
10328 OPC_CheckChild0Integer, 18|128,62,
10329 OPC_RecordChild1,
10330 OPC_RecordChild2,
10331 OPC_CheckPatternPredicate0,
10332 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_D),
10333 MVT::v2i64, 2, 0, 1,
10334 13,
10335 OPC_CheckChild0Integer, 40|128,62,
10336 OPC_RecordChild1,
10337 OPC_RecordChild2,
10338 OPC_CheckPatternPredicate0,
10339 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_B),
10340 MVT::v16i8, 2, 0, 1,
10341 13,
10342 OPC_CheckChild0Integer, 42|128,62,
10343 OPC_RecordChild1,
10344 OPC_RecordChild2,
10345 OPC_CheckPatternPredicate0,
10346 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_H),
10347 MVT::v8i16, 2, 0, 1,
10348 13,
10349 OPC_CheckChild0Integer, 43|128,62,
10350 OPC_RecordChild1,
10351 OPC_RecordChild2,
10352 OPC_CheckPatternPredicate0,
10353 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_W),
10354 MVT::v4i32, 2, 0, 1,
10355 13,
10356 OPC_CheckChild0Integer, 41|128,62,
10357 OPC_RecordChild1,
10358 OPC_RecordChild2,
10359 OPC_CheckPatternPredicate0,
10360 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_D),
10361 MVT::v2i64, 2, 0, 1,
10362 13,
10363 OPC_CheckChild0Integer, 44|128,62,
10364 OPC_RecordChild1,
10365 OPC_RecordChild2,
10366 OPC_CheckPatternPredicate0,
10367 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_B),
10368 MVT::v16i8, 2, 0, 1,
10369 13,
10370 OPC_CheckChild0Integer, 46|128,62,
10371 OPC_RecordChild1,
10372 OPC_RecordChild2,
10373 OPC_CheckPatternPredicate0,
10374 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_H),
10375 MVT::v8i16, 2, 0, 1,
10376 13,
10377 OPC_CheckChild0Integer, 47|128,62,
10378 OPC_RecordChild1,
10379 OPC_RecordChild2,
10380 OPC_CheckPatternPredicate0,
10381 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_W),
10382 MVT::v4i32, 2, 0, 1,
10383 13,
10384 OPC_CheckChild0Integer, 45|128,62,
10385 OPC_RecordChild1,
10386 OPC_RecordChild2,
10387 OPC_CheckPatternPredicate0,
10388 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_D),
10389 MVT::v2i64, 2, 0, 1,
10390 13,
10391 OPC_CheckChild0Integer, 48|128,62,
10392 OPC_RecordChild1,
10393 OPC_RecordChild2,
10394 OPC_CheckPatternPredicate0,
10395 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_B),
10396 MVT::v16i8, 2, 0, 1,
10397 13,
10398 OPC_CheckChild0Integer, 50|128,62,
10399 OPC_RecordChild1,
10400 OPC_RecordChild2,
10401 OPC_CheckPatternPredicate0,
10402 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_H),
10403 MVT::v8i16, 2, 0, 1,
10404 13,
10405 OPC_CheckChild0Integer, 51|128,62,
10406 OPC_RecordChild1,
10407 OPC_RecordChild2,
10408 OPC_CheckPatternPredicate0,
10409 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_W),
10410 MVT::v4i32, 2, 0, 1,
10411 13,
10412 OPC_CheckChild0Integer, 49|128,62,
10413 OPC_RecordChild1,
10414 OPC_RecordChild2,
10415 OPC_CheckPatternPredicate0,
10416 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_D),
10417 MVT::v2i64, 2, 0, 1,
10418 13,
10419 OPC_CheckChild0Integer, 52|128,62,
10420 OPC_RecordChild1,
10421 OPC_RecordChild2,
10422 OPC_CheckPatternPredicate0,
10423 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_B),
10424 MVT::v16i8, 2, 0, 1,
10425 13,
10426 OPC_CheckChild0Integer, 54|128,62,
10427 OPC_RecordChild1,
10428 OPC_RecordChild2,
10429 OPC_CheckPatternPredicate0,
10430 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_H),
10431 MVT::v8i16, 2, 0, 1,
10432 13,
10433 OPC_CheckChild0Integer, 55|128,62,
10434 OPC_RecordChild1,
10435 OPC_RecordChild2,
10436 OPC_CheckPatternPredicate0,
10437 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_W),
10438 MVT::v4i32, 2, 0, 1,
10439 13,
10440 OPC_CheckChild0Integer, 53|128,62,
10441 OPC_RecordChild1,
10442 OPC_RecordChild2,
10443 OPC_CheckPatternPredicate0,
10444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_D),
10445 MVT::v2i64, 2, 0, 1,
10446 13,
10447 OPC_CheckChild0Integer, 56|128,62,
10448 OPC_RecordChild1,
10449 OPC_RecordChild2,
10450 OPC_CheckPatternPredicate0,
10451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_B),
10452 MVT::v16i8, 2, 0, 1,
10453 13,
10454 OPC_CheckChild0Integer, 58|128,62,
10455 OPC_RecordChild1,
10456 OPC_RecordChild2,
10457 OPC_CheckPatternPredicate0,
10458 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_H),
10459 MVT::v8i16, 2, 0, 1,
10460 13,
10461 OPC_CheckChild0Integer, 59|128,62,
10462 OPC_RecordChild1,
10463 OPC_RecordChild2,
10464 OPC_CheckPatternPredicate0,
10465 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_W),
10466 MVT::v4i32, 2, 0, 1,
10467 13,
10468 OPC_CheckChild0Integer, 57|128,62,
10469 OPC_RecordChild1,
10470 OPC_RecordChild2,
10471 OPC_CheckPatternPredicate0,
10472 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_D),
10473 MVT::v2i64, 2, 0, 1,
10474 13,
10475 OPC_CheckChild0Integer, 60|128,62,
10476 OPC_RecordChild1,
10477 OPC_RecordChild2,
10478 OPC_CheckPatternPredicate0,
10479 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_B),
10480 MVT::v16i8, 2, 0, 1,
10481 13,
10482 OPC_CheckChild0Integer, 62|128,62,
10483 OPC_RecordChild1,
10484 OPC_RecordChild2,
10485 OPC_CheckPatternPredicate0,
10486 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_H),
10487 MVT::v8i16, 2, 0, 1,
10488 13,
10489 OPC_CheckChild0Integer, 63|128,62,
10490 OPC_RecordChild1,
10491 OPC_RecordChild2,
10492 OPC_CheckPatternPredicate0,
10493 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_W),
10494 MVT::v4i32, 2, 0, 1,
10495 13,
10496 OPC_CheckChild0Integer, 61|128,62,
10497 OPC_RecordChild1,
10498 OPC_RecordChild2,
10499 OPC_CheckPatternPredicate0,
10500 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_D),
10501 MVT::v2i64, 2, 0, 1,
10502 15,
10503 OPC_CheckChild0Integer, 73|128,62,
10504 OPC_RecordChild1,
10505 OPC_RecordChild2,
10506 OPC_RecordChild3,
10507 OPC_CheckPatternPredicate0,
10508 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_B),
10509 MVT::v16i8, 3, 0, 1, 2,
10510 15,
10511 OPC_CheckChild0Integer, 75|128,62,
10512 OPC_RecordChild1,
10513 OPC_RecordChild2,
10514 OPC_RecordChild3,
10515 OPC_CheckPatternPredicate0,
10516 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_H),
10517 MVT::v8i16, 3, 0, 1, 2,
10518 15,
10519 OPC_CheckChild0Integer, 76|128,62,
10520 OPC_RecordChild1,
10521 OPC_RecordChild2,
10522 OPC_RecordChild3,
10523 OPC_CheckPatternPredicate0,
10524 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_W),
10525 MVT::v4i32, 3, 0, 1, 2,
10526 15,
10527 OPC_CheckChild0Integer, 74|128,62,
10528 OPC_RecordChild1,
10529 OPC_RecordChild2,
10530 OPC_RecordChild3,
10531 OPC_CheckPatternPredicate0,
10532 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_D),
10533 MVT::v2i64, 3, 0, 1, 2,
10534 15,
10535 OPC_CheckChild0Integer, 81|128,62,
10536 OPC_RecordChild1,
10537 OPC_RecordChild2,
10538 OPC_RecordChild3,
10539 OPC_CheckPatternPredicate0,
10540 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_B),
10541 MVT::v16i8, 3, 0, 1, 2,
10542 15,
10543 OPC_CheckChild0Integer, 83|128,62,
10544 OPC_RecordChild1,
10545 OPC_RecordChild2,
10546 OPC_RecordChild3,
10547 OPC_CheckPatternPredicate0,
10548 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_H),
10549 MVT::v8i16, 3, 0, 1, 2,
10550 15,
10551 OPC_CheckChild0Integer, 84|128,62,
10552 OPC_RecordChild1,
10553 OPC_RecordChild2,
10554 OPC_RecordChild3,
10555 OPC_CheckPatternPredicate0,
10556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_W),
10557 MVT::v4i32, 3, 0, 1, 2,
10558 15,
10559 OPC_CheckChild0Integer, 82|128,62,
10560 OPC_RecordChild1,
10561 OPC_RecordChild2,
10562 OPC_RecordChild3,
10563 OPC_CheckPatternPredicate0,
10564 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_D),
10565 MVT::v2i64, 3, 0, 1, 2,
10566 13,
10567 OPC_CheckChild0Integer, 67|128,63,
10568 OPC_RecordChild1,
10569 OPC_RecordChild2,
10570 OPC_CheckPatternPredicate0,
10571 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_H),
10572 MVT::v8i16, 2, 0, 1,
10573 13,
10574 OPC_CheckChild0Integer, 68|128,63,
10575 OPC_RecordChild1,
10576 OPC_RecordChild2,
10577 OPC_CheckPatternPredicate0,
10578 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_W),
10579 MVT::v4i32, 2, 0, 1,
10580 13,
10581 OPC_CheckChild0Integer, 66|128,63,
10582 OPC_RecordChild1,
10583 OPC_RecordChild2,
10584 OPC_CheckPatternPredicate0,
10585 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_D),
10586 MVT::v2i64, 2, 0, 1,
10587 13,
10588 OPC_CheckChild0Integer, 70|128,63,
10589 OPC_RecordChild1,
10590 OPC_RecordChild2,
10591 OPC_CheckPatternPredicate0,
10592 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_H),
10593 MVT::v8i16, 2, 0, 1,
10594 13,
10595 OPC_CheckChild0Integer, 71|128,63,
10596 OPC_RecordChild1,
10597 OPC_RecordChild2,
10598 OPC_CheckPatternPredicate0,
10599 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_W),
10600 MVT::v4i32, 2, 0, 1,
10601 13,
10602 OPC_CheckChild0Integer, 69|128,63,
10603 OPC_RecordChild1,
10604 OPC_RecordChild2,
10605 OPC_CheckPatternPredicate0,
10606 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_D),
10607 MVT::v2i64, 2, 0, 1,
10608 15,
10609 OPC_CheckChild0Integer, 74|128,63,
10610 OPC_RecordChild1,
10611 OPC_RecordChild2,
10612 OPC_RecordChild3,
10613 OPC_CheckPatternPredicate0,
10614 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_H),
10615 MVT::v8i16, 3, 0, 1, 2,
10616 15,
10617 OPC_CheckChild0Integer, 75|128,63,
10618 OPC_RecordChild1,
10619 OPC_RecordChild2,
10620 OPC_RecordChild3,
10621 OPC_CheckPatternPredicate0,
10622 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_W),
10623 MVT::v4i32, 3, 0, 1, 2,
10624 15,
10625 OPC_CheckChild0Integer, 73|128,63,
10626 OPC_RecordChild1,
10627 OPC_RecordChild2,
10628 OPC_RecordChild3,
10629 OPC_CheckPatternPredicate0,
10630 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_D),
10631 MVT::v2i64, 3, 0, 1, 2,
10632 15,
10633 OPC_CheckChild0Integer, 77|128,63,
10634 OPC_RecordChild1,
10635 OPC_RecordChild2,
10636 OPC_RecordChild3,
10637 OPC_CheckPatternPredicate0,
10638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_H),
10639 MVT::v8i16, 3, 0, 1, 2,
10640 15,
10641 OPC_CheckChild0Integer, 78|128,63,
10642 OPC_RecordChild1,
10643 OPC_RecordChild2,
10644 OPC_RecordChild3,
10645 OPC_CheckPatternPredicate0,
10646 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_W),
10647 MVT::v4i32, 3, 0, 1, 2,
10648 15,
10649 OPC_CheckChild0Integer, 76|128,63,
10650 OPC_RecordChild1,
10651 OPC_RecordChild2,
10652 OPC_RecordChild3,
10653 OPC_CheckPatternPredicate0,
10654 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_D),
10655 MVT::v2i64, 3, 0, 1, 2,
10656 15,
10657 OPC_CheckChild0Integer, 94|128,63,
10658 OPC_RecordChild1,
10659 OPC_RecordChild2,
10660 OPC_RecordChild3,
10661 OPC_CheckPatternPredicate0,
10662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_H),
10663 MVT::v8i16, 3, 0, 1, 2,
10664 15,
10665 OPC_CheckChild0Integer, 95|128,63,
10666 OPC_RecordChild1,
10667 OPC_RecordChild2,
10668 OPC_RecordChild3,
10669 OPC_CheckPatternPredicate0,
10670 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_W),
10671 MVT::v4i32, 3, 0, 1, 2,
10672 15,
10673 OPC_CheckChild0Integer, 93|128,63,
10674 OPC_RecordChild1,
10675 OPC_RecordChild2,
10676 OPC_RecordChild3,
10677 OPC_CheckPatternPredicate0,
10678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_D),
10679 MVT::v2i64, 3, 0, 1, 2,
10680 15,
10681 OPC_CheckChild0Integer, 97|128,63,
10682 OPC_RecordChild1,
10683 OPC_RecordChild2,
10684 OPC_RecordChild3,
10685 OPC_CheckPatternPredicate0,
10686 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_H),
10687 MVT::v8i16, 3, 0, 1, 2,
10688 15,
10689 OPC_CheckChild0Integer, 98|128,63,
10690 OPC_RecordChild1,
10691 OPC_RecordChild2,
10692 OPC_RecordChild3,
10693 OPC_CheckPatternPredicate0,
10694 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_W),
10695 MVT::v4i32, 3, 0, 1, 2,
10696 15,
10697 OPC_CheckChild0Integer, 96|128,63,
10698 OPC_RecordChild1,
10699 OPC_RecordChild2,
10700 OPC_RecordChild3,
10701 OPC_CheckPatternPredicate0,
10702 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_D),
10703 MVT::v2i64, 3, 0, 1, 2,
10704 13,
10705 OPC_CheckChild0Integer, 109|128,63,
10706 OPC_RecordChild1,
10707 OPC_RecordChild2,
10708 OPC_CheckPatternPredicate0,
10709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_W),
10710 MVT::v4i32, 2, 0, 1,
10711 13,
10712 OPC_CheckChild0Integer, 108|128,63,
10713 OPC_RecordChild1,
10714 OPC_RecordChild2,
10715 OPC_CheckPatternPredicate0,
10716 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_D),
10717 MVT::v2i64, 2, 0, 1,
10718 11,
10719 OPC_CheckChild0Integer, 113|128,63,
10720 OPC_RecordChild1,
10721 OPC_CheckPatternPredicate0,
10722 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_W),
10723 MVT::v4i32, 1, 0,
10724 11,
10725 OPC_CheckChild0Integer, 112|128,63,
10726 OPC_RecordChild1,
10727 OPC_CheckPatternPredicate0,
10728 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_D),
10729 MVT::v2i64, 1, 0,
10730 14,
10731 OPC_CheckChild0Integer, 49|128,64|128,0,
10732 OPC_RecordChild1,
10733 OPC_RecordChild2,
10734 OPC_CheckPatternPredicate0,
10735 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_W),
10736 MVT::v4i32, 2, 0, 1,
10737 14,
10738 OPC_CheckChild0Integer, 48|128,64|128,0,
10739 OPC_RecordChild1,
10740 OPC_RecordChild2,
10741 OPC_CheckPatternPredicate0,
10742 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_D),
10743 MVT::v2i64, 2, 0, 1,
10744 14,
10745 OPC_CheckChild0Integer, 51|128,64|128,0,
10746 OPC_RecordChild1,
10747 OPC_RecordChild2,
10748 OPC_CheckPatternPredicate0,
10749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_W),
10750 MVT::v4i32, 2, 0, 1,
10751 14,
10752 OPC_CheckChild0Integer, 50|128,64|128,0,
10753 OPC_RecordChild1,
10754 OPC_RecordChild2,
10755 OPC_CheckPatternPredicate0,
10756 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_D),
10757 MVT::v2i64, 2, 0, 1,
10758 14,
10759 OPC_CheckChild0Integer, 53|128,64|128,0,
10760 OPC_RecordChild1,
10761 OPC_RecordChild2,
10762 OPC_CheckPatternPredicate0,
10763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_W),
10764 MVT::v4i32, 2, 0, 1,
10765 14,
10766 OPC_CheckChild0Integer, 52|128,64|128,0,
10767 OPC_RecordChild1,
10768 OPC_RecordChild2,
10769 OPC_CheckPatternPredicate0,
10770 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_D),
10771 MVT::v2i64, 2, 0, 1,
10772 14,
10773 OPC_CheckChild0Integer, 55|128,64|128,0,
10774 OPC_RecordChild1,
10775 OPC_RecordChild2,
10776 OPC_CheckPatternPredicate0,
10777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_W),
10778 MVT::v4i32, 2, 0, 1,
10779 14,
10780 OPC_CheckChild0Integer, 54|128,64|128,0,
10781 OPC_RecordChild1,
10782 OPC_RecordChild2,
10783 OPC_CheckPatternPredicate0,
10784 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_D),
10785 MVT::v2i64, 2, 0, 1,
10786 14,
10787 OPC_CheckChild0Integer, 57|128,64|128,0,
10788 OPC_RecordChild1,
10789 OPC_RecordChild2,
10790 OPC_CheckPatternPredicate0,
10791 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_W),
10792 MVT::v4i32, 2, 0, 1,
10793 14,
10794 OPC_CheckChild0Integer, 56|128,64|128,0,
10795 OPC_RecordChild1,
10796 OPC_RecordChild2,
10797 OPC_CheckPatternPredicate0,
10798 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_D),
10799 MVT::v2i64, 2, 0, 1,
10800 14,
10801 OPC_CheckChild0Integer, 59|128,64|128,0,
10802 OPC_RecordChild1,
10803 OPC_RecordChild2,
10804 OPC_CheckPatternPredicate0,
10805 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_W),
10806 MVT::v4i32, 2, 0, 1,
10807 14,
10808 OPC_CheckChild0Integer, 58|128,64|128,0,
10809 OPC_RecordChild1,
10810 OPC_RecordChild2,
10811 OPC_CheckPatternPredicate0,
10812 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_D),
10813 MVT::v2i64, 2, 0, 1,
10814 14,
10815 OPC_CheckChild0Integer, 65|128,64|128,0,
10816 OPC_RecordChild1,
10817 OPC_RecordChild2,
10818 OPC_CheckPatternPredicate0,
10819 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_W),
10820 MVT::v4i32, 2, 0, 1,
10821 14,
10822 OPC_CheckChild0Integer, 64|128,64|128,0,
10823 OPC_RecordChild1,
10824 OPC_RecordChild2,
10825 OPC_CheckPatternPredicate0,
10826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_D),
10827 MVT::v2i64, 2, 0, 1,
10828 14,
10829 OPC_CheckChild0Integer, 67|128,64|128,0,
10830 OPC_RecordChild1,
10831 OPC_RecordChild2,
10832 OPC_CheckPatternPredicate0,
10833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_W),
10834 MVT::v4i32, 2, 0, 1,
10835 14,
10836 OPC_CheckChild0Integer, 66|128,64|128,0,
10837 OPC_RecordChild1,
10838 OPC_RecordChild2,
10839 OPC_CheckPatternPredicate0,
10840 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_D),
10841 MVT::v2i64, 2, 0, 1,
10842 14,
10843 OPC_CheckChild0Integer, 69|128,64|128,0,
10844 OPC_RecordChild1,
10845 OPC_RecordChild2,
10846 OPC_CheckPatternPredicate0,
10847 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_W),
10848 MVT::v4i32, 2, 0, 1,
10849 14,
10850 OPC_CheckChild0Integer, 68|128,64|128,0,
10851 OPC_RecordChild1,
10852 OPC_RecordChild2,
10853 OPC_CheckPatternPredicate0,
10854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_D),
10855 MVT::v2i64, 2, 0, 1,
10856 14,
10857 OPC_CheckChild0Integer, 71|128,64|128,0,
10858 OPC_RecordChild1,
10859 OPC_RecordChild2,
10860 OPC_CheckPatternPredicate0,
10861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_W),
10862 MVT::v4i32, 2, 0, 1,
10863 14,
10864 OPC_CheckChild0Integer, 70|128,64|128,0,
10865 OPC_RecordChild1,
10866 OPC_RecordChild2,
10867 OPC_CheckPatternPredicate0,
10868 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_D),
10869 MVT::v2i64, 2, 0, 1,
10870 14,
10871 OPC_CheckChild0Integer, 73|128,64|128,0,
10872 OPC_RecordChild1,
10873 OPC_RecordChild2,
10874 OPC_CheckPatternPredicate0,
10875 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_W),
10876 MVT::v4i32, 2, 0, 1,
10877 14,
10878 OPC_CheckChild0Integer, 72|128,64|128,0,
10879 OPC_RecordChild1,
10880 OPC_RecordChild2,
10881 OPC_CheckPatternPredicate0,
10882 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_D),
10883 MVT::v2i64, 2, 0, 1,
10884 12,
10885 OPC_CheckChild0Integer, 75|128,64|128,0,
10886 OPC_RecordChild1,
10887 OPC_CheckPatternPredicate0,
10888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_W),
10889 MVT::v4i32, 1, 0,
10890 12,
10891 OPC_CheckChild0Integer, 74|128,64|128,0,
10892 OPC_RecordChild1,
10893 OPC_CheckPatternPredicate0,
10894 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_D),
10895 MVT::v2i64, 1, 0,
10896 12,
10897 OPC_CheckChild0Integer, 77|128,64|128,0,
10898 OPC_RecordChild1,
10899 OPC_CheckPatternPredicate0,
10900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_W),
10901 MVT::v4i32, 1, 0,
10902 12,
10903 OPC_CheckChild0Integer, 76|128,64|128,0,
10904 OPC_RecordChild1,
10905 OPC_CheckPatternPredicate0,
10906 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_D),
10907 MVT::v2i64, 1, 0,
10908 14,
10909 OPC_CheckChild0Integer, 78|128,64|128,0,
10910 OPC_RecordChild1,
10911 OPC_RecordChild2,
10912 OPC_CheckPatternPredicate0,
10913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_H),
10914 MVT::v8i16, 2, 0, 1,
10915 14,
10916 OPC_CheckChild0Integer, 79|128,64|128,0,
10917 OPC_RecordChild1,
10918 OPC_RecordChild2,
10919 OPC_CheckPatternPredicate0,
10920 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_W),
10921 MVT::v4i32, 2, 0, 1,
10922 14,
10923 OPC_CheckChild0Integer, 85|128,64|128,0,
10924 OPC_RecordChild1,
10925 OPC_RecordChild2,
10926 OPC_CheckPatternPredicate0,
10927 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_H),
10928 MVT::v8i16, 2, 0, 1,
10929 14,
10930 OPC_CheckChild0Integer, 86|128,64|128,0,
10931 OPC_RecordChild1,
10932 OPC_RecordChild2,
10933 OPC_CheckPatternPredicate0,
10934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_W),
10935 MVT::v4i32, 2, 0, 1,
10936 14,
10937 OPC_CheckChild0Integer, 84|128,64|128,0,
10938 OPC_RecordChild1,
10939 OPC_RecordChild2,
10940 OPC_CheckPatternPredicate0,
10941 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_D),
10942 MVT::v2i64, 2, 0, 1,
10943 14,
10944 OPC_CheckChild0Integer, 88|128,64|128,0,
10945 OPC_RecordChild1,
10946 OPC_RecordChild2,
10947 OPC_CheckPatternPredicate0,
10948 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_H),
10949 MVT::v8i16, 2, 0, 1,
10950 14,
10951 OPC_CheckChild0Integer, 89|128,64|128,0,
10952 OPC_RecordChild1,
10953 OPC_RecordChild2,
10954 OPC_CheckPatternPredicate0,
10955 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_W),
10956 MVT::v4i32, 2, 0, 1,
10957 14,
10958 OPC_CheckChild0Integer, 87|128,64|128,0,
10959 OPC_RecordChild1,
10960 OPC_RecordChild2,
10961 OPC_CheckPatternPredicate0,
10962 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_D),
10963 MVT::v2i64, 2, 0, 1,
10964 14,
10965 OPC_CheckChild0Integer, 91|128,64|128,0,
10966 OPC_RecordChild1,
10967 OPC_RecordChild2,
10968 OPC_CheckPatternPredicate0,
10969 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_H),
10970 MVT::v8i16, 2, 0, 1,
10971 14,
10972 OPC_CheckChild0Integer, 92|128,64|128,0,
10973 OPC_RecordChild1,
10974 OPC_RecordChild2,
10975 OPC_CheckPatternPredicate0,
10976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_W),
10977 MVT::v4i32, 2, 0, 1,
10978 14,
10979 OPC_CheckChild0Integer, 90|128,64|128,0,
10980 OPC_RecordChild1,
10981 OPC_RecordChild2,
10982 OPC_CheckPatternPredicate0,
10983 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_D),
10984 MVT::v2i64, 2, 0, 1,
10985 14,
10986 OPC_CheckChild0Integer, 94|128,64|128,0,
10987 OPC_RecordChild1,
10988 OPC_RecordChild2,
10989 OPC_CheckPatternPredicate0,
10990 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_H),
10991 MVT::v8i16, 2, 0, 1,
10992 14,
10993 OPC_CheckChild0Integer, 95|128,64|128,0,
10994 OPC_RecordChild1,
10995 OPC_RecordChild2,
10996 OPC_CheckPatternPredicate0,
10997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_W),
10998 MVT::v4i32, 2, 0, 1,
10999 14,
11000 OPC_CheckChild0Integer, 93|128,64|128,0,
11001 OPC_RecordChild1,
11002 OPC_RecordChild2,
11003 OPC_CheckPatternPredicate0,
11004 OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_D),
11005 MVT::v2i64, 2, 0, 1,
11006 16,
11007 OPC_CheckChild0Integer, 8|128,65|128,0,
11008 OPC_RecordChild1,
11009 OPC_RecordChild2,
11010 OPC_RecordChild3,
11011 OPC_CheckPatternPredicate0,
11012 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_H),
11013 MVT::v8i16, 3, 0, 1, 2,
11014 16,
11015 OPC_CheckChild0Integer, 9|128,65|128,0,
11016 OPC_RecordChild1,
11017 OPC_RecordChild2,
11018 OPC_RecordChild3,
11019 OPC_CheckPatternPredicate0,
11020 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_W),
11021 MVT::v4i32, 3, 0, 1, 2,
11022 16,
11023 OPC_CheckChild0Integer, 10|128,65|128,0,
11024 OPC_RecordChild1,
11025 OPC_RecordChild2,
11026 OPC_RecordChild3,
11027 OPC_CheckPatternPredicate0,
11028 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_H),
11029 MVT::v8i16, 3, 0, 1, 2,
11030 16,
11031 OPC_CheckChild0Integer, 11|128,65|128,0,
11032 OPC_RecordChild1,
11033 OPC_RecordChild2,
11034 OPC_RecordChild3,
11035 OPC_CheckPatternPredicate0,
11036 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_W),
11037 MVT::v4i32, 3, 0, 1, 2,
11038 14,
11039 OPC_CheckChild0Integer, 21|128,65|128,0,
11040 OPC_RecordChild1,
11041 OPC_RecordChild2,
11042 OPC_CheckPatternPredicate0,
11043 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_B),
11044 MVT::v16i8, 2, 0, 1,
11045 14,
11046 OPC_CheckChild0Integer, 23|128,65|128,0,
11047 OPC_RecordChild1,
11048 OPC_RecordChild2,
11049 OPC_CheckPatternPredicate0,
11050 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_H),
11051 MVT::v8i16, 2, 0, 1,
11052 14,
11053 OPC_CheckChild0Integer, 24|128,65|128,0,
11054 OPC_RecordChild1,
11055 OPC_RecordChild2,
11056 OPC_CheckPatternPredicate0,
11057 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_W),
11058 MVT::v4i32, 2, 0, 1,
11059 14,
11060 OPC_CheckChild0Integer, 22|128,65|128,0,
11061 OPC_RecordChild1,
11062 OPC_RecordChild2,
11063 OPC_CheckPatternPredicate0,
11064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_D),
11065 MVT::v2i64, 2, 0, 1,
11066 14,
11067 OPC_CheckChild0Integer, 41|128,65|128,0,
11068 OPC_RecordChild1,
11069 OPC_RecordChild2,
11070 OPC_CheckPatternPredicate0,
11071 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_B),
11072 MVT::v16i8, 2, 0, 1,
11073 14,
11074 OPC_CheckChild0Integer, 43|128,65|128,0,
11075 OPC_RecordChild1,
11076 OPC_RecordChild2,
11077 OPC_CheckPatternPredicate0,
11078 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_H),
11079 MVT::v8i16, 2, 0, 1,
11080 14,
11081 OPC_CheckChild0Integer, 44|128,65|128,0,
11082 OPC_RecordChild1,
11083 OPC_RecordChild2,
11084 OPC_CheckPatternPredicate0,
11085 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_W),
11086 MVT::v4i32, 2, 0, 1,
11087 14,
11088 OPC_CheckChild0Integer, 42|128,65|128,0,
11089 OPC_RecordChild1,
11090 OPC_RecordChild2,
11091 OPC_CheckPatternPredicate0,
11092 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_D),
11093 MVT::v2i64, 2, 0, 1,
11094 16,
11095 OPC_CheckChild0Integer, 72|128,65|128,0,
11096 OPC_RecordChild1,
11097 OPC_RecordChild2,
11098 OPC_RecordChild3,
11099 OPC_CheckPatternPredicate0,
11100 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_H),
11101 MVT::v8i16, 3, 0, 1, 2,
11102 16,
11103 OPC_CheckChild0Integer, 73|128,65|128,0,
11104 OPC_RecordChild1,
11105 OPC_RecordChild2,
11106 OPC_RecordChild3,
11107 OPC_CheckPatternPredicate0,
11108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_W),
11109 MVT::v4i32, 3, 0, 1, 2,
11110 16,
11111 OPC_CheckChild0Integer, 74|128,65|128,0,
11112 OPC_RecordChild1,
11113 OPC_RecordChild2,
11114 OPC_RecordChild3,
11115 OPC_CheckPatternPredicate0,
11116 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_H),
11117 MVT::v8i16, 3, 0, 1, 2,
11118 16,
11119 OPC_CheckChild0Integer, 75|128,65|128,0,
11120 OPC_RecordChild1,
11121 OPC_RecordChild2,
11122 OPC_RecordChild3,
11123 OPC_CheckPatternPredicate0,
11124 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_W),
11125 MVT::v4i32, 3, 0, 1, 2,
11126 14,
11127 OPC_CheckChild0Integer, 83|128,65|128,0,
11128 OPC_RecordChild1,
11129 OPC_RecordChild2,
11130 OPC_CheckPatternPredicate0,
11131 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_H),
11132 MVT::v8i16, 2, 0, 1,
11133 14,
11134 OPC_CheckChild0Integer, 84|128,65|128,0,
11135 OPC_RecordChild1,
11136 OPC_RecordChild2,
11137 OPC_CheckPatternPredicate0,
11138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_W),
11139 MVT::v4i32, 2, 0, 1,
11140 14,
11141 OPC_CheckChild0Integer, 94|128,65|128,0,
11142 OPC_RecordChild1,
11143 OPC_RecordChild2,
11144 OPC_CheckPatternPredicate0,
11145 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_H),
11146 MVT::v8i16, 2, 0, 1,
11147 14,
11148 OPC_CheckChild0Integer, 95|128,65|128,0,
11149 OPC_RecordChild1,
11150 OPC_RecordChild2,
11151 OPC_CheckPatternPredicate0,
11152 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_W),
11153 MVT::v4i32, 2, 0, 1,
11154 12,
11155 OPC_CheckChild0Integer, 104|128,65|128,0,
11156 OPC_RecordChild1,
11157 OPC_CheckPatternPredicate0,
11158 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_B),
11159 MVT::v16i8, 1, 0,
11160 12,
11161 OPC_CheckChild0Integer, 106|128,65|128,0,
11162 OPC_RecordChild1,
11163 OPC_CheckPatternPredicate0,
11164 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_H),
11165 MVT::v8i16, 1, 0,
11166 12,
11167 OPC_CheckChild0Integer, 107|128,65|128,0,
11168 OPC_RecordChild1,
11169 OPC_CheckPatternPredicate0,
11170 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_W),
11171 MVT::v4i32, 1, 0,
11172 12,
11173 OPC_CheckChild0Integer, 105|128,65|128,0,
11174 OPC_RecordChild1,
11175 OPC_CheckPatternPredicate0,
11176 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_D),
11177 MVT::v2i64, 1, 0,
11178 16,
11179 OPC_CheckChild0Integer, 48|128,66|128,0,
11180 OPC_RecordChild1,
11181 OPC_RecordChild2,
11182 OPC_RecordChild3,
11183 OPC_CheckPatternPredicate0,
11184 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_B),
11185 MVT::v16i8, 3, 0, 1, 2,
11186 16,
11187 OPC_CheckChild0Integer, 50|128,66|128,0,
11188 OPC_RecordChild1,
11189 OPC_RecordChild2,
11190 OPC_RecordChild3,
11191 OPC_CheckPatternPredicate0,
11192 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_H),
11193 MVT::v8i16, 3, 0, 1, 2,
11194 16,
11195 OPC_CheckChild0Integer, 51|128,66|128,0,
11196 OPC_RecordChild1,
11197 OPC_RecordChild2,
11198 OPC_RecordChild3,
11199 OPC_CheckPatternPredicate0,
11200 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_W),
11201 MVT::v4i32, 3, 0, 1, 2,
11202 16,
11203 OPC_CheckChild0Integer, 49|128,66|128,0,
11204 OPC_RecordChild1,
11205 OPC_RecordChild2,
11206 OPC_RecordChild3,
11207 OPC_CheckPatternPredicate0,
11208 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_D),
11209 MVT::v2i64, 3, 0, 1, 2,
11210 14,
11211 OPC_CheckChild0Integer, 80|128,66|128,0,
11212 OPC_RecordChild1,
11213 OPC_RecordChild2,
11214 OPC_CheckPatternPredicate0,
11215 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_B),
11216 MVT::v16i8, 2, 0, 1,
11217 14,
11218 OPC_CheckChild0Integer, 82|128,66|128,0,
11219 OPC_RecordChild1,
11220 OPC_RecordChild2,
11221 OPC_CheckPatternPredicate0,
11222 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_H),
11223 MVT::v8i16, 2, 0, 1,
11224 14,
11225 OPC_CheckChild0Integer, 83|128,66|128,0,
11226 OPC_RecordChild1,
11227 OPC_RecordChild2,
11228 OPC_CheckPatternPredicate0,
11229 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_W),
11230 MVT::v4i32, 2, 0, 1,
11231 14,
11232 OPC_CheckChild0Integer, 81|128,66|128,0,
11233 OPC_RecordChild1,
11234 OPC_RecordChild2,
11235 OPC_CheckPatternPredicate0,
11236 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_D),
11237 MVT::v2i64, 2, 0, 1,
11238 14,
11239 OPC_CheckChild0Integer, 96|128,66|128,0,
11240 OPC_RecordChild1,
11241 OPC_RecordChild2,
11242 OPC_CheckPatternPredicate0,
11243 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_B),
11244 MVT::v16i8, 2, 0, 1,
11245 14,
11246 OPC_CheckChild0Integer, 98|128,66|128,0,
11247 OPC_RecordChild1,
11248 OPC_RecordChild2,
11249 OPC_CheckPatternPredicate0,
11250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_H),
11251 MVT::v8i16, 2, 0, 1,
11252 14,
11253 OPC_CheckChild0Integer, 99|128,66|128,0,
11254 OPC_RecordChild1,
11255 OPC_RecordChild2,
11256 OPC_CheckPatternPredicate0,
11257 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_W),
11258 MVT::v4i32, 2, 0, 1,
11259 14,
11260 OPC_CheckChild0Integer, 97|128,66|128,0,
11261 OPC_RecordChild1,
11262 OPC_RecordChild2,
11263 OPC_CheckPatternPredicate0,
11264 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_D),
11265 MVT::v2i64, 2, 0, 1,
11266 14,
11267 OPC_CheckChild0Integer, 117|128,66|128,0,
11268 OPC_RecordChild1,
11269 OPC_RecordChild2,
11270 OPC_CheckPatternPredicate0,
11271 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_B),
11272 MVT::v16i8, 2, 0, 1,
11273 14,
11274 OPC_CheckChild0Integer, 119|128,66|128,0,
11275 OPC_RecordChild1,
11276 OPC_RecordChild2,
11277 OPC_CheckPatternPredicate0,
11278 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_H),
11279 MVT::v8i16, 2, 0, 1,
11280 14,
11281 OPC_CheckChild0Integer, 120|128,66|128,0,
11282 OPC_RecordChild1,
11283 OPC_RecordChild2,
11284 OPC_CheckPatternPredicate0,
11285 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_W),
11286 MVT::v4i32, 2, 0, 1,
11287 14,
11288 OPC_CheckChild0Integer, 118|128,66|128,0,
11289 OPC_RecordChild1,
11290 OPC_RecordChild2,
11291 OPC_CheckPatternPredicate0,
11292 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_D),
11293 MVT::v2i64, 2, 0, 1,
11294 14,
11295 OPC_CheckChild0Integer, 121|128,66|128,0,
11296 OPC_RecordChild1,
11297 OPC_RecordChild2,
11298 OPC_CheckPatternPredicate0,
11299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_B),
11300 MVT::v16i8, 2, 0, 1,
11301 14,
11302 OPC_CheckChild0Integer, 123|128,66|128,0,
11303 OPC_RecordChild1,
11304 OPC_RecordChild2,
11305 OPC_CheckPatternPredicate0,
11306 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_H),
11307 MVT::v8i16, 2, 0, 1,
11308 14,
11309 OPC_CheckChild0Integer, 124|128,66|128,0,
11310 OPC_RecordChild1,
11311 OPC_RecordChild2,
11312 OPC_CheckPatternPredicate0,
11313 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_W),
11314 MVT::v4i32, 2, 0, 1,
11315 14,
11316 OPC_CheckChild0Integer, 122|128,66|128,0,
11317 OPC_RecordChild1,
11318 OPC_RecordChild2,
11319 OPC_CheckPatternPredicate0,
11320 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_D),
11321 MVT::v2i64, 2, 0, 1,
11322 14,
11323 OPC_CheckChild0Integer, 125|128,66|128,0,
11324 OPC_RecordChild1,
11325 OPC_RecordChild2,
11326 OPC_CheckPatternPredicate0,
11327 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_B),
11328 MVT::v16i8, 2, 0, 1,
11329 14,
11330 OPC_CheckChild0Integer, 127|128,66|128,0,
11331 OPC_RecordChild1,
11332 OPC_RecordChild2,
11333 OPC_CheckPatternPredicate0,
11334 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_H),
11335 MVT::v8i16, 2, 0, 1,
11336 14,
11337 OPC_CheckChild0Integer, 0|128,67|128,0,
11338 OPC_RecordChild1,
11339 OPC_RecordChild2,
11340 OPC_CheckPatternPredicate0,
11341 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_W),
11342 MVT::v4i32, 2, 0, 1,
11343 14,
11344 OPC_CheckChild0Integer, 126|128,66|128,0,
11345 OPC_RecordChild1,
11346 OPC_RecordChild2,
11347 OPC_CheckPatternPredicate0,
11348 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_D),
11349 MVT::v2i64, 2, 0, 1,
11350 14,
11351 OPC_CheckChild0Integer, 1|128,67|128,0,
11352 OPC_RecordChild1,
11353 OPC_RecordChild2,
11354 OPC_CheckPatternPredicate0,
11355 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_B),
11356 MVT::v16i8, 2, 0, 1,
11357 14,
11358 OPC_CheckChild0Integer, 3|128,67|128,0,
11359 OPC_RecordChild1,
11360 OPC_RecordChild2,
11361 OPC_CheckPatternPredicate0,
11362 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_H),
11363 MVT::v8i16, 2, 0, 1,
11364 14,
11365 OPC_CheckChild0Integer, 4|128,67|128,0,
11366 OPC_RecordChild1,
11367 OPC_RecordChild2,
11368 OPC_CheckPatternPredicate0,
11369 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_W),
11370 MVT::v4i32, 2, 0, 1,
11371 14,
11372 OPC_CheckChild0Integer, 2|128,67|128,0,
11373 OPC_RecordChild1,
11374 OPC_RecordChild2,
11375 OPC_CheckPatternPredicate0,
11376 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_D),
11377 MVT::v2i64, 2, 0, 1,
11378 14,
11379 OPC_CheckChild0Integer, 6|128,64|128,0,
11380 OPC_RecordChild1,
11381 OPC_RecordChild2,
11382 OPC_CheckPatternPredicate0,
11383 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_H),
11384 MVT::v8f16, 2, 0, 1,
11385 15,
11386 OPC_CheckChild0Integer, 7|128,64|128,0,
11387 OPC_RecordChild1,
11388 OPC_RecordChild2,
11389 OPC_CheckPatternPredicate0,
11390 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_W),
11391 6|128,1, 2, 0, 1,
11392 13,
11393 OPC_CheckChild0Integer, 11|128,64|128,0,
11394 OPC_RecordChild1,
11395 OPC_CheckPatternPredicate0,
11396 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_W),
11397 6|128,1, 1, 0,
11398 13,
11399 OPC_CheckChild0Integer, 10|128,64|128,0,
11400 OPC_RecordChild1,
11401 OPC_CheckPatternPredicate0,
11402 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_D),
11403 24|128,1, 1, 0,
11404 13,
11405 OPC_CheckChild0Integer, 13|128,64|128,0,
11406 OPC_RecordChild1,
11407 OPC_CheckPatternPredicate0,
11408 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_W),
11409 6|128,1, 1, 0,
11410 13,
11411 OPC_CheckChild0Integer, 12|128,64|128,0,
11412 OPC_RecordChild1,
11413 OPC_CheckPatternPredicate0,
11414 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_D),
11415 24|128,1, 1, 0,
11416 13,
11417 OPC_CheckChild0Integer, 19|128,64|128,0,
11418 OPC_RecordChild1,
11419 OPC_CheckPatternPredicate0,
11420 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_W),
11421 6|128,1, 1, 0,
11422 13,
11423 OPC_CheckChild0Integer, 18|128,64|128,0,
11424 OPC_RecordChild1,
11425 OPC_CheckPatternPredicate0,
11426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_D),
11427 24|128,1, 1, 0,
11428 13,
11429 OPC_CheckChild0Integer, 21|128,64|128,0,
11430 OPC_RecordChild1,
11431 OPC_CheckPatternPredicate0,
11432 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_W),
11433 6|128,1, 1, 0,
11434 13,
11435 OPC_CheckChild0Integer, 20|128,64|128,0,
11436 OPC_RecordChild1,
11437 OPC_CheckPatternPredicate0,
11438 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_D),
11439 24|128,1, 1, 0,
11440 15,
11441 OPC_CheckChild0Integer, 33|128,64|128,0,
11442 OPC_RecordChild1,
11443 OPC_RecordChild2,
11444 OPC_CheckPatternPredicate0,
11445 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_W),
11446 6|128,1, 2, 0, 1,
11447 15,
11448 OPC_CheckChild0Integer, 32|128,64|128,0,
11449 OPC_RecordChild1,
11450 OPC_RecordChild2,
11451 OPC_CheckPatternPredicate0,
11452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_D),
11453 24|128,1, 2, 0, 1,
11454 15,
11455 OPC_CheckChild0Integer, 31|128,64|128,0,
11456 OPC_RecordChild1,
11457 OPC_RecordChild2,
11458 OPC_CheckPatternPredicate0,
11459 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_W),
11460 6|128,1, 2, 0, 1,
11461 15,
11462 OPC_CheckChild0Integer, 30|128,64|128,0,
11463 OPC_RecordChild1,
11464 OPC_RecordChild2,
11465 OPC_CheckPatternPredicate0,
11466 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_D),
11467 24|128,1, 2, 0, 1,
11468 15,
11469 OPC_CheckChild0Integer, 37|128,64|128,0,
11470 OPC_RecordChild1,
11471 OPC_RecordChild2,
11472 OPC_CheckPatternPredicate0,
11473 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_W),
11474 6|128,1, 2, 0, 1,
11475 15,
11476 OPC_CheckChild0Integer, 36|128,64|128,0,
11477 OPC_RecordChild1,
11478 OPC_RecordChild2,
11479 OPC_CheckPatternPredicate0,
11480 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_D),
11481 24|128,1, 2, 0, 1,
11482 15,
11483 OPC_CheckChild0Integer, 35|128,64|128,0,
11484 OPC_RecordChild1,
11485 OPC_RecordChild2,
11486 OPC_CheckPatternPredicate0,
11487 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_W),
11488 6|128,1, 2, 0, 1,
11489 15,
11490 OPC_CheckChild0Integer, 34|128,64|128,0,
11491 OPC_RecordChild1,
11492 OPC_RecordChild2,
11493 OPC_CheckPatternPredicate0,
11494 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_D),
11495 24|128,1, 2, 0, 1,
11496 13,
11497 OPC_CheckChild0Integer, 43|128,64|128,0,
11498 OPC_RecordChild1,
11499 OPC_CheckPatternPredicate0,
11500 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_W),
11501 6|128,1, 1, 0,
11502 13,
11503 OPC_CheckChild0Integer, 42|128,64|128,0,
11504 OPC_RecordChild1,
11505 OPC_CheckPatternPredicate0,
11506 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_D),
11507 24|128,1, 1, 0,
11508 13,
11509 OPC_CheckChild0Integer, 47|128,64|128,0,
11510 OPC_RecordChild1,
11511 OPC_CheckPatternPredicate0,
11512 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_W),
11513 6|128,1, 1, 0,
11514 13,
11515 OPC_CheckChild0Integer, 46|128,64|128,0,
11516 OPC_RecordChild1,
11517 OPC_CheckPatternPredicate0,
11518 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_D),
11519 24|128,1, 1, 0,
11520 0,
11521 105|128,1, TARGET_VAL(ISD::INTRINSIC_VOID),
11522 OPC_RecordNode,
11523 OPC_Scope, 37,
11524 OPC_CheckChild1Integer, 23|128,67|128,0,
11525 OPC_RecordChild2,
11526 OPC_RecordChild3,
11527 OPC_MoveChild3,
11528 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11529 OPC_Scope, 12,
11530 OPC_CheckPredicate, 44,
11531 OPC_MoveParent,
11532 OPC_CheckPatternPredicate, 113,
11533 OPC_EmitMergeInputChains1_0,
11534 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP),
11535 2, 1, 2,
11536 11,
11537 OPC_CheckPredicate, 45,
11538 OPC_MoveParent,
11539 OPC_CheckPatternPredicate6,
11540 OPC_EmitMergeInputChains1_0,
11541 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP_MM),
11542 2, 1, 2,
11543 0,
11544 25,
11545 OPC_CheckChild1Integer, 45|128,63,
11546 OPC_RecordChild2,
11547 OPC_RecordChild3,
11548 OPC_Scope, 8,
11549 OPC_CheckPatternPredicate1,
11550 OPC_EmitMergeInputChains1_0,
11551 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB),
11552 2, 1, 2,
11553 8,
11554 OPC_CheckPatternPredicate6,
11555 OPC_EmitMergeInputChains1_0,
11556 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB_MM),
11557 2, 1, 2,
11558 0,
11559 25,
11560 OPC_CheckChild1Integer, 47|128,63,
11561 OPC_RecordChild2,
11562 OPC_RecordChild3,
11563 OPC_Scope, 8,
11564 OPC_CheckPatternPredicate1,
11565 OPC_EmitMergeInputChains1_0,
11566 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB),
11567 2, 1, 2,
11568 8,
11569 OPC_CheckPatternPredicate6,
11570 OPC_EmitMergeInputChains1_0,
11571 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB_MM),
11572 2, 1, 2,
11573 0,
11574 25,
11575 OPC_CheckChild1Integer, 46|128,63,
11576 OPC_RecordChild2,
11577 OPC_RecordChild3,
11578 OPC_Scope, 8,
11579 OPC_CheckPatternPredicate1,
11580 OPC_EmitMergeInputChains1_0,
11581 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB),
11582 2, 1, 2,
11583 8,
11584 OPC_CheckPatternPredicate6,
11585 OPC_EmitMergeInputChains1_0,
11586 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB_MM),
11587 2, 1, 2,
11588 0,
11589 25,
11590 OPC_CheckChild1Integer, 36|128,63,
11591 OPC_RecordChild2,
11592 OPC_RecordChild3,
11593 OPC_Scope, 8,
11594 OPC_CheckPatternPredicate1,
11595 OPC_EmitMergeInputChains1_0,
11596 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH),
11597 2, 1, 2,
11598 8,
11599 OPC_CheckPatternPredicate6,
11600 OPC_EmitMergeInputChains1_0,
11601 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH_MM),
11602 2, 1, 2,
11603 0,
11604 25,
11605 OPC_CheckChild1Integer, 38|128,63,
11606 OPC_RecordChild2,
11607 OPC_RecordChild3,
11608 OPC_Scope, 8,
11609 OPC_CheckPatternPredicate1,
11610 OPC_EmitMergeInputChains1_0,
11611 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH),
11612 2, 1, 2,
11613 8,
11614 OPC_CheckPatternPredicate6,
11615 OPC_EmitMergeInputChains1_0,
11616 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH_MM),
11617 2, 1, 2,
11618 0,
11619 25,
11620 OPC_CheckChild1Integer, 37|128,63,
11621 OPC_RecordChild2,
11622 OPC_RecordChild3,
11623 OPC_Scope, 8,
11624 OPC_CheckPatternPredicate1,
11625 OPC_EmitMergeInputChains1_0,
11626 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH),
11627 2, 1, 2,
11628 8,
11629 OPC_CheckPatternPredicate6,
11630 OPC_EmitMergeInputChains1_0,
11631 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH_MM),
11632 2, 1, 2,
11633 0,
11634 17,
11635 OPC_CheckChild1Integer, 108|128,66|128,0,
11636 OPC_RecordChild2,
11637 OPC_RecordChild3,
11638 OPC_RecordChild4,
11639 OPC_CheckPatternPredicate, 11,
11640 OPC_EmitMergeInputChains1_0,
11641 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_D),
11642 3, 1, 2, 3,
11643 17,
11644 OPC_CheckChild1Integer, 109|128,66|128,0,
11645 OPC_RecordChild2,
11646 OPC_RecordChild3,
11647 OPC_RecordChild4,
11648 OPC_CheckPatternPredicate, 11,
11649 OPC_EmitMergeInputChains1_0,
11650 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_W),
11651 3, 1, 2, 3,
11652 0,
11653 29|128,14, TARGET_VAL(ISD::XOR),
11654 OPC_Scope, 54,
11655 OPC_MoveChild0,
11656 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
11657 OPC_RecordChild0,
11658 OPC_RecordChild1,
11659 OPC_MoveParent,
11660 OPC_CheckChild1Integer, 127,
11661 OPC_SwitchType , 30, MVT::i32,
11662 OPC_Scope, 8,
11663 OPC_CheckPatternPredicate2,
11664 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
11665 MVT::i32, 2, 0, 1,
11666 8,
11667 OPC_CheckPatternPredicate7,
11668 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
11669 MVT::i32, 2, 0, 1,
11670 9,
11671 OPC_CheckPatternPredicate, 8,
11672 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
11673 MVT::i32, 2, 0, 1,
11674 0,
11675 9, MVT::i64,
11676 OPC_CheckPatternPredicate, 18,
11677 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR64),
11678 MVT::i64, 2, 0, 1,
11679 0,
11680 110|128,3,
11681 OPC_RecordChild0,
11682 OPC_Scope, 84,
11683 OPC_CheckChild1Integer, 127,
11684 OPC_CheckTypeI32,
11685 OPC_Scope, 8,
11686 OPC_CheckPatternPredicate, 8,
11687 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
11688 MVT::i32, 1, 0,
11689 10,
11690 OPC_CheckPatternPredicate2,
11691 OPC_EmitRegisterI32, Mips::ZERO,
11692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
11693 MVT::i32, 2, 0, 1,
11694 7,
11695 OPC_CheckPatternPredicate5,
11696 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NotRxRy16),
11697 MVT::i32, 1, 0,
11698 7,
11699 OPC_CheckPatternPredicate7,
11700 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
11701 MVT::i32, 1, 0,
11702 20,
11703 OPC_CheckPatternPredicate4,
11704 OPC_Scope, 6,
11705 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
11706 MVT::i32, 1, 0,
11707 9,
11708 OPC_EmitRegisterI32, Mips::ZERO,
11709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
11710 MVT::i32, 2, 0, 1,
11711 0,
11712 21,
11713 OPC_CheckPatternPredicate, 8,
11714 OPC_Scope, 6,
11715 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
11716 MVT::i32, 1, 0,
11717 9,
11718 OPC_EmitRegisterI32, Mips::ZERO,
11719 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
11720 MVT::i32, 2, 0, 1,
11721 0,
11722 0,
11723 11|128,1,
11724 OPC_RecordChild1,
11725 OPC_Scope, 72,
11726 OPC_MoveChild1,
11727 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11728 OPC_Scope, 13,
11729 OPC_CheckPredicate, 33,
11730 OPC_MoveParent,
11731 OPC_CheckTypeI32,
11732 OPC_CheckPatternPredicate2,
11733 OPC_EmitConvertToTarget1,
11734 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
11735 MVT::i32, 2, 0, 2,
11736 51,
11737 OPC_CheckPredicate, 11,
11738 OPC_MoveParent,
11739 OPC_SwitchType , 13, MVT::i64,
11740 OPC_CheckPatternPredicate, 18,
11741 OPC_EmitConvertToTarget1,
11742 OPC_EmitNodeXForm, 3, 2,
11743 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi64),
11744 MVT::i64, 2, 0, 3,
11745 29, MVT::i32,
11746 OPC_Scope, 12,
11747 OPC_CheckPatternPredicate7,
11748 OPC_EmitConvertToTarget1,
11749 OPC_EmitNodeXForm, 3, 2,
11750 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
11751 MVT::i32, 2, 0, 3,
11752 13,
11753 OPC_CheckPatternPredicate, 8,
11754 OPC_EmitConvertToTarget1,
11755 OPC_EmitNodeXForm, 3, 2,
11756 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
11757 MVT::i32, 2, 0, 3,
11758 0,
11759 0,
11760 0,
11761 51,
11762 OPC_CheckTypeI32,
11763 OPC_Scope, 8,
11764 OPC_CheckPatternPredicate2,
11765 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR),
11766 MVT::i32, 2, 0, 1,
11767 8,
11768 OPC_CheckPatternPredicate5,
11769 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
11770 MVT::i32, 2, 0, 1,
11771 19,
11772 OPC_CheckPatternPredicate7,
11773 OPC_Scope, 7,
11774 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR16_MM),
11775 MVT::i32, 2, 0, 1,
11776 7,
11777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MM),
11778 MVT::i32, 2, 0, 1,
11779 0,
11780 9,
11781 OPC_CheckPatternPredicate, 8,
11782 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MMR6),
11783 MVT::i32, 2, 0, 1,
11784 0,
11785 10,
11786 OPC_CheckTypeI64,
11787 OPC_CheckPatternPredicate, 18,
11788 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR64),
11789 MVT::i64, 2, 0, 1,
11790 0,
11791 7|128,2,
11792 OPC_MoveChild1,
11793 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11794 OPC_RecordChild0,
11795 OPC_MoveChild1,
11796 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11797 OPC_Scope, 125,
11798 OPC_RecordChild0,
11799 OPC_MoveChild1,
11800 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11801 OPC_MoveChild0,
11802 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11803 OPC_CheckPredicate0,
11804 OPC_CheckTypeI32,
11805 OPC_MoveSibling1,
11806 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11807 OPC_CheckPredicate0,
11808 OPC_CheckTypeI32,
11809 OPC_MoveSibling2,
11810 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11811 OPC_CheckPredicate0,
11812 OPC_CheckTypeI32,
11813 OPC_MoveSibling3,
11814 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11815 OPC_CheckPredicate0,
11816 OPC_CheckTypeI32,
11817 OPC_MoveSibling4,
11818 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11819 OPC_CheckPredicate0,
11820 OPC_CheckTypeI32,
11821 OPC_MoveSibling5,
11822 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11823 OPC_CheckPredicate0,
11824 OPC_CheckTypeI32,
11825 OPC_MoveSibling6,
11826 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11827 OPC_CheckPredicate0,
11828 OPC_CheckTypeI32,
11829 OPC_MoveSibling7,
11830 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11831 OPC_CheckPredicate0,
11832 OPC_CheckTypeI32,
11833 OPC_MoveSibling, 8,
11834 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11835 OPC_CheckPredicate0,
11836 OPC_CheckTypeI32,
11837 OPC_MoveSibling, 9,
11838 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11839 OPC_CheckPredicate0,
11840 OPC_CheckTypeI32,
11841 OPC_MoveSibling, 10,
11842 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11843 OPC_CheckPredicate0,
11844 OPC_CheckTypeI32,
11845 OPC_MoveSibling, 11,
11846 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11847 OPC_CheckPredicate0,
11848 OPC_CheckTypeI32,
11849 OPC_MoveSibling, 12,
11850 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11851 OPC_CheckPredicate0,
11852 OPC_CheckTypeI32,
11853 OPC_MoveSibling, 13,
11854 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11855 OPC_CheckPredicate0,
11856 OPC_CheckTypeI32,
11857 OPC_MoveSibling, 14,
11858 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11859 OPC_CheckPredicate0,
11860 OPC_CheckTypeI32,
11861 OPC_MoveSibling, 15,
11862 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11863 OPC_CheckPredicate0,
11864 OPC_CheckTypeI32,
11865 OPC_MoveParent,
11866 OPC_MoveParent,
11867 OPC_MoveParent,
11868 OPC_MoveParent,
11869 OPC_CheckType, MVT::v16i8,
11870 OPC_CheckPatternPredicate3,
11871 OPC_CheckComplexPat1, /*#*/1,
11872 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
11873 MVT::v16i8, 2, 0, 2,
11874 125,
11875 OPC_MoveChild0,
11876 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11877 OPC_MoveChild0,
11878 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11879 OPC_CheckPredicate0,
11880 OPC_CheckTypeI32,
11881 OPC_MoveSibling1,
11882 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11883 OPC_CheckPredicate0,
11884 OPC_CheckTypeI32,
11885 OPC_MoveSibling2,
11886 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11887 OPC_CheckPredicate0,
11888 OPC_CheckTypeI32,
11889 OPC_MoveSibling3,
11890 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11891 OPC_CheckPredicate0,
11892 OPC_CheckTypeI32,
11893 OPC_MoveSibling4,
11894 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11895 OPC_CheckPredicate0,
11896 OPC_CheckTypeI32,
11897 OPC_MoveSibling5,
11898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11899 OPC_CheckPredicate0,
11900 OPC_CheckTypeI32,
11901 OPC_MoveSibling6,
11902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11903 OPC_CheckPredicate0,
11904 OPC_CheckTypeI32,
11905 OPC_MoveSibling7,
11906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11907 OPC_CheckPredicate0,
11908 OPC_CheckTypeI32,
11909 OPC_MoveSibling, 8,
11910 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11911 OPC_CheckPredicate0,
11912 OPC_CheckTypeI32,
11913 OPC_MoveSibling, 9,
11914 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11915 OPC_CheckPredicate0,
11916 OPC_CheckTypeI32,
11917 OPC_MoveSibling, 10,
11918 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11919 OPC_CheckPredicate0,
11920 OPC_CheckTypeI32,
11921 OPC_MoveSibling, 11,
11922 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11923 OPC_CheckPredicate0,
11924 OPC_CheckTypeI32,
11925 OPC_MoveSibling, 12,
11926 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11927 OPC_CheckPredicate0,
11928 OPC_CheckTypeI32,
11929 OPC_MoveSibling, 13,
11930 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11931 OPC_CheckPredicate0,
11932 OPC_CheckTypeI32,
11933 OPC_MoveSibling, 14,
11934 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11935 OPC_CheckPredicate0,
11936 OPC_CheckTypeI32,
11937 OPC_MoveSibling, 15,
11938 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11939 OPC_CheckPredicate0,
11940 OPC_CheckTypeI32,
11941 OPC_MoveParent,
11942 OPC_MoveParent,
11943 OPC_RecordChild1,
11944 OPC_MoveParent,
11945 OPC_MoveParent,
11946 OPC_CheckType, MVT::v16i8,
11947 OPC_CheckPatternPredicate3,
11948 OPC_CheckComplexPat1, /*#*/1,
11949 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
11950 MVT::v16i8, 2, 0, 2,
11951 0,
11952 0,
11953 9|128,2,
11954 OPC_MoveChild0,
11955 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11956 OPC_RecordChild0,
11957 OPC_MoveChild1,
11958 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11959 OPC_Scope, 126,
11960 OPC_RecordChild0,
11961 OPC_MoveChild1,
11962 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11963 OPC_MoveChild0,
11964 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11965 OPC_CheckPredicate0,
11966 OPC_CheckTypeI32,
11967 OPC_MoveSibling1,
11968 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11969 OPC_CheckPredicate0,
11970 OPC_CheckTypeI32,
11971 OPC_MoveSibling2,
11972 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11973 OPC_CheckPredicate0,
11974 OPC_CheckTypeI32,
11975 OPC_MoveSibling3,
11976 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11977 OPC_CheckPredicate0,
11978 OPC_CheckTypeI32,
11979 OPC_MoveSibling4,
11980 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11981 OPC_CheckPredicate0,
11982 OPC_CheckTypeI32,
11983 OPC_MoveSibling5,
11984 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11985 OPC_CheckPredicate0,
11986 OPC_CheckTypeI32,
11987 OPC_MoveSibling6,
11988 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11989 OPC_CheckPredicate0,
11990 OPC_CheckTypeI32,
11991 OPC_MoveSibling7,
11992 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11993 OPC_CheckPredicate0,
11994 OPC_CheckTypeI32,
11995 OPC_MoveSibling, 8,
11996 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11997 OPC_CheckPredicate0,
11998 OPC_CheckTypeI32,
11999 OPC_MoveSibling, 9,
12000 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12001 OPC_CheckPredicate0,
12002 OPC_CheckTypeI32,
12003 OPC_MoveSibling, 10,
12004 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12005 OPC_CheckPredicate0,
12006 OPC_CheckTypeI32,
12007 OPC_MoveSibling, 11,
12008 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12009 OPC_CheckPredicate0,
12010 OPC_CheckTypeI32,
12011 OPC_MoveSibling, 12,
12012 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12013 OPC_CheckPredicate0,
12014 OPC_CheckTypeI32,
12015 OPC_MoveSibling, 13,
12016 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12017 OPC_CheckPredicate0,
12018 OPC_CheckTypeI32,
12019 OPC_MoveSibling, 14,
12020 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12021 OPC_CheckPredicate0,
12022 OPC_CheckTypeI32,
12023 OPC_MoveSibling, 15,
12024 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12025 OPC_CheckPredicate0,
12026 OPC_CheckTypeI32,
12027 OPC_MoveParent,
12028 OPC_MoveParent,
12029 OPC_MoveParent,
12030 OPC_MoveParent,
12031 OPC_RecordChild1,
12032 OPC_CheckType, MVT::v16i8,
12033 OPC_CheckPatternPredicate3,
12034 OPC_CheckComplexPat1, /*#*/0,
12035 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
12036 MVT::v16i8, 2, 2, 1,
12037 126,
12038 OPC_MoveChild0,
12039 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12040 OPC_MoveChild0,
12041 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12042 OPC_CheckPredicate0,
12043 OPC_CheckTypeI32,
12044 OPC_MoveSibling1,
12045 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12046 OPC_CheckPredicate0,
12047 OPC_CheckTypeI32,
12048 OPC_MoveSibling2,
12049 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12050 OPC_CheckPredicate0,
12051 OPC_CheckTypeI32,
12052 OPC_MoveSibling3,
12053 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12054 OPC_CheckPredicate0,
12055 OPC_CheckTypeI32,
12056 OPC_MoveSibling4,
12057 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12058 OPC_CheckPredicate0,
12059 OPC_CheckTypeI32,
12060 OPC_MoveSibling5,
12061 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12062 OPC_CheckPredicate0,
12063 OPC_CheckTypeI32,
12064 OPC_MoveSibling6,
12065 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12066 OPC_CheckPredicate0,
12067 OPC_CheckTypeI32,
12068 OPC_MoveSibling7,
12069 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12070 OPC_CheckPredicate0,
12071 OPC_CheckTypeI32,
12072 OPC_MoveSibling, 8,
12073 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12074 OPC_CheckPredicate0,
12075 OPC_CheckTypeI32,
12076 OPC_MoveSibling, 9,
12077 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12078 OPC_CheckPredicate0,
12079 OPC_CheckTypeI32,
12080 OPC_MoveSibling, 10,
12081 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12082 OPC_CheckPredicate0,
12083 OPC_CheckTypeI32,
12084 OPC_MoveSibling, 11,
12085 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12086 OPC_CheckPredicate0,
12087 OPC_CheckTypeI32,
12088 OPC_MoveSibling, 12,
12089 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12090 OPC_CheckPredicate0,
12091 OPC_CheckTypeI32,
12092 OPC_MoveSibling, 13,
12093 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12094 OPC_CheckPredicate0,
12095 OPC_CheckTypeI32,
12096 OPC_MoveSibling, 14,
12097 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12098 OPC_CheckPredicate0,
12099 OPC_CheckTypeI32,
12100 OPC_MoveSibling, 15,
12101 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12102 OPC_CheckPredicate0,
12103 OPC_CheckTypeI32,
12104 OPC_MoveParent,
12105 OPC_MoveParent,
12106 OPC_RecordChild1,
12107 OPC_MoveParent,
12108 OPC_MoveParent,
12109 OPC_RecordChild1,
12110 OPC_CheckType, MVT::v16i8,
12111 OPC_CheckPatternPredicate3,
12112 OPC_CheckComplexPat1, /*#*/0,
12113 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
12114 MVT::v16i8, 2, 2, 1,
12115 0,
12116 24|128,1,
12117 OPC_RecordChild0,
12118 OPC_MoveChild1,
12119 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12120 OPC_RecordChild0,
12121 OPC_MoveChild1,
12122 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12123 OPC_Scope, 69,
12124 OPC_RecordChild0,
12125 OPC_MoveChild1,
12126 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12127 OPC_MoveChild0,
12128 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12129 OPC_CheckPredicate1,
12130 OPC_CheckTypeI32,
12131 OPC_MoveSibling1,
12132 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12133 OPC_CheckPredicate1,
12134 OPC_CheckTypeI32,
12135 OPC_MoveSibling2,
12136 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12137 OPC_CheckPredicate1,
12138 OPC_CheckTypeI32,
12139 OPC_MoveSibling3,
12140 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12141 OPC_CheckPredicate1,
12142 OPC_CheckTypeI32,
12143 OPC_MoveSibling4,
12144 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12145 OPC_CheckPredicate1,
12146 OPC_CheckTypeI32,
12147 OPC_MoveSibling5,
12148 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12149 OPC_CheckPredicate1,
12150 OPC_CheckTypeI32,
12151 OPC_MoveSibling6,
12152 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12153 OPC_CheckPredicate1,
12154 OPC_CheckTypeI32,
12155 OPC_MoveSibling7,
12156 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12157 OPC_CheckPredicate1,
12158 OPC_CheckTypeI32,
12159 OPC_MoveParent,
12160 OPC_MoveParent,
12161 OPC_MoveParent,
12162 OPC_MoveParent,
12163 OPC_CheckType, MVT::v8i16,
12164 OPC_CheckPatternPredicate3,
12165 OPC_CheckComplexPat1, /*#*/1,
12166 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
12167 MVT::v8i16, 2, 0, 2,
12168 69,
12169 OPC_MoveChild0,
12170 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12171 OPC_MoveChild0,
12172 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12173 OPC_CheckPredicate1,
12174 OPC_CheckTypeI32,
12175 OPC_MoveSibling1,
12176 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12177 OPC_CheckPredicate1,
12178 OPC_CheckTypeI32,
12179 OPC_MoveSibling2,
12180 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12181 OPC_CheckPredicate1,
12182 OPC_CheckTypeI32,
12183 OPC_MoveSibling3,
12184 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12185 OPC_CheckPredicate1,
12186 OPC_CheckTypeI32,
12187 OPC_MoveSibling4,
12188 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12189 OPC_CheckPredicate1,
12190 OPC_CheckTypeI32,
12191 OPC_MoveSibling5,
12192 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12193 OPC_CheckPredicate1,
12194 OPC_CheckTypeI32,
12195 OPC_MoveSibling6,
12196 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12197 OPC_CheckPredicate1,
12198 OPC_CheckTypeI32,
12199 OPC_MoveSibling7,
12200 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12201 OPC_CheckPredicate1,
12202 OPC_CheckTypeI32,
12203 OPC_MoveParent,
12204 OPC_MoveParent,
12205 OPC_RecordChild1,
12206 OPC_MoveParent,
12207 OPC_MoveParent,
12208 OPC_CheckType, MVT::v8i16,
12209 OPC_CheckPatternPredicate3,
12210 OPC_CheckComplexPat1, /*#*/1,
12211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
12212 MVT::v8i16, 2, 0, 2,
12213 0,
12214 25|128,1,
12215 OPC_MoveChild0,
12216 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12217 OPC_RecordChild0,
12218 OPC_MoveChild1,
12219 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12220 OPC_Scope, 70,
12221 OPC_RecordChild0,
12222 OPC_MoveChild1,
12223 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12224 OPC_MoveChild0,
12225 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12226 OPC_CheckPredicate1,
12227 OPC_CheckTypeI32,
12228 OPC_MoveSibling1,
12229 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12230 OPC_CheckPredicate1,
12231 OPC_CheckTypeI32,
12232 OPC_MoveSibling2,
12233 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12234 OPC_CheckPredicate1,
12235 OPC_CheckTypeI32,
12236 OPC_MoveSibling3,
12237 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12238 OPC_CheckPredicate1,
12239 OPC_CheckTypeI32,
12240 OPC_MoveSibling4,
12241 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12242 OPC_CheckPredicate1,
12243 OPC_CheckTypeI32,
12244 OPC_MoveSibling5,
12245 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12246 OPC_CheckPredicate1,
12247 OPC_CheckTypeI32,
12248 OPC_MoveSibling6,
12249 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12250 OPC_CheckPredicate1,
12251 OPC_CheckTypeI32,
12252 OPC_MoveSibling7,
12253 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12254 OPC_CheckPredicate1,
12255 OPC_CheckTypeI32,
12256 OPC_MoveParent,
12257 OPC_MoveParent,
12258 OPC_MoveParent,
12259 OPC_MoveParent,
12260 OPC_RecordChild1,
12261 OPC_CheckType, MVT::v8i16,
12262 OPC_CheckPatternPredicate3,
12263 OPC_CheckComplexPat1, /*#*/0,
12264 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
12265 MVT::v8i16, 2, 2, 1,
12266 70,
12267 OPC_MoveChild0,
12268 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12269 OPC_MoveChild0,
12270 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12271 OPC_CheckPredicate1,
12272 OPC_CheckTypeI32,
12273 OPC_MoveSibling1,
12274 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12275 OPC_CheckPredicate1,
12276 OPC_CheckTypeI32,
12277 OPC_MoveSibling2,
12278 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12279 OPC_CheckPredicate1,
12280 OPC_CheckTypeI32,
12281 OPC_MoveSibling3,
12282 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12283 OPC_CheckPredicate1,
12284 OPC_CheckTypeI32,
12285 OPC_MoveSibling4,
12286 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12287 OPC_CheckPredicate1,
12288 OPC_CheckTypeI32,
12289 OPC_MoveSibling5,
12290 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12291 OPC_CheckPredicate1,
12292 OPC_CheckTypeI32,
12293 OPC_MoveSibling6,
12294 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12295 OPC_CheckPredicate1,
12296 OPC_CheckTypeI32,
12297 OPC_MoveSibling7,
12298 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12299 OPC_CheckPredicate1,
12300 OPC_CheckTypeI32,
12301 OPC_MoveParent,
12302 OPC_MoveParent,
12303 OPC_RecordChild1,
12304 OPC_MoveParent,
12305 OPC_MoveParent,
12306 OPC_RecordChild1,
12307 OPC_CheckType, MVT::v8i16,
12308 OPC_CheckPatternPredicate3,
12309 OPC_CheckComplexPat1, /*#*/0,
12310 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
12311 MVT::v8i16, 2, 2, 1,
12312 0,
12313 108,
12314 OPC_RecordChild0,
12315 OPC_MoveChild1,
12316 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12317 OPC_RecordChild0,
12318 OPC_MoveChild1,
12319 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12320 OPC_Scope, 47,
12321 OPC_RecordChild0,
12322 OPC_MoveChild1,
12323 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12324 OPC_MoveChild0,
12325 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12326 OPC_CheckPredicate2,
12327 OPC_CheckTypeI32,
12328 OPC_MoveSibling1,
12329 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12330 OPC_CheckPredicate2,
12331 OPC_CheckTypeI32,
12332 OPC_MoveSibling2,
12333 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12334 OPC_CheckPredicate2,
12335 OPC_CheckTypeI32,
12336 OPC_MoveSibling3,
12337 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12338 OPC_CheckPredicate2,
12339 OPC_CheckTypeI32,
12340 OPC_MoveParent,
12341 OPC_MoveParent,
12342 OPC_CheckType, MVT::v4i32,
12343 OPC_MoveParent,
12344 OPC_MoveParent,
12345 OPC_CheckType, MVT::v4i32,
12346 OPC_CheckPatternPredicate3,
12347 OPC_CheckComplexPat1, /*#*/1,
12348 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
12349 MVT::v4i32, 2, 0, 2,
12350 47,
12351 OPC_MoveChild0,
12352 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12353 OPC_MoveChild0,
12354 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12355 OPC_CheckPredicate2,
12356 OPC_CheckTypeI32,
12357 OPC_MoveSibling1,
12358 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12359 OPC_CheckPredicate2,
12360 OPC_CheckTypeI32,
12361 OPC_MoveSibling2,
12362 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12363 OPC_CheckPredicate2,
12364 OPC_CheckTypeI32,
12365 OPC_MoveSibling3,
12366 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12367 OPC_CheckPredicate2,
12368 OPC_CheckTypeI32,
12369 OPC_MoveParent,
12370 OPC_MoveParent,
12371 OPC_RecordChild1,
12372 OPC_CheckType, MVT::v4i32,
12373 OPC_MoveParent,
12374 OPC_MoveParent,
12375 OPC_CheckType, MVT::v4i32,
12376 OPC_CheckPatternPredicate3,
12377 OPC_CheckComplexPat1, /*#*/1,
12378 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
12379 MVT::v4i32, 2, 0, 2,
12380 0,
12381 109,
12382 OPC_MoveChild0,
12383 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12384 OPC_RecordChild0,
12385 OPC_MoveChild1,
12386 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12387 OPC_Scope, 48,
12388 OPC_RecordChild0,
12389 OPC_MoveChild1,
12390 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12391 OPC_MoveChild0,
12392 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12393 OPC_CheckPredicate2,
12394 OPC_CheckTypeI32,
12395 OPC_MoveSibling1,
12396 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12397 OPC_CheckPredicate2,
12398 OPC_CheckTypeI32,
12399 OPC_MoveSibling2,
12400 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12401 OPC_CheckPredicate2,
12402 OPC_CheckTypeI32,
12403 OPC_MoveSibling3,
12404 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12405 OPC_CheckPredicate2,
12406 OPC_CheckTypeI32,
12407 OPC_MoveParent,
12408 OPC_MoveParent,
12409 OPC_CheckType, MVT::v4i32,
12410 OPC_MoveParent,
12411 OPC_MoveParent,
12412 OPC_RecordChild1,
12413 OPC_CheckType, MVT::v4i32,
12414 OPC_CheckPatternPredicate3,
12415 OPC_CheckComplexPat1, /*#*/0,
12416 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
12417 MVT::v4i32, 2, 2, 1,
12418 48,
12419 OPC_MoveChild0,
12420 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12421 OPC_MoveChild0,
12422 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12423 OPC_CheckPredicate2,
12424 OPC_CheckTypeI32,
12425 OPC_MoveSibling1,
12426 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12427 OPC_CheckPredicate2,
12428 OPC_CheckTypeI32,
12429 OPC_MoveSibling2,
12430 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12431 OPC_CheckPredicate2,
12432 OPC_CheckTypeI32,
12433 OPC_MoveSibling3,
12434 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12435 OPC_CheckPredicate2,
12436 OPC_CheckTypeI32,
12437 OPC_MoveParent,
12438 OPC_MoveParent,
12439 OPC_RecordChild1,
12440 OPC_CheckType, MVT::v4i32,
12441 OPC_MoveParent,
12442 OPC_MoveParent,
12443 OPC_RecordChild1,
12444 OPC_CheckType, MVT::v4i32,
12445 OPC_CheckPatternPredicate3,
12446 OPC_CheckComplexPat1, /*#*/0,
12447 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
12448 MVT::v4i32, 2, 2, 1,
12449 0,
12450 76,
12451 OPC_RecordChild0,
12452 OPC_MoveChild1,
12453 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12454 OPC_RecordChild0,
12455 OPC_MoveChild1,
12456 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12457 OPC_Scope, 31,
12458 OPC_RecordChild0,
12459 OPC_MoveChild1,
12460 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12461 OPC_MoveChild0,
12462 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12463 OPC_CheckType, MVT::v4i32,
12464 OPC_MoveParent,
12465 OPC_CheckPredicate, 13,
12466 OPC_MoveParent,
12467 OPC_CheckType, MVT::v2i64,
12468 OPC_MoveParent,
12469 OPC_MoveParent,
12470 OPC_CheckType, MVT::v2i64,
12471 OPC_CheckPatternPredicate3,
12472 OPC_CheckComplexPat1, /*#*/1,
12473 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
12474 MVT::v2i64, 2, 0, 2,
12475 31,
12476 OPC_MoveChild0,
12477 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12478 OPC_MoveChild0,
12479 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12480 OPC_CheckType, MVT::v4i32,
12481 OPC_MoveParent,
12482 OPC_CheckPredicate, 13,
12483 OPC_MoveParent,
12484 OPC_RecordChild1,
12485 OPC_CheckType, MVT::v2i64,
12486 OPC_MoveParent,
12487 OPC_MoveParent,
12488 OPC_CheckType, MVT::v2i64,
12489 OPC_CheckPatternPredicate3,
12490 OPC_CheckComplexPat1, /*#*/1,
12491 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
12492 MVT::v2i64, 2, 0, 2,
12493 0,
12494 77,
12495 OPC_MoveChild0,
12496 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12497 OPC_RecordChild0,
12498 OPC_MoveChild1,
12499 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12500 OPC_Scope, 32,
12501 OPC_RecordChild0,
12502 OPC_MoveChild1,
12503 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12504 OPC_MoveChild0,
12505 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12506 OPC_CheckType, MVT::v4i32,
12507 OPC_MoveParent,
12508 OPC_CheckPredicate, 13,
12509 OPC_MoveParent,
12510 OPC_CheckType, MVT::v2i64,
12511 OPC_MoveParent,
12512 OPC_MoveParent,
12513 OPC_RecordChild1,
12514 OPC_CheckType, MVT::v2i64,
12515 OPC_CheckPatternPredicate3,
12516 OPC_CheckComplexPat1, /*#*/0,
12517 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
12518 MVT::v2i64, 2, 2, 1,
12519 32,
12520 OPC_MoveChild0,
12521 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12522 OPC_MoveChild0,
12523 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12524 OPC_CheckType, MVT::v4i32,
12525 OPC_MoveParent,
12526 OPC_CheckPredicate, 13,
12527 OPC_MoveParent,
12528 OPC_RecordChild1,
12529 OPC_CheckType, MVT::v2i64,
12530 OPC_MoveParent,
12531 OPC_MoveParent,
12532 OPC_RecordChild1,
12533 OPC_CheckType, MVT::v2i64,
12534 OPC_CheckPatternPredicate3,
12535 OPC_CheckComplexPat1, /*#*/0,
12536 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
12537 MVT::v2i64, 2, 2, 1,
12538 0,
12539 9|128,1,
12540 OPC_RecordChild0,
12541 OPC_Scope, 68,
12542 OPC_MoveChild1,
12543 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12544 OPC_RecordChild0,
12545 OPC_RecordChild1,
12546 OPC_Scope, 27,
12547 OPC_MoveParent,
12548 OPC_SwitchType , 10, MVT::v16i8,
12549 OPC_CheckPatternPredicate0,
12550 OPC_CheckComplexPat1, /*#*/1,
12551 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
12552 MVT::v16i8, 2, 0, 2,
12553 10, MVT::v8i16,
12554 OPC_CheckPatternPredicate0,
12555 OPC_CheckComplexPat1, /*#*/1,
12556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
12557 MVT::v8i16, 2, 0, 2,
12558 0,
12559 15,
12560 OPC_CheckChild1Type, MVT::v4i32,
12561 OPC_MoveParent,
12562 OPC_CheckType, MVT::v4i32,
12563 OPC_CheckPatternPredicate0,
12564 OPC_CheckComplexPat1, /*#*/1,
12565 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
12566 MVT::v4i32, 2, 0, 2,
12567 15,
12568 OPC_CheckChild1Type, MVT::v2i64,
12569 OPC_MoveParent,
12570 OPC_CheckType, MVT::v2i64,
12571 OPC_CheckPatternPredicate0,
12572 OPC_CheckComplexPat1, /*#*/1,
12573 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
12574 MVT::v2i64, 2, 0, 2,
12575 0,
12576 64,
12577 OPC_RecordChild1,
12578 OPC_SwitchType , 23, MVT::v16i8,
12579 OPC_CheckPatternPredicate0,
12580 OPC_Scope, 9,
12581 OPC_CheckComplexPat4, /*#*/1,
12582 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
12583 MVT::v16i8, 2, 0, 2,
12584 9,
12585 OPC_CheckComplexPat6, /*#*/1,
12586 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
12587 MVT::v16i8, 2, 0, 2,
12588 0,
12589 10, MVT::v8i16,
12590 OPC_CheckPatternPredicate0,
12591 OPC_CheckComplexPat4, /*#*/1,
12592 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
12593 MVT::v8i16, 2, 0, 2,
12594 10, MVT::v4i32,
12595 OPC_CheckPatternPredicate0,
12596 OPC_CheckComplexPat4, /*#*/1,
12597 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
12598 MVT::v4i32, 2, 0, 2,
12599 10, MVT::v2i64,
12600 OPC_CheckPatternPredicate0,
12601 OPC_CheckComplexPat4, /*#*/1,
12602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
12603 MVT::v2i64, 2, 0, 2,
12604 0,
12605 0,
12606 71,
12607 OPC_MoveChild0,
12608 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12609 OPC_RecordChild0,
12610 OPC_RecordChild1,
12611 OPC_Scope, 28,
12612 OPC_MoveParent,
12613 OPC_RecordChild1,
12614 OPC_SwitchType , 10, MVT::v16i8,
12615 OPC_CheckPatternPredicate0,
12616 OPC_CheckComplexPat1, /*#*/0,
12617 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
12618 MVT::v16i8, 2, 2, 1,
12619 10, MVT::v8i16,
12620 OPC_CheckPatternPredicate0,
12621 OPC_CheckComplexPat1, /*#*/0,
12622 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
12623 MVT::v8i16, 2, 2, 1,
12624 0,
12625 16,
12626 OPC_CheckChild1Type, MVT::v4i32,
12627 OPC_MoveParent,
12628 OPC_RecordChild1,
12629 OPC_CheckType, MVT::v4i32,
12630 OPC_CheckPatternPredicate0,
12631 OPC_CheckComplexPat1, /*#*/0,
12632 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
12633 MVT::v4i32, 2, 2, 1,
12634 16,
12635 OPC_CheckChild1Type, MVT::v2i64,
12636 OPC_MoveParent,
12637 OPC_RecordChild1,
12638 OPC_CheckType, MVT::v2i64,
12639 OPC_CheckPatternPredicate0,
12640 OPC_CheckComplexPat1, /*#*/0,
12641 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
12642 MVT::v2i64, 2, 2, 1,
12643 0,
12644 106,
12645 OPC_RecordChild0,
12646 OPC_RecordChild1,
12647 OPC_SwitchType , 31, MVT::v16i8,
12648 OPC_CheckPatternPredicate0,
12649 OPC_Scope, 9,
12650 OPC_CheckComplexPat4, /*#*/0,
12651 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
12652 MVT::v16i8, 2, 1, 2,
12653 9,
12654 OPC_CheckComplexPat6, /*#*/0,
12655 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
12656 MVT::v16i8, 2, 1, 2,
12657 7,
12658 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V),
12659 MVT::v16i8, 2, 0, 1,
12660 0,
12661 21, MVT::v8i16,
12662 OPC_CheckPatternPredicate0,
12663 OPC_Scope, 9,
12664 OPC_CheckComplexPat4, /*#*/0,
12665 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
12666 MVT::v8i16, 2, 1, 2,
12667 7,
12668 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_H_PSEUDO),
12669 MVT::v8i16, 2, 0, 1,
12670 0,
12671 21, MVT::v4i32,
12672 OPC_CheckPatternPredicate0,
12673 OPC_Scope, 9,
12674 OPC_CheckComplexPat4, /*#*/0,
12675 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
12676 MVT::v4i32, 2, 1, 2,
12677 7,
12678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_W_PSEUDO),
12679 MVT::v4i32, 2, 0, 1,
12680 0,
12681 21, MVT::v2i64,
12682 OPC_CheckPatternPredicate0,
12683 OPC_Scope, 9,
12684 OPC_CheckComplexPat4, /*#*/0,
12685 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
12686 MVT::v2i64, 2, 1, 2,
12687 7,
12688 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_D_PSEUDO),
12689 MVT::v2i64, 2, 0, 1,
12690 0,
12691 0,
12692 0,
12693 38|128,1, TARGET_VAL(ISD::CTLZ),
12694 OPC_Scope, 65,
12695 OPC_MoveChild0,
12696 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12697 OPC_RecordChild0,
12698 OPC_CheckChild1Integer, 127,
12699 OPC_SwitchType , 30, MVT::i32,
12700 OPC_MoveParent,
12701 OPC_CheckTypeI32,
12702 OPC_Scope, 8,
12703 OPC_CheckPatternPredicate, 70,
12704 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO),
12705 MVT::i32, 1, 0,
12706 8,
12707 OPC_CheckPatternPredicate, 90,
12708 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_R6),
12709 MVT::i32, 1, 0,
12710 7,
12711 OPC_CheckPatternPredicate4,
12712 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_MM),
12713 MVT::i32, 1, 0,
12714 0,
12715 22, MVT::i64,
12716 OPC_MoveParent,
12717 OPC_CheckTypeI64,
12718 OPC_Scope, 8,
12719 OPC_CheckPatternPredicate, 91,
12720 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO),
12721 MVT::i64, 1, 0,
12722 8,
12723 OPC_CheckPatternPredicate, 49,
12724 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO_R6),
12725 MVT::i64, 1, 0,
12726 0,
12727 0,
12728 97,
12729 OPC_RecordChild0,
12730 OPC_SwitchType , 29, MVT::i32,
12731 OPC_CheckChild0TypeI32,
12732 OPC_Scope, 8,
12733 OPC_CheckPatternPredicate, 70,
12734 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ),
12735 MVT::i32, 1, 0,
12736 8,
12737 OPC_CheckPatternPredicate, 90,
12738 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_R6),
12739 MVT::i32, 1, 0,
12740 7,
12741 OPC_CheckPatternPredicate4,
12742 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_MM),
12743 MVT::i32, 1, 0,
12744 0,
12745 21, MVT::i64,
12746 OPC_CheckChild0TypeI64,
12747 OPC_Scope, 8,
12748 OPC_CheckPatternPredicate, 91,
12749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ),
12750 MVT::i64, 1, 0,
12751 8,
12752 OPC_CheckPatternPredicate, 49,
12753 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ_R6),
12754 MVT::i64, 1, 0,
12755 0,
12756 7, MVT::v16i8,
12757 OPC_CheckPatternPredicate0,
12758 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_B),
12759 MVT::v16i8, 1, 0,
12760 7, MVT::v8i16,
12761 OPC_CheckPatternPredicate0,
12762 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_H),
12763 MVT::v8i16, 1, 0,
12764 9, MVT::v4i32,
12765 OPC_CheckChild0Type, MVT::v4i32,
12766 OPC_CheckPatternPredicate0,
12767 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_W),
12768 MVT::v4i32, 1, 0,
12769 9, MVT::v2i64,
12770 OPC_CheckChild0Type, MVT::v2i64,
12771 OPC_CheckPatternPredicate0,
12772 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_D),
12773 MVT::v2i64, 1, 0,
12774 0,
12775 0,
12776 40|128,4, TARGET_VAL(ISD::ZERO_EXTEND),
12777 OPC_Scope, 115|128,3,
12778 OPC_MoveChild0,
12779 OPC_SwitchOpcode , 65, TARGET_VAL(ISD::ADD),
12780 OPC_RecordChild0,
12781 OPC_RecordChild1,
12782 OPC_Scope, 33,
12783 OPC_MoveChild1,
12784 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12785 OPC_CheckPredicate7,
12786 OPC_MoveParent,
12787 OPC_MoveParent,
12788 OPC_CheckPredicate, 18,
12789 OPC_CheckTypeI64,
12790 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12791 MVT::i64, 0,
12792 OPC_EmitConvertToTarget1,
12793 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
12794 MVT::i32, 2, 0, 3,
12795 OPC_EmitIntegerI32, Mips::sub_32,
12796 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12797 MVT::i64, 3, 2, 4, 5,
12798 26,
12799 OPC_MoveParent,
12800 OPC_CheckPredicate, 18,
12801 OPC_CheckTypeI64,
12802 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12803 MVT::i64, 0,
12804 OPC_EmitNode1None, TARGET_VAL(Mips::ADDu),
12805 MVT::i32, 2, 0, 1,
12806 OPC_EmitIntegerI32, Mips::sub_32,
12807 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12808 MVT::i64, 3, 2, 3, 4,
12809 0,
12810 86, TARGET_VAL(ISD::SHL),
12811 OPC_RecordChild0,
12812 OPC_RecordChild1,
12813 OPC_Scope, 53,
12814 OPC_MoveChild1,
12815 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12816 OPC_CheckPredicate3,
12817 OPC_CheckTypeI32,
12818 OPC_MoveParent,
12819 OPC_MoveParent,
12820 OPC_CheckTypeI64,
12821 OPC_Scope, 25,
12822 OPC_CheckPredicate, 18,
12823 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12824 MVT::i64, 0,
12825 OPC_EmitConvertToTarget1,
12826 OPC_EmitNode1None, TARGET_VAL(Mips::SLL),
12827 MVT::i32, 2, 0, 3,
12828 OPC_EmitIntegerI32, Mips::sub_32,
12829 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12830 MVT::i64, 3, 2, 4, 5,
12831 15,
12832 OPC_CheckPatternPredicate, 114,
12833 OPC_EmitConvertToTarget1,
12834 OPC_EmitConvertToTarget1,
12835 OPC_EmitNodeXForm, 4, 3,
12836 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS64_32),
12837 MVT::i64, 3, 0, 2, 4,
12838 0,
12839 27,
12840 OPC_CheckChild1TypeI32,
12841 OPC_MoveParent,
12842 OPC_CheckPredicate, 18,
12843 OPC_CheckTypeI64,
12844 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12845 MVT::i64, 0,
12846 OPC_EmitNode1None, TARGET_VAL(Mips::SLLV),
12847 MVT::i32, 2, 0, 1,
12848 OPC_EmitIntegerI32, Mips::sub_32,
12849 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12850 MVT::i64, 3, 2, 3, 4,
12851 0,
12852 67, TARGET_VAL(ISD::SRL),
12853 OPC_RecordChild0,
12854 OPC_RecordChild1,
12855 OPC_Scope, 34,
12856 OPC_MoveChild1,
12857 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12858 OPC_CheckPredicate3,
12859 OPC_CheckTypeI32,
12860 OPC_MoveParent,
12861 OPC_MoveParent,
12862 OPC_CheckPredicate, 18,
12863 OPC_CheckTypeI64,
12864 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12865 MVT::i64, 0,
12866 OPC_EmitConvertToTarget1,
12867 OPC_EmitNode1None, TARGET_VAL(Mips::SRL),
12868 MVT::i32, 2, 0, 3,
12869 OPC_EmitIntegerI32, Mips::sub_32,
12870 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12871 MVT::i64, 3, 2, 4, 5,
12872 27,
12873 OPC_CheckChild1TypeI32,
12874 OPC_MoveParent,
12875 OPC_CheckPredicate, 18,
12876 OPC_CheckTypeI64,
12877 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12878 MVT::i64, 0,
12879 OPC_EmitNode1None, TARGET_VAL(Mips::SRLV),
12880 MVT::i32, 2, 0, 1,
12881 OPC_EmitIntegerI32, Mips::sub_32,
12882 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12883 MVT::i64, 3, 2, 3, 4,
12884 0,
12885 67, TARGET_VAL(ISD::SRA),
12886 OPC_RecordChild0,
12887 OPC_RecordChild1,
12888 OPC_Scope, 34,
12889 OPC_MoveChild1,
12890 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12891 OPC_CheckPredicate3,
12892 OPC_CheckTypeI32,
12893 OPC_MoveParent,
12894 OPC_MoveParent,
12895 OPC_CheckPredicate, 18,
12896 OPC_CheckTypeI64,
12897 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12898 MVT::i64, 0,
12899 OPC_EmitConvertToTarget1,
12900 OPC_EmitNode1None, TARGET_VAL(Mips::SRA),
12901 MVT::i32, 2, 0, 3,
12902 OPC_EmitIntegerI32, Mips::sub_32,
12903 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12904 MVT::i64, 3, 2, 4, 5,
12905 27,
12906 OPC_CheckChild1TypeI32,
12907 OPC_MoveParent,
12908 OPC_CheckPredicate, 18,
12909 OPC_CheckTypeI64,
12910 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12911 MVT::i64, 0,
12912 OPC_EmitNode1None, TARGET_VAL(Mips::SRAV),
12913 MVT::i32, 2, 0, 1,
12914 OPC_EmitIntegerI32, Mips::sub_32,
12915 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12916 MVT::i64, 3, 2, 3, 4,
12917 0,
12918 73, TARGET_VAL(ISD::SETCC),
12919 OPC_RecordChild0,
12920 OPC_CheckChild0TypeI64,
12921 OPC_RecordChild1,
12922 OPC_Scope, 39,
12923 OPC_MoveChild1,
12924 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12925 OPC_CheckPredicate, 53,
12926 OPC_MoveParent,
12927 OPC_Scope, 14,
12928 OPC_CheckChild2CondCode, ISD::SETEQ,
12929 OPC_MoveParent,
12930 OPC_CheckTypeI64,
12931 OPC_CheckPatternPredicate, 28,
12932 OPC_EmitConvertToTarget1,
12933 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQi),
12934 MVT::i64, 2, 0, 2,
12935 14,
12936 OPC_CheckChild2CondCode, ISD::SETNE,
12937 OPC_MoveParent,
12938 OPC_CheckTypeI64,
12939 OPC_CheckPatternPredicate, 28,
12940 OPC_EmitConvertToTarget1,
12941 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNEi),
12942 MVT::i64, 2, 0, 2,
12943 0,
12944 13,
12945 OPC_CheckChild2CondCode, ISD::SETEQ,
12946 OPC_MoveParent,
12947 OPC_CheckTypeI64,
12948 OPC_CheckPatternPredicate, 28,
12949 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQ),
12950 MVT::i64, 2, 0, 1,
12951 13,
12952 OPC_CheckChild2CondCode, ISD::SETNE,
12953 OPC_MoveParent,
12954 OPC_CheckTypeI64,
12955 OPC_CheckPatternPredicate, 28,
12956 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNE),
12957 MVT::i64, 2, 0, 1,
12958 0,
12959 28, TARGET_VAL(ISD::SUB),
12960 OPC_RecordChild0,
12961 OPC_RecordChild1,
12962 OPC_MoveParent,
12963 OPC_CheckPredicate, 18,
12964 OPC_CheckTypeI64,
12965 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12966 MVT::i64, 0,
12967 OPC_EmitNode1None, TARGET_VAL(Mips::SUBu),
12968 MVT::i32, 2, 0, 1,
12969 OPC_EmitIntegerI32, Mips::sub_32,
12970 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12971 MVT::i64, 3, 2, 3, 4,
12972 31, TARGET_VAL(ISD::MUL),
12973 OPC_RecordChild0,
12974 OPC_RecordChild1,
12975 OPC_MoveParent,
12976 OPC_CheckPredicate, 18,
12977 OPC_CheckTypeI64,
12978 OPC_CheckPatternPredicate, 92,
12979 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12980 MVT::i64, 0,
12981 OPC_EmitNode2None, TARGET_VAL(Mips::MUL),
12982 MVT::i32, MVT::i32, 2, 0, 1,
12983 OPC_EmitIntegerI32, Mips::sub_32,
12984 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12985 MVT::i64, 3, 2, 3, 5,
12986 26, TARGET_VAL(MipsISD::MFHI),
12987 OPC_RecordChild0,
12988 OPC_MoveParent,
12989 OPC_CheckPredicate, 18,
12990 OPC_CheckTypeI64,
12991 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12992 MVT::i64, 0,
12993 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFHI),
12994 MVT::i32, 1, 0,
12995 OPC_EmitIntegerI32, Mips::sub_32,
12996 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12997 MVT::i64, 3, 1, 2, 3,
12998 26, TARGET_VAL(MipsISD::MFLO),
12999 OPC_RecordChild0,
13000 OPC_MoveParent,
13001 OPC_CheckPredicate, 18,
13002 OPC_CheckTypeI64,
13003 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13004 MVT::i64, 0,
13005 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFLO),
13006 MVT::i32, 1, 0,
13007 OPC_EmitIntegerI32, Mips::sub_32,
13008 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13009 MVT::i64, 3, 1, 2, 3,
13010 0,
13011 48,
13012 OPC_RecordChild0,
13013 OPC_CheckTypeI64,
13014 OPC_Scope, 10,
13015 OPC_CheckPredicate, 18,
13016 OPC_CheckPatternPredicate, 9,
13017 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_32),
13018 MVT::i64, 1, 0,
13019 14,
13020 OPC_CheckPatternPredicate, 115,
13021 OPC_EmitIntegerI32, 0,
13022 OPC_EmitIntegerI32, 32,
13023 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT64_32),
13024 MVT::i64, 3, 0, 1, 2,
13025 17,
13026 OPC_CheckPatternPredicate, 9,
13027 OPC_EmitNode1None, TARGET_VAL(Mips::DSLL64_32),
13028 MVT::i64, 1, 0,
13029 OPC_EmitIntegerI32, 32,
13030 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
13031 MVT::i64, 2, 1, 2,
13032 0,
13033 0,
13034 72, TARGET_VAL(MipsISD::CIns),
13035 OPC_RecordChild0,
13036 OPC_RecordChild1,
13037 OPC_MoveChild1,
13038 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13039 OPC_Scope, 20,
13040 OPC_CheckPredicate3,
13041 OPC_MoveSibling2,
13042 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13043 OPC_RecordNode,
13044 OPC_MoveParent,
13045 OPC_CheckTypeI64,
13046 OPC_CheckPatternPredicate, 79,
13047 OPC_EmitConvertToTarget1,
13048 OPC_EmitConvertToTarget2,
13049 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS),
13050 MVT::i64, 3, 0, 3, 4,
13051 21,
13052 OPC_CheckPredicate, 43,
13053 OPC_MoveSibling2,
13054 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13055 OPC_RecordNode,
13056 OPC_MoveParent,
13057 OPC_CheckTypeI64,
13058 OPC_CheckPatternPredicate, 79,
13059 OPC_EmitConvertToTarget1,
13060 OPC_EmitConvertToTarget2,
13061 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS32),
13062 MVT::i64, 3, 0, 3, 4,
13063 20,
13064 OPC_CheckPredicate3,
13065 OPC_MoveSibling2,
13066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13067 OPC_RecordNode,
13068 OPC_MoveParent,
13069 OPC_CheckTypeI32,
13070 OPC_CheckPatternPredicate, 79,
13071 OPC_EmitConvertToTarget1,
13072 OPC_EmitConvertToTarget2,
13073 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS_i32),
13074 MVT::i32, 3, 0, 3, 4,
13075 0,
13076 101|128,13, TARGET_VAL(ISD::ADD),
13077 OPC_Scope, 43,
13078 OPC_RecordChild0,
13079 OPC_MoveChild1,
13080 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13081 OPC_RecordChild0,
13082 OPC_RecordChild1,
13083 OPC_MoveChild1,
13084 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13085 OPC_CheckPredicate, 47,
13086 OPC_CheckTypeI32,
13087 OPC_MoveParent,
13088 OPC_MoveParent,
13089 OPC_SwitchType , 10, MVT::i32,
13090 OPC_CheckPatternPredicate0,
13091 OPC_EmitConvertToTarget2,
13092 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
13093 MVT::i32, 3, 1, 0, 3,
13094 11, MVT::i64,
13095 OPC_CheckPatternPredicate, 59,
13096 OPC_EmitConvertToTarget2,
13097 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
13098 MVT::i64, 3, 1, 0, 3,
13099 0,
13100 43,
13101 OPC_MoveChild0,
13102 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13103 OPC_RecordChild0,
13104 OPC_RecordChild1,
13105 OPC_MoveChild1,
13106 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13107 OPC_CheckPredicate, 47,
13108 OPC_CheckTypeI32,
13109 OPC_MoveParent,
13110 OPC_MoveParent,
13111 OPC_RecordChild1,
13112 OPC_SwitchType , 10, MVT::i32,
13113 OPC_CheckPatternPredicate0,
13114 OPC_EmitConvertToTarget1,
13115 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
13116 MVT::i32, 3, 0, 2, 3,
13117 11, MVT::i64,
13118 OPC_CheckPatternPredicate, 59,
13119 OPC_EmitConvertToTarget1,
13120 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
13121 MVT::i64, 3, 0, 2, 3,
13122 0,
13123 78|128,4,
13124 OPC_RecordChild0,
13125 OPC_MoveChild1,
13126 OPC_SwitchOpcode , 75|128,2, TARGET_VAL(MipsISD::Lo),
13127 OPC_RecordChild0,
13128 OPC_MoveChild0,
13129 OPC_SwitchOpcode , 59, TARGET_VAL(ISD::TargetGlobalAddress),
13130 OPC_MoveParent,
13131 OPC_MoveParent,
13132 OPC_SwitchType , 29, MVT::i32,
13133 OPC_Scope, 8,
13134 OPC_CheckPatternPredicate2,
13135 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13136 MVT::i32, 2, 0, 1,
13137 8,
13138 OPC_CheckPatternPredicate5,
13139 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
13140 MVT::i32, 2, 0, 1,
13141 8,
13142 OPC_CheckPatternPredicate4,
13143 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13144 MVT::i32, 2, 0, 1,
13145 0,
13146 22, MVT::i64,
13147 OPC_Scope, 9,
13148 OPC_CheckPatternPredicate, 25,
13149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13150 MVT::i64, 2, 0, 1,
13151 9,
13152 OPC_CheckPatternPredicate, 12,
13153 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13154 MVT::i64, 2, 0, 1,
13155 0,
13156 0,
13157 50, TARGET_VAL(ISD::TargetBlockAddress),
13158 OPC_MoveParent,
13159 OPC_MoveParent,
13160 OPC_SwitchType , 20, MVT::i32,
13161 OPC_Scope, 8,
13162 OPC_CheckPatternPredicate2,
13163 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13164 MVT::i32, 2, 0, 1,
13165 8,
13166 OPC_CheckPatternPredicate4,
13167 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13168 MVT::i32, 2, 0, 1,
13169 0,
13170 22, MVT::i64,
13171 OPC_Scope, 9,
13172 OPC_CheckPatternPredicate, 25,
13173 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13174 MVT::i64, 2, 0, 1,
13175 9,
13176 OPC_CheckPatternPredicate, 12,
13177 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13178 MVT::i64, 2, 0, 1,
13179 0,
13180 0,
13181 50, TARGET_VAL(ISD::TargetJumpTable),
13182 OPC_MoveParent,
13183 OPC_MoveParent,
13184 OPC_SwitchType , 20, MVT::i32,
13185 OPC_Scope, 8,
13186 OPC_CheckPatternPredicate2,
13187 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13188 MVT::i32, 2, 0, 1,
13189 8,
13190 OPC_CheckPatternPredicate4,
13191 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13192 MVT::i32, 2, 0, 1,
13193 0,
13194 22, MVT::i64,
13195 OPC_Scope, 9,
13196 OPC_CheckPatternPredicate, 25,
13197 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13198 MVT::i64, 2, 0, 1,
13199 9,
13200 OPC_CheckPatternPredicate, 12,
13201 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13202 MVT::i64, 2, 0, 1,
13203 0,
13204 0,
13205 50, TARGET_VAL(ISD::TargetConstantPool),
13206 OPC_MoveParent,
13207 OPC_MoveParent,
13208 OPC_SwitchType , 20, MVT::i32,
13209 OPC_Scope, 8,
13210 OPC_CheckPatternPredicate2,
13211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13212 MVT::i32, 2, 0, 1,
13213 8,
13214 OPC_CheckPatternPredicate4,
13215 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13216 MVT::i32, 2, 0, 1,
13217 0,
13218 22, MVT::i64,
13219 OPC_Scope, 9,
13220 OPC_CheckPatternPredicate, 25,
13221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13222 MVT::i64, 2, 0, 1,
13223 9,
13224 OPC_CheckPatternPredicate, 12,
13225 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13226 MVT::i64, 2, 0, 1,
13227 0,
13228 0,
13229 50, TARGET_VAL(ISD::TargetGlobalTLSAddress),
13230 OPC_MoveParent,
13231 OPC_MoveParent,
13232 OPC_SwitchType , 20, MVT::i32,
13233 OPC_Scope, 8,
13234 OPC_CheckPatternPredicate2,
13235 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13236 MVT::i32, 2, 0, 1,
13237 8,
13238 OPC_CheckPatternPredicate4,
13239 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13240 MVT::i32, 2, 0, 1,
13241 0,
13242 22, MVT::i64,
13243 OPC_Scope, 9,
13244 OPC_CheckPatternPredicate, 25,
13245 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13246 MVT::i64, 2, 0, 1,
13247 9,
13248 OPC_CheckPatternPredicate, 12,
13249 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13250 MVT::i64, 2, 0, 1,
13251 0,
13252 0,
13253 50, TARGET_VAL(ISD::TargetExternalSymbol),
13254 OPC_MoveParent,
13255 OPC_MoveParent,
13256 OPC_SwitchType , 20, MVT::i32,
13257 OPC_Scope, 8,
13258 OPC_CheckPatternPredicate2,
13259 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13260 MVT::i32, 2, 0, 1,
13261 8,
13262 OPC_CheckPatternPredicate4,
13263 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13264 MVT::i32, 2, 0, 1,
13265 0,
13266 22, MVT::i64,
13267 OPC_Scope, 9,
13268 OPC_CheckPatternPredicate, 25,
13269 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13270 MVT::i64, 2, 0, 1,
13271 9,
13272 OPC_CheckPatternPredicate, 12,
13273 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13274 MVT::i64, 2, 0, 1,
13275 0,
13276 0,
13277 0,
13278 84, TARGET_VAL(MipsISD::GPRel),
13279 OPC_RecordChild0,
13280 OPC_MoveChild0,
13281 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::TargetGlobalAddress),
13282 OPC_MoveParent,
13283 OPC_MoveParent,
13284 OPC_SwitchType , 20, MVT::i32,
13285 OPC_Scope, 8,
13286 OPC_CheckPatternPredicate2,
13287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13288 MVT::i32, 2, 0, 1,
13289 8,
13290 OPC_CheckPatternPredicate4,
13291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13292 MVT::i32, 2, 0, 1,
13293 0,
13294 9, MVT::i64,
13295 OPC_CheckPatternPredicate, 64,
13296 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13297 MVT::i64, 2, 0, 1,
13298 0,
13299 37, TARGET_VAL(ISD::TargetConstantPool),
13300 OPC_MoveParent,
13301 OPC_MoveParent,
13302 OPC_SwitchType , 20, MVT::i32,
13303 OPC_Scope, 8,
13304 OPC_CheckPatternPredicate2,
13305 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13306 MVT::i32, 2, 0, 1,
13307 8,
13308 OPC_CheckPatternPredicate4,
13309 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13310 MVT::i32, 2, 0, 1,
13311 0,
13312 9, MVT::i64,
13313 OPC_CheckPatternPredicate, 64,
13314 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13315 MVT::i64, 2, 0, 1,
13316 0,
13317 0,
13318 79, TARGET_VAL(MipsISD::Higher),
13319 OPC_RecordChild0,
13320 OPC_MoveChild0,
13321 OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
13322 OPC_MoveParent,
13323 OPC_MoveParent,
13324 OPC_CheckTypeI64,
13325 OPC_CheckPatternPredicate, 12,
13326 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13327 MVT::i64, 2, 0, 1,
13328 12, TARGET_VAL(ISD::TargetBlockAddress),
13329 OPC_MoveParent,
13330 OPC_MoveParent,
13331 OPC_CheckTypeI64,
13332 OPC_CheckPatternPredicate, 12,
13333 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13334 MVT::i64, 2, 0, 1,
13335 12, TARGET_VAL(ISD::TargetJumpTable),
13336 OPC_MoveParent,
13337 OPC_MoveParent,
13338 OPC_CheckTypeI64,
13339 OPC_CheckPatternPredicate, 12,
13340 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13341 MVT::i64, 2, 0, 1,
13342 12, TARGET_VAL(ISD::TargetConstantPool),
13343 OPC_MoveParent,
13344 OPC_MoveParent,
13345 OPC_CheckTypeI64,
13346 OPC_CheckPatternPredicate, 12,
13347 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13348 MVT::i64, 2, 0, 1,
13349 12, TARGET_VAL(ISD::TargetExternalSymbol),
13350 OPC_MoveParent,
13351 OPC_MoveParent,
13352 OPC_CheckTypeI64,
13353 OPC_CheckPatternPredicate, 12,
13354 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13355 MVT::i64, 2, 0, 1,
13356 0,
13357 79, TARGET_VAL(MipsISD::Hi),
13358 OPC_RecordChild0,
13359 OPC_MoveChild0,
13360 OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
13361 OPC_MoveParent,
13362 OPC_MoveParent,
13363 OPC_CheckTypeI64,
13364 OPC_CheckPatternPredicate, 12,
13365 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13366 MVT::i64, 2, 0, 1,
13367 12, TARGET_VAL(ISD::TargetBlockAddress),
13368 OPC_MoveParent,
13369 OPC_MoveParent,
13370 OPC_CheckTypeI64,
13371 OPC_CheckPatternPredicate, 12,
13372 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13373 MVT::i64, 2, 0, 1,
13374 12, TARGET_VAL(ISD::TargetJumpTable),
13375 OPC_MoveParent,
13376 OPC_MoveParent,
13377 OPC_CheckTypeI64,
13378 OPC_CheckPatternPredicate, 12,
13379 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13380 MVT::i64, 2, 0, 1,
13381 12, TARGET_VAL(ISD::TargetConstantPool),
13382 OPC_MoveParent,
13383 OPC_MoveParent,
13384 OPC_CheckTypeI64,
13385 OPC_CheckPatternPredicate, 12,
13386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13387 MVT::i64, 2, 0, 1,
13388 12, TARGET_VAL(ISD::TargetExternalSymbol),
13389 OPC_MoveParent,
13390 OPC_MoveParent,
13391 OPC_CheckTypeI64,
13392 OPC_CheckPatternPredicate, 12,
13393 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13394 MVT::i64, 2, 0, 1,
13395 0,
13396 0,
13397 95|128,4,
13398 OPC_MoveChild0,
13399 OPC_SwitchOpcode , 81|128,2, TARGET_VAL(MipsISD::Lo),
13400 OPC_RecordChild0,
13401 OPC_MoveChild0,
13402 OPC_SwitchOpcode , 60, TARGET_VAL(ISD::TargetGlobalAddress),
13403 OPC_MoveParent,
13404 OPC_MoveParent,
13405 OPC_RecordChild1,
13406 OPC_SwitchType , 29, MVT::i32,
13407 OPC_Scope, 8,
13408 OPC_CheckPatternPredicate2,
13409 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13410 MVT::i32, 2, 1, 0,
13411 8,
13412 OPC_CheckPatternPredicate5,
13413 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
13414 MVT::i32, 2, 1, 0,
13415 8,
13416 OPC_CheckPatternPredicate4,
13417 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13418 MVT::i32, 2, 1, 0,
13419 0,
13420 22, MVT::i64,
13421 OPC_Scope, 9,
13422 OPC_CheckPatternPredicate, 25,
13423 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13424 MVT::i64, 2, 1, 0,
13425 9,
13426 OPC_CheckPatternPredicate, 12,
13427 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13428 MVT::i64, 2, 1, 0,
13429 0,
13430 0,
13431 51, TARGET_VAL(ISD::TargetBlockAddress),
13432 OPC_MoveParent,
13433 OPC_MoveParent,
13434 OPC_RecordChild1,
13435 OPC_SwitchType , 20, MVT::i32,
13436 OPC_Scope, 8,
13437 OPC_CheckPatternPredicate2,
13438 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13439 MVT::i32, 2, 1, 0,
13440 8,
13441 OPC_CheckPatternPredicate4,
13442 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13443 MVT::i32, 2, 1, 0,
13444 0,
13445 22, MVT::i64,
13446 OPC_Scope, 9,
13447 OPC_CheckPatternPredicate, 25,
13448 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13449 MVT::i64, 2, 1, 0,
13450 9,
13451 OPC_CheckPatternPredicate, 12,
13452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13453 MVT::i64, 2, 1, 0,
13454 0,
13455 0,
13456 51, TARGET_VAL(ISD::TargetJumpTable),
13457 OPC_MoveParent,
13458 OPC_MoveParent,
13459 OPC_RecordChild1,
13460 OPC_SwitchType , 20, MVT::i32,
13461 OPC_Scope, 8,
13462 OPC_CheckPatternPredicate2,
13463 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13464 MVT::i32, 2, 1, 0,
13465 8,
13466 OPC_CheckPatternPredicate4,
13467 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13468 MVT::i32, 2, 1, 0,
13469 0,
13470 22, MVT::i64,
13471 OPC_Scope, 9,
13472 OPC_CheckPatternPredicate, 25,
13473 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13474 MVT::i64, 2, 1, 0,
13475 9,
13476 OPC_CheckPatternPredicate, 12,
13477 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13478 MVT::i64, 2, 1, 0,
13479 0,
13480 0,
13481 51, TARGET_VAL(ISD::TargetConstantPool),
13482 OPC_MoveParent,
13483 OPC_MoveParent,
13484 OPC_RecordChild1,
13485 OPC_SwitchType , 20, MVT::i32,
13486 OPC_Scope, 8,
13487 OPC_CheckPatternPredicate2,
13488 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13489 MVT::i32, 2, 1, 0,
13490 8,
13491 OPC_CheckPatternPredicate4,
13492 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13493 MVT::i32, 2, 1, 0,
13494 0,
13495 22, MVT::i64,
13496 OPC_Scope, 9,
13497 OPC_CheckPatternPredicate, 25,
13498 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13499 MVT::i64, 2, 1, 0,
13500 9,
13501 OPC_CheckPatternPredicate, 12,
13502 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13503 MVT::i64, 2, 1, 0,
13504 0,
13505 0,
13506 51, TARGET_VAL(ISD::TargetGlobalTLSAddress),
13507 OPC_MoveParent,
13508 OPC_MoveParent,
13509 OPC_RecordChild1,
13510 OPC_SwitchType , 20, MVT::i32,
13511 OPC_Scope, 8,
13512 OPC_CheckPatternPredicate2,
13513 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13514 MVT::i32, 2, 1, 0,
13515 8,
13516 OPC_CheckPatternPredicate4,
13517 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13518 MVT::i32, 2, 1, 0,
13519 0,
13520 22, MVT::i64,
13521 OPC_Scope, 9,
13522 OPC_CheckPatternPredicate, 25,
13523 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13524 MVT::i64, 2, 1, 0,
13525 9,
13526 OPC_CheckPatternPredicate, 12,
13527 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13528 MVT::i64, 2, 1, 0,
13529 0,
13530 0,
13531 51, TARGET_VAL(ISD::TargetExternalSymbol),
13532 OPC_MoveParent,
13533 OPC_MoveParent,
13534 OPC_RecordChild1,
13535 OPC_SwitchType , 20, MVT::i32,
13536 OPC_Scope, 8,
13537 OPC_CheckPatternPredicate2,
13538 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13539 MVT::i32, 2, 1, 0,
13540 8,
13541 OPC_CheckPatternPredicate4,
13542 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13543 MVT::i32, 2, 1, 0,
13544 0,
13545 22, MVT::i64,
13546 OPC_Scope, 9,
13547 OPC_CheckPatternPredicate, 25,
13548 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13549 MVT::i64, 2, 1, 0,
13550 9,
13551 OPC_CheckPatternPredicate, 12,
13552 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13553 MVT::i64, 2, 1, 0,
13554 0,
13555 0,
13556 0,
13557 86, TARGET_VAL(MipsISD::GPRel),
13558 OPC_RecordChild0,
13559 OPC_MoveChild0,
13560 OPC_SwitchOpcode , 38, TARGET_VAL(ISD::TargetGlobalAddress),
13561 OPC_MoveParent,
13562 OPC_MoveParent,
13563 OPC_RecordChild1,
13564 OPC_SwitchType , 20, MVT::i32,
13565 OPC_Scope, 8,
13566 OPC_CheckPatternPredicate2,
13567 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13568 MVT::i32, 2, 1, 0,
13569 8,
13570 OPC_CheckPatternPredicate4,
13571 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13572 MVT::i32, 2, 1, 0,
13573 0,
13574 9, MVT::i64,
13575 OPC_CheckPatternPredicate, 64,
13576 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13577 MVT::i64, 2, 1, 0,
13578 0,
13579 38, TARGET_VAL(ISD::TargetConstantPool),
13580 OPC_MoveParent,
13581 OPC_MoveParent,
13582 OPC_RecordChild1,
13583 OPC_SwitchType , 20, MVT::i32,
13584 OPC_Scope, 8,
13585 OPC_CheckPatternPredicate2,
13586 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13587 MVT::i32, 2, 1, 0,
13588 8,
13589 OPC_CheckPatternPredicate4,
13590 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13591 MVT::i32, 2, 1, 0,
13592 0,
13593 9, MVT::i64,
13594 OPC_CheckPatternPredicate, 64,
13595 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13596 MVT::i64, 2, 1, 0,
13597 0,
13598 0,
13599 84, TARGET_VAL(MipsISD::Higher),
13600 OPC_RecordChild0,
13601 OPC_MoveChild0,
13602 OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
13603 OPC_MoveParent,
13604 OPC_MoveParent,
13605 OPC_RecordChild1,
13606 OPC_CheckTypeI64,
13607 OPC_CheckPatternPredicate, 12,
13608 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13609 MVT::i64, 2, 1, 0,
13610 13, TARGET_VAL(ISD::TargetBlockAddress),
13611 OPC_MoveParent,
13612 OPC_MoveParent,
13613 OPC_RecordChild1,
13614 OPC_CheckTypeI64,
13615 OPC_CheckPatternPredicate, 12,
13616 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13617 MVT::i64, 2, 1, 0,
13618 13, TARGET_VAL(ISD::TargetJumpTable),
13619 OPC_MoveParent,
13620 OPC_MoveParent,
13621 OPC_RecordChild1,
13622 OPC_CheckTypeI64,
13623 OPC_CheckPatternPredicate, 12,
13624 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13625 MVT::i64, 2, 1, 0,
13626 13, TARGET_VAL(ISD::TargetConstantPool),
13627 OPC_MoveParent,
13628 OPC_MoveParent,
13629 OPC_RecordChild1,
13630 OPC_CheckTypeI64,
13631 OPC_CheckPatternPredicate, 12,
13632 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13633 MVT::i64, 2, 1, 0,
13634 13, TARGET_VAL(ISD::TargetExternalSymbol),
13635 OPC_MoveParent,
13636 OPC_MoveParent,
13637 OPC_RecordChild1,
13638 OPC_CheckTypeI64,
13639 OPC_CheckPatternPredicate, 12,
13640 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13641 MVT::i64, 2, 1, 0,
13642 0,
13643 84, TARGET_VAL(MipsISD::Hi),
13644 OPC_RecordChild0,
13645 OPC_MoveChild0,
13646 OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
13647 OPC_MoveParent,
13648 OPC_MoveParent,
13649 OPC_RecordChild1,
13650 OPC_CheckTypeI64,
13651 OPC_CheckPatternPredicate, 12,
13652 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13653 MVT::i64, 2, 1, 0,
13654 13, TARGET_VAL(ISD::TargetBlockAddress),
13655 OPC_MoveParent,
13656 OPC_MoveParent,
13657 OPC_RecordChild1,
13658 OPC_CheckTypeI64,
13659 OPC_CheckPatternPredicate, 12,
13660 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13661 MVT::i64, 2, 1, 0,
13662 13, TARGET_VAL(ISD::TargetJumpTable),
13663 OPC_MoveParent,
13664 OPC_MoveParent,
13665 OPC_RecordChild1,
13666 OPC_CheckTypeI64,
13667 OPC_CheckPatternPredicate, 12,
13668 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13669 MVT::i64, 2, 1, 0,
13670 13, TARGET_VAL(ISD::TargetConstantPool),
13671 OPC_MoveParent,
13672 OPC_MoveParent,
13673 OPC_RecordChild1,
13674 OPC_CheckTypeI64,
13675 OPC_CheckPatternPredicate, 12,
13676 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13677 MVT::i64, 2, 1, 0,
13678 13, TARGET_VAL(ISD::TargetExternalSymbol),
13679 OPC_MoveParent,
13680 OPC_MoveParent,
13681 OPC_RecordChild1,
13682 OPC_CheckTypeI64,
13683 OPC_CheckPatternPredicate, 12,
13684 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13685 MVT::i64, 2, 1, 0,
13686 0,
13687 0,
13688 96|128,2,
13689 OPC_RecordChild0,
13690 OPC_Scope, 37|128,2,
13691 OPC_RecordChild1,
13692 OPC_Scope, 116,
13693 OPC_MoveChild1,
13694 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13695 OPC_Scope, 13,
13696 OPC_CheckPredicate, 54,
13697 OPC_MoveParent,
13698 OPC_CheckTypeI32,
13699 OPC_CheckPatternPredicate2,
13700 OPC_EmitConvertToTarget1,
13701 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13702 MVT::i32, 2, 0, 2,
13703 13,
13704 OPC_CheckPredicate7,
13705 OPC_MoveParent,
13706 OPC_CheckTypeI64,
13707 OPC_CheckPatternPredicate, 26,
13708 OPC_EmitConvertToTarget1,
13709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13710 MVT::i64, 2, 0, 2,
13711 13,
13712 OPC_CheckPredicate, 55,
13713 OPC_MoveParent,
13714 OPC_CheckTypeI32,
13715 OPC_CheckPatternPredicate5,
13716 OPC_EmitConvertToTarget1,
13717 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImm16),
13718 MVT::i32, 2, 0, 2,
13719 12,
13720 OPC_CheckPredicate7,
13721 OPC_MoveParent,
13722 OPC_CheckTypeI32,
13723 OPC_CheckPatternPredicate5,
13724 OPC_EmitConvertToTarget1,
13725 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
13726 MVT::i32, 2, 0, 2,
13727 13,
13728 OPC_CheckPredicate, 56,
13729 OPC_MoveParent,
13730 OPC_CheckTypeI32,
13731 OPC_CheckPatternPredicate4,
13732 OPC_EmitConvertToTarget1,
13733 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUR2_MM),
13734 MVT::i32, 2, 0, 2,
13735 13,
13736 OPC_CheckPredicate, 57,
13737 OPC_MoveParent,
13738 OPC_CheckTypeI32,
13739 OPC_CheckPatternPredicate4,
13740 OPC_EmitConvertToTarget1,
13741 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUS5_MM),
13742 MVT::i32, 2, 0, 2,
13743 26,
13744 OPC_CheckPredicate7,
13745 OPC_MoveParent,
13746 OPC_CheckTypeI32,
13747 OPC_Scope, 9,
13748 OPC_CheckPatternPredicate4,
13749 OPC_EmitConvertToTarget1,
13750 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13751 MVT::i32, 2, 0, 2,
13752 10,
13753 OPC_CheckPatternPredicate, 8,
13754 OPC_EmitConvertToTarget1,
13755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIU_MMR6),
13756 MVT::i32, 2, 0, 2,
13757 0,
13758 0,
13759 51,
13760 OPC_CheckTypeI32,
13761 OPC_Scope, 9,
13762 OPC_CheckPatternPredicate, 8,
13763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MMR6),
13764 MVT::i32, 2, 0, 1,
13765 8,
13766 OPC_CheckPatternPredicate2,
13767 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu),
13768 MVT::i32, 2, 0, 1,
13769 8,
13770 OPC_CheckPatternPredicate5,
13771 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AdduRxRyRz16),
13772 MVT::i32, 2, 0, 1,
13773 19,
13774 OPC_CheckPatternPredicate7,
13775 OPC_Scope, 7,
13776 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MM),
13777 MVT::i32, 2, 0, 1,
13778 7,
13779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu_MM),
13780 MVT::i32, 2, 0, 1,
13781 0,
13782 0,
13783 10,
13784 OPC_CheckTypeI64,
13785 OPC_CheckPatternPredicate, 26,
13786 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDu),
13787 MVT::i64, 2, 0, 1,
13788 27,
13789 OPC_CheckType, MVT::v16i8,
13790 OPC_CheckPatternPredicate0,
13791 OPC_Scope, 10,
13792 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13793 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
13794 MVT::v16i8, 2, 0, 2,
13795 10,
13796 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
13797 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
13798 MVT::v16i8, 2, 1, 2,
13799 0,
13800 27,
13801 OPC_CheckType, MVT::v8i16,
13802 OPC_CheckPatternPredicate0,
13803 OPC_Scope, 10,
13804 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
13805 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
13806 MVT::v8i16, 2, 0, 2,
13807 10,
13808 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
13809 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
13810 MVT::v8i16, 2, 1, 2,
13811 0,
13812 25,
13813 OPC_CheckType, MVT::v4i32,
13814 OPC_CheckPatternPredicate0,
13815 OPC_Scope, 9,
13816 OPC_CheckComplexPat5, /*#*/1,
13817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
13818 MVT::v4i32, 2, 0, 2,
13819 9,
13820 OPC_CheckComplexPat5, /*#*/0,
13821 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
13822 MVT::v4i32, 2, 1, 2,
13823 0,
13824 27,
13825 OPC_CheckType, MVT::v2i64,
13826 OPC_CheckPatternPredicate0,
13827 OPC_Scope, 10,
13828 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
13829 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
13830 MVT::v2i64, 2, 0, 2,
13831 10,
13832 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
13833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
13834 MVT::v2i64, 2, 1, 2,
13835 0,
13836 0,
13837 53,
13838 OPC_MoveChild1,
13839 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
13840 OPC_RecordChild0,
13841 OPC_RecordChild1,
13842 OPC_MoveParent,
13843 OPC_SwitchType , 9, MVT::v16i8,
13844 OPC_CheckPatternPredicate0,
13845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
13846 MVT::v16i8, 3, 0, 1, 2,
13847 9, MVT::v8i16,
13848 OPC_CheckPatternPredicate0,
13849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
13850 MVT::v8i16, 3, 0, 1, 2,
13851 9, MVT::v4i32,
13852 OPC_CheckPatternPredicate0,
13853 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
13854 MVT::v4i32, 3, 0, 1, 2,
13855 9, MVT::v2i64,
13856 OPC_CheckPatternPredicate0,
13857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
13858 MVT::v2i64, 3, 0, 1, 2,
13859 0,
13860 0,
13861 54,
13862 OPC_MoveChild0,
13863 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
13864 OPC_RecordChild0,
13865 OPC_RecordChild1,
13866 OPC_MoveParent,
13867 OPC_RecordChild1,
13868 OPC_SwitchType , 9, MVT::v16i8,
13869 OPC_CheckPatternPredicate0,
13870 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
13871 MVT::v16i8, 3, 2, 0, 1,
13872 9, MVT::v8i16,
13873 OPC_CheckPatternPredicate0,
13874 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
13875 MVT::v8i16, 3, 2, 0, 1,
13876 9, MVT::v4i32,
13877 OPC_CheckPatternPredicate0,
13878 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
13879 MVT::v4i32, 3, 2, 0, 1,
13880 9, MVT::v2i64,
13881 OPC_CheckPatternPredicate0,
13882 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
13883 MVT::v2i64, 3, 2, 0, 1,
13884 0,
13885 64,
13886 OPC_RecordChild0,
13887 OPC_RecordChild1,
13888 OPC_SwitchType , 8, MVT::v2i16,
13889 OPC_CheckPatternPredicate1,
13890 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
13891 MVT::v2i16, 2, 0, 1,
13892 8, MVT::v4i8,
13893 OPC_CheckPatternPredicate1,
13894 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
13895 MVT::v4i8, 2, 0, 1,
13896 8, MVT::v16i8,
13897 OPC_CheckPatternPredicate0,
13898 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_B),
13899 MVT::v16i8, 2, 0, 1,
13900 8, MVT::v8i16,
13901 OPC_CheckPatternPredicate0,
13902 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_H),
13903 MVT::v8i16, 2, 0, 1,
13904 8, MVT::v4i32,
13905 OPC_CheckPatternPredicate0,
13906 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_W),
13907 MVT::v4i32, 2, 0, 1,
13908 8, MVT::v2i64,
13909 OPC_CheckPatternPredicate0,
13910 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_D),
13911 MVT::v2i64, 2, 0, 1,
13912 0,
13913 0,
13914 35|128,4, TARGET_VAL(ISD::SIGN_EXTEND),
13915 OPC_Scope, 20|128,4,
13916 OPC_MoveChild0,
13917 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::ADD),
13918 OPC_RecordChild0,
13919 OPC_RecordChild1,
13920 OPC_Scope, 31,
13921 OPC_MoveChild1,
13922 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13923 OPC_CheckPredicate7,
13924 OPC_MoveParent,
13925 OPC_MoveParent,
13926 OPC_CheckTypeI64,
13927 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13928 MVT::i64, 0,
13929 OPC_EmitConvertToTarget1,
13930 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
13931 MVT::i32, 2, 0, 3,
13932 OPC_EmitIntegerI32, Mips::sub_32,
13933 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13934 MVT::i64, 3, 2, 4, 5,
13935 24,
13936 OPC_MoveParent,
13937 OPC_CheckTypeI64,
13938 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13939 MVT::i64, 0,
13940 OPC_EmitNode1None, TARGET_VAL(Mips::ADDu),
13941 MVT::i32, 2, 0, 1,
13942 OPC_EmitIntegerI32, Mips::sub_32,
13943 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13944 MVT::i64, 3, 2, 3, 4,
13945 0,
13946 63, TARGET_VAL(ISD::SHL),
13947 OPC_RecordChild0,
13948 OPC_RecordChild1,
13949 OPC_Scope, 32,
13950 OPC_MoveChild1,
13951 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13952 OPC_CheckPredicate3,
13953 OPC_CheckTypeI32,
13954 OPC_MoveParent,
13955 OPC_MoveParent,
13956 OPC_CheckTypeI64,
13957 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13958 MVT::i64, 0,
13959 OPC_EmitConvertToTarget1,
13960 OPC_EmitNode1None, TARGET_VAL(Mips::SLL),
13961 MVT::i32, 2, 0, 3,
13962 OPC_EmitIntegerI32, Mips::sub_32,
13963 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13964 MVT::i64, 3, 2, 4, 5,
13965 25,
13966 OPC_CheckChild1TypeI32,
13967 OPC_MoveParent,
13968 OPC_CheckTypeI64,
13969 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13970 MVT::i64, 0,
13971 OPC_EmitNode1None, TARGET_VAL(Mips::SLLV),
13972 MVT::i32, 2, 0, 1,
13973 OPC_EmitIntegerI32, Mips::sub_32,
13974 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13975 MVT::i64, 3, 2, 3, 4,
13976 0,
13977 63, TARGET_VAL(ISD::SRL),
13978 OPC_RecordChild0,
13979 OPC_RecordChild1,
13980 OPC_Scope, 32,
13981 OPC_MoveChild1,
13982 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13983 OPC_CheckPredicate3,
13984 OPC_CheckTypeI32,
13985 OPC_MoveParent,
13986 OPC_MoveParent,
13987 OPC_CheckTypeI64,
13988 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13989 MVT::i64, 0,
13990 OPC_EmitConvertToTarget1,
13991 OPC_EmitNode1None, TARGET_VAL(Mips::SRL),
13992 MVT::i32, 2, 0, 3,
13993 OPC_EmitIntegerI32, Mips::sub_32,
13994 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13995 MVT::i64, 3, 2, 4, 5,
13996 25,
13997 OPC_CheckChild1TypeI32,
13998 OPC_MoveParent,
13999 OPC_CheckTypeI64,
14000 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14001 MVT::i64, 0,
14002 OPC_EmitNode1None, TARGET_VAL(Mips::SRLV),
14003 MVT::i32, 2, 0, 1,
14004 OPC_EmitIntegerI32, Mips::sub_32,
14005 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14006 MVT::i64, 3, 2, 3, 4,
14007 0,
14008 63, TARGET_VAL(ISD::SRA),
14009 OPC_RecordChild0,
14010 OPC_RecordChild1,
14011 OPC_Scope, 32,
14012 OPC_MoveChild1,
14013 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14014 OPC_CheckPredicate3,
14015 OPC_CheckTypeI32,
14016 OPC_MoveParent,
14017 OPC_MoveParent,
14018 OPC_CheckTypeI64,
14019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14020 MVT::i64, 0,
14021 OPC_EmitConvertToTarget1,
14022 OPC_EmitNode1None, TARGET_VAL(Mips::SRA),
14023 MVT::i32, 2, 0, 3,
14024 OPC_EmitIntegerI32, Mips::sub_32,
14025 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14026 MVT::i64, 3, 2, 4, 5,
14027 25,
14028 OPC_CheckChild1TypeI32,
14029 OPC_MoveParent,
14030 OPC_CheckTypeI64,
14031 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14032 MVT::i64, 0,
14033 OPC_EmitNode1None, TARGET_VAL(Mips::SRAV),
14034 MVT::i32, 2, 0, 1,
14035 OPC_EmitIntegerI32, Mips::sub_32,
14036 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14037 MVT::i64, 3, 2, 3, 4,
14038 0,
14039 26, TARGET_VAL(ISD::SUB),
14040 OPC_RecordChild0,
14041 OPC_RecordChild1,
14042 OPC_MoveParent,
14043 OPC_CheckTypeI64,
14044 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14045 MVT::i64, 0,
14046 OPC_EmitNode1None, TARGET_VAL(Mips::SUBu),
14047 MVT::i32, 2, 0, 1,
14048 OPC_EmitIntegerI32, Mips::sub_32,
14049 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14050 MVT::i64, 3, 2, 3, 4,
14051 57, TARGET_VAL(ISD::MUL),
14052 OPC_RecordChild0,
14053 OPC_RecordChild1,
14054 OPC_MoveParent,
14055 OPC_CheckTypeI64,
14056 OPC_Scope, 25,
14057 OPC_CheckPatternPredicate, 92,
14058 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14059 MVT::i64, 0,
14060 OPC_EmitNode2None, TARGET_VAL(Mips::MUL),
14061 MVT::i32, MVT::i32, 2, 0, 1,
14062 OPC_EmitIntegerI32, Mips::sub_32,
14063 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14064 MVT::i64, 3, 2, 3, 5,
14065 24,
14066 OPC_CheckPatternPredicate, 19,
14067 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14068 MVT::i64, 0,
14069 OPC_EmitNode1None, TARGET_VAL(Mips::MUL_R6),
14070 MVT::i32, 2, 0, 1,
14071 OPC_EmitIntegerI32, Mips::sub_32,
14072 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14073 MVT::i64, 3, 2, 3, 4,
14074 0,
14075 24, TARGET_VAL(MipsISD::MFHI),
14076 OPC_RecordChild0,
14077 OPC_MoveParent,
14078 OPC_CheckTypeI64,
14079 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14080 MVT::i64, 0,
14081 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFHI),
14082 MVT::i32, 1, 0,
14083 OPC_EmitIntegerI32, Mips::sub_32,
14084 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14085 MVT::i64, 3, 1, 2, 3,
14086 24, TARGET_VAL(MipsISD::MFLO),
14087 OPC_RecordChild0,
14088 OPC_MoveParent,
14089 OPC_CheckTypeI64,
14090 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14091 MVT::i64, 0,
14092 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFLO),
14093 MVT::i32, 1, 0,
14094 OPC_EmitIntegerI32, Mips::sub_32,
14095 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14096 MVT::i64, 3, 1, 2, 3,
14097 28, TARGET_VAL(ISD::SDIV),
14098 OPC_RecordChild0,
14099 OPC_RecordChild1,
14100 OPC_MoveParent,
14101 OPC_CheckTypeI64,
14102 OPC_CheckPatternPredicate, 19,
14103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14104 MVT::i64, 0,
14105 OPC_EmitNode1None, TARGET_VAL(Mips::DIV),
14106 MVT::i32, 2, 0, 1,
14107 OPC_EmitIntegerI32, Mips::sub_32,
14108 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14109 MVT::i64, 3, 2, 3, 4,
14110 28, TARGET_VAL(ISD::UDIV),
14111 OPC_RecordChild0,
14112 OPC_RecordChild1,
14113 OPC_MoveParent,
14114 OPC_CheckTypeI64,
14115 OPC_CheckPatternPredicate, 19,
14116 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14117 MVT::i64, 0,
14118 OPC_EmitNode1None, TARGET_VAL(Mips::DIVU),
14119 MVT::i32, 2, 0, 1,
14120 OPC_EmitIntegerI32, Mips::sub_32,
14121 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14122 MVT::i64, 3, 2, 3, 4,
14123 28, TARGET_VAL(ISD::SREM),
14124 OPC_RecordChild0,
14125 OPC_RecordChild1,
14126 OPC_MoveParent,
14127 OPC_CheckTypeI64,
14128 OPC_CheckPatternPredicate, 19,
14129 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14130 MVT::i64, 0,
14131 OPC_EmitNode1None, TARGET_VAL(Mips::MOD),
14132 MVT::i32, 2, 0, 1,
14133 OPC_EmitIntegerI32, Mips::sub_32,
14134 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14135 MVT::i64, 3, 2, 3, 4,
14136 28, TARGET_VAL(ISD::UREM),
14137 OPC_RecordChild0,
14138 OPC_RecordChild1,
14139 OPC_MoveParent,
14140 OPC_CheckTypeI64,
14141 OPC_CheckPatternPredicate, 19,
14142 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14143 MVT::i64, 0,
14144 OPC_EmitNode1None, TARGET_VAL(Mips::MODU),
14145 MVT::i32, 2, 0, 1,
14146 OPC_EmitIntegerI32, Mips::sub_32,
14147 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14148 MVT::i64, 3, 2, 3, 4,
14149 0,
14150 10,
14151 OPC_RecordChild0,
14152 OPC_CheckTypeI64,
14153 OPC_CheckPatternPredicate, 9,
14154 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_32),
14155 MVT::i64, 1, 0,
14156 0,
14157 20, TARGET_VAL(ISD::CALLSEQ_START),
14158 OPC_RecordNode,
14159 OPC_RecordChild1,
14160 OPC_MoveChild1,
14161 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14162 OPC_MoveSibling2,
14163 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14164 OPC_RecordNode,
14165 OPC_MoveParent,
14166 OPC_EmitMergeInputChains1_0,
14167 OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
14168 2, 1, 2,
14169 21, TARGET_VAL(ISD::CALLSEQ_END),
14170 OPC_RecordNode,
14171 OPC_CaptureGlueInput,
14172 OPC_RecordChild1,
14173 OPC_MoveChild1,
14174 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14175 OPC_MoveSibling2,
14176 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14177 OPC_RecordNode,
14178 OPC_MoveParent,
14179 OPC_EmitMergeInputChains1_0,
14180 OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
14181 2, 1, 2,
14182 54, TARGET_VAL(ISD::FrameIndex),
14183 OPC_RecordNode,
14184 OPC_SwitchType , 36, MVT::i32,
14185 OPC_Scope, 10,
14186 OPC_CheckPatternPredicate2,
14187 OPC_CheckComplexPat0, /*#*/0,
14188 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu),
14189 MVT::i32, 2, 1, 2,
14190 11,
14191 OPC_CheckPatternPredicate5,
14192 OPC_CheckComplexPat, /*CP*/21, /*#*/0,
14193 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRyOffMemX16),
14194 MVT::i32, 2, 1, 2,
14195 10,
14196 OPC_CheckPatternPredicate4,
14197 OPC_CheckComplexPat0, /*#*/0,
14198 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu_MM),
14199 MVT::i32, 2, 1, 2,
14200 0,
14201 11, MVT::i64,
14202 OPC_CheckPatternPredicate, 116,
14203 OPC_CheckComplexPat0, /*#*/0,
14204 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu64),
14205 MVT::i64, 2, 1, 2,
14206 0,
14207 27, TARGET_VAL(MipsISD::Ins),
14208 OPC_RecordChild0,
14209 OPC_RecordChild1,
14210 OPC_MoveChild1,
14211 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14212 OPC_MoveSibling2,
14213 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14214 OPC_RecordNode,
14215 OPC_MoveParent,
14216 OPC_RecordChild3,
14217 OPC_CheckTypeI32,
14218 OPC_CheckPatternPredicate, 8,
14219 OPC_EmitConvertToTarget1,
14220 OPC_EmitConvertToTarget2,
14221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INS_MMR6),
14222 MVT::i32, 4, 0, 4, 5, 3,
14223 38|128,20, TARGET_VAL(ISD::SETCC),
14224 OPC_RecordChild0,
14225 OPC_Scope, 35|128,6,
14226 OPC_CheckChild0TypeI32,
14227 OPC_Scope, 70,
14228 OPC_CheckChild1Integer, 0,
14229 OPC_CheckTypeI32,
14230 OPC_Scope, 37,
14231 OPC_CheckChild2CondCode, ISD::SETEQ,
14232 OPC_Scope, 10,
14233 OPC_CheckPatternPredicate2,
14234 OPC_EmitIntegerI32, 1,
14235 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
14236 MVT::i32, 2, 0, 1,
14237 10,
14238 OPC_CheckPatternPredicate4,
14239 OPC_EmitIntegerI32, 1,
14240 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
14241 MVT::i32, 2, 0, 1,
14242 10,
14243 OPC_CheckPatternPredicate5,
14244 OPC_EmitIntegerI32, 1,
14245 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
14246 MVT::i32, 2, 0, 1,
14247 0,
14248 26,
14249 OPC_CheckChild2CondCode, ISD::SETNE,
14250 OPC_Scope, 10,
14251 OPC_CheckPatternPredicate2,
14252 OPC_EmitRegisterI32, Mips::ZERO,
14253 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
14254 MVT::i32, 2, 1, 0,
14255 10,
14256 OPC_CheckPatternPredicate4,
14257 OPC_EmitRegisterI32, Mips::ZERO,
14258 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
14259 MVT::i32, 2, 1, 0,
14260 0,
14261 0,
14262 34,
14263 OPC_CheckChild1Integer, 127|128,127|128,125,
14264 OPC_CheckChild2CondCode, ISD::SETGT,
14265 OPC_CheckTypeI32,
14266 OPC_CheckPatternPredicate5,
14267 OPC_EmitIntegerI32, 0|128,0|128,126,
14268 OPC_EmitNode1None, TARGET_VAL(Mips::SltiCCRxImmX16),
14269 MVT::i32, 2, 0, 1,
14270 OPC_EmitIntegerI32, 1,
14271 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14272 MVT::i32, 1, 3,
14273 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14274 MVT::i32, 2, 2, 4,
14275 52|128,5,
14276 OPC_RecordChild1,
14277 OPC_Scope, 37|128,1,
14278 OPC_MoveChild1,
14279 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14280 OPC_CheckPredicate7,
14281 OPC_MoveParent,
14282 OPC_CheckTypeI32,
14283 OPC_Scope, 34,
14284 OPC_CheckChild2CondCode, ISD::SETLT,
14285 OPC_Scope, 9,
14286 OPC_CheckPatternPredicate2,
14287 OPC_EmitConvertToTarget1,
14288 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi),
14289 MVT::i32, 2, 0, 2,
14290 9,
14291 OPC_CheckPatternPredicate4,
14292 OPC_EmitConvertToTarget1,
14293 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi_MM),
14294 MVT::i32, 2, 0, 2,
14295 9,
14296 OPC_CheckPatternPredicate5,
14297 OPC_EmitConvertToTarget1,
14298 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiCCRxImmX16),
14299 MVT::i32, 2, 0, 2,
14300 0,
14301 34,
14302 OPC_CheckChild2CondCode, ISD::SETULT,
14303 OPC_Scope, 9,
14304 OPC_CheckPatternPredicate2,
14305 OPC_EmitConvertToTarget1,
14306 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
14307 MVT::i32, 2, 0, 2,
14308 9,
14309 OPC_CheckPatternPredicate4,
14310 OPC_EmitConvertToTarget1,
14311 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
14312 MVT::i32, 2, 0, 2,
14313 9,
14314 OPC_CheckPatternPredicate5,
14315 OPC_EmitConvertToTarget1,
14316 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
14317 MVT::i32, 2, 0, 2,
14318 0,
14319 42,
14320 OPC_CheckChild2CondCode, ISD::SETGE,
14321 OPC_Scope, 18,
14322 OPC_CheckPatternPredicate2,
14323 OPC_EmitConvertToTarget1,
14324 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
14325 MVT::i32, 2, 0, 2,
14326 OPC_EmitIntegerI32, 1,
14327 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14328 MVT::i32, 2, 3, 4,
14329 18,
14330 OPC_CheckPatternPredicate4,
14331 OPC_EmitConvertToTarget1,
14332 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
14333 MVT::i32, 2, 0, 2,
14334 OPC_EmitIntegerI32, 1,
14335 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14336 MVT::i32, 2, 3, 4,
14337 0,
14338 42,
14339 OPC_CheckChild2CondCode, ISD::SETUGE,
14340 OPC_Scope, 18,
14341 OPC_CheckPatternPredicate2,
14342 OPC_EmitConvertToTarget1,
14343 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
14344 MVT::i32, 2, 0, 2,
14345 OPC_EmitIntegerI32, 1,
14346 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14347 MVT::i32, 2, 3, 4,
14348 18,
14349 OPC_CheckPatternPredicate4,
14350 OPC_EmitConvertToTarget1,
14351 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
14352 MVT::i32, 2, 0, 2,
14353 OPC_EmitIntegerI32, 1,
14354 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14355 MVT::i32, 2, 3, 4,
14356 0,
14357 0,
14358 32,
14359 OPC_CheckChild2CondCode, ISD::SETLT,
14360 OPC_CheckTypeI32,
14361 OPC_Scope, 8,
14362 OPC_CheckPatternPredicate2,
14363 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
14364 MVT::i32, 2, 0, 1,
14365 8,
14366 OPC_CheckPatternPredicate4,
14367 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
14368 MVT::i32, 2, 0, 1,
14369 8,
14370 OPC_CheckPatternPredicate5,
14371 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
14372 MVT::i32, 2, 0, 1,
14373 0,
14374 32,
14375 OPC_CheckChild2CondCode, ISD::SETULT,
14376 OPC_CheckTypeI32,
14377 OPC_Scope, 8,
14378 OPC_CheckPatternPredicate2,
14379 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
14380 MVT::i32, 2, 0, 1,
14381 8,
14382 OPC_CheckPatternPredicate4,
14383 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
14384 MVT::i32, 2, 0, 1,
14385 8,
14386 OPC_CheckPatternPredicate5,
14387 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
14388 MVT::i32, 2, 0, 1,
14389 0,
14390 32,
14391 OPC_CheckChild2CondCode, ISD::SETGT,
14392 OPC_CheckTypeI32,
14393 OPC_Scope, 8,
14394 OPC_CheckPatternPredicate2,
14395 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
14396 MVT::i32, 2, 1, 0,
14397 8,
14398 OPC_CheckPatternPredicate4,
14399 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
14400 MVT::i32, 2, 1, 0,
14401 8,
14402 OPC_CheckPatternPredicate5,
14403 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
14404 MVT::i32, 2, 1, 0,
14405 0,
14406 32,
14407 OPC_CheckChild2CondCode, ISD::SETUGT,
14408 OPC_CheckTypeI32,
14409 OPC_Scope, 8,
14410 OPC_CheckPatternPredicate2,
14411 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
14412 MVT::i32, 2, 1, 0,
14413 8,
14414 OPC_CheckPatternPredicate4,
14415 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
14416 MVT::i32, 2, 1, 0,
14417 8,
14418 OPC_CheckPatternPredicate5,
14419 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
14420 MVT::i32, 2, 1, 0,
14421 0,
14422 59,
14423 OPC_CheckChild2CondCode, ISD::SETEQ,
14424 OPC_CheckTypeI32,
14425 OPC_Scope, 17,
14426 OPC_CheckPatternPredicate2,
14427 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
14428 MVT::i32, 2, 0, 1,
14429 OPC_EmitIntegerI32, 1,
14430 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
14431 MVT::i32, 2, 2, 3,
14432 17,
14433 OPC_CheckPatternPredicate4,
14434 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
14435 MVT::i32, 2, 0, 1,
14436 OPC_EmitIntegerI32, 1,
14437 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
14438 MVT::i32, 2, 2, 3,
14439 17,
14440 OPC_CheckPatternPredicate5,
14441 OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
14442 MVT::i32, 2, 0, 1,
14443 OPC_EmitIntegerI32, 1,
14444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
14445 MVT::i32, 2, 2, 3,
14446 0,
14447 65,
14448 OPC_CheckChild2CondCode, ISD::SETNE,
14449 OPC_CheckTypeI32,
14450 OPC_Scope, 17,
14451 OPC_CheckPatternPredicate2,
14452 OPC_EmitRegisterI32, Mips::ZERO,
14453 OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
14454 MVT::i32, 2, 0, 1,
14455 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
14456 MVT::i32, 2, 2, 3,
14457 17,
14458 OPC_CheckPatternPredicate4,
14459 OPC_EmitRegisterI32, Mips::ZERO,
14460 OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
14461 MVT::i32, 2, 0, 1,
14462 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
14463 MVT::i32, 2, 2, 3,
14464 23,
14465 OPC_CheckPatternPredicate5,
14466 OPC_EmitIntegerI32, 0,
14467 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14468 MVT::i32, 1, 2,
14469 OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
14470 MVT::i32, 2, 0, 1,
14471 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
14472 MVT::i32, 2, 3, 4,
14473 0,
14474 65,
14475 OPC_CheckChild2CondCode, ISD::SETLE,
14476 OPC_CheckTypeI32,
14477 OPC_Scope, 17,
14478 OPC_CheckPatternPredicate2,
14479 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
14480 MVT::i32, 2, 1, 0,
14481 OPC_EmitIntegerI32, 1,
14482 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14483 MVT::i32, 2, 2, 3,
14484 17,
14485 OPC_CheckPatternPredicate4,
14486 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
14487 MVT::i32, 2, 1, 0,
14488 OPC_EmitIntegerI32, 1,
14489 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14490 MVT::i32, 2, 2, 3,
14491 23,
14492 OPC_CheckPatternPredicate5,
14493 OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
14494 MVT::i32, 2, 1, 0,
14495 OPC_EmitIntegerI32, 1,
14496 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImm16),
14497 MVT::i32, 1, 3,
14498 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14499 MVT::i32, 2, 2, 4,
14500 0,
14501 65,
14502 OPC_CheckChild2CondCode, ISD::SETULE,
14503 OPC_CheckTypeI32,
14504 OPC_Scope, 17,
14505 OPC_CheckPatternPredicate2,
14506 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
14507 MVT::i32, 2, 1, 0,
14508 OPC_EmitIntegerI32, 1,
14509 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14510 MVT::i32, 2, 2, 3,
14511 17,
14512 OPC_CheckPatternPredicate4,
14513 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
14514 MVT::i32, 2, 1, 0,
14515 OPC_EmitIntegerI32, 1,
14516 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14517 MVT::i32, 2, 2, 3,
14518 23,
14519 OPC_CheckPatternPredicate5,
14520 OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
14521 MVT::i32, 2, 1, 0,
14522 OPC_EmitIntegerI32, 1,
14523 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14524 MVT::i32, 1, 3,
14525 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14526 MVT::i32, 2, 2, 4,
14527 0,
14528 65,
14529 OPC_CheckChild2CondCode, ISD::SETGE,
14530 OPC_CheckTypeI32,
14531 OPC_Scope, 17,
14532 OPC_CheckPatternPredicate2,
14533 OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
14534 MVT::i32, 2, 0, 1,
14535 OPC_EmitIntegerI32, 1,
14536 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14537 MVT::i32, 2, 2, 3,
14538 17,
14539 OPC_CheckPatternPredicate4,
14540 OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
14541 MVT::i32, 2, 0, 1,
14542 OPC_EmitIntegerI32, 1,
14543 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14544 MVT::i32, 2, 2, 3,
14545 23,
14546 OPC_CheckPatternPredicate5,
14547 OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
14548 MVT::i32, 2, 0, 1,
14549 OPC_EmitIntegerI32, 1,
14550 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14551 MVT::i32, 1, 3,
14552 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14553 MVT::i32, 2, 2, 4,
14554 0,
14555 65,
14556 OPC_CheckChild2CondCode, ISD::SETUGE,
14557 OPC_CheckTypeI32,
14558 OPC_Scope, 17,
14559 OPC_CheckPatternPredicate2,
14560 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
14561 MVT::i32, 2, 0, 1,
14562 OPC_EmitIntegerI32, 1,
14563 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14564 MVT::i32, 2, 2, 3,
14565 17,
14566 OPC_CheckPatternPredicate4,
14567 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
14568 MVT::i32, 2, 0, 1,
14569 OPC_EmitIntegerI32, 1,
14570 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14571 MVT::i32, 2, 2, 3,
14572 23,
14573 OPC_CheckPatternPredicate5,
14574 OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
14575 MVT::i32, 2, 0, 1,
14576 OPC_EmitIntegerI32, 1,
14577 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14578 MVT::i32, 1, 3,
14579 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14580 MVT::i32, 2, 2, 4,
14581 0,
14582 0,
14583 0,
14584 54|128,2,
14585 OPC_CheckChild0TypeI64,
14586 OPC_Scope, 35,
14587 OPC_CheckChild1Integer, 0,
14588 OPC_CheckTypeI32,
14589 OPC_Scope, 13,
14590 OPC_CheckChild2CondCode, ISD::SETEQ,
14591 OPC_CheckPatternPredicate, 34,
14592 OPC_EmitIntegerI64, 1,
14593 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14594 MVT::i32, 2, 0, 1,
14595 15,
14596 OPC_CheckChild2CondCode, ISD::SETNE,
14597 OPC_CheckPatternPredicate, 34,
14598 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
14599 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14600 MVT::i32, 2, 1, 0,
14601 0,
14602 13|128,2,
14603 OPC_RecordChild1,
14604 OPC_Scope, 79,
14605 OPC_MoveChild1,
14606 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14607 OPC_CheckPredicate7,
14608 OPC_MoveParent,
14609 OPC_CheckTypeI32,
14610 OPC_Scope, 12,
14611 OPC_CheckChild2CondCode, ISD::SETLT,
14612 OPC_CheckPatternPredicate, 18,
14613 OPC_EmitConvertToTarget1,
14614 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi64),
14615 MVT::i32, 2, 0, 2,
14616 12,
14617 OPC_CheckChild2CondCode, ISD::SETULT,
14618 OPC_CheckPatternPredicate, 18,
14619 OPC_EmitConvertToTarget1,
14620 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14621 MVT::i32, 2, 0, 2,
14622 21,
14623 OPC_CheckChild2CondCode, ISD::SETGE,
14624 OPC_CheckPatternPredicate, 34,
14625 OPC_EmitConvertToTarget1,
14626 OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
14627 MVT::i32, 2, 0, 2,
14628 OPC_EmitIntegerI32, 1,
14629 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14630 MVT::i32, 2, 3, 4,
14631 21,
14632 OPC_CheckChild2CondCode, ISD::SETUGE,
14633 OPC_CheckPatternPredicate, 34,
14634 OPC_EmitConvertToTarget1,
14635 OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
14636 MVT::i32, 2, 0, 2,
14637 OPC_EmitIntegerI32, 1,
14638 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14639 MVT::i32, 2, 3, 4,
14640 0,
14641 12,
14642 OPC_CheckChild2CondCode, ISD::SETLT,
14643 OPC_CheckTypeI32,
14644 OPC_CheckPatternPredicate, 18,
14645 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
14646 MVT::i32, 2, 0, 1,
14647 12,
14648 OPC_CheckChild2CondCode, ISD::SETULT,
14649 OPC_CheckTypeI32,
14650 OPC_CheckPatternPredicate, 18,
14651 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14652 MVT::i32, 2, 0, 1,
14653 12,
14654 OPC_CheckChild2CondCode, ISD::SETGT,
14655 OPC_CheckTypeI32,
14656 OPC_CheckPatternPredicate, 34,
14657 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
14658 MVT::i32, 2, 1, 0,
14659 12,
14660 OPC_CheckChild2CondCode, ISD::SETUGT,
14661 OPC_CheckTypeI32,
14662 OPC_CheckPatternPredicate, 34,
14663 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14664 MVT::i32, 2, 1, 0,
14665 21,
14666 OPC_CheckChild2CondCode, ISD::SETEQ,
14667 OPC_CheckTypeI32,
14668 OPC_CheckPatternPredicate, 34,
14669 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
14670 MVT::i64, 2, 0, 1,
14671 OPC_EmitIntegerI64, 1,
14672 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14673 MVT::i32, 2, 2, 3,
14674 23,
14675 OPC_CheckChild2CondCode, ISD::SETNE,
14676 OPC_CheckTypeI32,
14677 OPC_CheckPatternPredicate, 34,
14678 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
14679 OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
14680 MVT::i64, 2, 0, 1,
14681 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14682 MVT::i32, 2, 2, 3,
14683 21,
14684 OPC_CheckChild2CondCode, ISD::SETLE,
14685 OPC_CheckTypeI32,
14686 OPC_CheckPatternPredicate, 34,
14687 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
14688 MVT::i32, 2, 1, 0,
14689 OPC_EmitIntegerI32, 1,
14690 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14691 MVT::i32, 2, 2, 3,
14692 21,
14693 OPC_CheckChild2CondCode, ISD::SETULE,
14694 OPC_CheckTypeI32,
14695 OPC_CheckPatternPredicate, 34,
14696 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
14697 MVT::i32, 2, 1, 0,
14698 OPC_EmitIntegerI32, 1,
14699 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14700 MVT::i32, 2, 2, 3,
14701 21,
14702 OPC_CheckChild2CondCode, ISD::SETGE,
14703 OPC_CheckTypeI32,
14704 OPC_CheckPatternPredicate, 34,
14705 OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
14706 MVT::i32, 2, 0, 1,
14707 OPC_EmitIntegerI32, 1,
14708 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14709 MVT::i32, 2, 2, 3,
14710 21,
14711 OPC_CheckChild2CondCode, ISD::SETUGE,
14712 OPC_CheckTypeI32,
14713 OPC_CheckPatternPredicate, 34,
14714 OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
14715 MVT::i32, 2, 0, 1,
14716 OPC_EmitIntegerI32, 1,
14717 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14718 MVT::i32, 2, 2, 3,
14719 0,
14720 0,
14721 50|128,2,
14722 OPC_CheckChild0Type, MVT::f32,
14723 OPC_RecordChild1,
14724 OPC_CheckTypeI32,
14725 OPC_Scope, 24,
14726 OPC_CheckChild2CondCode, ISD::SETUO,
14727 OPC_Scope, 9,
14728 OPC_CheckPatternPredicate, 31,
14729 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S),
14730 MVT::i32, 2, 0, 1,
14731 9,
14732 OPC_CheckPatternPredicate, 27,
14733 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S_MMR6),
14734 MVT::i32, 2, 0, 1,
14735 0,
14736 24,
14737 OPC_CheckChild2CondCode, ISD::SETOEQ,
14738 OPC_Scope, 9,
14739 OPC_CheckPatternPredicate, 31,
14740 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
14741 MVT::i32, 2, 0, 1,
14742 9,
14743 OPC_CheckPatternPredicate, 27,
14744 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14745 MVT::i32, 2, 0, 1,
14746 0,
14747 24,
14748 OPC_CheckChild2CondCode, ISD::SETUEQ,
14749 OPC_Scope, 9,
14750 OPC_CheckPatternPredicate, 31,
14751 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S),
14752 MVT::i32, 2, 0, 1,
14753 9,
14754 OPC_CheckPatternPredicate, 27,
14755 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S_MMR6),
14756 MVT::i32, 2, 0, 1,
14757 0,
14758 24,
14759 OPC_CheckChild2CondCode, ISD::SETOLT,
14760 OPC_Scope, 9,
14761 OPC_CheckPatternPredicate, 31,
14762 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14763 MVT::i32, 2, 0, 1,
14764 9,
14765 OPC_CheckPatternPredicate, 27,
14766 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14767 MVT::i32, 2, 0, 1,
14768 0,
14769 24,
14770 OPC_CheckChild2CondCode, ISD::SETULT,
14771 OPC_Scope, 9,
14772 OPC_CheckPatternPredicate, 31,
14773 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S),
14774 MVT::i32, 2, 0, 1,
14775 9,
14776 OPC_CheckPatternPredicate, 27,
14777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S_MMR6),
14778 MVT::i32, 2, 0, 1,
14779 0,
14780 24,
14781 OPC_CheckChild2CondCode, ISD::SETOLE,
14782 OPC_Scope, 9,
14783 OPC_CheckPatternPredicate, 31,
14784 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14785 MVT::i32, 2, 0, 1,
14786 9,
14787 OPC_CheckPatternPredicate, 27,
14788 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14789 MVT::i32, 2, 0, 1,
14790 0,
14791 24,
14792 OPC_CheckChild2CondCode, ISD::SETULE,
14793 OPC_Scope, 9,
14794 OPC_CheckPatternPredicate, 31,
14795 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S),
14796 MVT::i32, 2, 0, 1,
14797 9,
14798 OPC_CheckPatternPredicate, 27,
14799 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S_MMR6),
14800 MVT::i32, 2, 0, 1,
14801 0,
14802 24,
14803 OPC_CheckChild2CondCode, ISD::SETEQ,
14804 OPC_Scope, 9,
14805 OPC_CheckPatternPredicate, 15,
14806 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
14807 MVT::i32, 2, 0, 1,
14808 9,
14809 OPC_CheckPatternPredicate, 8,
14810 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14811 MVT::i32, 2, 0, 1,
14812 0,
14813 24,
14814 OPC_CheckChild2CondCode, ISD::SETGT,
14815 OPC_Scope, 9,
14816 OPC_CheckPatternPredicate, 15,
14817 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14818 MVT::i32, 2, 1, 0,
14819 9,
14820 OPC_CheckPatternPredicate, 8,
14821 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14822 MVT::i32, 2, 1, 0,
14823 0,
14824 24,
14825 OPC_CheckChild2CondCode, ISD::SETGE,
14826 OPC_Scope, 9,
14827 OPC_CheckPatternPredicate, 15,
14828 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14829 MVT::i32, 2, 1, 0,
14830 9,
14831 OPC_CheckPatternPredicate, 8,
14832 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14833 MVT::i32, 2, 1, 0,
14834 0,
14835 24,
14836 OPC_CheckChild2CondCode, ISD::SETLT,
14837 OPC_Scope, 9,
14838 OPC_CheckPatternPredicate, 15,
14839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14840 MVT::i32, 2, 0, 1,
14841 9,
14842 OPC_CheckPatternPredicate, 8,
14843 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14844 MVT::i32, 2, 0, 1,
14845 0,
14846 24,
14847 OPC_CheckChild2CondCode, ISD::SETLE,
14848 OPC_Scope, 9,
14849 OPC_CheckPatternPredicate, 15,
14850 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14851 MVT::i32, 2, 0, 1,
14852 9,
14853 OPC_CheckPatternPredicate, 8,
14854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14855 MVT::i32, 2, 0, 1,
14856 0,
14857 0,
14858 50|128,2,
14859 OPC_CheckChild0Type, MVT::f64,
14860 OPC_RecordChild1,
14861 OPC_CheckTypeI32,
14862 OPC_Scope, 24,
14863 OPC_CheckChild2CondCode, ISD::SETUO,
14864 OPC_Scope, 9,
14865 OPC_CheckPatternPredicate, 31,
14866 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D),
14867 MVT::i32, 2, 0, 1,
14868 9,
14869 OPC_CheckPatternPredicate, 27,
14870 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D_MMR6),
14871 MVT::i32, 2, 0, 1,
14872 0,
14873 24,
14874 OPC_CheckChild2CondCode, ISD::SETOEQ,
14875 OPC_Scope, 9,
14876 OPC_CheckPatternPredicate, 31,
14877 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
14878 MVT::i32, 2, 0, 1,
14879 9,
14880 OPC_CheckPatternPredicate, 27,
14881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14882 MVT::i32, 2, 0, 1,
14883 0,
14884 24,
14885 OPC_CheckChild2CondCode, ISD::SETUEQ,
14886 OPC_Scope, 9,
14887 OPC_CheckPatternPredicate, 31,
14888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D),
14889 MVT::i32, 2, 0, 1,
14890 9,
14891 OPC_CheckPatternPredicate, 27,
14892 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D_MMR6),
14893 MVT::i32, 2, 0, 1,
14894 0,
14895 24,
14896 OPC_CheckChild2CondCode, ISD::SETOLT,
14897 OPC_Scope, 9,
14898 OPC_CheckPatternPredicate, 31,
14899 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14900 MVT::i32, 2, 0, 1,
14901 9,
14902 OPC_CheckPatternPredicate, 27,
14903 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14904 MVT::i32, 2, 0, 1,
14905 0,
14906 24,
14907 OPC_CheckChild2CondCode, ISD::SETULT,
14908 OPC_Scope, 9,
14909 OPC_CheckPatternPredicate, 31,
14910 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D),
14911 MVT::i32, 2, 0, 1,
14912 9,
14913 OPC_CheckPatternPredicate, 27,
14914 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D_MMR6),
14915 MVT::i32, 2, 0, 1,
14916 0,
14917 24,
14918 OPC_CheckChild2CondCode, ISD::SETOLE,
14919 OPC_Scope, 9,
14920 OPC_CheckPatternPredicate, 31,
14921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14922 MVT::i32, 2, 0, 1,
14923 9,
14924 OPC_CheckPatternPredicate, 27,
14925 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14926 MVT::i32, 2, 0, 1,
14927 0,
14928 24,
14929 OPC_CheckChild2CondCode, ISD::SETULE,
14930 OPC_Scope, 9,
14931 OPC_CheckPatternPredicate, 31,
14932 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D),
14933 MVT::i32, 2, 0, 1,
14934 9,
14935 OPC_CheckPatternPredicate, 27,
14936 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D_MMR6),
14937 MVT::i32, 2, 0, 1,
14938 0,
14939 24,
14940 OPC_CheckChild2CondCode, ISD::SETEQ,
14941 OPC_Scope, 9,
14942 OPC_CheckPatternPredicate, 15,
14943 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
14944 MVT::i32, 2, 0, 1,
14945 9,
14946 OPC_CheckPatternPredicate, 8,
14947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14948 MVT::i32, 2, 0, 1,
14949 0,
14950 24,
14951 OPC_CheckChild2CondCode, ISD::SETGT,
14952 OPC_Scope, 9,
14953 OPC_CheckPatternPredicate, 15,
14954 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14955 MVT::i32, 2, 1, 0,
14956 9,
14957 OPC_CheckPatternPredicate, 8,
14958 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14959 MVT::i32, 2, 1, 0,
14960 0,
14961 24,
14962 OPC_CheckChild2CondCode, ISD::SETGE,
14963 OPC_Scope, 9,
14964 OPC_CheckPatternPredicate, 15,
14965 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14966 MVT::i32, 2, 1, 0,
14967 9,
14968 OPC_CheckPatternPredicate, 8,
14969 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14970 MVT::i32, 2, 1, 0,
14971 0,
14972 24,
14973 OPC_CheckChild2CondCode, ISD::SETLT,
14974 OPC_Scope, 9,
14975 OPC_CheckPatternPredicate, 15,
14976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14977 MVT::i32, 2, 0, 1,
14978 9,
14979 OPC_CheckPatternPredicate, 8,
14980 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14981 MVT::i32, 2, 0, 1,
14982 0,
14983 24,
14984 OPC_CheckChild2CondCode, ISD::SETLE,
14985 OPC_Scope, 9,
14986 OPC_CheckPatternPredicate, 15,
14987 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14988 MVT::i32, 2, 0, 1,
14989 9,
14990 OPC_CheckPatternPredicate, 8,
14991 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14992 MVT::i32, 2, 0, 1,
14993 0,
14994 0,
14995 4|128,1,
14996 OPC_CheckChild0Type, MVT::v16i8,
14997 OPC_RecordChild1,
14998 OPC_CheckType, MVT::v16i8,
14999 OPC_Scope, 24,
15000 OPC_CheckChild2CondCode, ISD::SETEQ,
15001 OPC_CheckPatternPredicate0,
15002 OPC_Scope, 10,
15003 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
15004 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_B),
15005 MVT::v16i8, 2, 0, 2,
15006 7,
15007 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_B),
15008 MVT::v16i8, 2, 0, 1,
15009 0,
15010 24,
15011 OPC_CheckChild2CondCode, ISD::SETLE,
15012 OPC_CheckPatternPredicate0,
15013 OPC_Scope, 10,
15014 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
15015 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_B),
15016 MVT::v16i8, 2, 0, 2,
15017 7,
15018 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_B),
15019 MVT::v16i8, 2, 0, 1,
15020 0,
15021 24,
15022 OPC_CheckChild2CondCode, ISD::SETULE,
15023 OPC_CheckPatternPredicate0,
15024 OPC_Scope, 10,
15025 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
15026 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_B),
15027 MVT::v16i8, 2, 0, 2,
15028 7,
15029 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_B),
15030 MVT::v16i8, 2, 0, 1,
15031 0,
15032 24,
15033 OPC_CheckChild2CondCode, ISD::SETLT,
15034 OPC_CheckPatternPredicate0,
15035 OPC_Scope, 10,
15036 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
15037 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_B),
15038 MVT::v16i8, 2, 0, 2,
15039 7,
15040 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_B),
15041 MVT::v16i8, 2, 0, 1,
15042 0,
15043 24,
15044 OPC_CheckChild2CondCode, ISD::SETULT,
15045 OPC_CheckPatternPredicate0,
15046 OPC_Scope, 10,
15047 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
15048 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_B),
15049 MVT::v16i8, 2, 0, 2,
15050 7,
15051 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_B),
15052 MVT::v16i8, 2, 0, 1,
15053 0,
15054 0,
15055 4|128,1,
15056 OPC_CheckChild0Type, MVT::v8i16,
15057 OPC_RecordChild1,
15058 OPC_CheckType, MVT::v8i16,
15059 OPC_Scope, 24,
15060 OPC_CheckChild2CondCode, ISD::SETEQ,
15061 OPC_CheckPatternPredicate0,
15062 OPC_Scope, 10,
15063 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
15064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_H),
15065 MVT::v8i16, 2, 0, 2,
15066 7,
15067 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_H),
15068 MVT::v8i16, 2, 0, 1,
15069 0,
15070 24,
15071 OPC_CheckChild2CondCode, ISD::SETLE,
15072 OPC_CheckPatternPredicate0,
15073 OPC_Scope, 10,
15074 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
15075 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_H),
15076 MVT::v8i16, 2, 0, 2,
15077 7,
15078 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_H),
15079 MVT::v8i16, 2, 0, 1,
15080 0,
15081 24,
15082 OPC_CheckChild2CondCode, ISD::SETULE,
15083 OPC_CheckPatternPredicate0,
15084 OPC_Scope, 10,
15085 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
15086 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_H),
15087 MVT::v8i16, 2, 0, 2,
15088 7,
15089 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_H),
15090 MVT::v8i16, 2, 0, 1,
15091 0,
15092 24,
15093 OPC_CheckChild2CondCode, ISD::SETLT,
15094 OPC_CheckPatternPredicate0,
15095 OPC_Scope, 10,
15096 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
15097 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_H),
15098 MVT::v8i16, 2, 0, 2,
15099 7,
15100 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_H),
15101 MVT::v8i16, 2, 0, 1,
15102 0,
15103 24,
15104 OPC_CheckChild2CondCode, ISD::SETULT,
15105 OPC_CheckPatternPredicate0,
15106 OPC_Scope, 10,
15107 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
15108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_H),
15109 MVT::v8i16, 2, 0, 2,
15110 7,
15111 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_H),
15112 MVT::v8i16, 2, 0, 1,
15113 0,
15114 0,
15115 2|128,1,
15116 OPC_CheckChild0Type, MVT::v4i32,
15117 OPC_RecordChild1,
15118 OPC_CheckType, MVT::v4i32,
15119 OPC_Scope, 24,
15120 OPC_CheckChild2CondCode, ISD::SETEQ,
15121 OPC_CheckPatternPredicate0,
15122 OPC_Scope, 10,
15123 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
15124 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_W),
15125 MVT::v4i32, 2, 0, 2,
15126 7,
15127 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_W),
15128 MVT::v4i32, 2, 0, 1,
15129 0,
15130 24,
15131 OPC_CheckChild2CondCode, ISD::SETLE,
15132 OPC_CheckPatternPredicate0,
15133 OPC_Scope, 10,
15134 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
15135 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_W),
15136 MVT::v4i32, 2, 0, 2,
15137 7,
15138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_W),
15139 MVT::v4i32, 2, 0, 1,
15140 0,
15141 23,
15142 OPC_CheckChild2CondCode, ISD::SETULE,
15143 OPC_CheckPatternPredicate0,
15144 OPC_Scope, 9,
15145 OPC_CheckComplexPat5, /*#*/1,
15146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_W),
15147 MVT::v4i32, 2, 0, 2,
15148 7,
15149 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_W),
15150 MVT::v4i32, 2, 0, 1,
15151 0,
15152 24,
15153 OPC_CheckChild2CondCode, ISD::SETLT,
15154 OPC_CheckPatternPredicate0,
15155 OPC_Scope, 10,
15156 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
15157 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_W),
15158 MVT::v4i32, 2, 0, 2,
15159 7,
15160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_W),
15161 MVT::v4i32, 2, 0, 1,
15162 0,
15163 23,
15164 OPC_CheckChild2CondCode, ISD::SETULT,
15165 OPC_CheckPatternPredicate0,
15166 OPC_Scope, 9,
15167 OPC_CheckComplexPat5, /*#*/1,
15168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_W),
15169 MVT::v4i32, 2, 0, 2,
15170 7,
15171 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_W),
15172 MVT::v4i32, 2, 0, 1,
15173 0,
15174 0,
15175 4|128,1,
15176 OPC_CheckChild0Type, MVT::v2i64,
15177 OPC_RecordChild1,
15178 OPC_CheckType, MVT::v2i64,
15179 OPC_Scope, 24,
15180 OPC_CheckChild2CondCode, ISD::SETEQ,
15181 OPC_CheckPatternPredicate0,
15182 OPC_Scope, 10,
15183 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
15184 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_D),
15185 MVT::v2i64, 2, 0, 2,
15186 7,
15187 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_D),
15188 MVT::v2i64, 2, 0, 1,
15189 0,
15190 24,
15191 OPC_CheckChild2CondCode, ISD::SETLE,
15192 OPC_CheckPatternPredicate0,
15193 OPC_Scope, 10,
15194 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
15195 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_D),
15196 MVT::v2i64, 2, 0, 2,
15197 7,
15198 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_D),
15199 MVT::v2i64, 2, 0, 1,
15200 0,
15201 24,
15202 OPC_CheckChild2CondCode, ISD::SETULE,
15203 OPC_CheckPatternPredicate0,
15204 OPC_Scope, 10,
15205 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15206 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_D),
15207 MVT::v2i64, 2, 0, 2,
15208 7,
15209 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_D),
15210 MVT::v2i64, 2, 0, 1,
15211 0,
15212 24,
15213 OPC_CheckChild2CondCode, ISD::SETLT,
15214 OPC_CheckPatternPredicate0,
15215 OPC_Scope, 10,
15216 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
15217 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_D),
15218 MVT::v2i64, 2, 0, 2,
15219 7,
15220 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_D),
15221 MVT::v2i64, 2, 0, 1,
15222 0,
15223 24,
15224 OPC_CheckChild2CondCode, ISD::SETULT,
15225 OPC_CheckPatternPredicate0,
15226 OPC_Scope, 10,
15227 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15228 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_D),
15229 MVT::v2i64, 2, 0, 2,
15230 7,
15231 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_D),
15232 MVT::v2i64, 2, 0, 1,
15233 0,
15234 0,
15235 34|128,1,
15236 OPC_CheckChild0Type, 6|128,1,
15237 OPC_RecordChild1,
15238 OPC_CheckType, MVT::v4i32,
15239 OPC_Scope, 10,
15240 OPC_CheckChild2CondCode, ISD::SETOEQ,
15241 OPC_CheckPatternPredicate0,
15242 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
15243 MVT::v4i32, 2, 0, 1,
15244 10,
15245 OPC_CheckChild2CondCode, ISD::SETOLE,
15246 OPC_CheckPatternPredicate0,
15247 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
15248 MVT::v4i32, 2, 0, 1,
15249 10,
15250 OPC_CheckChild2CondCode, ISD::SETOLT,
15251 OPC_CheckPatternPredicate0,
15252 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
15253 MVT::v4i32, 2, 0, 1,
15254 10,
15255 OPC_CheckChild2CondCode, ISD::SETONE,
15256 OPC_CheckPatternPredicate0,
15257 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
15258 MVT::v4i32, 2, 0, 1,
15259 10,
15260 OPC_CheckChild2CondCode, ISD::SETO,
15261 OPC_CheckPatternPredicate0,
15262 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_W),
15263 MVT::v4i32, 2, 0, 1,
15264 10,
15265 OPC_CheckChild2CondCode, ISD::SETUEQ,
15266 OPC_CheckPatternPredicate0,
15267 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_W),
15268 MVT::v4i32, 2, 0, 1,
15269 10,
15270 OPC_CheckChild2CondCode, ISD::SETULE,
15271 OPC_CheckPatternPredicate0,
15272 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_W),
15273 MVT::v4i32, 2, 0, 1,
15274 10,
15275 OPC_CheckChild2CondCode, ISD::SETULT,
15276 OPC_CheckPatternPredicate0,
15277 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_W),
15278 MVT::v4i32, 2, 0, 1,
15279 10,
15280 OPC_CheckChild2CondCode, ISD::SETUO,
15281 OPC_CheckPatternPredicate0,
15282 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_W),
15283 MVT::v4i32, 2, 0, 1,
15284 10,
15285 OPC_CheckChild2CondCode, ISD::SETUNE,
15286 OPC_CheckPatternPredicate0,
15287 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_W),
15288 MVT::v4i32, 2, 0, 1,
15289 10,
15290 OPC_CheckChild2CondCode, ISD::SETEQ,
15291 OPC_CheckPatternPredicate3,
15292 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
15293 MVT::v4i32, 2, 0, 1,
15294 10,
15295 OPC_CheckChild2CondCode, ISD::SETLE,
15296 OPC_CheckPatternPredicate3,
15297 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
15298 MVT::v4i32, 2, 0, 1,
15299 10,
15300 OPC_CheckChild2CondCode, ISD::SETLT,
15301 OPC_CheckPatternPredicate3,
15302 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
15303 MVT::v4i32, 2, 0, 1,
15304 10,
15305 OPC_CheckChild2CondCode, ISD::SETNE,
15306 OPC_CheckPatternPredicate3,
15307 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
15308 MVT::v4i32, 2, 0, 1,
15309 0,
15310 34|128,1,
15311 OPC_CheckChild0Type, 24|128,1,
15312 OPC_RecordChild1,
15313 OPC_CheckType, MVT::v2i64,
15314 OPC_Scope, 10,
15315 OPC_CheckChild2CondCode, ISD::SETOEQ,
15316 OPC_CheckPatternPredicate0,
15317 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
15318 MVT::v2i64, 2, 0, 1,
15319 10,
15320 OPC_CheckChild2CondCode, ISD::SETOLE,
15321 OPC_CheckPatternPredicate0,
15322 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
15323 MVT::v2i64, 2, 0, 1,
15324 10,
15325 OPC_CheckChild2CondCode, ISD::SETOLT,
15326 OPC_CheckPatternPredicate0,
15327 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
15328 MVT::v2i64, 2, 0, 1,
15329 10,
15330 OPC_CheckChild2CondCode, ISD::SETONE,
15331 OPC_CheckPatternPredicate0,
15332 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
15333 MVT::v2i64, 2, 0, 1,
15334 10,
15335 OPC_CheckChild2CondCode, ISD::SETO,
15336 OPC_CheckPatternPredicate0,
15337 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_D),
15338 MVT::v2i64, 2, 0, 1,
15339 10,
15340 OPC_CheckChild2CondCode, ISD::SETUEQ,
15341 OPC_CheckPatternPredicate0,
15342 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_D),
15343 MVT::v2i64, 2, 0, 1,
15344 10,
15345 OPC_CheckChild2CondCode, ISD::SETULE,
15346 OPC_CheckPatternPredicate0,
15347 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_D),
15348 MVT::v2i64, 2, 0, 1,
15349 10,
15350 OPC_CheckChild2CondCode, ISD::SETULT,
15351 OPC_CheckPatternPredicate0,
15352 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_D),
15353 MVT::v2i64, 2, 0, 1,
15354 10,
15355 OPC_CheckChild2CondCode, ISD::SETUO,
15356 OPC_CheckPatternPredicate0,
15357 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_D),
15358 MVT::v2i64, 2, 0, 1,
15359 10,
15360 OPC_CheckChild2CondCode, ISD::SETUNE,
15361 OPC_CheckPatternPredicate0,
15362 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_D),
15363 MVT::v2i64, 2, 0, 1,
15364 10,
15365 OPC_CheckChild2CondCode, ISD::SETEQ,
15366 OPC_CheckPatternPredicate3,
15367 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
15368 MVT::v2i64, 2, 0, 1,
15369 10,
15370 OPC_CheckChild2CondCode, ISD::SETLE,
15371 OPC_CheckPatternPredicate3,
15372 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
15373 MVT::v2i64, 2, 0, 1,
15374 10,
15375 OPC_CheckChild2CondCode, ISD::SETLT,
15376 OPC_CheckPatternPredicate3,
15377 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
15378 MVT::v2i64, 2, 0, 1,
15379 10,
15380 OPC_CheckChild2CondCode, ISD::SETNE,
15381 OPC_CheckPatternPredicate3,
15382 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
15383 MVT::v2i64, 2, 0, 1,
15384 0,
15385 0,
15386 74, TARGET_VAL(MipsISD::FPBrcond),
15387 OPC_RecordNode,
15388 OPC_CaptureGlueInput,
15389 OPC_Scope, 34,
15390 OPC_CheckChild1Integer, 0,
15391 OPC_CheckChild1TypeI32,
15392 OPC_RecordChild2,
15393 OPC_RecordChild3,
15394 OPC_MoveChild3,
15395 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15396 OPC_MoveParent,
15397 OPC_Scope, 10,
15398 OPC_CheckPatternPredicate, 80,
15399 OPC_EmitMergeInputChains1_0,
15400 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F), 0|OPFL_Chain|OPFL_GlueInput,
15401 2, 1, 2,
15402 10,
15403 OPC_CheckPatternPredicate, 44,
15404 OPC_EmitMergeInputChains1_0,
15405 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F_MM), 0|OPFL_Chain|OPFL_GlueInput,
15406 2, 1, 2,
15407 0,
15408 34,
15409 OPC_CheckChild1Integer, 1,
15410 OPC_CheckChild1TypeI32,
15411 OPC_RecordChild2,
15412 OPC_RecordChild3,
15413 OPC_MoveChild3,
15414 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15415 OPC_MoveParent,
15416 OPC_Scope, 10,
15417 OPC_CheckPatternPredicate, 80,
15418 OPC_EmitMergeInputChains1_0,
15419 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T), 0|OPFL_Chain|OPFL_GlueInput,
15420 2, 1, 2,
15421 10,
15422 OPC_CheckPatternPredicate, 44,
15423 OPC_EmitMergeInputChains1_0,
15424 OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T_MM), 0|OPFL_Chain|OPFL_GlueInput,
15425 2, 1, 2,
15426 0,
15427 0,
15428 127|128,1, TARGET_VAL(ISD::SUB),
15429 OPC_Scope, 11,
15430 OPC_CheckChild0Integer, 0,
15431 OPC_RecordChild1,
15432 OPC_CheckTypeI32,
15433 OPC_CheckPatternPredicate5,
15434 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NegRxRy16),
15435 MVT::i32, 1, 0,
15436 111|128,1,
15437 OPC_RecordChild0,
15438 OPC_Scope, 117,
15439 OPC_RecordChild1,
15440 OPC_SwitchType , 50, MVT::i32,
15441 OPC_Scope, 9,
15442 OPC_CheckPatternPredicate, 8,
15443 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MMR6),
15444 MVT::i32, 2, 0, 1,
15445 8,
15446 OPC_CheckPatternPredicate2,
15447 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu),
15448 MVT::i32, 2, 0, 1,
15449 8,
15450 OPC_CheckPatternPredicate5,
15451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SubuRxRyRz16),
15452 MVT::i32, 2, 0, 1,
15453 19,
15454 OPC_CheckPatternPredicate7,
15455 OPC_Scope, 7,
15456 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MM),
15457 MVT::i32, 2, 0, 1,
15458 7,
15459 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu_MM),
15460 MVT::i32, 2, 0, 1,
15461 0,
15462 0,
15463 9, MVT::i64,
15464 OPC_CheckPatternPredicate, 26,
15465 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSUBu),
15466 MVT::i64, 2, 0, 1,
15467 11, MVT::v16i8,
15468 OPC_CheckPatternPredicate0,
15469 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
15470 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_B),
15471 MVT::v16i8, 2, 0, 2,
15472 11, MVT::v8i16,
15473 OPC_CheckPatternPredicate0,
15474 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
15475 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_H),
15476 MVT::v8i16, 2, 0, 2,
15477 10, MVT::v4i32,
15478 OPC_CheckPatternPredicate0,
15479 OPC_CheckComplexPat5, /*#*/1,
15480 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_W),
15481 MVT::v4i32, 2, 0, 2,
15482 11, MVT::v2i64,
15483 OPC_CheckPatternPredicate0,
15484 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15485 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_D),
15486 MVT::v2i64, 2, 0, 2,
15487 0,
15488 53,
15489 OPC_MoveChild1,
15490 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
15491 OPC_RecordChild0,
15492 OPC_RecordChild1,
15493 OPC_MoveParent,
15494 OPC_SwitchType , 9, MVT::v16i8,
15495 OPC_CheckPatternPredicate0,
15496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_B),
15497 MVT::v16i8, 3, 0, 1, 2,
15498 9, MVT::v8i16,
15499 OPC_CheckPatternPredicate0,
15500 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_H),
15501 MVT::v8i16, 3, 0, 1, 2,
15502 9, MVT::v4i32,
15503 OPC_CheckPatternPredicate0,
15504 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_W),
15505 MVT::v4i32, 3, 0, 1, 2,
15506 9, MVT::v2i64,
15507 OPC_CheckPatternPredicate0,
15508 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_D),
15509 MVT::v2i64, 3, 0, 1, 2,
15510 0,
15511 63,
15512 OPC_RecordChild1,
15513 OPC_SwitchType , 8, MVT::v2i16,
15514 OPC_CheckPatternPredicate1,
15515 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
15516 MVT::v2i16, 2, 0, 1,
15517 8, MVT::v4i8,
15518 OPC_CheckPatternPredicate1,
15519 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
15520 MVT::v4i8, 2, 0, 1,
15521 8, MVT::v16i8,
15522 OPC_CheckPatternPredicate0,
15523 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_B),
15524 MVT::v16i8, 2, 0, 1,
15525 8, MVT::v8i16,
15526 OPC_CheckPatternPredicate0,
15527 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_H),
15528 MVT::v8i16, 2, 0, 1,
15529 8, MVT::v4i32,
15530 OPC_CheckPatternPredicate0,
15531 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_W),
15532 MVT::v4i32, 2, 0, 1,
15533 8, MVT::v2i64,
15534 OPC_CheckPatternPredicate0,
15535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_D),
15536 MVT::v2i64, 2, 0, 1,
15537 0,
15538 0,
15539 0,
15540 18|128,13, TARGET_VAL(ISD::OR),
15541 OPC_Scope, 26|128,3,
15542 OPC_RecordChild0,
15543 OPC_Scope, 12|128,1,
15544 OPC_RecordChild1,
15545 OPC_Scope, 73,
15546 OPC_MoveChild1,
15547 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15548 OPC_Scope, 17,
15549 OPC_CheckPredicate, 11,
15550 OPC_MoveParent,
15551 OPC_CheckTypeI32,
15552 OPC_CheckPatternPredicate, 8,
15553 OPC_EmitConvertToTarget1,
15554 OPC_EmitNodeXForm, 3, 2,
15555 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_MMR6),
15556 MVT::i32, 2, 0, 3,
15557 13,
15558 OPC_CheckPredicate, 33,
15559 OPC_MoveParent,
15560 OPC_CheckTypeI32,
15561 OPC_CheckPatternPredicate2,
15562 OPC_EmitConvertToTarget1,
15563 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
15564 MVT::i32, 2, 0, 2,
15565 34,
15566 OPC_CheckPredicate, 11,
15567 OPC_MoveParent,
15568 OPC_SwitchType , 13, MVT::i64,
15569 OPC_CheckPatternPredicate, 18,
15570 OPC_EmitConvertToTarget1,
15571 OPC_EmitNodeXForm, 3, 2,
15572 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
15573 MVT::i64, 2, 0, 3,
15574 12, MVT::i32,
15575 OPC_CheckPatternPredicate7,
15576 OPC_EmitConvertToTarget1,
15577 OPC_EmitNodeXForm, 3, 2,
15578 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
15579 MVT::i32, 2, 0, 3,
15580 0,
15581 0,
15582 51,
15583 OPC_CheckTypeI32,
15584 OPC_Scope, 8,
15585 OPC_CheckPatternPredicate2,
15586 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
15587 MVT::i32, 2, 0, 1,
15588 8,
15589 OPC_CheckPatternPredicate5,
15590 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OrRxRxRy16),
15591 MVT::i32, 2, 0, 1,
15592 19,
15593 OPC_CheckPatternPredicate7,
15594 OPC_Scope, 7,
15595 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR16_MM),
15596 MVT::i32, 2, 0, 1,
15597 7,
15598 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
15599 MVT::i32, 2, 0, 1,
15600 0,
15601 9,
15602 OPC_CheckPatternPredicate, 8,
15603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MMR6),
15604 MVT::i32, 2, 0, 1,
15605 0,
15606 10,
15607 OPC_CheckTypeI64,
15608 OPC_CheckPatternPredicate, 18,
15609 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
15610 MVT::i64, 2, 0, 1,
15611 0,
15612 7|128,2,
15613 OPC_MoveChild1,
15614 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15615 OPC_RecordChild0,
15616 OPC_MoveChild1,
15617 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15618 OPC_Scope, 125,
15619 OPC_RecordChild0,
15620 OPC_MoveChild1,
15621 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15622 OPC_MoveChild0,
15623 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15624 OPC_CheckPredicate0,
15625 OPC_CheckTypeI32,
15626 OPC_MoveSibling1,
15627 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15628 OPC_CheckPredicate0,
15629 OPC_CheckTypeI32,
15630 OPC_MoveSibling2,
15631 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15632 OPC_CheckPredicate0,
15633 OPC_CheckTypeI32,
15634 OPC_MoveSibling3,
15635 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15636 OPC_CheckPredicate0,
15637 OPC_CheckTypeI32,
15638 OPC_MoveSibling4,
15639 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15640 OPC_CheckPredicate0,
15641 OPC_CheckTypeI32,
15642 OPC_MoveSibling5,
15643 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15644 OPC_CheckPredicate0,
15645 OPC_CheckTypeI32,
15646 OPC_MoveSibling6,
15647 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15648 OPC_CheckPredicate0,
15649 OPC_CheckTypeI32,
15650 OPC_MoveSibling7,
15651 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15652 OPC_CheckPredicate0,
15653 OPC_CheckTypeI32,
15654 OPC_MoveSibling, 8,
15655 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15656 OPC_CheckPredicate0,
15657 OPC_CheckTypeI32,
15658 OPC_MoveSibling, 9,
15659 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15660 OPC_CheckPredicate0,
15661 OPC_CheckTypeI32,
15662 OPC_MoveSibling, 10,
15663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15664 OPC_CheckPredicate0,
15665 OPC_CheckTypeI32,
15666 OPC_MoveSibling, 11,
15667 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15668 OPC_CheckPredicate0,
15669 OPC_CheckTypeI32,
15670 OPC_MoveSibling, 12,
15671 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15672 OPC_CheckPredicate0,
15673 OPC_CheckTypeI32,
15674 OPC_MoveSibling, 13,
15675 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15676 OPC_CheckPredicate0,
15677 OPC_CheckTypeI32,
15678 OPC_MoveSibling, 14,
15679 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15680 OPC_CheckPredicate0,
15681 OPC_CheckTypeI32,
15682 OPC_MoveSibling, 15,
15683 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15684 OPC_CheckPredicate0,
15685 OPC_CheckTypeI32,
15686 OPC_MoveParent,
15687 OPC_MoveParent,
15688 OPC_MoveParent,
15689 OPC_MoveParent,
15690 OPC_CheckType, MVT::v16i8,
15691 OPC_CheckPatternPredicate3,
15692 OPC_CheckComplexPat1, /*#*/1,
15693 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15694 MVT::v16i8, 2, 0, 2,
15695 125,
15696 OPC_MoveChild0,
15697 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15698 OPC_MoveChild0,
15699 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15700 OPC_CheckPredicate0,
15701 OPC_CheckTypeI32,
15702 OPC_MoveSibling1,
15703 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15704 OPC_CheckPredicate0,
15705 OPC_CheckTypeI32,
15706 OPC_MoveSibling2,
15707 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15708 OPC_CheckPredicate0,
15709 OPC_CheckTypeI32,
15710 OPC_MoveSibling3,
15711 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15712 OPC_CheckPredicate0,
15713 OPC_CheckTypeI32,
15714 OPC_MoveSibling4,
15715 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15716 OPC_CheckPredicate0,
15717 OPC_CheckTypeI32,
15718 OPC_MoveSibling5,
15719 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15720 OPC_CheckPredicate0,
15721 OPC_CheckTypeI32,
15722 OPC_MoveSibling6,
15723 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15724 OPC_CheckPredicate0,
15725 OPC_CheckTypeI32,
15726 OPC_MoveSibling7,
15727 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15728 OPC_CheckPredicate0,
15729 OPC_CheckTypeI32,
15730 OPC_MoveSibling, 8,
15731 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15732 OPC_CheckPredicate0,
15733 OPC_CheckTypeI32,
15734 OPC_MoveSibling, 9,
15735 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15736 OPC_CheckPredicate0,
15737 OPC_CheckTypeI32,
15738 OPC_MoveSibling, 10,
15739 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15740 OPC_CheckPredicate0,
15741 OPC_CheckTypeI32,
15742 OPC_MoveSibling, 11,
15743 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15744 OPC_CheckPredicate0,
15745 OPC_CheckTypeI32,
15746 OPC_MoveSibling, 12,
15747 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15748 OPC_CheckPredicate0,
15749 OPC_CheckTypeI32,
15750 OPC_MoveSibling, 13,
15751 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15752 OPC_CheckPredicate0,
15753 OPC_CheckTypeI32,
15754 OPC_MoveSibling, 14,
15755 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15756 OPC_CheckPredicate0,
15757 OPC_CheckTypeI32,
15758 OPC_MoveSibling, 15,
15759 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15760 OPC_CheckPredicate0,
15761 OPC_CheckTypeI32,
15762 OPC_MoveParent,
15763 OPC_MoveParent,
15764 OPC_RecordChild1,
15765 OPC_MoveParent,
15766 OPC_MoveParent,
15767 OPC_CheckType, MVT::v16i8,
15768 OPC_CheckPatternPredicate3,
15769 OPC_CheckComplexPat1, /*#*/1,
15770 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15771 MVT::v16i8, 2, 0, 2,
15772 0,
15773 0,
15774 9|128,2,
15775 OPC_MoveChild0,
15776 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15777 OPC_RecordChild0,
15778 OPC_MoveChild1,
15779 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15780 OPC_Scope, 126,
15781 OPC_RecordChild0,
15782 OPC_MoveChild1,
15783 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15784 OPC_MoveChild0,
15785 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15786 OPC_CheckPredicate0,
15787 OPC_CheckTypeI32,
15788 OPC_MoveSibling1,
15789 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15790 OPC_CheckPredicate0,
15791 OPC_CheckTypeI32,
15792 OPC_MoveSibling2,
15793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15794 OPC_CheckPredicate0,
15795 OPC_CheckTypeI32,
15796 OPC_MoveSibling3,
15797 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15798 OPC_CheckPredicate0,
15799 OPC_CheckTypeI32,
15800 OPC_MoveSibling4,
15801 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15802 OPC_CheckPredicate0,
15803 OPC_CheckTypeI32,
15804 OPC_MoveSibling5,
15805 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15806 OPC_CheckPredicate0,
15807 OPC_CheckTypeI32,
15808 OPC_MoveSibling6,
15809 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15810 OPC_CheckPredicate0,
15811 OPC_CheckTypeI32,
15812 OPC_MoveSibling7,
15813 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15814 OPC_CheckPredicate0,
15815 OPC_CheckTypeI32,
15816 OPC_MoveSibling, 8,
15817 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15818 OPC_CheckPredicate0,
15819 OPC_CheckTypeI32,
15820 OPC_MoveSibling, 9,
15821 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15822 OPC_CheckPredicate0,
15823 OPC_CheckTypeI32,
15824 OPC_MoveSibling, 10,
15825 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15826 OPC_CheckPredicate0,
15827 OPC_CheckTypeI32,
15828 OPC_MoveSibling, 11,
15829 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15830 OPC_CheckPredicate0,
15831 OPC_CheckTypeI32,
15832 OPC_MoveSibling, 12,
15833 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15834 OPC_CheckPredicate0,
15835 OPC_CheckTypeI32,
15836 OPC_MoveSibling, 13,
15837 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15838 OPC_CheckPredicate0,
15839 OPC_CheckTypeI32,
15840 OPC_MoveSibling, 14,
15841 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15842 OPC_CheckPredicate0,
15843 OPC_CheckTypeI32,
15844 OPC_MoveSibling, 15,
15845 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15846 OPC_CheckPredicate0,
15847 OPC_CheckTypeI32,
15848 OPC_MoveParent,
15849 OPC_MoveParent,
15850 OPC_MoveParent,
15851 OPC_MoveParent,
15852 OPC_RecordChild1,
15853 OPC_CheckType, MVT::v16i8,
15854 OPC_CheckPatternPredicate3,
15855 OPC_CheckComplexPat1, /*#*/0,
15856 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15857 MVT::v16i8, 2, 2, 1,
15858 126,
15859 OPC_MoveChild0,
15860 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15861 OPC_MoveChild0,
15862 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15863 OPC_CheckPredicate0,
15864 OPC_CheckTypeI32,
15865 OPC_MoveSibling1,
15866 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15867 OPC_CheckPredicate0,
15868 OPC_CheckTypeI32,
15869 OPC_MoveSibling2,
15870 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15871 OPC_CheckPredicate0,
15872 OPC_CheckTypeI32,
15873 OPC_MoveSibling3,
15874 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15875 OPC_CheckPredicate0,
15876 OPC_CheckTypeI32,
15877 OPC_MoveSibling4,
15878 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15879 OPC_CheckPredicate0,
15880 OPC_CheckTypeI32,
15881 OPC_MoveSibling5,
15882 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15883 OPC_CheckPredicate0,
15884 OPC_CheckTypeI32,
15885 OPC_MoveSibling6,
15886 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15887 OPC_CheckPredicate0,
15888 OPC_CheckTypeI32,
15889 OPC_MoveSibling7,
15890 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15891 OPC_CheckPredicate0,
15892 OPC_CheckTypeI32,
15893 OPC_MoveSibling, 8,
15894 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15895 OPC_CheckPredicate0,
15896 OPC_CheckTypeI32,
15897 OPC_MoveSibling, 9,
15898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15899 OPC_CheckPredicate0,
15900 OPC_CheckTypeI32,
15901 OPC_MoveSibling, 10,
15902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15903 OPC_CheckPredicate0,
15904 OPC_CheckTypeI32,
15905 OPC_MoveSibling, 11,
15906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15907 OPC_CheckPredicate0,
15908 OPC_CheckTypeI32,
15909 OPC_MoveSibling, 12,
15910 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15911 OPC_CheckPredicate0,
15912 OPC_CheckTypeI32,
15913 OPC_MoveSibling, 13,
15914 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15915 OPC_CheckPredicate0,
15916 OPC_CheckTypeI32,
15917 OPC_MoveSibling, 14,
15918 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15919 OPC_CheckPredicate0,
15920 OPC_CheckTypeI32,
15921 OPC_MoveSibling, 15,
15922 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15923 OPC_CheckPredicate0,
15924 OPC_CheckTypeI32,
15925 OPC_MoveParent,
15926 OPC_MoveParent,
15927 OPC_RecordChild1,
15928 OPC_MoveParent,
15929 OPC_MoveParent,
15930 OPC_RecordChild1,
15931 OPC_CheckType, MVT::v16i8,
15932 OPC_CheckPatternPredicate3,
15933 OPC_CheckComplexPat1, /*#*/0,
15934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15935 MVT::v16i8, 2, 2, 1,
15936 0,
15937 24|128,1,
15938 OPC_RecordChild0,
15939 OPC_MoveChild1,
15940 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15941 OPC_RecordChild0,
15942 OPC_MoveChild1,
15943 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15944 OPC_Scope, 69,
15945 OPC_RecordChild0,
15946 OPC_MoveChild1,
15947 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15948 OPC_MoveChild0,
15949 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15950 OPC_CheckPredicate1,
15951 OPC_CheckTypeI32,
15952 OPC_MoveSibling1,
15953 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15954 OPC_CheckPredicate1,
15955 OPC_CheckTypeI32,
15956 OPC_MoveSibling2,
15957 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15958 OPC_CheckPredicate1,
15959 OPC_CheckTypeI32,
15960 OPC_MoveSibling3,
15961 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15962 OPC_CheckPredicate1,
15963 OPC_CheckTypeI32,
15964 OPC_MoveSibling4,
15965 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15966 OPC_CheckPredicate1,
15967 OPC_CheckTypeI32,
15968 OPC_MoveSibling5,
15969 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15970 OPC_CheckPredicate1,
15971 OPC_CheckTypeI32,
15972 OPC_MoveSibling6,
15973 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15974 OPC_CheckPredicate1,
15975 OPC_CheckTypeI32,
15976 OPC_MoveSibling7,
15977 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15978 OPC_CheckPredicate1,
15979 OPC_CheckTypeI32,
15980 OPC_MoveParent,
15981 OPC_MoveParent,
15982 OPC_MoveParent,
15983 OPC_MoveParent,
15984 OPC_CheckType, MVT::v8i16,
15985 OPC_CheckPatternPredicate3,
15986 OPC_CheckComplexPat1, /*#*/1,
15987 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15988 MVT::v8i16, 2, 0, 2,
15989 69,
15990 OPC_MoveChild0,
15991 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15992 OPC_MoveChild0,
15993 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15994 OPC_CheckPredicate1,
15995 OPC_CheckTypeI32,
15996 OPC_MoveSibling1,
15997 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15998 OPC_CheckPredicate1,
15999 OPC_CheckTypeI32,
16000 OPC_MoveSibling2,
16001 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16002 OPC_CheckPredicate1,
16003 OPC_CheckTypeI32,
16004 OPC_MoveSibling3,
16005 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16006 OPC_CheckPredicate1,
16007 OPC_CheckTypeI32,
16008 OPC_MoveSibling4,
16009 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16010 OPC_CheckPredicate1,
16011 OPC_CheckTypeI32,
16012 OPC_MoveSibling5,
16013 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16014 OPC_CheckPredicate1,
16015 OPC_CheckTypeI32,
16016 OPC_MoveSibling6,
16017 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16018 OPC_CheckPredicate1,
16019 OPC_CheckTypeI32,
16020 OPC_MoveSibling7,
16021 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16022 OPC_CheckPredicate1,
16023 OPC_CheckTypeI32,
16024 OPC_MoveParent,
16025 OPC_MoveParent,
16026 OPC_RecordChild1,
16027 OPC_MoveParent,
16028 OPC_MoveParent,
16029 OPC_CheckType, MVT::v8i16,
16030 OPC_CheckPatternPredicate3,
16031 OPC_CheckComplexPat1, /*#*/1,
16032 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16033 MVT::v8i16, 2, 0, 2,
16034 0,
16035 25|128,1,
16036 OPC_MoveChild0,
16037 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16038 OPC_RecordChild0,
16039 OPC_MoveChild1,
16040 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16041 OPC_Scope, 70,
16042 OPC_RecordChild0,
16043 OPC_MoveChild1,
16044 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16045 OPC_MoveChild0,
16046 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16047 OPC_CheckPredicate1,
16048 OPC_CheckTypeI32,
16049 OPC_MoveSibling1,
16050 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16051 OPC_CheckPredicate1,
16052 OPC_CheckTypeI32,
16053 OPC_MoveSibling2,
16054 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16055 OPC_CheckPredicate1,
16056 OPC_CheckTypeI32,
16057 OPC_MoveSibling3,
16058 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16059 OPC_CheckPredicate1,
16060 OPC_CheckTypeI32,
16061 OPC_MoveSibling4,
16062 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16063 OPC_CheckPredicate1,
16064 OPC_CheckTypeI32,
16065 OPC_MoveSibling5,
16066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16067 OPC_CheckPredicate1,
16068 OPC_CheckTypeI32,
16069 OPC_MoveSibling6,
16070 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16071 OPC_CheckPredicate1,
16072 OPC_CheckTypeI32,
16073 OPC_MoveSibling7,
16074 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16075 OPC_CheckPredicate1,
16076 OPC_CheckTypeI32,
16077 OPC_MoveParent,
16078 OPC_MoveParent,
16079 OPC_MoveParent,
16080 OPC_MoveParent,
16081 OPC_RecordChild1,
16082 OPC_CheckType, MVT::v8i16,
16083 OPC_CheckPatternPredicate3,
16084 OPC_CheckComplexPat1, /*#*/0,
16085 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16086 MVT::v8i16, 2, 2, 1,
16087 70,
16088 OPC_MoveChild0,
16089 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16090 OPC_MoveChild0,
16091 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16092 OPC_CheckPredicate1,
16093 OPC_CheckTypeI32,
16094 OPC_MoveSibling1,
16095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16096 OPC_CheckPredicate1,
16097 OPC_CheckTypeI32,
16098 OPC_MoveSibling2,
16099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16100 OPC_CheckPredicate1,
16101 OPC_CheckTypeI32,
16102 OPC_MoveSibling3,
16103 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16104 OPC_CheckPredicate1,
16105 OPC_CheckTypeI32,
16106 OPC_MoveSibling4,
16107 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16108 OPC_CheckPredicate1,
16109 OPC_CheckTypeI32,
16110 OPC_MoveSibling5,
16111 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16112 OPC_CheckPredicate1,
16113 OPC_CheckTypeI32,
16114 OPC_MoveSibling6,
16115 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16116 OPC_CheckPredicate1,
16117 OPC_CheckTypeI32,
16118 OPC_MoveSibling7,
16119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16120 OPC_CheckPredicate1,
16121 OPC_CheckTypeI32,
16122 OPC_MoveParent,
16123 OPC_MoveParent,
16124 OPC_RecordChild1,
16125 OPC_MoveParent,
16126 OPC_MoveParent,
16127 OPC_RecordChild1,
16128 OPC_CheckType, MVT::v8i16,
16129 OPC_CheckPatternPredicate3,
16130 OPC_CheckComplexPat1, /*#*/0,
16131 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16132 MVT::v8i16, 2, 2, 1,
16133 0,
16134 108,
16135 OPC_RecordChild0,
16136 OPC_MoveChild1,
16137 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16138 OPC_RecordChild0,
16139 OPC_MoveChild1,
16140 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16141 OPC_Scope, 47,
16142 OPC_RecordChild0,
16143 OPC_MoveChild1,
16144 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16145 OPC_MoveChild0,
16146 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16147 OPC_CheckPredicate2,
16148 OPC_CheckTypeI32,
16149 OPC_MoveSibling1,
16150 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16151 OPC_CheckPredicate2,
16152 OPC_CheckTypeI32,
16153 OPC_MoveSibling2,
16154 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16155 OPC_CheckPredicate2,
16156 OPC_CheckTypeI32,
16157 OPC_MoveSibling3,
16158 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16159 OPC_CheckPredicate2,
16160 OPC_CheckTypeI32,
16161 OPC_MoveParent,
16162 OPC_MoveParent,
16163 OPC_CheckType, MVT::v4i32,
16164 OPC_MoveParent,
16165 OPC_MoveParent,
16166 OPC_CheckType, MVT::v4i32,
16167 OPC_CheckPatternPredicate3,
16168 OPC_CheckComplexPat1, /*#*/1,
16169 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16170 MVT::v4i32, 2, 0, 2,
16171 47,
16172 OPC_MoveChild0,
16173 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16174 OPC_MoveChild0,
16175 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16176 OPC_CheckPredicate2,
16177 OPC_CheckTypeI32,
16178 OPC_MoveSibling1,
16179 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16180 OPC_CheckPredicate2,
16181 OPC_CheckTypeI32,
16182 OPC_MoveSibling2,
16183 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16184 OPC_CheckPredicate2,
16185 OPC_CheckTypeI32,
16186 OPC_MoveSibling3,
16187 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16188 OPC_CheckPredicate2,
16189 OPC_CheckTypeI32,
16190 OPC_MoveParent,
16191 OPC_MoveParent,
16192 OPC_RecordChild1,
16193 OPC_CheckType, MVT::v4i32,
16194 OPC_MoveParent,
16195 OPC_MoveParent,
16196 OPC_CheckType, MVT::v4i32,
16197 OPC_CheckPatternPredicate3,
16198 OPC_CheckComplexPat1, /*#*/1,
16199 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16200 MVT::v4i32, 2, 0, 2,
16201 0,
16202 109,
16203 OPC_MoveChild0,
16204 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16205 OPC_RecordChild0,
16206 OPC_MoveChild1,
16207 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16208 OPC_Scope, 48,
16209 OPC_RecordChild0,
16210 OPC_MoveChild1,
16211 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16212 OPC_MoveChild0,
16213 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16214 OPC_CheckPredicate2,
16215 OPC_CheckTypeI32,
16216 OPC_MoveSibling1,
16217 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16218 OPC_CheckPredicate2,
16219 OPC_CheckTypeI32,
16220 OPC_MoveSibling2,
16221 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16222 OPC_CheckPredicate2,
16223 OPC_CheckTypeI32,
16224 OPC_MoveSibling3,
16225 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16226 OPC_CheckPredicate2,
16227 OPC_CheckTypeI32,
16228 OPC_MoveParent,
16229 OPC_MoveParent,
16230 OPC_CheckType, MVT::v4i32,
16231 OPC_MoveParent,
16232 OPC_MoveParent,
16233 OPC_RecordChild1,
16234 OPC_CheckType, MVT::v4i32,
16235 OPC_CheckPatternPredicate3,
16236 OPC_CheckComplexPat1, /*#*/0,
16237 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16238 MVT::v4i32, 2, 2, 1,
16239 48,
16240 OPC_MoveChild0,
16241 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16242 OPC_MoveChild0,
16243 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16244 OPC_CheckPredicate2,
16245 OPC_CheckTypeI32,
16246 OPC_MoveSibling1,
16247 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16248 OPC_CheckPredicate2,
16249 OPC_CheckTypeI32,
16250 OPC_MoveSibling2,
16251 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16252 OPC_CheckPredicate2,
16253 OPC_CheckTypeI32,
16254 OPC_MoveSibling3,
16255 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16256 OPC_CheckPredicate2,
16257 OPC_CheckTypeI32,
16258 OPC_MoveParent,
16259 OPC_MoveParent,
16260 OPC_RecordChild1,
16261 OPC_CheckType, MVT::v4i32,
16262 OPC_MoveParent,
16263 OPC_MoveParent,
16264 OPC_RecordChild1,
16265 OPC_CheckType, MVT::v4i32,
16266 OPC_CheckPatternPredicate3,
16267 OPC_CheckComplexPat1, /*#*/0,
16268 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16269 MVT::v4i32, 2, 2, 1,
16270 0,
16271 76,
16272 OPC_RecordChild0,
16273 OPC_MoveChild1,
16274 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16275 OPC_RecordChild0,
16276 OPC_MoveChild1,
16277 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16278 OPC_Scope, 31,
16279 OPC_RecordChild0,
16280 OPC_MoveChild1,
16281 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16282 OPC_MoveChild0,
16283 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16284 OPC_CheckType, MVT::v4i32,
16285 OPC_MoveParent,
16286 OPC_CheckPredicate, 13,
16287 OPC_MoveParent,
16288 OPC_CheckType, MVT::v2i64,
16289 OPC_MoveParent,
16290 OPC_MoveParent,
16291 OPC_CheckType, MVT::v2i64,
16292 OPC_CheckPatternPredicate3,
16293 OPC_CheckComplexPat1, /*#*/1,
16294 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16295 MVT::v2i64, 2, 0, 2,
16296 31,
16297 OPC_MoveChild0,
16298 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16299 OPC_MoveChild0,
16300 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16301 OPC_CheckType, MVT::v4i32,
16302 OPC_MoveParent,
16303 OPC_CheckPredicate, 13,
16304 OPC_MoveParent,
16305 OPC_RecordChild1,
16306 OPC_CheckType, MVT::v2i64,
16307 OPC_MoveParent,
16308 OPC_MoveParent,
16309 OPC_CheckType, MVT::v2i64,
16310 OPC_CheckPatternPredicate3,
16311 OPC_CheckComplexPat1, /*#*/1,
16312 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16313 MVT::v2i64, 2, 0, 2,
16314 0,
16315 77,
16316 OPC_MoveChild0,
16317 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16318 OPC_RecordChild0,
16319 OPC_MoveChild1,
16320 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16321 OPC_Scope, 32,
16322 OPC_RecordChild0,
16323 OPC_MoveChild1,
16324 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16325 OPC_MoveChild0,
16326 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16327 OPC_CheckType, MVT::v4i32,
16328 OPC_MoveParent,
16329 OPC_CheckPredicate, 13,
16330 OPC_MoveParent,
16331 OPC_CheckType, MVT::v2i64,
16332 OPC_MoveParent,
16333 OPC_MoveParent,
16334 OPC_RecordChild1,
16335 OPC_CheckType, MVT::v2i64,
16336 OPC_CheckPatternPredicate3,
16337 OPC_CheckComplexPat1, /*#*/0,
16338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16339 MVT::v2i64, 2, 2, 1,
16340 32,
16341 OPC_MoveChild0,
16342 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16343 OPC_MoveChild0,
16344 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16345 OPC_CheckType, MVT::v4i32,
16346 OPC_MoveParent,
16347 OPC_CheckPredicate, 13,
16348 OPC_MoveParent,
16349 OPC_RecordChild1,
16350 OPC_CheckType, MVT::v2i64,
16351 OPC_MoveParent,
16352 OPC_MoveParent,
16353 OPC_RecordChild1,
16354 OPC_CheckType, MVT::v2i64,
16355 OPC_CheckPatternPredicate3,
16356 OPC_CheckComplexPat1, /*#*/0,
16357 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16358 MVT::v2i64, 2, 2, 1,
16359 0,
16360 9|128,1,
16361 OPC_RecordChild0,
16362 OPC_Scope, 68,
16363 OPC_MoveChild1,
16364 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16365 OPC_RecordChild0,
16366 OPC_RecordChild1,
16367 OPC_Scope, 27,
16368 OPC_MoveParent,
16369 OPC_SwitchType , 10, MVT::v16i8,
16370 OPC_CheckPatternPredicate0,
16371 OPC_CheckComplexPat1, /*#*/1,
16372 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
16373 MVT::v16i8, 2, 0, 2,
16374 10, MVT::v8i16,
16375 OPC_CheckPatternPredicate0,
16376 OPC_CheckComplexPat1, /*#*/1,
16377 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16378 MVT::v8i16, 2, 0, 2,
16379 0,
16380 15,
16381 OPC_CheckChild1Type, MVT::v4i32,
16382 OPC_MoveParent,
16383 OPC_CheckType, MVT::v4i32,
16384 OPC_CheckPatternPredicate0,
16385 OPC_CheckComplexPat1, /*#*/1,
16386 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16387 MVT::v4i32, 2, 0, 2,
16388 15,
16389 OPC_CheckChild1Type, MVT::v2i64,
16390 OPC_MoveParent,
16391 OPC_CheckType, MVT::v2i64,
16392 OPC_CheckPatternPredicate0,
16393 OPC_CheckComplexPat1, /*#*/1,
16394 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16395 MVT::v2i64, 2, 0, 2,
16396 0,
16397 64,
16398 OPC_RecordChild1,
16399 OPC_SwitchType , 23, MVT::v16i8,
16400 OPC_CheckPatternPredicate0,
16401 OPC_Scope, 9,
16402 OPC_CheckComplexPat4, /*#*/1,
16403 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
16404 MVT::v16i8, 2, 0, 2,
16405 9,
16406 OPC_CheckComplexPat6, /*#*/1,
16407 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
16408 MVT::v16i8, 2, 0, 2,
16409 0,
16410 10, MVT::v8i16,
16411 OPC_CheckPatternPredicate0,
16412 OPC_CheckComplexPat4, /*#*/1,
16413 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
16414 MVT::v8i16, 2, 0, 2,
16415 10, MVT::v4i32,
16416 OPC_CheckPatternPredicate0,
16417 OPC_CheckComplexPat4, /*#*/1,
16418 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
16419 MVT::v4i32, 2, 0, 2,
16420 10, MVT::v2i64,
16421 OPC_CheckPatternPredicate0,
16422 OPC_CheckComplexPat4, /*#*/1,
16423 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
16424 MVT::v2i64, 2, 0, 2,
16425 0,
16426 0,
16427 71,
16428 OPC_MoveChild0,
16429 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16430 OPC_RecordChild0,
16431 OPC_RecordChild1,
16432 OPC_Scope, 28,
16433 OPC_MoveParent,
16434 OPC_RecordChild1,
16435 OPC_SwitchType , 10, MVT::v16i8,
16436 OPC_CheckPatternPredicate0,
16437 OPC_CheckComplexPat1, /*#*/0,
16438 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
16439 MVT::v16i8, 2, 2, 1,
16440 10, MVT::v8i16,
16441 OPC_CheckPatternPredicate0,
16442 OPC_CheckComplexPat1, /*#*/0,
16443 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16444 MVT::v8i16, 2, 2, 1,
16445 0,
16446 16,
16447 OPC_CheckChild1Type, MVT::v4i32,
16448 OPC_MoveParent,
16449 OPC_RecordChild1,
16450 OPC_CheckType, MVT::v4i32,
16451 OPC_CheckPatternPredicate0,
16452 OPC_CheckComplexPat1, /*#*/0,
16453 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16454 MVT::v4i32, 2, 2, 1,
16455 16,
16456 OPC_CheckChild1Type, MVT::v2i64,
16457 OPC_MoveParent,
16458 OPC_RecordChild1,
16459 OPC_CheckType, MVT::v2i64,
16460 OPC_CheckPatternPredicate0,
16461 OPC_CheckComplexPat1, /*#*/0,
16462 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16463 MVT::v2i64, 2, 2, 1,
16464 0,
16465 106,
16466 OPC_RecordChild0,
16467 OPC_RecordChild1,
16468 OPC_SwitchType , 31, MVT::v16i8,
16469 OPC_CheckPatternPredicate0,
16470 OPC_Scope, 9,
16471 OPC_CheckComplexPat4, /*#*/0,
16472 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
16473 MVT::v16i8, 2, 1, 2,
16474 9,
16475 OPC_CheckComplexPat6, /*#*/0,
16476 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
16477 MVT::v16i8, 2, 1, 2,
16478 7,
16479 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V),
16480 MVT::v16i8, 2, 0, 1,
16481 0,
16482 21, MVT::v8i16,
16483 OPC_CheckPatternPredicate0,
16484 OPC_Scope, 9,
16485 OPC_CheckComplexPat4, /*#*/0,
16486 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
16487 MVT::v8i16, 2, 1, 2,
16488 7,
16489 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_H_PSEUDO),
16490 MVT::v8i16, 2, 0, 1,
16491 0,
16492 21, MVT::v4i32,
16493 OPC_CheckPatternPredicate0,
16494 OPC_Scope, 9,
16495 OPC_CheckComplexPat4, /*#*/0,
16496 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
16497 MVT::v4i32, 2, 1, 2,
16498 7,
16499 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_W_PSEUDO),
16500 MVT::v4i32, 2, 0, 1,
16501 0,
16502 21, MVT::v2i64,
16503 OPC_CheckPatternPredicate0,
16504 OPC_Scope, 9,
16505 OPC_CheckComplexPat4, /*#*/0,
16506 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
16507 MVT::v2i64, 2, 1, 2,
16508 7,
16509 OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_D_PSEUDO),
16510 MVT::v2i64, 2, 0, 1,
16511 0,
16512 0,
16513 0,
16514 119, TARGET_VAL(ISD::ROTR),
16515 OPC_RecordChild0,
16516 OPC_Scope, 50,
16517 OPC_RecordChild1,
16518 OPC_MoveChild1,
16519 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16520 OPC_CheckTypeI32,
16521 OPC_Scope, 13,
16522 OPC_CheckPredicate3,
16523 OPC_MoveParent,
16524 OPC_CheckTypeI32,
16525 OPC_CheckPatternPredicate, 58,
16526 OPC_EmitConvertToTarget1,
16527 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
16528 MVT::i32, 2, 0, 2,
16529 14,
16530 OPC_CheckPredicate, 15,
16531 OPC_MoveParent,
16532 OPC_CheckTypeI64,
16533 OPC_CheckPatternPredicate, 63,
16534 OPC_EmitConvertToTarget1,
16535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTR),
16536 MVT::i64, 2, 0, 2,
16537 12,
16538 OPC_CheckPredicate3,
16539 OPC_MoveParent,
16540 OPC_CheckTypeI32,
16541 OPC_CheckPatternPredicate4,
16542 OPC_EmitConvertToTarget1,
16543 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
16544 MVT::i32, 2, 0, 2,
16545 0,
16546 25,
16547 OPC_MoveChild1,
16548 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
16549 OPC_RecordChild0,
16550 OPC_MoveParent,
16551 OPC_CheckTypeI64,
16552 OPC_CheckPatternPredicate, 9,
16553 OPC_EmitIntegerI32, Mips::sub_32,
16554 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16555 MVT::i32, 2, 1, 2,
16556 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
16557 MVT::i64, 2, 0, 3,
16558 38,
16559 OPC_RecordChild1,
16560 OPC_CheckChild1TypeI32,
16561 OPC_SwitchType , 21, MVT::i32,
16562 OPC_Scope, 9,
16563 OPC_CheckPatternPredicate, 58,
16564 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV),
16565 MVT::i32, 2, 0, 1,
16566 8,
16567 OPC_CheckPatternPredicate4,
16568 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV_MM),
16569 MVT::i32, 2, 0, 1,
16570 0,
16571 9, MVT::i64,
16572 OPC_CheckPatternPredicate, 63,
16573 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
16574 MVT::i64, 2, 0, 1,
16575 0,
16576 0,
16577 66, TARGET_VAL(MipsISD::Sync),
16578 OPC_RecordNode,
16579 OPC_Scope, 16,
16580 OPC_RecordChild1,
16581 OPC_MoveChild1,
16582 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16583 OPC_CheckPredicate3,
16584 OPC_MoveParent,
16585 OPC_CheckPatternPredicate, 117,
16586 OPC_EmitMergeInputChains1_0,
16587 OPC_EmitConvertToTarget1,
16588 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
16589 1, 2,
16590 16,
16591 OPC_MoveChild1,
16592 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16593 OPC_CheckPredicate6,
16594 OPC_MoveParent,
16595 OPC_CheckPatternPredicate, 118,
16596 OPC_EmitMergeInputChains1_0,
16597 OPC_EmitIntegerI32, 0,
16598 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
16599 1, 1,
16600 28,
16601 OPC_RecordChild1,
16602 OPC_MoveChild1,
16603 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16604 OPC_CheckPredicate3,
16605 OPC_MoveParent,
16606 OPC_Scope, 8,
16607 OPC_CheckPatternPredicate4,
16608 OPC_EmitMergeInputChains1_0,
16609 OPC_EmitConvertToTarget1,
16610 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MM),
16611 1, 2,
16612 9,
16613 OPC_CheckPatternPredicate, 8,
16614 OPC_EmitMergeInputChains1_0,
16615 OPC_EmitConvertToTarget1,
16616 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MMR6),
16617 1, 2,
16618 0,
16619 0,
16620 71, TARGET_VAL(ISD::ADDC),
16621 OPC_RecordChild0,
16622 OPC_RecordChild1,
16623 OPC_Scope, 32,
16624 OPC_MoveChild1,
16625 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16626 OPC_CheckPredicate7,
16627 OPC_MoveParent,
16628 OPC_SwitchType , 10, MVT::i32,
16629 OPC_CheckPatternPredicate, 93,
16630 OPC_EmitConvertToTarget1,
16631 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDiu),
16632 MVT::i32, 2, 0, 2,
16633 10, MVT::i64,
16634 OPC_CheckPatternPredicate, 94,
16635 OPC_EmitConvertToTarget1,
16636 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDiu),
16637 MVT::i64, 2, 0, 2,
16638 0,
16639 22,
16640 OPC_CheckTypeI32,
16641 OPC_Scope, 9,
16642 OPC_CheckPatternPredicate, 93,
16643 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDu),
16644 MVT::i32, 2, 0, 1,
16645 8,
16646 OPC_CheckPatternPredicate1,
16647 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDSC),
16648 MVT::i32, 2, 0, 1,
16649 0,
16650 10,
16651 OPC_CheckTypeI64,
16652 OPC_CheckPatternPredicate, 94,
16653 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDu),
16654 MVT::i64, 2, 0, 1,
16655 0,
16656 65, TARGET_VAL(ISD::TRUNCATE),
16657 OPC_Scope, 39,
16658 OPC_MoveChild0,
16659 OPC_SwitchOpcode , 16, TARGET_VAL(ISD::AssertZext),
16660 OPC_RecordChild0,
16661 OPC_CheckPredicate, 58,
16662 OPC_MoveParent,
16663 OPC_CheckTypeI32,
16664 OPC_CheckPatternPredicate, 9,
16665 OPC_EmitIntegerI32, Mips::sub_32,
16666 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16667 MVT::i32, 2, 0, 1,
16668 14, TARGET_VAL(ISD::AssertSext),
16669 OPC_RecordChild0,
16670 OPC_MoveParent,
16671 OPC_CheckTypeI32,
16672 OPC_CheckPatternPredicate, 9,
16673 OPC_EmitIntegerI32, Mips::sub_32,
16674 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16675 MVT::i32, 2, 0, 1,
16676 0,
16677 22,
16678 OPC_RecordChild0,
16679 OPC_CheckTypeI32,
16680 OPC_CheckPatternPredicate, 9,
16681 OPC_EmitIntegerI32, Mips::sub_32,
16682 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16683 MVT::i32, 2, 0, 1,
16684 OPC_EmitIntegerI32, 0,
16685 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
16686 MVT::i32, 2, 2, 3,
16687 0,
16688 60, TARGET_VAL(MipsISD::SHILO),
16689 OPC_RecordChild0,
16690 OPC_Scope, 32,
16691 OPC_MoveChild0,
16692 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16693 OPC_CheckPredicate, 59,
16694 OPC_MoveParent,
16695 OPC_RecordChild1,
16696 OPC_Scope, 10,
16697 OPC_CheckPatternPredicate1,
16698 OPC_EmitConvertToTarget0,
16699 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO),
16700 121|128,1, 2, 2, 1,
16701 10,
16702 OPC_CheckPatternPredicate6,
16703 OPC_EmitConvertToTarget0,
16704 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO_MM),
16705 121|128,1, 2, 2, 1,
16706 0,
16707 23,
16708 OPC_RecordChild1,
16709 OPC_Scope, 9,
16710 OPC_CheckPatternPredicate1,
16711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV),
16712 121|128,1, 2, 0, 1,
16713 9,
16714 OPC_CheckPatternPredicate6,
16715 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV_MM),
16716 121|128,1, 2, 0, 1,
16717 0,
16718 0,
16719 33, TARGET_VAL(MipsISD::EXTP),
16720 OPC_RecordNode,
16721 OPC_RecordChild1,
16722 OPC_Scope, 17,
16723 OPC_MoveChild1,
16724 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16725 OPC_CheckPredicate3,
16726 OPC_MoveParent,
16727 OPC_RecordChild2,
16728 OPC_CheckPatternPredicate1,
16729 OPC_EmitMergeInputChains1_0,
16730 OPC_EmitConvertToTarget1,
16731 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTP),
16732 MVT::i32, 2, 2, 3,
16733 10,
16734 OPC_RecordChild2,
16735 OPC_CheckPatternPredicate1,
16736 OPC_EmitMergeInputChains1_0,
16737 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPV),
16738 MVT::i32, 2, 2, 1,
16739 0,
16740 33, TARGET_VAL(MipsISD::EXTPDP),
16741 OPC_RecordNode,
16742 OPC_RecordChild1,
16743 OPC_Scope, 17,
16744 OPC_MoveChild1,
16745 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16746 OPC_CheckPredicate3,
16747 OPC_MoveParent,
16748 OPC_RecordChild2,
16749 OPC_CheckPatternPredicate1,
16750 OPC_EmitMergeInputChains1_0,
16751 OPC_EmitConvertToTarget1,
16752 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDP),
16753 MVT::i32, 2, 2, 3,
16754 10,
16755 OPC_RecordChild2,
16756 OPC_CheckPatternPredicate1,
16757 OPC_EmitMergeInputChains1_0,
16758 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDPV),
16759 MVT::i32, 2, 2, 1,
16760 0,
16761 33, TARGET_VAL(MipsISD::EXTR_W),
16762 OPC_RecordNode,
16763 OPC_RecordChild1,
16764 OPC_Scope, 17,
16765 OPC_MoveChild1,
16766 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16767 OPC_CheckPredicate3,
16768 OPC_MoveParent,
16769 OPC_RecordChild2,
16770 OPC_CheckPatternPredicate1,
16771 OPC_EmitMergeInputChains1_0,
16772 OPC_EmitConvertToTarget1,
16773 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_W),
16774 MVT::i32, 2, 2, 3,
16775 10,
16776 OPC_RecordChild2,
16777 OPC_CheckPatternPredicate1,
16778 OPC_EmitMergeInputChains1_0,
16779 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_W),
16780 MVT::i32, 2, 2, 1,
16781 0,
16782 33, TARGET_VAL(MipsISD::EXTR_R_W),
16783 OPC_RecordNode,
16784 OPC_RecordChild1,
16785 OPC_Scope, 17,
16786 OPC_MoveChild1,
16787 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16788 OPC_CheckPredicate3,
16789 OPC_MoveParent,
16790 OPC_RecordChild2,
16791 OPC_CheckPatternPredicate1,
16792 OPC_EmitMergeInputChains1_0,
16793 OPC_EmitConvertToTarget1,
16794 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_R_W),
16795 MVT::i32, 2, 2, 3,
16796 10,
16797 OPC_RecordChild2,
16798 OPC_CheckPatternPredicate1,
16799 OPC_EmitMergeInputChains1_0,
16800 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_R_W),
16801 MVT::i32, 2, 2, 1,
16802 0,
16803 33, TARGET_VAL(MipsISD::EXTR_RS_W),
16804 OPC_RecordNode,
16805 OPC_RecordChild1,
16806 OPC_Scope, 17,
16807 OPC_MoveChild1,
16808 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16809 OPC_CheckPredicate3,
16810 OPC_MoveParent,
16811 OPC_RecordChild2,
16812 OPC_CheckPatternPredicate1,
16813 OPC_EmitMergeInputChains1_0,
16814 OPC_EmitConvertToTarget1,
16815 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_RS_W),
16816 MVT::i32, 2, 2, 3,
16817 10,
16818 OPC_RecordChild2,
16819 OPC_CheckPatternPredicate1,
16820 OPC_EmitMergeInputChains1_0,
16821 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_RS_W),
16822 MVT::i32, 2, 2, 1,
16823 0,
16824 33, TARGET_VAL(MipsISD::EXTR_S_H),
16825 OPC_RecordNode,
16826 OPC_RecordChild1,
16827 OPC_Scope, 17,
16828 OPC_MoveChild1,
16829 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16830 OPC_CheckPredicate3,
16831 OPC_MoveParent,
16832 OPC_RecordChild2,
16833 OPC_CheckPatternPredicate1,
16834 OPC_EmitMergeInputChains1_0,
16835 OPC_EmitConvertToTarget1,
16836 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_S_H),
16837 MVT::i32, 2, 2, 3,
16838 10,
16839 OPC_RecordChild2,
16840 OPC_CheckPatternPredicate1,
16841 OPC_EmitMergeInputChains1_0,
16842 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_S_H),
16843 MVT::i32, 2, 2, 1,
16844 0,
16845 104|128,3, TARGET_VAL(MipsISD::VEXTRACT_SEXT_ELT),
16846 OPC_RecordChild0,
16847 OPC_Scope, 0|128,1,
16848 OPC_CheckChild0Type, MVT::v16i8,
16849 OPC_RecordChild1,
16850 OPC_Scope, 20,
16851 OPC_MoveChild1,
16852 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16853 OPC_CheckPredicate, 14,
16854 OPC_MoveSibling2,
16855 OPC_CheckValueType, MVT::i8,
16856 OPC_MoveParent,
16857 OPC_CheckTypeI32,
16858 OPC_CheckPatternPredicate0,
16859 OPC_EmitConvertToTarget1,
16860 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_B),
16861 MVT::i32, 2, 0, 2,
16862 41,
16863 OPC_CheckChild1TypeI32,
16864 OPC_MoveChild2,
16865 OPC_CheckValueType, MVT::i8,
16866 OPC_MoveParent,
16867 OPC_CheckTypeI32,
16868 OPC_CheckPatternPredicate3,
16869 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16870 MVT::v16i8, 2, 0, 1,
16871 OPC_EmitIntegerI32, Mips::sub_lo,
16872 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16873 MVT::i32, 2, 2, 3,
16874 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16875 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16876 MVT::i32, 2, 4, 5,
16877 OPC_EmitIntegerI32, 24,
16878 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16879 MVT::i32, 2, 6, 7,
16880 59,
16881 OPC_CheckChild1TypeI64,
16882 OPC_MoveChild2,
16883 OPC_CheckValueType, MVT::i8,
16884 OPC_MoveParent,
16885 OPC_CheckTypeI32,
16886 OPC_CheckPatternPredicate3,
16887 OPC_EmitIntegerI32, Mips::sub_32,
16888 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16889 MVT::i32, 2, 1, 2,
16890 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16891 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16892 MVT::i32, 2, 3, 4,
16893 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16894 MVT::v16i8, 2, 0, 5,
16895 OPC_EmitIntegerI32, Mips::sub_lo,
16896 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16897 MVT::i32, 2, 6, 7,
16898 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16899 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16900 MVT::i32, 2, 8, 9,
16901 OPC_EmitIntegerI32, 24,
16902 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16903 MVT::i32, 2, 10, 11,
16904 0,
16905 0|128,1,
16906 OPC_CheckChild0Type, MVT::v8i16,
16907 OPC_RecordChild1,
16908 OPC_Scope, 20,
16909 OPC_MoveChild1,
16910 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16911 OPC_CheckPredicate, 17,
16912 OPC_MoveSibling2,
16913 OPC_CheckValueType, MVT::i16,
16914 OPC_MoveParent,
16915 OPC_CheckTypeI32,
16916 OPC_CheckPatternPredicate0,
16917 OPC_EmitConvertToTarget1,
16918 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_H),
16919 MVT::i32, 2, 0, 2,
16920 41,
16921 OPC_CheckChild1TypeI32,
16922 OPC_MoveChild2,
16923 OPC_CheckValueType, MVT::i16,
16924 OPC_MoveParent,
16925 OPC_CheckTypeI32,
16926 OPC_CheckPatternPredicate3,
16927 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16928 MVT::v8i16, 2, 0, 1,
16929 OPC_EmitIntegerI32, Mips::sub_lo,
16930 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16931 MVT::i32, 2, 2, 3,
16932 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16933 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16934 MVT::i32, 2, 4, 5,
16935 OPC_EmitIntegerI32, 16,
16936 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16937 MVT::i32, 2, 6, 7,
16938 59,
16939 OPC_CheckChild1TypeI64,
16940 OPC_MoveChild2,
16941 OPC_CheckValueType, MVT::i16,
16942 OPC_MoveParent,
16943 OPC_CheckTypeI32,
16944 OPC_CheckPatternPredicate3,
16945 OPC_EmitIntegerI32, Mips::sub_32,
16946 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16947 MVT::i32, 2, 1, 2,
16948 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16949 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16950 MVT::i32, 2, 3, 4,
16951 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16952 MVT::v8i16, 2, 0, 5,
16953 OPC_EmitIntegerI32, Mips::sub_lo,
16954 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16955 MVT::i32, 2, 6, 7,
16956 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16957 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16958 MVT::i32, 2, 8, 9,
16959 OPC_EmitIntegerI32, 16,
16960 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16961 MVT::i32, 2, 10, 11,
16962 0,
16963 110,
16964 OPC_CheckChild0Type, MVT::v4i32,
16965 OPC_RecordChild1,
16966 OPC_Scope, 20,
16967 OPC_MoveChild1,
16968 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16969 OPC_CheckPredicate, 21,
16970 OPC_MoveSibling2,
16971 OPC_CheckValueType, MVT::i32,
16972 OPC_MoveParent,
16973 OPC_CheckTypeI32,
16974 OPC_CheckPatternPredicate0,
16975 OPC_EmitConvertToTarget1,
16976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
16977 MVT::i32, 2, 0, 2,
16978 32,
16979 OPC_CheckChild1TypeI32,
16980 OPC_MoveChild2,
16981 OPC_CheckValueType, MVT::i32,
16982 OPC_MoveParent,
16983 OPC_CheckTypeI32,
16984 OPC_CheckPatternPredicate3,
16985 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16986 MVT::v4i32, 2, 0, 1,
16987 OPC_EmitIntegerI32, Mips::sub_lo,
16988 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16989 MVT::i32, 2, 2, 3,
16990 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
16991 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16992 MVT::i32, 2, 4, 5,
16993 50,
16994 OPC_CheckChild1TypeI64,
16995 OPC_MoveChild2,
16996 OPC_CheckValueType, MVT::i32,
16997 OPC_MoveParent,
16998 OPC_CheckTypeI32,
16999 OPC_CheckPatternPredicate3,
17000 OPC_EmitIntegerI32, Mips::sub_32,
17001 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17002 MVT::i32, 2, 1, 2,
17003 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17004 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17005 MVT::i32, 2, 3, 4,
17006 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17007 MVT::v4i32, 2, 0, 5,
17008 OPC_EmitIntegerI32, Mips::sub_lo,
17009 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17010 MVT::i32, 2, 6, 7,
17011 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17012 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17013 MVT::i32, 2, 8, 9,
17014 0,
17015 113,
17016 OPC_CheckChild0Type, MVT::v2i64,
17017 OPC_RecordChild1,
17018 OPC_Scope, 21,
17019 OPC_MoveChild1,
17020 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17021 OPC_CheckPredicate, 25,
17022 OPC_MoveSibling2,
17023 OPC_CheckValueType, MVT::i64,
17024 OPC_MoveParent,
17025 OPC_CheckTypeI64,
17026 OPC_CheckPatternPredicate, 59,
17027 OPC_EmitConvertToTarget1,
17028 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
17029 MVT::i64, 2, 0, 2,
17030 33,
17031 OPC_CheckChild1TypeI32,
17032 OPC_MoveChild2,
17033 OPC_CheckValueType, MVT::i64,
17034 OPC_MoveParent,
17035 OPC_CheckTypeI64,
17036 OPC_CheckPatternPredicate, 71,
17037 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17038 MVT::v2i64, 2, 0, 1,
17039 OPC_EmitIntegerI32, Mips::sub_64,
17040 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17041 MVT::i64, 2, 2, 3,
17042 OPC_EmitIntegerI32, Mips::GPR64RegClassID,
17043 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17044 MVT::i64, 2, 4, 5,
17045 51,
17046 OPC_CheckChild1TypeI64,
17047 OPC_MoveChild2,
17048 OPC_CheckValueType, MVT::i64,
17049 OPC_MoveParent,
17050 OPC_CheckTypeI64,
17051 OPC_CheckPatternPredicate, 71,
17052 OPC_EmitIntegerI32, Mips::sub_32,
17053 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17054 MVT::i32, 2, 1, 2,
17055 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17056 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17057 MVT::i32, 2, 3, 4,
17058 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17059 MVT::v2i64, 2, 0, 5,
17060 OPC_EmitIntegerI32, Mips::sub_64,
17061 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17062 MVT::i64, 2, 6, 7,
17063 OPC_EmitIntegerI32, Mips::GPR64RegClassID,
17064 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17065 MVT::i64, 2, 8, 9,
17066 0,
17067 0,
17068 39|128,4, TARGET_VAL(MipsISD::VEXTRACT_ZEXT_ELT),
17069 OPC_RecordChild0,
17070 OPC_Scope, 0|128,1,
17071 OPC_CheckChild0Type, MVT::v16i8,
17072 OPC_RecordChild1,
17073 OPC_Scope, 20,
17074 OPC_MoveChild1,
17075 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17076 OPC_CheckPredicate, 14,
17077 OPC_MoveSibling2,
17078 OPC_CheckValueType, MVT::i8,
17079 OPC_MoveParent,
17080 OPC_CheckTypeI32,
17081 OPC_CheckPatternPredicate0,
17082 OPC_EmitConvertToTarget1,
17083 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_B),
17084 MVT::i32, 2, 0, 2,
17085 41,
17086 OPC_CheckChild1TypeI32,
17087 OPC_MoveChild2,
17088 OPC_CheckValueType, MVT::i8,
17089 OPC_MoveParent,
17090 OPC_CheckTypeI32,
17091 OPC_CheckPatternPredicate3,
17092 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
17093 MVT::v16i8, 2, 0, 1,
17094 OPC_EmitIntegerI32, Mips::sub_lo,
17095 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17096 MVT::i32, 2, 2, 3,
17097 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17098 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17099 MVT::i32, 2, 4, 5,
17100 OPC_EmitIntegerI32, 24,
17101 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
17102 MVT::i32, 2, 6, 7,
17103 59,
17104 OPC_CheckChild1TypeI64,
17105 OPC_MoveChild2,
17106 OPC_CheckValueType, MVT::i8,
17107 OPC_MoveParent,
17108 OPC_CheckTypeI32,
17109 OPC_CheckPatternPredicate3,
17110 OPC_EmitIntegerI32, Mips::sub_32,
17111 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17112 MVT::i32, 2, 1, 2,
17113 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17114 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17115 MVT::i32, 2, 3, 4,
17116 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
17117 MVT::v16i8, 2, 0, 5,
17118 OPC_EmitIntegerI32, Mips::sub_lo,
17119 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17120 MVT::i32, 2, 6, 7,
17121 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17122 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17123 MVT::i32, 2, 8, 9,
17124 OPC_EmitIntegerI32, 24,
17125 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
17126 MVT::i32, 2, 10, 11,
17127 0,
17128 0|128,1,
17129 OPC_CheckChild0Type, MVT::v8i16,
17130 OPC_RecordChild1,
17131 OPC_Scope, 20,
17132 OPC_MoveChild1,
17133 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17134 OPC_CheckPredicate, 17,
17135 OPC_MoveSibling2,
17136 OPC_CheckValueType, MVT::i16,
17137 OPC_MoveParent,
17138 OPC_CheckTypeI32,
17139 OPC_CheckPatternPredicate0,
17140 OPC_EmitConvertToTarget1,
17141 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_H),
17142 MVT::i32, 2, 0, 2,
17143 41,
17144 OPC_CheckChild1TypeI32,
17145 OPC_MoveChild2,
17146 OPC_CheckValueType, MVT::i16,
17147 OPC_MoveParent,
17148 OPC_CheckTypeI32,
17149 OPC_CheckPatternPredicate3,
17150 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
17151 MVT::v8i16, 2, 0, 1,
17152 OPC_EmitIntegerI32, Mips::sub_lo,
17153 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17154 MVT::i32, 2, 2, 3,
17155 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17156 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17157 MVT::i32, 2, 4, 5,
17158 OPC_EmitIntegerI32, 16,
17159 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
17160 MVT::i32, 2, 6, 7,
17161 59,
17162 OPC_CheckChild1TypeI64,
17163 OPC_MoveChild2,
17164 OPC_CheckValueType, MVT::i16,
17165 OPC_MoveParent,
17166 OPC_CheckTypeI32,
17167 OPC_CheckPatternPredicate3,
17168 OPC_EmitIntegerI32, Mips::sub_32,
17169 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17170 MVT::i32, 2, 1, 2,
17171 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17172 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17173 MVT::i32, 2, 3, 4,
17174 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
17175 MVT::v8i16, 2, 0, 5,
17176 OPC_EmitIntegerI32, Mips::sub_lo,
17177 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17178 MVT::i32, 2, 6, 7,
17179 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17180 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17181 MVT::i32, 2, 8, 9,
17182 OPC_EmitIntegerI32, 16,
17183 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
17184 MVT::i32, 2, 10, 11,
17185 0,
17186 124,
17187 OPC_CheckChild0Type, MVT::v4i32,
17188 OPC_RecordChild1,
17189 OPC_Scope, 34,
17190 OPC_MoveChild1,
17191 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17192 OPC_CheckPredicate, 21,
17193 OPC_MoveSibling2,
17194 OPC_CheckValueType, MVT::i32,
17195 OPC_MoveParent,
17196 OPC_CheckTypeI32,
17197 OPC_Scope, 10,
17198 OPC_CheckPatternPredicate, 59,
17199 OPC_EmitConvertToTarget1,
17200 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_W),
17201 MVT::i32, 2, 0, 2,
17202 9,
17203 OPC_CheckPatternPredicate3,
17204 OPC_EmitConvertToTarget1,
17205 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
17206 MVT::i32, 2, 0, 2,
17207 0,
17208 32,
17209 OPC_CheckChild1TypeI32,
17210 OPC_MoveChild2,
17211 OPC_CheckValueType, MVT::i32,
17212 OPC_MoveParent,
17213 OPC_CheckTypeI32,
17214 OPC_CheckPatternPredicate3,
17215 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17216 MVT::v4i32, 2, 0, 1,
17217 OPC_EmitIntegerI32, Mips::sub_lo,
17218 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17219 MVT::i32, 2, 2, 3,
17220 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17221 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17222 MVT::i32, 2, 4, 5,
17223 50,
17224 OPC_CheckChild1TypeI64,
17225 OPC_MoveChild2,
17226 OPC_CheckValueType, MVT::i32,
17227 OPC_MoveParent,
17228 OPC_CheckTypeI32,
17229 OPC_CheckPatternPredicate3,
17230 OPC_EmitIntegerI32, Mips::sub_32,
17231 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17232 MVT::i32, 2, 1, 2,
17233 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17234 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17235 MVT::i32, 2, 3, 4,
17236 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17237 MVT::v4i32, 2, 0, 5,
17238 OPC_EmitIntegerI32, Mips::sub_lo,
17239 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17240 MVT::i32, 2, 6, 7,
17241 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17242 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17243 MVT::i32, 2, 8, 9,
17244 0,
17245 24,
17246 OPC_CheckChild0Type, 6|128,1,
17247 OPC_RecordChild1,
17248 OPC_MoveChild1,
17249 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17250 OPC_CheckPredicate, 21,
17251 OPC_MoveSibling2,
17252 OPC_CheckValueType, MVT::i32,
17253 OPC_MoveParent,
17254 OPC_CheckTypeI32,
17255 OPC_CheckPatternPredicate3,
17256 OPC_EmitConvertToTarget1,
17257 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
17258 MVT::i32, 2, 0, 2,
17259 112,
17260 OPC_CheckChild0Type, MVT::v2i64,
17261 OPC_RecordChild1,
17262 OPC_Scope, 20,
17263 OPC_MoveChild1,
17264 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17265 OPC_CheckPredicate, 25,
17266 OPC_MoveSibling2,
17267 OPC_CheckValueType, MVT::i64,
17268 OPC_MoveParent,
17269 OPC_CheckTypeI64,
17270 OPC_CheckPatternPredicate3,
17271 OPC_EmitConvertToTarget1,
17272 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
17273 MVT::i64, 2, 0, 2,
17274 33,
17275 OPC_CheckChild1TypeI32,
17276 OPC_MoveChild2,
17277 OPC_CheckValueType, MVT::i64,
17278 OPC_MoveParent,
17279 OPC_CheckTypeI64,
17280 OPC_CheckPatternPredicate, 71,
17281 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17282 MVT::v2i64, 2, 0, 1,
17283 OPC_EmitIntegerI32, Mips::sub_64,
17284 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17285 MVT::i64, 2, 2, 3,
17286 OPC_EmitIntegerI32, Mips::GPR64RegClassID,
17287 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17288 MVT::i64, 2, 4, 5,
17289 51,
17290 OPC_CheckChild1TypeI64,
17291 OPC_MoveChild2,
17292 OPC_CheckValueType, MVT::i64,
17293 OPC_MoveParent,
17294 OPC_CheckTypeI64,
17295 OPC_CheckPatternPredicate, 71,
17296 OPC_EmitIntegerI32, Mips::sub_32,
17297 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17298 MVT::i32, 2, 1, 2,
17299 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17300 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17301 MVT::i32, 2, 3, 4,
17302 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17303 MVT::v2i64, 2, 0, 5,
17304 OPC_EmitIntegerI32, Mips::sub_64,
17305 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17306 MVT::i64, 2, 6, 7,
17307 OPC_EmitIntegerI32, Mips::GPR64RegClassID,
17308 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17309 MVT::i64, 2, 8, 9,
17310 0,
17311 24,
17312 OPC_CheckChild0Type, 24|128,1,
17313 OPC_RecordChild1,
17314 OPC_MoveChild1,
17315 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17316 OPC_CheckPredicate, 25,
17317 OPC_MoveSibling2,
17318 OPC_CheckValueType, MVT::i64,
17319 OPC_MoveParent,
17320 OPC_CheckTypeI64,
17321 OPC_CheckPatternPredicate3,
17322 OPC_EmitConvertToTarget1,
17323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
17324 MVT::i64, 2, 0, 2,
17325 0,
17326 67|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
17327 OPC_RecordChild0,
17328 OPC_Scope, 19,
17329 OPC_RecordChild1,
17330 OPC_MoveChild1,
17331 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17332 OPC_CheckPredicate, 14,
17333 OPC_CheckTypeI32,
17334 OPC_MoveParent,
17335 OPC_CheckTypeI32,
17336 OPC_CheckPatternPredicate3,
17337 OPC_EmitConvertToTarget1,
17338 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
17339 MVT::i32, 2, 0, 2,
17340 85,
17341 OPC_CheckChild0Type, 6|128,1,
17342 OPC_RecordChild1,
17343 OPC_Scope, 18,
17344 OPC_MoveChild1,
17345 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17346 OPC_CheckPredicate, 21,
17347 OPC_MoveParent,
17348 OPC_CheckType, MVT::f32,
17349 OPC_CheckPatternPredicate0,
17350 OPC_EmitConvertToTarget1,
17351 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FW_PSEUDO),
17352 MVT::f32, 2, 0, 2,
17353 20,
17354 OPC_CheckChild1TypeI32,
17355 OPC_CheckType, MVT::f32,
17356 OPC_CheckPatternPredicate3,
17357 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17358 MVT::v4i32, 2, 0, 1,
17359 OPC_EmitIntegerI32, Mips::sub_lo,
17360 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17361 MVT::f32, 2, 2, 3,
17362 38,
17363 OPC_CheckChild1TypeI64,
17364 OPC_CheckType, MVT::f32,
17365 OPC_CheckPatternPredicate3,
17366 OPC_EmitIntegerI32, Mips::sub_32,
17367 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17368 MVT::i32, 2, 1, 2,
17369 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17370 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17371 MVT::i32, 2, 3, 4,
17372 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17373 MVT::v4i32, 2, 0, 5,
17374 OPC_EmitIntegerI32, Mips::sub_lo,
17375 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17376 MVT::f32, 2, 6, 7,
17377 0,
17378 85,
17379 OPC_CheckChild0Type, 24|128,1,
17380 OPC_RecordChild1,
17381 OPC_Scope, 18,
17382 OPC_MoveChild1,
17383 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17384 OPC_CheckPredicate, 25,
17385 OPC_MoveParent,
17386 OPC_CheckType, MVT::f64,
17387 OPC_CheckPatternPredicate0,
17388 OPC_EmitConvertToTarget1,
17389 OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FD_PSEUDO),
17390 MVT::f64, 2, 0, 2,
17391 20,
17392 OPC_CheckChild1TypeI32,
17393 OPC_CheckType, MVT::f64,
17394 OPC_CheckPatternPredicate3,
17395 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17396 MVT::v2i64, 2, 0, 1,
17397 OPC_EmitIntegerI32, Mips::sub_64,
17398 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17399 MVT::f64, 2, 2, 3,
17400 38,
17401 OPC_CheckChild1TypeI64,
17402 OPC_CheckType, MVT::f64,
17403 OPC_CheckPatternPredicate3,
17404 OPC_EmitIntegerI32, Mips::sub_32,
17405 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17406 MVT::i32, 2, 1, 2,
17407 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
17408 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17409 MVT::i32, 2, 3, 4,
17410 OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17411 MVT::v2i64, 2, 0, 5,
17412 OPC_EmitIntegerI32, Mips::sub_64,
17413 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17414 MVT::f64, 2, 6, 7,
17415 0,
17416 0,
17417 90|128,1, TARGET_VAL(MipsISD::JmpLink),
17418 OPC_RecordNode,
17419 OPC_CaptureGlueInput,
17420 OPC_RecordChild1,
17421 OPC_Scope, 7|128,1,
17422 OPC_MoveChild1,
17423 OPC_SwitchOpcode , 69, TARGET_VAL(ISD::TargetGlobalAddress),
17424 OPC_Scope, 22,
17425 OPC_MoveParent,
17426 OPC_Scope, 8,
17427 OPC_CheckPatternPredicate2,
17428 OPC_EmitMergeInputChains1_0,
17429 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17430 1, 1,
17431 9,
17432 OPC_CheckPatternPredicate, 70,
17433 OPC_EmitMergeInputChains1_0,
17434 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17435 1, 1,
17436 0,
17437 10,
17438 OPC_CheckTypeI32,
17439 OPC_MoveParent,
17440 OPC_CheckPatternPredicate5,
17441 OPC_EmitMergeInputChains1_0,
17442 OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17443 1, 1,
17444 32,
17445 OPC_MoveParent,
17446 OPC_Scope, 18,
17447 OPC_CheckPatternPredicate7,
17448 OPC_EmitMergeInputChains1_0,
17449 OPC_Scope, 6,
17450 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17451 1, 1,
17452 6,
17453 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17454 1, 1,
17455 0,
17456 9,
17457 OPC_CheckPatternPredicate, 8,
17458 OPC_EmitMergeInputChains1_0,
17459 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17460 1, 1,
17461 0,
17462 0,
17463 57, TARGET_VAL(ISD::TargetExternalSymbol),
17464 OPC_SwitchType , 41, MVT::i32,
17465 OPC_MoveParent,
17466 OPC_Scope, 9,
17467 OPC_CheckPatternPredicate, 72,
17468 OPC_EmitMergeInputChains1_0,
17469 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17470 1, 1,
17471 8,
17472 OPC_CheckPatternPredicate5,
17473 OPC_EmitMergeInputChains1_0,
17474 OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17475 1, 1,
17476 8,
17477 OPC_CheckPatternPredicate7,
17478 OPC_EmitMergeInputChains1_0,
17479 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17480 1, 1,
17481 9,
17482 OPC_CheckPatternPredicate, 8,
17483 OPC_EmitMergeInputChains1_0,
17484 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17485 1, 1,
17486 0,
17487 10, MVT::i64,
17488 OPC_MoveParent,
17489 OPC_CheckPatternPredicate, 12,
17490 OPC_EmitMergeInputChains1_0,
17491 OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17492 1, 1,
17493 0,
17494 0,
17495 51,
17496 OPC_CheckChild1TypeI32,
17497 OPC_Scope, 9,
17498 OPC_CheckPatternPredicate, 119,
17499 OPC_EmitMergeInputChains1_0,
17500 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17501 1, 1,
17502 9,
17503 OPC_CheckPatternPredicate, 120,
17504 OPC_EmitMergeInputChains1_0,
17505 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHBPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17506 1, 1,
17507 8,
17508 OPC_CheckPatternPredicate5,
17509 OPC_EmitMergeInputChains1_0,
17510 OPC_MorphNodeTo0, TARGET_VAL(Mips::JumpLinkReg16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17511 1, 1,
17512 8,
17513 OPC_CheckPatternPredicate7,
17514 OPC_EmitMergeInputChains1_0,
17515 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR16_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17516 1, 1,
17517 9,
17518 OPC_CheckPatternPredicate, 8,
17519 OPC_EmitMergeInputChains1_0,
17520 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRC16_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17521 1, 1,
17522 0,
17523 23,
17524 OPC_CheckChild1TypeI64,
17525 OPC_Scope, 9,
17526 OPC_CheckPatternPredicate, 121,
17527 OPC_EmitMergeInputChains1_0,
17528 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17529 1, 1,
17530 9,
17531 OPC_CheckPatternPredicate, 122,
17532 OPC_EmitMergeInputChains1_0,
17533 OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHB64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17534 1, 1,
17535 0,
17536 0,
17537 56|128,1, TARGET_VAL(MipsISD::TailCall),
17538 OPC_RecordNode,
17539 OPC_CaptureGlueInput,
17540 OPC_RecordChild1,
17541 OPC_Scope, 71,
17542 OPC_MoveChild1,
17543 OPC_SwitchOpcode , 31, TARGET_VAL(ISD::TargetGlobalAddress),
17544 OPC_MoveParent,
17545 OPC_Scope, 8,
17546 OPC_CheckPatternPredicate2,
17547 OPC_EmitMergeInputChains1_0,
17548 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17549 1, 1,
17550 8,
17551 OPC_CheckPatternPredicate7,
17552 OPC_EmitMergeInputChains1_0,
17553 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17554 1, 1,
17555 9,
17556 OPC_CheckPatternPredicate, 8,
17557 OPC_EmitMergeInputChains1_0,
17558 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17559 1, 1,
17560 0,
17561 31, TARGET_VAL(ISD::TargetExternalSymbol),
17562 OPC_MoveParent,
17563 OPC_Scope, 8,
17564 OPC_CheckPatternPredicate2,
17565 OPC_EmitMergeInputChains1_0,
17566 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17567 1, 1,
17568 8,
17569 OPC_CheckPatternPredicate7,
17570 OPC_EmitMergeInputChains1_0,
17571 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17572 1, 1,
17573 9,
17574 OPC_CheckPatternPredicate, 8,
17575 OPC_EmitMergeInputChains1_0,
17576 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17577 1, 1,
17578 0,
17579 0,
17580 62,
17581 OPC_CheckChild1TypeI32,
17582 OPC_Scope, 9,
17583 OPC_CheckPatternPredicate, 95,
17584 OPC_EmitMergeInputChains1_0,
17585 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17586 1, 1,
17587 9,
17588 OPC_CheckPatternPredicate, 123,
17589 OPC_EmitMergeInputChains1_0,
17590 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17591 1, 1,
17592 9,
17593 OPC_CheckPatternPredicate, 96,
17594 OPC_EmitMergeInputChains1_0,
17595 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17596 1, 1,
17597 9,
17598 OPC_CheckPatternPredicate, 97,
17599 OPC_EmitMergeInputChains1_0,
17600 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHBR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17601 1, 1,
17602 8,
17603 OPC_CheckPatternPredicate7,
17604 OPC_EmitMergeInputChains1_0,
17605 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17606 1, 1,
17607 9,
17608 OPC_CheckPatternPredicate, 8,
17609 OPC_EmitMergeInputChains1_0,
17610 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17611 1, 1,
17612 0,
17613 43,
17614 OPC_CheckChild1TypeI64,
17615 OPC_Scope, 9,
17616 OPC_CheckPatternPredicate, 124,
17617 OPC_EmitMergeInputChains1_0,
17618 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17619 1, 1,
17620 9,
17621 OPC_CheckPatternPredicate, 98,
17622 OPC_EmitMergeInputChains1_0,
17623 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17624 1, 1,
17625 9,
17626 OPC_CheckPatternPredicate, 99,
17627 OPC_EmitMergeInputChains1_0,
17628 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17629 1, 1,
17630 9,
17631 OPC_CheckPatternPredicate, 100,
17632 OPC_EmitMergeInputChains1_0,
17633 OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHB64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17634 1, 1,
17635 0,
17636 0,
17637 64|128,2, TARGET_VAL(MipsISD::Hi),
17638 OPC_RecordChild0,
17639 OPC_MoveChild0,
17640 OPC_SwitchOpcode , 67, TARGET_VAL(ISD::TargetGlobalAddress),
17641 OPC_MoveParent,
17642 OPC_SwitchType , 35, MVT::i32,
17643 OPC_Scope, 7,
17644 OPC_CheckPatternPredicate2,
17645 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17646 MVT::i32, 1, 0,
17647 7,
17648 OPC_CheckPatternPredicate4,
17649 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17650 MVT::i32, 1, 0,
17651 16,
17652 OPC_CheckPatternPredicate5,
17653 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17654 MVT::i32, 1, 0,
17655 OPC_EmitIntegerI32, 16,
17656 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17657 MVT::i32, 2, 1, 2,
17658 0,
17659 25, MVT::i64,
17660 OPC_Scope, 8,
17661 OPC_CheckPatternPredicate, 25,
17662 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17663 MVT::i64, 1, 0,
17664 13,
17665 OPC_CheckPatternPredicate, 12,
17666 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17667 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17668 MVT::i64, 2, 1, 0,
17669 0,
17670 0,
17671 67, TARGET_VAL(ISD::TargetBlockAddress),
17672 OPC_MoveParent,
17673 OPC_SwitchType , 35, MVT::i32,
17674 OPC_Scope, 7,
17675 OPC_CheckPatternPredicate2,
17676 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17677 MVT::i32, 1, 0,
17678 7,
17679 OPC_CheckPatternPredicate4,
17680 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17681 MVT::i32, 1, 0,
17682 16,
17683 OPC_CheckPatternPredicate5,
17684 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17685 MVT::i32, 1, 0,
17686 OPC_EmitIntegerI32, 16,
17687 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17688 MVT::i32, 2, 1, 2,
17689 0,
17690 25, MVT::i64,
17691 OPC_Scope, 8,
17692 OPC_CheckPatternPredicate, 25,
17693 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17694 MVT::i64, 1, 0,
17695 13,
17696 OPC_CheckPatternPredicate, 12,
17697 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17698 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17699 MVT::i64, 2, 1, 0,
17700 0,
17701 0,
17702 67, TARGET_VAL(ISD::TargetJumpTable),
17703 OPC_MoveParent,
17704 OPC_SwitchType , 35, MVT::i32,
17705 OPC_Scope, 7,
17706 OPC_CheckPatternPredicate2,
17707 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17708 MVT::i32, 1, 0,
17709 7,
17710 OPC_CheckPatternPredicate4,
17711 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17712 MVT::i32, 1, 0,
17713 16,
17714 OPC_CheckPatternPredicate5,
17715 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17716 MVT::i32, 1, 0,
17717 OPC_EmitIntegerI32, 16,
17718 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17719 MVT::i32, 2, 1, 2,
17720 0,
17721 25, MVT::i64,
17722 OPC_Scope, 8,
17723 OPC_CheckPatternPredicate, 25,
17724 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17725 MVT::i64, 1, 0,
17726 13,
17727 OPC_CheckPatternPredicate, 12,
17728 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17729 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17730 MVT::i64, 2, 1, 0,
17731 0,
17732 0,
17733 50, TARGET_VAL(ISD::TargetConstantPool),
17734 OPC_MoveParent,
17735 OPC_SwitchType , 18, MVT::i32,
17736 OPC_Scope, 7,
17737 OPC_CheckPatternPredicate2,
17738 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17739 MVT::i32, 1, 0,
17740 7,
17741 OPC_CheckPatternPredicate4,
17742 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17743 MVT::i32, 1, 0,
17744 0,
17745 25, MVT::i64,
17746 OPC_Scope, 8,
17747 OPC_CheckPatternPredicate, 25,
17748 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17749 MVT::i64, 1, 0,
17750 13,
17751 OPC_CheckPatternPredicate, 12,
17752 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17753 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17754 MVT::i64, 2, 1, 0,
17755 0,
17756 0,
17757 50, TARGET_VAL(ISD::TargetExternalSymbol),
17758 OPC_MoveParent,
17759 OPC_SwitchType , 18, MVT::i32,
17760 OPC_Scope, 7,
17761 OPC_CheckPatternPredicate2,
17762 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17763 MVT::i32, 1, 0,
17764 7,
17765 OPC_CheckPatternPredicate4,
17766 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17767 MVT::i32, 1, 0,
17768 0,
17769 25, MVT::i64,
17770 OPC_Scope, 8,
17771 OPC_CheckPatternPredicate, 25,
17772 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17773 MVT::i64, 1, 0,
17774 13,
17775 OPC_CheckPatternPredicate, 12,
17776 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17778 MVT::i64, 2, 1, 0,
17779 0,
17780 0,
17781 0,
17782 12|128,3, TARGET_VAL(MipsISD::Lo),
17783 OPC_RecordChild0,
17784 OPC_MoveChild0,
17785 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::TargetGlobalAddress),
17786 OPC_MoveParent,
17787 OPC_SwitchType , 24, MVT::i32,
17788 OPC_Scope, 10,
17789 OPC_CheckPatternPredicate2,
17790 OPC_EmitRegisterI32, Mips::ZERO,
17791 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17792 MVT::i32, 2, 1, 0,
17793 10,
17794 OPC_CheckPatternPredicate4,
17795 OPC_EmitRegisterI32, Mips::ZERO,
17796 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17797 MVT::i32, 2, 1, 0,
17798 0,
17799 30, MVT::i64,
17800 OPC_Scope, 13,
17801 OPC_CheckPatternPredicate, 25,
17802 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17803 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17804 MVT::i64, 2, 1, 0,
17805 13,
17806 OPC_CheckPatternPredicate, 12,
17807 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17808 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17809 MVT::i64, 2, 1, 0,
17810 0,
17811 0,
17812 69, TARGET_VAL(ISD::TargetBlockAddress),
17813 OPC_MoveParent,
17814 OPC_SwitchType , 32, MVT::i32,
17815 OPC_Scope, 10,
17816 OPC_CheckPatternPredicate2,
17817 OPC_EmitRegisterI32, Mips::ZERO,
17818 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17819 MVT::i32, 2, 1, 0,
17820 7,
17821 OPC_CheckPatternPredicate5,
17822 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
17823 MVT::i32, 1, 0,
17824 10,
17825 OPC_CheckPatternPredicate4,
17826 OPC_EmitRegisterI32, Mips::ZERO,
17827 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17828 MVT::i32, 2, 1, 0,
17829 0,
17830 30, MVT::i64,
17831 OPC_Scope, 13,
17832 OPC_CheckPatternPredicate, 25,
17833 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17834 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17835 MVT::i64, 2, 1, 0,
17836 13,
17837 OPC_CheckPatternPredicate, 12,
17838 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17840 MVT::i64, 2, 1, 0,
17841 0,
17842 0,
17843 61, TARGET_VAL(ISD::TargetJumpTable),
17844 OPC_MoveParent,
17845 OPC_SwitchType , 24, MVT::i32,
17846 OPC_Scope, 10,
17847 OPC_CheckPatternPredicate2,
17848 OPC_EmitRegisterI32, Mips::ZERO,
17849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17850 MVT::i32, 2, 1, 0,
17851 10,
17852 OPC_CheckPatternPredicate4,
17853 OPC_EmitRegisterI32, Mips::ZERO,
17854 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17855 MVT::i32, 2, 1, 0,
17856 0,
17857 30, MVT::i64,
17858 OPC_Scope, 13,
17859 OPC_CheckPatternPredicate, 25,
17860 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17861 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17862 MVT::i64, 2, 1, 0,
17863 13,
17864 OPC_CheckPatternPredicate, 12,
17865 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17866 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17867 MVT::i64, 2, 1, 0,
17868 0,
17869 0,
17870 61, TARGET_VAL(ISD::TargetConstantPool),
17871 OPC_MoveParent,
17872 OPC_SwitchType , 24, MVT::i32,
17873 OPC_Scope, 10,
17874 OPC_CheckPatternPredicate2,
17875 OPC_EmitRegisterI32, Mips::ZERO,
17876 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17877 MVT::i32, 2, 1, 0,
17878 10,
17879 OPC_CheckPatternPredicate4,
17880 OPC_EmitRegisterI32, Mips::ZERO,
17881 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17882 MVT::i32, 2, 1, 0,
17883 0,
17884 30, MVT::i64,
17885 OPC_Scope, 13,
17886 OPC_CheckPatternPredicate, 25,
17887 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17888 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17889 MVT::i64, 2, 1, 0,
17890 13,
17891 OPC_CheckPatternPredicate, 12,
17892 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17893 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17894 MVT::i64, 2, 1, 0,
17895 0,
17896 0,
17897 61, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17898 OPC_MoveParent,
17899 OPC_SwitchType , 24, MVT::i32,
17900 OPC_Scope, 10,
17901 OPC_CheckPatternPredicate2,
17902 OPC_EmitRegisterI32, Mips::ZERO,
17903 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17904 MVT::i32, 2, 1, 0,
17905 10,
17906 OPC_CheckPatternPredicate4,
17907 OPC_EmitRegisterI32, Mips::ZERO,
17908 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17909 MVT::i32, 2, 1, 0,
17910 0,
17911 30, MVT::i64,
17912 OPC_Scope, 13,
17913 OPC_CheckPatternPredicate, 25,
17914 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17915 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17916 MVT::i64, 2, 1, 0,
17917 13,
17918 OPC_CheckPatternPredicate, 12,
17919 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17920 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17921 MVT::i64, 2, 1, 0,
17922 0,
17923 0,
17924 61, TARGET_VAL(ISD::TargetExternalSymbol),
17925 OPC_MoveParent,
17926 OPC_SwitchType , 24, MVT::i32,
17927 OPC_Scope, 10,
17928 OPC_CheckPatternPredicate2,
17929 OPC_EmitRegisterI32, Mips::ZERO,
17930 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17931 MVT::i32, 2, 1, 0,
17932 10,
17933 OPC_CheckPatternPredicate4,
17934 OPC_EmitRegisterI32, Mips::ZERO,
17935 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17936 MVT::i32, 2, 1, 0,
17937 0,
17938 30, MVT::i64,
17939 OPC_Scope, 13,
17940 OPC_CheckPatternPredicate, 25,
17941 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17942 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17943 MVT::i64, 2, 1, 0,
17944 13,
17945 OPC_CheckPatternPredicate, 12,
17946 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17948 MVT::i64, 2, 1, 0,
17949 0,
17950 0,
17951 0,
17952 76, TARGET_VAL(MipsISD::GotHi),
17953 OPC_RecordChild0,
17954 OPC_MoveChild0,
17955 OPC_SwitchOpcode , 33, TARGET_VAL(ISD::TargetGlobalAddress),
17956 OPC_MoveParent,
17957 OPC_SwitchType , 18, MVT::i32,
17958 OPC_Scope, 7,
17959 OPC_CheckPatternPredicate2,
17960 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17961 MVT::i32, 1, 0,
17962 7,
17963 OPC_CheckPatternPredicate4,
17964 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17965 MVT::i32, 1, 0,
17966 0,
17967 8, MVT::i64,
17968 OPC_CheckPatternPredicate, 9,
17969 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17970 MVT::i64, 1, 0,
17971 0,
17972 33, TARGET_VAL(ISD::TargetExternalSymbol),
17973 OPC_MoveParent,
17974 OPC_SwitchType , 18, MVT::i32,
17975 OPC_Scope, 7,
17976 OPC_CheckPatternPredicate2,
17977 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17978 MVT::i32, 1, 0,
17979 7,
17980 OPC_CheckPatternPredicate4,
17981 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17982 MVT::i32, 1, 0,
17983 0,
17984 8, MVT::i64,
17985 OPC_CheckPatternPredicate, 9,
17986 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17987 MVT::i64, 1, 0,
17988 0,
17989 0,
17990 55, TARGET_VAL(MipsISD::TlsHi),
17991 OPC_RecordChild0,
17992 OPC_MoveChild0,
17993 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17994 OPC_MoveParent,
17995 OPC_SwitchType , 35, MVT::i32,
17996 OPC_Scope, 7,
17997 OPC_CheckPatternPredicate2,
17998 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17999 MVT::i32, 1, 0,
18000 7,
18001 OPC_CheckPatternPredicate4,
18002 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
18003 MVT::i32, 1, 0,
18004 16,
18005 OPC_CheckPatternPredicate5,
18006 OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
18007 MVT::i32, 1, 0,
18008 OPC_EmitIntegerI32, 16,
18009 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
18010 MVT::i32, 2, 1, 2,
18011 0,
18012 8, MVT::i64,
18013 OPC_CheckPatternPredicate, 9,
18014 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18015 MVT::i64, 1, 0,
18016 0,
18017 1|128,2, TARGET_VAL(MipsISD::Wrapper),
18018 OPC_RecordChild0,
18019 OPC_RecordChild1,
18020 OPC_MoveChild1,
18021 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::TargetGlobalAddress),
18022 OPC_MoveParent,
18023 OPC_SwitchType , 29, MVT::i32,
18024 OPC_Scope, 8,
18025 OPC_CheckPatternPredicate2,
18026 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18027 MVT::i32, 2, 0, 1,
18028 8,
18029 OPC_CheckPatternPredicate5,
18030 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
18031 MVT::i32, 2, 0, 1,
18032 8,
18033 OPC_CheckPatternPredicate4,
18034 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18035 MVT::i32, 2, 0, 1,
18036 0,
18037 9, MVT::i64,
18038 OPC_CheckPatternPredicate, 9,
18039 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18040 MVT::i64, 2, 0, 1,
18041 0,
18042 36, TARGET_VAL(ISD::TargetConstantPool),
18043 OPC_MoveParent,
18044 OPC_SwitchType , 20, MVT::i32,
18045 OPC_Scope, 8,
18046 OPC_CheckPatternPredicate2,
18047 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18048 MVT::i32, 2, 0, 1,
18049 8,
18050 OPC_CheckPatternPredicate4,
18051 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18052 MVT::i32, 2, 0, 1,
18053 0,
18054 9, MVT::i64,
18055 OPC_CheckPatternPredicate, 9,
18056 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18057 MVT::i64, 2, 0, 1,
18058 0,
18059 36, TARGET_VAL(ISD::TargetExternalSymbol),
18060 OPC_MoveParent,
18061 OPC_SwitchType , 20, MVT::i32,
18062 OPC_Scope, 8,
18063 OPC_CheckPatternPredicate2,
18064 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18065 MVT::i32, 2, 0, 1,
18066 8,
18067 OPC_CheckPatternPredicate4,
18068 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18069 MVT::i32, 2, 0, 1,
18070 0,
18071 9, MVT::i64,
18072 OPC_CheckPatternPredicate, 9,
18073 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18074 MVT::i64, 2, 0, 1,
18075 0,
18076 36, TARGET_VAL(ISD::TargetBlockAddress),
18077 OPC_MoveParent,
18078 OPC_SwitchType , 20, MVT::i32,
18079 OPC_Scope, 8,
18080 OPC_CheckPatternPredicate2,
18081 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18082 MVT::i32, 2, 0, 1,
18083 8,
18084 OPC_CheckPatternPredicate4,
18085 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18086 MVT::i32, 2, 0, 1,
18087 0,
18088 9, MVT::i64,
18089 OPC_CheckPatternPredicate, 9,
18090 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18091 MVT::i64, 2, 0, 1,
18092 0,
18093 36, TARGET_VAL(ISD::TargetJumpTable),
18094 OPC_MoveParent,
18095 OPC_SwitchType , 20, MVT::i32,
18096 OPC_Scope, 8,
18097 OPC_CheckPatternPredicate2,
18098 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18099 MVT::i32, 2, 0, 1,
18100 8,
18101 OPC_CheckPatternPredicate4,
18102 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18103 MVT::i32, 2, 0, 1,
18104 0,
18105 9, MVT::i64,
18106 OPC_CheckPatternPredicate, 9,
18107 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18108 MVT::i64, 2, 0, 1,
18109 0,
18110 45, TARGET_VAL(ISD::TargetGlobalTLSAddress),
18111 OPC_MoveParent,
18112 OPC_SwitchType , 29, MVT::i32,
18113 OPC_Scope, 8,
18114 OPC_CheckPatternPredicate2,
18115 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18116 MVT::i32, 2, 0, 1,
18117 8,
18118 OPC_CheckPatternPredicate5,
18119 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
18120 MVT::i32, 2, 0, 1,
18121 8,
18122 OPC_CheckPatternPredicate4,
18123 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18124 MVT::i32, 2, 0, 1,
18125 0,
18126 9, MVT::i64,
18127 OPC_CheckPatternPredicate, 9,
18128 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18129 MVT::i64, 2, 0, 1,
18130 0,
18131 0,
18132 120, TARGET_VAL(MipsISD::FPCmp),
18133 OPC_RecordChild0,
18134 OPC_Scope, 35,
18135 OPC_CheckChild0Type, MVT::f32,
18136 OPC_RecordChild1,
18137 OPC_RecordChild2,
18138 OPC_MoveChild2,
18139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18140 OPC_MoveParent,
18141 OPC_Scope, 11,
18142 OPC_CheckPatternPredicate, 80,
18143 OPC_EmitConvertToTarget2,
18144 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
18145 MVT::i32, 3, 0, 1, 3,
18146 11,
18147 OPC_CheckPatternPredicate, 44,
18148 OPC_EmitConvertToTarget2,
18149 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32_MM),
18150 MVT::i32, 3, 0, 1, 3,
18151 0,
18152 47,
18153 OPC_CheckChild0Type, MVT::f64,
18154 OPC_RecordChild1,
18155 OPC_RecordChild2,
18156 OPC_MoveChild2,
18157 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18158 OPC_MoveParent,
18159 OPC_Scope, 11,
18160 OPC_CheckPatternPredicate, 125,
18161 OPC_EmitConvertToTarget2,
18162 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32),
18163 MVT::i32, 3, 0, 1, 3,
18164 11,
18165 OPC_CheckPatternPredicate, 126,
18166 OPC_EmitConvertToTarget2,
18167 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D64),
18168 MVT::i32, 3, 0, 1, 3,
18169 11,
18170 OPC_CheckPatternPredicate, 44,
18171 OPC_EmitConvertToTarget2,
18172 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32_MM),
18173 MVT::i32, 3, 0, 1, 3,
18174 0,
18175 32,
18176 OPC_CheckChild0Type, MVT::f16,
18177 OPC_RecordChild1,
18178 OPC_RecordChild2,
18179 OPC_MoveChild2,
18180 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18181 OPC_MoveParent,
18182 OPC_CheckPatternPredicate, 127,
18183 OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
18184 MVT::f32, 1, 0,
18185 OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
18186 MVT::f32, 1, 1,
18187 OPC_EmitConvertToTarget2,
18188 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
18189 MVT::i32, 3, 3, 4, 5,
18190 0,
18191 31, TARGET_VAL(MipsISD::ExtractElementF64),
18192 OPC_RecordChild0,
18193 OPC_RecordChild1,
18194 OPC_MoveChild1,
18195 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18196 OPC_MoveParent,
18197 OPC_Scope, 10,
18198 OPC_CheckPatternPredicate, 101,
18199 OPC_EmitConvertToTarget1,
18200 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64),
18201 MVT::i32, 2, 0, 2,
18202 10,
18203 OPC_CheckPatternPredicate, 102,
18204 OPC_EmitConvertToTarget1,
18205 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64_64),
18206 MVT::i32, 2, 0, 2,
18207 0,
18208 69, TARGET_VAL(MipsISD::Highest),
18209 OPC_RecordChild0,
18210 OPC_MoveChild0,
18211 OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
18212 OPC_MoveParent,
18213 OPC_CheckTypeI64,
18214 OPC_CheckPatternPredicate, 12,
18215 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18216 MVT::i64, 1, 0,
18217 10, TARGET_VAL(ISD::TargetBlockAddress),
18218 OPC_MoveParent,
18219 OPC_CheckTypeI64,
18220 OPC_CheckPatternPredicate, 12,
18221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18222 MVT::i64, 1, 0,
18223 10, TARGET_VAL(ISD::TargetJumpTable),
18224 OPC_MoveParent,
18225 OPC_CheckTypeI64,
18226 OPC_CheckPatternPredicate, 12,
18227 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18228 MVT::i64, 1, 0,
18229 10, TARGET_VAL(ISD::TargetConstantPool),
18230 OPC_MoveParent,
18231 OPC_CheckTypeI64,
18232 OPC_CheckPatternPredicate, 12,
18233 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18234 MVT::i64, 1, 0,
18235 10, TARGET_VAL(ISD::TargetExternalSymbol),
18236 OPC_MoveParent,
18237 OPC_CheckTypeI64,
18238 OPC_CheckPatternPredicate, 12,
18239 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18240 MVT::i64, 1, 0,
18241 0,
18242 94, TARGET_VAL(MipsISD::Higher),
18243 OPC_RecordChild0,
18244 OPC_MoveChild0,
18245 OPC_SwitchOpcode , 15, TARGET_VAL(ISD::TargetGlobalAddress),
18246 OPC_MoveParent,
18247 OPC_CheckTypeI64,
18248 OPC_CheckPatternPredicate, 12,
18249 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18251 MVT::i64, 2, 1, 0,
18252 15, TARGET_VAL(ISD::TargetBlockAddress),
18253 OPC_MoveParent,
18254 OPC_CheckTypeI64,
18255 OPC_CheckPatternPredicate, 12,
18256 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18257 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18258 MVT::i64, 2, 1, 0,
18259 15, TARGET_VAL(ISD::TargetJumpTable),
18260 OPC_MoveParent,
18261 OPC_CheckTypeI64,
18262 OPC_CheckPatternPredicate, 12,
18263 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18264 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18265 MVT::i64, 2, 1, 0,
18266 15, TARGET_VAL(ISD::TargetConstantPool),
18267 OPC_MoveParent,
18268 OPC_CheckTypeI64,
18269 OPC_CheckPatternPredicate, 12,
18270 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18271 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18272 MVT::i64, 2, 1, 0,
18273 15, TARGET_VAL(ISD::TargetExternalSymbol),
18274 OPC_MoveParent,
18275 OPC_CheckTypeI64,
18276 OPC_CheckPatternPredicate, 12,
18277 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18278 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18279 MVT::i64, 2, 1, 0,
18280 0,
18281 20, TARGET_VAL(MipsISD::GPRel),
18282 OPC_RecordChild0,
18283 OPC_MoveChild0,
18284 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18285 OPC_MoveParent,
18286 OPC_CheckTypeI64,
18287 OPC_CheckPatternPredicate, 64,
18288 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18289 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18290 MVT::i64, 2, 1, 0,
18291 116|128,2, TARGET_VAL(ISD::Constant),
18292 OPC_RecordNode,
18293 OPC_Scope, 14,
18294 OPC_CheckPredicate, 36,
18295 OPC_CheckTypeI32,
18296 OPC_CheckPatternPredicate2,
18297 OPC_EmitConvertToTarget0,
18298 OPC_EmitNodeXForm, 5, 1,
18299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
18300 MVT::i32, 1, 2,
18301 14,
18302 OPC_CheckPredicate, 37,
18303 OPC_CheckTypeI32,
18304 OPC_CheckPatternPredicate2,
18305 OPC_EmitRegisterI32, Mips::ZERO,
18306 OPC_EmitConvertToTarget0,
18307 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
18308 MVT::i32, 2, 1, 2,
18309 13,
18310 OPC_CheckPredicate7,
18311 OPC_CheckTypeI32,
18312 OPC_CheckPatternPredicate2,
18313 OPC_EmitRegisterI32, Mips::ZERO,
18314 OPC_EmitConvertToTarget0,
18315 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18316 MVT::i32, 2, 1, 2,
18317 15,
18318 OPC_CheckPredicate, 36,
18319 OPC_CheckTypeI64,
18320 OPC_CheckPatternPredicate, 9,
18321 OPC_EmitConvertToTarget0,
18322 OPC_EmitNodeXForm, 5, 1,
18323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18324 MVT::i64, 1, 2,
18325 17,
18326 OPC_CheckPredicate, 37,
18327 OPC_CheckTypeI64,
18328 OPC_CheckPatternPredicate, 9,
18329 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18330 OPC_EmitConvertToTarget0,
18331 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18332 MVT::i64, 2, 1, 2,
18333 16,
18334 OPC_CheckPredicate7,
18335 OPC_CheckTypeI64,
18336 OPC_CheckPatternPredicate, 9,
18337 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18338 OPC_EmitConvertToTarget0,
18339 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18340 MVT::i64, 2, 1, 2,
18341 14,
18342 OPC_CheckPredicate, 11,
18343 OPC_CheckTypeI32,
18344 OPC_CheckPatternPredicate5,
18345 OPC_EmitConvertToTarget0,
18346 OPC_EmitNodeXForm, 3, 1,
18347 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
18348 MVT::i32, 1, 2,
18349 11,
18350 OPC_CheckPredicate, 60,
18351 OPC_CheckTypeI32,
18352 OPC_CheckPatternPredicate4,
18353 OPC_EmitConvertToTarget0,
18354 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LI16_MM),
18355 MVT::i32, 1, 1,
18356 14,
18357 OPC_CheckPredicate, 36,
18358 OPC_CheckTypeI32,
18359 OPC_CheckPatternPredicate4,
18360 OPC_EmitConvertToTarget0,
18361 OPC_EmitNodeXForm, 5, 1,
18362 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
18363 MVT::i32, 1, 2,
18364 14,
18365 OPC_CheckPredicate, 37,
18366 OPC_CheckTypeI32,
18367 OPC_CheckPatternPredicate4,
18368 OPC_EmitRegisterI32, Mips::ZERO,
18369 OPC_EmitConvertToTarget0,
18370 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
18371 MVT::i32, 2, 1, 2,
18372 13,
18373 OPC_CheckPredicate7,
18374 OPC_CheckTypeI32,
18375 OPC_CheckPatternPredicate4,
18376 OPC_EmitRegisterI32, Mips::ZERO,
18377 OPC_EmitConvertToTarget0,
18378 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18379 MVT::i32, 2, 1, 2,
18380 18,
18381 OPC_CheckPredicate, 11,
18382 OPC_CheckTypeI32,
18383 OPC_CheckPatternPredicate, 8,
18384 OPC_EmitRegisterI32, Mips::ZERO,
18385 OPC_EmitConvertToTarget0,
18386 OPC_EmitNodeXForm, 3, 2,
18387 OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
18388 MVT::i32, 2, 1, 3,
18389 53,
18390 OPC_CheckPredicate, 48,
18391 OPC_SwitchType , 22, MVT::i32,
18392 OPC_CheckPatternPredicate2,
18393 OPC_EmitConvertToTarget0,
18394 OPC_EmitNodeXForm, 5, 1,
18395 OPC_EmitNode1None, TARGET_VAL(Mips::LUi),
18396 MVT::i32, 1, 2,
18397 OPC_EmitConvertToTarget0,
18398 OPC_EmitNodeXForm, 3, 4,
18399 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
18400 MVT::i32, 2, 3, 5,
18401 23, MVT::i64,
18402 OPC_CheckPatternPredicate, 9,
18403 OPC_EmitConvertToTarget0,
18404 OPC_EmitNodeXForm, 5, 1,
18405 OPC_EmitNode1None, TARGET_VAL(Mips::LUi64),
18406 MVT::i64, 1, 2,
18407 OPC_EmitConvertToTarget0,
18408 OPC_EmitNodeXForm, 3, 4,
18409 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18410 MVT::i64, 2, 3, 5,
18411 0,
18412 29,
18413 OPC_CheckPredicate, 61,
18414 OPC_CheckTypeI64,
18415 OPC_CheckPatternPredicate, 9,
18416 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18417 OPC_EmitConvertToTarget0,
18418 OPC_EmitNodeXForm, 5, 2,
18419 OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
18420 MVT::i64, 2, 1, 3,
18421 OPC_EmitIntegerI32, 16,
18422 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
18423 MVT::i64, 2, 4, 5,
18424 19,
18425 OPC_CheckPredicate7,
18426 OPC_CheckTypeI32,
18427 OPC_CheckPatternPredicate5,
18428 OPC_EmitRegisterI32, Mips::ZERO,
18429 OPC_EmitNode1None, TARGET_VAL(Mips::MoveR3216),
18430 MVT::i32, 1, 1,
18431 OPC_EmitConvertToTarget0,
18432 OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
18433 MVT::i32, 2, 2, 3,
18434 25,
18435 OPC_CheckPredicate, 48,
18436 OPC_CheckTypeI32,
18437 OPC_CheckPatternPredicate4,
18438 OPC_EmitConvertToTarget0,
18439 OPC_EmitNodeXForm, 5, 1,
18440 OPC_EmitNode1None, TARGET_VAL(Mips::LUi_MM),
18441 MVT::i32, 1, 2,
18442 OPC_EmitConvertToTarget0,
18443 OPC_EmitNodeXForm, 3, 4,
18444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
18445 MVT::i32, 2, 3, 5,
18446 40,
18447 OPC_CheckPredicate, 62,
18448 OPC_CheckTypeI64,
18449 OPC_CheckPatternPredicate, 9,
18450 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18451 OPC_EmitConvertToTarget0,
18452 OPC_EmitNodeXForm, 5, 2,
18453 OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
18454 MVT::i64, 2, 1, 3,
18455 OPC_EmitIntegerI32, 16,
18456 OPC_EmitNode1None, TARGET_VAL(Mips::DSLL),
18457 MVT::i64, 2, 4, 5,
18458 OPC_EmitConvertToTarget0,
18459 OPC_EmitNodeXForm, 3, 7,
18460 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18461 MVT::i64, 2, 6, 8,
18462 12,
18463 OPC_CheckTypeI32,
18464 OPC_CheckPatternPredicate5,
18465 OPC_EmitConvertToTarget0,
18466 OPC_EmitIntegerI32, 127,
18467 OPC_MorphNodeTo1None, TARGET_VAL(Mips::LwConstant32),
18468 MVT::i32, 2, 1, 2,
18469 0,
18470 109, TARGET_VAL(ISD::BRIND),
18471 OPC_RecordNode,
18472 OPC_RecordChild1,
18473 OPC_Scope, 64,
18474 OPC_CheckChild1TypeI32,
18475 OPC_Scope, 7,
18476 OPC_CheckPatternPredicate5,
18477 OPC_EmitMergeInputChains1_0,
18478 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::JrcRx16),
18479 1, 1,
18480 8,
18481 OPC_CheckPatternPredicate, 95,
18482 OPC_EmitMergeInputChains1_0,
18483 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch),
18484 1, 1,
18485 8,
18486 OPC_CheckPatternPredicate, 128,
18487 OPC_EmitMergeInputChains1_0,
18488 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch),
18489 1, 1,
18490 8,
18491 OPC_CheckPatternPredicate, 96,
18492 OPC_EmitMergeInputChains1_0,
18493 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranchR6),
18494 1, 1,
18495 8,
18496 OPC_CheckPatternPredicate, 97,
18497 OPC_EmitMergeInputChains1_0,
18498 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranchR6),
18499 1, 1,
18500 7,
18501 OPC_CheckPatternPredicate7,
18502 OPC_EmitMergeInputChains1_0,
18503 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MM),
18504 1, 1,
18505 8,
18506 OPC_CheckPatternPredicate, 8,
18507 OPC_EmitMergeInputChains1_0,
18508 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MMR6),
18509 1, 1,
18510 0,
18511 39,
18512 OPC_CheckChild1TypeI64,
18513 OPC_Scope, 8,
18514 OPC_CheckPatternPredicate, 129,
18515 OPC_EmitMergeInputChains1_0,
18516 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64),
18517 1, 1,
18518 8,
18519 OPC_CheckPatternPredicate, 98,
18520 OPC_EmitMergeInputChains1_0,
18521 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch64),
18522 1, 1,
18523 8,
18524 OPC_CheckPatternPredicate, 99,
18525 OPC_EmitMergeInputChains1_0,
18526 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64R6),
18527 1, 1,
18528 8,
18529 OPC_CheckPatternPredicate, 100,
18530 OPC_EmitMergeInputChains1_0,
18531 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranch64R6),
18532 1, 1,
18533 0,
18534 0,
18535 65, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
18536 OPC_RecordMemRef,
18537 OPC_RecordNode,
18538 OPC_RecordChild1,
18539 OPC_RecordChild2,
18540 OPC_SwitchType , 42, MVT::i32,
18541 OPC_Scope, 12,
18542 OPC_CheckPredicate5,
18543 OPC_CheckPatternPredicate, 11,
18544 OPC_EmitMergeInputChains1_0,
18545 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I8), 0|OPFL_Chain|OPFL_MemRefs,
18546 MVT::i32, 2, 1, 2,
18547 12,
18548 OPC_CheckPredicate4,
18549 OPC_CheckPatternPredicate, 11,
18550 OPC_EmitMergeInputChains1_0,
18551 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I16), 0|OPFL_Chain|OPFL_MemRefs,
18552 MVT::i32, 2, 1, 2,
18553 13,
18554 OPC_CheckPredicate, 8,
18555 OPC_CheckPatternPredicate, 11,
18556 OPC_EmitMergeInputChains1_0,
18557 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
18558 MVT::i32, 2, 1, 2,
18559 0,
18560 13, MVT::i64,
18561 OPC_CheckPredicate, 16,
18562 OPC_CheckPatternPredicate, 11,
18563 OPC_EmitMergeInputChains1_0,
18564 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
18565 MVT::i64, 2, 1, 2,
18566 0,
18567 65, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
18568 OPC_RecordMemRef,
18569 OPC_RecordNode,
18570 OPC_RecordChild1,
18571 OPC_RecordChild2,
18572 OPC_SwitchType , 42, MVT::i32,
18573 OPC_Scope, 12,
18574 OPC_CheckPredicate5,
18575 OPC_CheckPatternPredicate, 11,
18576 OPC_EmitMergeInputChains1_0,
18577 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I8), 0|OPFL_Chain|OPFL_MemRefs,
18578 MVT::i32, 2, 1, 2,
18579 12,
18580 OPC_CheckPredicate4,
18581 OPC_CheckPatternPredicate, 11,
18582 OPC_EmitMergeInputChains1_0,
18583 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I16), 0|OPFL_Chain|OPFL_MemRefs,
18584 MVT::i32, 2, 1, 2,
18585 13,
18586 OPC_CheckPredicate, 8,
18587 OPC_CheckPatternPredicate, 11,
18588 OPC_EmitMergeInputChains1_0,
18589 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
18590 MVT::i32, 2, 1, 2,
18591 0,
18592 13, MVT::i64,
18593 OPC_CheckPredicate, 16,
18594 OPC_CheckPatternPredicate, 11,
18595 OPC_EmitMergeInputChains1_0,
18596 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
18597 MVT::i64, 2, 1, 2,
18598 0,
18599 65, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
18600 OPC_RecordMemRef,
18601 OPC_RecordNode,
18602 OPC_RecordChild1,
18603 OPC_RecordChild2,
18604 OPC_SwitchType , 42, MVT::i32,
18605 OPC_Scope, 12,
18606 OPC_CheckPredicate5,
18607 OPC_CheckPatternPredicate, 11,
18608 OPC_EmitMergeInputChains1_0,
18609 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I8), 0|OPFL_Chain|OPFL_MemRefs,
18610 MVT::i32, 2, 1, 2,
18611 12,
18612 OPC_CheckPredicate4,
18613 OPC_CheckPatternPredicate, 11,
18614 OPC_EmitMergeInputChains1_0,
18615 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I16), 0|OPFL_Chain|OPFL_MemRefs,
18616 MVT::i32, 2, 1, 2,
18617 13,
18618 OPC_CheckPredicate, 8,
18619 OPC_CheckPatternPredicate, 11,
18620 OPC_EmitMergeInputChains1_0,
18621 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
18622 MVT::i32, 2, 1, 2,
18623 0,
18624 13, MVT::i64,
18625 OPC_CheckPredicate, 16,
18626 OPC_CheckPatternPredicate, 11,
18627 OPC_EmitMergeInputChains1_0,
18628 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
18629 MVT::i64, 2, 1, 2,
18630 0,
18631 65, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
18632 OPC_RecordMemRef,
18633 OPC_RecordNode,
18634 OPC_RecordChild1,
18635 OPC_RecordChild2,
18636 OPC_SwitchType , 42, MVT::i32,
18637 OPC_Scope, 12,
18638 OPC_CheckPredicate5,
18639 OPC_CheckPatternPredicate, 11,
18640 OPC_EmitMergeInputChains1_0,
18641 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I8), 0|OPFL_Chain|OPFL_MemRefs,
18642 MVT::i32, 2, 1, 2,
18643 12,
18644 OPC_CheckPredicate4,
18645 OPC_CheckPatternPredicate, 11,
18646 OPC_EmitMergeInputChains1_0,
18647 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I16), 0|OPFL_Chain|OPFL_MemRefs,
18648 MVT::i32, 2, 1, 2,
18649 13,
18650 OPC_CheckPredicate, 8,
18651 OPC_CheckPatternPredicate, 11,
18652 OPC_EmitMergeInputChains1_0,
18653 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
18654 MVT::i32, 2, 1, 2,
18655 0,
18656 13, MVT::i64,
18657 OPC_CheckPredicate, 16,
18658 OPC_CheckPatternPredicate, 11,
18659 OPC_EmitMergeInputChains1_0,
18660 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
18661 MVT::i64, 2, 1, 2,
18662 0,
18663 65, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
18664 OPC_RecordMemRef,
18665 OPC_RecordNode,
18666 OPC_RecordChild1,
18667 OPC_RecordChild2,
18668 OPC_SwitchType , 42, MVT::i32,
18669 OPC_Scope, 12,
18670 OPC_CheckPredicate5,
18671 OPC_CheckPatternPredicate, 11,
18672 OPC_EmitMergeInputChains1_0,
18673 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I8), 0|OPFL_Chain|OPFL_MemRefs,
18674 MVT::i32, 2, 1, 2,
18675 12,
18676 OPC_CheckPredicate4,
18677 OPC_CheckPatternPredicate, 11,
18678 OPC_EmitMergeInputChains1_0,
18679 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I16), 0|OPFL_Chain|OPFL_MemRefs,
18680 MVT::i32, 2, 1, 2,
18681 13,
18682 OPC_CheckPredicate, 8,
18683 OPC_CheckPatternPredicate, 11,
18684 OPC_EmitMergeInputChains1_0,
18685 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
18686 MVT::i32, 2, 1, 2,
18687 0,
18688 13, MVT::i64,
18689 OPC_CheckPredicate, 16,
18690 OPC_CheckPatternPredicate, 11,
18691 OPC_EmitMergeInputChains1_0,
18692 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
18693 MVT::i64, 2, 1, 2,
18694 0,
18695 65, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
18696 OPC_RecordMemRef,
18697 OPC_RecordNode,
18698 OPC_RecordChild1,
18699 OPC_RecordChild2,
18700 OPC_SwitchType , 42, MVT::i32,
18701 OPC_Scope, 12,
18702 OPC_CheckPredicate5,
18703 OPC_CheckPatternPredicate, 11,
18704 OPC_EmitMergeInputChains1_0,
18705 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I8), 0|OPFL_Chain|OPFL_MemRefs,
18706 MVT::i32, 2, 1, 2,
18707 12,
18708 OPC_CheckPredicate4,
18709 OPC_CheckPatternPredicate, 11,
18710 OPC_EmitMergeInputChains1_0,
18711 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I16), 0|OPFL_Chain|OPFL_MemRefs,
18712 MVT::i32, 2, 1, 2,
18713 13,
18714 OPC_CheckPredicate, 8,
18715 OPC_CheckPatternPredicate, 11,
18716 OPC_EmitMergeInputChains1_0,
18717 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I32), 0|OPFL_Chain|OPFL_MemRefs,
18718 MVT::i32, 2, 1, 2,
18719 0,
18720 13, MVT::i64,
18721 OPC_CheckPredicate, 16,
18722 OPC_CheckPatternPredicate, 11,
18723 OPC_EmitMergeInputChains1_0,
18724 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I64), 0|OPFL_Chain|OPFL_MemRefs,
18725 MVT::i64, 2, 1, 2,
18726 0,
18727 65, TARGET_VAL(ISD::ATOMIC_SWAP),
18728 OPC_RecordMemRef,
18729 OPC_RecordNode,
18730 OPC_RecordChild1,
18731 OPC_RecordChild2,
18732 OPC_SwitchType , 42, MVT::i32,
18733 OPC_Scope, 12,
18734 OPC_CheckPredicate5,
18735 OPC_CheckPatternPredicate, 11,
18736 OPC_EmitMergeInputChains1_0,
18737 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
18738 MVT::i32, 2, 1, 2,
18739 12,
18740 OPC_CheckPredicate4,
18741 OPC_CheckPatternPredicate, 11,
18742 OPC_EmitMergeInputChains1_0,
18743 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
18744 MVT::i32, 2, 1, 2,
18745 13,
18746 OPC_CheckPredicate, 8,
18747 OPC_CheckPatternPredicate, 11,
18748 OPC_EmitMergeInputChains1_0,
18749 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
18750 MVT::i32, 2, 1, 2,
18751 0,
18752 13, MVT::i64,
18753 OPC_CheckPredicate, 16,
18754 OPC_CheckPatternPredicate, 11,
18755 OPC_EmitMergeInputChains1_0,
18756 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
18757 MVT::i64, 2, 1, 2,
18758 0,
18759 70, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
18760 OPC_RecordMemRef,
18761 OPC_RecordNode,
18762 OPC_RecordChild1,
18763 OPC_RecordChild2,
18764 OPC_RecordChild3,
18765 OPC_SwitchType , 45, MVT::i32,
18766 OPC_Scope, 13,
18767 OPC_CheckPredicate5,
18768 OPC_CheckPatternPredicate, 11,
18769 OPC_EmitMergeInputChains1_0,
18770 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
18771 MVT::i32, 3, 1, 2, 3,
18772 13,
18773 OPC_CheckPredicate4,
18774 OPC_CheckPatternPredicate, 11,
18775 OPC_EmitMergeInputChains1_0,
18776 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
18777 MVT::i32, 3, 1, 2, 3,
18778 14,
18779 OPC_CheckPredicate, 8,
18780 OPC_CheckPatternPredicate, 11,
18781 OPC_EmitMergeInputChains1_0,
18782 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
18783 MVT::i32, 3, 1, 2, 3,
18784 0,
18785 14, MVT::i64,
18786 OPC_CheckPredicate, 16,
18787 OPC_CheckPatternPredicate, 11,
18788 OPC_EmitMergeInputChains1_0,
18789 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
18790 MVT::i64, 3, 1, 2, 3,
18791 0,
18792 65, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
18793 OPC_RecordMemRef,
18794 OPC_RecordNode,
18795 OPC_RecordChild1,
18796 OPC_RecordChild2,
18797 OPC_SwitchType , 42, MVT::i32,
18798 OPC_Scope, 12,
18799 OPC_CheckPredicate5,
18800 OPC_CheckPatternPredicate, 11,
18801 OPC_EmitMergeInputChains1_0,
18802 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
18803 MVT::i32, 2, 1, 2,
18804 12,
18805 OPC_CheckPredicate4,
18806 OPC_CheckPatternPredicate, 11,
18807 OPC_EmitMergeInputChains1_0,
18808 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
18809 MVT::i32, 2, 1, 2,
18810 13,
18811 OPC_CheckPredicate, 8,
18812 OPC_CheckPatternPredicate, 11,
18813 OPC_EmitMergeInputChains1_0,
18814 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
18815 MVT::i32, 2, 1, 2,
18816 0,
18817 13, MVT::i64,
18818 OPC_CheckPredicate, 16,
18819 OPC_CheckPatternPredicate, 11,
18820 OPC_EmitMergeInputChains1_0,
18821 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
18822 MVT::i64, 2, 1, 2,
18823 0,
18824 65, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
18825 OPC_RecordMemRef,
18826 OPC_RecordNode,
18827 OPC_RecordChild1,
18828 OPC_RecordChild2,
18829 OPC_SwitchType , 42, MVT::i32,
18830 OPC_Scope, 12,
18831 OPC_CheckPredicate5,
18832 OPC_CheckPatternPredicate, 11,
18833 OPC_EmitMergeInputChains1_0,
18834 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
18835 MVT::i32, 2, 1, 2,
18836 12,
18837 OPC_CheckPredicate4,
18838 OPC_CheckPatternPredicate, 11,
18839 OPC_EmitMergeInputChains1_0,
18840 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
18841 MVT::i32, 2, 1, 2,
18842 13,
18843 OPC_CheckPredicate, 8,
18844 OPC_CheckPatternPredicate, 11,
18845 OPC_EmitMergeInputChains1_0,
18846 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
18847 MVT::i32, 2, 1, 2,
18848 0,
18849 13, MVT::i64,
18850 OPC_CheckPredicate, 16,
18851 OPC_CheckPatternPredicate, 11,
18852 OPC_EmitMergeInputChains1_0,
18853 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
18854 MVT::i64, 2, 1, 2,
18855 0,
18856 65, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
18857 OPC_RecordMemRef,
18858 OPC_RecordNode,
18859 OPC_RecordChild1,
18860 OPC_RecordChild2,
18861 OPC_SwitchType , 42, MVT::i32,
18862 OPC_Scope, 12,
18863 OPC_CheckPredicate5,
18864 OPC_CheckPatternPredicate, 11,
18865 OPC_EmitMergeInputChains1_0,
18866 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
18867 MVT::i32, 2, 1, 2,
18868 12,
18869 OPC_CheckPredicate4,
18870 OPC_CheckPatternPredicate, 11,
18871 OPC_EmitMergeInputChains1_0,
18872 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
18873 MVT::i32, 2, 1, 2,
18874 13,
18875 OPC_CheckPredicate, 8,
18876 OPC_CheckPatternPredicate, 11,
18877 OPC_EmitMergeInputChains1_0,
18878 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
18879 MVT::i32, 2, 1, 2,
18880 0,
18881 13, MVT::i64,
18882 OPC_CheckPredicate, 16,
18883 OPC_CheckPatternPredicate, 11,
18884 OPC_EmitMergeInputChains1_0,
18885 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
18886 MVT::i64, 2, 1, 2,
18887 0,
18888 65, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
18889 OPC_RecordMemRef,
18890 OPC_RecordNode,
18891 OPC_RecordChild1,
18892 OPC_RecordChild2,
18893 OPC_SwitchType , 42, MVT::i32,
18894 OPC_Scope, 12,
18895 OPC_CheckPredicate5,
18896 OPC_CheckPatternPredicate, 11,
18897 OPC_EmitMergeInputChains1_0,
18898 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
18899 MVT::i32, 2, 1, 2,
18900 12,
18901 OPC_CheckPredicate4,
18902 OPC_CheckPatternPredicate, 11,
18903 OPC_EmitMergeInputChains1_0,
18904 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
18905 MVT::i32, 2, 1, 2,
18906 13,
18907 OPC_CheckPredicate, 8,
18908 OPC_CheckPatternPredicate, 11,
18909 OPC_EmitMergeInputChains1_0,
18910 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
18911 MVT::i32, 2, 1, 2,
18912 0,
18913 13, MVT::i64,
18914 OPC_CheckPredicate, 16,
18915 OPC_CheckPatternPredicate, 11,
18916 OPC_EmitMergeInputChains1_0,
18917 OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
18918 MVT::i64, 2, 1, 2,
18919 0,
18920 21, TARGET_VAL(MipsISD::Ret),
18921 OPC_RecordNode,
18922 OPC_CaptureGlueInput,
18923 OPC_Scope, 8,
18924 OPC_CheckPatternPredicate, 11,
18925 OPC_EmitMergeInputChains1_0,
18926 OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18927 0,
18928 7,
18929 OPC_CheckPatternPredicate5,
18930 OPC_EmitMergeInputChains1_0,
18931 OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18932 0,
18933 0,
18934 10, TARGET_VAL(MipsISD::ERet),
18935 OPC_RecordNode,
18936 OPC_CaptureGlueInput,
18937 OPC_CheckPatternPredicate, 11,
18938 OPC_EmitMergeInputChains1_0,
18939 OPC_MorphNodeTo0, TARGET_VAL(Mips::ERet), 0|OPFL_Chain|OPFL_GlueInput,
18940 0,
18941 24|128,1, TARGET_VAL(ISD::MUL),
18942 OPC_RecordChild0,
18943 OPC_RecordChild1,
18944 OPC_SwitchType , 70, MVT::i32,
18945 OPC_Scope, 10,
18946 OPC_CheckPatternPredicate, 70,
18947 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL),
18948 MVT::i32, MVT::i32, 2, 0, 1,
18949 9,
18950 OPC_CheckPatternPredicate, 15,
18951 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_R6),
18952 MVT::i32, 2, 0, 1,
18953 9,
18954 OPC_CheckPatternPredicate5,
18955 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MultRxRyRz16),
18956 MVT::i32, MVT::i32, 2, 0, 1,
18957 9,
18958 OPC_CheckPatternPredicate7,
18959 OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL_MM),
18960 MVT::i32, MVT::i32, 2, 0, 1,
18961 9,
18962 OPC_CheckPatternPredicate, 8,
18963 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_MMR6),
18964 MVT::i32, 2, 0, 1,
18965 16,
18966 OPC_CheckPatternPredicate, 130,
18967 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMULT),
18968 121|128,1, 2, 0, 1,
18969 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
18970 MVT::i32, 1, 2,
18971 0,
18972 23, MVT::i64,
18973 OPC_Scope, 10,
18974 OPC_CheckPatternPredicate, 28,
18975 OPC_MorphNodeTo2None, TARGET_VAL(Mips::DMUL),
18976 MVT::i64, MVT::i32, 2, 0, 1,
18977 9,
18978 OPC_CheckPatternPredicate, 49,
18979 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUL_R6),
18980 MVT::i64, 2, 0, 1,
18981 0,
18982 9, MVT::v2i16,
18983 OPC_CheckPatternPredicate, 13,
18984 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_PH),
18985 MVT::v2i16, 2, 0, 1,
18986 8, MVT::v16i8,
18987 OPC_CheckPatternPredicate0,
18988 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_B),
18989 MVT::v16i8, 2, 0, 1,
18990 8, MVT::v8i16,
18991 OPC_CheckPatternPredicate0,
18992 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_H),
18993 MVT::v8i16, 2, 0, 1,
18994 8, MVT::v4i32,
18995 OPC_CheckPatternPredicate0,
18996 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_W),
18997 MVT::v4i32, 2, 0, 1,
18998 8, MVT::v2i64,
18999 OPC_CheckPatternPredicate0,
19000 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_D),
19001 MVT::v2i64, 2, 0, 1,
19002 0,
19003 24, TARGET_VAL(ISD::TRAP),
19004 OPC_RecordNode,
19005 OPC_Scope, 6,
19006 OPC_CheckPatternPredicate2,
19007 OPC_EmitMergeInputChains1_0,
19008 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP),
19009 0,
19010 6,
19011 OPC_CheckPatternPredicate5,
19012 OPC_EmitMergeInputChains1_0,
19013 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Break16),
19014 0,
19015 6,
19016 OPC_CheckPatternPredicate4,
19017 OPC_EmitMergeInputChains1_0,
19018 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP_MM),
19019 0,
19020 0,
19021 61, TARGET_VAL(ISD::BR),
19022 OPC_RecordNode,
19023 OPC_RecordChild1,
19024 OPC_MoveChild1,
19025 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
19026 OPC_MoveParent,
19027 OPC_Scope, 8,
19028 OPC_CheckPatternPredicate, 131,
19029 OPC_EmitMergeInputChains1_0,
19030 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J),
19031 1, 1,
19032 7,
19033 OPC_CheckPatternPredicate2,
19034 OPC_EmitMergeInputChains1_0,
19035 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B),
19036 1, 1,
19037 7,
19038 OPC_CheckPatternPredicate5,
19039 OPC_EmitMergeInputChains1_0,
19040 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Bimm16),
19041 1, 1,
19042 8,
19043 OPC_CheckPatternPredicate, 132,
19044 OPC_EmitMergeInputChains1_0,
19045 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J_MM),
19046 1, 1,
19047 8,
19048 OPC_CheckPatternPredicate, 133,
19049 OPC_EmitMergeInputChains1_0,
19050 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B_MM),
19051 1, 1,
19052 8,
19053 OPC_CheckPatternPredicate, 8,
19054 OPC_EmitMergeInputChains1_0,
19055 OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BC_MMR6),
19056 1, 1,
19057 0,
19058 29, TARGET_VAL(MipsISD::EH_RETURN),
19059 OPC_RecordNode,
19060 OPC_CaptureGlueInput,
19061 OPC_RecordChild1,
19062 OPC_Scope, 11,
19063 OPC_CheckChild1TypeI32,
19064 OPC_RecordChild2,
19065 OPC_CheckChild2TypeI32,
19066 OPC_EmitMergeInputChains1_0,
19067 OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
19068 2, 1, 2,
19069 11,
19070 OPC_CheckChild1TypeI64,
19071 OPC_RecordChild2,
19072 OPC_CheckChild2TypeI64,
19073 OPC_EmitMergeInputChains1_0,
19074 OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
19075 2, 1, 2,
19076 0,
19077 106, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
19078 OPC_RecordChild0,
19079 OPC_MoveChild1,
19080 OPC_Scope, 44,
19081 OPC_CheckValueType, MVT::i8,
19082 OPC_MoveParent,
19083 OPC_SwitchType , 27, MVT::i32,
19084 OPC_Scope, 8,
19085 OPC_CheckPatternPredicate, 58,
19086 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB),
19087 MVT::i32, 1, 0,
19088 7,
19089 OPC_CheckPatternPredicate5,
19090 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SebRx16),
19091 MVT::i32, 1, 0,
19092 7,
19093 OPC_CheckPatternPredicate4,
19094 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB_MM),
19095 MVT::i32, 1, 0,
19096 0,
19097 8, MVT::i64,
19098 OPC_CheckPatternPredicate, 103,
19099 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB64),
19100 MVT::i64, 1, 0,
19101 0,
19102 44,
19103 OPC_CheckValueType, MVT::i16,
19104 OPC_MoveParent,
19105 OPC_SwitchType , 27, MVT::i32,
19106 OPC_Scope, 8,
19107 OPC_CheckPatternPredicate, 58,
19108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH),
19109 MVT::i32, 1, 0,
19110 7,
19111 OPC_CheckPatternPredicate5,
19112 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SehRx16),
19113 MVT::i32, 1, 0,
19114 7,
19115 OPC_CheckPatternPredicate4,
19116 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH_MM),
19117 MVT::i32, 1, 0,
19118 0,
19119 8, MVT::i64,
19120 OPC_CheckPatternPredicate, 103,
19121 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH64),
19122 MVT::i64, 1, 0,
19123 0,
19124 11,
19125 OPC_CheckValueType, MVT::i32,
19126 OPC_MoveParent,
19127 OPC_CheckPatternPredicate, 9,
19128 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_64),
19129 MVT::i64, 1, 0,
19130 0,
19131 63, TARGET_VAL(MipsISD::Mult),
19132 OPC_RecordChild0,
19133 OPC_Scope, 46,
19134 OPC_CheckChild0TypeI32,
19135 OPC_RecordChild1,
19136 OPC_Scope, 10,
19137 OPC_CheckPatternPredicate, 65,
19138 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT),
19139 121|128,1, 2, 0, 1,
19140 9,
19141 OPC_CheckPatternPredicate1,
19142 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP),
19143 121|128,1, 2, 0, 1,
19144 10,
19145 OPC_CheckPatternPredicate, 50,
19146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT_MM),
19147 121|128,1, 2, 0, 1,
19148 9,
19149 OPC_CheckPatternPredicate6,
19150 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP_MM),
19151 121|128,1, 2, 0, 1,
19152 0,
19153 12,
19154 OPC_CheckChild0TypeI64,
19155 OPC_RecordChild1,
19156 OPC_CheckPatternPredicate, 73,
19157 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULT),
19158 121|128,1, 2, 0, 1,
19159 0,
19160 63, TARGET_VAL(MipsISD::Multu),
19161 OPC_RecordChild0,
19162 OPC_Scope, 46,
19163 OPC_CheckChild0TypeI32,
19164 OPC_RecordChild1,
19165 OPC_Scope, 10,
19166 OPC_CheckPatternPredicate, 65,
19167 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu),
19168 121|128,1, 2, 0, 1,
19169 9,
19170 OPC_CheckPatternPredicate1,
19171 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP),
19172 121|128,1, 2, 0, 1,
19173 10,
19174 OPC_CheckPatternPredicate, 50,
19175 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu_MM),
19176 121|128,1, 2, 0, 1,
19177 9,
19178 OPC_CheckPatternPredicate6,
19179 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP_MM),
19180 121|128,1, 2, 0, 1,
19181 0,
19182 12,
19183 OPC_CheckChild0TypeI64,
19184 OPC_RecordChild1,
19185 OPC_CheckPatternPredicate, 73,
19186 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULTu),
19187 121|128,1, 2, 0, 1,
19188 0,
19189 51, TARGET_VAL(MipsISD::MFHI),
19190 OPC_RecordChild0,
19191 OPC_SwitchType , 36, MVT::i32,
19192 OPC_Scope, 8,
19193 OPC_CheckPatternPredicate, 65,
19194 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI),
19195 MVT::i32, 1, 0,
19196 7,
19197 OPC_CheckPatternPredicate1,
19198 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP),
19199 MVT::i32, 1, 0,
19200 8,
19201 OPC_CheckPatternPredicate, 50,
19202 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI_MM),
19203 MVT::i32, 1, 0,
19204 7,
19205 OPC_CheckPatternPredicate6,
19206 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP_MM),
19207 MVT::i32, 1, 0,
19208 0,
19209 8, MVT::i64,
19210 OPC_CheckPatternPredicate, 54,
19211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI64),
19212 MVT::i64, 1, 0,
19213 0,
19214 51, TARGET_VAL(MipsISD::MFLO),
19215 OPC_RecordChild0,
19216 OPC_SwitchType , 36, MVT::i32,
19217 OPC_Scope, 8,
19218 OPC_CheckPatternPredicate, 65,
19219 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
19220 MVT::i32, 1, 0,
19221 7,
19222 OPC_CheckPatternPredicate1,
19223 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP),
19224 MVT::i32, 1, 0,
19225 8,
19226 OPC_CheckPatternPredicate, 50,
19227 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO_MM),
19228 MVT::i32, 1, 0,
19229 7,
19230 OPC_CheckPatternPredicate6,
19231 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP_MM),
19232 MVT::i32, 1, 0,
19233 0,
19234 8, MVT::i64,
19235 OPC_CheckPatternPredicate, 54,
19236 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO64),
19237 MVT::i64, 1, 0,
19238 0,
19239 54, TARGET_VAL(MipsISD::MTLOHI),
19240 OPC_RecordChild0,
19241 OPC_Scope, 37,
19242 OPC_CheckChild0TypeI32,
19243 OPC_RecordChild1,
19244 OPC_Scope, 10,
19245 OPC_CheckPatternPredicate, 65,
19246 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI),
19247 121|128,1, 2, 0, 1,
19248 10,
19249 OPC_CheckPatternPredicate, 134,
19250 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_DSP),
19251 121|128,1, 2, 0, 1,
19252 10,
19253 OPC_CheckPatternPredicate, 50,
19254 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_MM),
19255 121|128,1, 2, 0, 1,
19256 0,
19257 12,
19258 OPC_CheckChild0TypeI64,
19259 OPC_RecordChild1,
19260 OPC_CheckPatternPredicate, 54,
19261 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI64),
19262 121|128,1, 2, 0, 1,
19263 0,
19264 51, TARGET_VAL(MipsISD::MAdd),
19265 OPC_RecordChild0,
19266 OPC_RecordChild1,
19267 OPC_RecordChild2,
19268 OPC_Scope, 11,
19269 OPC_CheckPatternPredicate, 74,
19270 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD),
19271 121|128,1, 3, 0, 1, 2,
19272 10,
19273 OPC_CheckPatternPredicate1,
19274 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP),
19275 121|128,1, 3, 0, 1, 2,
19276 11,
19277 OPC_CheckPatternPredicate, 50,
19278 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD_MM),
19279 121|128,1, 3, 0, 1, 2,
19280 10,
19281 OPC_CheckPatternPredicate6,
19282 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP_MM),
19283 121|128,1, 3, 0, 1, 2,
19284 0,
19285 51, TARGET_VAL(MipsISD::MAddu),
19286 OPC_RecordChild0,
19287 OPC_RecordChild1,
19288 OPC_RecordChild2,
19289 OPC_Scope, 11,
19290 OPC_CheckPatternPredicate, 74,
19291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU),
19292 121|128,1, 3, 0, 1, 2,
19293 10,
19294 OPC_CheckPatternPredicate1,
19295 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP),
19296 121|128,1, 3, 0, 1, 2,
19297 11,
19298 OPC_CheckPatternPredicate, 50,
19299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU_MM),
19300 121|128,1, 3, 0, 1, 2,
19301 10,
19302 OPC_CheckPatternPredicate6,
19303 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP_MM),
19304 121|128,1, 3, 0, 1, 2,
19305 0,
19306 51, TARGET_VAL(MipsISD::MSub),
19307 OPC_RecordChild0,
19308 OPC_RecordChild1,
19309 OPC_RecordChild2,
19310 OPC_Scope, 11,
19311 OPC_CheckPatternPredicate, 74,
19312 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB),
19313 121|128,1, 3, 0, 1, 2,
19314 10,
19315 OPC_CheckPatternPredicate1,
19316 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP),
19317 121|128,1, 3, 0, 1, 2,
19318 11,
19319 OPC_CheckPatternPredicate, 50,
19320 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB_MM),
19321 121|128,1, 3, 0, 1, 2,
19322 10,
19323 OPC_CheckPatternPredicate6,
19324 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP_MM),
19325 121|128,1, 3, 0, 1, 2,
19326 0,
19327 51, TARGET_VAL(MipsISD::MSubu),
19328 OPC_RecordChild0,
19329 OPC_RecordChild1,
19330 OPC_RecordChild2,
19331 OPC_Scope, 11,
19332 OPC_CheckPatternPredicate, 74,
19333 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU),
19334 121|128,1, 3, 0, 1, 2,
19335 10,
19336 OPC_CheckPatternPredicate1,
19337 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP),
19338 121|128,1, 3, 0, 1, 2,
19339 11,
19340 OPC_CheckPatternPredicate, 50,
19341 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU_MM),
19342 121|128,1, 3, 0, 1, 2,
19343 10,
19344 OPC_CheckPatternPredicate6,
19345 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP_MM),
19346 121|128,1, 3, 0, 1, 2,
19347 0,
19348 47, TARGET_VAL(ISD::SUBC),
19349 OPC_RecordChild0,
19350 OPC_RecordChild1,
19351 OPC_SwitchType , 30, MVT::i32,
19352 OPC_Scope, 8,
19353 OPC_CheckPatternPredicate2,
19354 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu),
19355 MVT::i32, 2, 0, 1,
19356 8,
19357 OPC_CheckPatternPredicate4,
19358 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu_MM),
19359 MVT::i32, 2, 0, 1,
19360 9,
19361 OPC_CheckPatternPredicate, 8,
19362 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBU_MMR6),
19363 MVT::i32, 2, 0, 1,
19364 0,
19365 9, MVT::i64,
19366 OPC_CheckPatternPredicate, 34,
19367 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DSUBu),
19368 MVT::i64, 2, 0, 1,
19369 0,
19370 96|128,16, TARGET_VAL(ISD::BITCAST),
19371 OPC_RecordChild0,
19372 OPC_Scope, 59,
19373 OPC_CheckChild0Type, MVT::f32,
19374 OPC_SwitchType , 29, MVT::i32,
19375 OPC_Scope, 8,
19376 OPC_CheckPatternPredicate, 35,
19377 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1),
19378 MVT::i32, 1, 0,
19379 8,
19380 OPC_CheckPatternPredicate, 45,
19381 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MM),
19382 MVT::i32, 1, 0,
19383 8,
19384 OPC_CheckPatternPredicate, 27,
19385 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MMR6),
19386 MVT::i32, 1, 0,
19387 0,
19388 10, MVT::v2i16,
19389 OPC_CheckPatternPredicate1,
19390 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
19391 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19392 MVT::v2i16, 2, 0, 1,
19393 10, MVT::v4i8,
19394 OPC_CheckPatternPredicate1,
19395 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
19396 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19397 MVT::v4i8, 2, 0, 1,
19398 0,
19399 11,
19400 OPC_CheckChild0Type, MVT::f64,
19401 OPC_CheckTypeI64,
19402 OPC_CheckPatternPredicate, 104,
19403 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMFC1),
19404 MVT::i64, 1, 0,
19405 28,
19406 OPC_CheckChild0Type, MVT::v2i16,
19407 OPC_SwitchType , 10, MVT::i32,
19408 OPC_CheckPatternPredicate1,
19409 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
19410 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19411 MVT::i32, 2, 0, 1,
19412 10, MVT::f32,
19413 OPC_CheckPatternPredicate1,
19414 OPC_EmitIntegerI32, Mips::FGR32RegClassID,
19415 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19416 MVT::f32, 2, 0, 1,
19417 0,
19418 28,
19419 OPC_CheckChild0Type, MVT::v4i8,
19420 OPC_SwitchType , 10, MVT::i32,
19421 OPC_CheckPatternPredicate1,
19422 OPC_EmitIntegerI32, Mips::GPR32RegClassID,
19423 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19424 MVT::i32, 2, 0, 1,
19425 10, MVT::f32,
19426 OPC_CheckPatternPredicate1,
19427 OPC_EmitIntegerI32, Mips::FGR32RegClassID,
19428 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19429 MVT::f32, 2, 0, 1,
19430 0,
19431 58,
19432 OPC_CheckChild0TypeI32,
19433 OPC_SwitchType , 29, MVT::f32,
19434 OPC_Scope, 8,
19435 OPC_CheckPatternPredicate, 35,
19436 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
19437 MVT::f32, 1, 0,
19438 8,
19439 OPC_CheckPatternPredicate, 45,
19440 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
19441 MVT::f32, 1, 0,
19442 8,
19443 OPC_CheckPatternPredicate, 27,
19444 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
19445 MVT::f32, 1, 0,
19446 0,
19447 10, MVT::v2i16,
19448 OPC_CheckPatternPredicate1,
19449 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
19450 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19451 MVT::v2i16, 2, 0, 1,
19452 10, MVT::v4i8,
19453 OPC_CheckPatternPredicate1,
19454 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
19455 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19456 MVT::v4i8, 2, 0, 1,
19457 0,
19458 11,
19459 OPC_CheckChild0TypeI64,
19460 OPC_CheckType, MVT::f64,
19461 OPC_CheckPatternPredicate, 104,
19462 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
19463 MVT::f64, 1, 0,
19464 15|128,2,
19465 OPC_CheckChild0Type, MVT::v8f16,
19466 OPC_SwitchType , 11, MVT::v8i16,
19467 OPC_CheckPatternPredicate3,
19468 OPC_EmitIntegerI32, 67|128,0,
19469 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19470 MVT::v8i16, 2, 0, 1,
19471 48, MVT::v16i8,
19472 OPC_Scope, 12,
19473 OPC_CheckPatternPredicate, 17,
19474 OPC_EmitIntegerI32, 65|128,0,
19475 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19476 MVT::v16i8, 2, 0, 1,
19477 32,
19478 OPC_CheckPatternPredicate, 16,
19479 OPC_EmitIntegerI32, 65|128,0,
19480 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19481 MVT::v16i8, 2, 0, 1,
19482 OPC_EmitIntegerI32, 49|128,1,
19483 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19484 MVT::v16i8, 2, 2, 3,
19485 OPC_EmitIntegerI32, 65|128,0,
19486 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19487 MVT::v16i8, 2, 4, 5,
19488 0,
19489 48, MVT::v4i32,
19490 OPC_Scope, 12,
19491 OPC_CheckPatternPredicate, 17,
19492 OPC_EmitIntegerI32, 68|128,0,
19493 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19494 MVT::v4i32, 2, 0, 1,
19495 32,
19496 OPC_CheckPatternPredicate, 16,
19497 OPC_EmitIntegerI32, 67|128,0,
19498 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19499 MVT::v8i16, 2, 0, 1,
19500 OPC_EmitIntegerI32, 49|128,1,
19501 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19502 MVT::v8i16, 2, 2, 3,
19503 OPC_EmitIntegerI32, 68|128,0,
19504 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19505 MVT::v4i32, 2, 4, 5,
19506 0,
19507 47, MVT::v2i64,
19508 OPC_Scope, 12,
19509 OPC_CheckPatternPredicate, 17,
19510 OPC_EmitIntegerI32, 66|128,0,
19511 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19512 MVT::v2i64, 2, 0, 1,
19513 31,
19514 OPC_CheckPatternPredicate, 16,
19515 OPC_EmitIntegerI32, 67|128,0,
19516 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19517 MVT::v8i16, 2, 0, 1,
19518 OPC_EmitIntegerI32, 27,
19519 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19520 MVT::v8i16, 2, 2, 3,
19521 OPC_EmitIntegerI32, 66|128,0,
19522 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19523 MVT::v2i64, 2, 4, 5,
19524 0,
19525 50, 6|128,1,
19526 OPC_Scope, 13,
19527 OPC_CheckPatternPredicate, 17,
19528 OPC_EmitIntegerI32, 68|128,0,
19529 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19530 6|128,1, 2, 0, 1,
19531 33,
19532 OPC_CheckPatternPredicate, 16,
19533 OPC_EmitIntegerI32, 67|128,0,
19534 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19535 MVT::v8i16, 2, 0, 1,
19536 OPC_EmitIntegerI32, 49|128,1,
19537 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19538 MVT::v8i16, 2, 2, 3,
19539 OPC_EmitIntegerI32, 68|128,0,
19540 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19541 6|128,1, 2, 4, 5,
19542 0,
19543 49, 24|128,1,
19544 OPC_Scope, 13,
19545 OPC_CheckPatternPredicate, 17,
19546 OPC_EmitIntegerI32, 66|128,0,
19547 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19548 24|128,1, 2, 0, 1,
19549 32,
19550 OPC_CheckPatternPredicate, 16,
19551 OPC_EmitIntegerI32, 67|128,0,
19552 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19553 MVT::v8i16, 2, 0, 1,
19554 OPC_EmitIntegerI32, 27,
19555 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19556 MVT::v8i16, 2, 2, 3,
19557 OPC_EmitIntegerI32, 66|128,0,
19558 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19559 24|128,1, 2, 4, 5,
19560 0,
19561 0,
19562 126|128,1,
19563 OPC_CheckChild0Type, 6|128,1,
19564 OPC_SwitchType , 11, MVT::v4i32,
19565 OPC_CheckPatternPredicate3,
19566 OPC_EmitIntegerI32, 68|128,0,
19567 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19568 MVT::v4i32, 2, 0, 1,
19569 47, MVT::v16i8,
19570 OPC_Scope, 12,
19571 OPC_CheckPatternPredicate, 17,
19572 OPC_EmitIntegerI32, 65|128,0,
19573 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19574 MVT::v16i8, 2, 0, 1,
19575 31,
19576 OPC_CheckPatternPredicate, 16,
19577 OPC_EmitIntegerI32, 65|128,0,
19578 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19579 MVT::v16i8, 2, 0, 1,
19580 OPC_EmitIntegerI32, 27,
19581 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19582 MVT::v16i8, 2, 2, 3,
19583 OPC_EmitIntegerI32, 65|128,0,
19584 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19585 MVT::v16i8, 2, 4, 5,
19586 0,
19587 48, MVT::v8i16,
19588 OPC_Scope, 12,
19589 OPC_CheckPatternPredicate, 17,
19590 OPC_EmitIntegerI32, 67|128,0,
19591 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19592 MVT::v8i16, 2, 0, 1,
19593 32,
19594 OPC_CheckPatternPredicate, 16,
19595 OPC_EmitIntegerI32, 67|128,0,
19596 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19597 MVT::v8i16, 2, 0, 1,
19598 OPC_EmitIntegerI32, 49|128,1,
19599 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19600 MVT::v8i16, 2, 2, 3,
19601 OPC_EmitIntegerI32, 67|128,0,
19602 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19603 MVT::v8i16, 2, 4, 5,
19604 0,
19605 48, MVT::v2i64,
19606 OPC_Scope, 12,
19607 OPC_CheckPatternPredicate, 17,
19608 OPC_EmitIntegerI32, 66|128,0,
19609 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19610 MVT::v2i64, 2, 0, 1,
19611 32,
19612 OPC_CheckPatternPredicate, 16,
19613 OPC_EmitIntegerI32, 68|128,0,
19614 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19615 MVT::v4i32, 2, 0, 1,
19616 OPC_EmitIntegerI32, 49|128,1,
19617 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19618 MVT::v4i32, 2, 2, 3,
19619 OPC_EmitIntegerI32, 66|128,0,
19620 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19621 MVT::v2i64, 2, 4, 5,
19622 0,
19623 50, 24|128,1,
19624 OPC_Scope, 13,
19625 OPC_CheckPatternPredicate, 17,
19626 OPC_EmitIntegerI32, 66|128,0,
19627 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19628 24|128,1, 2, 0, 1,
19629 33,
19630 OPC_CheckPatternPredicate, 16,
19631 OPC_EmitIntegerI32, 68|128,0,
19632 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19633 MVT::v4i32, 2, 0, 1,
19634 OPC_EmitIntegerI32, 49|128,1,
19635 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19636 MVT::v4i32, 2, 2, 3,
19637 OPC_EmitIntegerI32, 66|128,0,
19638 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19639 24|128,1, 2, 4, 5,
19640 0,
19641 32, MVT::v8f16,
19642 OPC_CheckPatternPredicate, 16,
19643 OPC_EmitIntegerI32, 67|128,0,
19644 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19645 MVT::v8i16, 2, 0, 1,
19646 OPC_EmitIntegerI32, 49|128,1,
19647 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19648 MVT::v8i16, 2, 2, 3,
19649 OPC_EmitIntegerI32, 67|128,0,
19650 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19651 MVT::v8f16, 2, 4, 5,
19652 0,
19653 16|128,2,
19654 OPC_CheckChild0Type, 24|128,1,
19655 OPC_SwitchType , 11, MVT::v2i64,
19656 OPC_CheckPatternPredicate3,
19657 OPC_EmitIntegerI32, 66|128,0,
19658 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19659 MVT::v2i64, 2, 0, 1,
19660 67, MVT::v16i8,
19661 OPC_Scope, 12,
19662 OPC_CheckPatternPredicate, 17,
19663 OPC_EmitIntegerI32, 65|128,0,
19664 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19665 MVT::v16i8, 2, 0, 1,
19666 51,
19667 OPC_CheckPatternPredicate, 16,
19668 OPC_EmitIntegerI32, 65|128,0,
19669 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19670 MVT::v16i8, 2, 0, 1,
19671 OPC_EmitIntegerI32, 27,
19672 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19673 MVT::v16i8, 2, 2, 3,
19674 OPC_EmitIntegerI32, 68|128,0,
19675 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19676 MVT::v4i32, 2, 4, 5,
19677 OPC_EmitIntegerI32, 49|128,1,
19678 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19679 MVT::v4i32, 2, 6, 7,
19680 OPC_EmitIntegerI32, 65|128,0,
19681 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19682 MVT::v16i8, 2, 8, 9,
19683 0,
19684 47, MVT::v8i16,
19685 OPC_Scope, 12,
19686 OPC_CheckPatternPredicate, 17,
19687 OPC_EmitIntegerI32, 67|128,0,
19688 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19689 MVT::v8i16, 2, 0, 1,
19690 31,
19691 OPC_CheckPatternPredicate, 16,
19692 OPC_EmitIntegerI32, 67|128,0,
19693 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19694 MVT::v8i16, 2, 0, 1,
19695 OPC_EmitIntegerI32, 27,
19696 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19697 MVT::v8i16, 2, 2, 3,
19698 OPC_EmitIntegerI32, 67|128,0,
19699 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19700 MVT::v8i16, 2, 4, 5,
19701 0,
19702 48, MVT::v4i32,
19703 OPC_Scope, 12,
19704 OPC_CheckPatternPredicate, 17,
19705 OPC_EmitIntegerI32, 68|128,0,
19706 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19707 MVT::v4i32, 2, 0, 1,
19708 32,
19709 OPC_CheckPatternPredicate, 16,
19710 OPC_EmitIntegerI32, 68|128,0,
19711 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19712 MVT::v4i32, 2, 0, 1,
19713 OPC_EmitIntegerI32, 49|128,1,
19714 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19715 MVT::v4i32, 2, 2, 3,
19716 OPC_EmitIntegerI32, 68|128,0,
19717 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19718 MVT::v4i32, 2, 4, 5,
19719 0,
19720 50, 6|128,1,
19721 OPC_Scope, 13,
19722 OPC_CheckPatternPredicate, 17,
19723 OPC_EmitIntegerI32, 68|128,0,
19724 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19725 6|128,1, 2, 0, 1,
19726 33,
19727 OPC_CheckPatternPredicate, 16,
19728 OPC_EmitIntegerI32, 68|128,0,
19729 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19730 MVT::v4i32, 2, 0, 1,
19731 OPC_EmitIntegerI32, 49|128,1,
19732 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19733 MVT::v4i32, 2, 2, 3,
19734 OPC_EmitIntegerI32, 68|128,0,
19735 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19736 6|128,1, 2, 4, 5,
19737 0,
19738 31, MVT::v8f16,
19739 OPC_CheckPatternPredicate, 16,
19740 OPC_EmitIntegerI32, 67|128,0,
19741 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19742 MVT::v8i16, 2, 0, 1,
19743 OPC_EmitIntegerI32, 27,
19744 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19745 MVT::v8i16, 2, 2, 3,
19746 OPC_EmitIntegerI32, 67|128,0,
19747 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19748 MVT::v8f16, 2, 4, 5,
19749 0,
19750 15|128,2,
19751 OPC_CheckChild0Type, MVT::v8i16,
19752 OPC_SwitchType , 48, MVT::v16i8,
19753 OPC_Scope, 12,
19754 OPC_CheckPatternPredicate, 17,
19755 OPC_EmitIntegerI32, 65|128,0,
19756 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19757 MVT::v16i8, 2, 0, 1,
19758 32,
19759 OPC_CheckPatternPredicate, 16,
19760 OPC_EmitIntegerI32, 65|128,0,
19761 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19762 MVT::v16i8, 2, 0, 1,
19763 OPC_EmitIntegerI32, 49|128,1,
19764 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19765 MVT::v16i8, 2, 2, 3,
19766 OPC_EmitIntegerI32, 65|128,0,
19767 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19768 MVT::v16i8, 2, 4, 5,
19769 0,
19770 48, MVT::v4i32,
19771 OPC_Scope, 12,
19772 OPC_CheckPatternPredicate, 17,
19773 OPC_EmitIntegerI32, 68|128,0,
19774 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19775 MVT::v4i32, 2, 0, 1,
19776 32,
19777 OPC_CheckPatternPredicate, 16,
19778 OPC_EmitIntegerI32, 67|128,0,
19779 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19780 MVT::v8i16, 2, 0, 1,
19781 OPC_EmitIntegerI32, 49|128,1,
19782 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19783 MVT::v8i16, 2, 2, 3,
19784 OPC_EmitIntegerI32, 68|128,0,
19785 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19786 MVT::v4i32, 2, 4, 5,
19787 0,
19788 47, MVT::v2i64,
19789 OPC_Scope, 12,
19790 OPC_CheckPatternPredicate, 17,
19791 OPC_EmitIntegerI32, 66|128,0,
19792 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19793 MVT::v2i64, 2, 0, 1,
19794 31,
19795 OPC_CheckPatternPredicate, 16,
19796 OPC_EmitIntegerI32, 67|128,0,
19797 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19798 MVT::v8i16, 2, 0, 1,
19799 OPC_EmitIntegerI32, 27,
19800 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19801 MVT::v8i16, 2, 2, 3,
19802 OPC_EmitIntegerI32, 66|128,0,
19803 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19804 MVT::v2i64, 2, 4, 5,
19805 0,
19806 11, MVT::v8f16,
19807 OPC_CheckPatternPredicate3,
19808 OPC_EmitIntegerI32, 67|128,0,
19809 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19810 MVT::v8f16, 2, 0, 1,
19811 50, 6|128,1,
19812 OPC_Scope, 13,
19813 OPC_CheckPatternPredicate, 17,
19814 OPC_EmitIntegerI32, 68|128,0,
19815 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19816 6|128,1, 2, 0, 1,
19817 33,
19818 OPC_CheckPatternPredicate, 16,
19819 OPC_EmitIntegerI32, 67|128,0,
19820 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19821 MVT::v8i16, 2, 0, 1,
19822 OPC_EmitIntegerI32, 49|128,1,
19823 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19824 MVT::v8i16, 2, 2, 3,
19825 OPC_EmitIntegerI32, 68|128,0,
19826 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19827 6|128,1, 2, 4, 5,
19828 0,
19829 49, 24|128,1,
19830 OPC_Scope, 13,
19831 OPC_CheckPatternPredicate, 17,
19832 OPC_EmitIntegerI32, 66|128,0,
19833 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19834 24|128,1, 2, 0, 1,
19835 32,
19836 OPC_CheckPatternPredicate, 16,
19837 OPC_EmitIntegerI32, 67|128,0,
19838 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19839 MVT::v8i16, 2, 0, 1,
19840 OPC_EmitIntegerI32, 27,
19841 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19842 MVT::v8i16, 2, 2, 3,
19843 OPC_EmitIntegerI32, 66|128,0,
19844 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19845 24|128,1, 2, 4, 5,
19846 0,
19847 0,
19848 127|128,1,
19849 OPC_CheckChild0Type, MVT::v4i32,
19850 OPC_SwitchType , 47, MVT::v16i8,
19851 OPC_Scope, 12,
19852 OPC_CheckPatternPredicate, 17,
19853 OPC_EmitIntegerI32, 65|128,0,
19854 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19855 MVT::v16i8, 2, 0, 1,
19856 31,
19857 OPC_CheckPatternPredicate, 16,
19858 OPC_EmitIntegerI32, 65|128,0,
19859 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19860 MVT::v16i8, 2, 0, 1,
19861 OPC_EmitIntegerI32, 27,
19862 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19863 MVT::v16i8, 2, 2, 3,
19864 OPC_EmitIntegerI32, 65|128,0,
19865 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19866 MVT::v16i8, 2, 4, 5,
19867 0,
19868 48, MVT::v8i16,
19869 OPC_Scope, 12,
19870 OPC_CheckPatternPredicate, 17,
19871 OPC_EmitIntegerI32, 67|128,0,
19872 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19873 MVT::v8i16, 2, 0, 1,
19874 32,
19875 OPC_CheckPatternPredicate, 16,
19876 OPC_EmitIntegerI32, 67|128,0,
19877 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19878 MVT::v8i16, 2, 0, 1,
19879 OPC_EmitIntegerI32, 49|128,1,
19880 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19881 MVT::v8i16, 2, 2, 3,
19882 OPC_EmitIntegerI32, 67|128,0,
19883 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19884 MVT::v8i16, 2, 4, 5,
19885 0,
19886 48, MVT::v2i64,
19887 OPC_Scope, 12,
19888 OPC_CheckPatternPredicate, 17,
19889 OPC_EmitIntegerI32, 66|128,0,
19890 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19891 MVT::v2i64, 2, 0, 1,
19892 32,
19893 OPC_CheckPatternPredicate, 16,
19894 OPC_EmitIntegerI32, 68|128,0,
19895 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19896 MVT::v4i32, 2, 0, 1,
19897 OPC_EmitIntegerI32, 49|128,1,
19898 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19899 MVT::v4i32, 2, 2, 3,
19900 OPC_EmitIntegerI32, 66|128,0,
19901 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19902 MVT::v2i64, 2, 4, 5,
19903 0,
19904 12, 6|128,1,
19905 OPC_CheckPatternPredicate3,
19906 OPC_EmitIntegerI32, 68|128,0,
19907 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19908 6|128,1, 2, 0, 1,
19909 50, 24|128,1,
19910 OPC_Scope, 13,
19911 OPC_CheckPatternPredicate, 17,
19912 OPC_EmitIntegerI32, 66|128,0,
19913 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19914 24|128,1, 2, 0, 1,
19915 33,
19916 OPC_CheckPatternPredicate, 16,
19917 OPC_EmitIntegerI32, 68|128,0,
19918 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19919 MVT::v4i32, 2, 0, 1,
19920 OPC_EmitIntegerI32, 49|128,1,
19921 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19922 MVT::v4i32, 2, 2, 3,
19923 OPC_EmitIntegerI32, 66|128,0,
19924 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19925 24|128,1, 2, 4, 5,
19926 0,
19927 32, MVT::v8f16,
19928 OPC_CheckPatternPredicate, 16,
19929 OPC_EmitIntegerI32, 67|128,0,
19930 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19931 MVT::v8i16, 2, 0, 1,
19932 OPC_EmitIntegerI32, 49|128,1,
19933 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19934 MVT::v8i16, 2, 2, 3,
19935 OPC_EmitIntegerI32, 67|128,0,
19936 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19937 MVT::v8f16, 2, 4, 5,
19938 0,
19939 17|128,2,
19940 OPC_CheckChild0Type, MVT::v2i64,
19941 OPC_SwitchType , 67, MVT::v16i8,
19942 OPC_Scope, 12,
19943 OPC_CheckPatternPredicate, 17,
19944 OPC_EmitIntegerI32, 65|128,0,
19945 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19946 MVT::v16i8, 2, 0, 1,
19947 51,
19948 OPC_CheckPatternPredicate, 16,
19949 OPC_EmitIntegerI32, 65|128,0,
19950 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19951 MVT::v16i8, 2, 0, 1,
19952 OPC_EmitIntegerI32, 27,
19953 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19954 MVT::v16i8, 2, 2, 3,
19955 OPC_EmitIntegerI32, 68|128,0,
19956 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19957 MVT::v4i32, 2, 4, 5,
19958 OPC_EmitIntegerI32, 49|128,1,
19959 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19960 MVT::v4i32, 2, 6, 7,
19961 OPC_EmitIntegerI32, 65|128,0,
19962 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19963 MVT::v16i8, 2, 8, 9,
19964 0,
19965 47, MVT::v8i16,
19966 OPC_Scope, 12,
19967 OPC_CheckPatternPredicate, 17,
19968 OPC_EmitIntegerI32, 67|128,0,
19969 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19970 MVT::v8i16, 2, 0, 1,
19971 31,
19972 OPC_CheckPatternPredicate, 16,
19973 OPC_EmitIntegerI32, 67|128,0,
19974 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19975 MVT::v8i16, 2, 0, 1,
19976 OPC_EmitIntegerI32, 27,
19977 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19978 MVT::v8i16, 2, 2, 3,
19979 OPC_EmitIntegerI32, 67|128,0,
19980 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19981 MVT::v8i16, 2, 4, 5,
19982 0,
19983 48, MVT::v4i32,
19984 OPC_Scope, 12,
19985 OPC_CheckPatternPredicate, 17,
19986 OPC_EmitIntegerI32, 68|128,0,
19987 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19988 MVT::v4i32, 2, 0, 1,
19989 32,
19990 OPC_CheckPatternPredicate, 16,
19991 OPC_EmitIntegerI32, 68|128,0,
19992 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19993 MVT::v4i32, 2, 0, 1,
19994 OPC_EmitIntegerI32, 49|128,1,
19995 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19996 MVT::v4i32, 2, 2, 3,
19997 OPC_EmitIntegerI32, 68|128,0,
19998 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19999 MVT::v4i32, 2, 4, 5,
20000 0,
20001 12, 24|128,1,
20002 OPC_CheckPatternPredicate3,
20003 OPC_EmitIntegerI32, 66|128,0,
20004 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20005 24|128,1, 2, 0, 1,
20006 50, 6|128,1,
20007 OPC_Scope, 13,
20008 OPC_CheckPatternPredicate, 17,
20009 OPC_EmitIntegerI32, 68|128,0,
20010 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20011 6|128,1, 2, 0, 1,
20012 33,
20013 OPC_CheckPatternPredicate, 16,
20014 OPC_EmitIntegerI32, 68|128,0,
20015 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20016 MVT::v4i32, 2, 0, 1,
20017 OPC_EmitIntegerI32, 49|128,1,
20018 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
20019 MVT::v4i32, 2, 2, 3,
20020 OPC_EmitIntegerI32, 68|128,0,
20021 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20022 6|128,1, 2, 4, 5,
20023 0,
20024 31, MVT::v8f16,
20025 OPC_CheckPatternPredicate, 16,
20026 OPC_EmitIntegerI32, 67|128,0,
20027 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20028 MVT::v8i16, 2, 0, 1,
20029 OPC_EmitIntegerI32, 27,
20030 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
20031 MVT::v8i16, 2, 2, 3,
20032 OPC_EmitIntegerI32, 67|128,0,
20033 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20034 MVT::v8f16, 2, 4, 5,
20035 0,
20036 74|128,2,
20037 OPC_CheckChild0Type, MVT::v16i8,
20038 OPC_SwitchType , 48, MVT::v8i16,
20039 OPC_Scope, 12,
20040 OPC_CheckPatternPredicate, 17,
20041 OPC_EmitIntegerI32, 67|128,0,
20042 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20043 MVT::v8i16, 2, 0, 1,
20044 32,
20045 OPC_CheckPatternPredicate, 16,
20046 OPC_EmitIntegerI32, 65|128,0,
20047 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20048 MVT::v16i8, 2, 0, 1,
20049 OPC_EmitIntegerI32, 49|128,1,
20050 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20051 MVT::v16i8, 2, 2, 3,
20052 OPC_EmitIntegerI32, 67|128,0,
20053 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20054 MVT::v8i16, 2, 4, 5,
20055 0,
20056 47, MVT::v4i32,
20057 OPC_Scope, 12,
20058 OPC_CheckPatternPredicate, 17,
20059 OPC_EmitIntegerI32, 68|128,0,
20060 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20061 MVT::v4i32, 2, 0, 1,
20062 31,
20063 OPC_CheckPatternPredicate, 16,
20064 OPC_EmitIntegerI32, 65|128,0,
20065 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20066 MVT::v16i8, 2, 0, 1,
20067 OPC_EmitIntegerI32, 27,
20068 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20069 MVT::v16i8, 2, 2, 3,
20070 OPC_EmitIntegerI32, 68|128,0,
20071 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20072 MVT::v4i32, 2, 4, 5,
20073 0,
20074 67, MVT::v2i64,
20075 OPC_Scope, 12,
20076 OPC_CheckPatternPredicate, 17,
20077 OPC_EmitIntegerI32, 66|128,0,
20078 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20079 MVT::v2i64, 2, 0, 1,
20080 51,
20081 OPC_CheckPatternPredicate, 16,
20082 OPC_EmitIntegerI32, 65|128,0,
20083 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20084 MVT::v16i8, 2, 0, 1,
20085 OPC_EmitIntegerI32, 27,
20086 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20087 MVT::v16i8, 2, 2, 3,
20088 OPC_EmitIntegerI32, 68|128,0,
20089 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20090 MVT::v4i32, 2, 4, 5,
20091 OPC_EmitIntegerI32, 49|128,1,
20092 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
20093 MVT::v4i32, 2, 6, 7,
20094 OPC_EmitIntegerI32, 66|128,0,
20095 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20096 MVT::v2i64, 2, 8, 9,
20097 0,
20098 49, 6|128,1,
20099 OPC_Scope, 13,
20100 OPC_CheckPatternPredicate, 17,
20101 OPC_EmitIntegerI32, 68|128,0,
20102 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20103 6|128,1, 2, 0, 1,
20104 32,
20105 OPC_CheckPatternPredicate, 16,
20106 OPC_EmitIntegerI32, 65|128,0,
20107 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20108 MVT::v16i8, 2, 0, 1,
20109 OPC_EmitIntegerI32, 27,
20110 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20111 MVT::v16i8, 2, 2, 3,
20112 OPC_EmitIntegerI32, 68|128,0,
20113 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20114 6|128,1, 2, 4, 5,
20115 0,
20116 69, 24|128,1,
20117 OPC_Scope, 13,
20118 OPC_CheckPatternPredicate, 17,
20119 OPC_EmitIntegerI32, 66|128,0,
20120 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20121 24|128,1, 2, 0, 1,
20122 52,
20123 OPC_CheckPatternPredicate, 16,
20124 OPC_EmitIntegerI32, 65|128,0,
20125 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20126 MVT::v16i8, 2, 0, 1,
20127 OPC_EmitIntegerI32, 27,
20128 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20129 MVT::v16i8, 2, 2, 3,
20130 OPC_EmitIntegerI32, 68|128,0,
20131 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20132 MVT::v4i32, 2, 4, 5,
20133 OPC_EmitIntegerI32, 49|128,1,
20134 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
20135 MVT::v4i32, 2, 6, 7,
20136 OPC_EmitIntegerI32, 66|128,0,
20137 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20138 24|128,1, 2, 8, 9,
20139 0,
20140 32, MVT::v8f16,
20141 OPC_CheckPatternPredicate, 16,
20142 OPC_EmitIntegerI32, 65|128,0,
20143 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20144 MVT::v16i8, 2, 0, 1,
20145 OPC_EmitIntegerI32, 49|128,1,
20146 OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
20147 MVT::v16i8, 2, 2, 3,
20148 OPC_EmitIntegerI32, 67|128,0,
20149 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
20150 MVT::v8f16, 2, 4, 5,
20151 0,
20152 0,
20153 65, TARGET_VAL(ISD::CTPOP),
20154 OPC_RecordChild0,
20155 OPC_SwitchType , 9, MVT::i32,
20156 OPC_CheckChild0TypeI32,
20157 OPC_CheckPatternPredicate, 28,
20158 OPC_MorphNodeTo1None, TARGET_VAL(Mips::POP),
20159 MVT::i32, 1, 0,
20160 9, MVT::i64,
20161 OPC_CheckChild0TypeI64,
20162 OPC_CheckPatternPredicate, 28,
20163 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPOP),
20164 MVT::i64, 1, 0,
20165 7, MVT::v16i8,
20166 OPC_CheckPatternPredicate0,
20167 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_B),
20168 MVT::v16i8, 1, 0,
20169 7, MVT::v8i16,
20170 OPC_CheckPatternPredicate0,
20171 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_H),
20172 MVT::v8i16, 1, 0,
20173 9, MVT::v4i32,
20174 OPC_CheckChild0Type, MVT::v4i32,
20175 OPC_CheckPatternPredicate0,
20176 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_W),
20177 MVT::v4i32, 1, 0,
20178 9, MVT::v2i64,
20179 OPC_CheckChild0Type, MVT::v2i64,
20180 OPC_CheckPatternPredicate0,
20181 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_D),
20182 MVT::v2i64, 1, 0,
20183 0,
20184 37|128,1, TARGET_VAL(MipsISD::CMovFP_T),
20185 OPC_CaptureGlueInput,
20186 OPC_RecordChild0,
20187 OPC_RecordChild1,
20188 OPC_RecordChild2,
20189 OPC_SwitchType , 35, MVT::i32,
20190 OPC_Scope, 10,
20191 OPC_CheckPatternPredicate, 75,
20192 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I),
20193 MVT::i32, 3, 0, 1, 2,
20194 10,
20195 OPC_CheckPatternPredicate, 44,
20196 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I_MM),
20197 MVT::i32, 3, 0, 1, 2,
20198 10,
20199 OPC_CheckPatternPredicate, 48,
20200 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I),
20201 MVT::i32, 3, 1, 0, 2,
20202 0,
20203 24, MVT::i64,
20204 OPC_Scope, 10,
20205 OPC_CheckPatternPredicate, 105,
20206 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I64),
20207 MVT::i64, 3, 0, 1, 2,
20208 10,
20209 OPC_CheckPatternPredicate, 48,
20210 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I64),
20211 MVT::i64, 3, 1, 0, 2,
20212 0,
20213 35, MVT::f32,
20214 OPC_Scope, 10,
20215 OPC_CheckPatternPredicate, 75,
20216 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S),
20217 MVT::f32, 3, 0, 1, 2,
20218 10,
20219 OPC_CheckPatternPredicate, 44,
20220 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S_MM),
20221 MVT::f32, 3, 0, 1, 2,
20222 10,
20223 OPC_CheckPatternPredicate, 48,
20224 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_S),
20225 MVT::f32, 3, 1, 0, 2,
20226 0,
20227 57, MVT::f64,
20228 OPC_Scope, 10,
20229 OPC_CheckPatternPredicate, 106,
20230 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32),
20231 MVT::f64, 3, 0, 1, 2,
20232 10,
20233 OPC_CheckPatternPredicate, 107,
20234 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D64),
20235 MVT::f64, 3, 0, 1, 2,
20236 10,
20237 OPC_CheckPatternPredicate, 108,
20238 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32_MM),
20239 MVT::f64, 3, 0, 1, 2,
20240 10,
20241 OPC_CheckPatternPredicate, 77,
20242 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D32),
20243 MVT::f64, 3, 1, 0, 2,
20244 10,
20245 OPC_CheckPatternPredicate, 78,
20246 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D64),
20247 MVT::f64, 3, 1, 0, 2,
20248 0,
20249 0,
20250 37|128,1, TARGET_VAL(MipsISD::CMovFP_F),
20251 OPC_CaptureGlueInput,
20252 OPC_RecordChild0,
20253 OPC_RecordChild1,
20254 OPC_RecordChild2,
20255 OPC_SwitchType , 35, MVT::i32,
20256 OPC_Scope, 10,
20257 OPC_CheckPatternPredicate, 75,
20258 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I),
20259 MVT::i32, 3, 0, 1, 2,
20260 10,
20261 OPC_CheckPatternPredicate, 44,
20262 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I_MM),
20263 MVT::i32, 3, 0, 1, 2,
20264 10,
20265 OPC_CheckPatternPredicate, 48,
20266 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I),
20267 MVT::i32, 3, 1, 0, 2,
20268 0,
20269 24, MVT::i64,
20270 OPC_Scope, 10,
20271 OPC_CheckPatternPredicate, 105,
20272 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I64),
20273 MVT::i64, 3, 0, 1, 2,
20274 10,
20275 OPC_CheckPatternPredicate, 48,
20276 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I64),
20277 MVT::i64, 3, 1, 0, 2,
20278 0,
20279 35, MVT::f32,
20280 OPC_Scope, 10,
20281 OPC_CheckPatternPredicate, 75,
20282 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S),
20283 MVT::f32, 3, 0, 1, 2,
20284 10,
20285 OPC_CheckPatternPredicate, 44,
20286 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S_MM),
20287 MVT::f32, 3, 0, 1, 2,
20288 10,
20289 OPC_CheckPatternPredicate, 48,
20290 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_S),
20291 MVT::f32, 3, 1, 0, 2,
20292 0,
20293 57, MVT::f64,
20294 OPC_Scope, 10,
20295 OPC_CheckPatternPredicate, 106,
20296 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32),
20297 MVT::f64, 3, 0, 1, 2,
20298 10,
20299 OPC_CheckPatternPredicate, 107,
20300 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D64),
20301 MVT::f64, 3, 0, 1, 2,
20302 10,
20303 OPC_CheckPatternPredicate, 108,
20304 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32_MM),
20305 MVT::f64, 3, 0, 1, 2,
20306 10,
20307 OPC_CheckPatternPredicate, 77,
20308 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D32),
20309 MVT::f64, 3, 1, 0, 2,
20310 10,
20311 OPC_CheckPatternPredicate, 78,
20312 OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D64),
20313 MVT::f64, 3, 1, 0, 2,
20314 0,
20315 0,
20316 39, TARGET_VAL(ISD::MULHS),
20317 OPC_RecordChild0,
20318 OPC_RecordChild1,
20319 OPC_SwitchType , 22, MVT::i32,
20320 OPC_Scope, 9,
20321 OPC_CheckPatternPredicate, 15,
20322 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH),
20323 MVT::i32, 2, 0, 1,
20324 9,
20325 OPC_CheckPatternPredicate, 8,
20326 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH_MMR6),
20327 MVT::i32, 2, 0, 1,
20328 0,
20329 9, MVT::i64,
20330 OPC_CheckPatternPredicate, 49,
20331 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUH),
20332 MVT::i64, 2, 0, 1,
20333 0,
20334 39, TARGET_VAL(ISD::MULHU),
20335 OPC_RecordChild0,
20336 OPC_RecordChild1,
20337 OPC_SwitchType , 22, MVT::i32,
20338 OPC_Scope, 9,
20339 OPC_CheckPatternPredicate, 15,
20340 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU),
20341 MVT::i32, 2, 0, 1,
20342 9,
20343 OPC_CheckPatternPredicate, 8,
20344 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU_MMR6),
20345 MVT::i32, 2, 0, 1,
20346 0,
20347 9, MVT::i64,
20348 OPC_CheckPatternPredicate, 49,
20349 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUHU),
20350 MVT::i64, 2, 0, 1,
20351 0,
20352 11, TARGET_VAL(MipsISD::DivRem16),
20353 OPC_RecordChild0,
20354 OPC_CheckChild0TypeI32,
20355 OPC_RecordChild1,
20356 OPC_CheckPatternPredicate5,
20357 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivRxRy16),
20358 MVT::i32, 2, 0, 1,
20359 11, TARGET_VAL(MipsISD::DivRemU16),
20360 OPC_RecordChild0,
20361 OPC_CheckChild0TypeI32,
20362 OPC_RecordChild1,
20363 OPC_CheckPatternPredicate5,
20364 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivuRxRy16),
20365 MVT::i32, 2, 0, 1,
20366 30, TARGET_VAL(MipsISD::MULSAQ_S_W_PH),
20367 OPC_RecordNode,
20368 OPC_RecordChild1,
20369 OPC_RecordChild2,
20370 OPC_RecordChild3,
20371 OPC_Scope, 11,
20372 OPC_CheckPatternPredicate1,
20373 OPC_EmitMergeInputChains1_0,
20374 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH),
20375 121|128,1, 3, 1, 2, 3,
20376 11,
20377 OPC_CheckPatternPredicate6,
20378 OPC_EmitMergeInputChains1_0,
20379 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH_MM),
20380 121|128,1, 3, 1, 2, 3,
20381 0,
20382 30, TARGET_VAL(MipsISD::MAQ_S_W_PHL),
20383 OPC_RecordNode,
20384 OPC_RecordChild1,
20385 OPC_RecordChild2,
20386 OPC_RecordChild3,
20387 OPC_Scope, 11,
20388 OPC_CheckPatternPredicate1,
20389 OPC_EmitMergeInputChains1_0,
20390 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL),
20391 121|128,1, 3, 1, 2, 3,
20392 11,
20393 OPC_CheckPatternPredicate6,
20394 OPC_EmitMergeInputChains1_0,
20395 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL_MM),
20396 121|128,1, 3, 1, 2, 3,
20397 0,
20398 30, TARGET_VAL(MipsISD::MAQ_S_W_PHR),
20399 OPC_RecordNode,
20400 OPC_RecordChild1,
20401 OPC_RecordChild2,
20402 OPC_RecordChild3,
20403 OPC_Scope, 11,
20404 OPC_CheckPatternPredicate1,
20405 OPC_EmitMergeInputChains1_0,
20406 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR),
20407 121|128,1, 3, 1, 2, 3,
20408 11,
20409 OPC_CheckPatternPredicate6,
20410 OPC_EmitMergeInputChains1_0,
20411 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR_MM),
20412 121|128,1, 3, 1, 2, 3,
20413 0,
20414 30, TARGET_VAL(MipsISD::MAQ_SA_W_PHL),
20415 OPC_RecordNode,
20416 OPC_RecordChild1,
20417 OPC_RecordChild2,
20418 OPC_RecordChild3,
20419 OPC_Scope, 11,
20420 OPC_CheckPatternPredicate1,
20421 OPC_EmitMergeInputChains1_0,
20422 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL),
20423 121|128,1, 3, 1, 2, 3,
20424 11,
20425 OPC_CheckPatternPredicate6,
20426 OPC_EmitMergeInputChains1_0,
20427 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL_MM),
20428 121|128,1, 3, 1, 2, 3,
20429 0,
20430 30, TARGET_VAL(MipsISD::MAQ_SA_W_PHR),
20431 OPC_RecordNode,
20432 OPC_RecordChild1,
20433 OPC_RecordChild2,
20434 OPC_RecordChild3,
20435 OPC_Scope, 11,
20436 OPC_CheckPatternPredicate1,
20437 OPC_EmitMergeInputChains1_0,
20438 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR),
20439 121|128,1, 3, 1, 2, 3,
20440 11,
20441 OPC_CheckPatternPredicate6,
20442 OPC_EmitMergeInputChains1_0,
20443 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR_MM),
20444 121|128,1, 3, 1, 2, 3,
20445 0,
20446 27, TARGET_VAL(MipsISD::DPAU_H_QBL),
20447 OPC_RecordChild0,
20448 OPC_RecordChild1,
20449 OPC_RecordChild2,
20450 OPC_Scope, 10,
20451 OPC_CheckPatternPredicate1,
20452 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL),
20453 121|128,1, 3, 0, 1, 2,
20454 10,
20455 OPC_CheckPatternPredicate6,
20456 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL_MM),
20457 121|128,1, 3, 0, 1, 2,
20458 0,
20459 27, TARGET_VAL(MipsISD::DPAU_H_QBR),
20460 OPC_RecordChild0,
20461 OPC_RecordChild1,
20462 OPC_RecordChild2,
20463 OPC_Scope, 10,
20464 OPC_CheckPatternPredicate1,
20465 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR),
20466 121|128,1, 3, 0, 1, 2,
20467 10,
20468 OPC_CheckPatternPredicate6,
20469 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR_MM),
20470 121|128,1, 3, 0, 1, 2,
20471 0,
20472 27, TARGET_VAL(MipsISD::DPSU_H_QBL),
20473 OPC_RecordChild0,
20474 OPC_RecordChild1,
20475 OPC_RecordChild2,
20476 OPC_Scope, 10,
20477 OPC_CheckPatternPredicate1,
20478 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL),
20479 121|128,1, 3, 0, 1, 2,
20480 10,
20481 OPC_CheckPatternPredicate6,
20482 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL_MM),
20483 121|128,1, 3, 0, 1, 2,
20484 0,
20485 27, TARGET_VAL(MipsISD::DPSU_H_QBR),
20486 OPC_RecordChild0,
20487 OPC_RecordChild1,
20488 OPC_RecordChild2,
20489 OPC_Scope, 10,
20490 OPC_CheckPatternPredicate1,
20491 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR),
20492 121|128,1, 3, 0, 1, 2,
20493 10,
20494 OPC_CheckPatternPredicate6,
20495 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR_MM),
20496 121|128,1, 3, 0, 1, 2,
20497 0,
20498 30, TARGET_VAL(MipsISD::DPAQ_S_W_PH),
20499 OPC_RecordNode,
20500 OPC_RecordChild1,
20501 OPC_RecordChild2,
20502 OPC_RecordChild3,
20503 OPC_Scope, 11,
20504 OPC_CheckPatternPredicate1,
20505 OPC_EmitMergeInputChains1_0,
20506 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH),
20507 121|128,1, 3, 1, 2, 3,
20508 11,
20509 OPC_CheckPatternPredicate6,
20510 OPC_EmitMergeInputChains1_0,
20511 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH_MM),
20512 121|128,1, 3, 1, 2, 3,
20513 0,
20514 30, TARGET_VAL(MipsISD::DPSQ_S_W_PH),
20515 OPC_RecordNode,
20516 OPC_RecordChild1,
20517 OPC_RecordChild2,
20518 OPC_RecordChild3,
20519 OPC_Scope, 11,
20520 OPC_CheckPatternPredicate1,
20521 OPC_EmitMergeInputChains1_0,
20522 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH),
20523 121|128,1, 3, 1, 2, 3,
20524 11,
20525 OPC_CheckPatternPredicate6,
20526 OPC_EmitMergeInputChains1_0,
20527 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH_MM),
20528 121|128,1, 3, 1, 2, 3,
20529 0,
20530 30, TARGET_VAL(MipsISD::DPAQ_SA_L_W),
20531 OPC_RecordNode,
20532 OPC_RecordChild1,
20533 OPC_RecordChild2,
20534 OPC_RecordChild3,
20535 OPC_Scope, 11,
20536 OPC_CheckPatternPredicate1,
20537 OPC_EmitMergeInputChains1_0,
20538 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W),
20539 121|128,1, 3, 1, 2, 3,
20540 11,
20541 OPC_CheckPatternPredicate6,
20542 OPC_EmitMergeInputChains1_0,
20543 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W_MM),
20544 121|128,1, 3, 1, 2, 3,
20545 0,
20546 30, TARGET_VAL(MipsISD::DPSQ_SA_L_W),
20547 OPC_RecordNode,
20548 OPC_RecordChild1,
20549 OPC_RecordChild2,
20550 OPC_RecordChild3,
20551 OPC_Scope, 11,
20552 OPC_CheckPatternPredicate1,
20553 OPC_EmitMergeInputChains1_0,
20554 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W),
20555 121|128,1, 3, 1, 2, 3,
20556 11,
20557 OPC_CheckPatternPredicate6,
20558 OPC_EmitMergeInputChains1_0,
20559 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W_MM),
20560 121|128,1, 3, 1, 2, 3,
20561 0,
20562 27, TARGET_VAL(MipsISD::MTHLIP),
20563 OPC_RecordNode,
20564 OPC_RecordChild1,
20565 OPC_RecordChild2,
20566 OPC_Scope, 10,
20567 OPC_CheckPatternPredicate1,
20568 OPC_EmitMergeInputChains1_0,
20569 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP),
20570 121|128,1, 2, 1, 2,
20571 10,
20572 OPC_CheckPatternPredicate6,
20573 OPC_EmitMergeInputChains1_0,
20574 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP_MM),
20575 121|128,1, 2, 1, 2,
20576 0,
20577 29, TARGET_VAL(MipsISD::DPA_W_PH),
20578 OPC_RecordChild0,
20579 OPC_RecordChild1,
20580 OPC_RecordChild2,
20581 OPC_Scope, 11,
20582 OPC_CheckPatternPredicate, 13,
20583 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH),
20584 121|128,1, 3, 0, 1, 2,
20585 11,
20586 OPC_CheckPatternPredicate, 14,
20587 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH_MMR2),
20588 121|128,1, 3, 0, 1, 2,
20589 0,
20590 29, TARGET_VAL(MipsISD::DPS_W_PH),
20591 OPC_RecordChild0,
20592 OPC_RecordChild1,
20593 OPC_RecordChild2,
20594 OPC_Scope, 11,
20595 OPC_CheckPatternPredicate, 13,
20596 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH),
20597 121|128,1, 3, 0, 1, 2,
20598 11,
20599 OPC_CheckPatternPredicate, 14,
20600 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH_MMR2),
20601 121|128,1, 3, 0, 1, 2,
20602 0,
20603 32, TARGET_VAL(MipsISD::DPAQX_S_W_PH),
20604 OPC_RecordNode,
20605 OPC_RecordChild1,
20606 OPC_RecordChild2,
20607 OPC_RecordChild3,
20608 OPC_Scope, 12,
20609 OPC_CheckPatternPredicate, 13,
20610 OPC_EmitMergeInputChains1_0,
20611 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH),
20612 121|128,1, 3, 1, 2, 3,
20613 12,
20614 OPC_CheckPatternPredicate, 14,
20615 OPC_EmitMergeInputChains1_0,
20616 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH_MMR2),
20617 121|128,1, 3, 1, 2, 3,
20618 0,
20619 32, TARGET_VAL(MipsISD::DPAQX_SA_W_PH),
20620 OPC_RecordNode,
20621 OPC_RecordChild1,
20622 OPC_RecordChild2,
20623 OPC_RecordChild3,
20624 OPC_Scope, 12,
20625 OPC_CheckPatternPredicate, 13,
20626 OPC_EmitMergeInputChains1_0,
20627 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH),
20628 121|128,1, 3, 1, 2, 3,
20629 12,
20630 OPC_CheckPatternPredicate, 14,
20631 OPC_EmitMergeInputChains1_0,
20632 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH_MMR2),
20633 121|128,1, 3, 1, 2, 3,
20634 0,
20635 29, TARGET_VAL(MipsISD::DPAX_W_PH),
20636 OPC_RecordChild0,
20637 OPC_RecordChild1,
20638 OPC_RecordChild2,
20639 OPC_Scope, 11,
20640 OPC_CheckPatternPredicate, 13,
20641 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH),
20642 121|128,1, 3, 0, 1, 2,
20643 11,
20644 OPC_CheckPatternPredicate, 14,
20645 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH_MMR2),
20646 121|128,1, 3, 0, 1, 2,
20647 0,
20648 29, TARGET_VAL(MipsISD::DPSX_W_PH),
20649 OPC_RecordChild0,
20650 OPC_RecordChild1,
20651 OPC_RecordChild2,
20652 OPC_Scope, 11,
20653 OPC_CheckPatternPredicate, 13,
20654 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH),
20655 121|128,1, 3, 0, 1, 2,
20656 11,
20657 OPC_CheckPatternPredicate, 14,
20658 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH_MMR2),
20659 121|128,1, 3, 0, 1, 2,
20660 0,
20661 32, TARGET_VAL(MipsISD::DPSQX_S_W_PH),
20662 OPC_RecordNode,
20663 OPC_RecordChild1,
20664 OPC_RecordChild2,
20665 OPC_RecordChild3,
20666 OPC_Scope, 12,
20667 OPC_CheckPatternPredicate, 13,
20668 OPC_EmitMergeInputChains1_0,
20669 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH),
20670 121|128,1, 3, 1, 2, 3,
20671 12,
20672 OPC_CheckPatternPredicate, 14,
20673 OPC_EmitMergeInputChains1_0,
20674 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH_MMR2),
20675 121|128,1, 3, 1, 2, 3,
20676 0,
20677 32, TARGET_VAL(MipsISD::DPSQX_SA_W_PH),
20678 OPC_RecordNode,
20679 OPC_RecordChild1,
20680 OPC_RecordChild2,
20681 OPC_RecordChild3,
20682 OPC_Scope, 12,
20683 OPC_CheckPatternPredicate, 13,
20684 OPC_EmitMergeInputChains1_0,
20685 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH),
20686 121|128,1, 3, 1, 2, 3,
20687 12,
20688 OPC_CheckPatternPredicate, 14,
20689 OPC_EmitMergeInputChains1_0,
20690 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH_MMR2),
20691 121|128,1, 3, 1, 2, 3,
20692 0,
20693 29, TARGET_VAL(MipsISD::MULSA_W_PH),
20694 OPC_RecordChild0,
20695 OPC_RecordChild1,
20696 OPC_RecordChild2,
20697 OPC_Scope, 11,
20698 OPC_CheckPatternPredicate, 13,
20699 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH),
20700 121|128,1, 3, 0, 1, 2,
20701 11,
20702 OPC_CheckPatternPredicate, 14,
20703 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH_MMR2),
20704 121|128,1, 3, 0, 1, 2,
20705 0,
20706 13, TARGET_VAL(ISD::ADDE),
20707 OPC_CaptureGlueInput,
20708 OPC_RecordChild0,
20709 OPC_RecordChild1,
20710 OPC_CheckTypeI32,
20711 OPC_CheckPatternPredicate1,
20712 OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDWC), 0|OPFL_GlueInput|OPFL_GlueOutput,
20713 MVT::i32, 2, 0, 1,
20714 58, TARGET_VAL(ISD::BSWAP),
20715 OPC_RecordChild0,
20716 OPC_SwitchType , 37, MVT::i32,
20717 OPC_Scope, 17,
20718 OPC_CheckPatternPredicate, 58,
20719 OPC_EmitNode1None, TARGET_VAL(Mips::WSBH),
20720 MVT::i32, 1, 0,
20721 OPC_EmitIntegerI32, 16,
20722 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
20723 MVT::i32, 2, 1, 2,
20724 16,
20725 OPC_CheckPatternPredicate4,
20726 OPC_EmitNode1None, TARGET_VAL(Mips::WSBH_MM),
20727 MVT::i32, 1, 0,
20728 OPC_EmitIntegerI32, 16,
20729 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
20730 MVT::i32, 2, 1, 2,
20731 0,
20732 14, MVT::i64,
20733 OPC_CheckPatternPredicate, 135,
20734 OPC_EmitNode1None, TARGET_VAL(Mips::DSBH),
20735 MVT::i64, 1, 0,
20736 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSHD),
20737 MVT::i64, 1, 1,
20738 0,
20739 19, TARGET_VAL(ISD::ANY_EXTEND),
20740 OPC_RecordChild0,
20741 OPC_CheckTypeI64,
20742 OPC_CheckPatternPredicate, 9,
20743 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20744 MVT::i64, 0,
20745 OPC_EmitIntegerI32, Mips::sub_32,
20746 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20747 MVT::i64, 3, 1, 0, 2,
20748 82, TARGET_VAL(ISD::IS_FPCLASS),
20749 OPC_RecordChild0,
20750 OPC_CheckTypeI32,
20751 OPC_Scope, 38,
20752 OPC_CheckChild0Type, MVT::f32,
20753 OPC_RecordChild1,
20754 OPC_CheckChild1TypeI32,
20755 OPC_CheckPatternPredicate, 15,
20756 OPC_EmitRegisterI32, Mips::ZERO,
20757 OPC_EmitNode1None, TARGET_VAL(Mips::CLASS_S),
20758 MVT::f32, 1, 0,
20759 OPC_EmitNode1None, TARGET_VAL(Mips::MFC1),
20760 MVT::i32, 1, 3,
20761 OPC_EmitConvertToTarget1,
20762 OPC_EmitNodeXForm, 6, 5,
20763 OPC_EmitNode1None, TARGET_VAL(Mips::ANDi),
20764 MVT::i32, 2, 4, 6,
20765 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
20766 MVT::i32, 2, 2, 7,
20767 38,
20768 OPC_CheckChild0Type, MVT::f64,
20769 OPC_RecordChild1,
20770 OPC_CheckChild1TypeI32,
20771 OPC_CheckPatternPredicate, 15,
20772 OPC_EmitRegisterI32, Mips::ZERO,
20773 OPC_EmitNode1None, TARGET_VAL(Mips::CLASS_D),
20774 MVT::f64, 1, 0,
20775 OPC_EmitNode1None, TARGET_VAL(Mips::MFC1_D64),
20776 MVT::i32, 1, 3,
20777 OPC_EmitConvertToTarget1,
20778 OPC_EmitNodeXForm, 6, 5,
20779 OPC_EmitNode1None, TARGET_VAL(Mips::ANDi),
20780 MVT::i32, 2, 4, 6,
20781 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
20782 MVT::i32, 2, 2, 7,
20783 0,
20784 43, TARGET_VAL(MipsISD::DivRem),
20785 OPC_RecordChild0,
20786 OPC_Scope, 26,
20787 OPC_CheckChild0TypeI32,
20788 OPC_RecordChild1,
20789 OPC_Scope, 10,
20790 OPC_CheckPatternPredicate, 53,
20791 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSDIV),
20792 121|128,1, 2, 0, 1,
20793 10,
20794 OPC_CheckPatternPredicate, 109,
20795 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SDIV_MM_Pseudo),
20796 121|128,1, 2, 0, 1,
20797 0,
20798 12,
20799 OPC_CheckChild0TypeI64,
20800 OPC_RecordChild1,
20801 OPC_CheckPatternPredicate, 73,
20802 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDSDIV),
20803 121|128,1, 2, 0, 1,
20804 0,
20805 43, TARGET_VAL(MipsISD::DivRemU),
20806 OPC_RecordChild0,
20807 OPC_Scope, 26,
20808 OPC_CheckChild0TypeI32,
20809 OPC_RecordChild1,
20810 OPC_Scope, 10,
20811 OPC_CheckPatternPredicate, 53,
20812 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoUDIV),
20813 121|128,1, 2, 0, 1,
20814 10,
20815 OPC_CheckPatternPredicate, 109,
20816 OPC_MorphNodeTo1None, TARGET_VAL(Mips::UDIV_MM_Pseudo),
20817 121|128,1, 2, 0, 1,
20818 0,
20819 12,
20820 OPC_CheckChild0TypeI64,
20821 OPC_RecordChild1,
20822 OPC_CheckPatternPredicate, 73,
20823 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDUDIV),
20824 121|128,1, 2, 0, 1,
20825 0,
20826 79, TARGET_VAL(ISD::SDIV),
20827 OPC_RecordChild0,
20828 OPC_RecordChild1,
20829 OPC_SwitchType , 22, MVT::i32,
20830 OPC_Scope, 9,
20831 OPC_CheckPatternPredicate, 15,
20832 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV),
20833 MVT::i32, 2, 0, 1,
20834 9,
20835 OPC_CheckPatternPredicate, 8,
20836 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_MMR6),
20837 MVT::i32, 2, 0, 1,
20838 0,
20839 9, MVT::i64,
20840 OPC_CheckPatternPredicate, 49,
20841 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIV),
20842 MVT::i64, 2, 0, 1,
20843 8, MVT::v16i8,
20844 OPC_CheckPatternPredicate0,
20845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_B),
20846 MVT::v16i8, 2, 0, 1,
20847 8, MVT::v8i16,
20848 OPC_CheckPatternPredicate0,
20849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_H),
20850 MVT::v8i16, 2, 0, 1,
20851 8, MVT::v4i32,
20852 OPC_CheckPatternPredicate0,
20853 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_W),
20854 MVT::v4i32, 2, 0, 1,
20855 8, MVT::v2i64,
20856 OPC_CheckPatternPredicate0,
20857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_D),
20858 MVT::v2i64, 2, 0, 1,
20859 0,
20860 79, TARGET_VAL(ISD::UDIV),
20861 OPC_RecordChild0,
20862 OPC_RecordChild1,
20863 OPC_SwitchType , 22, MVT::i32,
20864 OPC_Scope, 9,
20865 OPC_CheckPatternPredicate, 15,
20866 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU),
20867 MVT::i32, 2, 0, 1,
20868 9,
20869 OPC_CheckPatternPredicate, 8,
20870 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU_MMR6),
20871 MVT::i32, 2, 0, 1,
20872 0,
20873 9, MVT::i64,
20874 OPC_CheckPatternPredicate, 49,
20875 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIVU),
20876 MVT::i64, 2, 0, 1,
20877 8, MVT::v16i8,
20878 OPC_CheckPatternPredicate0,
20879 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_B),
20880 MVT::v16i8, 2, 0, 1,
20881 8, MVT::v8i16,
20882 OPC_CheckPatternPredicate0,
20883 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_H),
20884 MVT::v8i16, 2, 0, 1,
20885 8, MVT::v4i32,
20886 OPC_CheckPatternPredicate0,
20887 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_W),
20888 MVT::v4i32, 2, 0, 1,
20889 8, MVT::v2i64,
20890 OPC_CheckPatternPredicate0,
20891 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_D),
20892 MVT::v2i64, 2, 0, 1,
20893 0,
20894 79, TARGET_VAL(ISD::SREM),
20895 OPC_RecordChild0,
20896 OPC_RecordChild1,
20897 OPC_SwitchType , 22, MVT::i32,
20898 OPC_Scope, 9,
20899 OPC_CheckPatternPredicate, 15,
20900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD),
20901 MVT::i32, 2, 0, 1,
20902 9,
20903 OPC_CheckPatternPredicate, 8,
20904 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_MMR6),
20905 MVT::i32, 2, 0, 1,
20906 0,
20907 9, MVT::i64,
20908 OPC_CheckPatternPredicate, 49,
20909 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMOD),
20910 MVT::i64, 2, 0, 1,
20911 8, MVT::v16i8,
20912 OPC_CheckPatternPredicate0,
20913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_B),
20914 MVT::v16i8, 2, 0, 1,
20915 8, MVT::v8i16,
20916 OPC_CheckPatternPredicate0,
20917 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_H),
20918 MVT::v8i16, 2, 0, 1,
20919 8, MVT::v4i32,
20920 OPC_CheckPatternPredicate0,
20921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_W),
20922 MVT::v4i32, 2, 0, 1,
20923 8, MVT::v2i64,
20924 OPC_CheckPatternPredicate0,
20925 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_D),
20926 MVT::v2i64, 2, 0, 1,
20927 0,
20928 79, TARGET_VAL(ISD::UREM),
20929 OPC_RecordChild0,
20930 OPC_RecordChild1,
20931 OPC_SwitchType , 22, MVT::i32,
20932 OPC_Scope, 9,
20933 OPC_CheckPatternPredicate, 15,
20934 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU),
20935 MVT::i32, 2, 0, 1,
20936 9,
20937 OPC_CheckPatternPredicate, 8,
20938 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU_MMR6),
20939 MVT::i32, 2, 0, 1,
20940 0,
20941 9, MVT::i64,
20942 OPC_CheckPatternPredicate, 49,
20943 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMODU),
20944 MVT::i64, 2, 0, 1,
20945 8, MVT::v16i8,
20946 OPC_CheckPatternPredicate0,
20947 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_B),
20948 MVT::v16i8, 2, 0, 1,
20949 8, MVT::v8i16,
20950 OPC_CheckPatternPredicate0,
20951 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_H),
20952 MVT::v8i16, 2, 0, 1,
20953 8, MVT::v4i32,
20954 OPC_CheckPatternPredicate0,
20955 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_W),
20956 MVT::v4i32, 2, 0, 1,
20957 8, MVT::v2i64,
20958 OPC_CheckPatternPredicate0,
20959 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_D),
20960 MVT::v2i64, 2, 0, 1,
20961 0,
20962 40, TARGET_VAL(MipsISD::VALL_NONZERO),
20963 OPC_RecordChild0,
20964 OPC_CheckTypeI32,
20965 OPC_Scope, 8,
20966 OPC_CheckChild0Type, MVT::v16i8,
20967 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_B_PSEUDO),
20968 MVT::i32, 1, 0,
20969 8,
20970 OPC_CheckChild0Type, MVT::v8i16,
20971 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_H_PSEUDO),
20972 MVT::i32, 1, 0,
20973 8,
20974 OPC_CheckChild0Type, MVT::v4i32,
20975 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_W_PSEUDO),
20976 MVT::i32, 1, 0,
20977 8,
20978 OPC_CheckChild0Type, MVT::v2i64,
20979 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_D_PSEUDO),
20980 MVT::i32, 1, 0,
20981 0,
20982 10, TARGET_VAL(MipsISD::VANY_NONZERO),
20983 OPC_RecordChild0,
20984 OPC_CheckChild0Type, MVT::v16i8,
20985 OPC_CheckTypeI32,
20986 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_V_PSEUDO),
20987 MVT::i32, 1, 0,
20988 40, TARGET_VAL(MipsISD::VALL_ZERO),
20989 OPC_RecordChild0,
20990 OPC_CheckTypeI32,
20991 OPC_Scope, 8,
20992 OPC_CheckChild0Type, MVT::v16i8,
20993 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_B_PSEUDO),
20994 MVT::i32, 1, 0,
20995 8,
20996 OPC_CheckChild0Type, MVT::v8i16,
20997 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_H_PSEUDO),
20998 MVT::i32, 1, 0,
20999 8,
21000 OPC_CheckChild0Type, MVT::v4i32,
21001 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_W_PSEUDO),
21002 MVT::i32, 1, 0,
21003 8,
21004 OPC_CheckChild0Type, MVT::v2i64,
21005 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_D_PSEUDO),
21006 MVT::i32, 1, 0,
21007 0,
21008 10, TARGET_VAL(MipsISD::VANY_ZERO),
21009 OPC_RecordChild0,
21010 OPC_CheckChild0Type, MVT::v16i8,
21011 OPC_CheckTypeI32,
21012 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_V_PSEUDO),
21013 MVT::i32, 1, 0,
21014 33|128,7, TARGET_VAL(ISD::STRICT_FSUB),
21015 OPC_RecordNode,
21016 OPC_Scope, 113|128,6,
21017 OPC_MoveChild1,
21018 OPC_SwitchOpcode , 123|128,5, TARGET_VAL(ISD::ConstantFP),
21019 OPC_CheckPredicate, 38,
21020 OPC_MoveSibling2,
21021 OPC_SwitchOpcode , 6|128,2, TARGET_VAL(ISD::STRICT_FADD),
21022 OPC_RecordNode,
21023 OPC_CheckFoldableChainNode,
21024 OPC_Scope, 0|128,1,
21025 OPC_MoveChild1,
21026 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::STRICT_FMUL),
21027 OPC_RecordNode,
21028 OPC_CheckFoldableChainNode,
21029 OPC_RecordChild1,
21030 OPC_RecordChild2,
21031 OPC_MoveParent,
21032 OPC_RecordChild2,
21033 OPC_MoveParent,
21034 OPC_SwitchType , 15, MVT::f32,
21035 OPC_CheckPatternPredicate, 22,
21036 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21037 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21038 MVT::f32, 3, 5, 3, 4,
21039 34, MVT::f64,
21040 OPC_Scope, 15,
21041 OPC_CheckPatternPredicate, 23,
21042 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21043 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21044 MVT::f64, 3, 5, 3, 4,
21045 15,
21046 OPC_CheckPatternPredicate, 24,
21047 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21048 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21049 MVT::f64, 3, 5, 3, 4,
21050 0,
21051 0,
21052 57, TARGET_VAL(ISD::FMUL),
21053 OPC_RecordChild0,
21054 OPC_RecordChild1,
21055 OPC_MoveParent,
21056 OPC_RecordChild2,
21057 OPC_MoveParent,
21058 OPC_SwitchType , 14, MVT::f32,
21059 OPC_CheckPatternPredicate, 22,
21060 OPC_EmitMergeInputChains, 2, 0, 1,
21061 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21062 MVT::f32, 3, 4, 2, 3,
21063 32, MVT::f64,
21064 OPC_Scope, 14,
21065 OPC_CheckPatternPredicate, 23,
21066 OPC_EmitMergeInputChains, 2, 0, 1,
21067 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21068 MVT::f64, 3, 4, 2, 3,
21069 14,
21070 OPC_CheckPatternPredicate, 24,
21071 OPC_EmitMergeInputChains, 2, 0, 1,
21072 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21073 MVT::f64, 3, 4, 2, 3,
21074 0,
21075 0,
21076 0,
21077 127,
21078 OPC_RecordChild1,
21079 OPC_MoveChild2,
21080 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::STRICT_FMUL),
21081 OPC_RecordNode,
21082 OPC_CheckFoldableChainNode,
21083 OPC_RecordChild1,
21084 OPC_RecordChild2,
21085 OPC_MoveParent,
21086 OPC_MoveParent,
21087 OPC_SwitchType , 15, MVT::f32,
21088 OPC_CheckPatternPredicate, 22,
21089 OPC_EmitMergeInputChains, 3, 0, 1, 3,
21090 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21091 MVT::f32, 3, 2, 4, 5,
21092 34, MVT::f64,
21093 OPC_Scope, 15,
21094 OPC_CheckPatternPredicate, 23,
21095 OPC_EmitMergeInputChains, 3, 0, 1, 3,
21096 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21097 MVT::f64, 3, 2, 4, 5,
21098 15,
21099 OPC_CheckPatternPredicate, 24,
21100 OPC_EmitMergeInputChains, 3, 0, 1, 3,
21101 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21102 MVT::f64, 3, 2, 4, 5,
21103 0,
21104 0,
21105 56, TARGET_VAL(ISD::FMUL),
21106 OPC_RecordChild0,
21107 OPC_RecordChild1,
21108 OPC_MoveParent,
21109 OPC_MoveParent,
21110 OPC_SwitchType , 14, MVT::f32,
21111 OPC_CheckPatternPredicate, 22,
21112 OPC_EmitMergeInputChains, 2, 0, 1,
21113 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21114 MVT::f32, 3, 2, 3, 4,
21115 32, MVT::f64,
21116 OPC_Scope, 14,
21117 OPC_CheckPatternPredicate, 23,
21118 OPC_EmitMergeInputChains, 2, 0, 1,
21119 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21120 MVT::f64, 3, 2, 3, 4,
21121 14,
21122 OPC_CheckPatternPredicate, 24,
21123 OPC_EmitMergeInputChains, 2, 0, 1,
21124 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21125 MVT::f64, 3, 2, 3, 4,
21126 0,
21127 0,
21128 0,
21129 0,
21130 107|128,1, TARGET_VAL(ISD::FADD),
21131 OPC_Scope, 116,
21132 OPC_MoveChild0,
21133 OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
21134 OPC_RecordNode,
21135 OPC_CheckFoldableChainNode,
21136 OPC_RecordChild1,
21137 OPC_RecordChild2,
21138 OPC_MoveParent,
21139 OPC_RecordChild1,
21140 OPC_MoveParent,
21141 OPC_SwitchType , 14, MVT::f32,
21142 OPC_CheckPatternPredicate, 22,
21143 OPC_EmitMergeInputChains, 2, 0, 1,
21144 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21145 MVT::f32, 3, 4, 2, 3,
21146 32, MVT::f64,
21147 OPC_Scope, 14,
21148 OPC_CheckPatternPredicate, 23,
21149 OPC_EmitMergeInputChains, 2, 0, 1,
21150 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21151 MVT::f64, 3, 4, 2, 3,
21152 14,
21153 OPC_CheckPatternPredicate, 24,
21154 OPC_EmitMergeInputChains, 2, 0, 1,
21155 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21156 MVT::f64, 3, 4, 2, 3,
21157 0,
21158 0,
21159 48, TARGET_VAL(ISD::FMUL),
21160 OPC_RecordChild0,
21161 OPC_RecordChild1,
21162 OPC_MoveParent,
21163 OPC_RecordChild1,
21164 OPC_MoveParent,
21165 OPC_SwitchType , 11, MVT::f32,
21166 OPC_CheckPatternPredicate, 22,
21167 OPC_EmitMergeInputChains1_0,
21168 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21169 MVT::f32, 3, 3, 1, 2,
21170 26, MVT::f64,
21171 OPC_Scope, 11,
21172 OPC_CheckPatternPredicate, 23,
21173 OPC_EmitMergeInputChains1_0,
21174 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21175 MVT::f64, 3, 3, 1, 2,
21176 11,
21177 OPC_CheckPatternPredicate, 24,
21178 OPC_EmitMergeInputChains1_0,
21179 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21180 MVT::f64, 3, 3, 1, 2,
21181 0,
21182 0,
21183 0,
21184 115,
21185 OPC_RecordChild0,
21186 OPC_MoveChild1,
21187 OPC_SwitchOpcode , 58, TARGET_VAL(ISD::STRICT_FMUL),
21188 OPC_RecordNode,
21189 OPC_CheckFoldableChainNode,
21190 OPC_RecordChild1,
21191 OPC_RecordChild2,
21192 OPC_MoveParent,
21193 OPC_MoveParent,
21194 OPC_SwitchType , 14, MVT::f32,
21195 OPC_CheckPatternPredicate, 22,
21196 OPC_EmitMergeInputChains, 2, 0, 2,
21197 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21198 MVT::f32, 3, 1, 3, 4,
21199 32, MVT::f64,
21200 OPC_Scope, 14,
21201 OPC_CheckPatternPredicate, 23,
21202 OPC_EmitMergeInputChains, 2, 0, 2,
21203 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21204 MVT::f64, 3, 1, 3, 4,
21205 14,
21206 OPC_CheckPatternPredicate, 24,
21207 OPC_EmitMergeInputChains, 2, 0, 2,
21208 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21209 MVT::f64, 3, 1, 3, 4,
21210 0,
21211 0,
21212 47, TARGET_VAL(ISD::FMUL),
21213 OPC_RecordChild0,
21214 OPC_RecordChild1,
21215 OPC_MoveParent,
21216 OPC_MoveParent,
21217 OPC_SwitchType , 11, MVT::f32,
21218 OPC_CheckPatternPredicate, 22,
21219 OPC_EmitMergeInputChains1_0,
21220 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21221 MVT::f32, 3, 1, 2, 3,
21222 26, MVT::f64,
21223 OPC_Scope, 11,
21224 OPC_CheckPatternPredicate, 23,
21225 OPC_EmitMergeInputChains1_0,
21226 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21227 MVT::f64, 3, 1, 2, 3,
21228 11,
21229 OPC_CheckPatternPredicate, 24,
21230 OPC_EmitMergeInputChains1_0,
21231 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21232 MVT::f64, 3, 1, 2, 3,
21233 0,
21234 0,
21235 0,
21236 0,
21237 2|128,1, TARGET_VAL(ISD::STRICT_FSUB),
21238 OPC_RecordNode,
21239 OPC_CheckFoldableChainNode,
21240 OPC_MoveChild1,
21241 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::STRICT_FMUL),
21242 OPC_RecordNode,
21243 OPC_CheckFoldableChainNode,
21244 OPC_RecordChild1,
21245 OPC_RecordChild2,
21246 OPC_MoveParent,
21247 OPC_RecordChild2,
21248 OPC_MoveParent,
21249 OPC_SwitchType , 15, MVT::f32,
21250 OPC_CheckPatternPredicate, 22,
21251 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21252 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21253 MVT::f32, 3, 5, 3, 4,
21254 34, MVT::f64,
21255 OPC_Scope, 15,
21256 OPC_CheckPatternPredicate, 23,
21257 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21258 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21259 MVT::f64, 3, 5, 3, 4,
21260 15,
21261 OPC_CheckPatternPredicate, 24,
21262 OPC_EmitMergeInputChains, 3, 0, 1, 2,
21263 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21264 MVT::f64, 3, 5, 3, 4,
21265 0,
21266 0,
21267 57, TARGET_VAL(ISD::FMUL),
21268 OPC_RecordChild0,
21269 OPC_RecordChild1,
21270 OPC_MoveParent,
21271 OPC_RecordChild2,
21272 OPC_MoveParent,
21273 OPC_SwitchType , 14, MVT::f32,
21274 OPC_CheckPatternPredicate, 22,
21275 OPC_EmitMergeInputChains, 2, 0, 1,
21276 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21277 MVT::f32, 3, 4, 2, 3,
21278 32, MVT::f64,
21279 OPC_Scope, 14,
21280 OPC_CheckPatternPredicate, 23,
21281 OPC_EmitMergeInputChains, 2, 0, 1,
21282 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21283 MVT::f64, 3, 4, 2, 3,
21284 14,
21285 OPC_CheckPatternPredicate, 24,
21286 OPC_EmitMergeInputChains, 2, 0, 1,
21287 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21288 MVT::f64, 3, 4, 2, 3,
21289 0,
21290 0,
21291 0,
21292 116, TARGET_VAL(ISD::FSUB),
21293 OPC_MoveChild0,
21294 OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
21295 OPC_RecordNode,
21296 OPC_CheckFoldableChainNode,
21297 OPC_RecordChild1,
21298 OPC_RecordChild2,
21299 OPC_MoveParent,
21300 OPC_RecordChild1,
21301 OPC_MoveParent,
21302 OPC_SwitchType , 14, MVT::f32,
21303 OPC_CheckPatternPredicate, 22,
21304 OPC_EmitMergeInputChains, 2, 0, 1,
21305 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21306 MVT::f32, 3, 4, 2, 3,
21307 32, MVT::f64,
21308 OPC_Scope, 14,
21309 OPC_CheckPatternPredicate, 23,
21310 OPC_EmitMergeInputChains, 2, 0, 1,
21311 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21312 MVT::f64, 3, 4, 2, 3,
21313 14,
21314 OPC_CheckPatternPredicate, 24,
21315 OPC_EmitMergeInputChains, 2, 0, 1,
21316 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21317 MVT::f64, 3, 4, 2, 3,
21318 0,
21319 0,
21320 48, TARGET_VAL(ISD::FMUL),
21321 OPC_RecordChild0,
21322 OPC_RecordChild1,
21323 OPC_MoveParent,
21324 OPC_RecordChild1,
21325 OPC_MoveParent,
21326 OPC_SwitchType , 11, MVT::f32,
21327 OPC_CheckPatternPredicate, 22,
21328 OPC_EmitMergeInputChains1_0,
21329 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21330 MVT::f32, 3, 3, 1, 2,
21331 26, MVT::f64,
21332 OPC_Scope, 11,
21333 OPC_CheckPatternPredicate, 23,
21334 OPC_EmitMergeInputChains1_0,
21335 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21336 MVT::f64, 3, 3, 1, 2,
21337 11,
21338 OPC_CheckPatternPredicate, 24,
21339 OPC_EmitMergeInputChains1_0,
21340 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21341 MVT::f64, 3, 3, 1, 2,
21342 0,
21343 0,
21344 0,
21345 0,
21346 58, TARGET_VAL(ISD::STRICT_FMUL),
21347 OPC_RecordNode,
21348 OPC_CheckFoldableChainNode,
21349 OPC_RecordChild1,
21350 OPC_RecordChild2,
21351 OPC_MoveParent,
21352 OPC_RecordChild2,
21353 OPC_SwitchType , 14, MVT::f32,
21354 OPC_CheckPatternPredicate, 36,
21355 OPC_EmitMergeInputChains, 2, 0, 1,
21356 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
21357 MVT::f32, 3, 4, 2, 3,
21358 32, MVT::f64,
21359 OPC_Scope, 14,
21360 OPC_CheckPatternPredicate, 37,
21361 OPC_EmitMergeInputChains, 2, 0, 1,
21362 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
21363 MVT::f64, 3, 4, 2, 3,
21364 14,
21365 OPC_CheckPatternPredicate, 38,
21366 OPC_EmitMergeInputChains, 2, 0, 1,
21367 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
21368 MVT::f64, 3, 4, 2, 3,
21369 0,
21370 0,
21371 47, TARGET_VAL(ISD::FMUL),
21372 OPC_RecordChild0,
21373 OPC_RecordChild1,
21374 OPC_MoveParent,
21375 OPC_RecordChild2,
21376 OPC_SwitchType , 11, MVT::f32,
21377 OPC_CheckPatternPredicate, 36,
21378 OPC_EmitMergeInputChains1_0,
21379 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
21380 MVT::f32, 3, 3, 1, 2,
21381 26, MVT::f64,
21382 OPC_Scope, 11,
21383 OPC_CheckPatternPredicate, 37,
21384 OPC_EmitMergeInputChains1_0,
21385 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
21386 MVT::f64, 3, 3, 1, 2,
21387 11,
21388 OPC_CheckPatternPredicate, 38,
21389 OPC_EmitMergeInputChains1_0,
21390 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
21391 MVT::f64, 3, 3, 1, 2,
21392 0,
21393 0,
21394 0,
21395 42,
21396 OPC_RecordChild1,
21397 OPC_RecordChild2,
21398 OPC_SwitchType , 10, MVT::f32,
21399 OPC_CheckPatternPredicate, 35,
21400 OPC_EmitMergeInputChains1_0,
21401 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_S),
21402 MVT::f32, 2, 1, 2,
21403 24, MVT::f64,
21404 OPC_Scope, 10,
21405 OPC_CheckPatternPredicate, 51,
21406 OPC_EmitMergeInputChains1_0,
21407 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_D32),
21408 MVT::f64, 2, 1, 2,
21409 10,
21410 OPC_CheckPatternPredicate, 52,
21411 OPC_EmitMergeInputChains1_0,
21412 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_D64),
21413 MVT::f64, 2, 1, 2,
21414 0,
21415 0,
21416 0,
21417 56|128,7, TARGET_VAL(ISD::FSUB),
21418 OPC_Scope, 27|128,6,
21419 OPC_MoveChild0,
21420 OPC_SwitchOpcode , 49|128,5, TARGET_VAL(ISD::ConstantFP),
21421 OPC_CheckPredicate, 38,
21422 OPC_MoveSibling1,
21423 OPC_SwitchOpcode , 109|128,1, TARGET_VAL(ISD::STRICT_FADD),
21424 OPC_RecordNode,
21425 OPC_CheckFoldableChainNode,
21426 OPC_Scope, 116,
21427 OPC_MoveChild1,
21428 OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
21429 OPC_RecordNode,
21430 OPC_CheckFoldableChainNode,
21431 OPC_RecordChild1,
21432 OPC_RecordChild2,
21433 OPC_MoveParent,
21434 OPC_RecordChild2,
21435 OPC_MoveParent,
21436 OPC_SwitchType , 14, MVT::f32,
21437 OPC_CheckPatternPredicate, 22,
21438 OPC_EmitMergeInputChains, 2, 0, 1,
21439 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21440 MVT::f32, 3, 4, 2, 3,
21441 32, MVT::f64,
21442 OPC_Scope, 14,
21443 OPC_CheckPatternPredicate, 23,
21444 OPC_EmitMergeInputChains, 2, 0, 1,
21445 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21446 MVT::f64, 3, 4, 2, 3,
21447 14,
21448 OPC_CheckPatternPredicate, 24,
21449 OPC_EmitMergeInputChains, 2, 0, 1,
21450 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21451 MVT::f64, 3, 4, 2, 3,
21452 0,
21453 0,
21454 48, TARGET_VAL(ISD::FMUL),
21455 OPC_RecordChild0,
21456 OPC_RecordChild1,
21457 OPC_MoveParent,
21458 OPC_RecordChild2,
21459 OPC_MoveParent,
21460 OPC_SwitchType , 11, MVT::f32,
21461 OPC_CheckPatternPredicate, 22,
21462 OPC_EmitMergeInputChains1_0,
21463 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21464 MVT::f32, 3, 3, 1, 2,
21465 26, MVT::f64,
21466 OPC_Scope, 11,
21467 OPC_CheckPatternPredicate, 23,
21468 OPC_EmitMergeInputChains1_0,
21469 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21470 MVT::f64, 3, 3, 1, 2,
21471 11,
21472 OPC_CheckPatternPredicate, 24,
21473 OPC_EmitMergeInputChains1_0,
21474 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21475 MVT::f64, 3, 3, 1, 2,
21476 0,
21477 0,
21478 0,
21479 115,
21480 OPC_RecordChild1,
21481 OPC_MoveChild2,
21482 OPC_SwitchOpcode , 58, TARGET_VAL(ISD::STRICT_FMUL),
21483 OPC_RecordNode,
21484 OPC_CheckFoldableChainNode,
21485 OPC_RecordChild1,
21486 OPC_RecordChild2,
21487 OPC_MoveParent,
21488 OPC_MoveParent,
21489 OPC_SwitchType , 14, MVT::f32,
21490 OPC_CheckPatternPredicate, 22,
21491 OPC_EmitMergeInputChains, 2, 0, 2,
21492 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21493 MVT::f32, 3, 1, 3, 4,
21494 32, MVT::f64,
21495 OPC_Scope, 14,
21496 OPC_CheckPatternPredicate, 23,
21497 OPC_EmitMergeInputChains, 2, 0, 2,
21498 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21499 MVT::f64, 3, 1, 3, 4,
21500 14,
21501 OPC_CheckPatternPredicate, 24,
21502 OPC_EmitMergeInputChains, 2, 0, 2,
21503 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21504 MVT::f64, 3, 1, 3, 4,
21505 0,
21506 0,
21507 47, TARGET_VAL(ISD::FMUL),
21508 OPC_RecordChild0,
21509 OPC_RecordChild1,
21510 OPC_MoveParent,
21511 OPC_MoveParent,
21512 OPC_SwitchType , 11, MVT::f32,
21513 OPC_CheckPatternPredicate, 22,
21514 OPC_EmitMergeInputChains1_0,
21515 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21516 MVT::f32, 3, 1, 2, 3,
21517 26, MVT::f64,
21518 OPC_Scope, 11,
21519 OPC_CheckPatternPredicate, 23,
21520 OPC_EmitMergeInputChains1_0,
21521 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21522 MVT::f64, 3, 1, 2, 3,
21523 11,
21524 OPC_CheckPatternPredicate, 24,
21525 OPC_EmitMergeInputChains1_0,
21526 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21527 MVT::f64, 3, 1, 2, 3,
21528 0,
21529 0,
21530 0,
21531 0,
21532 83|128,1, TARGET_VAL(ISD::FADD),
21533 OPC_Scope, 104,
21534 OPC_MoveChild0,
21535 OPC_SwitchOpcode , 50, TARGET_VAL(ISD::STRICT_FMUL),
21536 OPC_RecordNode,
21537 OPC_CheckFoldableChainNode,
21538 OPC_RecordChild1,
21539 OPC_RecordChild2,
21540 OPC_MoveParent,
21541 OPC_RecordChild1,
21542 OPC_MoveParent,
21543 OPC_SwitchType , 11, MVT::f32,
21544 OPC_CheckPatternPredicate, 22,
21545 OPC_EmitMergeInputChains1_0,
21546 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21547 MVT::f32, 3, 3, 1, 2,
21548 26, MVT::f64,
21549 OPC_Scope, 11,
21550 OPC_CheckPatternPredicate, 23,
21551 OPC_EmitMergeInputChains1_0,
21552 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21553 MVT::f64, 3, 3, 1, 2,
21554 11,
21555 OPC_CheckPatternPredicate, 24,
21556 OPC_EmitMergeInputChains1_0,
21557 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21558 MVT::f64, 3, 3, 1, 2,
21559 0,
21560 0,
21561 45, TARGET_VAL(ISD::FMUL),
21562 OPC_RecordChild0,
21563 OPC_RecordChild1,
21564 OPC_MoveParent,
21565 OPC_RecordChild1,
21566 OPC_MoveParent,
21567 OPC_SwitchType , 10, MVT::f32,
21568 OPC_CheckPatternPredicate, 22,
21569 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
21570 MVT::f32, 3, 2, 0, 1,
21571 24, MVT::f64,
21572 OPC_Scope, 10,
21573 OPC_CheckPatternPredicate, 23,
21574 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
21575 MVT::f64, 3, 2, 0, 1,
21576 10,
21577 OPC_CheckPatternPredicate, 24,
21578 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
21579 MVT::f64, 3, 2, 0, 1,
21580 0,
21581 0,
21582 0,
21583 103,
21584 OPC_RecordChild0,
21585 OPC_MoveChild1,
21586 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::STRICT_FMUL),
21587 OPC_RecordNode,
21588 OPC_CheckFoldableChainNode,
21589 OPC_RecordChild1,
21590 OPC_RecordChild2,
21591 OPC_MoveParent,
21592 OPC_MoveParent,
21593 OPC_SwitchType , 11, MVT::f32,
21594 OPC_CheckPatternPredicate, 22,
21595 OPC_EmitMergeInputChains1_1,
21596 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21597 MVT::f32, 3, 0, 2, 3,
21598 26, MVT::f64,
21599 OPC_Scope, 11,
21600 OPC_CheckPatternPredicate, 23,
21601 OPC_EmitMergeInputChains1_1,
21602 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21603 MVT::f64, 3, 0, 2, 3,
21604 11,
21605 OPC_CheckPatternPredicate, 24,
21606 OPC_EmitMergeInputChains1_1,
21607 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21608 MVT::f64, 3, 0, 2, 3,
21609 0,
21610 0,
21611 44, TARGET_VAL(ISD::FMUL),
21612 OPC_RecordChild0,
21613 OPC_RecordChild1,
21614 OPC_MoveParent,
21615 OPC_MoveParent,
21616 OPC_SwitchType , 10, MVT::f32,
21617 OPC_CheckPatternPredicate, 22,
21618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
21619 MVT::f32, 3, 0, 1, 2,
21620 24, MVT::f64,
21621 OPC_Scope, 10,
21622 OPC_CheckPatternPredicate, 23,
21623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
21624 MVT::f64, 3, 0, 1, 2,
21625 10,
21626 OPC_CheckPatternPredicate, 24,
21627 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
21628 MVT::f64, 3, 0, 1, 2,
21629 0,
21630 0,
21631 0,
21632 0,
21633 118, TARGET_VAL(ISD::STRICT_FSUB),
21634 OPC_RecordNode,
21635 OPC_CheckFoldableChainNode,
21636 OPC_MoveChild1,
21637 OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
21638 OPC_RecordNode,
21639 OPC_CheckFoldableChainNode,
21640 OPC_RecordChild1,
21641 OPC_RecordChild2,
21642 OPC_MoveParent,
21643 OPC_RecordChild2,
21644 OPC_MoveParent,
21645 OPC_SwitchType , 14, MVT::f32,
21646 OPC_CheckPatternPredicate, 22,
21647 OPC_EmitMergeInputChains, 2, 0, 1,
21648 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21649 MVT::f32, 3, 4, 2, 3,
21650 32, MVT::f64,
21651 OPC_Scope, 14,
21652 OPC_CheckPatternPredicate, 23,
21653 OPC_EmitMergeInputChains, 2, 0, 1,
21654 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21655 MVT::f64, 3, 4, 2, 3,
21656 14,
21657 OPC_CheckPatternPredicate, 24,
21658 OPC_EmitMergeInputChains, 2, 0, 1,
21659 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21660 MVT::f64, 3, 4, 2, 3,
21661 0,
21662 0,
21663 48, TARGET_VAL(ISD::FMUL),
21664 OPC_RecordChild0,
21665 OPC_RecordChild1,
21666 OPC_MoveParent,
21667 OPC_RecordChild2,
21668 OPC_MoveParent,
21669 OPC_SwitchType , 11, MVT::f32,
21670 OPC_CheckPatternPredicate, 22,
21671 OPC_EmitMergeInputChains1_0,
21672 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21673 MVT::f32, 3, 3, 1, 2,
21674 26, MVT::f64,
21675 OPC_Scope, 11,
21676 OPC_CheckPatternPredicate, 23,
21677 OPC_EmitMergeInputChains1_0,
21678 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21679 MVT::f64, 3, 3, 1, 2,
21680 11,
21681 OPC_CheckPatternPredicate, 24,
21682 OPC_EmitMergeInputChains1_0,
21683 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21684 MVT::f64, 3, 3, 1, 2,
21685 0,
21686 0,
21687 0,
21688 104, TARGET_VAL(ISD::FSUB),
21689 OPC_MoveChild0,
21690 OPC_SwitchOpcode , 50, TARGET_VAL(ISD::STRICT_FMUL),
21691 OPC_RecordNode,
21692 OPC_CheckFoldableChainNode,
21693 OPC_RecordChild1,
21694 OPC_RecordChild2,
21695 OPC_MoveParent,
21696 OPC_RecordChild1,
21697 OPC_MoveParent,
21698 OPC_SwitchType , 11, MVT::f32,
21699 OPC_CheckPatternPredicate, 22,
21700 OPC_EmitMergeInputChains1_0,
21701 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
21702 MVT::f32, 3, 3, 1, 2,
21703 26, MVT::f64,
21704 OPC_Scope, 11,
21705 OPC_CheckPatternPredicate, 23,
21706 OPC_EmitMergeInputChains1_0,
21707 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
21708 MVT::f64, 3, 3, 1, 2,
21709 11,
21710 OPC_CheckPatternPredicate, 24,
21711 OPC_EmitMergeInputChains1_0,
21712 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
21713 MVT::f64, 3, 3, 1, 2,
21714 0,
21715 0,
21716 45, TARGET_VAL(ISD::FMUL),
21717 OPC_RecordChild0,
21718 OPC_RecordChild1,
21719 OPC_MoveParent,
21720 OPC_RecordChild1,
21721 OPC_MoveParent,
21722 OPC_SwitchType , 10, MVT::f32,
21723 OPC_CheckPatternPredicate, 22,
21724 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
21725 MVT::f32, 3, 2, 0, 1,
21726 24, MVT::f64,
21727 OPC_Scope, 10,
21728 OPC_CheckPatternPredicate, 23,
21729 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
21730 MVT::f64, 3, 2, 0, 1,
21731 10,
21732 OPC_CheckPatternPredicate, 24,
21733 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
21734 MVT::f64, 3, 2, 0, 1,
21735 0,
21736 0,
21737 0,
21738 0,
21739 49, TARGET_VAL(ISD::STRICT_FMUL),
21740 OPC_RecordNode,
21741 OPC_CheckFoldableChainNode,
21742 OPC_RecordChild1,
21743 OPC_RecordChild2,
21744 OPC_MoveParent,
21745 OPC_RecordChild1,
21746 OPC_SwitchType , 11, MVT::f32,
21747 OPC_CheckPatternPredicate, 36,
21748 OPC_EmitMergeInputChains1_0,
21749 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
21750 MVT::f32, 3, 3, 1, 2,
21751 26, MVT::f64,
21752 OPC_Scope, 11,
21753 OPC_CheckPatternPredicate, 37,
21754 OPC_EmitMergeInputChains1_0,
21755 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
21756 MVT::f64, 3, 3, 1, 2,
21757 11,
21758 OPC_CheckPatternPredicate, 38,
21759 OPC_EmitMergeInputChains1_0,
21760 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
21761 MVT::f64, 3, 3, 1, 2,
21762 0,
21763 0,
21764 44, TARGET_VAL(ISD::FMUL),
21765 OPC_RecordChild0,
21766 OPC_RecordChild1,
21767 OPC_MoveParent,
21768 OPC_RecordChild1,
21769 OPC_SwitchType , 10, MVT::f32,
21770 OPC_CheckPatternPredicate, 36,
21771 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_S),
21772 MVT::f32, 3, 2, 0, 1,
21773 24, MVT::f64,
21774 OPC_Scope, 10,
21775 OPC_CheckPatternPredicate, 37,
21776 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D32),
21777 MVT::f64, 3, 2, 0, 1,
21778 10,
21779 OPC_CheckPatternPredicate, 38,
21780 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D64),
21781 MVT::f64, 3, 2, 0, 1,
21782 0,
21783 0,
21784 0,
21785 23|128,1,
21786 OPC_RecordChild0,
21787 OPC_Scope, 81,
21788 OPC_RecordChild1,
21789 OPC_SwitchType , 32, MVT::f32,
21790 OPC_Scope, 9,
21791 OPC_CheckPatternPredicate, 35,
21792 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S),
21793 MVT::f32, 2, 0, 1,
21794 9,
21795 OPC_CheckPatternPredicate, 45,
21796 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MM),
21797 MVT::f32, 2, 0, 1,
21798 9,
21799 OPC_CheckPatternPredicate, 27,
21800 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MMR6),
21801 MVT::f32, 2, 1, 0,
21802 0,
21803 42, MVT::f64,
21804 OPC_Scope, 9,
21805 OPC_CheckPatternPredicate, 51,
21806 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32),
21807 MVT::f64, 2, 0, 1,
21808 9,
21809 OPC_CheckPatternPredicate, 52,
21810 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64),
21811 MVT::f64, 2, 0, 1,
21812 9,
21813 OPC_CheckPatternPredicate, 46,
21814 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32_MM),
21815 MVT::f64, 2, 0, 1,
21816 9,
21817 OPC_CheckPatternPredicate, 47,
21818 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64_MM),
21819 MVT::f64, 2, 0, 1,
21820 0,
21821 0,
21822 37,
21823 OPC_MoveChild1,
21824 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21825 OPC_RecordChild0,
21826 OPC_RecordChild1,
21827 OPC_MoveParent,
21828 OPC_SwitchType , 11, 6|128,1,
21829 OPC_CheckPatternPredicate, 60,
21830 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
21831 6|128,1, 3, 0, 1, 2,
21832 11, 24|128,1,
21833 OPC_CheckPatternPredicate, 60,
21834 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
21835 24|128,1, 3, 0, 1, 2,
21836 0,
21837 27,
21838 OPC_RecordChild1,
21839 OPC_SwitchType , 9, 6|128,1,
21840 OPC_CheckPatternPredicate0,
21841 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_W),
21842 6|128,1, 2, 0, 1,
21843 9, 24|128,1,
21844 OPC_CheckPatternPredicate0,
21845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D),
21846 24|128,1, 2, 0, 1,
21847 0,
21848 0,
21849 0,
21850 82|128,8, TARGET_VAL(ISD::FNEG),
21851 OPC_Scope, 3|128,8,
21852 OPC_MoveChild0,
21853 OPC_SwitchOpcode , 102|128,2, TARGET_VAL(ISD::STRICT_FADD),
21854 OPC_RecordNode,
21855 OPC_Scope, 48|128,1,
21856 OPC_MoveChild1,
21857 OPC_SwitchOpcode , 92, TARGET_VAL(ISD::STRICT_FMUL),
21858 OPC_RecordNode,
21859 OPC_CheckFoldableChainNode,
21860 OPC_RecordChild1,
21861 OPC_RecordChild2,
21862 OPC_MoveParent,
21863 OPC_RecordChild2,
21864 OPC_MoveParent,
21865 OPC_SwitchType , 32, MVT::f32,
21866 OPC_Scope, 14,
21867 OPC_CheckPatternPredicate, 39,
21868 OPC_EmitMergeInputChains, 2, 0, 1,
21869 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21870 MVT::f32, 3, 4, 2, 3,
21871 14,
21872 OPC_CheckPatternPredicate, 40,
21873 OPC_EmitMergeInputChains, 2, 0, 1,
21874 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
21875 MVT::f32, 3, 4, 2, 3,
21876 0,
21877 47, MVT::f64,
21878 OPC_Scope, 14,
21879 OPC_CheckPatternPredicate, 41,
21880 OPC_EmitMergeInputChains, 2, 0, 1,
21881 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21882 MVT::f64, 3, 4, 2, 3,
21883 14,
21884 OPC_CheckPatternPredicate, 42,
21885 OPC_EmitMergeInputChains, 2, 0, 1,
21886 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21887 MVT::f64, 3, 4, 2, 3,
21888 14,
21889 OPC_CheckPatternPredicate, 43,
21890 OPC_EmitMergeInputChains, 2, 0, 1,
21891 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
21892 MVT::f64, 3, 4, 2, 3,
21893 0,
21894 0,
21895 75, TARGET_VAL(ISD::FMUL),
21896 OPC_RecordChild0,
21897 OPC_RecordChild1,
21898 OPC_MoveParent,
21899 OPC_RecordChild2,
21900 OPC_MoveParent,
21901 OPC_SwitchType , 26, MVT::f32,
21902 OPC_Scope, 11,
21903 OPC_CheckPatternPredicate, 39,
21904 OPC_EmitMergeInputChains1_0,
21905 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21906 MVT::f32, 3, 3, 1, 2,
21907 11,
21908 OPC_CheckPatternPredicate, 40,
21909 OPC_EmitMergeInputChains1_0,
21910 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
21911 MVT::f32, 3, 3, 1, 2,
21912 0,
21913 38, MVT::f64,
21914 OPC_Scope, 11,
21915 OPC_CheckPatternPredicate, 41,
21916 OPC_EmitMergeInputChains1_0,
21917 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21918 MVT::f64, 3, 3, 1, 2,
21919 11,
21920 OPC_CheckPatternPredicate, 42,
21921 OPC_EmitMergeInputChains1_0,
21922 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21923 MVT::f64, 3, 3, 1, 2,
21924 11,
21925 OPC_CheckPatternPredicate, 43,
21926 OPC_EmitMergeInputChains1_0,
21927 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
21928 MVT::f64, 3, 3, 1, 2,
21929 0,
21930 0,
21931 0,
21932 47|128,1,
21933 OPC_RecordChild1,
21934 OPC_MoveChild2,
21935 OPC_SwitchOpcode , 91, TARGET_VAL(ISD::STRICT_FMUL),
21936 OPC_RecordNode,
21937 OPC_CheckFoldableChainNode,
21938 OPC_RecordChild1,
21939 OPC_RecordChild2,
21940 OPC_MoveParent,
21941 OPC_MoveParent,
21942 OPC_SwitchType , 32, MVT::f32,
21943 OPC_Scope, 14,
21944 OPC_CheckPatternPredicate, 39,
21945 OPC_EmitMergeInputChains, 2, 0, 2,
21946 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21947 MVT::f32, 3, 1, 3, 4,
21948 14,
21949 OPC_CheckPatternPredicate, 40,
21950 OPC_EmitMergeInputChains, 2, 0, 2,
21951 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
21952 MVT::f32, 3, 1, 3, 4,
21953 0,
21954 47, MVT::f64,
21955 OPC_Scope, 14,
21956 OPC_CheckPatternPredicate, 41,
21957 OPC_EmitMergeInputChains, 2, 0, 2,
21958 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21959 MVT::f64, 3, 1, 3, 4,
21960 14,
21961 OPC_CheckPatternPredicate, 42,
21962 OPC_EmitMergeInputChains, 2, 0, 2,
21963 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21964 MVT::f64, 3, 1, 3, 4,
21965 14,
21966 OPC_CheckPatternPredicate, 43,
21967 OPC_EmitMergeInputChains, 2, 0, 2,
21968 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
21969 MVT::f64, 3, 1, 3, 4,
21970 0,
21971 0,
21972 74, TARGET_VAL(ISD::FMUL),
21973 OPC_RecordChild0,
21974 OPC_RecordChild1,
21975 OPC_MoveParent,
21976 OPC_MoveParent,
21977 OPC_SwitchType , 26, MVT::f32,
21978 OPC_Scope, 11,
21979 OPC_CheckPatternPredicate, 39,
21980 OPC_EmitMergeInputChains1_0,
21981 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
21982 MVT::f32, 3, 1, 2, 3,
21983 11,
21984 OPC_CheckPatternPredicate, 40,
21985 OPC_EmitMergeInputChains1_0,
21986 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
21987 MVT::f32, 3, 1, 2, 3,
21988 0,
21989 38, MVT::f64,
21990 OPC_Scope, 11,
21991 OPC_CheckPatternPredicate, 41,
21992 OPC_EmitMergeInputChains1_0,
21993 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
21994 MVT::f64, 3, 1, 2, 3,
21995 11,
21996 OPC_CheckPatternPredicate, 42,
21997 OPC_EmitMergeInputChains1_0,
21998 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
21999 MVT::f64, 3, 1, 2, 3,
22000 11,
22001 OPC_CheckPatternPredicate, 43,
22002 OPC_EmitMergeInputChains1_0,
22003 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
22004 MVT::f64, 3, 1, 2, 3,
22005 0,
22006 0,
22007 0,
22008 0,
22009 61|128,2, TARGET_VAL(ISD::FADD),
22010 OPC_Scope, 28|128,1,
22011 OPC_MoveChild0,
22012 OPC_SwitchOpcode , 77, TARGET_VAL(ISD::STRICT_FMUL),
22013 OPC_RecordNode,
22014 OPC_CheckFoldableChainNode,
22015 OPC_RecordChild1,
22016 OPC_RecordChild2,
22017 OPC_MoveParent,
22018 OPC_RecordChild1,
22019 OPC_MoveParent,
22020 OPC_SwitchType , 26, MVT::f32,
22021 OPC_Scope, 11,
22022 OPC_CheckPatternPredicate, 39,
22023 OPC_EmitMergeInputChains1_0,
22024 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
22025 MVT::f32, 3, 3, 1, 2,
22026 11,
22027 OPC_CheckPatternPredicate, 40,
22028 OPC_EmitMergeInputChains1_0,
22029 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
22030 MVT::f32, 3, 3, 1, 2,
22031 0,
22032 38, MVT::f64,
22033 OPC_Scope, 11,
22034 OPC_CheckPatternPredicate, 41,
22035 OPC_EmitMergeInputChains1_0,
22036 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
22037 MVT::f64, 3, 3, 1, 2,
22038 11,
22039 OPC_CheckPatternPredicate, 42,
22040 OPC_EmitMergeInputChains1_0,
22041 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
22042 MVT::f64, 3, 3, 1, 2,
22043 11,
22044 OPC_CheckPatternPredicate, 43,
22045 OPC_EmitMergeInputChains1_0,
22046 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
22047 MVT::f64, 3, 3, 1, 2,
22048 0,
22049 0,
22050 70, TARGET_VAL(ISD::FMUL),
22051 OPC_RecordChild0,
22052 OPC_RecordChild1,
22053 OPC_MoveParent,
22054 OPC_RecordChild1,
22055 OPC_MoveParent,
22056 OPC_SwitchType , 24, MVT::f32,
22057 OPC_Scope, 10,
22058 OPC_CheckPatternPredicate, 39,
22059 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
22060 MVT::f32, 3, 2, 0, 1,
22061 10,
22062 OPC_CheckPatternPredicate, 40,
22063 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
22064 MVT::f32, 3, 2, 0, 1,
22065 0,
22066 35, MVT::f64,
22067 OPC_Scope, 10,
22068 OPC_CheckPatternPredicate, 41,
22069 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
22070 MVT::f64, 3, 2, 0, 1,
22071 10,
22072 OPC_CheckPatternPredicate, 42,
22073 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
22074 MVT::f64, 3, 2, 0, 1,
22075 10,
22076 OPC_CheckPatternPredicate, 43,
22077 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
22078 MVT::f64, 3, 2, 0, 1,
22079 0,
22080 0,
22081 0,
22082 27|128,1,
22083 OPC_RecordChild0,
22084 OPC_MoveChild1,
22085 OPC_SwitchOpcode , 76, TARGET_VAL(ISD::STRICT_FMUL),
22086 OPC_RecordNode,
22087 OPC_CheckFoldableChainNode,
22088 OPC_RecordChild1,
22089 OPC_RecordChild2,
22090 OPC_MoveParent,
22091 OPC_MoveParent,
22092 OPC_SwitchType , 26, MVT::f32,
22093 OPC_Scope, 11,
22094 OPC_CheckPatternPredicate, 39,
22095 OPC_EmitMergeInputChains1_1,
22096 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
22097 MVT::f32, 3, 0, 2, 3,
22098 11,
22099 OPC_CheckPatternPredicate, 40,
22100 OPC_EmitMergeInputChains1_1,
22101 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
22102 MVT::f32, 3, 0, 2, 3,
22103 0,
22104 38, MVT::f64,
22105 OPC_Scope, 11,
22106 OPC_CheckPatternPredicate, 41,
22107 OPC_EmitMergeInputChains1_1,
22108 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
22109 MVT::f64, 3, 0, 2, 3,
22110 11,
22111 OPC_CheckPatternPredicate, 42,
22112 OPC_EmitMergeInputChains1_1,
22113 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
22114 MVT::f64, 3, 0, 2, 3,
22115 11,
22116 OPC_CheckPatternPredicate, 43,
22117 OPC_EmitMergeInputChains1_1,
22118 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
22119 MVT::f64, 3, 0, 2, 3,
22120 0,
22121 0,
22122 69, TARGET_VAL(ISD::FMUL),
22123 OPC_RecordChild0,
22124 OPC_RecordChild1,
22125 OPC_MoveParent,
22126 OPC_MoveParent,
22127 OPC_SwitchType , 24, MVT::f32,
22128 OPC_Scope, 10,
22129 OPC_CheckPatternPredicate, 39,
22130 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
22131 MVT::f32, 3, 0, 1, 2,
22132 10,
22133 OPC_CheckPatternPredicate, 40,
22134 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
22135 MVT::f32, 3, 0, 1, 2,
22136 0,
22137 35, MVT::f64,
22138 OPC_Scope, 10,
22139 OPC_CheckPatternPredicate, 41,
22140 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
22141 MVT::f64, 3, 0, 1, 2,
22142 10,
22143 OPC_CheckPatternPredicate, 42,
22144 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
22145 MVT::f64, 3, 0, 1, 2,
22146 10,
22147 OPC_CheckPatternPredicate, 43,
22148 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
22149 MVT::f64, 3, 0, 1, 2,
22150 0,
22151 0,
22152 0,
22153 0,
22154 49|128,1, TARGET_VAL(ISD::STRICT_FSUB),
22155 OPC_RecordNode,
22156 OPC_MoveChild1,
22157 OPC_SwitchOpcode , 92, TARGET_VAL(ISD::STRICT_FMUL),
22158 OPC_RecordNode,
22159 OPC_CheckFoldableChainNode,
22160 OPC_RecordChild1,
22161 OPC_RecordChild2,
22162 OPC_MoveParent,
22163 OPC_RecordChild2,
22164 OPC_MoveParent,
22165 OPC_SwitchType , 32, MVT::f32,
22166 OPC_Scope, 14,
22167 OPC_CheckPatternPredicate, 39,
22168 OPC_EmitMergeInputChains, 2, 0, 1,
22169 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
22170 MVT::f32, 3, 4, 2, 3,
22171 14,
22172 OPC_CheckPatternPredicate, 40,
22173 OPC_EmitMergeInputChains, 2, 0, 1,
22174 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
22175 MVT::f32, 3, 4, 2, 3,
22176 0,
22177 47, MVT::f64,
22178 OPC_Scope, 14,
22179 OPC_CheckPatternPredicate, 41,
22180 OPC_EmitMergeInputChains, 2, 0, 1,
22181 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
22182 MVT::f64, 3, 4, 2, 3,
22183 14,
22184 OPC_CheckPatternPredicate, 42,
22185 OPC_EmitMergeInputChains, 2, 0, 1,
22186 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
22187 MVT::f64, 3, 4, 2, 3,
22188 14,
22189 OPC_CheckPatternPredicate, 43,
22190 OPC_EmitMergeInputChains, 2, 0, 1,
22191 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
22192 MVT::f64, 3, 4, 2, 3,
22193 0,
22194 0,
22195 75, TARGET_VAL(ISD::FMUL),
22196 OPC_RecordChild0,
22197 OPC_RecordChild1,
22198 OPC_MoveParent,
22199 OPC_RecordChild2,
22200 OPC_MoveParent,
22201 OPC_SwitchType , 26, MVT::f32,
22202 OPC_Scope, 11,
22203 OPC_CheckPatternPredicate, 39,
22204 OPC_EmitMergeInputChains1_0,
22205 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
22206 MVT::f32, 3, 3, 1, 2,
22207 11,
22208 OPC_CheckPatternPredicate, 40,
22209 OPC_EmitMergeInputChains1_0,
22210 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
22211 MVT::f32, 3, 3, 1, 2,
22212 0,
22213 38, MVT::f64,
22214 OPC_Scope, 11,
22215 OPC_CheckPatternPredicate, 41,
22216 OPC_EmitMergeInputChains1_0,
22217 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
22218 MVT::f64, 3, 3, 1, 2,
22219 11,
22220 OPC_CheckPatternPredicate, 42,
22221 OPC_EmitMergeInputChains1_0,
22222 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
22223 MVT::f64, 3, 3, 1, 2,
22224 11,
22225 OPC_CheckPatternPredicate, 43,
22226 OPC_EmitMergeInputChains1_0,
22227 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
22228 MVT::f64, 3, 3, 1, 2,
22229 0,
22230 0,
22231 0,
22232 28|128,1, TARGET_VAL(ISD::FSUB),
22233 OPC_MoveChild0,
22234 OPC_SwitchOpcode , 77, TARGET_VAL(ISD::STRICT_FMUL),
22235 OPC_RecordNode,
22236 OPC_CheckFoldableChainNode,
22237 OPC_RecordChild1,
22238 OPC_RecordChild2,
22239 OPC_MoveParent,
22240 OPC_RecordChild1,
22241 OPC_MoveParent,
22242 OPC_SwitchType , 26, MVT::f32,
22243 OPC_Scope, 11,
22244 OPC_CheckPatternPredicate, 39,
22245 OPC_EmitMergeInputChains1_0,
22246 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
22247 MVT::f32, 3, 3, 1, 2,
22248 11,
22249 OPC_CheckPatternPredicate, 40,
22250 OPC_EmitMergeInputChains1_0,
22251 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
22252 MVT::f32, 3, 3, 1, 2,
22253 0,
22254 38, MVT::f64,
22255 OPC_Scope, 11,
22256 OPC_CheckPatternPredicate, 41,
22257 OPC_EmitMergeInputChains1_0,
22258 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
22259 MVT::f64, 3, 3, 1, 2,
22260 11,
22261 OPC_CheckPatternPredicate, 42,
22262 OPC_EmitMergeInputChains1_0,
22263 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
22264 MVT::f64, 3, 3, 1, 2,
22265 11,
22266 OPC_CheckPatternPredicate, 43,
22267 OPC_EmitMergeInputChains1_0,
22268 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
22269 MVT::f64, 3, 3, 1, 2,
22270 0,
22271 0,
22272 70, TARGET_VAL(ISD::FMUL),
22273 OPC_RecordChild0,
22274 OPC_RecordChild1,
22275 OPC_MoveParent,
22276 OPC_RecordChild1,
22277 OPC_MoveParent,
22278 OPC_SwitchType , 24, MVT::f32,
22279 OPC_Scope, 10,
22280 OPC_CheckPatternPredicate, 39,
22281 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
22282 MVT::f32, 3, 2, 0, 1,
22283 10,
22284 OPC_CheckPatternPredicate, 40,
22285 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S_MM),
22286 MVT::f32, 3, 2, 0, 1,
22287 0,
22288 35, MVT::f64,
22289 OPC_Scope, 10,
22290 OPC_CheckPatternPredicate, 41,
22291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
22292 MVT::f64, 3, 2, 0, 1,
22293 10,
22294 OPC_CheckPatternPredicate, 42,
22295 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
22296 MVT::f64, 3, 2, 0, 1,
22297 10,
22298 OPC_CheckPatternPredicate, 43,
22299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32_MM),
22300 MVT::f64, 3, 2, 0, 1,
22301 0,
22302 0,
22303 0,
22304 0,
22305 74,
22306 OPC_RecordChild0,
22307 OPC_SwitchType , 29, MVT::f32,
22308 OPC_Scope, 8,
22309 OPC_CheckPatternPredicate, 136,
22310 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
22311 MVT::f32, 1, 0,
22312 8,
22313 OPC_CheckPatternPredicate, 45,
22314 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
22315 MVT::f32, 1, 0,
22316 8,
22317 OPC_CheckPatternPredicate, 27,
22318 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
22319 MVT::f32, 1, 0,
22320 0,
22321 38, MVT::f64,
22322 OPC_Scope, 8,
22323 OPC_CheckPatternPredicate, 51,
22324 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32),
22325 MVT::f64, 1, 0,
22326 8,
22327 OPC_CheckPatternPredicate, 52,
22328 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
22329 MVT::f64, 1, 0,
22330 8,
22331 OPC_CheckPatternPredicate, 46,
22332 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32_MM),
22333 MVT::f64, 1, 0,
22334 8,
22335 OPC_CheckPatternPredicate, 47,
22336 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64_MM),
22337 MVT::f64, 1, 0,
22338 0,
22339 0,
22340 0,
22341 22|128,2, TARGET_VAL(ISD::STRICT_FADD),
22342 OPC_RecordNode,
22343 OPC_Scope, 114,
22344 OPC_MoveChild1,
22345 OPC_SwitchOpcode , 58, TARGET_VAL(ISD::STRICT_FMUL),
22346 OPC_RecordNode,
22347 OPC_CheckFoldableChainNode,
22348 OPC_RecordChild1,
22349 OPC_RecordChild2,
22350 OPC_MoveParent,
22351 OPC_RecordChild2,
22352 OPC_SwitchType , 14, MVT::f32,
22353 OPC_CheckPatternPredicate, 36,
22354 OPC_EmitMergeInputChains, 2, 0, 1,
22355 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22356 MVT::f32, 3, 4, 2, 3,
22357 32, MVT::f64,
22358 OPC_Scope, 14,
22359 OPC_CheckPatternPredicate, 37,
22360 OPC_EmitMergeInputChains, 2, 0, 1,
22361 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22362 MVT::f64, 3, 4, 2, 3,
22363 14,
22364 OPC_CheckPatternPredicate, 38,
22365 OPC_EmitMergeInputChains, 2, 0, 1,
22366 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22367 MVT::f64, 3, 4, 2, 3,
22368 0,
22369 0,
22370 47, TARGET_VAL(ISD::FMUL),
22371 OPC_RecordChild0,
22372 OPC_RecordChild1,
22373 OPC_MoveParent,
22374 OPC_RecordChild2,
22375 OPC_SwitchType , 11, MVT::f32,
22376 OPC_CheckPatternPredicate, 36,
22377 OPC_EmitMergeInputChains1_0,
22378 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22379 MVT::f32, 3, 3, 1, 2,
22380 26, MVT::f64,
22381 OPC_Scope, 11,
22382 OPC_CheckPatternPredicate, 37,
22383 OPC_EmitMergeInputChains1_0,
22384 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22385 MVT::f64, 3, 3, 1, 2,
22386 11,
22387 OPC_CheckPatternPredicate, 38,
22388 OPC_EmitMergeInputChains1_0,
22389 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22390 MVT::f64, 3, 3, 1, 2,
22391 0,
22392 0,
22393 0,
22394 30|128,1,
22395 OPC_RecordChild1,
22396 OPC_Scope, 112,
22397 OPC_MoveChild2,
22398 OPC_SwitchOpcode , 57, TARGET_VAL(ISD::STRICT_FMUL),
22399 OPC_RecordNode,
22400 OPC_CheckFoldableChainNode,
22401 OPC_RecordChild1,
22402 OPC_RecordChild2,
22403 OPC_MoveParent,
22404 OPC_SwitchType , 14, MVT::f32,
22405 OPC_CheckPatternPredicate, 36,
22406 OPC_EmitMergeInputChains, 2, 0, 2,
22407 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22408 MVT::f32, 3, 1, 3, 4,
22409 32, MVT::f64,
22410 OPC_Scope, 14,
22411 OPC_CheckPatternPredicate, 37,
22412 OPC_EmitMergeInputChains, 2, 0, 2,
22413 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22414 MVT::f64, 3, 1, 3, 4,
22415 14,
22416 OPC_CheckPatternPredicate, 38,
22417 OPC_EmitMergeInputChains, 2, 0, 2,
22418 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22419 MVT::f64, 3, 1, 3, 4,
22420 0,
22421 0,
22422 46, TARGET_VAL(ISD::FMUL),
22423 OPC_RecordChild0,
22424 OPC_RecordChild1,
22425 OPC_MoveParent,
22426 OPC_SwitchType , 11, MVT::f32,
22427 OPC_CheckPatternPredicate, 36,
22428 OPC_EmitMergeInputChains1_0,
22429 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22430 MVT::f32, 3, 1, 2, 3,
22431 26, MVT::f64,
22432 OPC_Scope, 11,
22433 OPC_CheckPatternPredicate, 37,
22434 OPC_EmitMergeInputChains1_0,
22435 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22436 MVT::f64, 3, 1, 2, 3,
22437 11,
22438 OPC_CheckPatternPredicate, 38,
22439 OPC_EmitMergeInputChains1_0,
22440 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22441 MVT::f64, 3, 1, 2, 3,
22442 0,
22443 0,
22444 0,
22445 41,
22446 OPC_RecordChild2,
22447 OPC_SwitchType , 10, MVT::f32,
22448 OPC_CheckPatternPredicate, 35,
22449 OPC_EmitMergeInputChains1_0,
22450 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_S),
22451 MVT::f32, 2, 1, 2,
22452 24, MVT::f64,
22453 OPC_Scope, 10,
22454 OPC_CheckPatternPredicate, 51,
22455 OPC_EmitMergeInputChains1_0,
22456 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_D32),
22457 MVT::f64, 2, 1, 2,
22458 10,
22459 OPC_CheckPatternPredicate, 52,
22460 OPC_EmitMergeInputChains1_0,
22461 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_D64),
22462 MVT::f64, 2, 1, 2,
22463 0,
22464 0,
22465 0,
22466 0,
22467 15|128,3, TARGET_VAL(ISD::FADD),
22468 OPC_Scope, 102,
22469 OPC_MoveChild0,
22470 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::STRICT_FMUL),
22471 OPC_RecordNode,
22472 OPC_CheckFoldableChainNode,
22473 OPC_RecordChild1,
22474 OPC_RecordChild2,
22475 OPC_MoveParent,
22476 OPC_RecordChild1,
22477 OPC_SwitchType , 11, MVT::f32,
22478 OPC_CheckPatternPredicate, 36,
22479 OPC_EmitMergeInputChains1_0,
22480 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22481 MVT::f32, 3, 3, 1, 2,
22482 26, MVT::f64,
22483 OPC_Scope, 11,
22484 OPC_CheckPatternPredicate, 37,
22485 OPC_EmitMergeInputChains1_0,
22486 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22487 MVT::f64, 3, 3, 1, 2,
22488 11,
22489 OPC_CheckPatternPredicate, 38,
22490 OPC_EmitMergeInputChains1_0,
22491 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22492 MVT::f64, 3, 3, 1, 2,
22493 0,
22494 0,
22495 44, TARGET_VAL(ISD::FMUL),
22496 OPC_RecordChild0,
22497 OPC_RecordChild1,
22498 OPC_MoveParent,
22499 OPC_RecordChild1,
22500 OPC_SwitchType , 10, MVT::f32,
22501 OPC_CheckPatternPredicate, 36,
22502 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
22503 MVT::f32, 3, 2, 0, 1,
22504 24, MVT::f64,
22505 OPC_Scope, 10,
22506 OPC_CheckPatternPredicate, 37,
22507 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
22508 MVT::f64, 3, 2, 0, 1,
22509 10,
22510 OPC_CheckPatternPredicate, 38,
22511 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
22512 MVT::f64, 3, 2, 0, 1,
22513 0,
22514 0,
22515 0,
22516 96|128,1,
22517 OPC_RecordChild0,
22518 OPC_Scope, 100,
22519 OPC_MoveChild1,
22520 OPC_SwitchOpcode , 48, TARGET_VAL(ISD::STRICT_FMUL),
22521 OPC_RecordNode,
22522 OPC_CheckFoldableChainNode,
22523 OPC_RecordChild1,
22524 OPC_RecordChild2,
22525 OPC_MoveParent,
22526 OPC_SwitchType , 11, MVT::f32,
22527 OPC_CheckPatternPredicate, 36,
22528 OPC_EmitMergeInputChains1_1,
22529 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
22530 MVT::f32, 3, 0, 2, 3,
22531 26, MVT::f64,
22532 OPC_Scope, 11,
22533 OPC_CheckPatternPredicate, 37,
22534 OPC_EmitMergeInputChains1_1,
22535 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
22536 MVT::f64, 3, 0, 2, 3,
22537 11,
22538 OPC_CheckPatternPredicate, 38,
22539 OPC_EmitMergeInputChains1_1,
22540 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
22541 MVT::f64, 3, 0, 2, 3,
22542 0,
22543 0,
22544 43, TARGET_VAL(ISD::FMUL),
22545 OPC_RecordChild0,
22546 OPC_RecordChild1,
22547 OPC_MoveParent,
22548 OPC_SwitchType , 10, MVT::f32,
22549 OPC_CheckPatternPredicate, 36,
22550 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
22551 MVT::f32, 3, 0, 1, 2,
22552 24, MVT::f64,
22553 OPC_Scope, 10,
22554 OPC_CheckPatternPredicate, 37,
22555 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
22556 MVT::f64, 3, 0, 1, 2,
22557 10,
22558 OPC_CheckPatternPredicate, 38,
22559 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
22560 MVT::f64, 3, 0, 1, 2,
22561 0,
22562 0,
22563 0,
22564 81,
22565 OPC_RecordChild1,
22566 OPC_SwitchType , 32, MVT::f32,
22567 OPC_Scope, 9,
22568 OPC_CheckPatternPredicate, 35,
22569 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S),
22570 MVT::f32, 2, 0, 1,
22571 9,
22572 OPC_CheckPatternPredicate, 45,
22573 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MM),
22574 MVT::f32, 2, 0, 1,
22575 9,
22576 OPC_CheckPatternPredicate, 27,
22577 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MMR6),
22578 MVT::f32, 2, 1, 0,
22579 0,
22580 42, MVT::f64,
22581 OPC_Scope, 9,
22582 OPC_CheckPatternPredicate, 51,
22583 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32),
22584 MVT::f64, 2, 0, 1,
22585 9,
22586 OPC_CheckPatternPredicate, 52,
22587 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64),
22588 MVT::f64, 2, 0, 1,
22589 9,
22590 OPC_CheckPatternPredicate, 46,
22591 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32_MM),
22592 MVT::f64, 2, 0, 1,
22593 9,
22594 OPC_CheckPatternPredicate, 47,
22595 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64_MM),
22596 MVT::f64, 2, 0, 1,
22597 0,
22598 0,
22599 37,
22600 OPC_MoveChild1,
22601 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
22602 OPC_RecordChild0,
22603 OPC_RecordChild1,
22604 OPC_MoveParent,
22605 OPC_SwitchType , 11, 6|128,1,
22606 OPC_CheckPatternPredicate, 60,
22607 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
22608 6|128,1, 3, 0, 1, 2,
22609 11, 24|128,1,
22610 OPC_CheckPatternPredicate, 60,
22611 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
22612 24|128,1, 3, 0, 1, 2,
22613 0,
22614 0,
22615 38,
22616 OPC_MoveChild0,
22617 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
22618 OPC_RecordChild0,
22619 OPC_RecordChild1,
22620 OPC_MoveParent,
22621 OPC_RecordChild1,
22622 OPC_SwitchType , 11, 6|128,1,
22623 OPC_CheckPatternPredicate, 60,
22624 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
22625 6|128,1, 3, 2, 0, 1,
22626 11, 24|128,1,
22627 OPC_CheckPatternPredicate, 60,
22628 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
22629 24|128,1, 3, 2, 0, 1,
22630 0,
22631 28,
22632 OPC_RecordChild0,
22633 OPC_RecordChild1,
22634 OPC_SwitchType , 9, 6|128,1,
22635 OPC_CheckPatternPredicate0,
22636 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_W),
22637 6|128,1, 2, 0, 1,
22638 9, 24|128,1,
22639 OPC_CheckPatternPredicate0,
22640 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D),
22641 24|128,1, 2, 0, 1,
22642 0,
22643 0,
22644 8|128,1, TARGET_VAL(ISD::ConstantFP),
22645 OPC_Scope, 54,
22646 OPC_CheckPredicate, 38,
22647 OPC_SwitchType , 34, MVT::f32,
22648 OPC_Scope, 10,
22649 OPC_CheckPatternPredicate, 72,
22650 OPC_EmitRegisterI32, Mips::ZERO,
22651 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
22652 MVT::f32, 1, 0,
22653 9,
22654 OPC_CheckPatternPredicate7,
22655 OPC_EmitRegisterI32, Mips::ZERO,
22656 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
22657 MVT::f32, 1, 0,
22658 10,
22659 OPC_CheckPatternPredicate, 8,
22660 OPC_EmitRegisterI32, Mips::ZERO,
22661 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
22662 MVT::f32, 1, 0,
22663 0,
22664 12, MVT::f64,
22665 OPC_CheckPatternPredicate, 110,
22666 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
22667 OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
22668 MVT::f64, 1, 0,
22669 0,
22670 78,
22671 OPC_CheckPredicate, 63,
22672 OPC_SwitchType , 52, MVT::f32,
22673 OPC_Scope, 16,
22674 OPC_CheckPatternPredicate, 72,
22675 OPC_EmitRegisterI32, Mips::ZERO,
22676 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1),
22677 MVT::f32, 1, 0,
22678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
22679 MVT::f32, 1, 1,
22680 15,
22681 OPC_CheckPatternPredicate7,
22682 OPC_EmitRegisterI32, Mips::ZERO,
22683 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MM),
22684 MVT::f32, 1, 0,
22685 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
22686 MVT::f32, 1, 1,
22687 16,
22688 OPC_CheckPatternPredicate, 8,
22689 OPC_EmitRegisterI32, Mips::ZERO,
22690 OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MMR6),
22691 MVT::f32, 1, 0,
22692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
22693 MVT::f32, 1, 1,
22694 0,
22695 18, MVT::f64,
22696 OPC_CheckPatternPredicate, 110,
22697 OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
22698 OPC_EmitNode1None, TARGET_VAL(Mips::DMTC1),
22699 MVT::f64, 1, 0,
22700 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
22701 MVT::f64, 1, 1,
22702 0,
22703 0,
22704 87, TARGET_VAL(ISD::FABS),
22705 OPC_RecordChild0,
22706 OPC_SwitchType , 20, MVT::f32,
22707 OPC_Scope, 8,
22708 OPC_CheckPatternPredicate, 137,
22709 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S),
22710 MVT::f32, 1, 0,
22711 8,
22712 OPC_CheckPatternPredicate, 138,
22713 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S_MM),
22714 MVT::f32, 1, 0,
22715 0,
22716 38, MVT::f64,
22717 OPC_Scope, 8,
22718 OPC_CheckPatternPredicate, 139,
22719 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32),
22720 MVT::f64, 1, 0,
22721 8,
22722 OPC_CheckPatternPredicate, 140,
22723 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64),
22724 MVT::f64, 1, 0,
22725 8,
22726 OPC_CheckPatternPredicate, 46,
22727 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32_MM),
22728 MVT::f64, 1, 0,
22729 8,
22730 OPC_CheckPatternPredicate, 47,
22731 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64_MM),
22732 MVT::f64, 1, 0,
22733 0,
22734 8, 6|128,1,
22735 OPC_CheckPatternPredicate0,
22736 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_W),
22737 6|128,1, 1, 0,
22738 8, 24|128,1,
22739 OPC_CheckPatternPredicate0,
22740 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D),
22741 24|128,1, 1, 0,
22742 0,
22743 39, TARGET_VAL(ISD::STRICT_FSQRT),
22744 OPC_RecordNode,
22745 OPC_RecordChild1,
22746 OPC_SwitchType , 9, MVT::f32,
22747 OPC_CheckPatternPredicate, 111,
22748 OPC_EmitMergeInputChains1_0,
22749 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_S),
22750 MVT::f32, 1, 1,
22751 22, MVT::f64,
22752 OPC_Scope, 9,
22753 OPC_CheckPatternPredicate, 68,
22754 OPC_EmitMergeInputChains1_0,
22755 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_D32),
22756 MVT::f64, 1, 1,
22757 9,
22758 OPC_CheckPatternPredicate, 67,
22759 OPC_EmitMergeInputChains1_0,
22760 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_D64),
22761 MVT::f64, 1, 1,
22762 0,
22763 0,
22764 87, TARGET_VAL(ISD::FSQRT),
22765 OPC_RecordChild0,
22766 OPC_SwitchType , 20, MVT::f32,
22767 OPC_Scope, 8,
22768 OPC_CheckPatternPredicate, 111,
22769 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S),
22770 MVT::f32, 1, 0,
22771 8,
22772 OPC_CheckPatternPredicate, 45,
22773 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S_MM),
22774 MVT::f32, 1, 0,
22775 0,
22776 38, MVT::f64,
22777 OPC_Scope, 8,
22778 OPC_CheckPatternPredicate, 68,
22779 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32),
22780 MVT::f64, 1, 0,
22781 8,
22782 OPC_CheckPatternPredicate, 67,
22783 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64),
22784 MVT::f64, 1, 0,
22785 8,
22786 OPC_CheckPatternPredicate, 46,
22787 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32_MM),
22788 MVT::f64, 1, 0,
22789 8,
22790 OPC_CheckPatternPredicate, 47,
22791 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64_MM),
22792 MVT::f64, 1, 0,
22793 0,
22794 8, 6|128,1,
22795 OPC_CheckPatternPredicate0,
22796 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_W),
22797 6|128,1, 1, 0,
22798 8, 24|128,1,
22799 OPC_CheckPatternPredicate0,
22800 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D),
22801 24|128,1, 1, 0,
22802 0,
22803 43, TARGET_VAL(ISD::STRICT_FDIV),
22804 OPC_RecordNode,
22805 OPC_RecordChild1,
22806 OPC_RecordChild2,
22807 OPC_SwitchType , 10, MVT::f32,
22808 OPC_CheckPatternPredicate, 35,
22809 OPC_EmitMergeInputChains1_0,
22810 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_S),
22811 MVT::f32, 2, 1, 2,
22812 24, MVT::f64,
22813 OPC_Scope, 10,
22814 OPC_CheckPatternPredicate, 51,
22815 OPC_EmitMergeInputChains1_0,
22816 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_D32),
22817 MVT::f64, 2, 1, 2,
22818 10,
22819 OPC_CheckPatternPredicate, 52,
22820 OPC_EmitMergeInputChains1_0,
22821 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_D64),
22822 MVT::f64, 2, 1, 2,
22823 0,
22824 0,
22825 106, TARGET_VAL(ISD::FDIV),
22826 OPC_RecordChild0,
22827 OPC_RecordChild1,
22828 OPC_SwitchType , 32, MVT::f32,
22829 OPC_Scope, 9,
22830 OPC_CheckPatternPredicate, 35,
22831 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S),
22832 MVT::f32, 2, 0, 1,
22833 9,
22834 OPC_CheckPatternPredicate, 45,
22835 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MM),
22836 MVT::f32, 2, 0, 1,
22837 9,
22838 OPC_CheckPatternPredicate, 27,
22839 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MMR6),
22840 MVT::f32, 2, 1, 0,
22841 0,
22842 42, MVT::f64,
22843 OPC_Scope, 9,
22844 OPC_CheckPatternPredicate, 51,
22845 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32),
22846 MVT::f64, 2, 0, 1,
22847 9,
22848 OPC_CheckPatternPredicate, 52,
22849 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64),
22850 MVT::f64, 2, 0, 1,
22851 9,
22852 OPC_CheckPatternPredicate, 46,
22853 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32_MM),
22854 MVT::f64, 2, 0, 1,
22855 9,
22856 OPC_CheckPatternPredicate, 47,
22857 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64_MM),
22858 MVT::f64, 2, 0, 1,
22859 0,
22860 9, 6|128,1,
22861 OPC_CheckPatternPredicate0,
22862 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_W),
22863 6|128,1, 2, 0, 1,
22864 9, 24|128,1,
22865 OPC_CheckPatternPredicate0,
22866 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D),
22867 24|128,1, 2, 0, 1,
22868 0,
22869 43, TARGET_VAL(ISD::STRICT_FMUL),
22870 OPC_RecordNode,
22871 OPC_RecordChild1,
22872 OPC_RecordChild2,
22873 OPC_SwitchType , 10, MVT::f32,
22874 OPC_CheckPatternPredicate, 35,
22875 OPC_EmitMergeInputChains1_0,
22876 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_S),
22877 MVT::f32, 2, 1, 2,
22878 24, MVT::f64,
22879 OPC_Scope, 10,
22880 OPC_CheckPatternPredicate, 51,
22881 OPC_EmitMergeInputChains1_0,
22882 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_D32),
22883 MVT::f64, 2, 1, 2,
22884 10,
22885 OPC_CheckPatternPredicate, 52,
22886 OPC_EmitMergeInputChains1_0,
22887 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_D64),
22888 MVT::f64, 2, 1, 2,
22889 0,
22890 0,
22891 56|128,1, TARGET_VAL(ISD::FMUL),
22892 OPC_Scope, 118,
22893 OPC_RecordChild0,
22894 OPC_Scope, 81,
22895 OPC_RecordChild1,
22896 OPC_SwitchType , 32, MVT::f32,
22897 OPC_Scope, 9,
22898 OPC_CheckPatternPredicate, 35,
22899 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S),
22900 MVT::f32, 2, 0, 1,
22901 9,
22902 OPC_CheckPatternPredicate, 45,
22903 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MM),
22904 MVT::f32, 2, 0, 1,
22905 9,
22906 OPC_CheckPatternPredicate, 27,
22907 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MMR6),
22908 MVT::f32, 2, 1, 0,
22909 0,
22910 42, MVT::f64,
22911 OPC_Scope, 9,
22912 OPC_CheckPatternPredicate, 51,
22913 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32),
22914 MVT::f64, 2, 0, 1,
22915 9,
22916 OPC_CheckPatternPredicate, 52,
22917 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64),
22918 MVT::f64, 2, 0, 1,
22919 9,
22920 OPC_CheckPatternPredicate, 46,
22921 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32_MM),
22922 MVT::f64, 2, 0, 1,
22923 9,
22924 OPC_CheckPatternPredicate, 47,
22925 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64_MM),
22926 MVT::f64, 2, 0, 1,
22927 0,
22928 0,
22929 32,
22930 OPC_MoveChild1,
22931 OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
22932 OPC_RecordChild0,
22933 OPC_MoveParent,
22934 OPC_SwitchType , 9, 6|128,1,
22935 OPC_CheckPatternPredicate0,
22936 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
22937 6|128,1, 2, 0, 1,
22938 9, 24|128,1,
22939 OPC_CheckPatternPredicate0,
22940 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
22941 24|128,1, 2, 0, 1,
22942 0,
22943 0,
22944 33,
22945 OPC_MoveChild0,
22946 OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
22947 OPC_RecordChild0,
22948 OPC_MoveParent,
22949 OPC_RecordChild1,
22950 OPC_SwitchType , 9, 6|128,1,
22951 OPC_CheckPatternPredicate0,
22952 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
22953 6|128,1, 2, 1, 0,
22954 9, 24|128,1,
22955 OPC_CheckPatternPredicate0,
22956 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
22957 24|128,1, 2, 1, 0,
22958 0,
22959 28,
22960 OPC_RecordChild0,
22961 OPC_RecordChild1,
22962 OPC_SwitchType , 9, 6|128,1,
22963 OPC_CheckPatternPredicate0,
22964 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_W),
22965 6|128,1, 2, 0, 1,
22966 9, 24|128,1,
22967 OPC_CheckPatternPredicate0,
22968 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D),
22969 24|128,1, 2, 0, 1,
22970 0,
22971 0,
22972 24, TARGET_VAL(MipsISD::BuildPairF64),
22973 OPC_RecordChild0,
22974 OPC_RecordChild1,
22975 OPC_Scope, 9,
22976 OPC_CheckPatternPredicate, 101,
22977 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64),
22978 MVT::f64, 2, 0, 1,
22979 9,
22980 OPC_CheckPatternPredicate, 102,
22981 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64_64),
22982 MVT::f64, 2, 0, 1,
22983 0,
22984 76, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
22985 OPC_RecordNode,
22986 OPC_RecordChild1,
22987 OPC_Scope, 36,
22988 OPC_CheckChild1TypeI32,
22989 OPC_SwitchType , 7, MVT::f32,
22990 OPC_EmitMergeInputChains1_0,
22991 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_S_W),
22992 MVT::f32, 1, 1,
22993 22, MVT::f64,
22994 OPC_Scope, 9,
22995 OPC_CheckPatternPredicate, 112,
22996 OPC_EmitMergeInputChains1_0,
22997 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D32_W),
22998 MVT::f64, 1, 1,
22999 9,
23000 OPC_CheckPatternPredicate, 61,
23001 OPC_EmitMergeInputChains1_0,
23002 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D64_W),
23003 MVT::f64, 1, 1,
23004 0,
23005 0,
23006 34,
23007 OPC_CheckChild1TypeI64,
23008 OPC_SwitchType , 9, MVT::f64,
23009 OPC_CheckPatternPredicate, 61,
23010 OPC_EmitMergeInputChains1_0,
23011 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D64_L),
23012 MVT::f64, 1, 1,
23013 18, MVT::f32,
23014 OPC_CheckPatternPredicate, 61,
23015 OPC_EmitMergeInputChains1_0,
23016 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCVT_S_L),
23017 MVT::f64, 1, 1,
23018 OPC_EmitIntegerI32, Mips::sub_lo,
23019 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23020 MVT::f32, 2, 2, 3,
23021 0,
23022 0,
23023 98, TARGET_VAL(ISD::SINT_TO_FP),
23024 OPC_RecordChild0,
23025 OPC_Scope, 33,
23026 OPC_CheckChild0TypeI32,
23027 OPC_SwitchType , 6, MVT::f32,
23028 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_S_W),
23029 MVT::f32, 1, 0,
23030 20, MVT::f64,
23031 OPC_Scope, 8,
23032 OPC_CheckPatternPredicate, 112,
23033 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D32_W),
23034 MVT::f64, 1, 0,
23035 8,
23036 OPC_CheckPatternPredicate, 61,
23037 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_W),
23038 MVT::f64, 1, 0,
23039 0,
23040 0,
23041 32,
23042 OPC_CheckChild0TypeI64,
23043 OPC_SwitchType , 8, MVT::f64,
23044 OPC_CheckPatternPredicate, 61,
23045 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_L),
23046 MVT::f64, 1, 0,
23047 17, MVT::f32,
23048 OPC_CheckPatternPredicate, 61,
23049 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCVT_S_L),
23050 MVT::f64, 1, 0,
23051 OPC_EmitIntegerI32, Mips::sub_lo,
23052 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23053 MVT::f32, 2, 1, 2,
23054 0,
23055 13,
23056 OPC_CheckChild0Type, MVT::v4i32,
23057 OPC_CheckType, 6|128,1,
23058 OPC_CheckPatternPredicate0,
23059 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_W),
23060 6|128,1, 1, 0,
23061 13,
23062 OPC_CheckChild0Type, MVT::v2i64,
23063 OPC_CheckType, 24|128,1,
23064 OPC_CheckPatternPredicate0,
23065 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_D),
23066 24|128,1, 1, 0,
23067 0,
23068 2|128,1, TARGET_VAL(MipsISD::TruncIntFP),
23069 OPC_RecordChild0,
23070 OPC_Scope, 44,
23071 OPC_CheckChild0Type, MVT::f32,
23072 OPC_SwitchType , 28, MVT::f32,
23073 OPC_Scope, 8,
23074 OPC_CheckPatternPredicate, 72,
23075 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S),
23076 MVT::f32, 1, 0,
23077 7,
23078 OPC_CheckPatternPredicate7,
23079 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MM),
23080 MVT::f32, 1, 0,
23081 8,
23082 OPC_CheckPatternPredicate, 8,
23083 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MMR6),
23084 MVT::f32, 1, 0,
23085 0,
23086 8, MVT::f64,
23087 OPC_CheckPatternPredicate, 81,
23088 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_S),
23089 MVT::f64, 1, 0,
23090 0,
23091 63,
23092 OPC_CheckChild0Type, MVT::f64,
23093 OPC_SwitchType , 47, MVT::f32,
23094 OPC_Scope, 8,
23095 OPC_CheckPatternPredicate, 141,
23096 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D32),
23097 MVT::f32, 1, 0,
23098 8,
23099 OPC_CheckPatternPredicate, 81,
23100 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
23101 MVT::f32, 1, 0,
23102 8,
23103 OPC_CheckPatternPredicate, 32,
23104 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_MM),
23105 MVT::f32, 1, 0,
23106 8,
23107 OPC_CheckPatternPredicate, 142,
23108 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_W_D64_MM),
23109 MVT::f32, 1, 0,
23110 8,
23111 OPC_CheckPatternPredicate, 8,
23112 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D_MMR6),
23113 MVT::f32, 1, 0,
23114 0,
23115 8, MVT::f64,
23116 OPC_CheckPatternPredicate, 81,
23117 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_D64),
23118 MVT::f64, 1, 0,
23119 0,
23120 17,
23121 OPC_CheckChild0Type, MVT::f16,
23122 OPC_CheckType, MVT::f32,
23123 OPC_CheckPatternPredicate0,
23124 OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO),
23125 MVT::f64, 1, 0,
23126 OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
23127 MVT::f32, 1, 1,
23128 0,
23129 21, TARGET_VAL(MipsISD::MTC1_D64),
23130 OPC_RecordChild0,
23131 OPC_Scope, 8,
23132 OPC_CheckPatternPredicate, 143,
23133 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64),
23134 MVT::f64, 1, 0,
23135 8,
23136 OPC_CheckPatternPredicate, 62,
23137 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64_MM),
23138 MVT::f64, 1, 0,
23139 0,
23140 26, TARGET_VAL(ISD::STRICT_FP_ROUND),
23141 OPC_RecordNode,
23142 OPC_RecordChild1,
23143 OPC_CheckType, MVT::f32,
23144 OPC_Scope, 9,
23145 OPC_CheckPatternPredicate, 56,
23146 OPC_EmitMergeInputChains1_0,
23147 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_S_D32),
23148 MVT::f32, 1, 1,
23149 9,
23150 OPC_CheckPatternPredicate, 55,
23151 OPC_EmitMergeInputChains1_0,
23152 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_S_D64),
23153 MVT::f32, 1, 1,
23154 0,
23155 67, TARGET_VAL(ISD::FP_ROUND),
23156 OPC_RecordChild0,
23157 OPC_SwitchType , 38, MVT::f32,
23158 OPC_Scope, 8,
23159 OPC_CheckPatternPredicate, 56,
23160 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32),
23161 MVT::f32, 1, 0,
23162 8,
23163 OPC_CheckPatternPredicate, 55,
23164 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64),
23165 MVT::f32, 1, 0,
23166 8,
23167 OPC_CheckPatternPredicate, 62,
23168 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64_MM),
23169 MVT::f32, 1, 0,
23170 8,
23171 OPC_CheckPatternPredicate, 66,
23172 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32_MM),
23173 MVT::f32, 1, 0,
23174 0,
23175 22, MVT::f16,
23176 OPC_Scope, 9,
23177 OPC_CheckChild0Type, MVT::f32,
23178 OPC_CheckPatternPredicate3,
23179 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_ROUND_W_PSEUDO),
23180 MVT::f16, 1, 0,
23181 9,
23182 OPC_CheckChild0Type, MVT::f64,
23183 OPC_CheckPatternPredicate3,
23184 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_ROUND_D_PSEUDO),
23185 MVT::f16, 1, 0,
23186 0,
23187 0,
23188 28, TARGET_VAL(ISD::STRICT_FP_EXTEND),
23189 OPC_RecordNode,
23190 OPC_RecordChild1,
23191 OPC_CheckChild1Type, MVT::f32,
23192 OPC_CheckType, MVT::f64,
23193 OPC_Scope, 9,
23194 OPC_CheckPatternPredicate, 56,
23195 OPC_EmitMergeInputChains1_0,
23196 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_D32_S),
23197 MVT::f64, 1, 1,
23198 9,
23199 OPC_CheckPatternPredicate, 55,
23200 OPC_EmitMergeInputChains1_0,
23201 OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_D64_S),
23202 MVT::f64, 1, 1,
23203 0,
23204 67, TARGET_VAL(ISD::FP_EXTEND),
23205 OPC_RecordChild0,
23206 OPC_SwitchType , 53, MVT::f64,
23207 OPC_Scope, 40,
23208 OPC_CheckChild0Type, MVT::f32,
23209 OPC_Scope, 8,
23210 OPC_CheckPatternPredicate, 56,
23211 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S),
23212 MVT::f64, 1, 0,
23213 8,
23214 OPC_CheckPatternPredicate, 55,
23215 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S),
23216 MVT::f64, 1, 0,
23217 8,
23218 OPC_CheckPatternPredicate, 62,
23219 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S_MM),
23220 MVT::f64, 1, 0,
23221 8,
23222 OPC_CheckPatternPredicate, 66,
23223 OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S_MM),
23224 MVT::f64, 1, 0,
23225 0,
23226 9,
23227 OPC_CheckChild0Type, MVT::f16,
23228 OPC_CheckPatternPredicate3,
23229 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO),
23230 MVT::f64, 1, 0,
23231 0,
23232 7, MVT::f32,
23233 OPC_CheckPatternPredicate3,
23234 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
23235 MVT::f32, 1, 0,
23236 0,
23237 26, TARGET_VAL(ISD::FMAXNUM_IEEE),
23238 OPC_RecordChild0,
23239 OPC_RecordChild1,
23240 OPC_SwitchType , 9, MVT::f32,
23241 OPC_CheckPatternPredicate, 15,
23242 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S),
23243 MVT::f32, 2, 0, 1,
23244 9, MVT::f64,
23245 OPC_CheckPatternPredicate, 15,
23246 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_D),
23247 MVT::f64, 2, 0, 1,
23248 0,
23249 26, TARGET_VAL(ISD::FMAXNUM),
23250 OPC_RecordChild0,
23251 OPC_RecordChild1,
23252 OPC_SwitchType , 9, MVT::f32,
23253 OPC_CheckPatternPredicate, 15,
23254 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S),
23255 MVT::f32, 2, 0, 1,
23256 9, MVT::f64,
23257 OPC_CheckPatternPredicate, 15,
23258 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_D),
23259 MVT::f64, 2, 0, 1,
23260 0,
23261 26, TARGET_VAL(ISD::FMINNUM_IEEE),
23262 OPC_RecordChild0,
23263 OPC_RecordChild1,
23264 OPC_SwitchType , 9, MVT::f32,
23265 OPC_CheckPatternPredicate, 15,
23266 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
23267 MVT::f32, 2, 0, 1,
23268 9, MVT::f64,
23269 OPC_CheckPatternPredicate, 15,
23270 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
23271 MVT::f64, 2, 0, 1,
23272 0,
23273 26, TARGET_VAL(ISD::FMINNUM),
23274 OPC_RecordChild0,
23275 OPC_RecordChild1,
23276 OPC_SwitchType , 9, MVT::f32,
23277 OPC_CheckPatternPredicate, 15,
23278 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
23279 MVT::f32, 2, 0, 1,
23280 9, MVT::f64,
23281 OPC_CheckPatternPredicate, 15,
23282 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
23283 MVT::f64, 2, 0, 1,
23284 0,
23285 25, TARGET_VAL(ISD::FCANONICALIZE),
23286 OPC_RecordChild0,
23287 OPC_SwitchType , 9, MVT::f32,
23288 OPC_CheckPatternPredicate, 15,
23289 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
23290 MVT::f32, 2, 0, 0,
23291 9, MVT::f64,
23292 OPC_CheckPatternPredicate, 15,
23293 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
23294 MVT::f64, 2, 0, 0,
23295 0,
23296 84|128,2, TARGET_VAL(MipsISD::VSHF),
23297 OPC_Scope, 82,
23298 OPC_MoveChild0,
23299 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23300 OPC_MoveChild0,
23301 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
23302 OPC_Scope, 35,
23303 OPC_MoveChild0,
23304 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
23305 OPC_RecordChild0,
23306 OPC_CheckChild0TypeI32,
23307 OPC_CheckChild1Same, 0,
23308 OPC_CheckChild2Same, 0,
23309 OPC_CheckChild3Same, 0,
23310 OPC_MoveParent,
23311 OPC_RecordChild1,
23312 OPC_CheckType, MVT::v4i32,
23313 OPC_MoveParent,
23314 OPC_CheckType, MVT::v2i64,
23315 OPC_MoveParent,
23316 OPC_RecordChild1,
23317 OPC_CheckChild2Same, 2,
23318 OPC_CheckType, MVT::v2i64,
23319 OPC_CheckPatternPredicate0,
23320 OPC_CheckComplexPat1, /*#*/1,
23321 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
23322 MVT::v2i64, 2, 2, 0,
23323 35,
23324 OPC_RecordChild0,
23325 OPC_MoveChild1,
23326 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
23327 OPC_RecordChild0,
23328 OPC_CheckChild0TypeI32,
23329 OPC_CheckChild1Same, 1,
23330 OPC_CheckChild2Same, 1,
23331 OPC_CheckChild3Same, 1,
23332 OPC_MoveParent,
23333 OPC_CheckType, MVT::v4i32,
23334 OPC_MoveParent,
23335 OPC_CheckType, MVT::v2i64,
23336 OPC_MoveParent,
23337 OPC_RecordChild1,
23338 OPC_CheckChild2Same, 2,
23339 OPC_CheckType, MVT::v2i64,
23340 OPC_CheckPatternPredicate0,
23341 OPC_CheckComplexPat1, /*#*/0,
23342 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
23343 MVT::v2i64, 2, 2, 1,
23344 0,
23345 75,
23346 OPC_RecordChild0,
23347 OPC_SwitchType , 16, MVT::v16i8,
23348 OPC_CheckChild0Type, MVT::v16i8,
23349 OPC_RecordChild1,
23350 OPC_CheckChild2Same, 1,
23351 OPC_CheckPatternPredicate0,
23352 OPC_CheckComplexPat, /*CP*/28, /*#*/0,
23353 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_B),
23354 MVT::v16i8, 2, 1, 2,
23355 16, MVT::v8i16,
23356 OPC_CheckChild0Type, MVT::v8i16,
23357 OPC_RecordChild1,
23358 OPC_CheckChild2Same, 1,
23359 OPC_CheckPatternPredicate0,
23360 OPC_CheckComplexPat, /*CP*/29, /*#*/0,
23361 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_H),
23362 MVT::v8i16, 2, 1, 2,
23363 16, MVT::v4i32,
23364 OPC_CheckChild0Type, MVT::v4i32,
23365 OPC_RecordChild1,
23366 OPC_CheckChild2Same, 1,
23367 OPC_CheckPatternPredicate0,
23368 OPC_CheckComplexPat, /*CP*/30, /*#*/0,
23369 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_W),
23370 MVT::v4i32, 2, 1, 2,
23371 16, MVT::v2i64,
23372 OPC_CheckChild0Type, MVT::v2i64,
23373 OPC_RecordChild1,
23374 OPC_CheckChild2Same, 1,
23375 OPC_CheckPatternPredicate0,
23376 OPC_CheckComplexPat, /*CP*/31, /*#*/0,
23377 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_D),
23378 MVT::v2i64, 2, 1, 2,
23379 0,
23380 114,
23381 OPC_MoveChild0,
23382 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
23383 OPC_RecordChild0,
23384 OPC_CheckChild0TypeI32,
23385 OPC_CheckChild1Same, 0,
23386 OPC_CheckChild2Same, 0,
23387 OPC_CheckChild3Same, 0,
23388 OPC_Scope, 82,
23389 OPC_MoveChild4,
23390 OPC_CheckSame, 0,
23391 OPC_MoveSibling5,
23392 OPC_CheckSame, 0,
23393 OPC_MoveSibling6,
23394 OPC_CheckSame, 0,
23395 OPC_MoveSibling7,
23396 OPC_CheckSame, 0,
23397 OPC_Scope, 49,
23398 OPC_MoveSibling, 8,
23399 OPC_CheckSame, 0,
23400 OPC_MoveSibling, 9,
23401 OPC_CheckSame, 0,
23402 OPC_MoveSibling, 10,
23403 OPC_CheckSame, 0,
23404 OPC_MoveSibling, 11,
23405 OPC_CheckSame, 0,
23406 OPC_MoveSibling, 12,
23407 OPC_CheckSame, 0,
23408 OPC_MoveSibling, 13,
23409 OPC_CheckSame, 0,
23410 OPC_MoveSibling, 14,
23411 OPC_CheckSame, 0,
23412 OPC_MoveSibling, 15,
23413 OPC_CheckSame, 0,
23414 OPC_MoveParent,
23415 OPC_CheckType, MVT::v16i8,
23416 OPC_MoveParent,
23417 OPC_RecordChild1,
23418 OPC_CheckChild2Same, 1,
23419 OPC_CheckType, MVT::v16i8,
23420 OPC_CheckPatternPredicate0,
23421 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_B),
23422 MVT::v16i8, 2, 1, 0,
23423 17,
23424 OPC_MoveParent,
23425 OPC_CheckType, MVT::v8i16,
23426 OPC_MoveParent,
23427 OPC_RecordChild1,
23428 OPC_CheckChild2Same, 1,
23429 OPC_CheckType, MVT::v8i16,
23430 OPC_CheckPatternPredicate0,
23431 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_H),
23432 MVT::v8i16, 2, 1, 0,
23433 0,
23434 16,
23435 OPC_CheckType, MVT::v4i32,
23436 OPC_MoveParent,
23437 OPC_RecordChild1,
23438 OPC_CheckChild2Same, 1,
23439 OPC_CheckType, MVT::v4i32,
23440 OPC_CheckPatternPredicate0,
23441 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_W),
23442 MVT::v4i32, 2, 1, 0,
23443 0,
23444 63,
23445 OPC_RecordChild0,
23446 OPC_SwitchType , 13, MVT::v16i8,
23447 OPC_CheckChild0Type, MVT::v16i8,
23448 OPC_RecordChild1,
23449 OPC_RecordChild2,
23450 OPC_CheckPatternPredicate0,
23451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_B),
23452 MVT::v16i8, 3, 0, 1, 2,
23453 13, MVT::v8i16,
23454 OPC_CheckChild0Type, MVT::v8i16,
23455 OPC_RecordChild1,
23456 OPC_RecordChild2,
23457 OPC_CheckPatternPredicate0,
23458 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_H),
23459 MVT::v8i16, 3, 0, 1, 2,
23460 13, MVT::v4i32,
23461 OPC_CheckChild0Type, MVT::v4i32,
23462 OPC_RecordChild1,
23463 OPC_RecordChild2,
23464 OPC_CheckPatternPredicate0,
23465 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_W),
23466 MVT::v4i32, 3, 0, 1, 2,
23467 13, MVT::v2i64,
23468 OPC_CheckChild0Type, MVT::v2i64,
23469 OPC_RecordChild1,
23470 OPC_RecordChild2,
23471 OPC_CheckPatternPredicate0,
23472 OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_D),
23473 MVT::v2i64, 3, 0, 1, 2,
23474 0,
23475 0,
23476 108, TARGET_VAL(MipsISD::INSVE),
23477 OPC_RecordChild0,
23478 OPC_RecordChild1,
23479 OPC_MoveChild1,
23480 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23481 OPC_Scope, 24,
23482 OPC_CheckPredicate, 14,
23483 OPC_MoveParent,
23484 OPC_RecordChild2,
23485 OPC_RecordChild3,
23486 OPC_MoveChild3,
23487 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23488 OPC_CheckPredicate6,
23489 OPC_MoveParent,
23490 OPC_CheckType, MVT::v16i8,
23491 OPC_CheckPatternPredicate0,
23492 OPC_EmitConvertToTarget3,
23493 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_B),
23494 MVT::v16i8, 4, 0, 1, 2, 4,
23495 24,
23496 OPC_CheckPredicate, 17,
23497 OPC_MoveParent,
23498 OPC_RecordChild2,
23499 OPC_RecordChild3,
23500 OPC_MoveChild3,
23501 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23502 OPC_CheckPredicate6,
23503 OPC_MoveParent,
23504 OPC_CheckType, MVT::v8i16,
23505 OPC_CheckPatternPredicate0,
23506 OPC_EmitConvertToTarget3,
23507 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_H),
23508 MVT::v8i16, 4, 0, 1, 2, 4,
23509 24,
23510 OPC_CheckPredicate, 21,
23511 OPC_MoveParent,
23512 OPC_RecordChild2,
23513 OPC_RecordChild3,
23514 OPC_MoveChild3,
23515 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23516 OPC_CheckPredicate6,
23517 OPC_MoveParent,
23518 OPC_CheckType, MVT::v4i32,
23519 OPC_CheckPatternPredicate0,
23520 OPC_EmitConvertToTarget3,
23521 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_W),
23522 MVT::v4i32, 4, 0, 1, 2, 4,
23523 24,
23524 OPC_CheckPredicate, 25,
23525 OPC_MoveParent,
23526 OPC_RecordChild2,
23527 OPC_RecordChild3,
23528 OPC_MoveChild3,
23529 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23530 OPC_CheckPredicate6,
23531 OPC_MoveParent,
23532 OPC_CheckType, MVT::v2i64,
23533 OPC_CheckPatternPredicate0,
23534 OPC_EmitConvertToTarget3,
23535 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_D),
23536 MVT::v2i64, 4, 0, 1, 2, 4,
23537 0,
23538 33|128,2, TARGET_VAL(ISD::VSELECT),
23539 OPC_RecordChild0,
23540 OPC_Scope, 32,
23541 OPC_RecordChild1,
23542 OPC_RecordChild2,
23543 OPC_SwitchType , 12, MVT::v16i8,
23544 OPC_CheckPatternPredicate0,
23545 OPC_CheckComplexPat, /*CP*/32, /*#*/0,
23546 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_B),
23547 MVT::v16i8, 3, 2, 1, 3,
23548 12, MVT::v8i16,
23549 OPC_CheckPatternPredicate0,
23550 OPC_CheckComplexPat, /*CP*/33, /*#*/0,
23551 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_H),
23552 MVT::v8i16, 3, 2, 1, 3,
23553 0,
23554 18,
23555 OPC_CheckChild0Type, MVT::v4i32,
23556 OPC_RecordChild1,
23557 OPC_RecordChild2,
23558 OPC_CheckType, MVT::v4i32,
23559 OPC_CheckPatternPredicate0,
23560 OPC_CheckComplexPat, /*CP*/34, /*#*/0,
23561 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_W),
23562 MVT::v4i32, 3, 2, 1, 3,
23563 18,
23564 OPC_CheckChild0Type, MVT::v2i64,
23565 OPC_RecordChild1,
23566 OPC_RecordChild2,
23567 OPC_CheckType, MVT::v2i64,
23568 OPC_CheckPatternPredicate0,
23569 OPC_CheckComplexPat, /*CP*/35, /*#*/0,
23570 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_D),
23571 MVT::v2i64, 3, 2, 1, 3,
23572 32,
23573 OPC_RecordChild1,
23574 OPC_RecordChild2,
23575 OPC_SwitchType , 12, MVT::v16i8,
23576 OPC_CheckPatternPredicate0,
23577 OPC_CheckComplexPat, /*CP*/36, /*#*/0,
23578 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_B),
23579 MVT::v16i8, 3, 2, 1, 3,
23580 12, MVT::v8i16,
23581 OPC_CheckPatternPredicate0,
23582 OPC_CheckComplexPat, /*CP*/37, /*#*/0,
23583 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_H),
23584 MVT::v8i16, 3, 2, 1, 3,
23585 0,
23586 18,
23587 OPC_CheckChild0Type, MVT::v4i32,
23588 OPC_RecordChild1,
23589 OPC_RecordChild2,
23590 OPC_CheckType, MVT::v4i32,
23591 OPC_CheckPatternPredicate0,
23592 OPC_CheckComplexPat, /*CP*/38, /*#*/0,
23593 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_W),
23594 MVT::v4i32, 3, 2, 1, 3,
23595 18,
23596 OPC_CheckChild0Type, MVT::v2i64,
23597 OPC_RecordChild1,
23598 OPC_RecordChild2,
23599 OPC_CheckType, MVT::v2i64,
23600 OPC_CheckPatternPredicate0,
23601 OPC_CheckComplexPat, /*CP*/39, /*#*/0,
23602 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_D),
23603 MVT::v2i64, 3, 2, 1, 3,
23604 81,
23605 OPC_RecordChild1,
23606 OPC_RecordChild2,
23607 OPC_SwitchType , 64, MVT::v16i8,
23608 OPC_CheckPatternPredicate0,
23609 OPC_Scope, 22,
23610 OPC_CheckComplexPat6, /*#*/0,
23611 OPC_Scope, 8,
23612 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZI_B),
23613 MVT::v16i8, 3, 2, 1, 3,
23614 8,
23615 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZI_B),
23616 MVT::v16i8, 3, 1, 2, 3,
23617 0,
23618 10,
23619 OPC_CheckComplexPat6, /*#*/1,
23620 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSELI_B),
23621 MVT::v16i8, 3, 0, 2, 3,
23622 8,
23623 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZ_V),
23624 MVT::v16i8, 3, 2, 1, 0,
23625 8,
23626 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZ_V),
23627 MVT::v16i8, 3, 1, 2, 0,
23628 8,
23629 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_V),
23630 MVT::v16i8, 3, 0, 2, 1,
23631 0,
23632 9, MVT::v8i16,
23633 OPC_CheckPatternPredicate0,
23634 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_H_PSEUDO),
23635 MVT::v8i16, 3, 0, 2, 1,
23636 0,
23637 30,
23638 OPC_CheckChild0Type, MVT::v4i32,
23639 OPC_RecordChild1,
23640 OPC_RecordChild2,
23641 OPC_SwitchType , 9, MVT::v4i32,
23642 OPC_CheckPatternPredicate0,
23643 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_W_PSEUDO),
23644 MVT::v4i32, 3, 0, 2, 1,
23645 10, 6|128,1,
23646 OPC_CheckPatternPredicate0,
23647 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FW_PSEUDO),
23648 6|128,1, 3, 0, 2, 1,
23649 0,
23650 30,
23651 OPC_CheckChild0Type, MVT::v2i64,
23652 OPC_RecordChild1,
23653 OPC_RecordChild2,
23654 OPC_SwitchType , 9, MVT::v2i64,
23655 OPC_CheckPatternPredicate0,
23656 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_D_PSEUDO),
23657 MVT::v2i64, 3, 0, 2, 1,
23658 10, 24|128,1,
23659 OPC_CheckPatternPredicate0,
23660 OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FD_PSEUDO),
23661 24|128,1, 3, 0, 2, 1,
23662 0,
23663 0,
23664 16|128,1, TARGET_VAL(ISD::SMAX),
23665 OPC_RecordChild0,
23666 OPC_RecordChild1,
23667 OPC_SwitchType , 33, MVT::v16i8,
23668 OPC_CheckPatternPredicate0,
23669 OPC_Scope, 10,
23670 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
23671 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
23672 MVT::v16i8, 2, 0, 2,
23673 10,
23674 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
23675 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
23676 MVT::v16i8, 2, 1, 2,
23677 7,
23678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_B),
23679 MVT::v16i8, 2, 0, 1,
23680 0,
23681 33, MVT::v8i16,
23682 OPC_CheckPatternPredicate0,
23683 OPC_Scope, 10,
23684 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
23685 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
23686 MVT::v8i16, 2, 0, 2,
23687 10,
23688 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
23689 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
23690 MVT::v8i16, 2, 1, 2,
23691 7,
23692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_H),
23693 MVT::v8i16, 2, 0, 1,
23694 0,
23695 33, MVT::v4i32,
23696 OPC_CheckPatternPredicate0,
23697 OPC_Scope, 10,
23698 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
23699 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
23700 MVT::v4i32, 2, 0, 2,
23701 10,
23702 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
23703 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
23704 MVT::v4i32, 2, 1, 2,
23705 7,
23706 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_W),
23707 MVT::v4i32, 2, 0, 1,
23708 0,
23709 33, MVT::v2i64,
23710 OPC_CheckPatternPredicate0,
23711 OPC_Scope, 10,
23712 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
23713 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
23714 MVT::v2i64, 2, 0, 2,
23715 10,
23716 OPC_CheckComplexPat, /*CP*/16, /*#*/0,
23717 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
23718 MVT::v2i64, 2, 1, 2,
23719 7,
23720 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_D),
23721 MVT::v2i64, 2, 0, 1,
23722 0,
23723 0,
23724 14|128,1, TARGET_VAL(ISD::UMAX),
23725 OPC_RecordChild0,
23726 OPC_RecordChild1,
23727 OPC_SwitchType , 33, MVT::v16i8,
23728 OPC_CheckPatternPredicate0,
23729 OPC_Scope, 10,
23730 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
23731 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
23732 MVT::v16i8, 2, 0, 2,
23733 10,
23734 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
23735 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
23736 MVT::v16i8, 2, 1, 2,
23737 7,
23738 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_B),
23739 MVT::v16i8, 2, 0, 1,
23740 0,
23741 33, MVT::v8i16,
23742 OPC_CheckPatternPredicate0,
23743 OPC_Scope, 10,
23744 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
23745 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
23746 MVT::v8i16, 2, 0, 2,
23747 10,
23748 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
23749 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
23750 MVT::v8i16, 2, 1, 2,
23751 7,
23752 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_H),
23753 MVT::v8i16, 2, 0, 1,
23754 0,
23755 31, MVT::v4i32,
23756 OPC_CheckPatternPredicate0,
23757 OPC_Scope, 9,
23758 OPC_CheckComplexPat5, /*#*/1,
23759 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
23760 MVT::v4i32, 2, 0, 2,
23761 9,
23762 OPC_CheckComplexPat5, /*#*/0,
23763 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
23764 MVT::v4i32, 2, 1, 2,
23765 7,
23766 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_W),
23767 MVT::v4i32, 2, 0, 1,
23768 0,
23769 33, MVT::v2i64,
23770 OPC_CheckPatternPredicate0,
23771 OPC_Scope, 10,
23772 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
23773 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
23774 MVT::v2i64, 2, 0, 2,
23775 10,
23776 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
23777 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
23778 MVT::v2i64, 2, 1, 2,
23779 7,
23780 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_D),
23781 MVT::v2i64, 2, 0, 1,
23782 0,
23783 0,
23784 16|128,1, TARGET_VAL(ISD::SMIN),
23785 OPC_RecordChild0,
23786 OPC_RecordChild1,
23787 OPC_SwitchType , 33, MVT::v16i8,
23788 OPC_CheckPatternPredicate0,
23789 OPC_Scope, 10,
23790 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
23791 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
23792 MVT::v16i8, 2, 0, 2,
23793 10,
23794 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
23795 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
23796 MVT::v16i8, 2, 1, 2,
23797 7,
23798 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_B),
23799 MVT::v16i8, 2, 0, 1,
23800 0,
23801 33, MVT::v8i16,
23802 OPC_CheckPatternPredicate0,
23803 OPC_Scope, 10,
23804 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
23805 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
23806 MVT::v8i16, 2, 0, 2,
23807 10,
23808 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
23809 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
23810 MVT::v8i16, 2, 1, 2,
23811 7,
23812 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_H),
23813 MVT::v8i16, 2, 0, 1,
23814 0,
23815 33, MVT::v4i32,
23816 OPC_CheckPatternPredicate0,
23817 OPC_Scope, 10,
23818 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
23819 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
23820 MVT::v4i32, 2, 0, 2,
23821 10,
23822 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
23823 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
23824 MVT::v4i32, 2, 1, 2,
23825 7,
23826 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_W),
23827 MVT::v4i32, 2, 0, 1,
23828 0,
23829 33, MVT::v2i64,
23830 OPC_CheckPatternPredicate0,
23831 OPC_Scope, 10,
23832 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
23833 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
23834 MVT::v2i64, 2, 0, 2,
23835 10,
23836 OPC_CheckComplexPat, /*CP*/16, /*#*/0,
23837 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
23838 MVT::v2i64, 2, 1, 2,
23839 7,
23840 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_D),
23841 MVT::v2i64, 2, 0, 1,
23842 0,
23843 0,
23844 14|128,1, TARGET_VAL(ISD::UMIN),
23845 OPC_RecordChild0,
23846 OPC_RecordChild1,
23847 OPC_SwitchType , 33, MVT::v16i8,
23848 OPC_CheckPatternPredicate0,
23849 OPC_Scope, 10,
23850 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
23851 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
23852 MVT::v16i8, 2, 0, 2,
23853 10,
23854 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
23855 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
23856 MVT::v16i8, 2, 1, 2,
23857 7,
23858 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_B),
23859 MVT::v16i8, 2, 0, 1,
23860 0,
23861 33, MVT::v8i16,
23862 OPC_CheckPatternPredicate0,
23863 OPC_Scope, 10,
23864 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
23865 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
23866 MVT::v8i16, 2, 0, 2,
23867 10,
23868 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
23869 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
23870 MVT::v8i16, 2, 1, 2,
23871 7,
23872 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_H),
23873 MVT::v8i16, 2, 0, 1,
23874 0,
23875 31, MVT::v4i32,
23876 OPC_CheckPatternPredicate0,
23877 OPC_Scope, 9,
23878 OPC_CheckComplexPat5, /*#*/1,
23879 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
23880 MVT::v4i32, 2, 0, 2,
23881 9,
23882 OPC_CheckComplexPat5, /*#*/0,
23883 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
23884 MVT::v4i32, 2, 1, 2,
23885 7,
23886 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_W),
23887 MVT::v4i32, 2, 0, 1,
23888 0,
23889 33, MVT::v2i64,
23890 OPC_CheckPatternPredicate0,
23891 OPC_Scope, 10,
23892 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
23893 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
23894 MVT::v2i64, 2, 0, 2,
23895 10,
23896 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
23897 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
23898 MVT::v2i64, 2, 1, 2,
23899 7,
23900 OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_D),
23901 MVT::v2i64, 2, 0, 1,
23902 0,
23903 0,
23904 67, TARGET_VAL(MipsISD::VNOR),
23905 OPC_RecordChild0,
23906 OPC_RecordChild1,
23907 OPC_SwitchType , 31, MVT::v16i8,
23908 OPC_CheckPatternPredicate0,
23909 OPC_Scope, 9,
23910 OPC_CheckComplexPat6, /*#*/1,
23911 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
23912 MVT::v16i8, 2, 0, 2,
23913 9,
23914 OPC_CheckComplexPat6, /*#*/0,
23915 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
23916 MVT::v16i8, 2, 1, 2,
23917 7,
23918 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V),
23919 MVT::v16i8, 2, 0, 1,
23920 0,
23921 8, MVT::v8i16,
23922 OPC_CheckPatternPredicate0,
23923 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_H_PSEUDO),
23924 MVT::v8i16, 2, 0, 1,
23925 8, MVT::v4i32,
23926 OPC_CheckPatternPredicate0,
23927 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_W_PSEUDO),
23928 MVT::v4i32, 2, 0, 1,
23929 8, MVT::v2i64,
23930 OPC_CheckPatternPredicate0,
23931 OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_D_PSEUDO),
23932 MVT::v2i64, 2, 0, 1,
23933 0,
23934 51|128,2, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
23935 OPC_RecordChild0,
23936 OPC_RecordChild1,
23937 OPC_Scope, 5|128,1,
23938 OPC_CheckChild1TypeI32,
23939 OPC_RecordChild2,
23940 OPC_Scope, 54,
23941 OPC_MoveChild2,
23942 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23943 OPC_Scope, 15,
23944 OPC_CheckPredicate, 14,
23945 OPC_MoveParent,
23946 OPC_CheckType, MVT::v16i8,
23947 OPC_CheckPatternPredicate0,
23948 OPC_EmitConvertToTarget2,
23949 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B),
23950 MVT::v16i8, 3, 0, 1, 3,
23951 15,
23952 OPC_CheckPredicate, 17,
23953 OPC_MoveParent,
23954 OPC_CheckType, MVT::v8i16,
23955 OPC_CheckPatternPredicate0,
23956 OPC_EmitConvertToTarget2,
23957 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H),
23958 MVT::v8i16, 3, 0, 1, 3,
23959 15,
23960 OPC_CheckPredicate, 21,
23961 OPC_MoveParent,
23962 OPC_CheckType, MVT::v4i32,
23963 OPC_CheckPatternPredicate0,
23964 OPC_EmitConvertToTarget2,
23965 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W),
23966 MVT::v4i32, 3, 0, 1, 3,
23967 0,
23968 36,
23969 OPC_CheckChild2TypeI32,
23970 OPC_SwitchType , 9, MVT::v16i8,
23971 OPC_CheckPatternPredicate0,
23972 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX_PSEUDO),
23973 MVT::v16i8, 3, 0, 2, 1,
23974 9, MVT::v8i16,
23975 OPC_CheckPatternPredicate0,
23976 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX_PSEUDO),
23977 MVT::v8i16, 3, 0, 2, 1,
23978 9, MVT::v4i32,
23979 OPC_CheckPatternPredicate0,
23980 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX_PSEUDO),
23981 MVT::v4i32, 3, 0, 2, 1,
23982 0,
23983 36,
23984 OPC_CheckChild2TypeI64,
23985 OPC_SwitchType , 9, MVT::v16i8,
23986 OPC_CheckPatternPredicate0,
23987 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX64_PSEUDO),
23988 MVT::v16i8, 3, 0, 2, 1,
23989 9, MVT::v8i16,
23990 OPC_CheckPatternPredicate0,
23991 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX64_PSEUDO),
23992 MVT::v8i16, 3, 0, 2, 1,
23993 9, MVT::v4i32,
23994 OPC_CheckPatternPredicate0,
23995 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX64_PSEUDO),
23996 MVT::v4i32, 3, 0, 2, 1,
23997 0,
23998 0,
23999 51,
24000 OPC_CheckChild1TypeI64,
24001 OPC_RecordChild2,
24002 OPC_Scope, 20,
24003 OPC_MoveChild2,
24004 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24005 OPC_CheckPredicate, 25,
24006 OPC_MoveParent,
24007 OPC_CheckType, MVT::v2i64,
24008 OPC_CheckPatternPredicate, 59,
24009 OPC_EmitConvertToTarget2,
24010 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D),
24011 MVT::v2i64, 3, 0, 1, 3,
24012 12,
24013 OPC_CheckChild2TypeI32,
24014 OPC_CheckType, MVT::v2i64,
24015 OPC_CheckPatternPredicate0,
24016 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX_PSEUDO),
24017 MVT::v2i64, 3, 0, 2, 1,
24018 12,
24019 OPC_CheckChild2TypeI64,
24020 OPC_CheckType, MVT::v2i64,
24021 OPC_CheckPatternPredicate0,
24022 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX64_PSEUDO),
24023 MVT::v2i64, 3, 0, 2, 1,
24024 0,
24025 57,
24026 OPC_CheckChild1Type, MVT::f32,
24027 OPC_RecordChild2,
24028 OPC_Scope, 21,
24029 OPC_MoveChild2,
24030 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24031 OPC_CheckPredicate, 21,
24032 OPC_MoveParent,
24033 OPC_CheckType, 6|128,1,
24034 OPC_CheckPatternPredicate0,
24035 OPC_EmitConvertToTarget2,
24036 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_PSEUDO),
24037 6|128,1, 3, 0, 3, 1,
24038 14,
24039 OPC_CheckChild2TypeI32,
24040 OPC_CheckType, 6|128,1,
24041 OPC_CheckPatternPredicate0,
24042 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX_PSEUDO),
24043 6|128,1, 3, 0, 2, 1,
24044 14,
24045 OPC_CheckChild2TypeI64,
24046 OPC_CheckType, 6|128,1,
24047 OPC_CheckPatternPredicate0,
24048 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX64_PSEUDO),
24049 6|128,1, 3, 0, 2, 1,
24050 0,
24051 57,
24052 OPC_CheckChild1Type, MVT::f64,
24053 OPC_RecordChild2,
24054 OPC_Scope, 21,
24055 OPC_MoveChild2,
24056 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24057 OPC_CheckPredicate, 25,
24058 OPC_MoveParent,
24059 OPC_CheckType, 24|128,1,
24060 OPC_CheckPatternPredicate0,
24061 OPC_EmitConvertToTarget2,
24062 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_PSEUDO),
24063 24|128,1, 3, 0, 3, 1,
24064 14,
24065 OPC_CheckChild2TypeI32,
24066 OPC_CheckType, 24|128,1,
24067 OPC_CheckPatternPredicate0,
24068 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX_PSEUDO),
24069 24|128,1, 3, 0, 2, 1,
24070 14,
24071 OPC_CheckChild2TypeI64,
24072 OPC_CheckType, 24|128,1,
24073 OPC_CheckPatternPredicate0,
24074 OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX64_PSEUDO),
24075 24|128,1, 3, 0, 2, 1,
24076 0,
24077 0,
24078 41, TARGET_VAL(MipsISD::SHF),
24079 OPC_RecordChild0,
24080 OPC_MoveChild0,
24081 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24082 OPC_CheckPredicate, 46,
24083 OPC_MoveParent,
24084 OPC_RecordChild1,
24085 OPC_SwitchType , 8, MVT::v16i8,
24086 OPC_CheckPatternPredicate0,
24087 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_B),
24088 MVT::v16i8, 2, 1, 0,
24089 8, MVT::v8i16,
24090 OPC_CheckPatternPredicate0,
24091 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_H),
24092 MVT::v8i16, 2, 1, 0,
24093 8, MVT::v4i32,
24094 OPC_CheckPatternPredicate0,
24095 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_W),
24096 MVT::v4i32, 2, 1, 0,
24097 0,
24098 31, TARGET_VAL(MipsISD::SHLL_DSP),
24099 OPC_RecordChild0,
24100 OPC_RecordChild1,
24101 OPC_MoveChild1,
24102 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24103 OPC_MoveParent,
24104 OPC_SwitchType , 9, MVT::v2i16,
24105 OPC_CheckPatternPredicate1,
24106 OPC_EmitConvertToTarget1,
24107 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_PH),
24108 MVT::v2i16, 2, 0, 2,
24109 9, MVT::v4i8,
24110 OPC_CheckPatternPredicate1,
24111 OPC_EmitConvertToTarget1,
24112 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_QB),
24113 MVT::v4i8, 2, 0, 2,
24114 0,
24115 32, TARGET_VAL(MipsISD::SHRA_DSP),
24116 OPC_RecordChild0,
24117 OPC_RecordChild1,
24118 OPC_MoveChild1,
24119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24120 OPC_MoveParent,
24121 OPC_SwitchType , 9, MVT::v2i16,
24122 OPC_CheckPatternPredicate1,
24123 OPC_EmitConvertToTarget1,
24124 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
24125 MVT::v2i16, 2, 0, 2,
24126 10, MVT::v4i8,
24127 OPC_CheckPatternPredicate, 13,
24128 OPC_EmitConvertToTarget1,
24129 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
24130 MVT::v4i8, 2, 0, 2,
24131 0,
24132 32, TARGET_VAL(MipsISD::SHRL_DSP),
24133 OPC_RecordChild0,
24134 OPC_RecordChild1,
24135 OPC_MoveChild1,
24136 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24137 OPC_MoveParent,
24138 OPC_SwitchType , 10, MVT::v2i16,
24139 OPC_CheckPatternPredicate, 13,
24140 OPC_EmitConvertToTarget1,
24141 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
24142 MVT::v2i16, 2, 0, 2,
24143 9, MVT::v4i8,
24144 OPC_CheckPatternPredicate1,
24145 OPC_EmitConvertToTarget1,
24146 OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
24147 MVT::v4i8, 2, 0, 2,
24148 0,
24149 14|128,1, TARGET_VAL(ISD::BUILD_VECTOR),
24150 OPC_RecordChild0,
24151 OPC_Scope, 88,
24152 OPC_CheckChild0TypeI32,
24153 OPC_CheckChild1Same, 0,
24154 OPC_CheckChild2Same, 0,
24155 OPC_CheckChild3Same, 0,
24156 OPC_Scope, 68,
24157 OPC_MoveChild4,
24158 OPC_CheckSame, 0,
24159 OPC_MoveSibling5,
24160 OPC_CheckSame, 0,
24161 OPC_MoveSibling6,
24162 OPC_CheckSame, 0,
24163 OPC_MoveSibling7,
24164 OPC_CheckSame, 0,
24165 OPC_Scope, 42,
24166 OPC_MoveSibling, 8,
24167 OPC_CheckSame, 0,
24168 OPC_MoveSibling, 9,
24169 OPC_CheckSame, 0,
24170 OPC_MoveSibling, 10,
24171 OPC_CheckSame, 0,
24172 OPC_MoveSibling, 11,
24173 OPC_CheckSame, 0,
24174 OPC_MoveSibling, 12,
24175 OPC_CheckSame, 0,
24176 OPC_MoveSibling, 13,
24177 OPC_CheckSame, 0,
24178 OPC_MoveSibling, 14,
24179 OPC_CheckSame, 0,
24180 OPC_MoveSibling, 15,
24181 OPC_CheckSame, 0,
24182 OPC_MoveParent,
24183 OPC_CheckType, MVT::v16i8,
24184 OPC_CheckPatternPredicate0,
24185 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_B),
24186 MVT::v16i8, 1, 0,
24187 10,
24188 OPC_MoveParent,
24189 OPC_CheckType, MVT::v8i16,
24190 OPC_CheckPatternPredicate0,
24191 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_H),
24192 MVT::v8i16, 1, 0,
24193 0,
24194 9,
24195 OPC_CheckType, MVT::v4i32,
24196 OPC_CheckPatternPredicate0,
24197 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_W),
24198 MVT::v4i32, 1, 0,
24199 0,
24200 13,
24201 OPC_CheckChild0TypeI64,
24202 OPC_CheckChild1Same, 0,
24203 OPC_CheckType, MVT::v2i64,
24204 OPC_CheckPatternPredicate, 59,
24205 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_D),
24206 MVT::v2i64, 1, 0,
24207 19,
24208 OPC_CheckChild0Type, MVT::f32,
24209 OPC_CheckChild1Same, 0,
24210 OPC_CheckChild2Same, 0,
24211 OPC_CheckChild3Same, 0,
24212 OPC_CheckType, 6|128,1,
24213 OPC_CheckPatternPredicate0,
24214 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FW_PSEUDO),
24215 6|128,1, 1, 0,
24216 15,
24217 OPC_CheckChild0Type, MVT::f64,
24218 OPC_CheckChild1Same, 0,
24219 OPC_CheckType, 24|128,1,
24220 OPC_CheckPatternPredicate0,
24221 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FD_PSEUDO),
24222 24|128,1, 1, 0,
24223 0,
24224 21, TARGET_VAL(ISD::FP_TO_SINT),
24225 OPC_RecordChild0,
24226 OPC_SwitchType , 7, MVT::v4i32,
24227 OPC_CheckPatternPredicate0,
24228 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_W),
24229 MVT::v4i32, 1, 0,
24230 7, MVT::v2i64,
24231 OPC_CheckPatternPredicate0,
24232 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_D),
24233 MVT::v2i64, 1, 0,
24234 0,
24235 21, TARGET_VAL(ISD::FP_TO_UINT),
24236 OPC_RecordChild0,
24237 OPC_SwitchType , 7, MVT::v4i32,
24238 OPC_CheckPatternPredicate0,
24239 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_W),
24240 MVT::v4i32, 1, 0,
24241 7, MVT::v2i64,
24242 OPC_CheckPatternPredicate0,
24243 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_D),
24244 MVT::v2i64, 1, 0,
24245 0,
24246 44, TARGET_VAL(MipsISD::ILVEV),
24247 OPC_RecordChild0,
24248 OPC_RecordChild1,
24249 OPC_SwitchType , 8, MVT::v16i8,
24250 OPC_CheckPatternPredicate0,
24251 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_B),
24252 MVT::v16i8, 2, 0, 1,
24253 8, MVT::v8i16,
24254 OPC_CheckPatternPredicate0,
24255 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_H),
24256 MVT::v8i16, 2, 0, 1,
24257 8, MVT::v4i32,
24258 OPC_CheckPatternPredicate0,
24259 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_W),
24260 MVT::v4i32, 2, 0, 1,
24261 8, MVT::v2i64,
24262 OPC_CheckPatternPredicate0,
24263 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_D),
24264 MVT::v2i64, 2, 0, 1,
24265 0,
24266 44, TARGET_VAL(MipsISD::ILVL),
24267 OPC_RecordChild0,
24268 OPC_RecordChild1,
24269 OPC_SwitchType , 8, MVT::v16i8,
24270 OPC_CheckPatternPredicate0,
24271 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_B),
24272 MVT::v16i8, 2, 0, 1,
24273 8, MVT::v8i16,
24274 OPC_CheckPatternPredicate0,
24275 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_H),
24276 MVT::v8i16, 2, 0, 1,
24277 8, MVT::v4i32,
24278 OPC_CheckPatternPredicate0,
24279 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_W),
24280 MVT::v4i32, 2, 0, 1,
24281 8, MVT::v2i64,
24282 OPC_CheckPatternPredicate0,
24283 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_D),
24284 MVT::v2i64, 2, 0, 1,
24285 0,
24286 44, TARGET_VAL(MipsISD::ILVOD),
24287 OPC_RecordChild0,
24288 OPC_RecordChild1,
24289 OPC_SwitchType , 8, MVT::v16i8,
24290 OPC_CheckPatternPredicate0,
24291 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_B),
24292 MVT::v16i8, 2, 0, 1,
24293 8, MVT::v8i16,
24294 OPC_CheckPatternPredicate0,
24295 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_H),
24296 MVT::v8i16, 2, 0, 1,
24297 8, MVT::v4i32,
24298 OPC_CheckPatternPredicate0,
24299 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_W),
24300 MVT::v4i32, 2, 0, 1,
24301 8, MVT::v2i64,
24302 OPC_CheckPatternPredicate0,
24303 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_D),
24304 MVT::v2i64, 2, 0, 1,
24305 0,
24306 44, TARGET_VAL(MipsISD::ILVR),
24307 OPC_RecordChild0,
24308 OPC_RecordChild1,
24309 OPC_SwitchType , 8, MVT::v16i8,
24310 OPC_CheckPatternPredicate0,
24311 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_B),
24312 MVT::v16i8, 2, 0, 1,
24313 8, MVT::v8i16,
24314 OPC_CheckPatternPredicate0,
24315 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_H),
24316 MVT::v8i16, 2, 0, 1,
24317 8, MVT::v4i32,
24318 OPC_CheckPatternPredicate0,
24319 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_W),
24320 MVT::v4i32, 2, 0, 1,
24321 8, MVT::v2i64,
24322 OPC_CheckPatternPredicate0,
24323 OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_D),
24324 MVT::v2i64, 2, 0, 1,
24325 0,
24326 44, TARGET_VAL(MipsISD::PCKEV),
24327 OPC_RecordChild0,
24328 OPC_RecordChild1,
24329 OPC_SwitchType , 8, MVT::v16i8,
24330 OPC_CheckPatternPredicate0,
24331 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_B),
24332 MVT::v16i8, 2, 0, 1,
24333 8, MVT::v8i16,
24334 OPC_CheckPatternPredicate0,
24335 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_H),
24336 MVT::v8i16, 2, 0, 1,
24337 8, MVT::v4i32,
24338 OPC_CheckPatternPredicate0,
24339 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_W),
24340 MVT::v4i32, 2, 0, 1,
24341 8, MVT::v2i64,
24342 OPC_CheckPatternPredicate0,
24343 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_D),
24344 MVT::v2i64, 2, 0, 1,
24345 0,
24346 44, TARGET_VAL(MipsISD::PCKOD),
24347 OPC_RecordChild0,
24348 OPC_RecordChild1,
24349 OPC_SwitchType , 8, MVT::v16i8,
24350 OPC_CheckPatternPredicate0,
24351 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_B),
24352 MVT::v16i8, 2, 0, 1,
24353 8, MVT::v8i16,
24354 OPC_CheckPatternPredicate0,
24355 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_H),
24356 MVT::v8i16, 2, 0, 1,
24357 8, MVT::v4i32,
24358 OPC_CheckPatternPredicate0,
24359 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_W),
24360 MVT::v4i32, 2, 0, 1,
24361 8, MVT::v2i64,
24362 OPC_CheckPatternPredicate0,
24363 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_D),
24364 MVT::v2i64, 2, 0, 1,
24365 0,
24366 31|128,2, TARGET_VAL(MipsISD::SELECT_CC_DSP),
24367 OPC_RecordChild0,
24368 OPC_Scope, 12|128,1,
24369 OPC_CheckChild0Type, MVT::v2i16,
24370 OPC_RecordChild1,
24371 OPC_RecordChild2,
24372 OPC_RecordChild3,
24373 OPC_MoveChild4,
24374 OPC_Scope, 21,
24375 OPC_CheckCondCode, ISD::SETEQ,
24376 OPC_MoveParent,
24377 OPC_CheckType, MVT::v2i16,
24378 OPC_CheckPatternPredicate1,
24379 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
24380 MVT::v2i16, 2, 0, 1,
24381 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24382 MVT::v2i16, 3, 4, 2, 3,
24383 21,
24384 OPC_CheckCondCode, ISD::SETLT,
24385 OPC_MoveParent,
24386 OPC_CheckType, MVT::v2i16,
24387 OPC_CheckPatternPredicate1,
24388 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
24389 MVT::v2i16, 2, 0, 1,
24390 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24391 MVT::v2i16, 3, 4, 2, 3,
24392 21,
24393 OPC_CheckCondCode, ISD::SETLE,
24394 OPC_MoveParent,
24395 OPC_CheckType, MVT::v2i16,
24396 OPC_CheckPatternPredicate1,
24397 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
24398 MVT::v2i16, 2, 0, 1,
24399 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24400 MVT::v2i16, 3, 4, 2, 3,
24401 21,
24402 OPC_CheckCondCode, ISD::SETNE,
24403 OPC_MoveParent,
24404 OPC_CheckType, MVT::v2i16,
24405 OPC_CheckPatternPredicate1,
24406 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
24407 MVT::v2i16, 2, 0, 1,
24408 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24409 MVT::v2i16, 3, 4, 3, 2,
24410 21,
24411 OPC_CheckCondCode, ISD::SETGE,
24412 OPC_MoveParent,
24413 OPC_CheckType, MVT::v2i16,
24414 OPC_CheckPatternPredicate1,
24415 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
24416 MVT::v2i16, 2, 0, 1,
24417 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24418 MVT::v2i16, 3, 4, 3, 2,
24419 21,
24420 OPC_CheckCondCode, ISD::SETGT,
24421 OPC_MoveParent,
24422 OPC_CheckType, MVT::v2i16,
24423 OPC_CheckPatternPredicate1,
24424 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
24425 MVT::v2i16, 2, 0, 1,
24426 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24427 MVT::v2i16, 3, 4, 3, 2,
24428 0,
24429 12|128,1,
24430 OPC_CheckChild0Type, MVT::v4i8,
24431 OPC_RecordChild1,
24432 OPC_RecordChild2,
24433 OPC_RecordChild3,
24434 OPC_MoveChild4,
24435 OPC_Scope, 21,
24436 OPC_CheckCondCode, ISD::SETEQ,
24437 OPC_MoveParent,
24438 OPC_CheckType, MVT::v4i8,
24439 OPC_CheckPatternPredicate1,
24440 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
24441 MVT::v4i8, 2, 0, 1,
24442 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24443 MVT::v4i8, 3, 4, 2, 3,
24444 21,
24445 OPC_CheckCondCode, ISD::SETULT,
24446 OPC_MoveParent,
24447 OPC_CheckType, MVT::v4i8,
24448 OPC_CheckPatternPredicate1,
24449 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
24450 MVT::v4i8, 2, 0, 1,
24451 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24452 MVT::v4i8, 3, 4, 2, 3,
24453 21,
24454 OPC_CheckCondCode, ISD::SETULE,
24455 OPC_MoveParent,
24456 OPC_CheckType, MVT::v4i8,
24457 OPC_CheckPatternPredicate1,
24458 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
24459 MVT::v4i8, 2, 0, 1,
24460 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24461 MVT::v4i8, 3, 4, 2, 3,
24462 21,
24463 OPC_CheckCondCode, ISD::SETNE,
24464 OPC_MoveParent,
24465 OPC_CheckType, MVT::v4i8,
24466 OPC_CheckPatternPredicate1,
24467 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
24468 MVT::v4i8, 2, 0, 1,
24469 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24470 MVT::v4i8, 3, 4, 3, 2,
24471 21,
24472 OPC_CheckCondCode, ISD::SETUGE,
24473 OPC_MoveParent,
24474 OPC_CheckType, MVT::v4i8,
24475 OPC_CheckPatternPredicate1,
24476 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
24477 MVT::v4i8, 2, 0, 1,
24478 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24479 MVT::v4i8, 3, 4, 3, 2,
24480 21,
24481 OPC_CheckCondCode, ISD::SETUGT,
24482 OPC_MoveParent,
24483 OPC_CheckType, MVT::v4i8,
24484 OPC_CheckPatternPredicate1,
24485 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
24486 MVT::v4i8, 2, 0, 1,
24487 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24488 MVT::v4i8, 3, 4, 3, 2,
24489 0,
24490 0,
24491 11|128,4, TARGET_VAL(MipsISD::SETCC_DSP),
24492 OPC_RecordChild0,
24493 OPC_SwitchType , 1|128,2, MVT::v2i16,
24494 OPC_CheckChild0Type, MVT::v2i16,
24495 OPC_RecordChild1,
24496 OPC_Scope, 41,
24497 OPC_CheckChild2CondCode, ISD::SETEQ,
24498 OPC_CheckPatternPredicate1,
24499 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
24500 MVT::v2i16, 2, 0, 1,
24501 OPC_EmitRegisterI32, Mips::ZERO,
24502 OPC_EmitIntegerI32, 127,
24503 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24504 MVT::i32, 2, 3, 4,
24505 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24506 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24507 MVT::v2i16, 2, 5, 6,
24508 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24509 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24510 MVT::v2i16, 3, 2, 7, 8,
24511 41,
24512 OPC_CheckChild2CondCode, ISD::SETLT,
24513 OPC_CheckPatternPredicate1,
24514 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
24515 MVT::v2i16, 2, 0, 1,
24516 OPC_EmitRegisterI32, Mips::ZERO,
24517 OPC_EmitIntegerI32, 127,
24518 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24519 MVT::i32, 2, 3, 4,
24520 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24521 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24522 MVT::v2i16, 2, 5, 6,
24523 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24524 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24525 MVT::v2i16, 3, 2, 7, 8,
24526 41,
24527 OPC_CheckChild2CondCode, ISD::SETLE,
24528 OPC_CheckPatternPredicate1,
24529 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
24530 MVT::v2i16, 2, 0, 1,
24531 OPC_EmitRegisterI32, Mips::ZERO,
24532 OPC_EmitIntegerI32, 127,
24533 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24534 MVT::i32, 2, 3, 4,
24535 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24536 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24537 MVT::v2i16, 2, 5, 6,
24538 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24539 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24540 MVT::v2i16, 3, 2, 7, 8,
24541 41,
24542 OPC_CheckChild2CondCode, ISD::SETNE,
24543 OPC_CheckPatternPredicate1,
24544 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
24545 MVT::v2i16, 2, 0, 1,
24546 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24547 OPC_EmitRegisterI32, Mips::ZERO,
24548 OPC_EmitIntegerI32, 127,
24549 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24550 MVT::i32, 2, 4, 5,
24551 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24552 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24553 MVT::v2i16, 2, 6, 7,
24554 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24555 MVT::v2i16, 3, 2, 3, 8,
24556 41,
24557 OPC_CheckChild2CondCode, ISD::SETGE,
24558 OPC_CheckPatternPredicate1,
24559 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
24560 MVT::v2i16, 2, 0, 1,
24561 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24562 OPC_EmitRegisterI32, Mips::ZERO,
24563 OPC_EmitIntegerI32, 127,
24564 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24565 MVT::i32, 2, 4, 5,
24566 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24567 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24568 MVT::v2i16, 2, 6, 7,
24569 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24570 MVT::v2i16, 3, 2, 3, 8,
24571 41,
24572 OPC_CheckChild2CondCode, ISD::SETGT,
24573 OPC_CheckPatternPredicate1,
24574 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
24575 MVT::v2i16, 2, 0, 1,
24576 OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
24577 OPC_EmitRegisterI32, Mips::ZERO,
24578 OPC_EmitIntegerI32, 127,
24579 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24580 MVT::i32, 2, 4, 5,
24581 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24582 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24583 MVT::v2i16, 2, 6, 7,
24584 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
24585 MVT::v2i16, 3, 2, 3, 8,
24586 0,
24587 1|128,2, MVT::v4i8,
24588 OPC_CheckChild0Type, MVT::v4i8,
24589 OPC_RecordChild1,
24590 OPC_Scope, 41,
24591 OPC_CheckChild2CondCode, ISD::SETEQ,
24592 OPC_CheckPatternPredicate1,
24593 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
24594 MVT::v4i8, 2, 0, 1,
24595 OPC_EmitRegisterI32, Mips::ZERO,
24596 OPC_EmitIntegerI32, 127,
24597 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24598 MVT::i32, 2, 3, 4,
24599 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24600 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24601 MVT::v4i8, 2, 5, 6,
24602 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24603 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24604 MVT::v4i8, 3, 2, 7, 8,
24605 41,
24606 OPC_CheckChild2CondCode, ISD::SETULT,
24607 OPC_CheckPatternPredicate1,
24608 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
24609 MVT::v4i8, 2, 0, 1,
24610 OPC_EmitRegisterI32, Mips::ZERO,
24611 OPC_EmitIntegerI32, 127,
24612 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24613 MVT::i32, 2, 3, 4,
24614 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24615 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24616 MVT::v4i8, 2, 5, 6,
24617 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24618 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24619 MVT::v4i8, 3, 2, 7, 8,
24620 41,
24621 OPC_CheckChild2CondCode, ISD::SETULE,
24622 OPC_CheckPatternPredicate1,
24623 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
24624 MVT::v4i8, 2, 0, 1,
24625 OPC_EmitRegisterI32, Mips::ZERO,
24626 OPC_EmitIntegerI32, 127,
24627 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24628 MVT::i32, 2, 3, 4,
24629 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24630 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24631 MVT::v4i8, 2, 5, 6,
24632 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24633 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24634 MVT::v4i8, 3, 2, 7, 8,
24635 41,
24636 OPC_CheckChild2CondCode, ISD::SETNE,
24637 OPC_CheckPatternPredicate1,
24638 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
24639 MVT::v4i8, 2, 0, 1,
24640 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24641 OPC_EmitRegisterI32, Mips::ZERO,
24642 OPC_EmitIntegerI32, 127,
24643 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24644 MVT::i32, 2, 4, 5,
24645 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24646 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24647 MVT::v4i8, 2, 6, 7,
24648 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24649 MVT::v4i8, 3, 2, 3, 8,
24650 41,
24651 OPC_CheckChild2CondCode, ISD::SETUGE,
24652 OPC_CheckPatternPredicate1,
24653 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
24654 MVT::v4i8, 2, 0, 1,
24655 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24656 OPC_EmitRegisterI32, Mips::ZERO,
24657 OPC_EmitIntegerI32, 127,
24658 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24659 MVT::i32, 2, 4, 5,
24660 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24661 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24662 MVT::v4i8, 2, 6, 7,
24663 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24664 MVT::v4i8, 3, 2, 3, 8,
24665 41,
24666 OPC_CheckChild2CondCode, ISD::SETUGT,
24667 OPC_CheckPatternPredicate1,
24668 OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
24669 MVT::v4i8, 2, 0, 1,
24670 OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
24671 OPC_EmitRegisterI32, Mips::ZERO,
24672 OPC_EmitIntegerI32, 127,
24673 OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
24674 MVT::i32, 2, 4, 5,
24675 OPC_EmitIntegerI32, Mips::DSPRRegClassID,
24676 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24677 MVT::v4i8, 2, 6, 7,
24678 OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
24679 MVT::v4i8, 3, 2, 3, 8,
24680 0,
24681 0,
24682 29, TARGET_VAL(ISD::UINT_TO_FP),
24683 OPC_RecordChild0,
24684 OPC_SwitchType , 10, 6|128,1,
24685 OPC_CheckChild0Type, MVT::v4i32,
24686 OPC_CheckPatternPredicate0,
24687 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_W),
24688 6|128,1, 1, 0,
24689 10, 24|128,1,
24690 OPC_CheckChild0Type, MVT::v2i64,
24691 OPC_CheckPatternPredicate0,
24692 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_D),
24693 24|128,1, 1, 0,
24694 0,
24695 25, TARGET_VAL(ISD::FLOG2),
24696 OPC_RecordChild0,
24697 OPC_SwitchType , 8, 6|128,1,
24698 OPC_CheckPatternPredicate0,
24699 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_W),
24700 6|128,1, 1, 0,
24701 8, 24|128,1,
24702 OPC_CheckPatternPredicate0,
24703 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_D),
24704 24|128,1, 1, 0,
24705 0,
24706 31, TARGET_VAL(ISD::FMA),
24707 OPC_RecordChild0,
24708 OPC_RecordChild1,
24709 OPC_RecordChild2,
24710 OPC_SwitchType , 10, 6|128,1,
24711 OPC_CheckPatternPredicate0,
24712 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
24713 6|128,1, 3, 0, 1, 2,
24714 10, 24|128,1,
24715 OPC_CheckPatternPredicate0,
24716 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
24717 24|128,1, 3, 0, 1, 2,
24718 0,
24719 31, TARGET_VAL(MipsISD::FMS),
24720 OPC_RecordChild0,
24721 OPC_RecordChild1,
24722 OPC_RecordChild2,
24723 OPC_SwitchType , 10, 6|128,1,
24724 OPC_CheckPatternPredicate0,
24725 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
24726 6|128,1, 3, 0, 1, 2,
24727 10, 24|128,1,
24728 OPC_CheckPatternPredicate0,
24729 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
24730 24|128,1, 3, 0, 1, 2,
24731 0,
24732 25, TARGET_VAL(ISD::FRINT),
24733 OPC_RecordChild0,
24734 OPC_SwitchType , 8, 6|128,1,
24735 OPC_CheckPatternPredicate0,
24736 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_W),
24737 6|128,1, 1, 0,
24738 8, 24|128,1,
24739 OPC_CheckPatternPredicate0,
24740 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_D),
24741 24|128,1, 1, 0,
24742 0,
24743 25, TARGET_VAL(ISD::FEXP2),
24744 OPC_RecordChild0,
24745 OPC_SwitchType , 8, 6|128,1,
24746 OPC_CheckPatternPredicate0,
24747 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W_1_PSEUDO),
24748 6|128,1, 1, 0,
24749 8, 24|128,1,
24750 OPC_CheckPatternPredicate0,
24751 OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D_1_PSEUDO),
24752 24|128,1, 1, 0,
24753 0,
24754 0,
24755 }; // Total Array size is 51468 bytes
24756
24757 #undef COVERAGE_IDX_VAL
24758 #undef TARGET_VAL
24759 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
24760}
24761#endif // GET_DAGISEL_BODY
24762
24763#ifdef GET_DAGISEL_DECL
24764bool CheckPatternPredicate(unsigned PredNo) const override;
24765#endif
24766#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
24767bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
24768#if DAGISEL_INLINE
24769 override
24770#endif
24771{
24772 switch (PredNo) {
24773 default: llvm_unreachable("Invalid predicate in table?");
24774 case 0: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
24775 case 1: return (Subtarget->hasDSP());
24776 case 2: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24777 case 3: return (Subtarget->hasMSA());
24778 case 4: return (Subtarget->inMicroMipsMode());
24779 case 5: return (Subtarget->inMips16Mode());
24780 case 6: return (Subtarget->hasDSP()) && (Subtarget->inMicroMipsMode());
24781 case 7: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
24782 case 8: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode());
24783 case 9: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
24784 case 10: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24785 case 11: return (!Subtarget->inMips16Mode());
24786 case 12: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
24787 case 13: return (Subtarget->hasDSPR2());
24788 case 14: return (Subtarget->hasDSPR2()) && (Subtarget->inMicroMipsMode());
24789 case 15: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24790 case 16: return (Subtarget->hasMSA()) && (!Subtarget->isLittle());
24791 case 17: return (Subtarget->hasMSA()) && (Subtarget->isLittle());
24792 case 18: return (Subtarget->isGP64bit()) && (!Subtarget->inMips16Mode());
24793 case 19: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding());
24794 case 20: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24795 case 21: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24796 case 22: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24797 case 23: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24798 case 24: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24799 case 25: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
24800 case 26: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24801 case 27: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
24802 case 28: return (Subtarget->hasCnMips());
24803 case 29: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->useCompactBranches());
24804 case 30: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->useCompactBranches());
24805 case 31: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24806 case 32: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
24807 case 33: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24808 case 34: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
24809 case 35: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24810 case 36: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24811 case 37: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24812 case 38: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24813 case 39: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24814 case 40: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->hasMips32r6());
24815 case 41: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24816 case 42: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24817 case 43: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
24818 case 44: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6());
24819 case 45: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
24820 case 46: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit());
24821 case 47: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
24822 case 48: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips4_32());
24823 case 49: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24824 case 50: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6());
24825 case 51: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
24826 case 52: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24827 case 53: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24828 case 54: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24829 case 55: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
24830 case 56: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
24831 case 57: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
24832 case 58: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24833 case 59: return (Subtarget->hasMSA()) && (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding());
24834 case 60: return (TM.Options.AllowFPOpFusion == FPOpFusion::Fast) && (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
24835 case 61: return (Subtarget->isFP64bit());
24836 case 62: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
24837 case 63: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24838 case 64: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64());
24839 case 65: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24840 case 66: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit());
24841 case 67: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24842 case 68: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
24843 case 69: return (Subtarget->hasEVA()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
24844 case 70: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24845 case 71: return (Subtarget->hasMSA()) && (Subtarget->isGP64bit());
24846 case 72: return (Subtarget->hasStandardEncoding());
24847 case 73: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (!Subtarget->isR5900());
24848 case 74: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24849 case 75: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24850 case 76: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24851 case 77: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
24852 case 78: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
24853 case 79: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (!Subtarget->inMicroMipsMode());
24854 case 80: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24855 case 81: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
24856 case 82: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
24857 case 83: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24858 case 84: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24859 case 85: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24860 case 86: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24861 case 87: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (!Subtarget->isR5900());
24862 case 88: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->isR5900());
24863 case 89: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
24864 case 90: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding());
24865 case 91: return (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips64r6());
24866 case 92: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24867 case 93: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP());
24868 case 94: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
24869 case 95: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24870 case 96: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
24871 case 97: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
24872 case 98: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
24873 case 99: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
24874 case 100: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
24875 case 101: return (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMips16Mode());
24876 case 102: return (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMips16Mode());
24877 case 103: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
24878 case 104: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24879 case 105: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24880 case 106: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24881 case 107: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24882 case 108: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
24883 case 109: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24884 case 110: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (Subtarget->isGP64bit());
24885 case 111: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
24886 case 112: return (!Subtarget->isFP64bit());
24887 case 113: return (Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
24888 case 114: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
24889 case 115: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
24890 case 116: return (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
24891 case 117: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
24892 case 118: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding());
24893 case 119: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode());
24894 case 120: return (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
24895 case 121: return (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMips16Mode());
24896 case 122: return (Subtarget->isABI_N64()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
24897 case 123: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
24898 case 124: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24899 case 125: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24900 case 126: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24901 case 127: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24902 case 128: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
24903 case 129: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24904 case 130: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
24905 case 131: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!TM.isPositionIndependent());
24906 case 132: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!TM.isPositionIndependent());
24907 case 133: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (TM.isPositionIndependent());
24908 case 134: return (Subtarget->hasDSP()) && (!Subtarget->inMips16Mode());
24909 case 135: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
24910 case 136: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat());
24911 case 137: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
24912 case 138: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
24913 case 139: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
24914 case 140: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
24915 case 141: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
24916 case 142: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
24917 case 143: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
24918 }
24919}
24920#endif // GET_DAGISEL_BODY
24921
24922#ifdef GET_DAGISEL_DECL
24923bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
24924#endif
24925#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
24926bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
24927#if DAGISEL_INLINE
24928 override
24929#endif
24930{
24931 switch (PredNo) {
24932 default: llvm_unreachable("Invalid predicate in table?");
24933 case 0: {
24934 // Predicate_immi32Cst7
24935 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
24936return isUInt<32>(x: Imm) && Imm == 7;
24937 }
24938 case 1: {
24939 // Predicate_immi32Cst15
24940 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
24941return isUInt<32>(x: Imm) && Imm == 15;
24942 }
24943 case 2: {
24944 // Predicate_immi32Cst31
24945 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
24946return isUInt<32>(x: Imm) && Imm == 31;
24947 }
24948 case 3: {
24949 // Predicate_immZExt5
24950 // Predicate_timmZExt5
24951 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
24952return Imm == (Imm & 0x1f);
24953 }
24954 case 4: {
24955 // Predicate_atomic_cmp_swap_i16
24956 // Predicate_atomic_load_add_i16
24957 // Predicate_atomic_load_aext_16
24958 // Predicate_atomic_load_and_i16
24959 // Predicate_atomic_load_max_i16
24960 // Predicate_atomic_load_min_i16
24961 // Predicate_atomic_load_nand_i16
24962 // Predicate_atomic_load_or_i16
24963 // Predicate_atomic_load_sext_16
24964 // Predicate_atomic_load_sub_i16
24965 // Predicate_atomic_load_umax_i16
24966 // Predicate_atomic_load_umin_i16
24967 // Predicate_atomic_load_xor_i16
24968 // Predicate_atomic_store_16
24969 // Predicate_atomic_swap_i16
24970 // Predicate_extloadi16
24971 // Predicate_sextloadi16
24972 // Predicate_truncstorei16
24973 // Predicate_zextloadi16
24974 SDNode *N = Op.getNode();
24975 (void)N;
24976if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
24977return true;
24978
24979 }
24980 case 5: {
24981 // Predicate_atomic_cmp_swap_i8
24982 // Predicate_atomic_load_add_i8
24983 // Predicate_atomic_load_aext_8
24984 // Predicate_atomic_load_and_i8
24985 // Predicate_atomic_load_max_i8
24986 // Predicate_atomic_load_min_i8
24987 // Predicate_atomic_load_nand_i8
24988 // Predicate_atomic_load_or_i8
24989 // Predicate_atomic_load_sext_8
24990 // Predicate_atomic_load_sub_i8
24991 // Predicate_atomic_load_umax_i8
24992 // Predicate_atomic_load_umin_i8
24993 // Predicate_atomic_load_xor_i8
24994 // Predicate_atomic_store_8
24995 // Predicate_atomic_swap_i8
24996 // Predicate_extloadi8
24997 // Predicate_sextloadi8
24998 // Predicate_truncstorei8
24999 // Predicate_zextloadi8
25000 SDNode *N = Op.getNode();
25001 (void)N;
25002if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
25003return true;
25004
25005 }
25006 case 6: {
25007 // Predicate_immz
25008 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25009 (void)N;
25010 return N->getSExtValue() == 0;
25011 }
25012 case 7: {
25013 // Predicate_immSExt16
25014 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25015 (void)N;
25016 return isInt<16>(x: N->getSExtValue());
25017 }
25018 case 8: {
25019 // Predicate_atomic_cmp_swap_i32
25020 // Predicate_atomic_load_add_i32
25021 // Predicate_atomic_load_aext_32
25022 // Predicate_atomic_load_and_i32
25023 // Predicate_atomic_load_max_i32
25024 // Predicate_atomic_load_min_i32
25025 // Predicate_atomic_load_nand_i32
25026 // Predicate_atomic_load_nonext_32
25027 // Predicate_atomic_load_or_i32
25028 // Predicate_atomic_load_sext_32
25029 // Predicate_atomic_load_sub_i32
25030 // Predicate_atomic_load_umax_i32
25031 // Predicate_atomic_load_umin_i32
25032 // Predicate_atomic_load_xor_i32
25033 // Predicate_atomic_store_32
25034 // Predicate_atomic_swap_i32
25035 // Predicate_extloadi32
25036 // Predicate_sextloadi32
25037 // Predicate_truncstorei32
25038 // Predicate_zextloadi32
25039 SDNode *N = Op.getNode();
25040 (void)N;
25041if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
25042return true;
25043
25044 }
25045 case 9: {
25046 // Predicate_store
25047 SDNode *N = Op.getNode();
25048 (void)N;
25049 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
25050return true;
25051
25052 }
25053 case 10: {
25054 // Predicate_immSExt16Plus1
25055 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25056 (void)N;
25057
25058 return isInt<17>(x: N->getSExtValue()) && isInt<16>(x: N->getSExtValue() + 1);
25059
25060 }
25061 case 11: {
25062 // Predicate_immZExt16
25063 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25064 (void)N;
25065
25066 if (N->getValueType(ResNo: 0) == MVT::i32)
25067 return (uint32_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
25068 else
25069 return (uint64_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
25070
25071 }
25072 case 12: {
25073 // Predicate_unindexedstore
25074 SDNode *N = Op.getNode();
25075 (void)N;
25076if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
25077return true;
25078
25079 }
25080 case 13: {
25081 // Predicate_vsplati64_imm_eq_63
25082 SDNode *N = Op.getNode();
25083 (void)N;
25084
25085 APInt Imm;
25086 SDNode *BV = N->getOperand(Num: 0).getNode();
25087 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
25088
25089 return selectVSplat(N: BV, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
25090 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
25091
25092 }
25093 case 14: {
25094 // Predicate_immZExt4
25095 // Predicate_immZExt4Ptr
25096 // Predicate_timmZExt4
25097 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25098return isUInt<4>(x: Imm);
25099 }
25100 case 15: {
25101 // Predicate_immZExt6
25102 // Predicate_timmZExt6
25103 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25104return Imm == (Imm & 0x3f);
25105 }
25106 case 16: {
25107 // Predicate_atomic_cmp_swap_i64
25108 // Predicate_atomic_load_add_i64
25109 // Predicate_atomic_load_and_i64
25110 // Predicate_atomic_load_max_i64
25111 // Predicate_atomic_load_min_i64
25112 // Predicate_atomic_load_nand_i64
25113 // Predicate_atomic_load_nonext_64
25114 // Predicate_atomic_load_or_i64
25115 // Predicate_atomic_load_sub_i64
25116 // Predicate_atomic_load_umax_i64
25117 // Predicate_atomic_load_umin_i64
25118 // Predicate_atomic_load_xor_i64
25119 // Predicate_atomic_store_64
25120 // Predicate_atomic_swap_i64
25121 SDNode *N = Op.getNode();
25122 (void)N;
25123if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
25124return true;
25125
25126 }
25127 case 17: {
25128 // Predicate_immZExt3
25129 // Predicate_immZExt3Ptr
25130 // Predicate_timmZExt3
25131 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25132return isUInt<3>(x: Imm);
25133 }
25134 case 18: {
25135 // Predicate_zext_nneg
25136 SDNode *N = Op.getNode();
25137 (void)N;
25138
25139 return N->getFlags().hasNonNeg();
25140
25141 }
25142 case 19: {
25143 // Predicate_sextload
25144 SDNode *N = Op.getNode();
25145 (void)N;
25146if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
25147return true;
25148
25149 }
25150 case 20: {
25151 // Predicate_zextload
25152 SDNode *N = Op.getNode();
25153 (void)N;
25154if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
25155return true;
25156
25157 }
25158 case 21: {
25159 // Predicate_immZExt2
25160 // Predicate_immZExt2Ptr
25161 // Predicate_timmZExt2
25162 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25163return isUInt<2>(x: Imm);
25164 }
25165 case 22: {
25166 // Predicate_load
25167 SDNode *N = Op.getNode();
25168 (void)N;
25169if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
25170return true;
25171
25172 }
25173 case 23: {
25174 // Predicate_shiftMask_32
25175 SDNode *N = Op.getNode();
25176 (void)N;
25177
25178 return isUnneededShiftMask(N, ShAmtBits: 5);
25179
25180 }
25181 case 24: {
25182 // Predicate_shiftMask_64
25183 SDNode *N = Op.getNode();
25184 (void)N;
25185
25186 return isUnneededShiftMask(N, ShAmtBits: 6);
25187
25188 }
25189 case 25: {
25190 // Predicate_immZExt1Ptr
25191 // Predicate_timmZExt1
25192 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25193return isUInt<1>(x: Imm);
25194 }
25195 case 26: {
25196 // Predicate_atomic_load_aext
25197 SDNode *N = Op.getNode();
25198 (void)N;
25199if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
25200return true;
25201
25202 }
25203 case 27: {
25204 // Predicate_atomic_load_sext
25205 SDNode *N = Op.getNode();
25206 (void)N;
25207if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
25208return true;
25209
25210 }
25211 case 28: {
25212 // Predicate_unindexedload
25213 SDNode *N = Op.getNode();
25214 (void)N;
25215if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
25216return true;
25217
25218 }
25219 case 29: {
25220 // Predicate_truncstore
25221 SDNode *N = Op.getNode();
25222 (void)N;
25223 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
25224return true;
25225
25226 }
25227 case 30: {
25228 // Predicate_extload
25229 SDNode *N = Op.getNode();
25230 (void)N;
25231if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
25232return true;
25233
25234 }
25235 case 31: {
25236 // Predicate_immZExt5_64
25237 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25238 return Imm == (Imm & 0x1f);
25239 }
25240 case 32: {
25241 // Predicate_extloadi1
25242 SDNode *N = Op.getNode();
25243 (void)N;
25244if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i1) return false;
25245return true;
25246
25247 }
25248 case 33: {
25249 // Predicate_imm32ZExt16
25250 const APInt & Imm = Op->getAsAPIntVal();
25251
25252 return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();
25253
25254 }
25255 case 34: {
25256 // Predicate_immZExt5Plus1
25257 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25258 (void)N;
25259
25260 return isUInt<5>(x: N->getZExtValue() - 1);
25261
25262 }
25263 case 35: {
25264 // Predicate_atomic_load_nonext
25265 SDNode *N = Op.getNode();
25266 (void)N;
25267if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
25268return true;
25269
25270 }
25271 case 36: {
25272 // Predicate_LUiPred
25273 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25274 (void)N;
25275
25276 int64_t Val = N->getSExtValue();
25277 return !isInt<16>(x: Val) && isInt<32>(x: Val) && !(Val & 0xffff);
25278
25279 }
25280 case 37: {
25281 // Predicate_ORiPred
25282 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25283 (void)N;
25284
25285 return isUInt<16>(x: N->getZExtValue()) && !isInt<16>(x: N->getSExtValue());
25286
25287 }
25288 case 38: {
25289 // Predicate_fpimm0
25290 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
25291 (void)N;
25292
25293 return N->isExactlyValue(V: +0.0);
25294
25295 }
25296 case 39: {
25297 // Predicate_PowerOf2LO
25298 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25299 (void)N;
25300
25301 if (N->getValueType(ResNo: 0) == MVT::i64) {
25302 uint64_t Imm = N->getZExtValue();
25303 return isPowerOf2_64(Value: Imm) && (Imm & 0xffffffff) == Imm;
25304 }
25305 else
25306 return false;
25307
25308 }
25309 case 40: {
25310 // Predicate_PowerOf2HI
25311 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25312 (void)N;
25313
25314 if (N->getValueType(ResNo: 0) == MVT::i64) {
25315 uint64_t Imm = N->getZExtValue();
25316 return isPowerOf2_64(Value: Imm) && (Imm & 0xffffffff00000000) == Imm;
25317 }
25318 else
25319 return false;
25320
25321 }
25322 case 41: {
25323 // Predicate_immZExtAndi16
25324 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25325return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
25326 Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
25327 Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
25328 }
25329 case 42: {
25330 // Predicate_immZExt2Shift
25331 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25332return Imm >= 1 && Imm <= 8;
25333 }
25334 case 43: {
25335 // Predicate_immZExt5Plus32
25336 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25337 (void)N;
25338
25339 return isUInt<5>(x: N->getZExtValue() - 32);
25340
25341 }
25342 case 44: {
25343 // Predicate_timmZExt10
25344 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25345return isUInt<10>(x: Imm);
25346 }
25347 case 45: {
25348 // Predicate_timmZExt7
25349 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25350 (void)N;
25351 return isUInt<7>(x: N->getZExtValue());
25352 }
25353 case 46: {
25354 // Predicate_immZExt8
25355 // Predicate_timmZExt8
25356 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25357return isUInt<8>(x: Imm);
25358 }
25359 case 47: {
25360 // Predicate_immZExt2Lsa
25361 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25362return isUInt<2>(x: Imm - 1);
25363 }
25364 case 48: {
25365 // Predicate_LUiORiPred
25366 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25367 (void)N;
25368
25369 int64_t SVal = N->getSExtValue();
25370 return isInt<32>(x: SVal) && (SVal & 0xffff);
25371
25372 }
25373 case 49: {
25374 // Predicate_PowerOf2LO_i32
25375 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25376 (void)N;
25377
25378 if (N->getValueType(ResNo: 0) == MVT::i32) {
25379 uint64_t Imm = N->getZExtValue();
25380 return isPowerOf2_32(Value: Imm) && isUInt<32>(x: Imm);
25381 }
25382 else
25383 return false;
25384
25385 }
25386 case 50: {
25387 // Predicate_immZExt16_64
25388 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25389 (void)N;
25390 return isUInt<16>(x: N->getZExtValue());
25391 }
25392 case 51: {
25393 // Predicate_immZExt5Plus33
25394 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25395 (void)N;
25396
25397 return isUInt<5>(x: N->getZExtValue() - 33);
25398
25399 }
25400 case 52: {
25401 // Predicate_immSExt10
25402 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25403return isInt<10>(x: Imm);
25404 }
25405 case 53: {
25406 // Predicate_immSExt10_64
25407 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25408 (void)N;
25409 return isInt<10>(x: N->getSExtValue());
25410 }
25411 case 54: {
25412 // Predicate_imm32SExt16
25413 const APInt & Imm = Op->getAsAPIntVal();
25414 return isInt<16>(x: Imm.getSExtValue());
25415 }
25416 case 55: {
25417 // Predicate_immSExt8
25418 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25419 (void)N;
25420 return isInt<8>(x: N->getSExtValue());
25421 }
25422 case 56: {
25423 // Predicate_immSExtAddiur2
25424 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25425return Imm == 1 || Imm == -1 ||
25426 ((Imm % 4 == 0) &&
25427 Imm < 28 && Imm > 0);
25428 }
25429 case 57: {
25430 // Predicate_immSExtAddius5
25431 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25432return Imm >= -8 && Imm <= 7;
25433 }
25434 case 58: {
25435 // Predicate_assertzext_lt_i32
25436 SDNode *N = Op.getNode();
25437 (void)N;
25438
25439 return cast<VTSDNode>(Val: N->getOperand(Num: 1))->getVT().bitsLT(VT: MVT::i32);
25440
25441 }
25442 case 59: {
25443 // Predicate_immSExt6
25444 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25445return isInt<6>(x: Imm);
25446 }
25447 case 60: {
25448 // Predicate_immLi16
25449 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25450return Imm >= -1 && Imm <= 126;
25451 }
25452 case 61: {
25453 // Predicate_immZExt32Low16Zero
25454 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25455 (void)N;
25456
25457 uint64_t Val = N->getZExtValue();
25458 return isUInt<32>(x: Val) && !(Val & 0xffff);
25459
25460 }
25461 case 62: {
25462 // Predicate_immZExt32
25463 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
25464 (void)N;
25465 return isUInt<32>(x: N->getZExtValue());
25466 }
25467 case 63: {
25468 // Predicate_fpimm0neg
25469 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
25470 (void)N;
25471
25472 return N->isExactlyValue(V: -0.0);
25473
25474 }
25475 }
25476}
25477#endif // GET_DAGISEL_BODY
25478
25479#ifdef GET_DAGISEL_DECL
25480bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
25481 SDValue N, unsigned PatternNo,
25482 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
25483#endif
25484#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
25485bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
25486 SDValue N, unsigned PatternNo,
25487 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
25488#if DAGISEL_INLINE
25489 override
25490#endif
25491{
25492 unsigned NextRes = Result.size();
25493 switch (PatternNo) {
25494 default: llvm_unreachable("Invalid pattern # in table?");
25495 case 0:
25496 Result.resize(N: NextRes+2);
25497 return selectIntAddr(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25498 case 1:
25499 Result.resize(N: NextRes+0);
25500 return selectVSplatImmEq1(N);
25501 case 2:
25502 Result.resize(N: NextRes+2);
25503 return selectAddrDefault(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25504 case 3:
25505 Result.resize(N: NextRes+2);
25506 return selectAddrRegImm(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25507 case 4:
25508 Result.resize(N: NextRes+1);
25509 return selectVSplatUimmPow2(N, Imm&: Result[NextRes+0].first);
25510 case 5:
25511 Result.resize(N: NextRes+1);
25512 return selectVSplatUimm<5>(N, Imm&: Result[NextRes+0].first);
25513 case 6:
25514 Result.resize(N: NextRes+1);
25515 return selectVSplatUimm<8>(N, Imm&: Result[NextRes+0].first);
25516 case 7:
25517 Result.resize(N: NextRes+2);
25518 return selectIntAddr12MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25519 case 8:
25520 Result.resize(N: NextRes+1);
25521 return selectVSplatUimm<5>(N, Imm&: Result[NextRes+0].first);
25522 case 9:
25523 Result.resize(N: NextRes+1);
25524 return selectVSplatUimm<5>(N, Imm&: Result[NextRes+0].first);
25525 case 10:
25526 Result.resize(N: NextRes+1);
25527 return selectVSplatUimm<5>(N, Imm&: Result[NextRes+0].first);
25528 case 11:
25529 Result.resize(N: NextRes+2);
25530 return selectAddr16(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25531 case 12:
25532 Result.resize(N: NextRes+1);
25533 return selectVSplatUimmInvPow2(N, Imm&: Result[NextRes+0].first);
25534 case 13:
25535 Result.resize(N: NextRes+1);
25536 return selectVSplatSimm<5>(N, Imm&: Result[NextRes+0].first);
25537 case 14:
25538 Result.resize(N: NextRes+1);
25539 return selectVSplatSimm<5>(N, Imm&: Result[NextRes+0].first);
25540 case 15:
25541 Result.resize(N: NextRes+1);
25542 return selectVSplatSimm<5>(N, Imm&: Result[NextRes+0].first);
25543 case 16:
25544 Result.resize(N: NextRes+1);
25545 return selectVSplatSimm<5>(N, Imm&: Result[NextRes+0].first);
25546 case 17:
25547 Result.resize(N: NextRes+2);
25548 return selectIntAddrSImm10(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25549 case 18:
25550 Result.resize(N: NextRes+2);
25551 return selectIntAddrSImm10Lsl1(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25552 case 19:
25553 Result.resize(N: NextRes+2);
25554 return selectIntAddrSImm10Lsl2(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25555 case 20:
25556 Result.resize(N: NextRes+2);
25557 return selectIntAddrSImm10Lsl3(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25558 case 21:
25559 Result.resize(N: NextRes+2);
25560 return selectAddr16SP(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25561 case 22:
25562 Result.resize(N: NextRes+2);
25563 return selectIntAddrLSL2MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25564 case 23:
25565 Result.resize(N: NextRes+1);
25566 return selectVSplatUimm<3>(N, Imm&: Result[NextRes+0].first);
25567 case 24:
25568 Result.resize(N: NextRes+1);
25569 return selectVSplatUimm<4>(N, Imm&: Result[NextRes+0].first);
25570 case 25:
25571 Result.resize(N: NextRes+1);
25572 return selectVSplatUimm<6>(N, Imm&: Result[NextRes+0].first);
25573 case 26:
25574 Result.resize(N: NextRes+2);
25575 return selectIntAddr11MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25576 case 27:
25577 Result.resize(N: NextRes+2);
25578 return selectIntAddr16MM(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
25579 case 28:
25580 Result.resize(N: NextRes+1);
25581 return selectVSplatUimm<4>(N, Imm&: Result[NextRes+0].first);
25582 case 29:
25583 Result.resize(N: NextRes+1);
25584 return selectVSplatUimm<3>(N, Imm&: Result[NextRes+0].first);
25585 case 30:
25586 Result.resize(N: NextRes+1);
25587 return selectVSplatUimm<2>(N, Imm&: Result[NextRes+0].first);
25588 case 31:
25589 Result.resize(N: NextRes+1);
25590 return selectVSplatUimm<1>(N, Imm&: Result[NextRes+0].first);
25591 case 32:
25592 Result.resize(N: NextRes+1);
25593 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
25594 case 33:
25595 Result.resize(N: NextRes+1);
25596 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
25597 case 34:
25598 Result.resize(N: NextRes+1);
25599 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
25600 case 35:
25601 Result.resize(N: NextRes+1);
25602 return selectVSplatMaskL(N, Imm&: Result[NextRes+0].first);
25603 case 36:
25604 Result.resize(N: NextRes+1);
25605 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
25606 case 37:
25607 Result.resize(N: NextRes+1);
25608 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
25609 case 38:
25610 Result.resize(N: NextRes+1);
25611 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
25612 case 39:
25613 Result.resize(N: NextRes+1);
25614 return selectVSplatMaskR(N, Imm&: Result[NextRes+0].first);
25615 }
25616}
25617#endif // GET_DAGISEL_BODY
25618
25619#ifdef GET_DAGISEL_DECL
25620SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
25621#endif
25622#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
25623SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
25624#if DAGISEL_INLINE
25625 override
25626#endif
25627{
25628 switch (XFormNo) {
25629 default: llvm_unreachable("Invalid xform # in table?");
25630 case 0: {
25631 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25632
25633 return getImm(Node: N, Imm: Log2_64(Value: (unsigned) N->getZExtValue()));
25634
25635 }
25636 case 1: {
25637 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25638
25639 return getImm(Node: N, Imm: Log2_64(Value: (unsigned) (N->getZExtValue() >> 32)));
25640
25641 }
25642 case 2: {
25643 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25644
25645 return getSignedImm(Node: N, Imm: N->getSExtValue() + 1);
25646
25647 }
25648 case 3: {
25649 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25650
25651 return getImm(Node: N, Imm: N->getZExtValue() & 0xFFFF);
25652
25653 }
25654 case 4: {
25655 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25656
25657 return getImm(Node: N, Imm: 31 - N->getZExtValue());
25658
25659 }
25660 case 5: {
25661 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25662
25663 return getImm(Node: N, Imm: (N->getZExtValue() >> 16) & 0xFFFF);
25664
25665 }
25666 case 6: {
25667 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
25668
25669 unsigned Check = N->getZExtValue();
25670 unsigned Mask = 0;
25671 if (Check & fcSNan)
25672 Mask |= Mips::FClassMaskSignalingNaN;
25673 if (Check & fcQNan)
25674 Mask |= Mips::FClassMaskQuietNaN;
25675 if (Check & fcPosInf)
25676 Mask |= Mips::FClassMaskPositiveInfinity;
25677 if (Check & fcNegInf)
25678 Mask |= Mips::FClassMaskNegativeInfinity;
25679 if (Check & fcPosNormal)
25680 Mask |= Mips::FClassMaskPositiveNormal;
25681 if (Check & fcNegNormal)
25682 Mask |= Mips::FClassMaskNegativeNormal;
25683 if (Check & fcPosSubnormal)
25684 Mask |= Mips::FClassMaskPositiveSubnormal;
25685 if (Check & fcNegSubnormal)
25686 Mask |= Mips::FClassMaskNegativeSubnormal;
25687 if (Check & fcPosZero)
25688 Mask |= Mips::FClassMaskPositiveZero;
25689 if (Check & fcNegZero)
25690 Mask |= Mips::FClassMaskNegativeZero;
25691 return CurDAG->getTargetConstant(Val: Mask, DL: SDLoc(N), VT: MVT::i32);
25692
25693 }
25694 }
25695}
25696#endif // GET_DAGISEL_BODY
25697
25698
25699#ifdef DAGISEL_INLINE
25700#undef DAGISEL_INLINE
25701#endif
25702#ifdef DAGISEL_CLASS_COLONCOLON
25703#undef DAGISEL_CLASS_COLONCOLON
25704#endif
25705#ifdef GET_DAGISEL_DECL
25706#undef GET_DAGISEL_DECL
25707#endif
25708#ifdef GET_DAGISEL_BODY
25709#undef GET_DAGISEL_BODY
25710#endif
25711