Coverage Report

Created: 2024-01-17 10:31

/src/build/lib/Target/Sparc/SparcGenDAGISel.inc
Line
Count
Source (jump to first uncovered line)
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
29
static_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
48
void SelectCode(SDNode *N);
49
#endif
50
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51
void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52
0
{
53
  // Some target values are emitted as 2 bytes, TARGET_VAL handles
54
  // this.
55
0
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56
0
  static const unsigned char MatcherTable[] = {
57
0
 OPC_SwitchOpcode , 114|128,3, TARGET_VAL(ISD::STORE),
58
0
  OPC_RecordMemRef,
59
0
  OPC_RecordNode,
60
0
  OPC_Scope, 75, 
61
0
   OPC_CheckChild1Integer, 0, 
62
0
   OPC_Scope, 34, 
63
0
    OPC_CheckChild1TypeI32,
64
0
    OPC_RecordChild2,
65
0
    OPC_CheckPredicate4, 
66
0
    OPC_CheckPredicate3, 
67
0
    OPC_Scope, 13, 
68
0
     OPC_CheckComplexPat0, /*#*/1,
69
0
     OPC_EmitMergeInputChains1_0,
70
0
     OPC_EmitRegisterI32, SP::G0,
71
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STrr), 0|OPFL_Chain|OPFL_MemRefs,
72
0
                   3, 2, 3, 4, 
73
0
    13, 
74
0
     OPC_CheckComplexPat1, /*#*/1,
75
0
     OPC_EmitMergeInputChains1_0,
76
0
     OPC_EmitRegisterI32, SP::G0,
77
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STri), 0|OPFL_Chain|OPFL_MemRefs,
78
0
                   3, 2, 3, 4, 
79
0
    0, 
80
0
   35, 
81
0
    OPC_CheckChild1TypeI64,
82
0
    OPC_RecordChild2,
83
0
    OPC_CheckPredicate4, 
84
0
    OPC_CheckPredicate3, 
85
0
    OPC_CheckPatternPredicate0,
86
0
    OPC_Scope, 13, 
87
0
     OPC_CheckComplexPat0, /*#*/1,
88
0
     OPC_EmitMergeInputChains1_0,
89
0
     OPC_EmitRegisterI64, SP::G0,
90
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STXrr), 0|OPFL_Chain|OPFL_MemRefs,
91
0
                   3, 2, 3, 4, 
92
0
    13, 
93
0
     OPC_CheckComplexPat1, /*#*/1,
94
0
     OPC_EmitMergeInputChains1_0,
95
0
     OPC_EmitRegisterI64, SP::G0,
96
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STXri), 0|OPFL_Chain|OPFL_MemRefs,
97
0
                   3, 2, 3, 4, 
98
0
    0, 
99
0
   0, 
100
0
  32|128,3, 
101
0
   OPC_RecordChild1,
102
0
   OPC_Scope, 124, 
103
0
    OPC_CheckChild1TypeI32,
104
0
    OPC_RecordChild2,
105
0
    OPC_CheckPredicate4, 
106
0
    OPC_Scope, 62, 
107
0
     OPC_CheckPredicate, 16,
108
0
     OPC_Scope, 28, 
109
0
      OPC_CheckPredicate, 13,
110
0
      OPC_Scope, 11, 
111
0
       OPC_CheckComplexPat0, /*#*/2,
112
0
       OPC_EmitMergeInputChains1_0,
113
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STBrr), 0|OPFL_Chain|OPFL_MemRefs,
114
0
                     3, 3, 4, 1, 
115
0
      11, 
116
0
       OPC_CheckComplexPat1, /*#*/2,
117
0
       OPC_EmitMergeInputChains1_0,
118
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STBri), 0|OPFL_Chain|OPFL_MemRefs,
119
0
                     3, 3, 4, 1, 
120
0
      0, 
121
0
     28, 
122
0
      OPC_CheckPredicate, 15,
123
0
      OPC_Scope, 11, 
124
0
       OPC_CheckComplexPat0, /*#*/2,
125
0
       OPC_EmitMergeInputChains1_0,
126
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STHrr), 0|OPFL_Chain|OPFL_MemRefs,
127
0
                     3, 3, 4, 1, 
128
0
      11, 
129
0
       OPC_CheckComplexPat1, /*#*/2,
130
0
       OPC_EmitMergeInputChains1_0,
131
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STHri), 0|OPFL_Chain|OPFL_MemRefs,
132
0
                     3, 3, 4, 1, 
133
0
      0, 
134
0
     0, 
135
0
    55, 
136
0
     OPC_CheckPredicate3, 
137
0
     OPC_Scope, 11, 
138
0
      OPC_CheckComplexPat0, /*#*/2,
139
0
      OPC_EmitMergeInputChains1_0,
140
0
      OPC_MorphNodeTo0, TARGET_VAL(SP::STrr), 0|OPFL_Chain|OPFL_MemRefs,
141
0
                    3, 3, 4, 1, 
142
0
     11, 
143
0
      OPC_CheckComplexPat1, /*#*/2,
144
0
      OPC_EmitMergeInputChains1_0,
145
0
      OPC_MorphNodeTo0, TARGET_VAL(SP::STri), 0|OPFL_Chain|OPFL_MemRefs,
146
0
                    3, 3, 4, 1, 
147
0
     27, 
148
0
      OPC_CheckPatternPredicate4,
149
0
      OPC_Scope, 11, 
150
0
       OPC_CheckComplexPat0, /*#*/2,
151
0
       OPC_EmitMergeInputChains1_0,
152
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STCrr), 0|OPFL_Chain|OPFL_MemRefs,
153
0
                     3, 3, 4, 1, 
154
0
      11, 
155
0
       OPC_CheckComplexPat1, /*#*/2,
156
0
       OPC_EmitMergeInputChains1_0,
157
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STCri), 0|OPFL_Chain|OPFL_MemRefs,
158
0
                     3, 3, 4, 1, 
159
0
      0, 
160
0
     0, 
161
0
    0, 
162
0
   59, 
163
0
    OPC_CheckChild1Type, MVT::v2i32,
164
0
    OPC_RecordChild2,
165
0
    OPC_CheckPredicate4, 
166
0
    OPC_CheckPredicate3, 
167
0
    OPC_Scope, 11, 
168
0
     OPC_CheckComplexPat0, /*#*/2,
169
0
     OPC_EmitMergeInputChains1_0,
170
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STDrr), 0|OPFL_Chain|OPFL_MemRefs,
171
0
                   3, 3, 4, 1, 
172
0
    11, 
173
0
     OPC_CheckComplexPat1, /*#*/2,
174
0
     OPC_EmitMergeInputChains1_0,
175
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STDri), 0|OPFL_Chain|OPFL_MemRefs,
176
0
                   3, 3, 4, 1, 
177
0
    27, 
178
0
     OPC_CheckPatternPredicate4,
179
0
     OPC_Scope, 11, 
180
0
      OPC_CheckComplexPat0, /*#*/2,
181
0
      OPC_EmitMergeInputChains1_0,
182
0
      OPC_MorphNodeTo0, TARGET_VAL(SP::STDCrr), 0|OPFL_Chain|OPFL_MemRefs,
183
0
                    3, 3, 4, 1, 
184
0
     11, 
185
0
      OPC_CheckComplexPat1, /*#*/2,
186
0
      OPC_EmitMergeInputChains1_0,
187
0
      OPC_MorphNodeTo0, TARGET_VAL(SP::STDCri), 0|OPFL_Chain|OPFL_MemRefs,
188
0
                    3, 3, 4, 1, 
189
0
     0, 
190
0
    0, 
191
0
   31, 
192
0
    OPC_CheckChild1Type, MVT::f32,
193
0
    OPC_RecordChild2,
194
0
    OPC_CheckPredicate4, 
195
0
    OPC_CheckPredicate3, 
196
0
    OPC_Scope, 11, 
197
0
     OPC_CheckComplexPat0, /*#*/2,
198
0
     OPC_EmitMergeInputChains1_0,
199
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STFrr), 0|OPFL_Chain|OPFL_MemRefs,
200
0
                   3, 3, 4, 1, 
201
0
    11, 
202
0
     OPC_CheckComplexPat1, /*#*/2,
203
0
     OPC_EmitMergeInputChains1_0,
204
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STFri), 0|OPFL_Chain|OPFL_MemRefs,
205
0
                   3, 3, 4, 1, 
206
0
    0, 
207
0
   31, 
208
0
    OPC_CheckChild1Type, MVT::f64,
209
0
    OPC_RecordChild2,
210
0
    OPC_CheckPredicate4, 
211
0
    OPC_CheckPredicate3, 
212
0
    OPC_Scope, 11, 
213
0
     OPC_CheckComplexPat0, /*#*/2,
214
0
     OPC_EmitMergeInputChains1_0,
215
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STDFrr), 0|OPFL_Chain|OPFL_MemRefs,
216
0
                   3, 3, 4, 1, 
217
0
    11, 
218
0
     OPC_CheckComplexPat1, /*#*/2,
219
0
     OPC_EmitMergeInputChains1_0,
220
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STDFri), 0|OPFL_Chain|OPFL_MemRefs,
221
0
                   3, 3, 4, 1, 
222
0
    0, 
223
0
   32, 
224
0
    OPC_CheckChild1Type, MVT::f128,
225
0
    OPC_RecordChild2,
226
0
    OPC_CheckPredicate4, 
227
0
    OPC_CheckPredicate3, 
228
0
    OPC_CheckPatternPredicate1,
229
0
    OPC_Scope, 11, 
230
0
     OPC_CheckComplexPat0, /*#*/2,
231
0
     OPC_EmitMergeInputChains1_0,
232
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STQFrr), 0|OPFL_Chain|OPFL_MemRefs,
233
0
                   3, 3, 4, 1, 
234
0
    11, 
235
0
     OPC_CheckComplexPat1, /*#*/2,
236
0
     OPC_EmitMergeInputChains1_0,
237
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STQFri), 0|OPFL_Chain|OPFL_MemRefs,
238
0
                   3, 3, 4, 1, 
239
0
    0, 
240
0
   1|128,1, 
241
0
    OPC_CheckChild1TypeI64,
242
0
    OPC_RecordChild2,
243
0
    OPC_CheckPredicate4, 
244
0
    OPC_Scope, 28, 
245
0
     OPC_CheckPredicate3, 
246
0
     OPC_CheckPatternPredicate0,
247
0
     OPC_Scope, 11, 
248
0
      OPC_CheckComplexPat0, /*#*/2,
249
0
      OPC_EmitMergeInputChains1_0,
250
0
      OPC_MorphNodeTo0, TARGET_VAL(SP::STXrr), 0|OPFL_Chain|OPFL_MemRefs,
251
0
                    3, 3, 4, 1, 
252
0
     11, 
253
0
      OPC_CheckComplexPat1, /*#*/2,
254
0
      OPC_EmitMergeInputChains1_0,
255
0
      OPC_MorphNodeTo0, TARGET_VAL(SP::STXri), 0|OPFL_Chain|OPFL_MemRefs,
256
0
                    3, 3, 4, 1, 
257
0
     0, 
258
0
    94, 
259
0
     OPC_CheckPredicate, 16,
260
0
     OPC_Scope, 29, 
261
0
      OPC_CheckPredicate, 13,
262
0
      OPC_CheckPatternPredicate0,
263
0
      OPC_Scope, 11, 
264
0
       OPC_CheckComplexPat0, /*#*/2,
265
0
       OPC_EmitMergeInputChains1_0,
266
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STBrr), 0|OPFL_Chain|OPFL_MemRefs,
267
0
                     3, 3, 4, 1, 
268
0
      11, 
269
0
       OPC_CheckComplexPat1, /*#*/2,
270
0
       OPC_EmitMergeInputChains1_0,
271
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STBri), 0|OPFL_Chain|OPFL_MemRefs,
272
0
                     3, 3, 4, 1, 
273
0
      0, 
274
0
     29, 
275
0
      OPC_CheckPredicate, 15,
276
0
      OPC_CheckPatternPredicate0,
277
0
      OPC_Scope, 11, 
278
0
       OPC_CheckComplexPat0, /*#*/2,
279
0
       OPC_EmitMergeInputChains1_0,
280
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STHrr), 0|OPFL_Chain|OPFL_MemRefs,
281
0
                     3, 3, 4, 1, 
282
0
      11, 
283
0
       OPC_CheckComplexPat1, /*#*/2,
284
0
       OPC_EmitMergeInputChains1_0,
285
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STHri), 0|OPFL_Chain|OPFL_MemRefs,
286
0
                     3, 3, 4, 1, 
287
0
      0, 
288
0
     29, 
289
0
      OPC_CheckPredicate, 22,
290
0
      OPC_CheckPatternPredicate0,
291
0
      OPC_Scope, 11, 
292
0
       OPC_CheckComplexPat0, /*#*/2,
293
0
       OPC_EmitMergeInputChains1_0,
294
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STrr), 0|OPFL_Chain|OPFL_MemRefs,
295
0
                     3, 3, 4, 1, 
296
0
      11, 
297
0
       OPC_CheckComplexPat1, /*#*/2,
298
0
       OPC_EmitMergeInputChains1_0,
299
0
       OPC_MorphNodeTo0, TARGET_VAL(SP::STri), 0|OPFL_Chain|OPFL_MemRefs,
300
0
                     3, 3, 4, 1, 
301
0
      0, 
302
0
     0, 
303
0
    0, 
304
0
   0, 
305
0
  0, 
306
0
 34, TARGET_VAL(SPISD::LOAD_GDOP),
307
0
  OPC_RecordChild0,
308
0
  OPC_RecordChild1,
309
0
  OPC_MoveChild1,
310
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
311
0
  OPC_MoveParent,
312
0
  OPC_SwitchType , 10, MVT::i32,
313
0
   OPC_CheckComplexPat0, /*#*/0,
314
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::GDOP_LDrr),
315
0
                 MVT::i32, 3, 2, 3, 1, 
316
0
  11, MVT::i64,
317
0
   OPC_CheckPatternPredicate0,
318
0
   OPC_CheckComplexPat0, /*#*/0,
319
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::GDOP_LDXrr),
320
0
                 MVT::i64, 3, 2, 3, 1, 
321
0
  0,
322
0
 34, TARGET_VAL(SPISD::TLS_LD),
323
0
  OPC_RecordChild0,
324
0
  OPC_RecordChild1,
325
0
  OPC_MoveChild1,
326
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
327
0
  OPC_MoveParent,
328
0
  OPC_SwitchType , 10, MVT::i32,
329
0
   OPC_CheckComplexPat0, /*#*/0,
330
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::TLS_LDrr),
331
0
                 MVT::i32, 3, 2, 3, 1, 
332
0
  11, MVT::i64,
333
0
   OPC_CheckPatternPredicate0,
334
0
   OPC_CheckComplexPat0, /*#*/0,
335
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::TLS_LDXrr),
336
0
                 MVT::i64, 3, 2, 3, 1, 
337
0
  0,
338
0
 80|128,2, TARGET_VAL(ISD::ADD),
339
0
  OPC_Scope, 107, 
340
0
   OPC_MoveChild0,
341
0
   OPC_SwitchOpcode , 49, TARGET_VAL(SPISD::Hi),
342
0
    OPC_RecordChild0,
343
0
    OPC_MoveChild0,
344
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
345
0
    OPC_MoveParent,
346
0
    OPC_MoveSibling1,
347
0
    OPC_CheckOpcode, TARGET_VAL(SPISD::Lo),
348
0
    OPC_RecordChild0,
349
0
    OPC_MoveChild0,
350
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
351
0
    OPC_MoveParent,
352
0
    OPC_MoveParent,
353
0
    OPC_Scope, 14, 
354
0
     OPC_CheckPatternPredicate2,
355
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
356
0
                   MVT::i32, 1, 0, 
357
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
358
0
                   MVT::iPTR, 2, 2, 1, 
359
0
    14, 
360
0
     OPC_CheckPatternPredicate0,
361
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
362
0
                   MVT::i32, 1, 0, 
363
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
364
0
                   MVT::iPTR, 2, 2, 1, 
365
0
    0, 
366
0
   49, TARGET_VAL(SPISD::Lo),
367
0
    OPC_RecordChild0,
368
0
    OPC_MoveChild0,
369
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
370
0
    OPC_MoveParent,
371
0
    OPC_MoveSibling1,
372
0
    OPC_CheckOpcode, TARGET_VAL(SPISD::Hi),
373
0
    OPC_RecordChild0,
374
0
    OPC_MoveChild0,
375
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
376
0
    OPC_MoveParent,
377
0
    OPC_MoveParent,
378
0
    OPC_Scope, 14, 
379
0
     OPC_CheckPatternPredicate2,
380
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
381
0
                   MVT::i32, 1, 1, 
382
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
383
0
                   MVT::iPTR, 2, 2, 0, 
384
0
    14, 
385
0
     OPC_CheckPatternPredicate0,
386
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
387
0
                   MVT::i32, 1, 1, 
388
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
389
0
                   MVT::iPTR, 2, 2, 0, 
390
0
    0, 
391
0
   0,
392
0
  84, 
393
0
   OPC_RecordChild0,
394
0
   OPC_MoveChild1,
395
0
   OPC_CheckOpcode, TARGET_VAL(SPISD::Lo),
396
0
   OPC_RecordChild0,
397
0
   OPC_MoveChild0,
398
0
   OPC_SwitchOpcode , 22, TARGET_VAL(ISD::TargetGlobalAddress),
399
0
    OPC_MoveParent,
400
0
    OPC_MoveParent,
401
0
    OPC_Scope, 8, 
402
0
     OPC_CheckPatternPredicate2,
403
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
404
0
                   MVT::iPTR, 2, 0, 1, 
405
0
    8, 
406
0
     OPC_CheckPatternPredicate0,
407
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
408
0
                   MVT::iPTR, 2, 0, 1, 
409
0
    0, 
410
0
   22, TARGET_VAL(ISD::TargetConstantPool),
411
0
    OPC_MoveParent,
412
0
    OPC_MoveParent,
413
0
    OPC_Scope, 8, 
414
0
     OPC_CheckPatternPredicate2,
415
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
416
0
                   MVT::iPTR, 2, 0, 1, 
417
0
    8, 
418
0
     OPC_CheckPatternPredicate0,
419
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
420
0
                   MVT::iPTR, 2, 0, 1, 
421
0
    0, 
422
0
   22, TARGET_VAL(ISD::TargetBlockAddress),
423
0
    OPC_MoveParent,
424
0
    OPC_MoveParent,
425
0
    OPC_Scope, 8, 
426
0
     OPC_CheckPatternPredicate2,
427
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
428
0
                   MVT::iPTR, 2, 0, 1, 
429
0
    8, 
430
0
     OPC_CheckPatternPredicate0,
431
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
432
0
                   MVT::iPTR, 2, 0, 1, 
433
0
    0, 
434
0
   0,
435
0
  86, 
436
0
   OPC_MoveChild0,
437
0
   OPC_CheckOpcode, TARGET_VAL(SPISD::Lo),
438
0
   OPC_RecordChild0,
439
0
   OPC_MoveChild0,
440
0
   OPC_SwitchOpcode , 23, TARGET_VAL(ISD::TargetGlobalAddress),
441
0
    OPC_MoveParent,
442
0
    OPC_MoveParent,
443
0
    OPC_RecordChild1,
444
0
    OPC_Scope, 8, 
445
0
     OPC_CheckPatternPredicate2,
446
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
447
0
                   MVT::iPTR, 2, 1, 0, 
448
0
    8, 
449
0
     OPC_CheckPatternPredicate0,
450
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
451
0
                   MVT::iPTR, 2, 1, 0, 
452
0
    0, 
453
0
   23, TARGET_VAL(ISD::TargetConstantPool),
454
0
    OPC_MoveParent,
455
0
    OPC_MoveParent,
456
0
    OPC_RecordChild1,
457
0
    OPC_Scope, 8, 
458
0
     OPC_CheckPatternPredicate2,
459
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
460
0
                   MVT::iPTR, 2, 1, 0, 
461
0
    8, 
462
0
     OPC_CheckPatternPredicate0,
463
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
464
0
                   MVT::iPTR, 2, 1, 0, 
465
0
    0, 
466
0
   23, TARGET_VAL(ISD::TargetBlockAddress),
467
0
    OPC_MoveParent,
468
0
    OPC_MoveParent,
469
0
    OPC_RecordChild1,
470
0
    OPC_Scope, 8, 
471
0
     OPC_CheckPatternPredicate2,
472
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
473
0
                   MVT::iPTR, 2, 1, 0, 
474
0
    8, 
475
0
     OPC_CheckPatternPredicate0,
476
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
477
0
                   MVT::iPTR, 2, 1, 0, 
478
0
    0, 
479
0
   0,
480
0
  53, 
481
0
   OPC_RecordChild0,
482
0
   OPC_RecordChild1,
483
0
   OPC_Scope, 29, 
484
0
    OPC_MoveChild1,
485
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
486
0
    OPC_CheckPredicate0, 
487
0
    OPC_MoveParent,
488
0
    OPC_SwitchType , 8, MVT::i32,
489
0
     OPC_EmitConvertToTarget1,
490
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
491
0
                   MVT::i32, 2, 0, 2, 
492
0
    9, MVT::i64,
493
0
     OPC_CheckPatternPredicate0,
494
0
     OPC_EmitConvertToTarget1,
495
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
496
0
                   MVT::i64, 2, 0, 2, 
497
0
    0,
498
0
   8, 
499
0
    OPC_CheckTypeI32,
500
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDrr),
501
0
                  MVT::i32, 2, 0, 1, 
502
0
   9, 
503
0
    OPC_CheckTypeI64,
504
0
    OPC_CheckPatternPredicate0,
505
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDrr),
506
0
                  MVT::i64, 2, 0, 1, 
507
0
   0, 
508
0
  0, 
509
0
 12|128,2, TARGET_VAL(ISD::XOR),
510
0
  OPC_Scope, 24|128,1, 
511
0
   OPC_MoveChild0,
512
0
   OPC_SwitchOpcode , 49, TARGET_VAL(SPISD::Hi),
513
0
    OPC_RecordChild0,
514
0
    OPC_MoveChild0,
515
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
516
0
    OPC_MoveParent,
517
0
    OPC_MoveSibling1,
518
0
    OPC_CheckOpcode, TARGET_VAL(SPISD::Lo),
519
0
    OPC_RecordChild0,
520
0
    OPC_MoveChild0,
521
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
522
0
    OPC_MoveParent,
523
0
    OPC_MoveParent,
524
0
    OPC_Scope, 14, 
525
0
     OPC_CheckPatternPredicate2,
526
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
527
0
                   MVT::i32, 1, 0, 
528
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
529
0
                   MVT::iPTR, 2, 2, 1, 
530
0
    14, 
531
0
     OPC_CheckPatternPredicate0,
532
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
533
0
                   MVT::i32, 1, 0, 
534
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
535
0
                   MVT::iPTR, 2, 2, 1, 
536
0
    0, 
537
0
   49, TARGET_VAL(SPISD::Lo),
538
0
    OPC_RecordChild0,
539
0
    OPC_MoveChild0,
540
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
541
0
    OPC_MoveParent,
542
0
    OPC_MoveSibling1,
543
0
    OPC_CheckOpcode, TARGET_VAL(SPISD::Hi),
544
0
    OPC_RecordChild0,
545
0
    OPC_MoveChild0,
546
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
547
0
    OPC_MoveParent,
548
0
    OPC_MoveParent,
549
0
    OPC_Scope, 14, 
550
0
     OPC_CheckPatternPredicate2,
551
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
552
0
                   MVT::i32, 1, 1, 
553
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
554
0
                   MVT::iPTR, 2, 2, 0, 
555
0
    14, 
556
0
     OPC_CheckPatternPredicate0,
557
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
558
0
                   MVT::i32, 1, 1, 
559
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
560
0
                   MVT::iPTR, 2, 2, 0, 
561
0
    0, 
562
0
   42, TARGET_VAL(ISD::XOR),
563
0
    OPC_RecordChild0,
564
0
    OPC_Scope, 25, 
565
0
     OPC_RecordChild1,
566
0
     OPC_MoveParent,
567
0
     OPC_CheckChild1Integer, 3, 
568
0
     OPC_SwitchType , 7, MVT::i32,
569
0
      OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
570
0
                    MVT::i32, 2, 0, 1, 
571
0
     8, MVT::i64,
572
0
      OPC_CheckPatternPredicate0,
573
0
      OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
574
0
                    MVT::i64, 2, 0, 1, 
575
0
     0,
576
0
    12, 
577
0
     OPC_CheckChild1Integer, 3, 
578
0
     OPC_MoveParent,
579
0
     OPC_RecordChild1,
580
0
     OPC_CheckTypeI32,
581
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
582
0
                   MVT::i32, 2, 0, 1, 
583
0
    0, 
584
0
   0,
585
0
  17, 
586
0
   OPC_RecordChild0,
587
0
   OPC_MoveChild1,
588
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
589
0
   OPC_RecordChild0,
590
0
   OPC_CheckChild1Integer, 3, 
591
0
   OPC_MoveParent,
592
0
   OPC_CheckTypeI32,
593
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
594
0
                 MVT::i32, 2, 1, 0, 
595
0
  18, 
596
0
   OPC_MoveChild0,
597
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
598
0
   OPC_RecordChild0,
599
0
   OPC_CheckChild1Integer, 3, 
600
0
   OPC_MoveParent,
601
0
   OPC_RecordChild1,
602
0
   OPC_CheckTypeI64,
603
0
   OPC_CheckPatternPredicate0,
604
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
605
0
                 MVT::i64, 2, 0, 1, 
606
0
  74, 
607
0
   OPC_RecordChild0,
608
0
   OPC_Scope, 17, 
609
0
    OPC_MoveChild1,
610
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
611
0
    OPC_RecordChild0,
612
0
    OPC_CheckChild1Integer, 3, 
613
0
    OPC_MoveParent,
614
0
    OPC_CheckTypeI64,
615
0
    OPC_CheckPatternPredicate0,
616
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::XNORrr),
617
0
                  MVT::i64, 2, 1, 0, 
618
0
   52, 
619
0
    OPC_RecordChild1,
620
0
    OPC_Scope, 29, 
621
0
     OPC_MoveChild1,
622
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
623
0
     OPC_CheckPredicate0, 
624
0
     OPC_MoveParent,
625
0
     OPC_SwitchType , 8, MVT::i32,
626
0
      OPC_EmitConvertToTarget1,
627
0
      OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
628
0
                    MVT::i32, 2, 0, 2, 
629
0
     9, MVT::i64,
630
0
      OPC_CheckPatternPredicate0,
631
0
      OPC_EmitConvertToTarget1,
632
0
      OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
633
0
                    MVT::i64, 2, 0, 2, 
634
0
     0,
635
0
    8, 
636
0
     OPC_CheckTypeI32,
637
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::XORrr),
638
0
                   MVT::i32, 2, 0, 1, 
639
0
    9, 
640
0
     OPC_CheckTypeI64,
641
0
     OPC_CheckPatternPredicate0,
642
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::XORrr),
643
0
                   MVT::i64, 2, 0, 1, 
644
0
    0, 
645
0
   0, 
646
0
  0, 
647
0
 65|128,6, TARGET_VAL(ISD::LOAD),
648
0
  OPC_RecordMemRef,
649
0
  OPC_RecordNode,
650
0
  OPC_RecordChild1,
651
0
  OPC_CheckPredicate, 21,
652
0
  OPC_Scope, 61, 
653
0
   OPC_CheckPredicate, 9,
654
0
   OPC_CheckTypeI32,
655
0
   OPC_Scope, 27, 
656
0
    OPC_CheckPredicate1, 
657
0
    OPC_Scope, 11, 
658
0
     OPC_CheckComplexPat0, /*#*/1,
659
0
     OPC_EmitMergeInputChains1_0,
660
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDSBrr), 0|OPFL_Chain|OPFL_MemRefs,
661
0
                   MVT::i32, 2, 2, 3, 
662
0
    11, 
663
0
     OPC_CheckComplexPat1, /*#*/1,
664
0
     OPC_EmitMergeInputChains1_0,
665
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDSBri), 0|OPFL_Chain|OPFL_MemRefs,
666
0
                   MVT::i32, 2, 2, 3, 
667
0
    0, 
668
0
   27, 
669
0
    OPC_CheckPredicate2, 
670
0
    OPC_Scope, 11, 
671
0
     OPC_CheckComplexPat0, /*#*/1,
672
0
     OPC_EmitMergeInputChains1_0,
673
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHrr), 0|OPFL_Chain|OPFL_MemRefs,
674
0
                   MVT::i32, 2, 2, 3, 
675
0
    11, 
676
0
     OPC_CheckComplexPat1, /*#*/1,
677
0
     OPC_EmitMergeInputChains1_0,
678
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHri), 0|OPFL_Chain|OPFL_MemRefs,
679
0
                   MVT::i32, 2, 2, 3, 
680
0
    0, 
681
0
   0, 
682
0
  60, 
683
0
   OPC_CheckPredicate6, 
684
0
   OPC_CheckTypeI32,
685
0
   OPC_Scope, 27, 
686
0
    OPC_CheckPredicate1, 
687
0
    OPC_Scope, 11, 
688
0
     OPC_CheckComplexPat0, /*#*/1,
689
0
     OPC_EmitMergeInputChains1_0,
690
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
691
0
                   MVT::i32, 2, 2, 3, 
692
0
    11, 
693
0
     OPC_CheckComplexPat1, /*#*/1,
694
0
     OPC_EmitMergeInputChains1_0,
695
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
696
0
                   MVT::i32, 2, 2, 3, 
697
0
    0, 
698
0
   27, 
699
0
    OPC_CheckPredicate2, 
700
0
    OPC_Scope, 11, 
701
0
     OPC_CheckComplexPat0, /*#*/1,
702
0
     OPC_EmitMergeInputChains1_0,
703
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
704
0
                   MVT::i32, 2, 2, 3, 
705
0
    11, 
706
0
     OPC_CheckComplexPat1, /*#*/1,
707
0
     OPC_EmitMergeInputChains1_0,
708
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
709
0
                   MVT::i32, 2, 2, 3, 
710
0
    0, 
711
0
   0, 
712
0
  57, 
713
0
   OPC_CheckPredicate, 10,
714
0
   OPC_CheckTypeI32,
715
0
   OPC_Scope, 11, 
716
0
    OPC_CheckComplexPat0, /*#*/1,
717
0
    OPC_EmitMergeInputChains1_0,
718
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDrr), 0|OPFL_Chain|OPFL_MemRefs,
719
0
                  MVT::i32, 2, 2, 3, 
720
0
   11, 
721
0
    OPC_CheckComplexPat1, /*#*/1,
722
0
    OPC_EmitMergeInputChains1_0,
723
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDri), 0|OPFL_Chain|OPFL_MemRefs,
724
0
                  MVT::i32, 2, 2, 3, 
725
0
   27, 
726
0
    OPC_CheckPatternPredicate4,
727
0
    OPC_Scope, 11, 
728
0
     OPC_CheckComplexPat0, /*#*/1,
729
0
     OPC_EmitMergeInputChains1_0,
730
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDCrr), 0|OPFL_Chain|OPFL_MemRefs,
731
0
                   MVT::i32, 2, 2, 3, 
732
0
    11, 
733
0
     OPC_CheckComplexPat1, /*#*/1,
734
0
     OPC_EmitMergeInputChains1_0,
735
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDCri), 0|OPFL_Chain|OPFL_MemRefs,
736
0
                   MVT::i32, 2, 2, 3, 
737
0
    0, 
738
0
   0, 
739
0
  89, 
740
0
   OPC_CheckPredicate7, 
741
0
   OPC_CheckTypeI32,
742
0
   OPC_Scope, 28, 
743
0
    OPC_CheckPredicate, 8,
744
0
    OPC_Scope, 11, 
745
0
     OPC_CheckComplexPat0, /*#*/1,
746
0
     OPC_EmitMergeInputChains1_0,
747
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
748
0
                   MVT::i32, 2, 2, 3, 
749
0
    11, 
750
0
     OPC_CheckComplexPat1, /*#*/1,
751
0
     OPC_EmitMergeInputChains1_0,
752
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
753
0
                   MVT::i32, 2, 2, 3, 
754
0
    0, 
755
0
   27, 
756
0
    OPC_CheckPredicate1, 
757
0
    OPC_Scope, 11, 
758
0
     OPC_CheckComplexPat0, /*#*/1,
759
0
     OPC_EmitMergeInputChains1_0,
760
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
761
0
                   MVT::i32, 2, 2, 3, 
762
0
    11, 
763
0
     OPC_CheckComplexPat1, /*#*/1,
764
0
     OPC_EmitMergeInputChains1_0,
765
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
766
0
                   MVT::i32, 2, 2, 3, 
767
0
    0, 
768
0
   27, 
769
0
    OPC_CheckPredicate2, 
770
0
    OPC_Scope, 11, 
771
0
     OPC_CheckComplexPat0, /*#*/1,
772
0
     OPC_EmitMergeInputChains1_0,
773
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
774
0
                   MVT::i32, 2, 2, 3, 
775
0
    11, 
776
0
     OPC_CheckComplexPat1, /*#*/1,
777
0
     OPC_EmitMergeInputChains1_0,
778
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
779
0
                   MVT::i32, 2, 2, 3, 
780
0
    0, 
781
0
   0, 
782
0
  30, 
783
0
   OPC_CheckPredicate6, 
784
0
   OPC_CheckPredicate, 8,
785
0
   OPC_CheckTypeI32,
786
0
   OPC_Scope, 11, 
787
0
    OPC_CheckComplexPat0, /*#*/1,
788
0
    OPC_EmitMergeInputChains1_0,
789
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
790
0
                  MVT::i32, 2, 2, 3, 
791
0
   11, 
792
0
    OPC_CheckComplexPat1, /*#*/1,
793
0
    OPC_EmitMergeInputChains1_0,
794
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
795
0
                  MVT::i32, 2, 2, 3, 
796
0
   0, 
797
0
  30, 
798
0
   OPC_CheckPredicate, 10,
799
0
   OPC_CheckTypeI64,
800
0
   OPC_CheckPatternPredicate0,
801
0
   OPC_Scope, 11, 
802
0
    OPC_CheckComplexPat0, /*#*/1,
803
0
    OPC_EmitMergeInputChains1_0,
804
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDXrr), 0|OPFL_Chain|OPFL_MemRefs,
805
0
                  MVT::i64, 2, 2, 3, 
806
0
   11, 
807
0
    OPC_CheckComplexPat1, /*#*/1,
808
0
    OPC_EmitMergeInputChains1_0,
809
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDXri), 0|OPFL_Chain|OPFL_MemRefs,
810
0
                  MVT::i64, 2, 2, 3, 
811
0
   0, 
812
0
  31, 
813
0
   OPC_CheckPredicate6, 
814
0
   OPC_CheckPredicate, 8,
815
0
   OPC_CheckTypeI64,
816
0
   OPC_CheckPatternPredicate0,
817
0
   OPC_Scope, 11, 
818
0
    OPC_CheckComplexPat0, /*#*/1,
819
0
    OPC_EmitMergeInputChains1_0,
820
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
821
0
                  MVT::i64, 2, 2, 3, 
822
0
   11, 
823
0
    OPC_CheckComplexPat1, /*#*/1,
824
0
    OPC_EmitMergeInputChains1_0,
825
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
826
0
                  MVT::i64, 2, 2, 3, 
827
0
   0, 
828
0
  31, 
829
0
   OPC_CheckPredicate7, 
830
0
   OPC_CheckPredicate, 8,
831
0
   OPC_CheckTypeI64,
832
0
   OPC_CheckPatternPredicate0,
833
0
   OPC_Scope, 11, 
834
0
    OPC_CheckComplexPat0, /*#*/1,
835
0
    OPC_EmitMergeInputChains1_0,
836
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
837
0
                  MVT::i64, 2, 2, 3, 
838
0
   11, 
839
0
    OPC_CheckComplexPat1, /*#*/1,
840
0
    OPC_EmitMergeInputChains1_0,
841
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
842
0
                  MVT::i64, 2, 2, 3, 
843
0
   0, 
844
0
  30, 
845
0
   OPC_CheckPredicate6, 
846
0
   OPC_CheckPredicate1, 
847
0
   OPC_CheckTypeI64,
848
0
   OPC_CheckPatternPredicate0,
849
0
   OPC_Scope, 11, 
850
0
    OPC_CheckComplexPat0, /*#*/1,
851
0
    OPC_EmitMergeInputChains1_0,
852
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
853
0
                  MVT::i64, 2, 2, 3, 
854
0
   11, 
855
0
    OPC_CheckComplexPat1, /*#*/1,
856
0
    OPC_EmitMergeInputChains1_0,
857
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
858
0
                  MVT::i64, 2, 2, 3, 
859
0
   0, 
860
0
  30, 
861
0
   OPC_CheckPredicate7, 
862
0
   OPC_CheckPredicate1, 
863
0
   OPC_CheckTypeI64,
864
0
   OPC_CheckPatternPredicate0,
865
0
   OPC_Scope, 11, 
866
0
    OPC_CheckComplexPat0, /*#*/1,
867
0
    OPC_EmitMergeInputChains1_0,
868
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
869
0
                  MVT::i64, 2, 2, 3, 
870
0
   11, 
871
0
    OPC_CheckComplexPat1, /*#*/1,
872
0
    OPC_EmitMergeInputChains1_0,
873
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
874
0
                  MVT::i64, 2, 2, 3, 
875
0
   0, 
876
0
  31, 
877
0
   OPC_CheckPredicate, 9,
878
0
   OPC_CheckPredicate1, 
879
0
   OPC_CheckTypeI64,
880
0
   OPC_CheckPatternPredicate0,
881
0
   OPC_Scope, 11, 
882
0
    OPC_CheckComplexPat0, /*#*/1,
883
0
    OPC_EmitMergeInputChains1_0,
884
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDSBrr), 0|OPFL_Chain|OPFL_MemRefs,
885
0
                  MVT::i64, 2, 2, 3, 
886
0
   11, 
887
0
    OPC_CheckComplexPat1, /*#*/1,
888
0
    OPC_EmitMergeInputChains1_0,
889
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDSBri), 0|OPFL_Chain|OPFL_MemRefs,
890
0
                  MVT::i64, 2, 2, 3, 
891
0
   0, 
892
0
  30, 
893
0
   OPC_CheckPredicate6, 
894
0
   OPC_CheckPredicate2, 
895
0
   OPC_CheckTypeI64,
896
0
   OPC_CheckPatternPredicate0,
897
0
   OPC_Scope, 11, 
898
0
    OPC_CheckComplexPat0, /*#*/1,
899
0
    OPC_EmitMergeInputChains1_0,
900
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
901
0
                  MVT::i64, 2, 2, 3, 
902
0
   11, 
903
0
    OPC_CheckComplexPat1, /*#*/1,
904
0
    OPC_EmitMergeInputChains1_0,
905
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
906
0
                  MVT::i64, 2, 2, 3, 
907
0
   0, 
908
0
  30, 
909
0
   OPC_CheckPredicate7, 
910
0
   OPC_CheckPredicate2, 
911
0
   OPC_CheckTypeI64,
912
0
   OPC_CheckPatternPredicate0,
913
0
   OPC_Scope, 11, 
914
0
    OPC_CheckComplexPat0, /*#*/1,
915
0
    OPC_EmitMergeInputChains1_0,
916
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
917
0
                  MVT::i64, 2, 2, 3, 
918
0
   11, 
919
0
    OPC_CheckComplexPat1, /*#*/1,
920
0
    OPC_EmitMergeInputChains1_0,
921
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
922
0
                  MVT::i64, 2, 2, 3, 
923
0
   0, 
924
0
  31, 
925
0
   OPC_CheckPredicate, 9,
926
0
   OPC_CheckPredicate2, 
927
0
   OPC_CheckTypeI64,
928
0
   OPC_CheckPatternPredicate0,
929
0
   OPC_Scope, 11, 
930
0
    OPC_CheckComplexPat0, /*#*/1,
931
0
    OPC_EmitMergeInputChains1_0,
932
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHrr), 0|OPFL_Chain|OPFL_MemRefs,
933
0
                  MVT::i64, 2, 2, 3, 
934
0
   11, 
935
0
    OPC_CheckComplexPat1, /*#*/1,
936
0
    OPC_EmitMergeInputChains1_0,
937
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDSHri), 0|OPFL_Chain|OPFL_MemRefs,
938
0
                  MVT::i64, 2, 2, 3, 
939
0
   0, 
940
0
  30, 
941
0
   OPC_CheckPredicate6, 
942
0
   OPC_CheckPredicate5, 
943
0
   OPC_CheckTypeI64,
944
0
   OPC_CheckPatternPredicate0,
945
0
   OPC_Scope, 11, 
946
0
    OPC_CheckComplexPat0, /*#*/1,
947
0
    OPC_EmitMergeInputChains1_0,
948
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDrr), 0|OPFL_Chain|OPFL_MemRefs,
949
0
                  MVT::i64, 2, 2, 3, 
950
0
   11, 
951
0
    OPC_CheckComplexPat1, /*#*/1,
952
0
    OPC_EmitMergeInputChains1_0,
953
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDri), 0|OPFL_Chain|OPFL_MemRefs,
954
0
                  MVT::i64, 2, 2, 3, 
955
0
   0, 
956
0
  30, 
957
0
   OPC_CheckPredicate7, 
958
0
   OPC_CheckPredicate5, 
959
0
   OPC_CheckTypeI64,
960
0
   OPC_CheckPatternPredicate0,
961
0
   OPC_Scope, 11, 
962
0
    OPC_CheckComplexPat0, /*#*/1,
963
0
    OPC_EmitMergeInputChains1_0,
964
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDrr), 0|OPFL_Chain|OPFL_MemRefs,
965
0
                  MVT::i64, 2, 2, 3, 
966
0
   11, 
967
0
    OPC_CheckComplexPat1, /*#*/1,
968
0
    OPC_EmitMergeInputChains1_0,
969
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDri), 0|OPFL_Chain|OPFL_MemRefs,
970
0
                  MVT::i64, 2, 2, 3, 
971
0
   0, 
972
0
  31, 
973
0
   OPC_CheckPredicate, 9,
974
0
   OPC_CheckPredicate5, 
975
0
   OPC_CheckTypeI64,
976
0
   OPC_CheckPatternPredicate0,
977
0
   OPC_Scope, 11, 
978
0
    OPC_CheckComplexPat0, /*#*/1,
979
0
    OPC_EmitMergeInputChains1_0,
980
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDSWrr), 0|OPFL_Chain|OPFL_MemRefs,
981
0
                  MVT::i64, 2, 2, 3, 
982
0
   11, 
983
0
    OPC_CheckComplexPat1, /*#*/1,
984
0
    OPC_EmitMergeInputChains1_0,
985
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDSWri), 0|OPFL_Chain|OPFL_MemRefs,
986
0
                  MVT::i64, 2, 2, 3, 
987
0
   0, 
988
0
  17|128,1, 
989
0
   OPC_CheckPredicate, 10,
990
0
   OPC_SwitchType , 26, MVT::f32,
991
0
    OPC_Scope, 11, 
992
0
     OPC_CheckComplexPat0, /*#*/1,
993
0
     OPC_EmitMergeInputChains1_0,
994
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDFrr), 0|OPFL_Chain|OPFL_MemRefs,
995
0
                   MVT::f32, 2, 2, 3, 
996
0
    11, 
997
0
     OPC_CheckComplexPat1, /*#*/1,
998
0
     OPC_EmitMergeInputChains1_0,
999
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDFri), 0|OPFL_Chain|OPFL_MemRefs,
1000
0
                   MVT::f32, 2, 2, 3, 
1001
0
    0, 
1002
0
   26, MVT::f64,
1003
0
    OPC_Scope, 11, 
1004
0
     OPC_CheckComplexPat0, /*#*/1,
1005
0
     OPC_EmitMergeInputChains1_0,
1006
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDDFrr), 0|OPFL_Chain|OPFL_MemRefs,
1007
0
                   MVT::f64, 2, 2, 3, 
1008
0
    11, 
1009
0
     OPC_CheckComplexPat1, /*#*/1,
1010
0
     OPC_EmitMergeInputChains1_0,
1011
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDDFri), 0|OPFL_Chain|OPFL_MemRefs,
1012
0
                   MVT::f64, 2, 2, 3, 
1013
0
    0, 
1014
0
   27, MVT::f128,
1015
0
    OPC_CheckPatternPredicate1,
1016
0
    OPC_Scope, 11, 
1017
0
     OPC_CheckComplexPat0, /*#*/1,
1018
0
     OPC_EmitMergeInputChains1_0,
1019
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDQFrr), 0|OPFL_Chain|OPFL_MemRefs,
1020
0
                   MVT::f128, 2, 2, 3, 
1021
0
    11, 
1022
0
     OPC_CheckComplexPat1, /*#*/1,
1023
0
     OPC_EmitMergeInputChains1_0,
1024
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDQFri), 0|OPFL_Chain|OPFL_MemRefs,
1025
0
                   MVT::f128, 2, 2, 3, 
1026
0
    0, 
1027
0
   54, MVT::v2i32,
1028
0
    OPC_Scope, 11, 
1029
0
     OPC_CheckComplexPat0, /*#*/1,
1030
0
     OPC_EmitMergeInputChains1_0,
1031
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDDrr), 0|OPFL_Chain|OPFL_MemRefs,
1032
0
                   MVT::v2i32, 2, 2, 3, 
1033
0
    11, 
1034
0
     OPC_CheckComplexPat1, /*#*/1,
1035
0
     OPC_EmitMergeInputChains1_0,
1036
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDDri), 0|OPFL_Chain|OPFL_MemRefs,
1037
0
                   MVT::v2i32, 2, 2, 3, 
1038
0
    27, 
1039
0
     OPC_CheckPatternPredicate4,
1040
0
     OPC_Scope, 11, 
1041
0
      OPC_CheckComplexPat0, /*#*/1,
1042
0
      OPC_EmitMergeInputChains1_0,
1043
0
      OPC_MorphNodeTo1, TARGET_VAL(SP::LDDCrr), 0|OPFL_Chain|OPFL_MemRefs,
1044
0
                    MVT::v2i32, 2, 2, 3, 
1045
0
     11, 
1046
0
      OPC_CheckComplexPat1, /*#*/1,
1047
0
      OPC_EmitMergeInputChains1_0,
1048
0
      OPC_MorphNodeTo1, TARGET_VAL(SP::LDDCri), 0|OPFL_Chain|OPFL_MemRefs,
1049
0
                    MVT::v2i32, 2, 2, 3, 
1050
0
     0, 
1051
0
    0, 
1052
0
   0,
1053
0
  0, 
1054
0
 34, TARGET_VAL(ISD::ATOMIC_SWAP),
1055
0
  OPC_RecordMemRef,
1056
0
  OPC_RecordNode,
1057
0
  OPC_RecordChild1,
1058
0
  OPC_RecordChild2,
1059
0
  OPC_CheckPredicate5, 
1060
0
  OPC_CheckTypeI32,
1061
0
  OPC_Scope, 12, 
1062
0
   OPC_CheckComplexPat0, /*#*/1,
1063
0
   OPC_EmitMergeInputChains1_0,
1064
0
   OPC_MorphNodeTo1, TARGET_VAL(SP::SWAPrr), 0|OPFL_Chain|OPFL_MemRefs,
1065
0
                 MVT::i32, 3, 3, 4, 2, 
1066
0
  12, 
1067
0
   OPC_CheckComplexPat1, /*#*/1,
1068
0
   OPC_EmitMergeInputChains1_0,
1069
0
   OPC_MorphNodeTo1, TARGET_VAL(SP::SWAPri), 0|OPFL_Chain|OPFL_MemRefs,
1070
0
                 MVT::i32, 3, 3, 4, 2, 
1071
0
  0, 
1072
0
 124, TARGET_VAL(ISD::ATOMIC_LOAD),
1073
0
  OPC_RecordMemRef,
1074
0
  OPC_RecordNode,
1075
0
  OPC_RecordChild1,
1076
0
  OPC_SwitchType , 86, MVT::i32,
1077
0
   OPC_Scope, 27, 
1078
0
    OPC_CheckPredicate1, 
1079
0
    OPC_Scope, 11, 
1080
0
     OPC_CheckComplexPat0, /*#*/1,
1081
0
     OPC_EmitMergeInputChains1_0,
1082
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBrr), 0|OPFL_Chain|OPFL_MemRefs,
1083
0
                   MVT::i32, 2, 2, 3, 
1084
0
    11, 
1085
0
     OPC_CheckComplexPat1, /*#*/1,
1086
0
     OPC_EmitMergeInputChains1_0,
1087
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUBri), 0|OPFL_Chain|OPFL_MemRefs,
1088
0
                   MVT::i32, 2, 2, 3, 
1089
0
    0, 
1090
0
   27, 
1091
0
    OPC_CheckPredicate2, 
1092
0
    OPC_Scope, 11, 
1093
0
     OPC_CheckComplexPat0, /*#*/1,
1094
0
     OPC_EmitMergeInputChains1_0,
1095
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHrr), 0|OPFL_Chain|OPFL_MemRefs,
1096
0
                   MVT::i32, 2, 2, 3, 
1097
0
    11, 
1098
0
     OPC_CheckComplexPat1, /*#*/1,
1099
0
     OPC_EmitMergeInputChains1_0,
1100
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDUHri), 0|OPFL_Chain|OPFL_MemRefs,
1101
0
                   MVT::i32, 2, 2, 3, 
1102
0
    0, 
1103
0
   27, 
1104
0
    OPC_CheckPredicate5, 
1105
0
    OPC_Scope, 11, 
1106
0
     OPC_CheckComplexPat0, /*#*/1,
1107
0
     OPC_EmitMergeInputChains1_0,
1108
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDrr), 0|OPFL_Chain|OPFL_MemRefs,
1109
0
                   MVT::i32, 2, 2, 3, 
1110
0
    11, 
1111
0
     OPC_CheckComplexPat1, /*#*/1,
1112
0
     OPC_EmitMergeInputChains1_0,
1113
0
     OPC_MorphNodeTo1, TARGET_VAL(SP::LDri), 0|OPFL_Chain|OPFL_MemRefs,
1114
0
                   MVT::i32, 2, 2, 3, 
1115
0
    0, 
1116
0
   0, 
1117
0
  29, MVT::i64,
1118
0
   OPC_CheckPredicate, 12,
1119
0
   OPC_CheckPatternPredicate0,
1120
0
   OPC_Scope, 11, 
1121
0
    OPC_CheckComplexPat0, /*#*/1,
1122
0
    OPC_EmitMergeInputChains1_0,
1123
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDXrr), 0|OPFL_Chain|OPFL_MemRefs,
1124
0
                  MVT::i64, 2, 2, 3, 
1125
0
   11, 
1126
0
    OPC_CheckComplexPat1, /*#*/1,
1127
0
    OPC_EmitMergeInputChains1_0,
1128
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::LDXri), 0|OPFL_Chain|OPFL_MemRefs,
1129
0
                  MVT::i64, 2, 2, 3, 
1130
0
   0, 
1131
0
  0,
1132
0
 126, TARGET_VAL(ISD::ATOMIC_STORE),
1133
0
  OPC_RecordMemRef,
1134
0
  OPC_RecordNode,
1135
0
  OPC_RecordChild1,
1136
0
  OPC_Scope, 88, 
1137
0
   OPC_CheckChild1TypeI32,
1138
0
   OPC_RecordChild2,
1139
0
   OPC_Scope, 27, 
1140
0
    OPC_CheckPredicate1, 
1141
0
    OPC_Scope, 11, 
1142
0
     OPC_CheckComplexPat0, /*#*/2,
1143
0
     OPC_EmitMergeInputChains1_0,
1144
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STBrr), 0|OPFL_Chain|OPFL_MemRefs,
1145
0
                   3, 3, 4, 1, 
1146
0
    11, 
1147
0
     OPC_CheckComplexPat1, /*#*/2,
1148
0
     OPC_EmitMergeInputChains1_0,
1149
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STBri), 0|OPFL_Chain|OPFL_MemRefs,
1150
0
                   3, 3, 4, 1, 
1151
0
    0, 
1152
0
   27, 
1153
0
    OPC_CheckPredicate2, 
1154
0
    OPC_Scope, 11, 
1155
0
     OPC_CheckComplexPat0, /*#*/2,
1156
0
     OPC_EmitMergeInputChains1_0,
1157
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STHrr), 0|OPFL_Chain|OPFL_MemRefs,
1158
0
                   3, 3, 4, 1, 
1159
0
    11, 
1160
0
     OPC_CheckComplexPat1, /*#*/2,
1161
0
     OPC_EmitMergeInputChains1_0,
1162
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STHri), 0|OPFL_Chain|OPFL_MemRefs,
1163
0
                   3, 3, 4, 1, 
1164
0
    0, 
1165
0
   27, 
1166
0
    OPC_CheckPredicate5, 
1167
0
    OPC_Scope, 11, 
1168
0
     OPC_CheckComplexPat0, /*#*/2,
1169
0
     OPC_EmitMergeInputChains1_0,
1170
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STrr), 0|OPFL_Chain|OPFL_MemRefs,
1171
0
                   3, 3, 4, 1, 
1172
0
    11, 
1173
0
     OPC_CheckComplexPat1, /*#*/2,
1174
0
     OPC_EmitMergeInputChains1_0,
1175
0
     OPC_MorphNodeTo0, TARGET_VAL(SP::STri), 0|OPFL_Chain|OPFL_MemRefs,
1176
0
                   3, 3, 4, 1, 
1177
0
    0, 
1178
0
   0, 
1179
0
  31, 
1180
0
   OPC_CheckChild1TypeI64,
1181
0
   OPC_RecordChild2,
1182
0
   OPC_CheckPredicate, 12,
1183
0
   OPC_CheckPatternPredicate0,
1184
0
   OPC_Scope, 11, 
1185
0
    OPC_CheckComplexPat0, /*#*/2,
1186
0
    OPC_EmitMergeInputChains1_0,
1187
0
    OPC_MorphNodeTo0, TARGET_VAL(SP::STXrr), 0|OPFL_Chain|OPFL_MemRefs,
1188
0
                  3, 3, 4, 1, 
1189
0
   11, 
1190
0
    OPC_CheckComplexPat1, /*#*/2,
1191
0
    OPC_EmitMergeInputChains1_0,
1192
0
    OPC_MorphNodeTo0, TARGET_VAL(SP::STXri), 0|OPFL_Chain|OPFL_MemRefs,
1193
0
                  3, 3, 4, 1, 
1194
0
   0, 
1195
0
  0, 
1196
0
 24, TARGET_VAL(ISD::BRIND),
1197
0
  OPC_RecordNode,
1198
0
  OPC_RecordChild1,
1199
0
  OPC_Scope, 9, 
1200
0
   OPC_CheckComplexPat0, /*#*/1,
1201
0
   OPC_EmitMergeInputChains1_0,
1202
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SP::BINDrr),
1203
0
                 2, 2, 3, 
1204
0
  9, 
1205
0
   OPC_CheckComplexPat1, /*#*/1,
1206
0
   OPC_EmitMergeInputChains1_0,
1207
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SP::BINDri),
1208
0
                 2, 2, 3, 
1209
0
  0, 
1210
0
 53, TARGET_VAL(SPISD::CALL),
1211
0
  OPC_RecordNode,
1212
0
  OPC_CaptureGlueInput,
1213
0
  OPC_RecordChild1,
1214
0
  OPC_Scope, 10, 
1215
0
   OPC_CheckComplexPat0, /*#*/1,
1216
0
   OPC_EmitMergeInputChains1_0,
1217
0
   OPC_MorphNodeTo0, TARGET_VAL(SP::CALLrr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1218
0
                 2, 2, 3, 
1219
0
  10, 
1220
0
   OPC_CheckComplexPat1, /*#*/1,
1221
0
   OPC_EmitMergeInputChains1_0,
1222
0
   OPC_MorphNodeTo0, TARGET_VAL(SP::CALLri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1223
0
                 2, 2, 3, 
1224
0
  25, 
1225
0
   OPC_MoveChild1,
1226
0
   OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
1227
0
    OPC_MoveParent,
1228
0
    OPC_EmitMergeInputChains1_0,
1229
0
    OPC_MorphNodeTo0, TARGET_VAL(SP::CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1230
0
                  1, 1, 
1231
0
   8, TARGET_VAL(ISD::TargetExternalSymbol),
1232
0
    OPC_MoveParent,
1233
0
    OPC_EmitMergeInputChains1_0,
1234
0
    OPC_MorphNodeTo0, TARGET_VAL(SP::CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1235
0
                  1, 1, 
1236
0
   0,
1237
0
  0, 
1238
0
 42, TARGET_VAL(SPISD::TAIL_CALL),
1239
0
  OPC_RecordNode,
1240
0
  OPC_CaptureGlueInput,
1241
0
  OPC_RecordChild1,
1242
0
  OPC_Scope, 10, 
1243
0
   OPC_CheckComplexPat1, /*#*/1,
1244
0
   OPC_EmitMergeInputChains1_0,
1245
0
   OPC_MorphNodeTo0, TARGET_VAL(SP::TAIL_CALLri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1246
0
                 2, 2, 3, 
1247
0
  25, 
1248
0
   OPC_MoveChild1,
1249
0
   OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
1250
0
    OPC_MoveParent,
1251
0
    OPC_EmitMergeInputChains1_0,
1252
0
    OPC_MorphNodeTo0, TARGET_VAL(SP::TAIL_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1253
0
                  1, 1, 
1254
0
   8, TARGET_VAL(ISD::TargetExternalSymbol),
1255
0
    OPC_MoveParent,
1256
0
    OPC_EmitMergeInputChains1_0,
1257
0
    OPC_MorphNodeTo0, TARGET_VAL(SP::TAIL_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1258
0
                  1, 1, 
1259
0
   0,
1260
0
  0, 
1261
0
 34|128,1, TARGET_VAL(ISD::AND),
1262
0
  OPC_Scope, 30, 
1263
0
   OPC_RecordChild0,
1264
0
   OPC_MoveChild1,
1265
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1266
0
   OPC_RecordChild0,
1267
0
   OPC_CheckChild1Integer, 3, 
1268
0
   OPC_MoveParent,
1269
0
   OPC_SwitchType , 7, MVT::i32,
1270
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1271
0
                  MVT::i32, 2, 0, 1, 
1272
0
   8, MVT::i64,
1273
0
    OPC_CheckPatternPredicate0,
1274
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1275
0
                  MVT::i64, 2, 0, 1, 
1276
0
   0,
1277
0
  30, 
1278
0
   OPC_MoveChild0,
1279
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1280
0
   OPC_RecordChild0,
1281
0
   OPC_CheckChild1Integer, 3, 
1282
0
   OPC_MoveParent,
1283
0
   OPC_RecordChild1,
1284
0
   OPC_SwitchType , 7, MVT::i32,
1285
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1286
0
                  MVT::i32, 2, 1, 0, 
1287
0
   8, MVT::i64,
1288
0
    OPC_CheckPatternPredicate0,
1289
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1290
0
                  MVT::i64, 2, 1, 0, 
1291
0
   0,
1292
0
  18, 
1293
0
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
1294
0
   OPC_RecordChild0,
1295
0
   OPC_CheckTypeI64,
1296
0
   OPC_CheckPatternPredicate0,
1297
0
   OPC_EmitInteger32, 0, 
1298
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLri),
1299
0
                 MVT::i64, 2, 0, 1, 
1300
0
  78, 
1301
0
   OPC_RecordChild0,
1302
0
   OPC_RecordChild1,
1303
0
   OPC_Scope, 54, 
1304
0
    OPC_MoveChild1,
1305
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1306
0
    OPC_Scope, 25, 
1307
0
     OPC_CheckPredicate0, 
1308
0
     OPC_MoveParent,
1309
0
     OPC_SwitchType , 8, MVT::i32,
1310
0
      OPC_EmitConvertToTarget1,
1311
0
      OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDri),
1312
0
                    MVT::i32, 2, 0, 2, 
1313
0
     9, MVT::i64,
1314
0
      OPC_CheckPatternPredicate0,
1315
0
      OPC_EmitConvertToTarget1,
1316
0
      OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDri),
1317
0
                    MVT::i64, 2, 0, 2, 
1318
0
     0,
1319
0
    21, 
1320
0
     OPC_CheckPredicate, 14,
1321
0
     OPC_MoveParent,
1322
0
     OPC_CheckTypeI32,
1323
0
     OPC_EmitConvertToTarget1,
1324
0
     OPC_EmitNodeXForm, 0, 2,
1325
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
1326
0
                   MVT::i32, 1, 3, 
1327
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDNrr),
1328
0
                   MVT::i32, 2, 0, 4, 
1329
0
    0, 
1330
0
   8, 
1331
0
    OPC_CheckTypeI32,
1332
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDrr),
1333
0
                  MVT::i32, 2, 0, 1, 
1334
0
   9, 
1335
0
    OPC_CheckTypeI64,
1336
0
    OPC_CheckPatternPredicate0,
1337
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ANDrr),
1338
0
                  MVT::i64, 2, 0, 1, 
1339
0
   0, 
1340
0
  0, 
1341
0
 15|128,1, TARGET_VAL(ISD::OR),
1342
0
  OPC_Scope, 30, 
1343
0
   OPC_RecordChild0,
1344
0
   OPC_MoveChild1,
1345
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1346
0
   OPC_RecordChild0,
1347
0
   OPC_CheckChild1Integer, 3, 
1348
0
   OPC_MoveParent,
1349
0
   OPC_SwitchType , 7, MVT::i32,
1350
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1351
0
                  MVT::i32, 2, 0, 1, 
1352
0
   8, MVT::i64,
1353
0
    OPC_CheckPatternPredicate0,
1354
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1355
0
                  MVT::i64, 2, 0, 1, 
1356
0
   0,
1357
0
  30, 
1358
0
   OPC_MoveChild0,
1359
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1360
0
   OPC_RecordChild0,
1361
0
   OPC_CheckChild1Integer, 3, 
1362
0
   OPC_MoveParent,
1363
0
   OPC_RecordChild1,
1364
0
   OPC_SwitchType , 7, MVT::i32,
1365
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1366
0
                  MVT::i32, 2, 1, 0, 
1367
0
   8, MVT::i64,
1368
0
    OPC_CheckPatternPredicate0,
1369
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1370
0
                  MVT::i64, 2, 1, 0, 
1371
0
   0,
1372
0
  78, 
1373
0
   OPC_RecordChild0,
1374
0
   OPC_RecordChild1,
1375
0
   OPC_Scope, 54, 
1376
0
    OPC_MoveChild1,
1377
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1378
0
    OPC_Scope, 25, 
1379
0
     OPC_CheckPredicate0, 
1380
0
     OPC_MoveParent,
1381
0
     OPC_SwitchType , 8, MVT::i32,
1382
0
      OPC_EmitConvertToTarget1,
1383
0
      OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
1384
0
                    MVT::i32, 2, 0, 2, 
1385
0
     9, MVT::i64,
1386
0
      OPC_CheckPatternPredicate0,
1387
0
      OPC_EmitConvertToTarget1,
1388
0
      OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
1389
0
                    MVT::i64, 2, 0, 2, 
1390
0
     0,
1391
0
    21, 
1392
0
     OPC_CheckPredicate, 14,
1393
0
     OPC_MoveParent,
1394
0
     OPC_CheckTypeI32,
1395
0
     OPC_EmitConvertToTarget1,
1396
0
     OPC_EmitNodeXForm, 0, 2,
1397
0
     OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
1398
0
                   MVT::i32, 1, 3, 
1399
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ORNrr),
1400
0
                   MVT::i32, 2, 0, 4, 
1401
0
    0, 
1402
0
   8, 
1403
0
    OPC_CheckTypeI32,
1404
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORrr),
1405
0
                  MVT::i32, 2, 0, 1, 
1406
0
   9, 
1407
0
    OPC_CheckTypeI64,
1408
0
    OPC_CheckPatternPredicate0,
1409
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORrr),
1410
0
                  MVT::i64, 2, 0, 1, 
1411
0
   0, 
1412
0
  0, 
1413
0
 43|128,1, TARGET_VAL(SPISD::SELECT_ICC),
1414
0
  OPC_CaptureGlueInput,
1415
0
  OPC_RecordChild0,
1416
0
  OPC_Scope, 44, 
1417
0
   OPC_MoveChild0,
1418
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1419
0
   OPC_CheckPredicate, 11,
1420
0
   OPC_MoveParent,
1421
0
   OPC_RecordChild1,
1422
0
   OPC_RecordChild2,
1423
0
   OPC_MoveChild2,
1424
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1425
0
   OPC_MoveParent,
1426
0
   OPC_SwitchType , 11, MVT::i32,
1427
0
    OPC_CheckPatternPredicate1,
1428
0
    OPC_EmitConvertToTarget0,
1429
0
    OPC_EmitConvertToTarget2,
1430
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVICCri),
1431
0
                  MVT::i32, 3, 3, 1, 4, 
1432
0
   13, MVT::i64,
1433
0
    OPC_CheckPatternPredicate0,
1434
0
    OPC_EmitNodeXForm, 1, 0,
1435
0
    OPC_EmitConvertToTarget2,
1436
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVICCri),
1437
0
                  MVT::i64, 3, 3, 1, 4, 
1438
0
   0,
1439
0
  121, 
1440
0
   OPC_RecordChild1,
1441
0
   OPC_RecordChild2,
1442
0
   OPC_MoveChild2,
1443
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1444
0
   OPC_MoveParent,
1445
0
   OPC_SwitchType , 23, MVT::i32,
1446
0
    OPC_Scope, 10, 
1447
0
     OPC_CheckPatternPredicate1,
1448
0
     OPC_EmitConvertToTarget2,
1449
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVICCrr),
1450
0
                   MVT::i32, 3, 0, 1, 3, 
1451
0
    9, 
1452
0
     OPC_EmitConvertToTarget2,
1453
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_Int_ICC),
1454
0
                   MVT::i32, 3, 0, 1, 3, 
1455
0
    0, 
1456
0
   10, MVT::i64,
1457
0
    OPC_CheckPatternPredicate0,
1458
0
    OPC_EmitConvertToTarget2,
1459
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVICCrr),
1460
0
                  MVT::i64, 3, 0, 1, 3, 
1461
0
   23, MVT::f32,
1462
0
    OPC_Scope, 10, 
1463
0
     OPC_CheckPatternPredicate1,
1464
0
     OPC_EmitConvertToTarget2,
1465
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVS_ICC),
1466
0
                   MVT::f32, 3, 0, 1, 3, 
1467
0
    9, 
1468
0
     OPC_EmitConvertToTarget2,
1469
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_FP_ICC),
1470
0
                   MVT::f32, 3, 0, 1, 3, 
1471
0
    0, 
1472
0
   23, MVT::f64,
1473
0
    OPC_Scope, 10, 
1474
0
     OPC_CheckPatternPredicate1,
1475
0
     OPC_EmitConvertToTarget2,
1476
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVD_ICC),
1477
0
                   MVT::f64, 3, 0, 1, 3, 
1478
0
    9, 
1479
0
     OPC_EmitConvertToTarget2,
1480
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_DFP_ICC),
1481
0
                   MVT::f64, 3, 0, 1, 3, 
1482
0
    0, 
1483
0
   23, MVT::f128,
1484
0
    OPC_Scope, 10, 
1485
0
     OPC_CheckPatternPredicate5,
1486
0
     OPC_EmitConvertToTarget2,
1487
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVQ_ICC),
1488
0
                   MVT::f128, 3, 0, 1, 3, 
1489
0
    9, 
1490
0
     OPC_EmitConvertToTarget2,
1491
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_QFP_ICC),
1492
0
                   MVT::f128, 3, 0, 1, 3, 
1493
0
    0, 
1494
0
   0,
1495
0
  0, 
1496
0
 43|128,1, TARGET_VAL(SPISD::SELECT_FCC),
1497
0
  OPC_CaptureGlueInput,
1498
0
  OPC_RecordChild0,
1499
0
  OPC_Scope, 44, 
1500
0
   OPC_MoveChild0,
1501
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1502
0
   OPC_CheckPredicate, 11,
1503
0
   OPC_MoveParent,
1504
0
   OPC_RecordChild1,
1505
0
   OPC_RecordChild2,
1506
0
   OPC_MoveChild2,
1507
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1508
0
   OPC_MoveParent,
1509
0
   OPC_SwitchType , 11, MVT::i32,
1510
0
    OPC_CheckPatternPredicate1,
1511
0
    OPC_EmitConvertToTarget0,
1512
0
    OPC_EmitConvertToTarget2,
1513
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVFCCri),
1514
0
                  MVT::i32, 3, 3, 1, 4, 
1515
0
   13, MVT::i64,
1516
0
    OPC_CheckPatternPredicate0,
1517
0
    OPC_EmitNodeXForm, 1, 0,
1518
0
    OPC_EmitConvertToTarget2,
1519
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVFCCri),
1520
0
                  MVT::i64, 3, 3, 1, 4, 
1521
0
   0,
1522
0
  121, 
1523
0
   OPC_RecordChild1,
1524
0
   OPC_RecordChild2,
1525
0
   OPC_MoveChild2,
1526
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1527
0
   OPC_MoveParent,
1528
0
   OPC_SwitchType , 23, MVT::i32,
1529
0
    OPC_Scope, 10, 
1530
0
     OPC_CheckPatternPredicate1,
1531
0
     OPC_EmitConvertToTarget2,
1532
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVFCCrr),
1533
0
                   MVT::i32, 3, 0, 1, 3, 
1534
0
    9, 
1535
0
     OPC_EmitConvertToTarget2,
1536
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_Int_FCC),
1537
0
                   MVT::i32, 3, 0, 1, 3, 
1538
0
    0, 
1539
0
   10, MVT::i64,
1540
0
    OPC_CheckPatternPredicate0,
1541
0
    OPC_EmitConvertToTarget2,
1542
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVFCCrr),
1543
0
                  MVT::i64, 3, 0, 1, 3, 
1544
0
   23, MVT::f32,
1545
0
    OPC_Scope, 10, 
1546
0
     OPC_CheckPatternPredicate1,
1547
0
     OPC_EmitConvertToTarget2,
1548
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVS_FCC),
1549
0
                   MVT::f32, 3, 0, 1, 3, 
1550
0
    9, 
1551
0
     OPC_EmitConvertToTarget2,
1552
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_FP_FCC),
1553
0
                   MVT::f32, 3, 0, 1, 3, 
1554
0
    0, 
1555
0
   23, MVT::f64,
1556
0
    OPC_Scope, 10, 
1557
0
     OPC_CheckPatternPredicate1,
1558
0
     OPC_EmitConvertToTarget2,
1559
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVD_FCC),
1560
0
                   MVT::f64, 3, 0, 1, 3, 
1561
0
    9, 
1562
0
     OPC_EmitConvertToTarget2,
1563
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_DFP_FCC),
1564
0
                   MVT::f64, 3, 0, 1, 3, 
1565
0
    0, 
1566
0
   23, MVT::f128,
1567
0
    OPC_Scope, 10, 
1568
0
     OPC_CheckPatternPredicate5,
1569
0
     OPC_EmitConvertToTarget2,
1570
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVQ_FCC),
1571
0
                   MVT::f128, 3, 0, 1, 3, 
1572
0
    9, 
1573
0
     OPC_EmitConvertToTarget2,
1574
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_QFP_FCC),
1575
0
                   MVT::f128, 3, 0, 1, 3, 
1576
0
    0, 
1577
0
   0,
1578
0
  0, 
1579
0
 43|128,1, TARGET_VAL(SPISD::SELECT_XCC),
1580
0
  OPC_CaptureGlueInput,
1581
0
  OPC_RecordChild0,
1582
0
  OPC_Scope, 44, 
1583
0
   OPC_MoveChild0,
1584
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1585
0
   OPC_CheckPredicate, 11,
1586
0
   OPC_MoveParent,
1587
0
   OPC_RecordChild1,
1588
0
   OPC_RecordChild2,
1589
0
   OPC_MoveChild2,
1590
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1591
0
   OPC_MoveParent,
1592
0
   OPC_SwitchType , 11, MVT::i32,
1593
0
    OPC_CheckPatternPredicate0,
1594
0
    OPC_EmitConvertToTarget0,
1595
0
    OPC_EmitConvertToTarget2,
1596
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVXCCri),
1597
0
                  MVT::i32, 3, 3, 1, 4, 
1598
0
   13, MVT::i64,
1599
0
    OPC_CheckPatternPredicate0,
1600
0
    OPC_EmitNodeXForm, 1, 0,
1601
0
    OPC_EmitConvertToTarget2,
1602
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVXCCri),
1603
0
                  MVT::i64, 3, 3, 1, 4, 
1604
0
   0,
1605
0
  121, 
1606
0
   OPC_RecordChild1,
1607
0
   OPC_RecordChild2,
1608
0
   OPC_MoveChild2,
1609
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1610
0
   OPC_MoveParent,
1611
0
   OPC_SwitchType , 23, MVT::i32,
1612
0
    OPC_Scope, 10, 
1613
0
     OPC_CheckPatternPredicate0,
1614
0
     OPC_EmitConvertToTarget2,
1615
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVXCCrr),
1616
0
                   MVT::i32, 3, 0, 1, 3, 
1617
0
    9, 
1618
0
     OPC_EmitConvertToTarget2,
1619
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_Int_XCC),
1620
0
                   MVT::i32, 3, 0, 1, 3, 
1621
0
    0, 
1622
0
   10, MVT::i64,
1623
0
    OPC_CheckPatternPredicate0,
1624
0
    OPC_EmitConvertToTarget2,
1625
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVXCCrr),
1626
0
                  MVT::i64, 3, 0, 1, 3, 
1627
0
   23, MVT::f32,
1628
0
    OPC_Scope, 10, 
1629
0
     OPC_CheckPatternPredicate0,
1630
0
     OPC_EmitConvertToTarget2,
1631
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVS_XCC),
1632
0
                   MVT::f32, 3, 0, 1, 3, 
1633
0
    9, 
1634
0
     OPC_EmitConvertToTarget2,
1635
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_FP_XCC),
1636
0
                   MVT::f32, 3, 0, 1, 3, 
1637
0
    0, 
1638
0
   23, MVT::f64,
1639
0
    OPC_Scope, 10, 
1640
0
     OPC_CheckPatternPredicate0,
1641
0
     OPC_EmitConvertToTarget2,
1642
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVD_XCC),
1643
0
                   MVT::f64, 3, 0, 1, 3, 
1644
0
    9, 
1645
0
     OPC_EmitConvertToTarget2,
1646
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_DFP_XCC),
1647
0
                   MVT::f64, 3, 0, 1, 3, 
1648
0
    0, 
1649
0
   23, MVT::f128,
1650
0
    OPC_Scope, 10, 
1651
0
     OPC_CheckPatternPredicate6,
1652
0
     OPC_EmitConvertToTarget2,
1653
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVQ_XCC),
1654
0
                   MVT::f128, 3, 0, 1, 3, 
1655
0
    9, 
1656
0
     OPC_EmitConvertToTarget2,
1657
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::SELECT_CC_QFP_XCC),
1658
0
                   MVT::f128, 3, 0, 1, 3, 
1659
0
    0, 
1660
0
   0,
1661
0
  0, 
1662
0
 0|128,1, TARGET_VAL(SPISD::SELECT_REG),
1663
0
  OPC_CaptureGlueInput,
1664
0
  OPC_RecordChild0,
1665
0
  OPC_Scope, 47, 
1666
0
   OPC_MoveChild0,
1667
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1668
0
   OPC_CheckPredicate, 20,
1669
0
   OPC_MoveParent,
1670
0
   OPC_RecordChild1,
1671
0
   OPC_RecordChild2,
1672
0
   OPC_MoveChild2,
1673
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1674
0
   OPC_MoveParent,
1675
0
   OPC_RecordChild3,
1676
0
   OPC_SwitchType , 12, MVT::i32,
1677
0
    OPC_CheckPatternPredicate0,
1678
0
    OPC_EmitConvertToTarget0,
1679
0
    OPC_EmitConvertToTarget2,
1680
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVRri),
1681
0
                  MVT::i32, 4, 3, 4, 1, 5, 
1682
0
   14, MVT::i64,
1683
0
    OPC_CheckPatternPredicate0,
1684
0
    OPC_EmitNodeXForm, 1, 0,
1685
0
    OPC_EmitConvertToTarget2,
1686
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVRri),
1687
0
                  MVT::i64, 4, 3, 4, 1, 5, 
1688
0
   0,
1689
0
  75, 
1690
0
   OPC_RecordChild1,
1691
0
   OPC_RecordChild2,
1692
0
   OPC_MoveChild2,
1693
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1694
0
   OPC_MoveParent,
1695
0
   OPC_RecordChild3,
1696
0
   OPC_SwitchType , 11, MVT::i32,
1697
0
    OPC_CheckPatternPredicate0,
1698
0
    OPC_EmitConvertToTarget2,
1699
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVRrr),
1700
0
                  MVT::i32, 4, 3, 0, 1, 4, 
1701
0
   11, MVT::i64,
1702
0
    OPC_CheckPatternPredicate0,
1703
0
    OPC_EmitConvertToTarget2,
1704
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::MOVRrr),
1705
0
                  MVT::i64, 4, 3, 0, 1, 4, 
1706
0
   11, MVT::f32,
1707
0
    OPC_CheckPatternPredicate0,
1708
0
    OPC_EmitConvertToTarget2,
1709
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVRS),
1710
0
                  MVT::f32, 4, 3, 0, 1, 4, 
1711
0
   11, MVT::f64,
1712
0
    OPC_CheckPatternPredicate0,
1713
0
    OPC_EmitConvertToTarget2,
1714
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVRD),
1715
0
                  MVT::f64, 4, 3, 0, 1, 4, 
1716
0
   11, MVT::f128,
1717
0
    OPC_CheckPatternPredicate3,
1718
0
    OPC_EmitConvertToTarget2,
1719
0
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(SP::FMOVRQ),
1720
0
                  MVT::f128, 4, 3, 0, 1, 4, 
1721
0
   0,
1722
0
  0, 
1723
0
 20, TARGET_VAL(ISD::CALLSEQ_START),
1724
0
  OPC_RecordNode,
1725
0
  OPC_RecordChild1,
1726
0
  OPC_MoveChild1,
1727
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1728
0
  OPC_MoveSibling2,
1729
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1730
0
  OPC_RecordNode,
1731
0
  OPC_MoveParent,
1732
0
  OPC_EmitMergeInputChains1_0,
1733
0
  OPC_MorphNodeTo0, TARGET_VAL(SP::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
1734
0
                2, 1, 2, 
1735
0
 21, TARGET_VAL(ISD::CALLSEQ_END),
1736
0
  OPC_RecordNode,
1737
0
  OPC_CaptureGlueInput,
1738
0
  OPC_RecordChild1,
1739
0
  OPC_MoveChild1,
1740
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1741
0
  OPC_MoveSibling2,
1742
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1743
0
  OPC_RecordNode,
1744
0
  OPC_MoveParent,
1745
0
  OPC_EmitMergeInputChains1_0,
1746
0
  OPC_MorphNodeTo0, TARGET_VAL(SP::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
1747
0
                2, 1, 2, 
1748
0
 21, TARGET_VAL(SPISD::TLS_CALL),
1749
0
  OPC_RecordNode,
1750
0
  OPC_CaptureGlueInput,
1751
0
  OPC_RecordChild1,
1752
0
  OPC_MoveChild1,
1753
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1754
0
  OPC_MoveSibling2,
1755
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
1756
0
  OPC_RecordNode,
1757
0
  OPC_MoveParent,
1758
0
  OPC_EmitMergeInputChains1_0,
1759
0
  OPC_MorphNodeTo0, TARGET_VAL(SP::TLS_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic2,
1760
0
                2, 1, 2, 
1761
0
 29, TARGET_VAL(ISD::ATOMIC_FENCE),
1762
0
  OPC_RecordNode,
1763
0
  OPC_MoveChild1,
1764
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1765
0
  OPC_MoveSibling2,
1766
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1767
0
  OPC_MoveParent,
1768
0
  OPC_Scope, 6, 
1769
0
   OPC_CheckPatternPredicate4,
1770
0
   OPC_EmitMergeInputChains1_0,
1771
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SP::STBAR),
1772
0
                 0, 
1773
0
  9, 
1774
0
   OPC_CheckPatternPredicate1,
1775
0
   OPC_EmitMergeInputChains1_0,
1776
0
   OPC_EmitInteger32, 30, 
1777
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SP::MEMBARi),
1778
0
                 1, 1, 
1779
0
  0, 
1780
0
 27, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
1781
0
  OPC_RecordChild0,
1782
0
  OPC_Scope, 11, 
1783
0
   OPC_CheckChild1Integer, 0, 
1784
0
   OPC_EmitStringInteger32, SP::sub_even,
1785
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
1786
0
                 MVT::i32, 2, 0, 1, 
1787
0
  11, 
1788
0
   OPC_CheckChild1Integer, 2, 
1789
0
   OPC_EmitStringInteger32, SP::sub_odd,
1790
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
1791
0
                 MVT::i32, 2, 0, 1, 
1792
0
  0, 
1793
0
 29, TARGET_VAL(ISD::ADDC),
1794
0
  OPC_RecordChild0,
1795
0
  OPC_RecordChild1,
1796
0
  OPC_Scope, 15, 
1797
0
   OPC_MoveChild1,
1798
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1799
0
   OPC_CheckPredicate0, 
1800
0
   OPC_MoveParent,
1801
0
   OPC_CheckTypeI32,
1802
0
   OPC_EmitConvertToTarget1,
1803
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::ADDCCri),
1804
0
                 MVT::i32, 2, 0, 2, 
1805
0
  8, 
1806
0
   OPC_CheckTypeI32,
1807
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::ADDCCrr),
1808
0
                 MVT::i32, 2, 0, 1, 
1809
0
  0, 
1810
0
 32, TARGET_VAL(ISD::ADDE),
1811
0
  OPC_CaptureGlueInput,
1812
0
  OPC_RecordChild0,
1813
0
  OPC_RecordChild1,
1814
0
  OPC_Scope, 16, 
1815
0
   OPC_MoveChild1,
1816
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1817
0
   OPC_CheckPredicate0, 
1818
0
   OPC_MoveParent,
1819
0
   OPC_CheckTypeI32,
1820
0
   OPC_EmitConvertToTarget1,
1821
0
   OPC_MorphNodeTo1, TARGET_VAL(SP::ADDEri), 0|OPFL_GlueInput|OPFL_GlueOutput,
1822
0
                 MVT::i32, 2, 0, 2, 
1823
0
  9, 
1824
0
   OPC_CheckTypeI32,
1825
0
   OPC_MorphNodeTo1, TARGET_VAL(SP::ADDErr), 0|OPFL_GlueInput|OPFL_GlueOutput,
1826
0
                 MVT::i32, 2, 0, 1, 
1827
0
  0, 
1828
0
 53, TARGET_VAL(ISD::SUB),
1829
0
  OPC_RecordChild0,
1830
0
  OPC_RecordChild1,
1831
0
  OPC_Scope, 29, 
1832
0
   OPC_MoveChild1,
1833
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1834
0
   OPC_CheckPredicate0, 
1835
0
   OPC_MoveParent,
1836
0
   OPC_SwitchType , 8, MVT::i32,
1837
0
    OPC_EmitConvertToTarget1,
1838
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBri),
1839
0
                  MVT::i32, 2, 0, 2, 
1840
0
   9, MVT::i64,
1841
0
    OPC_CheckPatternPredicate0,
1842
0
    OPC_EmitConvertToTarget1,
1843
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBri),
1844
0
                  MVT::i64, 2, 0, 2, 
1845
0
   0,
1846
0
  8, 
1847
0
   OPC_CheckTypeI32,
1848
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBrr),
1849
0
                 MVT::i32, 2, 0, 1, 
1850
0
  9, 
1851
0
   OPC_CheckTypeI64,
1852
0
   OPC_CheckPatternPredicate0,
1853
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::SUBrr),
1854
0
                 MVT::i64, 2, 0, 1, 
1855
0
  0, 
1856
0
 32, TARGET_VAL(ISD::SUBE),
1857
0
  OPC_CaptureGlueInput,
1858
0
  OPC_RecordChild0,
1859
0
  OPC_RecordChild1,
1860
0
  OPC_Scope, 16, 
1861
0
   OPC_MoveChild1,
1862
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1863
0
   OPC_CheckPredicate0, 
1864
0
   OPC_MoveParent,
1865
0
   OPC_CheckTypeI32,
1866
0
   OPC_EmitConvertToTarget1,
1867
0
   OPC_MorphNodeTo1, TARGET_VAL(SP::SUBEri), 0|OPFL_GlueInput|OPFL_GlueOutput,
1868
0
                 MVT::i32, 2, 0, 2, 
1869
0
  9, 
1870
0
   OPC_CheckTypeI32,
1871
0
   OPC_MorphNodeTo1, TARGET_VAL(SP::SUBErr), 0|OPFL_GlueInput|OPFL_GlueOutput,
1872
0
                 MVT::i32, 2, 0, 1, 
1873
0
  0, 
1874
0
 29, TARGET_VAL(ISD::SUBC),
1875
0
  OPC_RecordChild0,
1876
0
  OPC_RecordChild1,
1877
0
  OPC_Scope, 15, 
1878
0
   OPC_MoveChild1,
1879
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1880
0
   OPC_CheckPredicate0, 
1881
0
   OPC_MoveParent,
1882
0
   OPC_CheckTypeI32,
1883
0
   OPC_EmitConvertToTarget1,
1884
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCri),
1885
0
                 MVT::i32, 2, 0, 2, 
1886
0
  8, 
1887
0
   OPC_CheckTypeI32,
1888
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCrr),
1889
0
                 MVT::i32, 2, 0, 1, 
1890
0
  0, 
1891
0
 61, TARGET_VAL(SPISD::CMPICC),
1892
0
  OPC_RecordChild0,
1893
0
  OPC_Scope, 27, 
1894
0
   OPC_CheckChild0TypeI32,
1895
0
   OPC_RecordChild1,
1896
0
   OPC_Scope, 14, 
1897
0
    OPC_MoveChild1,
1898
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1899
0
    OPC_CheckPredicate0, 
1900
0
    OPC_MoveParent,
1901
0
    OPC_EmitConvertToTarget1,
1902
0
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCri),
1903
0
                  MVT::i32, 2, 0, 2, 
1904
0
   7, 
1905
0
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCrr),
1906
0
                  MVT::i32, 2, 0, 1, 
1907
0
   0, 
1908
0
  29, 
1909
0
   OPC_CheckChild0TypeI64,
1910
0
   OPC_RecordChild1,
1911
0
   OPC_Scope, 15, 
1912
0
    OPC_MoveChild1,
1913
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1914
0
    OPC_CheckPredicate0, 
1915
0
    OPC_MoveParent,
1916
0
    OPC_CheckPatternPredicate0,
1917
0
    OPC_EmitConvertToTarget1,
1918
0
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCri),
1919
0
                  MVT::i32, 2, 0, 2, 
1920
0
   8, 
1921
0
    OPC_CheckPatternPredicate0,
1922
0
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::SUBCCrr),
1923
0
                  MVT::i32, 2, 0, 1, 
1924
0
   0, 
1925
0
  0, 
1926
0
 31, TARGET_VAL(ISD::UMUL_LOHI),
1927
0
  OPC_RecordChild0,
1928
0
  OPC_RecordChild1,
1929
0
  OPC_Scope, 16, 
1930
0
   OPC_MoveChild1,
1931
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1932
0
   OPC_CheckPredicate0, 
1933
0
   OPC_MoveParent,
1934
0
   OPC_CheckTypeI32,
1935
0
   OPC_EmitConvertToTarget1,
1936
0
   OPC_MorphNodeTo2None, TARGET_VAL(SP::UMULri),
1937
0
                 MVT::i32, MVT::i32, 2, 0, 2, 
1938
0
  9, 
1939
0
   OPC_CheckTypeI32,
1940
0
   OPC_MorphNodeTo2None, TARGET_VAL(SP::UMULrr),
1941
0
                 MVT::i32, MVT::i32, 2, 0, 1, 
1942
0
  0, 
1943
0
 31, TARGET_VAL(ISD::SMUL_LOHI),
1944
0
  OPC_RecordChild0,
1945
0
  OPC_RecordChild1,
1946
0
  OPC_Scope, 16, 
1947
0
   OPC_MoveChild1,
1948
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1949
0
   OPC_CheckPredicate0, 
1950
0
   OPC_MoveParent,
1951
0
   OPC_CheckTypeI32,
1952
0
   OPC_EmitConvertToTarget1,
1953
0
   OPC_MorphNodeTo2None, TARGET_VAL(SP::SMULri),
1954
0
                 MVT::i32, MVT::i32, 2, 0, 2, 
1955
0
  9, 
1956
0
   OPC_CheckTypeI32,
1957
0
   OPC_MorphNodeTo2None, TARGET_VAL(SP::SMULrr),
1958
0
                 MVT::i32, MVT::i32, 2, 0, 1, 
1959
0
  0, 
1960
0
 17, TARGET_VAL(SPISD::RET_GLUE),
1961
0
  OPC_RecordNode,
1962
0
  OPC_CaptureGlueInput,
1963
0
  OPC_RecordChild1,
1964
0
  OPC_MoveChild1,
1965
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1966
0
  OPC_CheckPredicate0, 
1967
0
  OPC_MoveParent,
1968
0
  OPC_EmitMergeInputChains1_0,
1969
0
  OPC_EmitConvertToTarget1,
1970
0
  OPC_MorphNodeTo0, TARGET_VAL(SP::RETL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1971
0
                1, 2, 
1972
0
 31, TARGET_VAL(ISD::MUL),
1973
0
  OPC_RecordChild0,
1974
0
  OPC_RecordChild1,
1975
0
  OPC_Scope, 16, 
1976
0
   OPC_MoveChild1,
1977
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1978
0
   OPC_CheckPredicate0, 
1979
0
   OPC_MoveParent,
1980
0
   OPC_CheckTypeI64,
1981
0
   OPC_CheckPatternPredicate0,
1982
0
   OPC_EmitConvertToTarget1,
1983
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::MULXri),
1984
0
                 MVT::i64, 2, 0, 2, 
1985
0
  9, 
1986
0
   OPC_CheckTypeI64,
1987
0
   OPC_CheckPatternPredicate0,
1988
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::MULXrr),
1989
0
                 MVT::i64, 2, 0, 1, 
1990
0
  0, 
1991
0
 31, TARGET_VAL(ISD::SDIV),
1992
0
  OPC_RecordChild0,
1993
0
  OPC_RecordChild1,
1994
0
  OPC_Scope, 16, 
1995
0
   OPC_MoveChild1,
1996
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1997
0
   OPC_CheckPredicate0, 
1998
0
   OPC_MoveParent,
1999
0
   OPC_CheckTypeI64,
2000
0
   OPC_CheckPatternPredicate0,
2001
0
   OPC_EmitConvertToTarget1,
2002
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::SDIVXri),
2003
0
                 MVT::i64, 2, 0, 2, 
2004
0
  9, 
2005
0
   OPC_CheckTypeI64,
2006
0
   OPC_CheckPatternPredicate0,
2007
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::SDIVXrr),
2008
0
                 MVT::i64, 2, 0, 1, 
2009
0
  0, 
2010
0
 31, TARGET_VAL(ISD::UDIV),
2011
0
  OPC_RecordChild0,
2012
0
  OPC_RecordChild1,
2013
0
  OPC_Scope, 16, 
2014
0
   OPC_MoveChild1,
2015
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2016
0
   OPC_CheckPredicate0, 
2017
0
   OPC_MoveParent,
2018
0
   OPC_CheckTypeI64,
2019
0
   OPC_CheckPatternPredicate0,
2020
0
   OPC_EmitConvertToTarget1,
2021
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::UDIVXri),
2022
0
                 MVT::i64, 2, 0, 2, 
2023
0
  9, 
2024
0
   OPC_CheckTypeI64,
2025
0
   OPC_CheckPatternPredicate0,
2026
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::UDIVXrr),
2027
0
                 MVT::i64, 2, 0, 1, 
2028
0
  0, 
2029
0
 57, TARGET_VAL(ISD::SHL),
2030
0
  OPC_RecordChild0,
2031
0
  OPC_RecordChild1,
2032
0
  OPC_Scope, 29, 
2033
0
   OPC_MoveChild1,
2034
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2035
0
   OPC_CheckTypeI32,
2036
0
   OPC_MoveParent,
2037
0
   OPC_SwitchType , 8, MVT::i32,
2038
0
    OPC_EmitConvertToTarget1,
2039
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SLLri),
2040
0
                  MVT::i32, 2, 0, 2, 
2041
0
   9, MVT::i64,
2042
0
    OPC_CheckPatternPredicate0,
2043
0
    OPC_EmitConvertToTarget1,
2044
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SLLXri),
2045
0
                  MVT::i64, 2, 0, 2, 
2046
0
   0,
2047
0
  22, 
2048
0
   OPC_CheckChild1TypeI32,
2049
0
   OPC_SwitchType , 7, MVT::i32,
2050
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SLLrr),
2051
0
                  MVT::i32, 2, 0, 1, 
2052
0
   8, MVT::i64,
2053
0
    OPC_CheckPatternPredicate0,
2054
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SLLXrr),
2055
0
                  MVT::i64, 2, 0, 1, 
2056
0
   0,
2057
0
  0, 
2058
0
 57, TARGET_VAL(ISD::SRL),
2059
0
  OPC_RecordChild0,
2060
0
  OPC_RecordChild1,
2061
0
  OPC_Scope, 29, 
2062
0
   OPC_MoveChild1,
2063
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2064
0
   OPC_CheckTypeI32,
2065
0
   OPC_MoveParent,
2066
0
   OPC_SwitchType , 8, MVT::i32,
2067
0
    OPC_EmitConvertToTarget1,
2068
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLri),
2069
0
                  MVT::i32, 2, 0, 2, 
2070
0
   9, MVT::i64,
2071
0
    OPC_CheckPatternPredicate0,
2072
0
    OPC_EmitConvertToTarget1,
2073
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLXri),
2074
0
                  MVT::i64, 2, 0, 2, 
2075
0
   0,
2076
0
  22, 
2077
0
   OPC_CheckChild1TypeI32,
2078
0
   OPC_SwitchType , 7, MVT::i32,
2079
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLrr),
2080
0
                  MVT::i32, 2, 0, 1, 
2081
0
   8, MVT::i64,
2082
0
    OPC_CheckPatternPredicate0,
2083
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLXrr),
2084
0
                  MVT::i64, 2, 0, 1, 
2085
0
   0,
2086
0
  0, 
2087
0
 57, TARGET_VAL(ISD::SRA),
2088
0
  OPC_RecordChild0,
2089
0
  OPC_RecordChild1,
2090
0
  OPC_Scope, 29, 
2091
0
   OPC_MoveChild1,
2092
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2093
0
   OPC_CheckTypeI32,
2094
0
   OPC_MoveParent,
2095
0
   OPC_SwitchType , 8, MVT::i32,
2096
0
    OPC_EmitConvertToTarget1,
2097
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAri),
2098
0
                  MVT::i32, 2, 0, 2, 
2099
0
   9, MVT::i64,
2100
0
    OPC_CheckPatternPredicate0,
2101
0
    OPC_EmitConvertToTarget1,
2102
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAXri),
2103
0
                  MVT::i64, 2, 0, 2, 
2104
0
   0,
2105
0
  22, 
2106
0
   OPC_CheckChild1TypeI32,
2107
0
   OPC_SwitchType , 7, MVT::i32,
2108
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SRArr),
2109
0
                  MVT::i32, 2, 0, 1, 
2110
0
   8, MVT::i64,
2111
0
    OPC_CheckPatternPredicate0,
2112
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAXrr),
2113
0
                  MVT::i64, 2, 0, 1, 
2114
0
   0,
2115
0
  0, 
2116
0
 22, TARGET_VAL(SPISD::BRICC),
2117
0
  OPC_RecordNode,
2118
0
  OPC_CaptureGlueInput,
2119
0
  OPC_RecordChild1,
2120
0
  OPC_MoveChild1,
2121
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2122
0
  OPC_MoveSibling2,
2123
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2124
0
  OPC_RecordNode,
2125
0
  OPC_MoveParent,
2126
0
  OPC_EmitMergeInputChains1_0,
2127
0
  OPC_EmitConvertToTarget2,
2128
0
  OPC_MorphNodeTo0, TARGET_VAL(SP::BCOND), 0|OPFL_Chain|OPFL_GlueInput,
2129
0
                2, 1, 3, 
2130
0
 23, TARGET_VAL(SPISD::BPICC),
2131
0
  OPC_RecordNode,
2132
0
  OPC_CaptureGlueInput,
2133
0
  OPC_RecordChild1,
2134
0
  OPC_MoveChild1,
2135
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2136
0
  OPC_MoveSibling2,
2137
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2138
0
  OPC_RecordNode,
2139
0
  OPC_MoveParent,
2140
0
  OPC_CheckPatternPredicate1,
2141
0
  OPC_EmitMergeInputChains1_0,
2142
0
  OPC_EmitConvertToTarget2,
2143
0
  OPC_MorphNodeTo0, TARGET_VAL(SP::BPICC), 0|OPFL_Chain|OPFL_GlueInput,
2144
0
                2, 1, 3, 
2145
0
 33, TARGET_VAL(SPISD::BRFCC),
2146
0
  OPC_RecordNode,
2147
0
  OPC_CaptureGlueInput,
2148
0
  OPC_RecordChild1,
2149
0
  OPC_MoveChild1,
2150
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2151
0
  OPC_MoveSibling2,
2152
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2153
0
  OPC_RecordNode,
2154
0
  OPC_MoveParent,
2155
0
  OPC_EmitMergeInputChains1_0,
2156
0
  OPC_EmitConvertToTarget2,
2157
0
  OPC_Scope, 7, 
2158
0
   OPC_MorphNodeTo0, TARGET_VAL(SP::FBCOND), 0|OPFL_Chain|OPFL_GlueInput,
2159
0
                 2, 1, 3, 
2160
0
  7, 
2161
0
   OPC_MorphNodeTo0, TARGET_VAL(SP::CBCOND), 0|OPFL_Chain|OPFL_GlueInput,
2162
0
                 2, 1, 3, 
2163
0
  0, 
2164
0
 34, TARGET_VAL(SPISD::BRFCC_V9),
2165
0
  OPC_RecordNode,
2166
0
  OPC_CaptureGlueInput,
2167
0
  OPC_RecordChild1,
2168
0
  OPC_MoveChild1,
2169
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2170
0
  OPC_MoveSibling2,
2171
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2172
0
  OPC_RecordNode,
2173
0
  OPC_MoveParent,
2174
0
  OPC_CheckPatternPredicate1,
2175
0
  OPC_EmitMergeInputChains1_0,
2176
0
  OPC_EmitConvertToTarget2,
2177
0
  OPC_Scope, 7, 
2178
0
   OPC_MorphNodeTo0, TARGET_VAL(SP::FBCOND_V9), 0|OPFL_Chain|OPFL_GlueInput,
2179
0
                 2, 1, 3, 
2180
0
  7, 
2181
0
   OPC_MorphNodeTo0, TARGET_VAL(SP::FBCONDA_V9), 0|OPFL_Chain|OPFL_GlueInput,
2182
0
                 2, 1, 3, 
2183
0
  0, 
2184
0
 39, TARGET_VAL(SPISD::TLS_ADD),
2185
0
  OPC_RecordChild0,
2186
0
  OPC_RecordChild1,
2187
0
  OPC_Scope, 16, 
2188
0
   OPC_CheckChild1TypeI32,
2189
0
   OPC_RecordChild2,
2190
0
   OPC_MoveChild2,
2191
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2192
0
   OPC_MoveParent,
2193
0
   OPC_CheckTypeI32,
2194
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::TLS_ADDrr),
2195
0
                 MVT::i32, 3, 0, 1, 2, 
2196
0
  17, 
2197
0
   OPC_CheckChild1TypeI64,
2198
0
   OPC_RecordChild2,
2199
0
   OPC_MoveChild2,
2200
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2201
0
   OPC_MoveParent,
2202
0
   OPC_CheckTypeI64,
2203
0
   OPC_CheckPatternPredicate0,
2204
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::TLS_ADDrr),
2205
0
                 MVT::i64, 3, 0, 1, 2, 
2206
0
  0, 
2207
0
 92, TARGET_VAL(SPISD::Hi),
2208
0
  OPC_RecordChild0,
2209
0
  OPC_MoveChild0,
2210
0
  OPC_SwitchOpcode , 19, TARGET_VAL(ISD::TargetGlobalAddress),
2211
0
   OPC_MoveParent,
2212
0
   OPC_Scope, 7, 
2213
0
    OPC_CheckPatternPredicate2,
2214
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2215
0
                  MVT::iPTR, 1, 0, 
2216
0
   7, 
2217
0
    OPC_CheckPatternPredicate0,
2218
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2219
0
                  MVT::iPTR, 1, 0, 
2220
0
   0, 
2221
0
  19, TARGET_VAL(ISD::TargetConstantPool),
2222
0
   OPC_MoveParent,
2223
0
   OPC_Scope, 7, 
2224
0
    OPC_CheckPatternPredicate2,
2225
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2226
0
                  MVT::iPTR, 1, 0, 
2227
0
   7, 
2228
0
    OPC_CheckPatternPredicate0,
2229
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2230
0
                  MVT::iPTR, 1, 0, 
2231
0
   0, 
2232
0
  19, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2233
0
   OPC_MoveParent,
2234
0
   OPC_Scope, 7, 
2235
0
    OPC_CheckPatternPredicate2,
2236
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2237
0
                  MVT::iPTR, 1, 0, 
2238
0
   7, 
2239
0
    OPC_CheckPatternPredicate0,
2240
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2241
0
                  MVT::iPTR, 1, 0, 
2242
0
   0, 
2243
0
  19, TARGET_VAL(ISD::TargetBlockAddress),
2244
0
   OPC_MoveParent,
2245
0
   OPC_Scope, 7, 
2246
0
    OPC_CheckPatternPredicate2,
2247
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2248
0
                  MVT::iPTR, 1, 0, 
2249
0
   7, 
2250
0
    OPC_CheckPatternPredicate0,
2251
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2252
0
                  MVT::iPTR, 1, 0, 
2253
0
   0, 
2254
0
  0,
2255
0
 116, TARGET_VAL(SPISD::Lo),
2256
0
  OPC_RecordChild0,
2257
0
  OPC_MoveChild0,
2258
0
  OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
2259
0
   OPC_MoveParent,
2260
0
   OPC_Scope, 10, 
2261
0
    OPC_CheckPatternPredicate2,
2262
0
    OPC_EmitRegisterI32, SP::G0,
2263
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2264
0
                  MVT::iPTR, 2, 1, 0, 
2265
0
   10, 
2266
0
    OPC_CheckPatternPredicate0,
2267
0
    OPC_EmitRegisterI64, SP::G0,
2268
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2269
0
                  MVT::iPTR, 2, 1, 0, 
2270
0
   0, 
2271
0
  25, TARGET_VAL(ISD::TargetConstantPool),
2272
0
   OPC_MoveParent,
2273
0
   OPC_Scope, 10, 
2274
0
    OPC_CheckPatternPredicate2,
2275
0
    OPC_EmitRegisterI32, SP::G0,
2276
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2277
0
                  MVT::iPTR, 2, 1, 0, 
2278
0
   10, 
2279
0
    OPC_CheckPatternPredicate0,
2280
0
    OPC_EmitRegisterI64, SP::G0,
2281
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2282
0
                  MVT::iPTR, 2, 1, 0, 
2283
0
   0, 
2284
0
  25, TARGET_VAL(ISD::TargetGlobalTLSAddress),
2285
0
   OPC_MoveParent,
2286
0
   OPC_Scope, 10, 
2287
0
    OPC_CheckPatternPredicate2,
2288
0
    OPC_EmitRegisterI32, SP::G0,
2289
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2290
0
                  MVT::iPTR, 2, 1, 0, 
2291
0
   10, 
2292
0
    OPC_CheckPatternPredicate0,
2293
0
    OPC_EmitRegisterI64, SP::G0,
2294
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2295
0
                  MVT::iPTR, 2, 1, 0, 
2296
0
   0, 
2297
0
  25, TARGET_VAL(ISD::TargetBlockAddress),
2298
0
   OPC_MoveParent,
2299
0
   OPC_Scope, 10, 
2300
0
    OPC_CheckPatternPredicate2,
2301
0
    OPC_EmitRegisterI32, SP::G0,
2302
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2303
0
                  MVT::iPTR, 2, 1, 0, 
2304
0
   10, 
2305
0
    OPC_CheckPatternPredicate0,
2306
0
    OPC_EmitRegisterI64, SP::G0,
2307
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2308
0
                  MVT::iPTR, 2, 1, 0, 
2309
0
   0, 
2310
0
  0,
2311
0
 23, TARGET_VAL(SPISD::BPXCC),
2312
0
  OPC_RecordNode,
2313
0
  OPC_CaptureGlueInput,
2314
0
  OPC_RecordChild1,
2315
0
  OPC_MoveChild1,
2316
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2317
0
  OPC_MoveSibling2,
2318
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2319
0
  OPC_RecordNode,
2320
0
  OPC_MoveParent,
2321
0
  OPC_CheckPatternPredicate0,
2322
0
  OPC_EmitMergeInputChains1_0,
2323
0
  OPC_EmitConvertToTarget2,
2324
0
  OPC_MorphNodeTo0, TARGET_VAL(SP::BPXCC), 0|OPFL_Chain|OPFL_GlueInput,
2325
0
                2, 1, 3, 
2326
0
 25, TARGET_VAL(SPISD::BR_REG),
2327
0
  OPC_RecordNode,
2328
0
  OPC_CaptureGlueInput,
2329
0
  OPC_RecordChild1,
2330
0
  OPC_MoveChild1,
2331
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2332
0
  OPC_MoveSibling2,
2333
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2334
0
  OPC_RecordNode,
2335
0
  OPC_MoveParent,
2336
0
  OPC_RecordChild3,
2337
0
  OPC_CheckPatternPredicate0,
2338
0
  OPC_EmitMergeInputChains1_0,
2339
0
  OPC_EmitConvertToTarget2,
2340
0
  OPC_MorphNodeTo0, TARGET_VAL(SP::BPR), 0|OPFL_Chain|OPFL_GlueInput,
2341
0
                3, 1, 4, 3, 
2342
0
 90|128,1, TARGET_VAL(ISD::Constant),
2343
0
  OPC_Scope, 25, 
2344
0
   OPC_CheckInteger, 0, 
2345
0
   OPC_SwitchType , 8, MVT::i32,
2346
0
    OPC_EmitRegisterI32, SP::G0,
2347
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY),
2348
0
                  MVT::i32, 1, 0, 
2349
0
   9, MVT::i64,
2350
0
    OPC_CheckPatternPredicate0,
2351
0
    OPC_EmitRegisterI64, SP::G0,
2352
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY),
2353
0
                  MVT::i64, 1, 0, 
2354
0
   0,
2355
0
  60|128,1, 
2356
0
   OPC_RecordNode,
2357
0
   OPC_Scope, 13, 
2358
0
    OPC_CheckPredicate, 17,
2359
0
    OPC_CheckTypeI32,
2360
0
    OPC_EmitConvertToTarget0,
2361
0
    OPC_EmitNodeXForm, 2, 1,
2362
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2363
0
                  MVT::i32, 1, 2, 
2364
0
   29, 
2365
0
    OPC_CheckPredicate0, 
2366
0
    OPC_SwitchType , 10, MVT::i32,
2367
0
     OPC_EmitRegisterI32, SP::G0,
2368
0
     OPC_EmitConvertToTarget0,
2369
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2370
0
                   MVT::i32, 2, 1, 2, 
2371
0
    12, MVT::i64,
2372
0
     OPC_EmitRegisterI64, SP::G0,
2373
0
     OPC_EmitNodeXForm, 1, 0,
2374
0
     OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2375
0
                   MVT::i64, 2, 1, 2, 
2376
0
    0,
2377
0
   12, 
2378
0
    OPC_CheckPredicate, 17,
2379
0
    OPC_CheckTypeI64,
2380
0
    OPC_EmitNodeXForm, 2, 0,
2381
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::SETHIi),
2382
0
                  MVT::i64, 1, 1, 
2383
0
   23, 
2384
0
    OPC_CheckPredicate, 18,
2385
0
    OPC_CheckTypeI64,
2386
0
    OPC_CheckPatternPredicate0,
2387
0
    OPC_EmitNodeXForm, 2, 0,
2388
0
    OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2389
0
                  MVT::i32, 1, 1, 
2390
0
    OPC_EmitNodeXForm, 3, 0,
2391
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2392
0
                  MVT::i64, 2, 2, 3, 
2393
0
   23, 
2394
0
    OPC_CheckPredicate, 19,
2395
0
    OPC_CheckTypeI64,
2396
0
    OPC_CheckPatternPredicate0,
2397
0
    OPC_EmitNodeXForm, 4, 0,
2398
0
    OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2399
0
                  MVT::i32, 1, 1, 
2400
0
    OPC_EmitNodeXForm, 5, 0,
2401
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::XORri),
2402
0
                  MVT::i64, 2, 2, 3, 
2403
0
   22, 
2404
0
    OPC_CheckTypeI32,
2405
0
    OPC_EmitConvertToTarget0,
2406
0
    OPC_EmitNodeXForm, 2, 1,
2407
0
    OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2408
0
                  MVT::i32, 1, 2, 
2409
0
    OPC_EmitConvertToTarget0,
2410
0
    OPC_EmitNodeXForm, 3, 4,
2411
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORri),
2412
0
                  MVT::i32, 2, 3, 5, 
2413
0
   56, 
2414
0
    OPC_CheckTypeI64,
2415
0
    OPC_CheckPatternPredicate0,
2416
0
    OPC_EmitNodeXForm, 6, 0,
2417
0
    OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2418
0
                  MVT::i32, 1, 1, 
2419
0
    OPC_EmitNodeXForm, 7, 0,
2420
0
    OPC_EmitNode1None, TARGET_VAL(SP::ORri),
2421
0
                  MVT::i64, 2, 2, 3, 
2422
0
    OPC_EmitInteger32, 64, 
2423
0
    OPC_EmitNode1None, TARGET_VAL(SP::SLLXri),
2424
0
                  MVT::i64, 2, 4, 5, 
2425
0
    OPC_EmitNodeXForm, 2, 0,
2426
0
    OPC_EmitNode1None, TARGET_VAL(SP::SETHIi),
2427
0
                  MVT::i32, 1, 7, 
2428
0
    OPC_EmitNodeXForm, 3, 0,
2429
0
    OPC_EmitNode1None, TARGET_VAL(SP::ORri),
2430
0
                  MVT::i32, 2, 8, 9, 
2431
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::ORrr),
2432
0
                  MVT::i64, 2, 6, 10, 
2433
0
   0, 
2434
0
  0, 
2435
0
 65, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
2436
0
  OPC_RecordMemRef,
2437
0
  OPC_RecordNode,
2438
0
  OPC_RecordChild1,
2439
0
  OPC_SwitchType , 36, MVT::i32,
2440
0
   OPC_RecordChild2,
2441
0
   OPC_RecordChild3,
2442
0
   OPC_CheckPredicate5, 
2443
0
   OPC_Scope, 15, 
2444
0
    OPC_CheckPatternPredicate1,
2445
0
    OPC_EmitMergeInputChains1_0,
2446
0
    OPC_EmitInteger32, 0|128,2, 
2447
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::CASArr), 0|OPFL_Chain|OPFL_MemRefs,
2448
0
                  MVT::i32, 4, 1, 2, 3, 4, 
2449
0
   14, 
2450
0
    OPC_CheckPatternPredicate7,
2451
0
    OPC_EmitMergeInputChains1_0,
2452
0
    OPC_EmitInteger32, 20, 
2453
0
    OPC_MorphNodeTo1, TARGET_VAL(SP::CASArr), 0|OPFL_Chain|OPFL_MemRefs,
2454
0
                  MVT::i32, 4, 1, 2, 3, 4, 
2455
0
   0, 
2456
0
  20, MVT::i64,
2457
0
   OPC_CheckChild1TypeI64,
2458
0
   OPC_RecordChild2,
2459
0
   OPC_RecordChild3,
2460
0
   OPC_CheckPredicate, 12,
2461
0
   OPC_CheckPatternPredicate0,
2462
0
   OPC_EmitMergeInputChains1_0,
2463
0
   OPC_EmitInteger32, 0|128,2, 
2464
0
   OPC_MorphNodeTo1, TARGET_VAL(SP::CASXArr), 0|OPFL_Chain|OPFL_MemRefs,
2465
0
                 MVT::i64, 4, 1, 2, 3, 4, 
2466
0
  0,
2467
0
 16, TARGET_VAL(SPISD::FLUSHW),
2468
0
  OPC_RecordNode,
2469
0
  OPC_Scope, 6, 
2470
0
   OPC_CheckPatternPredicate1,
2471
0
   OPC_EmitMergeInputChains1_0,
2472
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SP::FLUSHW),
2473
0
                 0, 
2474
0
  5, 
2475
0
   OPC_EmitMergeInputChains1_0,
2476
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SP::TA3),
2477
0
                 0, 
2478
0
  0, 
2479
0
 13, TARGET_VAL(ISD::BR),
2480
0
  OPC_RecordNode,
2481
0
  OPC_RecordChild1,
2482
0
  OPC_MoveChild1,
2483
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2484
0
  OPC_MoveParent,
2485
0
  OPC_EmitMergeInputChains1_0,
2486
0
  OPC_MorphNodeTo0Chain, TARGET_VAL(SP::BA),
2487
0
                1, 1, 
2488
0
 6, TARGET_VAL(ISD::TRAP),
2489
0
  OPC_RecordNode,
2490
0
  OPC_EmitMergeInputChains1_0,
2491
0
  OPC_MorphNodeTo0Chain, TARGET_VAL(SP::TA5),
2492
0
                0, 
2493
0
 6, TARGET_VAL(ISD::DEBUGTRAP),
2494
0
  OPC_RecordNode,
2495
0
  OPC_EmitMergeInputChains1_0,
2496
0
  OPC_MorphNodeTo0Chain, TARGET_VAL(SP::TA1),
2497
0
                0, 
2498
0
 37, TARGET_VAL(SPISD::CMPFCC),
2499
0
  OPC_RecordChild0,
2500
0
  OPC_Scope, 10, 
2501
0
   OPC_CheckChild0Type, MVT::f32,
2502
0
   OPC_RecordChild1,
2503
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPS),
2504
0
                 MVT::i1, 2, 0, 1, 
2505
0
  10, 
2506
0
   OPC_CheckChild0Type, MVT::f64,
2507
0
   OPC_RecordChild1,
2508
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPD),
2509
0
                 MVT::i1, 2, 0, 1, 
2510
0
  11, 
2511
0
   OPC_CheckChild0Type, MVT::f128,
2512
0
   OPC_RecordChild1,
2513
0
   OPC_CheckPatternPredicate3,
2514
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPQ),
2515
0
                 MVT::i1, 2, 0, 1, 
2516
0
  0, 
2517
0
 39, TARGET_VAL(SPISD::CMPFCC_V9),
2518
0
  OPC_RecordChild0,
2519
0
  OPC_Scope, 11, 
2520
0
   OPC_CheckChild0Type, MVT::f32,
2521
0
   OPC_RecordChild1,
2522
0
   OPC_CheckPatternPredicate1,
2523
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPS_V9),
2524
0
                 MVT::i1, 2, 0, 1, 
2525
0
  11, 
2526
0
   OPC_CheckChild0Type, MVT::f64,
2527
0
   OPC_RecordChild1,
2528
0
   OPC_CheckPatternPredicate1,
2529
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPD_V9),
2530
0
                 MVT::i1, 2, 0, 1, 
2531
0
  11, 
2532
0
   OPC_CheckChild0Type, MVT::f128,
2533
0
   OPC_RecordChild1,
2534
0
   OPC_CheckPatternPredicate1,
2535
0
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(SP::FCMPQ_V9),
2536
0
                 MVT::i1, 2, 0, 1, 
2537
0
  0, 
2538
0
 31, TARGET_VAL(ISD::FrameIndex),
2539
0
  OPC_RecordNode,
2540
0
  OPC_SwitchType , 12, MVT::i32,
2541
0
   OPC_EmitNodeXForm, 8, 0,
2542
0
   OPC_EmitInteger32, 0, 
2543
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
2544
0
                 MVT::i32, 2, 1, 2, 
2545
0
  12, MVT::i64,
2546
0
   OPC_EmitNodeXForm, 8, 0,
2547
0
   OPC_EmitInteger64, 0, 
2548
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::ADDri),
2549
0
                 MVT::i64, 2, 1, 2, 
2550
0
  0,
2551
0
 13, TARGET_VAL(ISD::ANY_EXTEND),
2552
0
  OPC_RecordChild0,
2553
0
  OPC_CheckChild0TypeI32,
2554
0
  OPC_CheckTypeI64,
2555
0
  OPC_CheckPatternPredicate0,
2556
0
  OPC_EmitStringInteger32, SP::I64RegsRegClassID,
2557
0
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
2558
0
                MVT::i64, 2, 0, 1, 
2559
0
 12, TARGET_VAL(ISD::TRUNCATE),
2560
0
  OPC_RecordChild0,
2561
0
  OPC_CheckTypeI32,
2562
0
  OPC_CheckPatternPredicate0,
2563
0
  OPC_EmitStringInteger32, SP::IntRegsRegClassID,
2564
0
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
2565
0
                MVT::i32, 2, 0, 1, 
2566
0
 13, TARGET_VAL(ISD::ZERO_EXTEND),
2567
0
  OPC_RecordChild0,
2568
0
  OPC_CheckChild0TypeI32,
2569
0
  OPC_CheckTypeI64,
2570
0
  OPC_CheckPatternPredicate0,
2571
0
  OPC_EmitInteger32, 0, 
2572
0
  OPC_MorphNodeTo1None, TARGET_VAL(SP::SRLri),
2573
0
                MVT::i64, 2, 0, 1, 
2574
0
 13, TARGET_VAL(ISD::SIGN_EXTEND),
2575
0
  OPC_RecordChild0,
2576
0
  OPC_CheckChild0TypeI32,
2577
0
  OPC_CheckTypeI64,
2578
0
  OPC_CheckPatternPredicate0,
2579
0
  OPC_EmitInteger32, 0, 
2580
0
  OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAri),
2581
0
                MVT::i64, 2, 0, 1, 
2582
0
 15, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
2583
0
  OPC_RecordChild0,
2584
0
  OPC_MoveChild1,
2585
0
  OPC_CheckValueType, MVT::i32,
2586
0
  OPC_MoveParent,
2587
0
  OPC_CheckPatternPredicate0,
2588
0
  OPC_EmitInteger32, 0, 
2589
0
  OPC_MorphNodeTo1None, TARGET_VAL(SP::SRAri),
2590
0
                MVT::i64, 2, 0, 1, 
2591
0
 31, TARGET_VAL(ISD::CTPOP),
2592
0
  OPC_RecordChild0,
2593
0
  OPC_SwitchType , 8, MVT::i64,
2594
0
   OPC_CheckChild0TypeI64,
2595
0
   OPC_CheckPatternPredicate0,
2596
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::POPCrr),
2597
0
                 MVT::i64, 1, 0, 
2598
0
  16, MVT::i32,
2599
0
   OPC_CheckChild0TypeI32,
2600
0
   OPC_EmitInteger32, 0, 
2601
0
   OPC_EmitNode1None, TARGET_VAL(SP::SRLri),
2602
0
                 MVT::i32, 2, 0, 1, 
2603
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::POPCrr),
2604
0
                 MVT::i32, 1, 2, 
2605
0
  0,
2606
0
 84, TARGET_VAL(ISD::FMUL),
2607
0
  OPC_Scope, 46, 
2608
0
   OPC_MoveChild0,
2609
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
2610
0
   OPC_RecordChild0,
2611
0
   OPC_Scope, 17, 
2612
0
    OPC_MoveSibling1,
2613
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
2614
0
    OPC_RecordChild0,
2615
0
    OPC_MoveParent,
2616
0
    OPC_CheckType, MVT::f64,
2617
0
    OPC_CheckPatternPredicate, 8,
2618
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FSMULD),
2619
0
                  MVT::f64, 2, 0, 1, 
2620
0
   20, 
2621
0
    OPC_CheckChild0Type, MVT::f64,
2622
0
    OPC_MoveSibling1,
2623
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
2624
0
    OPC_RecordChild0,
2625
0
    OPC_CheckChild0Type, MVT::f64,
2626
0
    OPC_MoveParent,
2627
0
    OPC_CheckType, MVT::f128,
2628
0
    OPC_CheckPatternPredicate3,
2629
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FDMULQ),
2630
0
                  MVT::f128, 2, 0, 1, 
2631
0
   0, 
2632
0
  34, 
2633
0
   OPC_RecordChild0,
2634
0
   OPC_RecordChild1,
2635
0
   OPC_SwitchType , 9, MVT::f32,
2636
0
    OPC_CheckPatternPredicate, 9,
2637
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FMULS),
2638
0
                  MVT::f32, 2, 0, 1, 
2639
0
   7, MVT::f64,
2640
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FMULD),
2641
0
                  MVT::f64, 2, 0, 1, 
2642
0
   8, MVT::f128,
2643
0
    OPC_CheckPatternPredicate3,
2644
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FMULQ),
2645
0
                  MVT::f128, 2, 0, 1, 
2646
0
   0,
2647
0
  0, 
2648
0
 28, TARGET_VAL(SPISD::ITOF),
2649
0
  OPC_RecordChild0,
2650
0
  OPC_SwitchType , 6, MVT::f32,
2651
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FITOS),
2652
0
                 MVT::f32, 1, 0, 
2653
0
  6, MVT::f64,
2654
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FITOD),
2655
0
                 MVT::f64, 1, 0, 
2656
0
  7, MVT::f128,
2657
0
   OPC_CheckPatternPredicate3,
2658
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FITOQ),
2659
0
                 MVT::f128, 1, 0, 
2660
0
  0,
2661
0
 31, TARGET_VAL(SPISD::FTOI),
2662
0
  OPC_RecordChild0,
2663
0
  OPC_Scope, 8, 
2664
0
   OPC_CheckChild0Type, MVT::f32,
2665
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSTOI),
2666
0
                 MVT::f32, 1, 0, 
2667
0
  8, 
2668
0
   OPC_CheckChild0Type, MVT::f64,
2669
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FDTOI),
2670
0
                 MVT::f32, 1, 0, 
2671
0
  9, 
2672
0
   OPC_CheckChild0Type, MVT::f128,
2673
0
   OPC_CheckPatternPredicate3,
2674
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FQTOI),
2675
0
                 MVT::f32, 1, 0, 
2676
0
  0, 
2677
0
 35, TARGET_VAL(ISD::FP_EXTEND),
2678
0
  OPC_RecordChild0,
2679
0
  OPC_SwitchType , 6, MVT::f64,
2680
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSTOD),
2681
0
                 MVT::f64, 1, 0, 
2682
0
  22, MVT::f128,
2683
0
   OPC_Scope, 9, 
2684
0
    OPC_CheckChild0Type, MVT::f32,
2685
0
    OPC_CheckPatternPredicate3,
2686
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FSTOQ),
2687
0
                  MVT::f128, 1, 0, 
2688
0
   9, 
2689
0
    OPC_CheckChild0Type, MVT::f64,
2690
0
    OPC_CheckPatternPredicate3,
2691
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FDTOQ),
2692
0
                  MVT::f128, 1, 0, 
2693
0
   0, 
2694
0
  0,
2695
0
 35, TARGET_VAL(ISD::FP_ROUND),
2696
0
  OPC_RecordChild0,
2697
0
  OPC_SwitchType , 21, MVT::f32,
2698
0
   OPC_Scope, 8, 
2699
0
    OPC_CheckChild0Type, MVT::f64,
2700
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FDTOS),
2701
0
                  MVT::f32, 1, 0, 
2702
0
   9, 
2703
0
    OPC_CheckChild0Type, MVT::f128,
2704
0
    OPC_CheckPatternPredicate3,
2705
0
    OPC_MorphNodeTo1None, TARGET_VAL(SP::FQTOS),
2706
0
                  MVT::f32, 1, 0, 
2707
0
   0, 
2708
0
  7, MVT::f64,
2709
0
   OPC_CheckPatternPredicate3,
2710
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FQTOD),
2711
0
                 MVT::f64, 1, 0, 
2712
0
  0,
2713
0
 29, TARGET_VAL(ISD::FNEG),
2714
0
  OPC_RecordChild0,
2715
0
  OPC_SwitchType , 6, MVT::f32,
2716
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FNEGS),
2717
0
                 MVT::f32, 1, 0, 
2718
0
  7, MVT::f64,
2719
0
   OPC_CheckPatternPredicate1,
2720
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FNEGD),
2721
0
                 MVT::f64, 1, 0, 
2722
0
  7, MVT::f128,
2723
0
   OPC_CheckPatternPredicate5,
2724
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FNEGQ),
2725
0
                 MVT::f128, 1, 0, 
2726
0
  0,
2727
0
 29, TARGET_VAL(ISD::FABS),
2728
0
  OPC_RecordChild0,
2729
0
  OPC_SwitchType , 6, MVT::f32,
2730
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FABSS),
2731
0
                 MVT::f32, 1, 0, 
2732
0
  7, MVT::f64,
2733
0
   OPC_CheckPatternPredicate1,
2734
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FABSD),
2735
0
                 MVT::f64, 1, 0, 
2736
0
  7, MVT::f128,
2737
0
   OPC_CheckPatternPredicate5,
2738
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FABSQ),
2739
0
                 MVT::f128, 1, 0, 
2740
0
  0,
2741
0
 30, TARGET_VAL(ISD::FSQRT),
2742
0
  OPC_RecordChild0,
2743
0
  OPC_SwitchType , 8, MVT::f32,
2744
0
   OPC_CheckPatternPredicate, 10,
2745
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSQRTS),
2746
0
                 MVT::f32, 1, 0, 
2747
0
  6, MVT::f64,
2748
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSQRTD),
2749
0
                 MVT::f64, 1, 0, 
2750
0
  7, MVT::f128,
2751
0
   OPC_CheckPatternPredicate3,
2752
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSQRTQ),
2753
0
                 MVT::f128, 1, 0, 
2754
0
  0,
2755
0
 32, TARGET_VAL(ISD::FADD),
2756
0
  OPC_RecordChild0,
2757
0
  OPC_RecordChild1,
2758
0
  OPC_SwitchType , 7, MVT::f32,
2759
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FADDS),
2760
0
                 MVT::f32, 2, 0, 1, 
2761
0
  7, MVT::f64,
2762
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FADDD),
2763
0
                 MVT::f64, 2, 0, 1, 
2764
0
  8, MVT::f128,
2765
0
   OPC_CheckPatternPredicate3,
2766
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FADDQ),
2767
0
                 MVT::f128, 2, 0, 1, 
2768
0
  0,
2769
0
 32, TARGET_VAL(ISD::FSUB),
2770
0
  OPC_RecordChild0,
2771
0
  OPC_RecordChild1,
2772
0
  OPC_SwitchType , 7, MVT::f32,
2773
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSUBS),
2774
0
                 MVT::f32, 2, 0, 1, 
2775
0
  7, MVT::f64,
2776
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSUBD),
2777
0
                 MVT::f64, 2, 0, 1, 
2778
0
  8, MVT::f128,
2779
0
   OPC_CheckPatternPredicate3,
2780
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSUBQ),
2781
0
                 MVT::f128, 2, 0, 1, 
2782
0
  0,
2783
0
 32, TARGET_VAL(ISD::FDIV),
2784
0
  OPC_RecordChild0,
2785
0
  OPC_RecordChild1,
2786
0
  OPC_SwitchType , 7, MVT::f32,
2787
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FDIVS),
2788
0
                 MVT::f32, 2, 0, 1, 
2789
0
  7, MVT::f64,
2790
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FDIVD),
2791
0
                 MVT::f64, 2, 0, 1, 
2792
0
  8, MVT::f128,
2793
0
   OPC_CheckPatternPredicate3,
2794
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FDIVQ),
2795
0
                 MVT::f128, 2, 0, 1, 
2796
0
  0,
2797
0
 30, TARGET_VAL(SPISD::XTOF),
2798
0
  OPC_RecordChild0,
2799
0
  OPC_SwitchType , 7, MVT::f32,
2800
0
   OPC_CheckPatternPredicate0,
2801
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FXTOS),
2802
0
                 MVT::f32, 1, 0, 
2803
0
  7, MVT::f64,
2804
0
   OPC_CheckPatternPredicate0,
2805
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FXTOD),
2806
0
                 MVT::f64, 1, 0, 
2807
0
  7, MVT::f128,
2808
0
   OPC_CheckPatternPredicate6,
2809
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FXTOQ),
2810
0
                 MVT::f128, 1, 0, 
2811
0
  0,
2812
0
 33, TARGET_VAL(SPISD::FTOX),
2813
0
  OPC_RecordChild0,
2814
0
  OPC_Scope, 9, 
2815
0
   OPC_CheckChild0Type, MVT::f32,
2816
0
   OPC_CheckPatternPredicate0,
2817
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FSTOX),
2818
0
                 MVT::f64, 1, 0, 
2819
0
  9, 
2820
0
   OPC_CheckChild0Type, MVT::f64,
2821
0
   OPC_CheckPatternPredicate0,
2822
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FDTOX),
2823
0
                 MVT::f64, 1, 0, 
2824
0
  9, 
2825
0
   OPC_CheckChild0Type, MVT::f128,
2826
0
   OPC_CheckPatternPredicate6,
2827
0
   OPC_MorphNodeTo1None, TARGET_VAL(SP::FQTOX),
2828
0
                 MVT::f64, 1, 0, 
2829
0
  0, 
2830
0
 76, TARGET_VAL(ISD::BUILD_VECTOR),
2831
0
  OPC_CheckType, MVT::v2i32,
2832
0
  OPC_Scope, 41, 
2833
0
   OPC_CheckChild0Integer, 0, 
2834
0
   OPC_CheckChild0TypeI32,
2835
0
   OPC_RecordChild1,
2836
0
   OPC_CheckChild1TypeI32,
2837
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
2838
0
                 MVT::v2i32, 0, 
2839
0
   OPC_EmitRegisterI32, SP::G0,
2840
0
   OPC_EmitRegisterI32, SP::G0,
2841
0
   OPC_EmitNode1None, TARGET_VAL(SP::ORrr),
2842
0
                 MVT::i32, 2, 2, 3, 
2843
0
   OPC_EmitStringInteger32, SP::sub_even,
2844
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
2845
0
                 MVT::v2i32, 3, 1, 4, 5, 
2846
0
   OPC_EmitStringInteger32, SP::sub_odd,
2847
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
2848
0
                 MVT::v2i32, 3, 6, 0, 7, 
2849
0
  29, 
2850
0
   OPC_RecordChild0,
2851
0
   OPC_CheckChild0TypeI32,
2852
0
   OPC_RecordChild1,
2853
0
   OPC_CheckChild1TypeI32,
2854
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
2855
0
                 MVT::v2i32, 0, 
2856
0
   OPC_EmitStringInteger32, SP::sub_even,
2857
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
2858
0
                 MVT::v2i32, 3, 2, 0, 3, 
2859
0
   OPC_EmitStringInteger32, SP::sub_odd,
2860
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
2861
0
                 MVT::v2i32, 3, 4, 1, 5, 
2862
0
  0, 
2863
0
 0,
2864
0
    0
2865
0
  }; // Total Array size is 5762 bytes
2866
2867
0
  #undef TARGET_VAL
2868
0
  SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
2869
0
}
2870
#endif // GET_DAGISEL_BODY
2871
2872
#ifdef GET_DAGISEL_DECL
2873
bool CheckPatternPredicate(unsigned PredNo) const override;
2874
#endif
2875
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
2876
bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
2877
#if DAGISEL_INLINE
2878
  override
2879
#endif
2880
0
{
2881
0
  switch (PredNo) {
2882
0
  default: llvm_unreachable("Invalid predicate in table?");
2883
0
  case 0: return (Subtarget->is64Bit());
2884
0
  case 1: return (Subtarget->isV9());
2885
0
  case 2: return (!Subtarget->is64Bit());
2886
0
  case 3: return (Subtarget->hasHardQuad());
2887
0
  case 4: return (!Subtarget->isV9());
2888
0
  case 5: return (Subtarget->hasHardQuad()) && (Subtarget->isV9());
2889
0
  case 6: return (Subtarget->hasHardQuad()) && (Subtarget->is64Bit());
2890
0
  case 7: return (Subtarget->hasLeonCasa());
2891
0
  case 8: return (!Subtarget->hasNoFSMULD());
2892
0
  case 9: return (!Subtarget->hasNoFMULS());
2893
0
  case 10: return (!Subtarget->fixAllFDIVSQRT());
2894
0
  }
2895
0
}
2896
#endif // GET_DAGISEL_BODY
2897
2898
#ifdef GET_DAGISEL_DECL
2899
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
2900
#endif
2901
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
2902
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
2903
#if DAGISEL_INLINE
2904
  override
2905
#endif
2906
0
{
2907
0
  switch (PredNo) {
2908
0
  default: llvm_unreachable("Invalid predicate in table?");
2909
0
  case 0: {
2910
    // Predicate_simm13
2911
0
    auto *N = cast<ConstantSDNode>(Node);
2912
0
    (void)N;
2913
0
 return isInt<13>(N->getSExtValue()); 
2914
0
  }
2915
0
  case 1: {
2916
    // Predicate_atomic_load_8
2917
    // Predicate_atomic_store_8
2918
    // Predicate_extloadi8
2919
    // Predicate_sextloadi8
2920
    // Predicate_zextloadi8
2921
0
    SDNode *N = Node;
2922
0
    (void)N;
2923
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
2924
0
return true;
2925
2926
0
  }
2927
0
  case 2: {
2928
    // Predicate_atomic_load_16
2929
    // Predicate_atomic_store_16
2930
    // Predicate_extloadi16
2931
    // Predicate_sextloadi16
2932
    // Predicate_zextloadi16
2933
0
    SDNode *N = Node;
2934
0
    (void)N;
2935
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
2936
0
return true;
2937
2938
0
  }
2939
0
  case 3: {
2940
    // Predicate_store
2941
0
    SDNode *N = Node;
2942
0
    (void)N;
2943
0
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
2944
0
return true;
2945
2946
0
  }
2947
0
  case 4: {
2948
    // Predicate_unindexedstore
2949
0
    SDNode *N = Node;
2950
0
    (void)N;
2951
0
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
2952
0
return true;
2953
2954
0
  }
2955
0
  case 5: {
2956
    // Predicate_atomic_cmp_swap_32
2957
    // Predicate_atomic_load_32
2958
    // Predicate_atomic_store_32
2959
    // Predicate_atomic_swap_32
2960
    // Predicate_extloadi32
2961
    // Predicate_sextloadi32
2962
    // Predicate_zextloadi32
2963
0
    SDNode *N = Node;
2964
0
    (void)N;
2965
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
2966
0
return true;
2967
2968
0
  }
2969
0
  case 6: {
2970
    // Predicate_zextload
2971
0
    SDNode *N = Node;
2972
0
    (void)N;
2973
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
2974
0
return true;
2975
2976
0
  }
2977
0
  case 7: {
2978
    // Predicate_extload
2979
0
    SDNode *N = Node;
2980
0
    (void)N;
2981
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
2982
0
return true;
2983
2984
0
  }
2985
0
  case 8: {
2986
    // Predicate_extloadi1
2987
    // Predicate_zextloadi1
2988
0
    SDNode *N = Node;
2989
0
    (void)N;
2990
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i1) return false;
2991
0
return true;
2992
2993
0
  }
2994
0
  case 9: {
2995
    // Predicate_sextload
2996
0
    SDNode *N = Node;
2997
0
    (void)N;
2998
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
2999
0
return true;
3000
3001
0
  }
3002
0
  case 10: {
3003
    // Predicate_load
3004
0
    SDNode *N = Node;
3005
0
    (void)N;
3006
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
3007
0
return true;
3008
3009
0
  }
3010
0
  case 11: {
3011
    // Predicate_simm11
3012
0
    auto *N = cast<ConstantSDNode>(Node);
3013
0
    (void)N;
3014
0
 return isInt<11>(N->getSExtValue()); 
3015
0
  }
3016
0
  case 12: {
3017
    // Predicate_atomic_cmp_swap_64
3018
    // Predicate_atomic_load_64
3019
    // Predicate_atomic_store_64
3020
0
    SDNode *N = Node;
3021
0
    (void)N;
3022
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
3023
0
return true;
3024
3025
0
  }
3026
0
  case 13: {
3027
    // Predicate_truncstorei8
3028
0
    SDNode *N = Node;
3029
0
    (void)N;
3030
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
3031
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
3032
0
return true;
3033
3034
0
  }
3035
0
  case 14: {
3036
    // Predicate_SETHIimm_not
3037
0
    auto *N = cast<ConstantSDNode>(Node);
3038
0
    (void)N;
3039
3040
0
  return N->hasOneUse() && isShiftedUInt<22, 10>(~(unsigned)N->getZExtValue());
3041
3042
0
  }
3043
0
  case 15: {
3044
    // Predicate_truncstorei16
3045
0
    SDNode *N = Node;
3046
0
    (void)N;
3047
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
3048
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
3049
0
return true;
3050
3051
0
  }
3052
0
  case 16: {
3053
    // Predicate_truncstore
3054
0
    SDNode *N = Node;
3055
0
    (void)N;
3056
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
3057
0
return true;
3058
3059
0
  }
3060
0
  case 17: {
3061
    // Predicate_SETHIimm
3062
0
    auto *N = cast<ConstantSDNode>(Node);
3063
0
    (void)N;
3064
3065
0
  return isShiftedUInt<22, 10>(N->getZExtValue());
3066
3067
0
  }
3068
0
  case 18: {
3069
    // Predicate_uimm32
3070
0
    auto *N = cast<ConstantSDNode>(Node);
3071
0
    (void)N;
3072
0
 return isUInt<32>(N->getZExtValue()); 
3073
0
  }
3074
0
  case 19: {
3075
    // Predicate_nimm33
3076
0
    auto *N = cast<ConstantSDNode>(Node);
3077
0
    (void)N;
3078
3079
0
  int64_t Imm = N->getSExtValue();
3080
0
  return Imm < 0 && isInt<33>(Imm);
3081
3082
0
  }
3083
0
  case 20: {
3084
    // Predicate_simm10
3085
0
    auto *N = cast<ConstantSDNode>(Node);
3086
0
    (void)N;
3087
0
 return isInt<10>(N->getSExtValue()); 
3088
0
  }
3089
0
  case 21: {
3090
    // Predicate_unindexedload
3091
0
    SDNode *N = Node;
3092
0
    (void)N;
3093
0
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
3094
0
return true;
3095
3096
0
  }
3097
0
  case 22: {
3098
    // Predicate_truncstorei32
3099
0
    SDNode *N = Node;
3100
0
    (void)N;
3101
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
3102
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
3103
0
return true;
3104
3105
0
  }
3106
0
  }
3107
0
}
3108
#endif // GET_DAGISEL_BODY
3109
3110
#ifdef GET_DAGISEL_DECL
3111
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
3112
      SDValue N, unsigned PatternNo,
3113
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
3114
#endif
3115
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
3116
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
3117
      SDValue N, unsigned PatternNo,
3118
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
3119
#if DAGISEL_INLINE
3120
  override
3121
#endif
3122
0
{
3123
0
  unsigned NextRes = Result.size();
3124
0
  switch (PatternNo) {
3125
0
  default: llvm_unreachable("Invalid pattern # in table?");
3126
0
  case 0:
3127
0
    Result.resize(NextRes+2);
3128
0
  return SelectADDRrr(N, Result[NextRes+0].first, Result[NextRes+1].first);
3129
0
  case 1:
3130
0
    Result.resize(NextRes+2);
3131
0
  return SelectADDRri(N, Result[NextRes+0].first, Result[NextRes+1].first);
3132
0
  }
3133
0
}
3134
#endif // GET_DAGISEL_BODY
3135
3136
#ifdef GET_DAGISEL_DECL
3137
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
3138
#endif
3139
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
3140
SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
3141
#if DAGISEL_INLINE
3142
  override
3143
#endif
3144
0
{
3145
0
  switch (XFormNo) {
3146
0
  default: llvm_unreachable("Invalid xform # in table?");
3147
0
  case 0: {  
3148
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
3149
3150
0
  return CurDAG->getTargetConstant(~(unsigned)N->getZExtValue() >> 10, SDLoc(N),
3151
0
                                   MVT::i32);
3152
3153
0
  }
3154
0
  case 1: {  
3155
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
3156
3157
0
  return CurDAG->getTargetConstant(N->getSExtValue(), SDLoc(N), MVT::i32);
3158
3159
0
  }
3160
0
  case 2: {  
3161
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
3162
3163
  // Transformation function: shift the immediate value down into the low bits.
3164
0
  return CurDAG->getTargetConstant((unsigned)N->getZExtValue() >> 10, SDLoc(N),
3165
0
                                   MVT::i32);
3166
3167
0
  }
3168
0
  case 3: {  
3169
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
3170
3171
0
  return CurDAG->getTargetConstant((unsigned)N->getZExtValue() & 1023, SDLoc(N),
3172
0
                                   MVT::i32);
3173
3174
0
  }
3175
0
  case 4: {  
3176
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
3177
3178
0
  uint64_t Val = (~N->getZExtValue() >> 10) & ((1u << 22) - 1);
3179
0
  return CurDAG->getTargetConstant(Val, SDLoc(N), MVT::i32);
3180
3181
0
  }
3182
0
  case 5: {  
3183
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
3184
3185
0
  return CurDAG->getTargetConstant(~(~N->getZExtValue() & 0x3ff), SDLoc(N),
3186
0
                                   MVT::i32);
3187
3188
0
  }
3189
0
  case 6: {  
3190
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
3191
3192
0
  uint64_t Val = (N->getZExtValue() >> 42) & ((1u << 22) - 1);
3193
0
  return CurDAG->getTargetConstant(Val, SDLoc(N), MVT::i32);
3194
3195
0
  }
3196
0
  case 7: {  
3197
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
3198
3199
0
  uint64_t Val = (N->getZExtValue() >> 32) & ((1u << 10) - 1);
3200
0
  return CurDAG->getTargetConstant(Val, SDLoc(N), MVT::i32);
3201
3202
0
  }
3203
0
  case 8: {  
3204
0
    FrameIndexSDNode *N = cast<FrameIndexSDNode>(V.getNode());
3205
3206
0
  return CurDAG->getTargetFrameIndex(N->getIndex(), N->getValueType(0));
3207
3208
0
  }
3209
0
  }
3210
0
}
3211
#endif // GET_DAGISEL_BODY
3212
3213
3214
#ifdef DAGISEL_INLINE
3215
#undef DAGISEL_INLINE
3216
#endif
3217
#ifdef DAGISEL_CLASS_COLONCOLON
3218
#undef DAGISEL_CLASS_COLONCOLON
3219
#endif
3220
#ifdef GET_DAGISEL_DECL
3221
#undef GET_DAGISEL_DECL
3222
#endif
3223
#ifdef GET_DAGISEL_BODY
3224
#undef GET_DAGISEL_BODY
3225
#endif