1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* DAG Instruction Selector for the Sparc 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 , 48|128,3, TARGET_VAL(ISD::STORE),
60 OPC_RecordMemRef,
61 OPC_RecordNode,
62 OPC_Scope, 67,
63 OPC_CheckChild1Integer, 0,
64 OPC_Scope, 30,
65 OPC_CheckChild1TypeI32,
66 OPC_RecordChild2,
67 OPC_CheckPredicate3,
68 OPC_CheckPredicate4,
69 OPC_Scope, 11,
70 OPC_CheckComplexPat0, /*#*/1,
71 OPC_EmitMergeInputChains1_0,
72 OPC_EmitRegisterI32, SP::G0,
73 OPC_MorphNodeTo0, TARGET_VAL(SP::STrr), 0|OPFL_Chain|OPFL_MemRefs,
74 3, 46,
75 11,
76 OPC_CheckComplexPat1, /*#*/1,
77 OPC_EmitMergeInputChains1_0,
78 OPC_EmitRegisterI32, SP::G0,
79 OPC_MorphNodeTo0, TARGET_VAL(SP::STri), 0|OPFL_Chain|OPFL_MemRefs,
80 3, 46,
81 0,
82 31,
83 OPC_CheckChild1TypeI64,
84 OPC_RecordChild2,
85 OPC_CheckPredicate3,
86 OPC_CheckPredicate4,
87 OPC_CheckPatternPredicate0,
88 OPC_Scope, 11,
89 OPC_CheckComplexPat0, /*#*/1,
90 OPC_EmitMergeInputChains1_0,
91 OPC_EmitRegisterI64, SP::G0,
92 OPC_MorphNodeTo0, TARGET_VAL(SP::STXrr), 0|OPFL_Chain|OPFL_MemRefs,
93 3, 46,
94 11,
95 OPC_CheckComplexPat1, /*#*/1,
96 OPC_EmitMergeInputChains1_0,
97 OPC_EmitRegisterI64, SP::G0,
98 OPC_MorphNodeTo0, TARGET_VAL(SP::STXri), 0|OPFL_Chain|OPFL_MemRefs,
99 3, 46,
100 0,
101 0,
102 102|128,2,
103 OPC_RecordChild1,
104 OPC_Scope, 106,
105 OPC_CheckChild1TypeI32,
106 OPC_RecordChild2,
107 OPC_CheckPredicate3,
108 OPC_Scope, 52,
109 OPC_CheckPredicate, 17,
110 OPC_Scope, 23,
111 OPC_CheckPredicate1,
112 OPC_Scope, 9,
113 OPC_CheckComplexPat0, /*#*/2,
114 OPC_EmitMergeInputChains1_0,
115 OPC_MorphNodeTo0, TARGET_VAL(SP::STBrr), 0|OPFL_Chain|OPFL_MemRefs,
116 3, 13,
117 9,
118 OPC_CheckComplexPat1, /*#*/2,
119 OPC_EmitMergeInputChains1_0,
120 OPC_MorphNodeTo0, TARGET_VAL(SP::STBri), 0|OPFL_Chain|OPFL_MemRefs,
121 3, 13,
122 0,
123 23,
124 OPC_CheckPredicate2,
125 OPC_Scope, 9,
126 OPC_CheckComplexPat0, /*#*/2,
127 OPC_EmitMergeInputChains1_0,
128 OPC_MorphNodeTo0, TARGET_VAL(SP::STHrr), 0|OPFL_Chain|OPFL_MemRefs,
129 3, 13,
130 9,
131 OPC_CheckComplexPat1, /*#*/2,
132 OPC_EmitMergeInputChains1_0,
133 OPC_MorphNodeTo0, TARGET_VAL(SP::STHri), 0|OPFL_Chain|OPFL_MemRefs,
134 3, 13,
135 0,
136 0,
137 47,
138 OPC_CheckPredicate4,
139 OPC_Scope, 9,
140 OPC_CheckComplexPat0, /*#*/2,
141 OPC_EmitMergeInputChains1_0,
142 OPC_MorphNodeTo0, TARGET_VAL(SP::STrr), 0|OPFL_Chain|OPFL_MemRefs,
143 3, 13,
144 9,
145 OPC_CheckComplexPat1, /*#*/2,
146 OPC_EmitMergeInputChains1_0,
147 OPC_MorphNodeTo0, TARGET_VAL(SP::STri), 0|OPFL_Chain|OPFL_MemRefs,
148 3, 13,
149 23,
150 OPC_CheckPatternPredicate6,
151 OPC_Scope, 9,
152 OPC_CheckComplexPat0, /*#*/2,
153 OPC_EmitMergeInputChains1_0,
154 OPC_MorphNodeTo0, TARGET_VAL(SP::STCrr), 0|OPFL_Chain|OPFL_MemRefs,
155 3, 13,
156 9,
157 OPC_CheckComplexPat1, /*#*/2,
158 OPC_EmitMergeInputChains1_0,
159 OPC_MorphNodeTo0, TARGET_VAL(SP::STCri), 0|OPFL_Chain|OPFL_MemRefs,
160 3, 13,
161 0,
162 0,
163 0,
164 51,
165 OPC_CheckChild1Type, MVT::v2i32,
166 OPC_RecordChild2,
167 OPC_CheckPredicate3,
168 OPC_CheckPredicate4,
169 OPC_Scope, 9,
170 OPC_CheckComplexPat0, /*#*/2,
171 OPC_EmitMergeInputChains1_0,
172 OPC_MorphNodeTo0, TARGET_VAL(SP::STDrr), 0|OPFL_Chain|OPFL_MemRefs,
173 3, 13,
174 9,
175 OPC_CheckComplexPat1, /*#*/2,
176 OPC_EmitMergeInputChains1_0,
177 OPC_MorphNodeTo0, TARGET_VAL(SP::STDri), 0|OPFL_Chain|OPFL_MemRefs,
178 3, 13,
179 23,
180 OPC_CheckPatternPredicate6,
181 OPC_Scope, 9,
182 OPC_CheckComplexPat0, /*#*/2,
183 OPC_EmitMergeInputChains1_0,
184 OPC_MorphNodeTo0, TARGET_VAL(SP::STDCrr), 0|OPFL_Chain|OPFL_MemRefs,
185 3, 13,
186 9,
187 OPC_CheckComplexPat1, /*#*/2,
188 OPC_EmitMergeInputChains1_0,
189 OPC_MorphNodeTo0, TARGET_VAL(SP::STDCri), 0|OPFL_Chain|OPFL_MemRefs,
190 3, 13,
191 0,
192 0,
193 27,
194 OPC_CheckChild1Type, MVT::f32,
195 OPC_RecordChild2,
196 OPC_CheckPredicate3,
197 OPC_CheckPredicate4,
198 OPC_Scope, 9,
199 OPC_CheckComplexPat0, /*#*/2,
200 OPC_EmitMergeInputChains1_0,
201 OPC_MorphNodeTo0, TARGET_VAL(SP::STFrr), 0|OPFL_Chain|OPFL_MemRefs,
202 3, 13,
203 9,
204 OPC_CheckComplexPat1, /*#*/2,
205 OPC_EmitMergeInputChains1_0,
206 OPC_MorphNodeTo0, TARGET_VAL(SP::STFri), 0|OPFL_Chain|OPFL_MemRefs,
207 3, 13,
208 0,
209 27,
210 OPC_CheckChild1Type, MVT::f64,
211 OPC_RecordChild2,
212 OPC_CheckPredicate3,
213 OPC_CheckPredicate4,
214 OPC_Scope, 9,
215 OPC_CheckComplexPat0, /*#*/2,
216 OPC_EmitMergeInputChains1_0,
217 OPC_MorphNodeTo0, TARGET_VAL(SP::STDFrr), 0|OPFL_Chain|OPFL_MemRefs,
218 3, 13,
219 9,
220 OPC_CheckComplexPat1, /*#*/2,
221 OPC_EmitMergeInputChains1_0,
222 OPC_MorphNodeTo0, TARGET_VAL(SP::STDFri), 0|OPFL_Chain|OPFL_MemRefs,
223 3, 13,
224 0,
225 28,
226 OPC_CheckChild1Type, MVT::f128,
227 OPC_RecordChild2,
228 OPC_CheckPredicate3,
229 OPC_CheckPredicate4,
230 OPC_CheckPatternPredicate1,
231 OPC_Scope, 9,
232 OPC_CheckComplexPat0, /*#*/2,
233 OPC_EmitMergeInputChains1_0,
234 OPC_MorphNodeTo0, TARGET_VAL(SP::STQFrr), 0|OPFL_Chain|OPFL_MemRefs,
235 3, 13,
236 9,
237 OPC_CheckComplexPat1, /*#*/2,
238 OPC_EmitMergeInputChains1_0,
239 OPC_MorphNodeTo0, TARGET_VAL(SP::STQFri), 0|OPFL_Chain|OPFL_MemRefs,
240 3, 13,
241 0,
242 110,
243 OPC_CheckChild1TypeI64,
244 OPC_RecordChild2,
245 OPC_CheckPredicate3,
246 OPC_Scope, 24,
247 OPC_CheckPredicate4,
248 OPC_CheckPatternPredicate1,
249 OPC_Scope, 9,
250 OPC_CheckComplexPat0, /*#*/2,
251 OPC_EmitMergeInputChains1_0,
252 OPC_MorphNodeTo0, TARGET_VAL(SP::STXrr), 0|OPFL_Chain|OPFL_MemRefs,
253 3, 13,
254 9,
255 OPC_CheckComplexPat1, /*#*/2,
256 OPC_EmitMergeInputChains1_0,
257 OPC_MorphNodeTo0, TARGET_VAL(SP::STXri), 0|OPFL_Chain|OPFL_MemRefs,
258 3, 13,
259 0,
260 79,
261 OPC_CheckPredicate, 17,
262 OPC_Scope, 24,
263 OPC_CheckPredicate1,
264 OPC_CheckPatternPredicate0,
265 OPC_Scope, 9,
266 OPC_CheckComplexPat0, /*#*/2,
267 OPC_EmitMergeInputChains1_0,
268 OPC_MorphNodeTo0, TARGET_VAL(SP::STBrr), 0|OPFL_Chain|OPFL_MemRefs,
269 3, 13,
270 9,
271 OPC_CheckComplexPat1, /*#*/2,
272 OPC_EmitMergeInputChains1_0,
273 OPC_MorphNodeTo0, TARGET_VAL(SP::STBri), 0|OPFL_Chain|OPFL_MemRefs,
274 3, 13,
275 0,
276 24,
277 OPC_CheckPredicate2,
278 OPC_CheckPatternPredicate0,
279 OPC_Scope, 9,
280 OPC_CheckComplexPat0, /*#*/2,
281 OPC_EmitMergeInputChains1_0,
282 OPC_MorphNodeTo0, TARGET_VAL(SP::STHrr), 0|OPFL_Chain|OPFL_MemRefs,
283 3, 13,
284 9,
285 OPC_CheckComplexPat1, /*#*/2,
286 OPC_EmitMergeInputChains1_0,
287 OPC_MorphNodeTo0, TARGET_VAL(SP::STHri), 0|OPFL_Chain|OPFL_MemRefs,
288 3, 13,
289 0,
290 24,
291 OPC_CheckPredicate5,
292 OPC_CheckPatternPredicate0,
293 OPC_Scope, 9,
294 OPC_CheckComplexPat0, /*#*/2,
295 OPC_EmitMergeInputChains1_0,
296 OPC_MorphNodeTo0, TARGET_VAL(SP::STrr), 0|OPFL_Chain|OPFL_MemRefs,
297 3, 13,
298 9,
299 OPC_CheckComplexPat1, /*#*/2,
300 OPC_EmitMergeInputChains1_0,
301 OPC_MorphNodeTo0, TARGET_VAL(SP::STri), 0|OPFL_Chain|OPFL_MemRefs,
302 3, 13,
303 0,
304 0,
305 0,
306 0,
307 0,
308 30, TARGET_VAL(SPISD::LOAD_GDOP),
309 OPC_RecordChild0,
310 OPC_RecordChild1,
311 OPC_MoveChild1,
312 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
313 OPC_MoveParent,
314 OPC_SwitchType , 8, MVT::i32,
315 OPC_CheckComplexPat0, /*#*/0,
316 OPC_MorphNodeTo1None, TARGET_VAL(SP::GDOP_LDrr),
317 MVT::i32, 3, 10,
318 9, MVT::i64,
319 OPC_CheckPatternPredicate1,
320 OPC_CheckComplexPat0, /*#*/0,
321 OPC_MorphNodeTo1None, TARGET_VAL(SP::GDOP_LDXrr),
322 MVT::i64, 3, 10,
323 0,
324 30, TARGET_VAL(SPISD::TLS_LD),
325 OPC_RecordChild0,
326 OPC_RecordChild1,
327 OPC_MoveChild1,
328 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
329 OPC_MoveParent,
330 OPC_SwitchType , 8, MVT::i32,
331 OPC_CheckComplexPat0, /*#*/0,
332 OPC_MorphNodeTo1None, TARGET_VAL(SP::TLS_LDrr),
333 MVT::i32, 3, 10,
334 9, MVT::i64,
335 OPC_CheckPatternPredicate1,
336 OPC_CheckComplexPat0, /*#*/0,
337 OPC_MorphNodeTo1None, TARGET_VAL(SP::TLS_LDXrr),
338 MVT::i64, 3, 10,
339 0,
340 9|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
341 OPC_Scope, 121,
342 OPC_MoveChild0,
343 OPC_SwitchOpcode , 48, TARGET_VAL(SPISD::LOAD_BIG),
344 OPC_RecordMemRef,
345 OPC_RecordNode,
346 OPC_RecordChild1,
347 OPC_MoveChild2,
348 OPC_Scope, 20,
349 OPC_CheckValueType, MVT::i16,
350 OPC_MoveParent,
351 OPC_CheckTypeI32,
352 OPC_MoveParent,
353 OPC_CheckTypeI64,
354 OPC_CheckPatternPredicate1,
355 OPC_CheckComplexPat2, /*#*/1,
356 OPC_EmitMergeInputChains1_0,
357 OPC_EmitIntegerI32, 0|128,1,
358 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHArr), 0|OPFL_Chain|OPFL_MemRefs,
359 MVT::i64, 3, 46,
360 20,
361 OPC_CheckValueType, MVT::i32,
362 OPC_MoveParent,
363 OPC_CheckTypeI32,
364 OPC_MoveParent,
365 OPC_CheckTypeI64,
366 OPC_CheckPatternPredicate1,
367 OPC_CheckComplexPat2, /*#*/1,
368 OPC_EmitMergeInputChains1_0,
369 OPC_EmitIntegerI32, 0|128,1,
370 OPC_MorphNodeTo1, TARGET_VAL(SP::LDArr), 0|OPFL_Chain|OPFL_MemRefs,
371 MVT::i64, 3, 46,
372 0,
373 48, TARGET_VAL(SPISD::LOAD_LITTLE),
374 OPC_RecordMemRef,
375 OPC_RecordNode,
376 OPC_RecordChild1,
377 OPC_MoveChild2,
378 OPC_Scope, 20,
379 OPC_CheckValueType, MVT::i16,
380 OPC_MoveParent,
381 OPC_CheckTypeI32,
382 OPC_MoveParent,
383 OPC_CheckTypeI64,
384 OPC_CheckPatternPredicate1,
385 OPC_CheckComplexPat2, /*#*/1,
386 OPC_EmitMergeInputChains1_0,
387 OPC_EmitIntegerI32, 8|128,1,
388 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHArr), 0|OPFL_Chain|OPFL_MemRefs,
389 MVT::i64, 3, 46,
390 20,
391 OPC_CheckValueType, MVT::i32,
392 OPC_MoveParent,
393 OPC_CheckTypeI32,
394 OPC_MoveParent,
395 OPC_CheckTypeI64,
396 OPC_CheckPatternPredicate1,
397 OPC_CheckComplexPat2, /*#*/1,
398 OPC_EmitMergeInputChains1_0,
399 OPC_EmitIntegerI32, 8|128,1,
400 OPC_MorphNodeTo1, TARGET_VAL(SP::LDArr), 0|OPFL_Chain|OPFL_MemRefs,
401 MVT::i64, 3, 46,
402 0,
403 13, TARGET_VAL(ISD::BITCAST),
404 OPC_RecordChild0,
405 OPC_CheckChild0Type, MVT::f32,
406 OPC_CheckTypeI32,
407 OPC_MoveParent,
408 OPC_CheckTypeI64,
409 OPC_CheckPatternPredicate2,
410 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVSTOUW),
411 MVT::i64, 1, 1,
412 0,
413 12,
414 OPC_RecordChild0,
415 OPC_CheckChild0TypeI32,
416 OPC_CheckTypeI64,
417 OPC_CheckPatternPredicate0,
418 OPC_EmitIntegerI32, 0,
419 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLri),
420 MVT::i64, 2, 6,
421 0,
422 9|128,1, TARGET_VAL(ISD::ANY_EXTEND),
423 OPC_Scope, 121,
424 OPC_MoveChild0,
425 OPC_SwitchOpcode , 48, TARGET_VAL(SPISD::LOAD_BIG),
426 OPC_RecordMemRef,
427 OPC_RecordNode,
428 OPC_RecordChild1,
429 OPC_MoveChild2,
430 OPC_Scope, 20,
431 OPC_CheckValueType, MVT::i16,
432 OPC_MoveParent,
433 OPC_CheckTypeI32,
434 OPC_MoveParent,
435 OPC_CheckTypeI64,
436 OPC_CheckPatternPredicate1,
437 OPC_CheckComplexPat2, /*#*/1,
438 OPC_EmitMergeInputChains1_0,
439 OPC_EmitIntegerI32, 0|128,1,
440 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHArr), 0|OPFL_Chain|OPFL_MemRefs,
441 MVT::i64, 3, 46,
442 20,
443 OPC_CheckValueType, MVT::i32,
444 OPC_MoveParent,
445 OPC_CheckTypeI32,
446 OPC_MoveParent,
447 OPC_CheckTypeI64,
448 OPC_CheckPatternPredicate1,
449 OPC_CheckComplexPat2, /*#*/1,
450 OPC_EmitMergeInputChains1_0,
451 OPC_EmitIntegerI32, 0|128,1,
452 OPC_MorphNodeTo1, TARGET_VAL(SP::LDArr), 0|OPFL_Chain|OPFL_MemRefs,
453 MVT::i64, 3, 46,
454 0,
455 48, TARGET_VAL(SPISD::LOAD_LITTLE),
456 OPC_RecordMemRef,
457 OPC_RecordNode,
458 OPC_RecordChild1,
459 OPC_MoveChild2,
460 OPC_Scope, 20,
461 OPC_CheckValueType, MVT::i16,
462 OPC_MoveParent,
463 OPC_CheckTypeI32,
464 OPC_MoveParent,
465 OPC_CheckTypeI64,
466 OPC_CheckPatternPredicate1,
467 OPC_CheckComplexPat2, /*#*/1,
468 OPC_EmitMergeInputChains1_0,
469 OPC_EmitIntegerI32, 8|128,1,
470 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHArr), 0|OPFL_Chain|OPFL_MemRefs,
471 MVT::i64, 3, 46,
472 20,
473 OPC_CheckValueType, MVT::i32,
474 OPC_MoveParent,
475 OPC_CheckTypeI32,
476 OPC_MoveParent,
477 OPC_CheckTypeI64,
478 OPC_CheckPatternPredicate1,
479 OPC_CheckComplexPat2, /*#*/1,
480 OPC_EmitMergeInputChains1_0,
481 OPC_EmitIntegerI32, 8|128,1,
482 OPC_MorphNodeTo1, TARGET_VAL(SP::LDArr), 0|OPFL_Chain|OPFL_MemRefs,
483 MVT::i64, 3, 46,
484 0,
485 13, TARGET_VAL(ISD::BITCAST),
486 OPC_RecordChild0,
487 OPC_CheckChild0Type, MVT::f32,
488 OPC_CheckTypeI32,
489 OPC_MoveParent,
490 OPC_CheckTypeI64,
491 OPC_CheckPatternPredicate2,
492 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVSTOUW),
493 MVT::i64, 1, 1,
494 0,
495 12,
496 OPC_RecordChild0,
497 OPC_CheckChild0TypeI32,
498 OPC_CheckTypeI64,
499 OPC_CheckPatternPredicate0,
500 OPC_EmitIntegerI32, SP::I64RegsRegClassID,
501 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
502 MVT::i64, 2, 6,
503 0,
504 11|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
505 OPC_Scope, 123,
506 OPC_MoveChild0,
507 OPC_SwitchOpcode , 49, TARGET_VAL(SPISD::LOAD_BIG),
508 OPC_RecordMemRef,
509 OPC_RecordNode,
510 OPC_RecordChild1,
511 OPC_MoveChild2,
512 OPC_Scope, 20,
513 OPC_CheckValueType, MVT::i16,
514 OPC_MoveParent,
515 OPC_CheckTypeI32,
516 OPC_MoveParent,
517 OPC_CheckTypeI64,
518 OPC_CheckPatternPredicate1,
519 OPC_CheckComplexPat2, /*#*/1,
520 OPC_EmitMergeInputChains1_0,
521 OPC_EmitIntegerI32, 0|128,1,
522 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHArr), 0|OPFL_Chain|OPFL_MemRefs,
523 MVT::i64, 3, 46,
524 21,
525 OPC_CheckValueType, MVT::i32,
526 OPC_MoveParent,
527 OPC_CheckTypeI32,
528 OPC_MoveParent,
529 OPC_CheckTypeI64,
530 OPC_CheckPatternPredicate, 8,
531 OPC_CheckComplexPat2, /*#*/1,
532 OPC_EmitMergeInputChains1_0,
533 OPC_EmitIntegerI32, 0|128,1,
534 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSWArr), 0|OPFL_Chain|OPFL_MemRefs,
535 MVT::i64, 3, 46,
536 0,
537 49, TARGET_VAL(SPISD::LOAD_LITTLE),
538 OPC_RecordMemRef,
539 OPC_RecordNode,
540 OPC_RecordChild1,
541 OPC_MoveChild2,
542 OPC_Scope, 20,
543 OPC_CheckValueType, MVT::i16,
544 OPC_MoveParent,
545 OPC_CheckTypeI32,
546 OPC_MoveParent,
547 OPC_CheckTypeI64,
548 OPC_CheckPatternPredicate1,
549 OPC_CheckComplexPat2, /*#*/1,
550 OPC_EmitMergeInputChains1_0,
551 OPC_EmitIntegerI32, 8|128,1,
552 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHArr), 0|OPFL_Chain|OPFL_MemRefs,
553 MVT::i64, 3, 46,
554 21,
555 OPC_CheckValueType, MVT::i32,
556 OPC_MoveParent,
557 OPC_CheckTypeI32,
558 OPC_MoveParent,
559 OPC_CheckTypeI64,
560 OPC_CheckPatternPredicate, 8,
561 OPC_CheckComplexPat2, /*#*/1,
562 OPC_EmitMergeInputChains1_0,
563 OPC_EmitIntegerI32, 8|128,1,
564 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSWArr), 0|OPFL_Chain|OPFL_MemRefs,
565 MVT::i64, 3, 46,
566 0,
567 13, TARGET_VAL(ISD::BITCAST),
568 OPC_RecordChild0,
569 OPC_CheckChild0Type, MVT::f32,
570 OPC_CheckTypeI32,
571 OPC_MoveParent,
572 OPC_CheckTypeI64,
573 OPC_CheckPatternPredicate2,
574 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVSTOSW),
575 MVT::i64, 1, 1,
576 0,
577 12,
578 OPC_RecordChild0,
579 OPC_CheckChild0TypeI32,
580 OPC_CheckTypeI64,
581 OPC_CheckPatternPredicate0,
582 OPC_EmitIntegerI32, 0,
583 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAri),
584 MVT::i64, 2, 6,
585 0,
586 76|128,2, TARGET_VAL(ISD::ADD),
587 OPC_Scope, 107,
588 OPC_MoveChild0,
589 OPC_SwitchOpcode , 49, TARGET_VAL(SPISD::Hi),
590 OPC_RecordChild0,
591 OPC_MoveChild0,
592 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
593 OPC_MoveParent,
594 OPC_MoveSibling1,
595 OPC_CheckOpcode, TARGET_VAL(SPISD::Lo),
596 OPC_RecordChild0,
597 OPC_MoveChild0,
598 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
599 OPC_MoveParent,
600 OPC_MoveParent,
601 OPC_Scope, 14,
602 OPC_CheckPatternPredicate3,
603 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
604 MVT::i32, 1, 1,
605 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
606 15|128,2, 2, 8,
607 14,
608 OPC_CheckPatternPredicate0,
609 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
610 MVT::i32, 1, 1,
611 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
612 15|128,2, 2, 8,
613 0,
614 49, TARGET_VAL(SPISD::Lo),
615 OPC_RecordChild0,
616 OPC_MoveChild0,
617 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
618 OPC_MoveParent,
619 OPC_MoveSibling1,
620 OPC_CheckOpcode, TARGET_VAL(SPISD::Hi),
621 OPC_RecordChild0,
622 OPC_MoveChild0,
623 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
624 OPC_MoveParent,
625 OPC_MoveParent,
626 OPC_Scope, 14,
627 OPC_CheckPatternPredicate3,
628 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
629 MVT::i32, 1, 7,
630 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
631 15|128,2, 2, 2,
632 14,
633 OPC_CheckPatternPredicate0,
634 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
635 MVT::i32, 1, 7,
636 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
637 15|128,2, 2, 2,
638 0,
639 0,
640 84,
641 OPC_RecordChild0,
642 OPC_MoveChild1,
643 OPC_CheckOpcode, TARGET_VAL(SPISD::Lo),
644 OPC_RecordChild0,
645 OPC_MoveChild0,
646 OPC_SwitchOpcode , 22, TARGET_VAL(ISD::TargetGlobalAddress),
647 OPC_MoveParent,
648 OPC_MoveParent,
649 OPC_Scope, 8,
650 OPC_CheckPatternPredicate3,
651 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
652 15|128,2, 2, 6,
653 8,
654 OPC_CheckPatternPredicate0,
655 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
656 15|128,2, 2, 6,
657 0,
658 22, TARGET_VAL(ISD::TargetConstantPool),
659 OPC_MoveParent,
660 OPC_MoveParent,
661 OPC_Scope, 8,
662 OPC_CheckPatternPredicate3,
663 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
664 15|128,2, 2, 6,
665 8,
666 OPC_CheckPatternPredicate0,
667 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
668 15|128,2, 2, 6,
669 0,
670 22, TARGET_VAL(ISD::TargetBlockAddress),
671 OPC_MoveParent,
672 OPC_MoveParent,
673 OPC_Scope, 8,
674 OPC_CheckPatternPredicate3,
675 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
676 15|128,2, 2, 6,
677 8,
678 OPC_CheckPatternPredicate0,
679 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
680 15|128,2, 2, 6,
681 0,
682 0,
683 86,
684 OPC_MoveChild0,
685 OPC_CheckOpcode, TARGET_VAL(SPISD::Lo),
686 OPC_RecordChild0,
687 OPC_MoveChild0,
688 OPC_SwitchOpcode , 23, TARGET_VAL(ISD::TargetGlobalAddress),
689 OPC_MoveParent,
690 OPC_MoveParent,
691 OPC_RecordChild1,
692 OPC_Scope, 8,
693 OPC_CheckPatternPredicate3,
694 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
695 15|128,2, 2, 0,
696 8,
697 OPC_CheckPatternPredicate0,
698 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
699 15|128,2, 2, 0,
700 0,
701 23, TARGET_VAL(ISD::TargetConstantPool),
702 OPC_MoveParent,
703 OPC_MoveParent,
704 OPC_RecordChild1,
705 OPC_Scope, 8,
706 OPC_CheckPatternPredicate3,
707 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
708 15|128,2, 2, 0,
709 8,
710 OPC_CheckPatternPredicate0,
711 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
712 15|128,2, 2, 0,
713 0,
714 23, TARGET_VAL(ISD::TargetBlockAddress),
715 OPC_MoveParent,
716 OPC_MoveParent,
717 OPC_RecordChild1,
718 OPC_Scope, 8,
719 OPC_CheckPatternPredicate3,
720 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
721 15|128,2, 2, 0,
722 8,
723 OPC_CheckPatternPredicate0,
724 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
725 15|128,2, 2, 0,
726 0,
727 0,
728 49,
729 OPC_RecordChild0,
730 OPC_RecordChild1,
731 OPC_Scope, 27,
732 OPC_MoveChild1,
733 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
734 OPC_CheckPredicate0,
735 OPC_MoveParent,
736 OPC_SwitchType , 7, MVT::i32,
737 OPC_EmitConvertToTarget1,
738 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
739 MVT::i32, 2, 16,
740 8, MVT::i64,
741 OPC_CheckPatternPredicate0,
742 OPC_EmitConvertToTarget1,
743 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
744 MVT::i64, 2, 16,
745 0,
746 7,
747 OPC_CheckTypeI32,
748 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDrr),
749 MVT::i32, 2, 6,
750 8,
751 OPC_CheckTypeI64,
752 OPC_CheckPatternPredicate0,
753 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDrr),
754 MVT::i64, 2, 6,
755 0,
756 0,
757 2|128,2, TARGET_VAL(ISD::XOR),
758 OPC_Scope, 21|128,1,
759 OPC_MoveChild0,
760 OPC_SwitchOpcode , 49, TARGET_VAL(SPISD::Hi),
761 OPC_RecordChild0,
762 OPC_MoveChild0,
763 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
764 OPC_MoveParent,
765 OPC_MoveSibling1,
766 OPC_CheckOpcode, TARGET_VAL(SPISD::Lo),
767 OPC_RecordChild0,
768 OPC_MoveChild0,
769 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
770 OPC_MoveParent,
771 OPC_MoveParent,
772 OPC_Scope, 14,
773 OPC_CheckPatternPredicate3,
774 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
775 MVT::i32, 1, 1,
776 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
777 15|128,2, 2, 8,
778 14,
779 OPC_CheckPatternPredicate0,
780 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
781 MVT::i32, 1, 1,
782 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
783 15|128,2, 2, 8,
784 0,
785 49, TARGET_VAL(SPISD::Lo),
786 OPC_RecordChild0,
787 OPC_MoveChild0,
788 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
789 OPC_MoveParent,
790 OPC_MoveSibling1,
791 OPC_CheckOpcode, TARGET_VAL(SPISD::Hi),
792 OPC_RecordChild0,
793 OPC_MoveChild0,
794 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
795 OPC_MoveParent,
796 OPC_MoveParent,
797 OPC_Scope, 14,
798 OPC_CheckPatternPredicate3,
799 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
800 MVT::i32, 1, 7,
801 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
802 15|128,2, 2, 2,
803 14,
804 OPC_CheckPatternPredicate0,
805 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
806 MVT::i32, 1, 7,
807 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
808 15|128,2, 2, 2,
809 0,
810 39, TARGET_VAL(ISD::XOR),
811 OPC_RecordChild0,
812 OPC_Scope, 23,
813 OPC_RecordChild1,
814 OPC_MoveParent,
815 OPC_CheckChild1Integer, 127,
816 OPC_SwitchType , 6, MVT::i32,
817 OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
818 MVT::i32, 2, 6,
819 7, MVT::i64,
820 OPC_CheckPatternPredicate0,
821 OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
822 MVT::i64, 2, 6,
823 0,
824 11,
825 OPC_CheckChild1Integer, 127,
826 OPC_MoveParent,
827 OPC_RecordChild1,
828 OPC_CheckTypeI32,
829 OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
830 MVT::i32, 2, 6,
831 0,
832 0,
833 16,
834 OPC_RecordChild0,
835 OPC_MoveChild1,
836 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
837 OPC_RecordChild0,
838 OPC_CheckChild1Integer, 127,
839 OPC_MoveParent,
840 OPC_CheckTypeI32,
841 OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
842 MVT::i32, 2, 0,
843 17,
844 OPC_MoveChild0,
845 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
846 OPC_RecordChild0,
847 OPC_CheckChild1Integer, 127,
848 OPC_MoveParent,
849 OPC_RecordChild1,
850 OPC_CheckTypeI64,
851 OPC_CheckPatternPredicate0,
852 OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
853 MVT::i64, 2, 6,
854 69,
855 OPC_RecordChild0,
856 OPC_Scope, 16,
857 OPC_MoveChild1,
858 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
859 OPC_RecordChild0,
860 OPC_CheckChild1Integer, 127,
861 OPC_MoveParent,
862 OPC_CheckTypeI64,
863 OPC_CheckPatternPredicate0,
864 OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
865 MVT::i64, 2, 0,
866 48,
867 OPC_RecordChild1,
868 OPC_Scope, 27,
869 OPC_MoveChild1,
870 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
871 OPC_CheckPredicate0,
872 OPC_MoveParent,
873 OPC_SwitchType , 7, MVT::i32,
874 OPC_EmitConvertToTarget1,
875 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
876 MVT::i32, 2, 16,
877 8, MVT::i64,
878 OPC_CheckPatternPredicate0,
879 OPC_EmitConvertToTarget1,
880 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
881 MVT::i64, 2, 16,
882 0,
883 7,
884 OPC_CheckTypeI32,
885 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORrr),
886 MVT::i32, 2, 6,
887 8,
888 OPC_CheckTypeI64,
889 OPC_CheckPatternPredicate0,
890 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORrr),
891 MVT::i64, 2, 6,
892 0,
893 0,
894 0,
895 11|128,6, TARGET_VAL(ISD::LOAD),
896 OPC_RecordMemRef,
897 OPC_RecordNode,
898 OPC_RecordChild1,
899 OPC_CheckPredicate, 20,
900 OPC_Scope, 57,
901 OPC_CheckPredicate, 9,
902 OPC_CheckTypeI32,
903 OPC_Scope, 25,
904 OPC_CheckPredicate1,
905 OPC_Scope, 10,
906 OPC_CheckComplexPat0, /*#*/1,
907 OPC_EmitMergeInputChains1_0,
908 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSBrr), 0|OPFL_Chain|OPFL_MemRefs,
909 MVT::i32, 2, 31,
910 10,
911 OPC_CheckComplexPat1, /*#*/1,
912 OPC_EmitMergeInputChains1_0,
913 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSBri), 0|OPFL_Chain|OPFL_MemRefs,
914 MVT::i32, 2, 31,
915 0,
916 25,
917 OPC_CheckPredicate2,
918 OPC_Scope, 10,
919 OPC_CheckComplexPat0, /*#*/1,
920 OPC_EmitMergeInputChains1_0,
921 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHrr), 0|OPFL_Chain|OPFL_MemRefs,
922 MVT::i32, 2, 31,
923 10,
924 OPC_CheckComplexPat1, /*#*/1,
925 OPC_EmitMergeInputChains1_0,
926 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHri), 0|OPFL_Chain|OPFL_MemRefs,
927 MVT::i32, 2, 31,
928 0,
929 0,
930 56,
931 OPC_CheckPredicate6,
932 OPC_CheckTypeI32,
933 OPC_Scope, 25,
934 OPC_CheckPredicate1,
935 OPC_Scope, 10,
936 OPC_CheckComplexPat0, /*#*/1,
937 OPC_EmitMergeInputChains1_0,
938 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
939 MVT::i32, 2, 31,
940 10,
941 OPC_CheckComplexPat1, /*#*/1,
942 OPC_EmitMergeInputChains1_0,
943 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
944 MVT::i32, 2, 31,
945 0,
946 25,
947 OPC_CheckPredicate2,
948 OPC_Scope, 10,
949 OPC_CheckComplexPat0, /*#*/1,
950 OPC_EmitMergeInputChains1_0,
951 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
952 MVT::i32, 2, 31,
953 10,
954 OPC_CheckComplexPat1, /*#*/1,
955 OPC_EmitMergeInputChains1_0,
956 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
957 MVT::i32, 2, 31,
958 0,
959 0,
960 53,
961 OPC_CheckPredicate, 14,
962 OPC_CheckTypeI32,
963 OPC_Scope, 10,
964 OPC_CheckComplexPat0, /*#*/1,
965 OPC_EmitMergeInputChains1_0,
966 OPC_MorphNodeTo1, TARGET_VAL(SP::LDrr), 0|OPFL_Chain|OPFL_MemRefs,
967 MVT::i32, 2, 31,
968 10,
969 OPC_CheckComplexPat1, /*#*/1,
970 OPC_EmitMergeInputChains1_0,
971 OPC_MorphNodeTo1, TARGET_VAL(SP::LDri), 0|OPFL_Chain|OPFL_MemRefs,
972 MVT::i32, 2, 31,
973 25,
974 OPC_CheckPatternPredicate6,
975 OPC_Scope, 10,
976 OPC_CheckComplexPat0, /*#*/1,
977 OPC_EmitMergeInputChains1_0,
978 OPC_MorphNodeTo1, TARGET_VAL(SP::LDCrr), 0|OPFL_Chain|OPFL_MemRefs,
979 MVT::i32, 2, 31,
980 10,
981 OPC_CheckComplexPat1, /*#*/1,
982 OPC_EmitMergeInputChains1_0,
983 OPC_MorphNodeTo1, TARGET_VAL(SP::LDCri), 0|OPFL_Chain|OPFL_MemRefs,
984 MVT::i32, 2, 31,
985 0,
986 0,
987 83,
988 OPC_CheckPredicate7,
989 OPC_CheckTypeI32,
990 OPC_Scope, 26,
991 OPC_CheckPredicate, 10,
992 OPC_Scope, 10,
993 OPC_CheckComplexPat0, /*#*/1,
994 OPC_EmitMergeInputChains1_0,
995 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
996 MVT::i32, 2, 31,
997 10,
998 OPC_CheckComplexPat1, /*#*/1,
999 OPC_EmitMergeInputChains1_0,
1000 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1001 MVT::i32, 2, 31,
1002 0,
1003 25,
1004 OPC_CheckPredicate1,
1005 OPC_Scope, 10,
1006 OPC_CheckComplexPat0, /*#*/1,
1007 OPC_EmitMergeInputChains1_0,
1008 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1009 MVT::i32, 2, 31,
1010 10,
1011 OPC_CheckComplexPat1, /*#*/1,
1012 OPC_EmitMergeInputChains1_0,
1013 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1014 MVT::i32, 2, 31,
1015 0,
1016 25,
1017 OPC_CheckPredicate2,
1018 OPC_Scope, 10,
1019 OPC_CheckComplexPat0, /*#*/1,
1020 OPC_EmitMergeInputChains1_0,
1021 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
1022 MVT::i32, 2, 31,
1023 10,
1024 OPC_CheckComplexPat1, /*#*/1,
1025 OPC_EmitMergeInputChains1_0,
1026 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
1027 MVT::i32, 2, 31,
1028 0,
1029 0,
1030 28,
1031 OPC_CheckPredicate6,
1032 OPC_CheckPredicate, 10,
1033 OPC_CheckTypeI32,
1034 OPC_Scope, 10,
1035 OPC_CheckComplexPat0, /*#*/1,
1036 OPC_EmitMergeInputChains1_0,
1037 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1038 MVT::i32, 2, 31,
1039 10,
1040 OPC_CheckComplexPat1, /*#*/1,
1041 OPC_EmitMergeInputChains1_0,
1042 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1043 MVT::i32, 2, 31,
1044 0,
1045 28,
1046 OPC_CheckPredicate, 14,
1047 OPC_CheckTypeI64,
1048 OPC_CheckPatternPredicate1,
1049 OPC_Scope, 10,
1050 OPC_CheckComplexPat0, /*#*/1,
1051 OPC_EmitMergeInputChains1_0,
1052 OPC_MorphNodeTo1, TARGET_VAL(SP::LDXrr), 0|OPFL_Chain|OPFL_MemRefs,
1053 MVT::i64, 2, 31,
1054 10,
1055 OPC_CheckComplexPat1, /*#*/1,
1056 OPC_EmitMergeInputChains1_0,
1057 OPC_MorphNodeTo1, TARGET_VAL(SP::LDXri), 0|OPFL_Chain|OPFL_MemRefs,
1058 MVT::i64, 2, 31,
1059 0,
1060 29,
1061 OPC_CheckPredicate, 9,
1062 OPC_CheckPredicate5,
1063 OPC_CheckTypeI64,
1064 OPC_CheckPatternPredicate1,
1065 OPC_Scope, 10,
1066 OPC_CheckComplexPat0, /*#*/1,
1067 OPC_EmitMergeInputChains1_0,
1068 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSWrr), 0|OPFL_Chain|OPFL_MemRefs,
1069 MVT::i64, 2, 31,
1070 10,
1071 OPC_CheckComplexPat1, /*#*/1,
1072 OPC_EmitMergeInputChains1_0,
1073 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSWri), 0|OPFL_Chain|OPFL_MemRefs,
1074 MVT::i64, 2, 31,
1075 0,
1076 29,
1077 OPC_CheckPredicate6,
1078 OPC_CheckPredicate, 10,
1079 OPC_CheckTypeI64,
1080 OPC_CheckPatternPredicate0,
1081 OPC_Scope, 10,
1082 OPC_CheckComplexPat0, /*#*/1,
1083 OPC_EmitMergeInputChains1_0,
1084 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1085 MVT::i64, 2, 31,
1086 10,
1087 OPC_CheckComplexPat1, /*#*/1,
1088 OPC_EmitMergeInputChains1_0,
1089 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1090 MVT::i64, 2, 31,
1091 0,
1092 29,
1093 OPC_CheckPredicate7,
1094 OPC_CheckPredicate, 10,
1095 OPC_CheckTypeI64,
1096 OPC_CheckPatternPredicate0,
1097 OPC_Scope, 10,
1098 OPC_CheckComplexPat0, /*#*/1,
1099 OPC_EmitMergeInputChains1_0,
1100 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1101 MVT::i64, 2, 31,
1102 10,
1103 OPC_CheckComplexPat1, /*#*/1,
1104 OPC_EmitMergeInputChains1_0,
1105 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1106 MVT::i64, 2, 31,
1107 0,
1108 28,
1109 OPC_CheckPredicate6,
1110 OPC_CheckPredicate1,
1111 OPC_CheckTypeI64,
1112 OPC_CheckPatternPredicate0,
1113 OPC_Scope, 10,
1114 OPC_CheckComplexPat0, /*#*/1,
1115 OPC_EmitMergeInputChains1_0,
1116 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1117 MVT::i64, 2, 31,
1118 10,
1119 OPC_CheckComplexPat1, /*#*/1,
1120 OPC_EmitMergeInputChains1_0,
1121 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1122 MVT::i64, 2, 31,
1123 0,
1124 28,
1125 OPC_CheckPredicate7,
1126 OPC_CheckPredicate1,
1127 OPC_CheckTypeI64,
1128 OPC_CheckPatternPredicate0,
1129 OPC_Scope, 10,
1130 OPC_CheckComplexPat0, /*#*/1,
1131 OPC_EmitMergeInputChains1_0,
1132 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1133 MVT::i64, 2, 31,
1134 10,
1135 OPC_CheckComplexPat1, /*#*/1,
1136 OPC_EmitMergeInputChains1_0,
1137 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1138 MVT::i64, 2, 31,
1139 0,
1140 29,
1141 OPC_CheckPredicate, 9,
1142 OPC_CheckPredicate1,
1143 OPC_CheckTypeI64,
1144 OPC_CheckPatternPredicate0,
1145 OPC_Scope, 10,
1146 OPC_CheckComplexPat0, /*#*/1,
1147 OPC_EmitMergeInputChains1_0,
1148 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSBrr), 0|OPFL_Chain|OPFL_MemRefs,
1149 MVT::i64, 2, 31,
1150 10,
1151 OPC_CheckComplexPat1, /*#*/1,
1152 OPC_EmitMergeInputChains1_0,
1153 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSBri), 0|OPFL_Chain|OPFL_MemRefs,
1154 MVT::i64, 2, 31,
1155 0,
1156 28,
1157 OPC_CheckPredicate6,
1158 OPC_CheckPredicate2,
1159 OPC_CheckTypeI64,
1160 OPC_CheckPatternPredicate0,
1161 OPC_Scope, 10,
1162 OPC_CheckComplexPat0, /*#*/1,
1163 OPC_EmitMergeInputChains1_0,
1164 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
1165 MVT::i64, 2, 31,
1166 10,
1167 OPC_CheckComplexPat1, /*#*/1,
1168 OPC_EmitMergeInputChains1_0,
1169 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
1170 MVT::i64, 2, 31,
1171 0,
1172 28,
1173 OPC_CheckPredicate7,
1174 OPC_CheckPredicate2,
1175 OPC_CheckTypeI64,
1176 OPC_CheckPatternPredicate0,
1177 OPC_Scope, 10,
1178 OPC_CheckComplexPat0, /*#*/1,
1179 OPC_EmitMergeInputChains1_0,
1180 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
1181 MVT::i64, 2, 31,
1182 10,
1183 OPC_CheckComplexPat1, /*#*/1,
1184 OPC_EmitMergeInputChains1_0,
1185 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
1186 MVT::i64, 2, 31,
1187 0,
1188 29,
1189 OPC_CheckPredicate, 9,
1190 OPC_CheckPredicate2,
1191 OPC_CheckTypeI64,
1192 OPC_CheckPatternPredicate0,
1193 OPC_Scope, 10,
1194 OPC_CheckComplexPat0, /*#*/1,
1195 OPC_EmitMergeInputChains1_0,
1196 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHrr), 0|OPFL_Chain|OPFL_MemRefs,
1197 MVT::i64, 2, 31,
1198 10,
1199 OPC_CheckComplexPat1, /*#*/1,
1200 OPC_EmitMergeInputChains1_0,
1201 OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHri), 0|OPFL_Chain|OPFL_MemRefs,
1202 MVT::i64, 2, 31,
1203 0,
1204 28,
1205 OPC_CheckPredicate6,
1206 OPC_CheckPredicate5,
1207 OPC_CheckTypeI64,
1208 OPC_CheckPatternPredicate0,
1209 OPC_Scope, 10,
1210 OPC_CheckComplexPat0, /*#*/1,
1211 OPC_EmitMergeInputChains1_0,
1212 OPC_MorphNodeTo1, TARGET_VAL(SP::LDrr), 0|OPFL_Chain|OPFL_MemRefs,
1213 MVT::i64, 2, 31,
1214 10,
1215 OPC_CheckComplexPat1, /*#*/1,
1216 OPC_EmitMergeInputChains1_0,
1217 OPC_MorphNodeTo1, TARGET_VAL(SP::LDri), 0|OPFL_Chain|OPFL_MemRefs,
1218 MVT::i64, 2, 31,
1219 0,
1220 28,
1221 OPC_CheckPredicate7,
1222 OPC_CheckPredicate5,
1223 OPC_CheckTypeI64,
1224 OPC_CheckPatternPredicate0,
1225 OPC_Scope, 10,
1226 OPC_CheckComplexPat0, /*#*/1,
1227 OPC_EmitMergeInputChains1_0,
1228 OPC_MorphNodeTo1, TARGET_VAL(SP::LDrr), 0|OPFL_Chain|OPFL_MemRefs,
1229 MVT::i64, 2, 31,
1230 10,
1231 OPC_CheckComplexPat1, /*#*/1,
1232 OPC_EmitMergeInputChains1_0,
1233 OPC_MorphNodeTo1, TARGET_VAL(SP::LDri), 0|OPFL_Chain|OPFL_MemRefs,
1234 MVT::i64, 2, 31,
1235 0,
1236 7|128,1,
1237 OPC_CheckPredicate, 14,
1238 OPC_SwitchType , 24, MVT::f32,
1239 OPC_Scope, 10,
1240 OPC_CheckComplexPat0, /*#*/1,
1241 OPC_EmitMergeInputChains1_0,
1242 OPC_MorphNodeTo1, TARGET_VAL(SP::LDFrr), 0|OPFL_Chain|OPFL_MemRefs,
1243 MVT::f32, 2, 31,
1244 10,
1245 OPC_CheckComplexPat1, /*#*/1,
1246 OPC_EmitMergeInputChains1_0,
1247 OPC_MorphNodeTo1, TARGET_VAL(SP::LDFri), 0|OPFL_Chain|OPFL_MemRefs,
1248 MVT::f32, 2, 31,
1249 0,
1250 24, MVT::f64,
1251 OPC_Scope, 10,
1252 OPC_CheckComplexPat0, /*#*/1,
1253 OPC_EmitMergeInputChains1_0,
1254 OPC_MorphNodeTo1, TARGET_VAL(SP::LDDFrr), 0|OPFL_Chain|OPFL_MemRefs,
1255 MVT::f64, 2, 31,
1256 10,
1257 OPC_CheckComplexPat1, /*#*/1,
1258 OPC_EmitMergeInputChains1_0,
1259 OPC_MorphNodeTo1, TARGET_VAL(SP::LDDFri), 0|OPFL_Chain|OPFL_MemRefs,
1260 MVT::f64, 2, 31,
1261 0,
1262 25, MVT::f128,
1263 OPC_CheckPatternPredicate1,
1264 OPC_Scope, 10,
1265 OPC_CheckComplexPat0, /*#*/1,
1266 OPC_EmitMergeInputChains1_0,
1267 OPC_MorphNodeTo1, TARGET_VAL(SP::LDQFrr), 0|OPFL_Chain|OPFL_MemRefs,
1268 MVT::f128, 2, 31,
1269 10,
1270 OPC_CheckComplexPat1, /*#*/1,
1271 OPC_EmitMergeInputChains1_0,
1272 OPC_MorphNodeTo1, TARGET_VAL(SP::LDQFri), 0|OPFL_Chain|OPFL_MemRefs,
1273 MVT::f128, 2, 31,
1274 0,
1275 50, MVT::v2i32,
1276 OPC_Scope, 10,
1277 OPC_CheckComplexPat0, /*#*/1,
1278 OPC_EmitMergeInputChains1_0,
1279 OPC_MorphNodeTo1, TARGET_VAL(SP::LDDrr), 0|OPFL_Chain|OPFL_MemRefs,
1280 MVT::v2i32, 2, 31,
1281 10,
1282 OPC_CheckComplexPat1, /*#*/1,
1283 OPC_EmitMergeInputChains1_0,
1284 OPC_MorphNodeTo1, TARGET_VAL(SP::LDDri), 0|OPFL_Chain|OPFL_MemRefs,
1285 MVT::v2i32, 2, 31,
1286 25,
1287 OPC_CheckPatternPredicate6,
1288 OPC_Scope, 10,
1289 OPC_CheckComplexPat0, /*#*/1,
1290 OPC_EmitMergeInputChains1_0,
1291 OPC_MorphNodeTo1, TARGET_VAL(SP::LDDCrr), 0|OPFL_Chain|OPFL_MemRefs,
1292 MVT::v2i32, 2, 31,
1293 10,
1294 OPC_CheckComplexPat1, /*#*/1,
1295 OPC_EmitMergeInputChains1_0,
1296 OPC_MorphNodeTo1, TARGET_VAL(SP::LDDCri), 0|OPFL_Chain|OPFL_MemRefs,
1297 MVT::v2i32, 2, 31,
1298 0,
1299 0,
1300 0,
1301 0,
1302 30, TARGET_VAL(ISD::ATOMIC_SWAP),
1303 OPC_RecordMemRef,
1304 OPC_RecordNode,
1305 OPC_RecordChild1,
1306 OPC_RecordChild2,
1307 OPC_CheckPredicate5,
1308 OPC_CheckTypeI32,
1309 OPC_Scope, 10,
1310 OPC_CheckComplexPat0, /*#*/1,
1311 OPC_EmitMergeInputChains1_0,
1312 OPC_MorphNodeTo1, TARGET_VAL(SP::SWAPrr), 0|OPFL_Chain|OPFL_MemRefs,
1313 MVT::i32, 3, 21,
1314 10,
1315 OPC_CheckComplexPat1, /*#*/1,
1316 OPC_EmitMergeInputChains1_0,
1317 OPC_MorphNodeTo1, TARGET_VAL(SP::SWAPri), 0|OPFL_Chain|OPFL_MemRefs,
1318 MVT::i32, 3, 21,
1319 0,
1320 58|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
1321 OPC_RecordMemRef,
1322 OPC_RecordNode,
1323 OPC_RecordChild1,
1324 OPC_Scope, 14,
1325 OPC_CheckPredicate, 11,
1326 OPC_CheckPredicate1,
1327 OPC_CheckTypeI32,
1328 OPC_CheckComplexPat0, /*#*/1,
1329 OPC_EmitMergeInputChains1_0,
1330 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1331 MVT::i32, 2, 31,
1332 14,
1333 OPC_CheckPredicate, 12,
1334 OPC_CheckPredicate1,
1335 OPC_CheckTypeI32,
1336 OPC_CheckComplexPat0, /*#*/1,
1337 OPC_EmitMergeInputChains1_0,
1338 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1339 MVT::i32, 2, 31,
1340 14,
1341 OPC_CheckPredicate, 11,
1342 OPC_CheckPredicate1,
1343 OPC_CheckTypeI32,
1344 OPC_CheckComplexPat1, /*#*/1,
1345 OPC_EmitMergeInputChains1_0,
1346 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1347 MVT::i32, 2, 31,
1348 14,
1349 OPC_CheckPredicate, 12,
1350 OPC_CheckPredicate1,
1351 OPC_CheckTypeI32,
1352 OPC_CheckComplexPat1, /*#*/1,
1353 OPC_EmitMergeInputChains1_0,
1354 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1355 MVT::i32, 2, 31,
1356 14,
1357 OPC_CheckPredicate, 11,
1358 OPC_CheckPredicate2,
1359 OPC_CheckTypeI32,
1360 OPC_CheckComplexPat0, /*#*/1,
1361 OPC_EmitMergeInputChains1_0,
1362 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
1363 MVT::i32, 2, 31,
1364 14,
1365 OPC_CheckPredicate, 12,
1366 OPC_CheckPredicate2,
1367 OPC_CheckTypeI32,
1368 OPC_CheckComplexPat0, /*#*/1,
1369 OPC_EmitMergeInputChains1_0,
1370 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
1371 MVT::i32, 2, 31,
1372 14,
1373 OPC_CheckPredicate, 11,
1374 OPC_CheckPredicate2,
1375 OPC_CheckTypeI32,
1376 OPC_CheckComplexPat1, /*#*/1,
1377 OPC_EmitMergeInputChains1_0,
1378 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
1379 MVT::i32, 2, 31,
1380 14,
1381 OPC_CheckPredicate, 12,
1382 OPC_CheckPredicate2,
1383 OPC_CheckTypeI32,
1384 OPC_CheckComplexPat1, /*#*/1,
1385 OPC_EmitMergeInputChains1_0,
1386 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
1387 MVT::i32, 2, 31,
1388 60,
1389 OPC_CheckPredicate, 21,
1390 OPC_SwitchType , 25, MVT::i32,
1391 OPC_CheckPredicate5,
1392 OPC_Scope, 10,
1393 OPC_CheckComplexPat0, /*#*/1,
1394 OPC_EmitMergeInputChains1_0,
1395 OPC_MorphNodeTo1, TARGET_VAL(SP::LDrr), 0|OPFL_Chain|OPFL_MemRefs,
1396 MVT::i32, 2, 31,
1397 10,
1398 OPC_CheckComplexPat1, /*#*/1,
1399 OPC_EmitMergeInputChains1_0,
1400 OPC_MorphNodeTo1, TARGET_VAL(SP::LDri), 0|OPFL_Chain|OPFL_MemRefs,
1401 MVT::i32, 2, 31,
1402 0,
1403 27, MVT::i64,
1404 OPC_CheckPredicate, 15,
1405 OPC_CheckPatternPredicate0,
1406 OPC_Scope, 10,
1407 OPC_CheckComplexPat0, /*#*/1,
1408 OPC_EmitMergeInputChains1_0,
1409 OPC_MorphNodeTo1, TARGET_VAL(SP::LDXrr), 0|OPFL_Chain|OPFL_MemRefs,
1410 MVT::i64, 2, 31,
1411 10,
1412 OPC_CheckComplexPat1, /*#*/1,
1413 OPC_EmitMergeInputChains1_0,
1414 OPC_MorphNodeTo1, TARGET_VAL(SP::LDXri), 0|OPFL_Chain|OPFL_MemRefs,
1415 MVT::i64, 2, 31,
1416 0,
1417 0,
1418 0,
1419 110, TARGET_VAL(ISD::ATOMIC_STORE),
1420 OPC_RecordMemRef,
1421 OPC_RecordNode,
1422 OPC_RecordChild1,
1423 OPC_Scope, 76,
1424 OPC_CheckChild1TypeI32,
1425 OPC_RecordChild2,
1426 OPC_Scope, 23,
1427 OPC_CheckPredicate1,
1428 OPC_Scope, 9,
1429 OPC_CheckComplexPat0, /*#*/2,
1430 OPC_EmitMergeInputChains1_0,
1431 OPC_MorphNodeTo0, TARGET_VAL(SP::STBrr), 0|OPFL_Chain|OPFL_MemRefs,
1432 3, 13,
1433 9,
1434 OPC_CheckComplexPat1, /*#*/2,
1435 OPC_EmitMergeInputChains1_0,
1436 OPC_MorphNodeTo0, TARGET_VAL(SP::STBri), 0|OPFL_Chain|OPFL_MemRefs,
1437 3, 13,
1438 0,
1439 23,
1440 OPC_CheckPredicate2,
1441 OPC_Scope, 9,
1442 OPC_CheckComplexPat0, /*#*/2,
1443 OPC_EmitMergeInputChains1_0,
1444 OPC_MorphNodeTo0, TARGET_VAL(SP::STHrr), 0|OPFL_Chain|OPFL_MemRefs,
1445 3, 13,
1446 9,
1447 OPC_CheckComplexPat1, /*#*/2,
1448 OPC_EmitMergeInputChains1_0,
1449 OPC_MorphNodeTo0, TARGET_VAL(SP::STHri), 0|OPFL_Chain|OPFL_MemRefs,
1450 3, 13,
1451 0,
1452 23,
1453 OPC_CheckPredicate5,
1454 OPC_Scope, 9,
1455 OPC_CheckComplexPat0, /*#*/2,
1456 OPC_EmitMergeInputChains1_0,
1457 OPC_MorphNodeTo0, TARGET_VAL(SP::STrr), 0|OPFL_Chain|OPFL_MemRefs,
1458 3, 13,
1459 9,
1460 OPC_CheckComplexPat1, /*#*/2,
1461 OPC_EmitMergeInputChains1_0,
1462 OPC_MorphNodeTo0, TARGET_VAL(SP::STri), 0|OPFL_Chain|OPFL_MemRefs,
1463 3, 13,
1464 0,
1465 0,
1466 27,
1467 OPC_CheckChild1TypeI64,
1468 OPC_RecordChild2,
1469 OPC_CheckPredicate, 15,
1470 OPC_CheckPatternPredicate0,
1471 OPC_Scope, 9,
1472 OPC_CheckComplexPat0, /*#*/2,
1473 OPC_EmitMergeInputChains1_0,
1474 OPC_MorphNodeTo0, TARGET_VAL(SP::STXrr), 0|OPFL_Chain|OPFL_MemRefs,
1475 3, 13,
1476 9,
1477 OPC_CheckComplexPat1, /*#*/2,
1478 OPC_EmitMergeInputChains1_0,
1479 OPC_MorphNodeTo0, TARGET_VAL(SP::STXri), 0|OPFL_Chain|OPFL_MemRefs,
1480 3, 13,
1481 0,
1482 0,
1483 22, TARGET_VAL(ISD::BRIND),
1484 OPC_RecordNode,
1485 OPC_RecordChild1,
1486 OPC_Scope, 8,
1487 OPC_CheckComplexPat0, /*#*/1,
1488 OPC_EmitMergeInputChains1_0,
1489 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::BINDrr),
1490 2, 31,
1491 8,
1492 OPC_CheckComplexPat1, /*#*/1,
1493 OPC_EmitMergeInputChains1_0,
1494 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::BINDri),
1495 2, 31,
1496 0,
1497 51, TARGET_VAL(SPISD::CALL),
1498 OPC_RecordNode,
1499 OPC_CaptureGlueInput,
1500 OPC_RecordChild1,
1501 OPC_Scope, 9,
1502 OPC_CheckComplexPat0, /*#*/1,
1503 OPC_EmitMergeInputChains1_0,
1504 OPC_MorphNodeTo0, TARGET_VAL(SP::CALLrr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1505 2, 31,
1506 9,
1507 OPC_CheckComplexPat1, /*#*/1,
1508 OPC_EmitMergeInputChains1_0,
1509 OPC_MorphNodeTo0, TARGET_VAL(SP::CALLri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1510 2, 31,
1511 25,
1512 OPC_MoveChild1,
1513 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
1514 OPC_MoveParent,
1515 OPC_EmitMergeInputChains1_0,
1516 OPC_MorphNodeTo0, TARGET_VAL(SP::CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1517 1, 7,
1518 8, TARGET_VAL(ISD::TargetExternalSymbol),
1519 OPC_MoveParent,
1520 OPC_EmitMergeInputChains1_0,
1521 OPC_MorphNodeTo0, TARGET_VAL(SP::CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1522 1, 7,
1523 0,
1524 0,
1525 41, TARGET_VAL(SPISD::TAIL_CALL),
1526 OPC_RecordNode,
1527 OPC_CaptureGlueInput,
1528 OPC_RecordChild1,
1529 OPC_Scope, 9,
1530 OPC_CheckComplexPat1, /*#*/1,
1531 OPC_EmitMergeInputChains1_0,
1532 OPC_MorphNodeTo0, TARGET_VAL(SP::TAIL_CALLri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1533 2, 31,
1534 25,
1535 OPC_MoveChild1,
1536 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
1537 OPC_MoveParent,
1538 OPC_EmitMergeInputChains1_0,
1539 OPC_MorphNodeTo0, TARGET_VAL(SP::TAIL_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1540 1, 7,
1541 8, TARGET_VAL(ISD::TargetExternalSymbol),
1542 OPC_MoveParent,
1543 OPC_EmitMergeInputChains1_0,
1544 OPC_MorphNodeTo0, TARGET_VAL(SP::TAIL_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1545 1, 7,
1546 0,
1547 0,
1548 64, TARGET_VAL(SPISD::LOAD_BIG),
1549 OPC_RecordMemRef,
1550 OPC_RecordNode,
1551 OPC_RecordChild1,
1552 OPC_MoveChild2,
1553 OPC_Scope, 18,
1554 OPC_CheckValueType, MVT::i16,
1555 OPC_MoveParent,
1556 OPC_CheckTypeI32,
1557 OPC_CheckPatternPredicate1,
1558 OPC_CheckComplexPat2, /*#*/1,
1559 OPC_EmitMergeInputChains1_0,
1560 OPC_EmitIntegerI32, 0|128,1,
1561 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHArr), 0|OPFL_Chain|OPFL_MemRefs,
1562 MVT::i32, 3, 46,
1563 18,
1564 OPC_CheckValueType, MVT::i32,
1565 OPC_MoveParent,
1566 OPC_CheckTypeI32,
1567 OPC_CheckPatternPredicate1,
1568 OPC_CheckComplexPat2, /*#*/1,
1569 OPC_EmitMergeInputChains1_0,
1570 OPC_EmitIntegerI32, 0|128,1,
1571 OPC_MorphNodeTo1, TARGET_VAL(SP::LDArr), 0|OPFL_Chain|OPFL_MemRefs,
1572 MVT::i32, 3, 46,
1573 19,
1574 OPC_CheckValueType, MVT::i64,
1575 OPC_MoveParent,
1576 OPC_CheckTypeI64,
1577 OPC_CheckPatternPredicate, 8,
1578 OPC_CheckComplexPat2, /*#*/1,
1579 OPC_EmitMergeInputChains1_0,
1580 OPC_EmitIntegerI32, 0|128,1,
1581 OPC_MorphNodeTo1, TARGET_VAL(SP::LDXArr), 0|OPFL_Chain|OPFL_MemRefs,
1582 MVT::i64, 3, 46,
1583 0,
1584 64, TARGET_VAL(SPISD::LOAD_LITTLE),
1585 OPC_RecordMemRef,
1586 OPC_RecordNode,
1587 OPC_RecordChild1,
1588 OPC_MoveChild2,
1589 OPC_Scope, 18,
1590 OPC_CheckValueType, MVT::i16,
1591 OPC_MoveParent,
1592 OPC_CheckTypeI32,
1593 OPC_CheckPatternPredicate1,
1594 OPC_CheckComplexPat2, /*#*/1,
1595 OPC_EmitMergeInputChains1_0,
1596 OPC_EmitIntegerI32, 8|128,1,
1597 OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHArr), 0|OPFL_Chain|OPFL_MemRefs,
1598 MVT::i32, 3, 46,
1599 18,
1600 OPC_CheckValueType, MVT::i32,
1601 OPC_MoveParent,
1602 OPC_CheckTypeI32,
1603 OPC_CheckPatternPredicate1,
1604 OPC_CheckComplexPat2, /*#*/1,
1605 OPC_EmitMergeInputChains1_0,
1606 OPC_EmitIntegerI32, 8|128,1,
1607 OPC_MorphNodeTo1, TARGET_VAL(SP::LDArr), 0|OPFL_Chain|OPFL_MemRefs,
1608 MVT::i32, 3, 46,
1609 19,
1610 OPC_CheckValueType, MVT::i64,
1611 OPC_MoveParent,
1612 OPC_CheckTypeI64,
1613 OPC_CheckPatternPredicate, 8,
1614 OPC_CheckComplexPat2, /*#*/1,
1615 OPC_EmitMergeInputChains1_0,
1616 OPC_EmitIntegerI32, 8|128,1,
1617 OPC_MorphNodeTo1, TARGET_VAL(SP::LDXArr), 0|OPFL_Chain|OPFL_MemRefs,
1618 MVT::i64, 3, 46,
1619 0,
1620 66, TARGET_VAL(SPISD::STORE_BIG),
1621 OPC_RecordMemRef,
1622 OPC_RecordNode,
1623 OPC_RecordChild1,
1624 OPC_Scope, 39,
1625 OPC_CheckChild1TypeI32,
1626 OPC_RecordChild2,
1627 OPC_MoveChild3,
1628 OPC_Scope, 16,
1629 OPC_CheckValueType, MVT::i16,
1630 OPC_MoveParent,
1631 OPC_CheckPatternPredicate1,
1632 OPC_CheckComplexPat2, /*#*/2,
1633 OPC_EmitMergeInputChains1_0,
1634 OPC_EmitIntegerI32, 0|128,1,
1635 OPC_MorphNodeTo0, TARGET_VAL(SP::STHArr), 0|OPFL_Chain|OPFL_MemRefs,
1636 4, 49,
1637 16,
1638 OPC_CheckValueType, MVT::i32,
1639 OPC_MoveParent,
1640 OPC_CheckPatternPredicate1,
1641 OPC_CheckComplexPat2, /*#*/2,
1642 OPC_EmitMergeInputChains1_0,
1643 OPC_EmitIntegerI32, 0|128,1,
1644 OPC_MorphNodeTo0, TARGET_VAL(SP::STArr), 0|OPFL_Chain|OPFL_MemRefs,
1645 4, 49,
1646 0,
1647 20,
1648 OPC_CheckChild1TypeI64,
1649 OPC_RecordChild2,
1650 OPC_MoveChild3,
1651 OPC_CheckValueType, MVT::i64,
1652 OPC_MoveParent,
1653 OPC_CheckPatternPredicate, 8,
1654 OPC_CheckComplexPat2, /*#*/2,
1655 OPC_EmitMergeInputChains1_0,
1656 OPC_EmitIntegerI32, 0|128,1,
1657 OPC_MorphNodeTo0, TARGET_VAL(SP::STXArr), 0|OPFL_Chain|OPFL_MemRefs,
1658 4, 49,
1659 0,
1660 66, TARGET_VAL(SPISD::STORE_LITTLE),
1661 OPC_RecordMemRef,
1662 OPC_RecordNode,
1663 OPC_RecordChild1,
1664 OPC_Scope, 39,
1665 OPC_CheckChild1TypeI32,
1666 OPC_RecordChild2,
1667 OPC_MoveChild3,
1668 OPC_Scope, 16,
1669 OPC_CheckValueType, MVT::i16,
1670 OPC_MoveParent,
1671 OPC_CheckPatternPredicate1,
1672 OPC_CheckComplexPat2, /*#*/2,
1673 OPC_EmitMergeInputChains1_0,
1674 OPC_EmitIntegerI32, 8|128,1,
1675 OPC_MorphNodeTo0, TARGET_VAL(SP::STHArr), 0|OPFL_Chain|OPFL_MemRefs,
1676 4, 49,
1677 16,
1678 OPC_CheckValueType, MVT::i32,
1679 OPC_MoveParent,
1680 OPC_CheckPatternPredicate1,
1681 OPC_CheckComplexPat2, /*#*/2,
1682 OPC_EmitMergeInputChains1_0,
1683 OPC_EmitIntegerI32, 8|128,1,
1684 OPC_MorphNodeTo0, TARGET_VAL(SP::STArr), 0|OPFL_Chain|OPFL_MemRefs,
1685 4, 49,
1686 0,
1687 20,
1688 OPC_CheckChild1TypeI64,
1689 OPC_RecordChild2,
1690 OPC_MoveChild3,
1691 OPC_CheckValueType, MVT::i64,
1692 OPC_MoveParent,
1693 OPC_CheckPatternPredicate, 8,
1694 OPC_CheckComplexPat2, /*#*/2,
1695 OPC_EmitMergeInputChains1_0,
1696 OPC_EmitIntegerI32, 8|128,1,
1697 OPC_MorphNodeTo0, TARGET_VAL(SP::STXArr), 0|OPFL_Chain|OPFL_MemRefs,
1698 4, 49,
1699 0,
1700 24|128,1, TARGET_VAL(ISD::AND),
1701 OPC_Scope, 28,
1702 OPC_RecordChild0,
1703 OPC_MoveChild1,
1704 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1705 OPC_RecordChild0,
1706 OPC_CheckChild1Integer, 127,
1707 OPC_MoveParent,
1708 OPC_SwitchType , 6, MVT::i32,
1709 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1710 MVT::i32, 2, 6,
1711 7, MVT::i64,
1712 OPC_CheckPatternPredicate0,
1713 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1714 MVT::i64, 2, 6,
1715 0,
1716 28,
1717 OPC_MoveChild0,
1718 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1719 OPC_RecordChild0,
1720 OPC_CheckChild1Integer, 127,
1721 OPC_MoveParent,
1722 OPC_RecordChild1,
1723 OPC_SwitchType , 6, MVT::i32,
1724 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1725 MVT::i32, 2, 0,
1726 7, MVT::i64,
1727 OPC_CheckPatternPredicate0,
1728 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1729 MVT::i64, 2, 0,
1730 0,
1731 17,
1732 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
1733 OPC_RecordChild0,
1734 OPC_CheckTypeI64,
1735 OPC_CheckPatternPredicate0,
1736 OPC_EmitIntegerI32, 0,
1737 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLri),
1738 MVT::i64, 2, 6,
1739 73,
1740 OPC_RecordChild0,
1741 OPC_RecordChild1,
1742 OPC_Scope, 51,
1743 OPC_MoveChild1,
1744 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1745 OPC_Scope, 23,
1746 OPC_CheckPredicate0,
1747 OPC_MoveParent,
1748 OPC_SwitchType , 7, MVT::i32,
1749 OPC_EmitConvertToTarget1,
1750 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDri),
1751 MVT::i32, 2, 16,
1752 8, MVT::i64,
1753 OPC_CheckPatternPredicate0,
1754 OPC_EmitConvertToTarget1,
1755 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDri),
1756 MVT::i64, 2, 16,
1757 0,
1758 20,
1759 OPC_CheckPredicate, 18,
1760 OPC_MoveParent,
1761 OPC_CheckTypeI32,
1762 OPC_EmitConvertToTarget1,
1763 OPC_EmitNodeXForm, 0, 2,
1764 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
1765 MVT::i32, 1, 26,
1766 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1767 MVT::i32, 2, 36,
1768 0,
1769 7,
1770 OPC_CheckTypeI32,
1771 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDrr),
1772 MVT::i32, 2, 6,
1773 8,
1774 OPC_CheckTypeI64,
1775 OPC_CheckPatternPredicate0,
1776 OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDrr),
1777 MVT::i64, 2, 6,
1778 0,
1779 0,
1780 6|128,1, TARGET_VAL(ISD::OR),
1781 OPC_Scope, 28,
1782 OPC_RecordChild0,
1783 OPC_MoveChild1,
1784 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1785 OPC_RecordChild0,
1786 OPC_CheckChild1Integer, 127,
1787 OPC_MoveParent,
1788 OPC_SwitchType , 6, MVT::i32,
1789 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1790 MVT::i32, 2, 6,
1791 7, MVT::i64,
1792 OPC_CheckPatternPredicate0,
1793 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1794 MVT::i64, 2, 6,
1795 0,
1796 28,
1797 OPC_MoveChild0,
1798 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1799 OPC_RecordChild0,
1800 OPC_CheckChild1Integer, 127,
1801 OPC_MoveParent,
1802 OPC_RecordChild1,
1803 OPC_SwitchType , 6, MVT::i32,
1804 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1805 MVT::i32, 2, 0,
1806 7, MVT::i64,
1807 OPC_CheckPatternPredicate0,
1808 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1809 MVT::i64, 2, 0,
1810 0,
1811 73,
1812 OPC_RecordChild0,
1813 OPC_RecordChild1,
1814 OPC_Scope, 51,
1815 OPC_MoveChild1,
1816 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1817 OPC_Scope, 23,
1818 OPC_CheckPredicate0,
1819 OPC_MoveParent,
1820 OPC_SwitchType , 7, MVT::i32,
1821 OPC_EmitConvertToTarget1,
1822 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
1823 MVT::i32, 2, 16,
1824 8, MVT::i64,
1825 OPC_CheckPatternPredicate0,
1826 OPC_EmitConvertToTarget1,
1827 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
1828 MVT::i64, 2, 16,
1829 0,
1830 20,
1831 OPC_CheckPredicate, 18,
1832 OPC_MoveParent,
1833 OPC_CheckTypeI32,
1834 OPC_EmitConvertToTarget1,
1835 OPC_EmitNodeXForm, 0, 2,
1836 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
1837 MVT::i32, 1, 26,
1838 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1839 MVT::i32, 2, 36,
1840 0,
1841 7,
1842 OPC_CheckTypeI32,
1843 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORrr),
1844 MVT::i32, 2, 6,
1845 8,
1846 OPC_CheckTypeI64,
1847 OPC_CheckPatternPredicate0,
1848 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORrr),
1849 MVT::i64, 2, 6,
1850 0,
1851 0,
1852 35|128,1, TARGET_VAL(ISD::ATOMIC_FENCE),
1853 OPC_RecordNode,
1854 OPC_Scope, 46,
1855 OPC_CheckChild1Integer, 4,
1856 OPC_Scope, 25,
1857 OPC_CheckChild1TypeI32,
1858 OPC_MoveChild2,
1859 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1860 OPC_MoveParent,
1861 OPC_Scope, 6,
1862 OPC_CheckPatternPredicate6,
1863 OPC_EmitMergeInputChains1_0,
1864 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::NOP),
1865 0,
1866 9,
1867 OPC_CheckPatternPredicate1,
1868 OPC_EmitMergeInputChains1_0,
1869 OPC_EmitIntegerI32, 5,
1870 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::MEMBARi),
1871 1, 7,
1872 0,
1873 15,
1874 OPC_CheckChild1TypeI64,
1875 OPC_MoveChild2,
1876 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1877 OPC_MoveParent,
1878 OPC_CheckPatternPredicate1,
1879 OPC_EmitMergeInputChains1_0,
1880 OPC_EmitIntegerI32, 5,
1881 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::MEMBARi),
1882 1, 7,
1883 0,
1884 46,
1885 OPC_CheckChild1Integer, 5,
1886 OPC_Scope, 25,
1887 OPC_CheckChild1TypeI32,
1888 OPC_MoveChild2,
1889 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1890 OPC_MoveParent,
1891 OPC_Scope, 6,
1892 OPC_CheckPatternPredicate6,
1893 OPC_EmitMergeInputChains1_0,
1894 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::STBAR),
1895 0,
1896 9,
1897 OPC_CheckPatternPredicate1,
1898 OPC_EmitMergeInputChains1_0,
1899 OPC_EmitIntegerI32, 12,
1900 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::MEMBARi),
1901 1, 7,
1902 0,
1903 15,
1904 OPC_CheckChild1TypeI64,
1905 OPC_MoveChild2,
1906 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1907 OPC_MoveParent,
1908 OPC_CheckPatternPredicate1,
1909 OPC_EmitMergeInputChains1_0,
1910 OPC_EmitIntegerI32, 12,
1911 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::MEMBARi),
1912 1, 7,
1913 0,
1914 36,
1915 OPC_CheckChild1Integer, 6,
1916 OPC_Scope, 15,
1917 OPC_CheckChild1TypeI32,
1918 OPC_MoveChild2,
1919 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1920 OPC_MoveParent,
1921 OPC_CheckPatternPredicate1,
1922 OPC_EmitMergeInputChains1_0,
1923 OPC_EmitIntegerI32, 13,
1924 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::MEMBARi),
1925 1, 7,
1926 15,
1927 OPC_CheckChild1TypeI64,
1928 OPC_MoveChild2,
1929 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1930 OPC_MoveParent,
1931 OPC_CheckPatternPredicate1,
1932 OPC_EmitMergeInputChains1_0,
1933 OPC_EmitIntegerI32, 13,
1934 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::MEMBARi),
1935 1, 7,
1936 0,
1937 28,
1938 OPC_MoveChild1,
1939 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1940 OPC_MoveSibling2,
1941 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1942 OPC_MoveParent,
1943 OPC_Scope, 6,
1944 OPC_CheckPatternPredicate6,
1945 OPC_EmitMergeInputChains1_0,
1946 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::V8BAR),
1947 0,
1948 9,
1949 OPC_CheckPatternPredicate1,
1950 OPC_EmitMergeInputChains1_0,
1951 OPC_EmitIntegerI32, 15,
1952 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::MEMBARi),
1953 1, 7,
1954 0,
1955 0,
1956 21|128,1, TARGET_VAL(SPISD::SELECT_ICC),
1957 OPC_CaptureGlueInput,
1958 OPC_RecordChild0,
1959 OPC_Scope, 40,
1960 OPC_MoveChild0,
1961 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1962 OPC_CheckPredicate, 16,
1963 OPC_MoveParent,
1964 OPC_RecordChild1,
1965 OPC_RecordChild2,
1966 OPC_MoveChild2,
1967 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1968 OPC_MoveParent,
1969 OPC_SwitchType , 9, MVT::i32,
1970 OPC_CheckPatternPredicate1,
1971 OPC_EmitConvertToTarget0,
1972 OPC_EmitConvertToTarget2,
1973 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVICCri),
1974 MVT::i32, 3, 42,
1975 11, MVT::i64,
1976 OPC_CheckPatternPredicate0,
1977 OPC_EmitNodeXForm, 1, 0,
1978 OPC_EmitConvertToTarget2,
1979 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVICCri),
1980 MVT::i64, 3, 42,
1981 0,
1982 103,
1983 OPC_RecordChild1,
1984 OPC_RecordChild2,
1985 OPC_MoveChild2,
1986 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1987 OPC_MoveParent,
1988 OPC_SwitchType , 19, MVT::i32,
1989 OPC_Scope, 8,
1990 OPC_CheckPatternPredicate1,
1991 OPC_EmitConvertToTarget2,
1992 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVICCrr),
1993 MVT::i32, 3, 27,
1994 7,
1995 OPC_EmitConvertToTarget2,
1996 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_Int_ICC),
1997 MVT::i32, 3, 27,
1998 0,
1999 8, MVT::i64,
2000 OPC_CheckPatternPredicate0,
2001 OPC_EmitConvertToTarget2,
2002 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVICCrr),
2003 MVT::i64, 3, 27,
2004 19, MVT::f32,
2005 OPC_Scope, 8,
2006 OPC_CheckPatternPredicate1,
2007 OPC_EmitConvertToTarget2,
2008 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVS_ICC),
2009 MVT::f32, 3, 27,
2010 7,
2011 OPC_EmitConvertToTarget2,
2012 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_FP_ICC),
2013 MVT::f32, 3, 27,
2014 0,
2015 19, MVT::f64,
2016 OPC_Scope, 8,
2017 OPC_CheckPatternPredicate1,
2018 OPC_EmitConvertToTarget2,
2019 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVD_ICC),
2020 MVT::f64, 3, 27,
2021 7,
2022 OPC_EmitConvertToTarget2,
2023 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_DFP_ICC),
2024 MVT::f64, 3, 27,
2025 0,
2026 19, MVT::f128,
2027 OPC_Scope, 8,
2028 OPC_CheckPatternPredicate7,
2029 OPC_EmitConvertToTarget2,
2030 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVQ_ICC),
2031 MVT::f128, 3, 27,
2032 7,
2033 OPC_EmitConvertToTarget2,
2034 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_QFP_ICC),
2035 MVT::f128, 3, 27,
2036 0,
2037 0,
2038 0,
2039 21|128,1, TARGET_VAL(SPISD::SELECT_FCC),
2040 OPC_CaptureGlueInput,
2041 OPC_RecordChild0,
2042 OPC_Scope, 40,
2043 OPC_MoveChild0,
2044 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2045 OPC_CheckPredicate, 16,
2046 OPC_MoveParent,
2047 OPC_RecordChild1,
2048 OPC_RecordChild2,
2049 OPC_MoveChild2,
2050 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2051 OPC_MoveParent,
2052 OPC_SwitchType , 9, MVT::i32,
2053 OPC_CheckPatternPredicate1,
2054 OPC_EmitConvertToTarget0,
2055 OPC_EmitConvertToTarget2,
2056 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVFCCri),
2057 MVT::i32, 3, 42,
2058 11, MVT::i64,
2059 OPC_CheckPatternPredicate0,
2060 OPC_EmitNodeXForm, 1, 0,
2061 OPC_EmitConvertToTarget2,
2062 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVFCCri),
2063 MVT::i64, 3, 42,
2064 0,
2065 103,
2066 OPC_RecordChild1,
2067 OPC_RecordChild2,
2068 OPC_MoveChild2,
2069 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2070 OPC_MoveParent,
2071 OPC_SwitchType , 19, MVT::i32,
2072 OPC_Scope, 8,
2073 OPC_CheckPatternPredicate1,
2074 OPC_EmitConvertToTarget2,
2075 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVFCCrr),
2076 MVT::i32, 3, 27,
2077 7,
2078 OPC_EmitConvertToTarget2,
2079 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_Int_FCC),
2080 MVT::i32, 3, 27,
2081 0,
2082 8, MVT::i64,
2083 OPC_CheckPatternPredicate0,
2084 OPC_EmitConvertToTarget2,
2085 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVFCCrr),
2086 MVT::i64, 3, 27,
2087 19, MVT::f32,
2088 OPC_Scope, 8,
2089 OPC_CheckPatternPredicate1,
2090 OPC_EmitConvertToTarget2,
2091 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVS_FCC),
2092 MVT::f32, 3, 27,
2093 7,
2094 OPC_EmitConvertToTarget2,
2095 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_FP_FCC),
2096 MVT::f32, 3, 27,
2097 0,
2098 19, MVT::f64,
2099 OPC_Scope, 8,
2100 OPC_CheckPatternPredicate1,
2101 OPC_EmitConvertToTarget2,
2102 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVD_FCC),
2103 MVT::f64, 3, 27,
2104 7,
2105 OPC_EmitConvertToTarget2,
2106 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_DFP_FCC),
2107 MVT::f64, 3, 27,
2108 0,
2109 19, MVT::f128,
2110 OPC_Scope, 8,
2111 OPC_CheckPatternPredicate7,
2112 OPC_EmitConvertToTarget2,
2113 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVQ_FCC),
2114 MVT::f128, 3, 27,
2115 7,
2116 OPC_EmitConvertToTarget2,
2117 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_QFP_FCC),
2118 MVT::f128, 3, 27,
2119 0,
2120 0,
2121 0,
2122 22|128,1, TARGET_VAL(SPISD::SELECT_XCC),
2123 OPC_CaptureGlueInput,
2124 OPC_RecordChild0,
2125 OPC_Scope, 40,
2126 OPC_MoveChild0,
2127 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2128 OPC_CheckPredicate, 16,
2129 OPC_MoveParent,
2130 OPC_RecordChild1,
2131 OPC_RecordChild2,
2132 OPC_MoveChild2,
2133 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2134 OPC_MoveParent,
2135 OPC_SwitchType , 9, MVT::i32,
2136 OPC_CheckPatternPredicate0,
2137 OPC_EmitConvertToTarget0,
2138 OPC_EmitConvertToTarget2,
2139 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVXCCri),
2140 MVT::i32, 3, 42,
2141 11, MVT::i64,
2142 OPC_CheckPatternPredicate0,
2143 OPC_EmitNodeXForm, 1, 0,
2144 OPC_EmitConvertToTarget2,
2145 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVXCCri),
2146 MVT::i64, 3, 42,
2147 0,
2148 104,
2149 OPC_RecordChild1,
2150 OPC_RecordChild2,
2151 OPC_MoveChild2,
2152 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2153 OPC_MoveParent,
2154 OPC_SwitchType , 19, MVT::i32,
2155 OPC_Scope, 8,
2156 OPC_CheckPatternPredicate0,
2157 OPC_EmitConvertToTarget2,
2158 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVXCCrr),
2159 MVT::i32, 3, 27,
2160 7,
2161 OPC_EmitConvertToTarget2,
2162 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_Int_XCC),
2163 MVT::i32, 3, 27,
2164 0,
2165 8, MVT::i64,
2166 OPC_CheckPatternPredicate0,
2167 OPC_EmitConvertToTarget2,
2168 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVXCCrr),
2169 MVT::i64, 3, 27,
2170 19, MVT::f32,
2171 OPC_Scope, 8,
2172 OPC_CheckPatternPredicate0,
2173 OPC_EmitConvertToTarget2,
2174 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVS_XCC),
2175 MVT::f32, 3, 27,
2176 7,
2177 OPC_EmitConvertToTarget2,
2178 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_FP_XCC),
2179 MVT::f32, 3, 27,
2180 0,
2181 19, MVT::f64,
2182 OPC_Scope, 8,
2183 OPC_CheckPatternPredicate0,
2184 OPC_EmitConvertToTarget2,
2185 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVD_XCC),
2186 MVT::f64, 3, 27,
2187 7,
2188 OPC_EmitConvertToTarget2,
2189 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_DFP_XCC),
2190 MVT::f64, 3, 27,
2191 0,
2192 20, MVT::f128,
2193 OPC_Scope, 9,
2194 OPC_CheckPatternPredicate, 10,
2195 OPC_EmitConvertToTarget2,
2196 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVQ_XCC),
2197 MVT::f128, 3, 27,
2198 7,
2199 OPC_EmitConvertToTarget2,
2200 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_QFP_XCC),
2201 MVT::f128, 3, 27,
2202 0,
2203 0,
2204 0,
2205 106, TARGET_VAL(SPISD::SELECT_REG),
2206 OPC_RecordChild0,
2207 OPC_Scope, 41,
2208 OPC_MoveChild0,
2209 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2210 OPC_CheckPredicate, 22,
2211 OPC_MoveParent,
2212 OPC_RecordChild1,
2213 OPC_RecordChild2,
2214 OPC_MoveChild2,
2215 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2216 OPC_MoveParent,
2217 OPC_RecordChild3,
2218 OPC_SwitchType , 9, MVT::i32,
2219 OPC_CheckPatternPredicate1,
2220 OPC_EmitConvertToTarget0,
2221 OPC_EmitConvertToTarget2,
2222 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVRri),
2223 MVT::i32, 4, 49,
2224 11, MVT::i64,
2225 OPC_CheckPatternPredicate0,
2226 OPC_EmitNodeXForm, 1, 0,
2227 OPC_EmitConvertToTarget2,
2228 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVRri),
2229 MVT::i64, 4, 49,
2230 0,
2231 60,
2232 OPC_RecordChild1,
2233 OPC_RecordChild2,
2234 OPC_MoveChild2,
2235 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2236 OPC_MoveParent,
2237 OPC_RecordChild3,
2238 OPC_SwitchType , 8, MVT::i32,
2239 OPC_CheckPatternPredicate1,
2240 OPC_EmitConvertToTarget2,
2241 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVRrr),
2242 MVT::i32, 4, 38,
2243 8, MVT::i64,
2244 OPC_CheckPatternPredicate0,
2245 OPC_EmitConvertToTarget2,
2246 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVRrr),
2247 MVT::i64, 4, 38,
2248 8, MVT::f32,
2249 OPC_CheckPatternPredicate1,
2250 OPC_EmitConvertToTarget2,
2251 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMOVRS),
2252 MVT::f32, 4, 38,
2253 8, MVT::f64,
2254 OPC_CheckPatternPredicate1,
2255 OPC_EmitConvertToTarget2,
2256 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMOVRD),
2257 MVT::f64, 4, 38,
2258 8, MVT::f128,
2259 OPC_CheckPatternPredicate7,
2260 OPC_EmitConvertToTarget2,
2261 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMOVRQ),
2262 MVT::f128, 4, 38,
2263 0,
2264 0,
2265 19, TARGET_VAL(ISD::CALLSEQ_START),
2266 OPC_RecordNode,
2267 OPC_RecordChild1,
2268 OPC_MoveChild1,
2269 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2270 OPC_MoveSibling2,
2271 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2272 OPC_RecordNode,
2273 OPC_MoveParent,
2274 OPC_EmitMergeInputChains1_0,
2275 OPC_MorphNodeTo0, TARGET_VAL(SP::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
2276 2, 19,
2277 20, TARGET_VAL(ISD::CALLSEQ_END),
2278 OPC_RecordNode,
2279 OPC_CaptureGlueInput,
2280 OPC_RecordChild1,
2281 OPC_MoveChild1,
2282 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2283 OPC_MoveSibling2,
2284 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2285 OPC_RecordNode,
2286 OPC_MoveParent,
2287 OPC_EmitMergeInputChains1_0,
2288 OPC_MorphNodeTo0, TARGET_VAL(SP::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
2289 2, 19,
2290 20, TARGET_VAL(SPISD::TLS_CALL),
2291 OPC_RecordNode,
2292 OPC_CaptureGlueInput,
2293 OPC_RecordChild1,
2294 OPC_MoveChild1,
2295 OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
2296 OPC_MoveSibling2,
2297 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2298 OPC_RecordNode,
2299 OPC_MoveParent,
2300 OPC_EmitMergeInputChains1_0,
2301 OPC_MorphNodeTo0, TARGET_VAL(SP::TLS_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic2,
2302 2, 19,
2303 25, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
2304 OPC_RecordChild0,
2305 OPC_Scope, 10,
2306 OPC_CheckChild1Integer, 0,
2307 OPC_EmitIntegerI32, SP::sub_even,
2308 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
2309 MVT::i32, 2, 6,
2310 10,
2311 OPC_CheckChild1Integer, 1,
2312 OPC_EmitIntegerI32, SP::sub_odd,
2313 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
2314 MVT::i32, 2, 6,
2315 0,
2316 49, TARGET_VAL(ISD::ADDC),
2317 OPC_RecordChild0,
2318 OPC_RecordChild1,
2319 OPC_Scope, 27,
2320 OPC_MoveChild1,
2321 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2322 OPC_CheckPredicate0,
2323 OPC_MoveParent,
2324 OPC_SwitchType , 7, MVT::i32,
2325 OPC_EmitConvertToTarget1,
2326 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::ADDCCri),
2327 MVT::i32, 2, 16,
2328 8, MVT::i64,
2329 OPC_CheckPatternPredicate0,
2330 OPC_EmitConvertToTarget1,
2331 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::ADDCCri),
2332 MVT::i64, 2, 16,
2333 0,
2334 7,
2335 OPC_CheckTypeI32,
2336 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::ADDCCrr),
2337 MVT::i32, 2, 6,
2338 8,
2339 OPC_CheckTypeI64,
2340 OPC_CheckPatternPredicate0,
2341 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::ADDCCrr),
2342 MVT::i64, 2, 6,
2343 0,
2344 40, TARGET_VAL(ISD::ADDE),
2345 OPC_CaptureGlueInput,
2346 OPC_RecordChild0,
2347 OPC_RecordChild1,
2348 OPC_Scope, 15,
2349 OPC_MoveChild1,
2350 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2351 OPC_CheckPredicate0,
2352 OPC_MoveParent,
2353 OPC_CheckTypeI32,
2354 OPC_EmitConvertToTarget1,
2355 OPC_MorphNodeTo1, TARGET_VAL(SP::ADDEri), 0|OPFL_GlueInput|OPFL_GlueOutput,
2356 MVT::i32, 2, 16,
2357 8,
2358 OPC_CheckTypeI32,
2359 OPC_MorphNodeTo1, TARGET_VAL(SP::ADDErr), 0|OPFL_GlueInput|OPFL_GlueOutput,
2360 MVT::i32, 2, 6,
2361 9,
2362 OPC_CheckTypeI64,
2363 OPC_CheckPatternPredicate2,
2364 OPC_MorphNodeTo1, TARGET_VAL(SP::ADDXCCC), 0|OPFL_GlueInput|OPFL_GlueOutput,
2365 MVT::i64, 2, 6,
2366 0,
2367 49, TARGET_VAL(ISD::SUB),
2368 OPC_RecordChild0,
2369 OPC_RecordChild1,
2370 OPC_Scope, 27,
2371 OPC_MoveChild1,
2372 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2373 OPC_CheckPredicate0,
2374 OPC_MoveParent,
2375 OPC_SwitchType , 7, MVT::i32,
2376 OPC_EmitConvertToTarget1,
2377 OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBri),
2378 MVT::i32, 2, 16,
2379 8, MVT::i64,
2380 OPC_CheckPatternPredicate0,
2381 OPC_EmitConvertToTarget1,
2382 OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBri),
2383 MVT::i64, 2, 16,
2384 0,
2385 7,
2386 OPC_CheckTypeI32,
2387 OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBrr),
2388 MVT::i32, 2, 6,
2389 8,
2390 OPC_CheckTypeI64,
2391 OPC_CheckPatternPredicate0,
2392 OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBrr),
2393 MVT::i64, 2, 6,
2394 0,
2395 30, TARGET_VAL(ISD::SUBE),
2396 OPC_CaptureGlueInput,
2397 OPC_RecordChild0,
2398 OPC_RecordChild1,
2399 OPC_Scope, 15,
2400 OPC_MoveChild1,
2401 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2402 OPC_CheckPredicate0,
2403 OPC_MoveParent,
2404 OPC_CheckTypeI32,
2405 OPC_EmitConvertToTarget1,
2406 OPC_MorphNodeTo1, TARGET_VAL(SP::SUBEri), 0|OPFL_GlueInput|OPFL_GlueOutput,
2407 MVT::i32, 2, 16,
2408 8,
2409 OPC_CheckTypeI32,
2410 OPC_MorphNodeTo1, TARGET_VAL(SP::SUBErr), 0|OPFL_GlueInput|OPFL_GlueOutput,
2411 MVT::i32, 2, 6,
2412 0,
2413 27, TARGET_VAL(ISD::SUBC),
2414 OPC_RecordChild0,
2415 OPC_RecordChild1,
2416 OPC_Scope, 14,
2417 OPC_MoveChild1,
2418 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2419 OPC_CheckPredicate0,
2420 OPC_MoveParent,
2421 OPC_CheckTypeI32,
2422 OPC_EmitConvertToTarget1,
2423 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCri),
2424 MVT::i32, 2, 16,
2425 7,
2426 OPC_CheckTypeI32,
2427 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCrr),
2428 MVT::i32, 2, 6,
2429 0,
2430 57, TARGET_VAL(SPISD::CMPICC),
2431 OPC_RecordChild0,
2432 OPC_Scope, 25,
2433 OPC_CheckChild0TypeI32,
2434 OPC_RecordChild1,
2435 OPC_Scope, 13,
2436 OPC_MoveChild1,
2437 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2438 OPC_CheckPredicate0,
2439 OPC_MoveParent,
2440 OPC_EmitConvertToTarget1,
2441 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCri),
2442 MVT::i32, 2, 16,
2443 6,
2444 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCrr),
2445 MVT::i32, 2, 6,
2446 0,
2447 27,
2448 OPC_CheckChild0TypeI64,
2449 OPC_RecordChild1,
2450 OPC_Scope, 14,
2451 OPC_MoveChild1,
2452 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2453 OPC_CheckPredicate0,
2454 OPC_MoveParent,
2455 OPC_CheckPatternPredicate0,
2456 OPC_EmitConvertToTarget1,
2457 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCri),
2458 MVT::i32, 2, 16,
2459 7,
2460 OPC_CheckPatternPredicate0,
2461 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCrr),
2462 MVT::i32, 2, 6,
2463 0,
2464 0,
2465 29, TARGET_VAL(ISD::UMUL_LOHI),
2466 OPC_RecordChild0,
2467 OPC_RecordChild1,
2468 OPC_Scope, 15,
2469 OPC_MoveChild1,
2470 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2471 OPC_CheckPredicate0,
2472 OPC_MoveParent,
2473 OPC_CheckTypeI32,
2474 OPC_EmitConvertToTarget1,
2475 OPC_MorphNodeTo2None, TARGET_VAL(SP::UMULri),
2476 MVT::i32, MVT::i32, 2, 16,
2477 8,
2478 OPC_CheckTypeI32,
2479 OPC_MorphNodeTo2None, TARGET_VAL(SP::UMULrr),
2480 MVT::i32, MVT::i32, 2, 6,
2481 0,
2482 29, TARGET_VAL(ISD::SMUL_LOHI),
2483 OPC_RecordChild0,
2484 OPC_RecordChild1,
2485 OPC_Scope, 15,
2486 OPC_MoveChild1,
2487 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2488 OPC_CheckPredicate0,
2489 OPC_MoveParent,
2490 OPC_CheckTypeI32,
2491 OPC_EmitConvertToTarget1,
2492 OPC_MorphNodeTo2None, TARGET_VAL(SP::SMULri),
2493 MVT::i32, MVT::i32, 2, 16,
2494 8,
2495 OPC_CheckTypeI32,
2496 OPC_MorphNodeTo2None, TARGET_VAL(SP::SMULrr),
2497 MVT::i32, MVT::i32, 2, 6,
2498 0,
2499 17, TARGET_VAL(SPISD::RET_GLUE),
2500 OPC_RecordNode,
2501 OPC_CaptureGlueInput,
2502 OPC_RecordChild1,
2503 OPC_MoveChild1,
2504 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2505 OPC_CheckPredicate0,
2506 OPC_MoveParent,
2507 OPC_EmitMergeInputChains1_0,
2508 OPC_EmitConvertToTarget1,
2509 OPC_MorphNodeTo0, TARGET_VAL(SP::RETL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
2510 1, 17,
2511 29, TARGET_VAL(ISD::MUL),
2512 OPC_RecordChild0,
2513 OPC_RecordChild1,
2514 OPC_Scope, 15,
2515 OPC_MoveChild1,
2516 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2517 OPC_CheckPredicate0,
2518 OPC_MoveParent,
2519 OPC_CheckTypeI64,
2520 OPC_CheckPatternPredicate1,
2521 OPC_EmitConvertToTarget1,
2522 OPC_MorphNodeTo1None, TARGET_VAL(SP::MULXri),
2523 MVT::i64, 2, 16,
2524 8,
2525 OPC_CheckTypeI64,
2526 OPC_CheckPatternPredicate1,
2527 OPC_MorphNodeTo1None, TARGET_VAL(SP::MULXrr),
2528 MVT::i64, 2, 6,
2529 0,
2530 29, TARGET_VAL(ISD::SDIV),
2531 OPC_RecordChild0,
2532 OPC_RecordChild1,
2533 OPC_Scope, 15,
2534 OPC_MoveChild1,
2535 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2536 OPC_CheckPredicate0,
2537 OPC_MoveParent,
2538 OPC_CheckTypeI64,
2539 OPC_CheckPatternPredicate1,
2540 OPC_EmitConvertToTarget1,
2541 OPC_MorphNodeTo1None, TARGET_VAL(SP::SDIVXri),
2542 MVT::i64, 2, 16,
2543 8,
2544 OPC_CheckTypeI64,
2545 OPC_CheckPatternPredicate1,
2546 OPC_MorphNodeTo1None, TARGET_VAL(SP::SDIVXrr),
2547 MVT::i64, 2, 6,
2548 0,
2549 29, TARGET_VAL(ISD::UDIV),
2550 OPC_RecordChild0,
2551 OPC_RecordChild1,
2552 OPC_Scope, 15,
2553 OPC_MoveChild1,
2554 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2555 OPC_CheckPredicate0,
2556 OPC_MoveParent,
2557 OPC_CheckTypeI64,
2558 OPC_CheckPatternPredicate1,
2559 OPC_EmitConvertToTarget1,
2560 OPC_MorphNodeTo1None, TARGET_VAL(SP::UDIVXri),
2561 MVT::i64, 2, 16,
2562 8,
2563 OPC_CheckTypeI64,
2564 OPC_CheckPatternPredicate1,
2565 OPC_MorphNodeTo1None, TARGET_VAL(SP::UDIVXrr),
2566 MVT::i64, 2, 6,
2567 0,
2568 53, TARGET_VAL(ISD::SHL),
2569 OPC_RecordChild0,
2570 OPC_RecordChild1,
2571 OPC_Scope, 27,
2572 OPC_MoveChild1,
2573 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2574 OPC_CheckTypeI32,
2575 OPC_MoveParent,
2576 OPC_SwitchType , 7, MVT::i32,
2577 OPC_EmitConvertToTarget1,
2578 OPC_MorphNodeTo1None, TARGET_VAL(SP::SLLri),
2579 MVT::i32, 2, 16,
2580 8, MVT::i64,
2581 OPC_CheckPatternPredicate1,
2582 OPC_EmitConvertToTarget1,
2583 OPC_MorphNodeTo1None, TARGET_VAL(SP::SLLXri),
2584 MVT::i64, 2, 16,
2585 0,
2586 20,
2587 OPC_CheckChild1TypeI32,
2588 OPC_SwitchType , 6, MVT::i32,
2589 OPC_MorphNodeTo1None, TARGET_VAL(SP::SLLrr),
2590 MVT::i32, 2, 6,
2591 7, MVT::i64,
2592 OPC_CheckPatternPredicate1,
2593 OPC_MorphNodeTo1None, TARGET_VAL(SP::SLLXrr),
2594 MVT::i64, 2, 6,
2595 0,
2596 0,
2597 53, TARGET_VAL(ISD::SRL),
2598 OPC_RecordChild0,
2599 OPC_RecordChild1,
2600 OPC_Scope, 27,
2601 OPC_MoveChild1,
2602 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2603 OPC_CheckTypeI32,
2604 OPC_MoveParent,
2605 OPC_SwitchType , 7, MVT::i32,
2606 OPC_EmitConvertToTarget1,
2607 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLri),
2608 MVT::i32, 2, 16,
2609 8, MVT::i64,
2610 OPC_CheckPatternPredicate1,
2611 OPC_EmitConvertToTarget1,
2612 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLXri),
2613 MVT::i64, 2, 16,
2614 0,
2615 20,
2616 OPC_CheckChild1TypeI32,
2617 OPC_SwitchType , 6, MVT::i32,
2618 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLrr),
2619 MVT::i32, 2, 6,
2620 7, MVT::i64,
2621 OPC_CheckPatternPredicate1,
2622 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLXrr),
2623 MVT::i64, 2, 6,
2624 0,
2625 0,
2626 53, TARGET_VAL(ISD::SRA),
2627 OPC_RecordChild0,
2628 OPC_RecordChild1,
2629 OPC_Scope, 27,
2630 OPC_MoveChild1,
2631 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2632 OPC_CheckTypeI32,
2633 OPC_MoveParent,
2634 OPC_SwitchType , 7, MVT::i32,
2635 OPC_EmitConvertToTarget1,
2636 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAri),
2637 MVT::i32, 2, 16,
2638 8, MVT::i64,
2639 OPC_CheckPatternPredicate1,
2640 OPC_EmitConvertToTarget1,
2641 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAXri),
2642 MVT::i64, 2, 16,
2643 0,
2644 20,
2645 OPC_CheckChild1TypeI32,
2646 OPC_SwitchType , 6, MVT::i32,
2647 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRArr),
2648 MVT::i32, 2, 6,
2649 7, MVT::i64,
2650 OPC_CheckPatternPredicate1,
2651 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAXrr),
2652 MVT::i64, 2, 6,
2653 0,
2654 0,
2655 21, TARGET_VAL(SPISD::BRICC),
2656 OPC_RecordNode,
2657 OPC_CaptureGlueInput,
2658 OPC_RecordChild1,
2659 OPC_MoveChild1,
2660 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2661 OPC_MoveSibling2,
2662 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2663 OPC_RecordNode,
2664 OPC_MoveParent,
2665 OPC_EmitMergeInputChains1_0,
2666 OPC_EmitConvertToTarget2,
2667 OPC_MorphNodeTo0, TARGET_VAL(SP::BCOND), 0|OPFL_Chain|OPFL_GlueInput,
2668 2, 28,
2669 22, TARGET_VAL(SPISD::BPICC),
2670 OPC_RecordNode,
2671 OPC_CaptureGlueInput,
2672 OPC_RecordChild1,
2673 OPC_MoveChild1,
2674 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2675 OPC_MoveSibling2,
2676 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2677 OPC_RecordNode,
2678 OPC_MoveParent,
2679 OPC_CheckPatternPredicate1,
2680 OPC_EmitMergeInputChains1_0,
2681 OPC_EmitConvertToTarget2,
2682 OPC_MorphNodeTo0, TARGET_VAL(SP::BPICC), 0|OPFL_Chain|OPFL_GlueInput,
2683 2, 28,
2684 31, TARGET_VAL(SPISD::BRFCC),
2685 OPC_RecordNode,
2686 OPC_CaptureGlueInput,
2687 OPC_RecordChild1,
2688 OPC_MoveChild1,
2689 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2690 OPC_MoveSibling2,
2691 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2692 OPC_RecordNode,
2693 OPC_MoveParent,
2694 OPC_EmitMergeInputChains1_0,
2695 OPC_EmitConvertToTarget2,
2696 OPC_Scope, 6,
2697 OPC_MorphNodeTo0, TARGET_VAL(SP::FBCOND), 0|OPFL_Chain|OPFL_GlueInput,
2698 2, 28,
2699 6,
2700 OPC_MorphNodeTo0, TARGET_VAL(SP::CPBCOND), 0|OPFL_Chain|OPFL_GlueInput,
2701 2, 28,
2702 0,
2703 32, TARGET_VAL(SPISD::BRFCC_V9),
2704 OPC_RecordNode,
2705 OPC_CaptureGlueInput,
2706 OPC_RecordChild1,
2707 OPC_MoveChild1,
2708 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2709 OPC_MoveSibling2,
2710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2711 OPC_RecordNode,
2712 OPC_MoveParent,
2713 OPC_CheckPatternPredicate1,
2714 OPC_EmitMergeInputChains1_0,
2715 OPC_EmitConvertToTarget2,
2716 OPC_Scope, 6,
2717 OPC_MorphNodeTo0, TARGET_VAL(SP::FBCOND_V9), 0|OPFL_Chain|OPFL_GlueInput,
2718 2, 28,
2719 6,
2720 OPC_MorphNodeTo0, TARGET_VAL(SP::FBCONDA_V9), 0|OPFL_Chain|OPFL_GlueInput,
2721 2, 28,
2722 0,
2723 35, TARGET_VAL(SPISD::TLS_ADD),
2724 OPC_RecordChild0,
2725 OPC_RecordChild1,
2726 OPC_Scope, 14,
2727 OPC_CheckChild1TypeI32,
2728 OPC_RecordChild2,
2729 OPC_MoveChild2,
2730 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2731 OPC_MoveParent,
2732 OPC_CheckTypeI32,
2733 OPC_MorphNodeTo1None, TARGET_VAL(SP::TLS_ADDrr),
2734 MVT::i32, 3, 18,
2735 15,
2736 OPC_CheckChild1TypeI64,
2737 OPC_RecordChild2,
2738 OPC_MoveChild2,
2739 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2740 OPC_MoveParent,
2741 OPC_CheckTypeI64,
2742 OPC_CheckPatternPredicate0,
2743 OPC_MorphNodeTo1None, TARGET_VAL(SP::TLS_ADDrr),
2744 MVT::i64, 3, 18,
2745 0,
2746 100, TARGET_VAL(SPISD::Hi),
2747 OPC_RecordChild0,
2748 OPC_MoveChild0,
2749 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::TargetGlobalAddress),
2750 OPC_MoveParent,
2751 OPC_Scope, 8,
2752 OPC_CheckPatternPredicate3,
2753 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2754 15|128,2, 1, 1,
2755 8,
2756 OPC_CheckPatternPredicate0,
2757 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2758 15|128,2, 1, 1,
2759 0,
2760 21, TARGET_VAL(ISD::TargetConstantPool),
2761 OPC_MoveParent,
2762 OPC_Scope, 8,
2763 OPC_CheckPatternPredicate3,
2764 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2765 15|128,2, 1, 1,
2766 8,
2767 OPC_CheckPatternPredicate0,
2768 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2769 15|128,2, 1, 1,
2770 0,
2771 21, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2772 OPC_MoveParent,
2773 OPC_Scope, 8,
2774 OPC_CheckPatternPredicate3,
2775 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2776 15|128,2, 1, 1,
2777 8,
2778 OPC_CheckPatternPredicate0,
2779 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2780 15|128,2, 1, 1,
2781 0,
2782 21, TARGET_VAL(ISD::TargetBlockAddress),
2783 OPC_MoveParent,
2784 OPC_Scope, 8,
2785 OPC_CheckPatternPredicate3,
2786 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2787 15|128,2, 1, 1,
2788 8,
2789 OPC_CheckPatternPredicate0,
2790 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2791 15|128,2, 1, 1,
2792 0,
2793 0,
2794 116, TARGET_VAL(SPISD::Lo),
2795 OPC_RecordChild0,
2796 OPC_MoveChild0,
2797 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
2798 OPC_MoveParent,
2799 OPC_Scope, 10,
2800 OPC_CheckPatternPredicate3,
2801 OPC_EmitRegisterI32, SP::G0,
2802 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2803 15|128,2, 2, 0,
2804 10,
2805 OPC_CheckPatternPredicate0,
2806 OPC_EmitRegisterI64, SP::G0,
2807 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2808 15|128,2, 2, 0,
2809 0,
2810 25, TARGET_VAL(ISD::TargetConstantPool),
2811 OPC_MoveParent,
2812 OPC_Scope, 10,
2813 OPC_CheckPatternPredicate3,
2814 OPC_EmitRegisterI32, SP::G0,
2815 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2816 15|128,2, 2, 0,
2817 10,
2818 OPC_CheckPatternPredicate0,
2819 OPC_EmitRegisterI64, SP::G0,
2820 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2821 15|128,2, 2, 0,
2822 0,
2823 25, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2824 OPC_MoveParent,
2825 OPC_Scope, 10,
2826 OPC_CheckPatternPredicate3,
2827 OPC_EmitRegisterI32, SP::G0,
2828 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2829 15|128,2, 2, 0,
2830 10,
2831 OPC_CheckPatternPredicate0,
2832 OPC_EmitRegisterI64, SP::G0,
2833 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2834 15|128,2, 2, 0,
2835 0,
2836 25, TARGET_VAL(ISD::TargetBlockAddress),
2837 OPC_MoveParent,
2838 OPC_Scope, 10,
2839 OPC_CheckPatternPredicate3,
2840 OPC_EmitRegisterI32, SP::G0,
2841 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2842 15|128,2, 2, 0,
2843 10,
2844 OPC_CheckPatternPredicate0,
2845 OPC_EmitRegisterI64, SP::G0,
2846 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2847 15|128,2, 2, 0,
2848 0,
2849 0,
2850 22, TARGET_VAL(SPISD::BPXCC),
2851 OPC_RecordNode,
2852 OPC_CaptureGlueInput,
2853 OPC_RecordChild1,
2854 OPC_MoveChild1,
2855 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2856 OPC_MoveSibling2,
2857 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2858 OPC_RecordNode,
2859 OPC_MoveParent,
2860 OPC_CheckPatternPredicate0,
2861 OPC_EmitMergeInputChains1_0,
2862 OPC_EmitConvertToTarget2,
2863 OPC_MorphNodeTo0, TARGET_VAL(SP::BPXCC), 0|OPFL_Chain|OPFL_GlueInput,
2864 2, 28,
2865 21, TARGET_VAL(SPISD::BR_REG),
2866 OPC_RecordNode,
2867 OPC_RecordChild1,
2868 OPC_MoveChild1,
2869 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2870 OPC_MoveSibling2,
2871 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2872 OPC_RecordNode,
2873 OPC_MoveParent,
2874 OPC_RecordChild3,
2875 OPC_CheckPatternPredicate1,
2876 OPC_EmitMergeInputChains1_0,
2877 OPC_EmitConvertToTarget2,
2878 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::BPR),
2879 3, 33,
2880 81|128,1, TARGET_VAL(ISD::Constant),
2881 OPC_Scope, 25,
2882 OPC_CheckInteger, 0,
2883 OPC_SwitchType , 8, MVT::i32,
2884 OPC_EmitRegisterI32, SP::G0,
2885 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY),
2886 MVT::i32, 1, 1,
2887 9, MVT::i64,
2888 OPC_CheckPatternPredicate0,
2889 OPC_EmitRegisterI64, SP::G0,
2890 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY),
2891 MVT::i64, 1, 1,
2892 0,
2893 51|128,1,
2894 OPC_RecordNode,
2895 OPC_Scope, 13,
2896 OPC_CheckPredicate, 19,
2897 OPC_CheckTypeI32,
2898 OPC_EmitConvertToTarget0,
2899 OPC_EmitNodeXForm, 2, 1,
2900 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2901 MVT::i32, 1, 17,
2902 27,
2903 OPC_CheckPredicate0,
2904 OPC_SwitchType , 9, MVT::i32,
2905 OPC_EmitRegisterI32, SP::G0,
2906 OPC_EmitConvertToTarget0,
2907 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2908 MVT::i32, 2, 19,
2909 11, MVT::i64,
2910 OPC_EmitRegisterI64, SP::G0,
2911 OPC_EmitNodeXForm, 1, 0,
2912 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2913 MVT::i64, 2, 19,
2914 0,
2915 12,
2916 OPC_CheckPredicate, 19,
2917 OPC_CheckTypeI64,
2918 OPC_EmitNodeXForm, 2, 0,
2919 OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2920 MVT::i64, 1, 7,
2921 22,
2922 OPC_CheckPredicate, 23,
2923 OPC_CheckTypeI64,
2924 OPC_CheckPatternPredicate0,
2925 OPC_EmitNodeXForm, 2, 0,
2926 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2927 MVT::i32, 1, 7,
2928 OPC_EmitNodeXForm, 3, 0,
2929 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2930 MVT::i64, 2, 31,
2931 22,
2932 OPC_CheckPredicate, 24,
2933 OPC_CheckTypeI64,
2934 OPC_CheckPatternPredicate0,
2935 OPC_EmitNodeXForm, 4, 0,
2936 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2937 MVT::i32, 1, 7,
2938 OPC_EmitNodeXForm, 5, 0,
2939 OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
2940 MVT::i64, 2, 31,
2941 21,
2942 OPC_CheckTypeI32,
2943 OPC_EmitConvertToTarget0,
2944 OPC_EmitNodeXForm, 2, 1,
2945 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2946 MVT::i32, 1, 17,
2947 OPC_EmitConvertToTarget0,
2948 OPC_EmitNodeXForm, 3, 4,
2949 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2950 MVT::i32, 2, 53,
2951 52,
2952 OPC_CheckTypeI64,
2953 OPC_CheckPatternPredicate0,
2954 OPC_EmitNodeXForm, 6, 0,
2955 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2956 MVT::i32, 1, 7,
2957 OPC_EmitNodeXForm, 7, 0,
2958 OPC_EmitNode1None, TARGET_VAL(SP::ORri),
2959 MVT::i64, 2, 31,
2960 OPC_EmitIntegerI32, 32,
2961 OPC_EmitNode1None, TARGET_VAL(SP::SLLXri),
2962 MVT::i64, 2, 56,
2963 OPC_EmitNodeXForm, 2, 0,
2964 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2965 MVT::i32, 1, 62,
2966 OPC_EmitNodeXForm, 3, 0,
2967 OPC_EmitNode1None, TARGET_VAL(SP::ORri),
2968 MVT::i32, 2, 67,
2969 OPC_MorphNodeTo1None, TARGET_VAL(SP::ORrr),
2970 MVT::i64, 2, 69,
2971 0,
2972 0,
2973 57, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
2974 OPC_RecordMemRef,
2975 OPC_RecordNode,
2976 OPC_RecordChild1,
2977 OPC_SwitchType , 31, MVT::i32,
2978 OPC_RecordChild2,
2979 OPC_RecordChild3,
2980 OPC_CheckPredicate5,
2981 OPC_Scope, 12,
2982 OPC_CheckPatternPredicate1,
2983 OPC_EmitMergeInputChains1_0,
2984 OPC_EmitIntegerI32, 0|128,1,
2985 OPC_MorphNodeTo1, TARGET_VAL(SP::CASArr), 0|OPFL_Chain|OPFL_MemRefs,
2986 MVT::i32, 4, 45,
2987 12,
2988 OPC_CheckPatternPredicate, 11,
2989 OPC_EmitMergeInputChains1_0,
2990 OPC_EmitIntegerI32, 10,
2991 OPC_MorphNodeTo1, TARGET_VAL(SP::CASArr), 0|OPFL_Chain|OPFL_MemRefs,
2992 MVT::i32, 4, 45,
2993 0,
2994 17, MVT::i64,
2995 OPC_CheckChild1TypeI64,
2996 OPC_RecordChild2,
2997 OPC_RecordChild3,
2998 OPC_CheckPredicate, 15,
2999 OPC_CheckPatternPredicate0,
3000 OPC_EmitMergeInputChains1_0,
3001 OPC_EmitIntegerI32, 0|128,1,
3002 OPC_MorphNodeTo1, TARGET_VAL(SP::CASXArr), 0|OPFL_Chain|OPFL_MemRefs,
3003 MVT::i64, 4, 45,
3004 0,
3005 16, TARGET_VAL(SPISD::FLUSHW),
3006 OPC_RecordNode,
3007 OPC_Scope, 6,
3008 OPC_CheckPatternPredicate1,
3009 OPC_EmitMergeInputChains1_0,
3010 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::FLUSHW),
3011 0,
3012 5,
3013 OPC_EmitMergeInputChains1_0,
3014 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::TA3),
3015 0,
3016 0,
3017 13, TARGET_VAL(ISD::BR),
3018 OPC_RecordNode,
3019 OPC_RecordChild1,
3020 OPC_MoveChild1,
3021 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
3022 OPC_MoveParent,
3023 OPC_EmitMergeInputChains1_0,
3024 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::BA),
3025 1, 7,
3026 6, TARGET_VAL(ISD::TRAP),
3027 OPC_RecordNode,
3028 OPC_EmitMergeInputChains1_0,
3029 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::TA5),
3030 0,
3031 6, TARGET_VAL(ISD::DEBUGTRAP),
3032 OPC_RecordNode,
3033 OPC_EmitMergeInputChains1_0,
3034 OPC_MorphNodeTo0Chain, TARGET_VAL(SP::TA1),
3035 0,
3036 34, TARGET_VAL(SPISD::CMPFCC),
3037 OPC_RecordChild0,
3038 OPC_Scope, 9,
3039 OPC_CheckChild0Type, MVT::f32,
3040 OPC_RecordChild1,
3041 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPS),
3042 MVT::i1, 2, 6,
3043 9,
3044 OPC_CheckChild0Type, MVT::f64,
3045 OPC_RecordChild1,
3046 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPD),
3047 MVT::i1, 2, 6,
3048 10,
3049 OPC_CheckChild0Type, MVT::f128,
3050 OPC_RecordChild1,
3051 OPC_CheckPatternPredicate5,
3052 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPQ),
3053 MVT::i1, 2, 6,
3054 0,
3055 36, TARGET_VAL(SPISD::CMPFCC_V9),
3056 OPC_RecordChild0,
3057 OPC_Scope, 10,
3058 OPC_CheckChild0Type, MVT::f32,
3059 OPC_RecordChild1,
3060 OPC_CheckPatternPredicate1,
3061 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPS_V9),
3062 MVT::i1, 2, 6,
3063 10,
3064 OPC_CheckChild0Type, MVT::f64,
3065 OPC_RecordChild1,
3066 OPC_CheckPatternPredicate1,
3067 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPD_V9),
3068 MVT::i1, 2, 6,
3069 10,
3070 OPC_CheckChild0Type, MVT::f128,
3071 OPC_RecordChild1,
3072 OPC_CheckPatternPredicate1,
3073 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPQ_V9),
3074 MVT::i1, 2, 6,
3075 0,
3076 29, TARGET_VAL(ISD::FrameIndex),
3077 OPC_RecordNode,
3078 OPC_SwitchType , 11, MVT::i32,
3079 OPC_EmitNodeXForm, 8, 0,
3080 OPC_EmitIntegerI32, 0,
3081 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
3082 MVT::i32, 2, 19,
3083 11, MVT::i64,
3084 OPC_EmitNodeXForm, 8, 0,
3085 OPC_EmitIntegerI64, 0,
3086 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
3087 MVT::i64, 2, 19,
3088 0,
3089 11, TARGET_VAL(ISD::TRUNCATE),
3090 OPC_RecordChild0,
3091 OPC_CheckTypeI32,
3092 OPC_CheckPatternPredicate0,
3093 OPC_EmitIntegerI32, SP::IntRegsRegClassID,
3094 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3095 MVT::i32, 2, 6,
3096 14, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
3097 OPC_RecordChild0,
3098 OPC_MoveChild1,
3099 OPC_CheckValueType, MVT::i32,
3100 OPC_MoveParent,
3101 OPC_CheckPatternPredicate0,
3102 OPC_EmitIntegerI32, 0,
3103 OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAri),
3104 MVT::i64, 2, 6,
3105 30, TARGET_VAL(ISD::CTPOP),
3106 OPC_RecordChild0,
3107 OPC_SwitchType , 8, MVT::i64,
3108 OPC_CheckChild0TypeI64,
3109 OPC_CheckPatternPredicate0,
3110 OPC_MorphNodeTo1None, TARGET_VAL(SP::POPCrr),
3111 MVT::i64, 1, 1,
3112 15, MVT::i32,
3113 OPC_CheckChild0TypeI32,
3114 OPC_EmitIntegerI32, 0,
3115 OPC_EmitNode1None, TARGET_VAL(SP::SRLri),
3116 MVT::i32, 2, 6,
3117 OPC_MorphNodeTo1None, TARGET_VAL(SP::POPCrr),
3118 MVT::i32, 1, 17,
3119 0,
3120 10, TARGET_VAL(ISD::MULHU),
3121 OPC_RecordChild0,
3122 OPC_RecordChild1,
3123 OPC_CheckTypeI64,
3124 OPC_CheckPatternPredicate2,
3125 OPC_MorphNodeTo1None, TARGET_VAL(SP::UMULXHI),
3126 MVT::i64, 2, 6,
3127 39, TARGET_VAL(ISD::CTLZ),
3128 OPC_RecordChild0,
3129 OPC_SwitchType , 8, MVT::i64,
3130 OPC_CheckChild0TypeI64,
3131 OPC_CheckPatternPredicate2,
3132 OPC_MorphNodeTo1None, TARGET_VAL(SP::LZCNT),
3133 MVT::i64, 1, 1,
3134 24, MVT::i32,
3135 OPC_CheckChild0TypeI32,
3136 OPC_CheckPatternPredicate2,
3137 OPC_EmitIntegerI32, 0,
3138 OPC_EmitNode1None, TARGET_VAL(SP::SRLri),
3139 MVT::i64, 2, 6,
3140 OPC_EmitNode1None, TARGET_VAL(SP::LZCNT),
3141 MVT::i64, 1, 17,
3142 OPC_EmitIntegerI32, 96,
3143 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
3144 MVT::i32, 2, 47,
3145 0,
3146 39, TARGET_VAL(ISD::CTLZ_ZERO_POISON),
3147 OPC_RecordChild0,
3148 OPC_SwitchType , 8, MVT::i64,
3149 OPC_CheckChild0TypeI64,
3150 OPC_CheckPatternPredicate2,
3151 OPC_MorphNodeTo1None, TARGET_VAL(SP::LZCNT),
3152 MVT::i64, 1, 1,
3153 24, MVT::i32,
3154 OPC_CheckChild0TypeI32,
3155 OPC_CheckPatternPredicate2,
3156 OPC_EmitIntegerI32, 0,
3157 OPC_EmitNode1None, TARGET_VAL(SP::SRLri),
3158 MVT::i64, 2, 6,
3159 OPC_EmitNode1None, TARGET_VAL(SP::LZCNT),
3160 MVT::i64, 1, 17,
3161 OPC_EmitIntegerI32, 96,
3162 OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
3163 MVT::i32, 2, 47,
3164 0,
3165 45, TARGET_VAL(ISD::BITCAST),
3166 OPC_RecordChild0,
3167 OPC_SwitchType , 9, MVT::i32,
3168 OPC_CheckChild0Type, MVT::f32,
3169 OPC_CheckPatternPredicate2,
3170 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVSTOUW),
3171 MVT::i32, 1, 1,
3172 9, MVT::i64,
3173 OPC_CheckChild0Type, MVT::f64,
3174 OPC_CheckPatternPredicate2,
3175 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVDTOX),
3176 MVT::i64, 1, 1,
3177 8, MVT::f32,
3178 OPC_CheckChild0TypeI32,
3179 OPC_CheckPatternPredicate2,
3180 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVWTOS),
3181 MVT::f32, 1, 1,
3182 8, MVT::f64,
3183 OPC_CheckChild0TypeI64,
3184 OPC_CheckPatternPredicate2,
3185 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVXTOD),
3186 MVT::f64, 1, 1,
3187 0,
3188 50, TARGET_VAL(ISD::MULHS),
3189 OPC_RecordChild0,
3190 OPC_RecordChild1,
3191 OPC_CheckTypeI64,
3192 OPC_CheckPatternPredicate2,
3193 OPC_EmitNode1None, TARGET_VAL(SP::UMULXHI),
3194 MVT::i64, 2, 6,
3195 OPC_EmitIntegerI32, 63,
3196 OPC_EmitNode1None, TARGET_VAL(SP::SRAXri),
3197 MVT::i64, 2, 25,
3198 OPC_EmitNode1None, TARGET_VAL(SP::ANDrr),
3199 MVT::i32, 2, 14,
3200 OPC_EmitIntegerI32, 63,
3201 OPC_EmitNode1None, TARGET_VAL(SP::SRAXri),
3202 MVT::i64, 2, 58,
3203 OPC_EmitNode1None, TARGET_VAL(SP::ANDrr),
3204 MVT::i32, 2, 4,
3205 OPC_EmitNode1None, TARGET_VAL(SP::ADDrr),
3206 MVT::i32, 2, 63,
3207 OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBrr),
3208 MVT::i64, 2, 65,
3209 107|128,1, TARGET_VAL(ISD::FNEG),
3210 OPC_Scope, 73|128,1,
3211 OPC_MoveChild0,
3212 OPC_SwitchOpcode , 48, TARGET_VAL(ISD::FMUL),
3213 OPC_Scope, 21,
3214 OPC_MoveChild0,
3215 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
3216 OPC_RecordChild0,
3217 OPC_MoveSibling1,
3218 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
3219 OPC_RecordChild0,
3220 OPC_MoveParent,
3221 OPC_MoveParent,
3222 OPC_CheckType, MVT::f64,
3223 OPC_CheckPatternPredicate2,
3224 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNSMULD),
3225 MVT::f64, 2, 6,
3226 23,
3227 OPC_RecordChild0,
3228 OPC_RecordChild1,
3229 OPC_MoveParent,
3230 OPC_SwitchType , 7, MVT::f32,
3231 OPC_CheckPatternPredicate2,
3232 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNMULS),
3233 MVT::f32, 2, 6,
3234 7, MVT::f64,
3235 OPC_CheckPatternPredicate2,
3236 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNMULD),
3237 MVT::f64, 2, 6,
3238 0,
3239 0,
3240 60, TARGET_VAL(ISD::STRICT_FMA),
3241 OPC_RecordNode,
3242 OPC_RecordChild1,
3243 OPC_RecordChild2,
3244 OPC_Scope, 29,
3245 OPC_MoveChild3,
3246 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
3247 OPC_RecordChild0,
3248 OPC_MoveParent,
3249 OPC_MoveParent,
3250 OPC_SwitchType , 8, MVT::f32,
3251 OPC_CheckPatternPredicate4,
3252 OPC_EmitMergeInputChains1_0,
3253 OPC_MorphNodeTo1Chain, TARGET_VAL(SP::FNMSUBS),
3254 MVT::f32, 3, 30,
3255 8, MVT::f64,
3256 OPC_CheckPatternPredicate4,
3257 OPC_EmitMergeInputChains1_0,
3258 OPC_MorphNodeTo1Chain, TARGET_VAL(SP::FNMSUBD),
3259 MVT::f64, 3, 30,
3260 0,
3261 24,
3262 OPC_RecordChild3,
3263 OPC_MoveParent,
3264 OPC_SwitchType , 8, MVT::f32,
3265 OPC_CheckPatternPredicate4,
3266 OPC_EmitMergeInputChains1_0,
3267 OPC_MorphNodeTo1Chain, TARGET_VAL(SP::FNMADDS),
3268 MVT::f32, 3, 30,
3269 8, MVT::f64,
3270 OPC_CheckPatternPredicate4,
3271 OPC_EmitMergeInputChains1_0,
3272 OPC_MorphNodeTo1Chain, TARGET_VAL(SP::FNMADDD),
3273 MVT::f64, 3, 30,
3274 0,
3275 0,
3276 55, TARGET_VAL(ISD::FMA),
3277 OPC_RecordChild0,
3278 OPC_RecordChild1,
3279 OPC_Scope, 27,
3280 OPC_MoveChild2,
3281 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
3282 OPC_RecordChild0,
3283 OPC_MoveParent,
3284 OPC_MoveParent,
3285 OPC_SwitchType , 7, MVT::f32,
3286 OPC_CheckPatternPredicate4,
3287 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNMSUBS),
3288 MVT::f32, 3, 18,
3289 7, MVT::f64,
3290 OPC_CheckPatternPredicate4,
3291 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNMSUBD),
3292 MVT::f64, 3, 18,
3293 0,
3294 22,
3295 OPC_RecordChild2,
3296 OPC_MoveParent,
3297 OPC_SwitchType , 7, MVT::f32,
3298 OPC_CheckPatternPredicate4,
3299 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNMADDS),
3300 MVT::f32, 3, 18,
3301 7, MVT::f64,
3302 OPC_CheckPatternPredicate4,
3303 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNMADDD),
3304 MVT::f64, 3, 18,
3305 0,
3306 0,
3307 23, TARGET_VAL(ISD::FADD),
3308 OPC_RecordChild0,
3309 OPC_RecordChild1,
3310 OPC_MoveParent,
3311 OPC_SwitchType , 7, MVT::f32,
3312 OPC_CheckPatternPredicate2,
3313 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNADDS),
3314 MVT::f32, 2, 6,
3315 7, MVT::f64,
3316 OPC_CheckPatternPredicate2,
3317 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNADDD),
3318 MVT::f64, 2, 6,
3319 0,
3320 0,
3321 29,
3322 OPC_RecordChild0,
3323 OPC_SwitchType , 6, MVT::f32,
3324 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNEGS),
3325 MVT::f32, 1, 1,
3326 7, MVT::f64,
3327 OPC_CheckPatternPredicate1,
3328 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNEGD),
3329 MVT::f64, 1, 1,
3330 7, MVT::f128,
3331 OPC_CheckPatternPredicate7,
3332 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNEGQ),
3333 MVT::f128, 1, 1,
3334 0,
3335 0,
3336 10|128,2, TARGET_VAL(ISD::FMUL),
3337 OPC_Scope, 102|128,1,
3338 OPC_MoveChild0,
3339 OPC_SwitchOpcode , 56, TARGET_VAL(ISD::FADD),
3340 OPC_RecordChild0,
3341 OPC_RecordChild1,
3342 OPC_MoveSibling1,
3343 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
3344 OPC_Scope, 23,
3345 OPC_CheckPredicate, 8,
3346 OPC_MoveParent,
3347 OPC_SwitchType , 7, MVT::f32,
3348 OPC_CheckPatternPredicate2,
3349 OPC_MorphNodeTo1None, TARGET_VAL(SP::FHADDS),
3350 MVT::f32, 2, 6,
3351 7, MVT::f64,
3352 OPC_CheckPatternPredicate2,
3353 OPC_MorphNodeTo1None, TARGET_VAL(SP::FHADDD),
3354 MVT::f64, 2, 6,
3355 0,
3356 23,
3357 OPC_CheckPredicate, 13,
3358 OPC_MoveParent,
3359 OPC_SwitchType , 7, MVT::f32,
3360 OPC_CheckPatternPredicate2,
3361 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNHADDS),
3362 MVT::f32, 2, 6,
3363 7, MVT::f64,
3364 OPC_CheckPatternPredicate2,
3365 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNHADDD),
3366 MVT::f64, 2, 6,
3367 0,
3368 0,
3369 29, TARGET_VAL(ISD::FSUB),
3370 OPC_RecordChild0,
3371 OPC_RecordChild1,
3372 OPC_MoveSibling1,
3373 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
3374 OPC_CheckPredicate, 8,
3375 OPC_MoveParent,
3376 OPC_SwitchType , 7, MVT::f32,
3377 OPC_CheckPatternPredicate2,
3378 OPC_MorphNodeTo1None, TARGET_VAL(SP::FHSUBS),
3379 MVT::f32, 2, 6,
3380 7, MVT::f64,
3381 OPC_CheckPatternPredicate2,
3382 OPC_MorphNodeTo1None, TARGET_VAL(SP::FHSUBD),
3383 MVT::f64, 2, 6,
3384 0,
3385 90, TARGET_VAL(ISD::ConstantFP),
3386 OPC_Scope, 57,
3387 OPC_CheckPredicate, 8,
3388 OPC_MoveSibling1,
3389 OPC_SwitchOpcode , 23, TARGET_VAL(ISD::FADD),
3390 OPC_RecordChild0,
3391 OPC_RecordChild1,
3392 OPC_MoveParent,
3393 OPC_SwitchType , 7, MVT::f32,
3394 OPC_CheckPatternPredicate2,
3395 OPC_MorphNodeTo1None, TARGET_VAL(SP::FHADDS),
3396 MVT::f32, 2, 6,
3397 7, MVT::f64,
3398 OPC_CheckPatternPredicate2,
3399 OPC_MorphNodeTo1None, TARGET_VAL(SP::FHADDD),
3400 MVT::f64, 2, 6,
3401 0,
3402 23, TARGET_VAL(ISD::FSUB),
3403 OPC_RecordChild0,
3404 OPC_RecordChild1,
3405 OPC_MoveParent,
3406 OPC_SwitchType , 7, MVT::f32,
3407 OPC_CheckPatternPredicate2,
3408 OPC_MorphNodeTo1None, TARGET_VAL(SP::FHSUBS),
3409 MVT::f32, 2, 6,
3410 7, MVT::f64,
3411 OPC_CheckPatternPredicate2,
3412 OPC_MorphNodeTo1None, TARGET_VAL(SP::FHSUBD),
3413 MVT::f64, 2, 6,
3414 0,
3415 0,
3416 29,
3417 OPC_CheckPredicate, 13,
3418 OPC_MoveSibling1,
3419 OPC_CheckOpcode, TARGET_VAL(ISD::FADD),
3420 OPC_RecordChild0,
3421 OPC_RecordChild1,
3422 OPC_MoveParent,
3423 OPC_SwitchType , 7, MVT::f32,
3424 OPC_CheckPatternPredicate2,
3425 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNHADDS),
3426 MVT::f32, 2, 6,
3427 7, MVT::f64,
3428 OPC_CheckPatternPredicate2,
3429 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNHADDD),
3430 MVT::f64, 2, 6,
3431 0,
3432 0,
3433 40, TARGET_VAL(ISD::FP_EXTEND),
3434 OPC_RecordChild0,
3435 OPC_Scope, 16,
3436 OPC_MoveSibling1,
3437 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
3438 OPC_RecordChild0,
3439 OPC_MoveParent,
3440 OPC_CheckType, MVT::f64,
3441 OPC_CheckPatternPredicate, 12,
3442 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSMULD),
3443 MVT::f64, 2, 6,
3444 19,
3445 OPC_CheckChild0Type, MVT::f64,
3446 OPC_MoveSibling1,
3447 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
3448 OPC_RecordChild0,
3449 OPC_CheckChild0Type, MVT::f64,
3450 OPC_MoveParent,
3451 OPC_CheckType, MVT::f128,
3452 OPC_CheckPatternPredicate5,
3453 OPC_MorphNodeTo1None, TARGET_VAL(SP::FDMULQ),
3454 MVT::f128, 2, 6,
3455 0,
3456 0,
3457 31,
3458 OPC_RecordChild0,
3459 OPC_RecordChild1,
3460 OPC_SwitchType , 8, MVT::f32,
3461 OPC_CheckPatternPredicate, 13,
3462 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMULS),
3463 MVT::f32, 2, 6,
3464 6, MVT::f64,
3465 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMULD),
3466 MVT::f64, 2, 6,
3467 7, MVT::f128,
3468 OPC_CheckPatternPredicate5,
3469 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMULQ),
3470 MVT::f128, 2, 6,
3471 0,
3472 0,
3473 58, TARGET_VAL(ISD::STRICT_FMA),
3474 OPC_RecordNode,
3475 OPC_RecordChild1,
3476 OPC_RecordChild2,
3477 OPC_Scope, 28,
3478 OPC_MoveChild3,
3479 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
3480 OPC_RecordChild0,
3481 OPC_MoveParent,
3482 OPC_SwitchType , 8, MVT::f32,
3483 OPC_CheckPatternPredicate4,
3484 OPC_EmitMergeInputChains1_0,
3485 OPC_MorphNodeTo1Chain, TARGET_VAL(SP::FMSUBS),
3486 MVT::f32, 3, 30,
3487 8, MVT::f64,
3488 OPC_CheckPatternPredicate4,
3489 OPC_EmitMergeInputChains1_0,
3490 OPC_MorphNodeTo1Chain, TARGET_VAL(SP::FMSUBD),
3491 MVT::f64, 3, 30,
3492 0,
3493 23,
3494 OPC_RecordChild3,
3495 OPC_SwitchType , 8, MVT::f32,
3496 OPC_CheckPatternPredicate4,
3497 OPC_EmitMergeInputChains1_0,
3498 OPC_MorphNodeTo1Chain, TARGET_VAL(SP::FMADDS),
3499 MVT::f32, 3, 30,
3500 8, MVT::f64,
3501 OPC_CheckPatternPredicate4,
3502 OPC_EmitMergeInputChains1_0,
3503 OPC_MorphNodeTo1Chain, TARGET_VAL(SP::FMADDD),
3504 MVT::f64, 3, 30,
3505 0,
3506 0,
3507 53, TARGET_VAL(ISD::FMA),
3508 OPC_RecordChild0,
3509 OPC_RecordChild1,
3510 OPC_Scope, 26,
3511 OPC_MoveChild2,
3512 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
3513 OPC_RecordChild0,
3514 OPC_MoveParent,
3515 OPC_SwitchType , 7, MVT::f32,
3516 OPC_CheckPatternPredicate4,
3517 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMSUBS),
3518 MVT::f32, 3, 18,
3519 7, MVT::f64,
3520 OPC_CheckPatternPredicate4,
3521 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMSUBD),
3522 MVT::f64, 3, 18,
3523 0,
3524 21,
3525 OPC_RecordChild2,
3526 OPC_SwitchType , 7, MVT::f32,
3527 OPC_CheckPatternPredicate4,
3528 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMADDS),
3529 MVT::f32, 3, 18,
3530 7, MVT::f64,
3531 OPC_CheckPatternPredicate4,
3532 OPC_MorphNodeTo1None, TARGET_VAL(SP::FMADDD),
3533 MVT::f64, 3, 18,
3534 0,
3535 0,
3536 38|128,1, TARGET_VAL(ISD::ConstantFP),
3537 OPC_Scope, 22,
3538 OPC_CheckPredicate, 25,
3539 OPC_SwitchType , 7, MVT::f64,
3540 OPC_CheckPatternPredicate, 9,
3541 OPC_MorphNodeTo1None, TARGET_VAL(SP::FZERO),
3542 MVT::f64, 0,
3543 7, MVT::f32,
3544 OPC_CheckPatternPredicate, 9,
3545 OPC_MorphNodeTo1None, TARGET_VAL(SP::FZEROS),
3546 MVT::f32, 0,
3547 0,
3548 34,
3549 OPC_CheckPredicate, 26,
3550 OPC_SwitchType , 13, MVT::f64,
3551 OPC_CheckPatternPredicate, 9,
3552 OPC_EmitNode1None, TARGET_VAL(SP::FZERO),
3553 MVT::f64, 0,
3554 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNEGD),
3555 MVT::f64, 1, 1,
3556 13, MVT::f32,
3557 OPC_CheckPatternPredicate, 9,
3558 OPC_EmitNode1None, TARGET_VAL(SP::FZEROS),
3559 MVT::f32, 0,
3560 OPC_MorphNodeTo1None, TARGET_VAL(SP::FNEGS),
3561 MVT::f32, 1, 1,
3562 0,
3563 21,
3564 OPC_CheckPredicate, 8,
3565 OPC_CheckType, MVT::f32,
3566 OPC_CheckPatternPredicate2,
3567 OPC_EmitIntegerI32, 0|128,0|128,63,
3568 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
3569 MVT::i32, 1, 1,
3570 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVWTOS),
3571 MVT::f32, 1, 7,
3572 22,
3573 OPC_CheckPredicate, 13,
3574 OPC_CheckType, MVT::f32,
3575 OPC_CheckPatternPredicate2,
3576 OPC_EmitIntegerI32, 0|128,0|128,63|128,1,
3577 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
3578 MVT::i32, 1, 1,
3579 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVWTOS),
3580 MVT::f32, 1, 7,
3581 29,
3582 OPC_CheckPredicate, 8,
3583 OPC_CheckType, MVT::f64,
3584 OPC_CheckPatternPredicate2,
3585 OPC_EmitIntegerI32, 0|128,112|128,63,
3586 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
3587 MVT::i64, 1, 1,
3588 OPC_EmitIntegerI32, 32,
3589 OPC_EmitNode1None, TARGET_VAL(SP::SLLXri),
3590 MVT::i64, 2, 19,
3591 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVXTOD),
3592 MVT::f64, 1, 26,
3593 30,
3594 OPC_CheckPredicate, 13,
3595 OPC_CheckType, MVT::f64,
3596 OPC_CheckPatternPredicate2,
3597 OPC_EmitIntegerI32, 0|128,112|128,63|128,1,
3598 OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
3599 MVT::i64, 1, 1,
3600 OPC_EmitIntegerI32, 32,
3601 OPC_EmitNode1None, TARGET_VAL(SP::SLLXri),
3602 MVT::i64, 2, 19,
3603 OPC_MorphNodeTo1None, TARGET_VAL(SP::MOVXTOD),
3604 MVT::f64, 1, 26,
3605 0,
3606 28, TARGET_VAL(SPISD::ITOF),
3607 OPC_RecordChild0,
3608 OPC_SwitchType , 6, MVT::f32,
3609 OPC_MorphNodeTo1None, TARGET_VAL(SP::FITOS),
3610 MVT::f32, 1, 1,
3611 6, MVT::f64,
3612 OPC_MorphNodeTo1None, TARGET_VAL(SP::FITOD),
3613 MVT::f64, 1, 1,
3614 7, MVT::f128,
3615 OPC_CheckPatternPredicate5,
3616 OPC_MorphNodeTo1None, TARGET_VAL(SP::FITOQ),
3617 MVT::f128, 1, 1,
3618 0,
3619 31, TARGET_VAL(SPISD::FTOI),
3620 OPC_RecordChild0,
3621 OPC_Scope, 8,
3622 OPC_CheckChild0Type, MVT::f32,
3623 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSTOI),
3624 MVT::f32, 1, 1,
3625 8,
3626 OPC_CheckChild0Type, MVT::f64,
3627 OPC_MorphNodeTo1None, TARGET_VAL(SP::FDTOI),
3628 MVT::f32, 1, 1,
3629 9,
3630 OPC_CheckChild0Type, MVT::f128,
3631 OPC_CheckPatternPredicate5,
3632 OPC_MorphNodeTo1None, TARGET_VAL(SP::FQTOI),
3633 MVT::f32, 1, 1,
3634 0,
3635 35, TARGET_VAL(ISD::FP_EXTEND),
3636 OPC_RecordChild0,
3637 OPC_SwitchType , 6, MVT::f64,
3638 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSTOD),
3639 MVT::f64, 1, 1,
3640 22, MVT::f128,
3641 OPC_Scope, 9,
3642 OPC_CheckChild0Type, MVT::f32,
3643 OPC_CheckPatternPredicate5,
3644 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSTOQ),
3645 MVT::f128, 1, 1,
3646 9,
3647 OPC_CheckChild0Type, MVT::f64,
3648 OPC_CheckPatternPredicate5,
3649 OPC_MorphNodeTo1None, TARGET_VAL(SP::FDTOQ),
3650 MVT::f128, 1, 1,
3651 0,
3652 0,
3653 35, TARGET_VAL(ISD::FP_ROUND),
3654 OPC_RecordChild0,
3655 OPC_SwitchType , 21, MVT::f32,
3656 OPC_Scope, 8,
3657 OPC_CheckChild0Type, MVT::f64,
3658 OPC_MorphNodeTo1None, TARGET_VAL(SP::FDTOS),
3659 MVT::f32, 1, 1,
3660 9,
3661 OPC_CheckChild0Type, MVT::f128,
3662 OPC_CheckPatternPredicate5,
3663 OPC_MorphNodeTo1None, TARGET_VAL(SP::FQTOS),
3664 MVT::f32, 1, 1,
3665 0,
3666 7, MVT::f64,
3667 OPC_CheckPatternPredicate5,
3668 OPC_MorphNodeTo1None, TARGET_VAL(SP::FQTOD),
3669 MVT::f64, 1, 1,
3670 0,
3671 29, TARGET_VAL(ISD::FABS),
3672 OPC_RecordChild0,
3673 OPC_SwitchType , 6, MVT::f32,
3674 OPC_MorphNodeTo1None, TARGET_VAL(SP::FABSS),
3675 MVT::f32, 1, 1,
3676 7, MVT::f64,
3677 OPC_CheckPatternPredicate1,
3678 OPC_MorphNodeTo1None, TARGET_VAL(SP::FABSD),
3679 MVT::f64, 1, 1,
3680 7, MVT::f128,
3681 OPC_CheckPatternPredicate7,
3682 OPC_MorphNodeTo1None, TARGET_VAL(SP::FABSQ),
3683 MVT::f128, 1, 1,
3684 0,
3685 30, TARGET_VAL(ISD::FSQRT),
3686 OPC_RecordChild0,
3687 OPC_SwitchType , 8, MVT::f32,
3688 OPC_CheckPatternPredicate, 14,
3689 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSQRTS),
3690 MVT::f32, 1, 1,
3691 6, MVT::f64,
3692 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSQRTD),
3693 MVT::f64, 1, 1,
3694 7, MVT::f128,
3695 OPC_CheckPatternPredicate5,
3696 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSQRTQ),
3697 MVT::f128, 1, 1,
3698 0,
3699 29, TARGET_VAL(ISD::FADD),
3700 OPC_RecordChild0,
3701 OPC_RecordChild1,
3702 OPC_SwitchType , 6, MVT::f32,
3703 OPC_MorphNodeTo1None, TARGET_VAL(SP::FADDS),
3704 MVT::f32, 2, 6,
3705 6, MVT::f64,
3706 OPC_MorphNodeTo1None, TARGET_VAL(SP::FADDD),
3707 MVT::f64, 2, 6,
3708 7, MVT::f128,
3709 OPC_CheckPatternPredicate5,
3710 OPC_MorphNodeTo1None, TARGET_VAL(SP::FADDQ),
3711 MVT::f128, 2, 6,
3712 0,
3713 29, TARGET_VAL(ISD::FSUB),
3714 OPC_RecordChild0,
3715 OPC_RecordChild1,
3716 OPC_SwitchType , 6, MVT::f32,
3717 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSUBS),
3718 MVT::f32, 2, 6,
3719 6, MVT::f64,
3720 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSUBD),
3721 MVT::f64, 2, 6,
3722 7, MVT::f128,
3723 OPC_CheckPatternPredicate5,
3724 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSUBQ),
3725 MVT::f128, 2, 6,
3726 0,
3727 29, TARGET_VAL(ISD::FDIV),
3728 OPC_RecordChild0,
3729 OPC_RecordChild1,
3730 OPC_SwitchType , 6, MVT::f32,
3731 OPC_MorphNodeTo1None, TARGET_VAL(SP::FDIVS),
3732 MVT::f32, 2, 6,
3733 6, MVT::f64,
3734 OPC_MorphNodeTo1None, TARGET_VAL(SP::FDIVD),
3735 MVT::f64, 2, 6,
3736 7, MVT::f128,
3737 OPC_CheckPatternPredicate5,
3738 OPC_MorphNodeTo1None, TARGET_VAL(SP::FDIVQ),
3739 MVT::f128, 2, 6,
3740 0,
3741 30, TARGET_VAL(SPISD::XTOF),
3742 OPC_RecordChild0,
3743 OPC_SwitchType , 7, MVT::f32,
3744 OPC_CheckPatternPredicate1,
3745 OPC_MorphNodeTo1None, TARGET_VAL(SP::FXTOS),
3746 MVT::f32, 1, 1,
3747 7, MVT::f64,
3748 OPC_CheckPatternPredicate1,
3749 OPC_MorphNodeTo1None, TARGET_VAL(SP::FXTOD),
3750 MVT::f64, 1, 1,
3751 7, MVT::f128,
3752 OPC_CheckPatternPredicate7,
3753 OPC_MorphNodeTo1None, TARGET_VAL(SP::FXTOQ),
3754 MVT::f128, 1, 1,
3755 0,
3756 33, TARGET_VAL(SPISD::FTOX),
3757 OPC_RecordChild0,
3758 OPC_Scope, 9,
3759 OPC_CheckChild0Type, MVT::f32,
3760 OPC_CheckPatternPredicate1,
3761 OPC_MorphNodeTo1None, TARGET_VAL(SP::FSTOX),
3762 MVT::f64, 1, 1,
3763 9,
3764 OPC_CheckChild0Type, MVT::f64,
3765 OPC_CheckPatternPredicate1,
3766 OPC_MorphNodeTo1None, TARGET_VAL(SP::FDTOX),
3767 MVT::f64, 1, 1,
3768 9,
3769 OPC_CheckChild0Type, MVT::f128,
3770 OPC_CheckPatternPredicate7,
3771 OPC_MorphNodeTo1None, TARGET_VAL(SP::FQTOX),
3772 MVT::f64, 1, 1,
3773 0,
3774 67, TARGET_VAL(ISD::BUILD_VECTOR),
3775 OPC_CheckType, MVT::v2i32,
3776 OPC_Scope, 36,
3777 OPC_CheckChild0Integer, 0,
3778 OPC_CheckChild0TypeI32,
3779 OPC_RecordChild1,
3780 OPC_CheckChild1TypeI32,
3781 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3782 MVT::v2i32, 0,
3783 OPC_EmitRegisterI32, SP::G0,
3784 OPC_EmitRegisterI32, SP::G0,
3785 OPC_EmitNode1None, TARGET_VAL(SP::ORrr),
3786 MVT::i32, 2, 31,
3787 OPC_EmitIntegerI32, SP::sub_even,
3788 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3789 MVT::v2i32, 3, 55,
3790 OPC_EmitIntegerI32, SP::sub_odd,
3791 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3792 MVT::v2i32, 3, 60,
3793 25,
3794 OPC_RecordChild0,
3795 OPC_CheckChild0TypeI32,
3796 OPC_RecordChild1,
3797 OPC_CheckChild1TypeI32,
3798 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3799 MVT::v2i32, 0,
3800 OPC_EmitIntegerI32, SP::sub_even,
3801 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3802 MVT::v2i32, 3, 24,
3803 OPC_EmitIntegerI32, SP::sub_odd,
3804 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3805 MVT::v2i32, 3, 50,
3806 0,
3807 0,
3808 }; // Total Array size is 7145 bytes
3809
3810 static const uint8_t OperandLists[] = {
3811 /* 0 */ 1, 0,
3812 /* 2 */ 2, 0,
3813 /* 4 */ 7, 0,
3814 /* 6 */ 0, 1,
3815 /* 8 */ 2, 1,
3816 /* 10 */ 2, 3, 1,
3817 /* 13 */ 3, 4, 1,
3818 /* 16 */ 0, 2,
3819 /* 18 */ 0, 1, 2,
3820 /* 21 */ 3, 4, 2,
3821 /* 24 */ 2, 0, 3,
3822 /* 27 */ 0, 1, 3,
3823 /* 30 */ 1, 2, 3,
3824 /* 33 */ 1, 4, 3,
3825 /* 36 */ 0, 4,
3826 /* 38 */ 3, 0, 1, 4,
3827 /* 42 */ 3, 1, 4,
3828 /* 45 */ 1, 2, 3, 4,
3829 /* 49 */ 3, 4, 1, 5,
3830 /* 53 */ 3, 5,
3831 /* 55 */ 1, 4, 5,
3832 /* 58 */ 1, 6,
3833 /* 60 */ 6, 0, 7,
3834 /* 63 */ 5, 8,
3835 /* 65 */ 2, 9,
3836 /* 67 */ 8, 9,
3837 /* 69 */ 6, 10,
3838 };
3839
3840 #undef COVERAGE_IDX_VAL
3841 #undef TARGET_VAL
3842 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable),
3843 OperandLists);
3844}
3845#endif // GET_DAGISEL_BODY
3846
3847#ifdef GET_DAGISEL_DECL
3848bool CheckPatternPredicate(unsigned PredNo) const override;
3849#endif
3850#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
3851bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
3852#if DAGISEL_INLINE
3853 override
3854#endif
3855{
3856 switch (PredNo) {
3857 default: llvm_unreachable("Invalid predicate in table?");
3858 case 0: return (Subtarget->is64Bit());
3859 case 1: return (Subtarget->isV9());
3860 case 2: return (Subtarget->isVIS3());
3861 case 3: return (!Subtarget->is64Bit());
3862 case 4: return (Subtarget->isUA2007());
3863 case 5: return (Subtarget->hasHardQuad());
3864 case 6: return (!Subtarget->isV9());
3865 case 7: return (Subtarget->hasHardQuad()) && (Subtarget->isV9());
3866 case 8: return (Subtarget->isV9()) && (Subtarget->is64Bit());
3867 case 9: return (Subtarget->isVIS());
3868 case 10: return (Subtarget->hasHardQuad()) && (Subtarget->is64Bit());
3869 case 11: return (Subtarget->hasLeonCasa());
3870 case 12: return (!Subtarget->hasNoFSMULD());
3871 case 13: return (!Subtarget->hasNoFMULS());
3872 case 14: return (!Subtarget->fixAllFDIVSQRT());
3873 }
3874}
3875#endif // GET_DAGISEL_BODY
3876
3877#ifdef GET_DAGISEL_DECL
3878bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
3879#endif
3880#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
3881bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
3882#if DAGISEL_INLINE
3883 override
3884#endif
3885{
3886 switch (PredNo) {
3887 default: llvm_unreachable("Invalid predicate in table?");
3888 case 0: {
3889 // Predicate_simm13
3890 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
3891 (void)N;
3892 return isInt<13>(x: N->getSExtValue());
3893 }
3894 case 1: {
3895 // Predicate_atomic_load_aext_8
3896 // Predicate_atomic_load_zext_8
3897 // Predicate_atomic_store_8
3898 // Predicate_extloadi8
3899 // Predicate_sextloadi8
3900 // Predicate_truncstorei8
3901 // Predicate_zextloadi8
3902 SDNode *N = Op.getNode();
3903 (void)N;
3904if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
3905return true;
3906
3907 }
3908 case 2: {
3909 // Predicate_atomic_load_aext_16
3910 // Predicate_atomic_load_zext_16
3911 // Predicate_atomic_store_16
3912 // Predicate_extloadi16
3913 // Predicate_sextloadi16
3914 // Predicate_truncstorei16
3915 // Predicate_zextloadi16
3916 SDNode *N = Op.getNode();
3917 (void)N;
3918if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
3919return true;
3920
3921 }
3922 case 3: {
3923 // Predicate_unindexedstore
3924 SDNode *N = Op.getNode();
3925 (void)N;
3926if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
3927return true;
3928
3929 }
3930 case 4: {
3931 // Predicate_store
3932 SDNode *N = Op.getNode();
3933 (void)N;
3934 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
3935return true;
3936
3937 }
3938 case 5: {
3939 // Predicate_atomic_cmp_swap_i32
3940 // Predicate_atomic_load_nonext_32
3941 // Predicate_atomic_store_32
3942 // Predicate_atomic_swap_i32
3943 // Predicate_extloadi32
3944 // Predicate_sextloadi32
3945 // Predicate_truncstorei32
3946 // Predicate_zextloadi32
3947 SDNode *N = Op.getNode();
3948 (void)N;
3949if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
3950return true;
3951
3952 }
3953 case 6: {
3954 // Predicate_zextload
3955 SDNode *N = Op.getNode();
3956 (void)N;
3957if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
3958return true;
3959
3960 }
3961 case 7: {
3962 // Predicate_extload
3963 SDNode *N = Op.getNode();
3964 (void)N;
3965if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
3966return true;
3967
3968 }
3969 case 8: {
3970 // Predicate_fpimmhalf
3971 const APFloat & Imm = cast<ConstantFPSDNode>(Val: Op.getNode())->getValueAPF();
3972return Imm.isExactlyValue(V: +0.5);
3973 }
3974 case 9: {
3975 // Predicate_sextload
3976 SDNode *N = Op.getNode();
3977 (void)N;
3978if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
3979return true;
3980
3981 }
3982 case 10: {
3983 // Predicate_extloadi1
3984 // Predicate_zextloadi1
3985 SDNode *N = Op.getNode();
3986 (void)N;
3987if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i1) return false;
3988return true;
3989
3990 }
3991 case 11: {
3992 // Predicate_atomic_load_aext
3993 SDNode *N = Op.getNode();
3994 (void)N;
3995if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
3996return true;
3997
3998 }
3999 case 12: {
4000 // Predicate_atomic_load_zext
4001 SDNode *N = Op.getNode();
4002 (void)N;
4003if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
4004return true;
4005
4006 }
4007 case 13: {
4008 // Predicate_fpnegimmhalf
4009 const APFloat & Imm = cast<ConstantFPSDNode>(Val: Op.getNode())->getValueAPF();
4010return Imm.isExactlyValue(V: -0.5);
4011 }
4012 case 14: {
4013 // Predicate_load
4014 SDNode *N = Op.getNode();
4015 (void)N;
4016if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
4017return true;
4018
4019 }
4020 case 15: {
4021 // Predicate_atomic_cmp_swap_i64
4022 // Predicate_atomic_load_nonext_64
4023 // Predicate_atomic_store_64
4024 SDNode *N = Op.getNode();
4025 (void)N;
4026if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
4027return true;
4028
4029 }
4030 case 16: {
4031 // Predicate_simm11
4032 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
4033 (void)N;
4034 return isInt<11>(x: N->getSExtValue());
4035 }
4036 case 17: {
4037 // Predicate_truncstore
4038 SDNode *N = Op.getNode();
4039 (void)N;
4040 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
4041return true;
4042
4043 }
4044 case 18: {
4045 // Predicate_SETHIimm_not
4046 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
4047 (void)N;
4048
4049 return N->hasOneUse() && isShiftedUInt<22, 10>(x: ~(unsigned)N->getZExtValue());
4050
4051 }
4052 case 19: {
4053 // Predicate_SETHIimm
4054 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
4055 (void)N;
4056
4057 return isShiftedUInt<22, 10>(x: N->getZExtValue());
4058
4059 }
4060 case 20: {
4061 // Predicate_unindexedload
4062 SDNode *N = Op.getNode();
4063 (void)N;
4064if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
4065return true;
4066
4067 }
4068 case 21: {
4069 // Predicate_atomic_load_nonext
4070 SDNode *N = Op.getNode();
4071 (void)N;
4072if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
4073return true;
4074
4075 }
4076 case 22: {
4077 // Predicate_simm10
4078 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
4079 (void)N;
4080 return isInt<10>(x: N->getSExtValue());
4081 }
4082 case 23: {
4083 // Predicate_uimm32
4084 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
4085 (void)N;
4086 return isUInt<32>(x: N->getZExtValue());
4087 }
4088 case 24: {
4089 // Predicate_nimm33
4090 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
4091 (void)N;
4092
4093 int64_t Imm = N->getSExtValue();
4094 return Imm < 0 && isInt<33>(x: Imm);
4095
4096 }
4097 case 25: {
4098 // Predicate_fpimm0
4099 const APFloat & Imm = cast<ConstantFPSDNode>(Val: Op.getNode())->getValueAPF();
4100return Imm.isPosZero();
4101 }
4102 case 26: {
4103 // Predicate_fpnegimm0
4104 const APFloat & Imm = cast<ConstantFPSDNode>(Val: Op.getNode())->getValueAPF();
4105return Imm.isNegZero();
4106 }
4107 }
4108}
4109#endif // GET_DAGISEL_BODY
4110
4111#ifdef GET_DAGISEL_DECL
4112bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
4113 SDValue N, unsigned PatternNo,
4114 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
4115#endif
4116#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
4117bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
4118 SDValue N, unsigned PatternNo,
4119 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
4120#if DAGISEL_INLINE
4121 override
4122#endif
4123{
4124 unsigned NextRes = Result.size();
4125 switch (PatternNo) {
4126 default: llvm_unreachable("Invalid pattern # in table?");
4127 case 0:
4128 Result.resize(N: NextRes+2);
4129 return SelectADDRrr(N, R1&: Result[NextRes+0].first, R2&: Result[NextRes+1].first);
4130 case 1:
4131 Result.resize(N: NextRes+2);
4132 return SelectADDRri(N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
4133 case 2:
4134 Result.resize(N: NextRes+2);
4135 return SelectForceADDRrr(N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
4136 }
4137}
4138#endif // GET_DAGISEL_BODY
4139
4140#ifdef GET_DAGISEL_DECL
4141SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
4142#endif
4143#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
4144SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
4145#if DAGISEL_INLINE
4146 override
4147#endif
4148{
4149 switch (XFormNo) {
4150 default: llvm_unreachable("Invalid xform # in table?");
4151 case 0: {
4152 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
4153
4154 return CurDAG->getTargetConstant(Val: ~(unsigned)N->getZExtValue() >> 10, DL: SDLoc(N),
4155 VT: MVT::i32);
4156
4157 }
4158 case 1: {
4159 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
4160
4161 return CurDAG->getSignedTargetConstant(Val: N->getSExtValue(), DL: SDLoc(N), VT: MVT::i32);
4162
4163 }
4164 case 2: {
4165 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
4166
4167 // Transformation function: shift the immediate value down into the low bits.
4168 return CurDAG->getTargetConstant(Val: (unsigned)N->getZExtValue() >> 10, DL: SDLoc(N),
4169 VT: MVT::i32);
4170
4171 }
4172 case 3: {
4173 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
4174
4175 return CurDAG->getTargetConstant(Val: (unsigned)N->getZExtValue() & 1023, DL: SDLoc(N),
4176 VT: MVT::i32);
4177
4178 }
4179 case 4: {
4180 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
4181
4182 uint64_t Val = (~N->getZExtValue() >> 10) & ((1u << 22) - 1);
4183 return CurDAG->getTargetConstant(Val, DL: SDLoc(N), VT: MVT::i32);
4184
4185 }
4186 case 5: {
4187 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
4188
4189 return CurDAG->getSignedTargetConstant(Val: ~(~N->getZExtValue() & 0x3ff),
4190 DL: SDLoc(N), VT: MVT::i32);
4191
4192 }
4193 case 6: {
4194 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
4195
4196 uint64_t Val = (N->getZExtValue() >> 42) & ((1u << 22) - 1);
4197 return CurDAG->getTargetConstant(Val, DL: SDLoc(N), VT: MVT::i32);
4198
4199 }
4200 case 7: {
4201 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
4202
4203 uint64_t Val = (N->getZExtValue() >> 32) & ((1u << 10) - 1);
4204 return CurDAG->getTargetConstant(Val, DL: SDLoc(N), VT: MVT::i32);
4205
4206 }
4207 case 8: {
4208 FrameIndexSDNode *N = cast<FrameIndexSDNode>(Val: V.getNode());
4209
4210 return CurDAG->getTargetFrameIndex(FI: N->getIndex(), VT: N->getValueType(ResNo: 0));
4211
4212 }
4213 }
4214}
4215#endif // GET_DAGISEL_BODY
4216
4217
4218#ifdef DAGISEL_INLINE
4219#undef DAGISEL_INLINE
4220#endif
4221#ifdef DAGISEL_CLASS_COLONCOLON
4222#undef DAGISEL_CLASS_COLONCOLON
4223#endif
4224#ifdef GET_DAGISEL_DECL
4225#undef GET_DAGISEL_DECL
4226#endif
4227#ifdef GET_DAGISEL_BODY
4228#undef GET_DAGISEL_BODY
4229#endif
4230