Coverage Report

Created: 2024-01-17 10:31

/src/build/lib/Target/SystemZ/SystemZGenDAGISel.inc
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* DAG Instruction Selector for the SystemZ 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 , 50|128,56, TARGET_VAL(ISD::STORE),
58
0
  OPC_RecordMemRef,
59
0
  OPC_RecordNode,
60
0
  OPC_Scope, 62|128,48, 
61
0
   OPC_MoveChild1,
62
0
   OPC_SwitchOpcode , 96|128,11, TARGET_VAL(SystemZISD::SELECT_CCMASK),
63
0
    OPC_Scope, 60, 
64
0
     OPC_RecordChild0,
65
0
     OPC_MoveChild1,
66
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
67
0
     OPC_RecordMemRef,
68
0
     OPC_RecordNode,
69
0
     OPC_CheckFoldableChainNode,
70
0
     OPC_RecordChild1,
71
0
     OPC_CheckChild1TypeI64,
72
0
     OPC_CheckPredicate0, 
73
0
     OPC_CheckPredicate4, 
74
0
     OPC_CheckPredicate6, 
75
0
     OPC_CheckPredicate, 21,
76
0
     OPC_MoveSibling2,
77
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
78
0
     OPC_RecordNode,
79
0
     OPC_CheckPredicate3, 
80
0
     OPC_MoveSibling3,
81
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
82
0
     OPC_RecordNode,
83
0
     OPC_CheckPredicate3, 
84
0
     OPC_MoveParent,
85
0
     OPC_RecordChild4,
86
0
     OPC_CheckTypeI32,
87
0
     OPC_MoveParent,
88
0
     OPC_CheckChild2Same, 3,
89
0
     OPC_CheckPredicate1, 
90
0
     OPC_CheckPredicate, 11,
91
0
     OPC_CheckPredicate, 19,
92
0
     OPC_CheckPredicate, 20,
93
0
     OPC_CheckPatternPredicate2,
94
0
     OPC_CheckComplexPat2, /*#*/3,
95
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
96
0
     OPC_EmitCopyToReg6, SystemZ::CC,
97
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8Mux), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
98
0
                   6, 1, 7, 8, 9, 4, 5, 
99
0
    61, 
100
0
     OPC_MoveChild0,
101
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
102
0
     OPC_RecordMemRef,
103
0
     OPC_RecordNode,
104
0
     OPC_CheckFoldableChainNode,
105
0
     OPC_RecordChild1,
106
0
     OPC_CheckChild1TypeI64,
107
0
     OPC_CheckPredicate0, 
108
0
     OPC_CheckPredicate4, 
109
0
     OPC_CheckPredicate6, 
110
0
     OPC_CheckPredicate, 21,
111
0
     OPC_MoveParent,
112
0
     OPC_RecordChild1,
113
0
     OPC_RecordChild2,
114
0
     OPC_MoveChild2,
115
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
116
0
     OPC_CheckPredicate3, 
117
0
     OPC_MoveSibling3,
118
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
119
0
     OPC_RecordNode,
120
0
     OPC_CheckPredicate3, 
121
0
     OPC_MoveParent,
122
0
     OPC_RecordChild4,
123
0
     OPC_CheckTypeI32,
124
0
     OPC_MoveParent,
125
0
     OPC_CheckChild2Same, 2,
126
0
     OPC_CheckPredicate1, 
127
0
     OPC_CheckPredicate, 11,
128
0
     OPC_CheckPredicate, 19,
129
0
     OPC_CheckPredicate, 20,
130
0
     OPC_CheckPatternPredicate2,
131
0
     OPC_CheckComplexPat2, /*#*/2,
132
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
133
0
     OPC_EmitCopyToReg6, SystemZ::CC,
134
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8MuxInv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
135
0
                   6, 3, 7, 8, 9, 4, 5, 
136
0
    60, 
137
0
     OPC_RecordChild0,
138
0
     OPC_MoveChild1,
139
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
140
0
     OPC_RecordMemRef,
141
0
     OPC_RecordNode,
142
0
     OPC_CheckFoldableChainNode,
143
0
     OPC_RecordChild1,
144
0
     OPC_CheckChild1TypeI64,
145
0
     OPC_CheckPredicate0, 
146
0
     OPC_CheckPredicate4, 
147
0
     OPC_CheckPredicate5, 
148
0
     OPC_CheckPredicate, 21,
149
0
     OPC_MoveSibling2,
150
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
151
0
     OPC_RecordNode,
152
0
     OPC_CheckPredicate3, 
153
0
     OPC_MoveSibling3,
154
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
155
0
     OPC_RecordNode,
156
0
     OPC_CheckPredicate3, 
157
0
     OPC_MoveParent,
158
0
     OPC_RecordChild4,
159
0
     OPC_CheckTypeI32,
160
0
     OPC_MoveParent,
161
0
     OPC_CheckChild2Same, 3,
162
0
     OPC_CheckPredicate1, 
163
0
     OPC_CheckPredicate, 11,
164
0
     OPC_CheckPredicate, 22,
165
0
     OPC_CheckPredicate, 20,
166
0
     OPC_CheckPatternPredicate2,
167
0
     OPC_CheckComplexPat2, /*#*/3,
168
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
169
0
     OPC_EmitCopyToReg6, SystemZ::CC,
170
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16Mux), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
171
0
                   6, 1, 7, 8, 9, 4, 5, 
172
0
    61, 
173
0
     OPC_MoveChild0,
174
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
175
0
     OPC_RecordMemRef,
176
0
     OPC_RecordNode,
177
0
     OPC_CheckFoldableChainNode,
178
0
     OPC_RecordChild1,
179
0
     OPC_CheckChild1TypeI64,
180
0
     OPC_CheckPredicate0, 
181
0
     OPC_CheckPredicate4, 
182
0
     OPC_CheckPredicate5, 
183
0
     OPC_CheckPredicate, 21,
184
0
     OPC_MoveParent,
185
0
     OPC_RecordChild1,
186
0
     OPC_RecordChild2,
187
0
     OPC_MoveChild2,
188
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
189
0
     OPC_CheckPredicate3, 
190
0
     OPC_MoveSibling3,
191
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
192
0
     OPC_RecordNode,
193
0
     OPC_CheckPredicate3, 
194
0
     OPC_MoveParent,
195
0
     OPC_RecordChild4,
196
0
     OPC_CheckTypeI32,
197
0
     OPC_MoveParent,
198
0
     OPC_CheckChild2Same, 2,
199
0
     OPC_CheckPredicate1, 
200
0
     OPC_CheckPredicate, 11,
201
0
     OPC_CheckPredicate, 22,
202
0
     OPC_CheckPredicate, 20,
203
0
     OPC_CheckPatternPredicate2,
204
0
     OPC_CheckComplexPat2, /*#*/2,
205
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
206
0
     OPC_EmitCopyToReg6, SystemZ::CC,
207
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16MuxInv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
208
0
                   6, 3, 7, 8, 9, 4, 5, 
209
0
    58, 
210
0
     OPC_RecordChild0,
211
0
     OPC_MoveChild1,
212
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
213
0
     OPC_RecordMemRef,
214
0
     OPC_RecordNode,
215
0
     OPC_CheckFoldableChainNode,
216
0
     OPC_RecordChild1,
217
0
     OPC_CheckChild1TypeI64,
218
0
     OPC_CheckPredicate0, 
219
0
     OPC_CheckPredicate2, 
220
0
     OPC_CheckPredicate, 25,
221
0
     OPC_MoveSibling2,
222
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
223
0
     OPC_RecordNode,
224
0
     OPC_CheckPredicate3, 
225
0
     OPC_MoveSibling3,
226
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
227
0
     OPC_RecordNode,
228
0
     OPC_CheckPredicate3, 
229
0
     OPC_MoveParent,
230
0
     OPC_RecordChild4,
231
0
     OPC_CheckTypeI32,
232
0
     OPC_MoveParent,
233
0
     OPC_CheckChild2Same, 3,
234
0
     OPC_CheckPredicate1, 
235
0
     OPC_CheckPredicate, 10,
236
0
     OPC_CheckPredicate, 30,
237
0
     OPC_CheckPatternPredicate, 11,
238
0
     OPC_CheckComplexPat2, /*#*/3,
239
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
240
0
     OPC_EmitCopyToReg6, SystemZ::CC,
241
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32Mux), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
242
0
                   6, 1, 7, 8, 9, 4, 5, 
243
0
    59, 
244
0
     OPC_MoveChild0,
245
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
246
0
     OPC_RecordMemRef,
247
0
     OPC_RecordNode,
248
0
     OPC_CheckFoldableChainNode,
249
0
     OPC_RecordChild1,
250
0
     OPC_CheckChild1TypeI64,
251
0
     OPC_CheckPredicate0, 
252
0
     OPC_CheckPredicate2, 
253
0
     OPC_CheckPredicate, 25,
254
0
     OPC_MoveParent,
255
0
     OPC_RecordChild1,
256
0
     OPC_RecordChild2,
257
0
     OPC_MoveChild2,
258
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
259
0
     OPC_CheckPredicate3, 
260
0
     OPC_MoveSibling3,
261
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
262
0
     OPC_RecordNode,
263
0
     OPC_CheckPredicate3, 
264
0
     OPC_MoveParent,
265
0
     OPC_RecordChild4,
266
0
     OPC_CheckTypeI32,
267
0
     OPC_MoveParent,
268
0
     OPC_CheckChild2Same, 2,
269
0
     OPC_CheckPredicate1, 
270
0
     OPC_CheckPredicate, 10,
271
0
     OPC_CheckPredicate, 30,
272
0
     OPC_CheckPatternPredicate, 11,
273
0
     OPC_CheckComplexPat2, /*#*/2,
274
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
275
0
     OPC_EmitCopyToReg6, SystemZ::CC,
276
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32MuxInv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
277
0
                   6, 3, 7, 8, 9, 4, 5, 
278
0
    59, 
279
0
     OPC_RecordChild0,
280
0
     OPC_MoveChild1,
281
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
282
0
     OPC_RecordMemRef,
283
0
     OPC_RecordNode,
284
0
     OPC_CheckFoldableChainNode,
285
0
     OPC_RecordChild1,
286
0
     OPC_CheckChild1TypeI64,
287
0
     OPC_CheckPredicate0, 
288
0
     OPC_CheckPredicate4, 
289
0
     OPC_CheckPredicate6, 
290
0
     OPC_CheckPredicate, 21,
291
0
     OPC_MoveSibling2,
292
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
293
0
     OPC_RecordNode,
294
0
     OPC_CheckPredicate3, 
295
0
     OPC_MoveSibling3,
296
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
297
0
     OPC_RecordNode,
298
0
     OPC_CheckPredicate3, 
299
0
     OPC_MoveParent,
300
0
     OPC_RecordChild4,
301
0
     OPC_CheckTypeI32,
302
0
     OPC_MoveParent,
303
0
     OPC_CheckChild2Same, 3,
304
0
     OPC_CheckPredicate1, 
305
0
     OPC_CheckPredicate, 11,
306
0
     OPC_CheckPredicate, 19,
307
0
     OPC_CheckPredicate, 20,
308
0
     OPC_CheckComplexPat2, /*#*/3,
309
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
310
0
     OPC_EmitCopyToReg6, SystemZ::CC,
311
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
312
0
                   6, 1, 7, 8, 9, 4, 5, 
313
0
    60, 
314
0
     OPC_MoveChild0,
315
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
316
0
     OPC_RecordMemRef,
317
0
     OPC_RecordNode,
318
0
     OPC_CheckFoldableChainNode,
319
0
     OPC_RecordChild1,
320
0
     OPC_CheckChild1TypeI64,
321
0
     OPC_CheckPredicate0, 
322
0
     OPC_CheckPredicate4, 
323
0
     OPC_CheckPredicate6, 
324
0
     OPC_CheckPredicate, 21,
325
0
     OPC_MoveParent,
326
0
     OPC_RecordChild1,
327
0
     OPC_RecordChild2,
328
0
     OPC_MoveChild2,
329
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
330
0
     OPC_CheckPredicate3, 
331
0
     OPC_MoveSibling3,
332
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
333
0
     OPC_RecordNode,
334
0
     OPC_CheckPredicate3, 
335
0
     OPC_MoveParent,
336
0
     OPC_RecordChild4,
337
0
     OPC_CheckTypeI32,
338
0
     OPC_MoveParent,
339
0
     OPC_CheckChild2Same, 2,
340
0
     OPC_CheckPredicate1, 
341
0
     OPC_CheckPredicate, 11,
342
0
     OPC_CheckPredicate, 19,
343
0
     OPC_CheckPredicate, 20,
344
0
     OPC_CheckComplexPat2, /*#*/2,
345
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
346
0
     OPC_EmitCopyToReg6, SystemZ::CC,
347
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
348
0
                   6, 3, 7, 8, 9, 4, 5, 
349
0
    59, 
350
0
     OPC_RecordChild0,
351
0
     OPC_MoveChild1,
352
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
353
0
     OPC_RecordMemRef,
354
0
     OPC_RecordNode,
355
0
     OPC_CheckFoldableChainNode,
356
0
     OPC_RecordChild1,
357
0
     OPC_CheckChild1TypeI64,
358
0
     OPC_CheckPredicate0, 
359
0
     OPC_CheckPredicate4, 
360
0
     OPC_CheckPredicate5, 
361
0
     OPC_CheckPredicate, 21,
362
0
     OPC_MoveSibling2,
363
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
364
0
     OPC_RecordNode,
365
0
     OPC_CheckPredicate3, 
366
0
     OPC_MoveSibling3,
367
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
368
0
     OPC_RecordNode,
369
0
     OPC_CheckPredicate3, 
370
0
     OPC_MoveParent,
371
0
     OPC_RecordChild4,
372
0
     OPC_CheckTypeI32,
373
0
     OPC_MoveParent,
374
0
     OPC_CheckChild2Same, 3,
375
0
     OPC_CheckPredicate1, 
376
0
     OPC_CheckPredicate, 11,
377
0
     OPC_CheckPredicate, 22,
378
0
     OPC_CheckPredicate, 20,
379
0
     OPC_CheckComplexPat2, /*#*/3,
380
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
381
0
     OPC_EmitCopyToReg6, SystemZ::CC,
382
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
383
0
                   6, 1, 7, 8, 9, 4, 5, 
384
0
    60, 
385
0
     OPC_MoveChild0,
386
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
387
0
     OPC_RecordMemRef,
388
0
     OPC_RecordNode,
389
0
     OPC_CheckFoldableChainNode,
390
0
     OPC_RecordChild1,
391
0
     OPC_CheckChild1TypeI64,
392
0
     OPC_CheckPredicate0, 
393
0
     OPC_CheckPredicate4, 
394
0
     OPC_CheckPredicate5, 
395
0
     OPC_CheckPredicate, 21,
396
0
     OPC_MoveParent,
397
0
     OPC_RecordChild1,
398
0
     OPC_RecordChild2,
399
0
     OPC_MoveChild2,
400
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
401
0
     OPC_CheckPredicate3, 
402
0
     OPC_MoveSibling3,
403
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
404
0
     OPC_RecordNode,
405
0
     OPC_CheckPredicate3, 
406
0
     OPC_MoveParent,
407
0
     OPC_RecordChild4,
408
0
     OPC_CheckTypeI32,
409
0
     OPC_MoveParent,
410
0
     OPC_CheckChild2Same, 2,
411
0
     OPC_CheckPredicate1, 
412
0
     OPC_CheckPredicate, 11,
413
0
     OPC_CheckPredicate, 22,
414
0
     OPC_CheckPredicate, 20,
415
0
     OPC_CheckComplexPat2, /*#*/2,
416
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
417
0
     OPC_EmitCopyToReg6, SystemZ::CC,
418
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
419
0
                   6, 3, 7, 8, 9, 4, 5, 
420
0
    56, 
421
0
     OPC_RecordChild0,
422
0
     OPC_MoveChild1,
423
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
424
0
     OPC_RecordMemRef,
425
0
     OPC_RecordNode,
426
0
     OPC_CheckFoldableChainNode,
427
0
     OPC_RecordChild1,
428
0
     OPC_CheckChild1TypeI64,
429
0
     OPC_CheckPredicate0, 
430
0
     OPC_CheckPredicate2, 
431
0
     OPC_CheckPredicate, 25,
432
0
     OPC_MoveSibling2,
433
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
434
0
     OPC_RecordNode,
435
0
     OPC_CheckPredicate3, 
436
0
     OPC_MoveSibling3,
437
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
438
0
     OPC_RecordNode,
439
0
     OPC_CheckPredicate3, 
440
0
     OPC_MoveParent,
441
0
     OPC_RecordChild4,
442
0
     OPC_CheckTypeI32,
443
0
     OPC_MoveParent,
444
0
     OPC_CheckChild2Same, 3,
445
0
     OPC_CheckPredicate1, 
446
0
     OPC_CheckPredicate, 10,
447
0
     OPC_CheckPredicate, 30,
448
0
     OPC_CheckComplexPat2, /*#*/3,
449
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
450
0
     OPC_EmitCopyToReg6, SystemZ::CC,
451
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
452
0
                   6, 1, 7, 8, 9, 4, 5, 
453
0
    57, 
454
0
     OPC_MoveChild0,
455
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
456
0
     OPC_RecordMemRef,
457
0
     OPC_RecordNode,
458
0
     OPC_CheckFoldableChainNode,
459
0
     OPC_RecordChild1,
460
0
     OPC_CheckChild1TypeI64,
461
0
     OPC_CheckPredicate0, 
462
0
     OPC_CheckPredicate2, 
463
0
     OPC_CheckPredicate, 25,
464
0
     OPC_MoveParent,
465
0
     OPC_RecordChild1,
466
0
     OPC_RecordChild2,
467
0
     OPC_MoveChild2,
468
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
469
0
     OPC_CheckPredicate3, 
470
0
     OPC_MoveSibling3,
471
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
472
0
     OPC_RecordNode,
473
0
     OPC_CheckPredicate3, 
474
0
     OPC_MoveParent,
475
0
     OPC_RecordChild4,
476
0
     OPC_CheckTypeI32,
477
0
     OPC_MoveParent,
478
0
     OPC_CheckChild2Same, 2,
479
0
     OPC_CheckPredicate1, 
480
0
     OPC_CheckPredicate, 10,
481
0
     OPC_CheckPredicate, 30,
482
0
     OPC_CheckComplexPat2, /*#*/2,
483
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
484
0
     OPC_EmitCopyToReg6, SystemZ::CC,
485
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
486
0
                   6, 3, 7, 8, 9, 4, 5, 
487
0
    56, 
488
0
     OPC_RecordChild0,
489
0
     OPC_MoveChild1,
490
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
491
0
     OPC_RecordMemRef,
492
0
     OPC_RecordNode,
493
0
     OPC_CheckFoldableChainNode,
494
0
     OPC_RecordChild1,
495
0
     OPC_CheckChild1TypeI64,
496
0
     OPC_CheckPredicate0, 
497
0
     OPC_CheckPredicate2, 
498
0
     OPC_CheckPredicate, 25,
499
0
     OPC_MoveSibling2,
500
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
501
0
     OPC_RecordNode,
502
0
     OPC_CheckPredicate3, 
503
0
     OPC_MoveSibling3,
504
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
505
0
     OPC_RecordNode,
506
0
     OPC_CheckPredicate3, 
507
0
     OPC_MoveParent,
508
0
     OPC_RecordChild4,
509
0
     OPC_CheckTypeI64,
510
0
     OPC_MoveParent,
511
0
     OPC_CheckChild2Same, 3,
512
0
     OPC_CheckPredicate1, 
513
0
     OPC_CheckPredicate, 10,
514
0
     OPC_CheckPredicate, 30,
515
0
     OPC_CheckComplexPat2, /*#*/3,
516
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
517
0
     OPC_EmitCopyToReg6, SystemZ::CC,
518
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
519
0
                   6, 1, 7, 8, 9, 4, 5, 
520
0
    57, 
521
0
     OPC_MoveChild0,
522
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
523
0
     OPC_RecordMemRef,
524
0
     OPC_RecordNode,
525
0
     OPC_CheckFoldableChainNode,
526
0
     OPC_RecordChild1,
527
0
     OPC_CheckChild1TypeI64,
528
0
     OPC_CheckPredicate0, 
529
0
     OPC_CheckPredicate2, 
530
0
     OPC_CheckPredicate, 25,
531
0
     OPC_MoveParent,
532
0
     OPC_RecordChild1,
533
0
     OPC_RecordChild2,
534
0
     OPC_MoveChild2,
535
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
536
0
     OPC_CheckPredicate3, 
537
0
     OPC_MoveSibling3,
538
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
539
0
     OPC_RecordNode,
540
0
     OPC_CheckPredicate3, 
541
0
     OPC_MoveParent,
542
0
     OPC_RecordChild4,
543
0
     OPC_CheckTypeI64,
544
0
     OPC_MoveParent,
545
0
     OPC_CheckChild2Same, 2,
546
0
     OPC_CheckPredicate1, 
547
0
     OPC_CheckPredicate, 10,
548
0
     OPC_CheckPredicate, 30,
549
0
     OPC_CheckComplexPat2, /*#*/2,
550
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
551
0
     OPC_EmitCopyToReg6, SystemZ::CC,
552
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore64Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
553
0
                   6, 3, 7, 8, 9, 4, 5, 
554
0
    57, 
555
0
     OPC_RecordChild0,
556
0
     OPC_MoveChild1,
557
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
558
0
     OPC_RecordMemRef,
559
0
     OPC_RecordNode,
560
0
     OPC_CheckFoldableChainNode,
561
0
     OPC_RecordChild1,
562
0
     OPC_CheckChild1TypeI64,
563
0
     OPC_CheckPredicate0, 
564
0
     OPC_CheckPredicate2, 
565
0
     OPC_CheckPredicate, 25,
566
0
     OPC_MoveSibling2,
567
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
568
0
     OPC_RecordNode,
569
0
     OPC_CheckPredicate3, 
570
0
     OPC_MoveSibling3,
571
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
572
0
     OPC_RecordNode,
573
0
     OPC_CheckPredicate3, 
574
0
     OPC_MoveParent,
575
0
     OPC_RecordChild4,
576
0
     OPC_CheckType, MVT::f32,
577
0
     OPC_MoveParent,
578
0
     OPC_CheckChild2Same, 3,
579
0
     OPC_CheckPredicate1, 
580
0
     OPC_CheckPredicate, 10,
581
0
     OPC_CheckPredicate, 30,
582
0
     OPC_CheckComplexPat2, /*#*/3,
583
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
584
0
     OPC_EmitCopyToReg6, SystemZ::CC,
585
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStoreF32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
586
0
                   6, 1, 7, 8, 9, 4, 5, 
587
0
    58, 
588
0
     OPC_MoveChild0,
589
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
590
0
     OPC_RecordMemRef,
591
0
     OPC_RecordNode,
592
0
     OPC_CheckFoldableChainNode,
593
0
     OPC_RecordChild1,
594
0
     OPC_CheckChild1TypeI64,
595
0
     OPC_CheckPredicate0, 
596
0
     OPC_CheckPredicate2, 
597
0
     OPC_CheckPredicate, 25,
598
0
     OPC_MoveParent,
599
0
     OPC_RecordChild1,
600
0
     OPC_RecordChild2,
601
0
     OPC_MoveChild2,
602
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
603
0
     OPC_CheckPredicate3, 
604
0
     OPC_MoveSibling3,
605
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
606
0
     OPC_RecordNode,
607
0
     OPC_CheckPredicate3, 
608
0
     OPC_MoveParent,
609
0
     OPC_RecordChild4,
610
0
     OPC_CheckType, MVT::f32,
611
0
     OPC_MoveParent,
612
0
     OPC_CheckChild2Same, 2,
613
0
     OPC_CheckPredicate1, 
614
0
     OPC_CheckPredicate, 10,
615
0
     OPC_CheckPredicate, 30,
616
0
     OPC_CheckComplexPat2, /*#*/2,
617
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
618
0
     OPC_EmitCopyToReg6, SystemZ::CC,
619
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStoreF32Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
620
0
                   6, 3, 7, 8, 9, 4, 5, 
621
0
    57, 
622
0
     OPC_RecordChild0,
623
0
     OPC_MoveChild1,
624
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
625
0
     OPC_RecordMemRef,
626
0
     OPC_RecordNode,
627
0
     OPC_CheckFoldableChainNode,
628
0
     OPC_RecordChild1,
629
0
     OPC_CheckChild1TypeI64,
630
0
     OPC_CheckPredicate0, 
631
0
     OPC_CheckPredicate2, 
632
0
     OPC_CheckPredicate, 25,
633
0
     OPC_MoveSibling2,
634
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
635
0
     OPC_RecordNode,
636
0
     OPC_CheckPredicate3, 
637
0
     OPC_MoveSibling3,
638
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
639
0
     OPC_RecordNode,
640
0
     OPC_CheckPredicate3, 
641
0
     OPC_MoveParent,
642
0
     OPC_RecordChild4,
643
0
     OPC_CheckType, MVT::f64,
644
0
     OPC_MoveParent,
645
0
     OPC_CheckChild2Same, 3,
646
0
     OPC_CheckPredicate1, 
647
0
     OPC_CheckPredicate, 10,
648
0
     OPC_CheckPredicate, 30,
649
0
     OPC_CheckComplexPat2, /*#*/3,
650
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
651
0
     OPC_EmitCopyToReg6, SystemZ::CC,
652
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStoreF64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
653
0
                   6, 1, 7, 8, 9, 4, 5, 
654
0
    58, 
655
0
     OPC_MoveChild0,
656
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
657
0
     OPC_RecordMemRef,
658
0
     OPC_RecordNode,
659
0
     OPC_CheckFoldableChainNode,
660
0
     OPC_RecordChild1,
661
0
     OPC_CheckChild1TypeI64,
662
0
     OPC_CheckPredicate0, 
663
0
     OPC_CheckPredicate2, 
664
0
     OPC_CheckPredicate, 25,
665
0
     OPC_MoveParent,
666
0
     OPC_RecordChild1,
667
0
     OPC_RecordChild2,
668
0
     OPC_MoveChild2,
669
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
670
0
     OPC_CheckPredicate3, 
671
0
     OPC_MoveSibling3,
672
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
673
0
     OPC_RecordNode,
674
0
     OPC_CheckPredicate3, 
675
0
     OPC_MoveParent,
676
0
     OPC_RecordChild4,
677
0
     OPC_CheckType, MVT::f64,
678
0
     OPC_MoveParent,
679
0
     OPC_CheckChild2Same, 2,
680
0
     OPC_CheckPredicate1, 
681
0
     OPC_CheckPredicate, 10,
682
0
     OPC_CheckPredicate, 30,
683
0
     OPC_CheckComplexPat2, /*#*/2,
684
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
685
0
     OPC_EmitCopyToReg6, SystemZ::CC,
686
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStoreF64Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
687
0
                   6, 3, 7, 8, 9, 4, 5, 
688
0
    70, 
689
0
     OPC_RecordChild0,
690
0
     OPC_MoveChild1,
691
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
692
0
     OPC_RecordMemRef,
693
0
     OPC_RecordNode,
694
0
     OPC_CheckFoldableChainNode,
695
0
     OPC_RecordChild1,
696
0
     OPC_CheckChild1TypeI64,
697
0
     OPC_CheckPredicate0, 
698
0
     OPC_CheckPredicate4, 
699
0
     OPC_CheckPredicate6, 
700
0
     OPC_CheckPredicate, 21,
701
0
     OPC_MoveSibling2,
702
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
703
0
     OPC_RecordNode,
704
0
     OPC_CheckPredicate3, 
705
0
     OPC_MoveSibling3,
706
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
707
0
     OPC_RecordNode,
708
0
     OPC_CheckPredicate3, 
709
0
     OPC_MoveParent,
710
0
     OPC_RecordChild4,
711
0
     OPC_CheckTypeI64,
712
0
     OPC_MoveParent,
713
0
     OPC_CheckChild2Same, 3,
714
0
     OPC_CheckPredicate1, 
715
0
     OPC_CheckPredicate, 11,
716
0
     OPC_CheckPredicate, 19,
717
0
     OPC_CheckPredicate, 20,
718
0
     OPC_CheckComplexPat2, /*#*/3,
719
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
720
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
721
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
722
0
                   MVT::i32, 2, 1, 10, 
723
0
     OPC_EmitConvertToTarget4,
724
0
     OPC_EmitConvertToTarget5,
725
0
     OPC_EmitCopyToReg6, SystemZ::CC,
726
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
727
0
                   6, 11, 7, 8, 9, 12, 13, 
728
0
    71, 
729
0
     OPC_MoveChild0,
730
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
731
0
     OPC_RecordMemRef,
732
0
     OPC_RecordNode,
733
0
     OPC_CheckFoldableChainNode,
734
0
     OPC_RecordChild1,
735
0
     OPC_CheckChild1TypeI64,
736
0
     OPC_CheckPredicate0, 
737
0
     OPC_CheckPredicate4, 
738
0
     OPC_CheckPredicate6, 
739
0
     OPC_CheckPredicate, 21,
740
0
     OPC_MoveParent,
741
0
     OPC_RecordChild1,
742
0
     OPC_RecordChild2,
743
0
     OPC_MoveChild2,
744
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
745
0
     OPC_CheckPredicate3, 
746
0
     OPC_MoveSibling3,
747
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
748
0
     OPC_RecordNode,
749
0
     OPC_CheckPredicate3, 
750
0
     OPC_MoveParent,
751
0
     OPC_RecordChild4,
752
0
     OPC_CheckTypeI64,
753
0
     OPC_MoveParent,
754
0
     OPC_CheckChild2Same, 2,
755
0
     OPC_CheckPredicate1, 
756
0
     OPC_CheckPredicate, 11,
757
0
     OPC_CheckPredicate, 19,
758
0
     OPC_CheckPredicate, 20,
759
0
     OPC_CheckComplexPat2, /*#*/2,
760
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
761
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
762
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
763
0
                   MVT::i32, 2, 3, 10, 
764
0
     OPC_EmitConvertToTarget4,
765
0
     OPC_EmitConvertToTarget5,
766
0
     OPC_EmitCopyToReg6, SystemZ::CC,
767
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
768
0
                   6, 11, 7, 8, 9, 12, 13, 
769
0
    70, 
770
0
     OPC_RecordChild0,
771
0
     OPC_MoveChild1,
772
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
773
0
     OPC_RecordMemRef,
774
0
     OPC_RecordNode,
775
0
     OPC_CheckFoldableChainNode,
776
0
     OPC_RecordChild1,
777
0
     OPC_CheckChild1TypeI64,
778
0
     OPC_CheckPredicate0, 
779
0
     OPC_CheckPredicate4, 
780
0
     OPC_CheckPredicate5, 
781
0
     OPC_CheckPredicate, 21,
782
0
     OPC_MoveSibling2,
783
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
784
0
     OPC_RecordNode,
785
0
     OPC_CheckPredicate3, 
786
0
     OPC_MoveSibling3,
787
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
788
0
     OPC_RecordNode,
789
0
     OPC_CheckPredicate3, 
790
0
     OPC_MoveParent,
791
0
     OPC_RecordChild4,
792
0
     OPC_CheckTypeI64,
793
0
     OPC_MoveParent,
794
0
     OPC_CheckChild2Same, 3,
795
0
     OPC_CheckPredicate1, 
796
0
     OPC_CheckPredicate, 11,
797
0
     OPC_CheckPredicate, 22,
798
0
     OPC_CheckPredicate, 20,
799
0
     OPC_CheckComplexPat2, /*#*/3,
800
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
801
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
802
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
803
0
                   MVT::i32, 2, 1, 10, 
804
0
     OPC_EmitConvertToTarget4,
805
0
     OPC_EmitConvertToTarget5,
806
0
     OPC_EmitCopyToReg6, SystemZ::CC,
807
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
808
0
                   6, 11, 7, 8, 9, 12, 13, 
809
0
    71, 
810
0
     OPC_MoveChild0,
811
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
812
0
     OPC_RecordMemRef,
813
0
     OPC_RecordNode,
814
0
     OPC_CheckFoldableChainNode,
815
0
     OPC_RecordChild1,
816
0
     OPC_CheckChild1TypeI64,
817
0
     OPC_CheckPredicate0, 
818
0
     OPC_CheckPredicate4, 
819
0
     OPC_CheckPredicate5, 
820
0
     OPC_CheckPredicate, 21,
821
0
     OPC_MoveParent,
822
0
     OPC_RecordChild1,
823
0
     OPC_RecordChild2,
824
0
     OPC_MoveChild2,
825
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
826
0
     OPC_CheckPredicate3, 
827
0
     OPC_MoveSibling3,
828
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
829
0
     OPC_RecordNode,
830
0
     OPC_CheckPredicate3, 
831
0
     OPC_MoveParent,
832
0
     OPC_RecordChild4,
833
0
     OPC_CheckTypeI64,
834
0
     OPC_MoveParent,
835
0
     OPC_CheckChild2Same, 2,
836
0
     OPC_CheckPredicate1, 
837
0
     OPC_CheckPredicate, 11,
838
0
     OPC_CheckPredicate, 22,
839
0
     OPC_CheckPredicate, 20,
840
0
     OPC_CheckComplexPat2, /*#*/2,
841
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
842
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
843
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
844
0
                   MVT::i32, 2, 3, 10, 
845
0
     OPC_EmitConvertToTarget4,
846
0
     OPC_EmitConvertToTarget5,
847
0
     OPC_EmitCopyToReg6, SystemZ::CC,
848
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
849
0
                   6, 11, 7, 8, 9, 12, 13, 
850
0
    71, 
851
0
     OPC_RecordChild0,
852
0
     OPC_MoveChild1,
853
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
854
0
     OPC_RecordMemRef,
855
0
     OPC_RecordNode,
856
0
     OPC_CheckFoldableChainNode,
857
0
     OPC_RecordChild1,
858
0
     OPC_CheckChild1TypeI64,
859
0
     OPC_CheckPredicate0, 
860
0
     OPC_CheckPredicate4, 
861
0
     OPC_CheckPredicate, 9,
862
0
     OPC_CheckPredicate, 21,
863
0
     OPC_MoveSibling2,
864
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
865
0
     OPC_RecordNode,
866
0
     OPC_CheckPredicate3, 
867
0
     OPC_MoveSibling3,
868
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
869
0
     OPC_RecordNode,
870
0
     OPC_CheckPredicate3, 
871
0
     OPC_MoveParent,
872
0
     OPC_RecordChild4,
873
0
     OPC_CheckTypeI64,
874
0
     OPC_MoveParent,
875
0
     OPC_CheckChild2Same, 3,
876
0
     OPC_CheckPredicate1, 
877
0
     OPC_CheckPredicate, 11,
878
0
     OPC_CheckPredicate, 34,
879
0
     OPC_CheckPredicate, 20,
880
0
     OPC_CheckComplexPat2, /*#*/3,
881
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
882
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
883
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
884
0
                   MVT::i32, 2, 1, 10, 
885
0
     OPC_EmitConvertToTarget4,
886
0
     OPC_EmitConvertToTarget5,
887
0
     OPC_EmitCopyToReg6, SystemZ::CC,
888
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
889
0
                   6, 11, 7, 8, 9, 12, 13, 
890
0
    72, 
891
0
     OPC_MoveChild0,
892
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
893
0
     OPC_RecordMemRef,
894
0
     OPC_RecordNode,
895
0
     OPC_CheckFoldableChainNode,
896
0
     OPC_RecordChild1,
897
0
     OPC_CheckChild1TypeI64,
898
0
     OPC_CheckPredicate0, 
899
0
     OPC_CheckPredicate4, 
900
0
     OPC_CheckPredicate, 9,
901
0
     OPC_CheckPredicate, 21,
902
0
     OPC_MoveParent,
903
0
     OPC_RecordChild1,
904
0
     OPC_RecordChild2,
905
0
     OPC_MoveChild2,
906
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
907
0
     OPC_CheckPredicate3, 
908
0
     OPC_MoveSibling3,
909
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
910
0
     OPC_RecordNode,
911
0
     OPC_CheckPredicate3, 
912
0
     OPC_MoveParent,
913
0
     OPC_RecordChild4,
914
0
     OPC_CheckTypeI64,
915
0
     OPC_MoveParent,
916
0
     OPC_CheckChild2Same, 2,
917
0
     OPC_CheckPredicate1, 
918
0
     OPC_CheckPredicate, 11,
919
0
     OPC_CheckPredicate, 34,
920
0
     OPC_CheckPredicate, 20,
921
0
     OPC_CheckComplexPat2, /*#*/2,
922
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
923
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
924
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
925
0
                   MVT::i32, 2, 3, 10, 
926
0
     OPC_EmitConvertToTarget4,
927
0
     OPC_EmitConvertToTarget5,
928
0
     OPC_EmitCopyToReg6, SystemZ::CC,
929
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
930
0
                   6, 11, 7, 8, 9, 12, 13, 
931
0
    0, 
932
0
   30|128,10, TARGET_VAL(ISD::AND),
933
0
    OPC_MoveChild0,
934
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
935
0
    OPC_RecordMemRef,
936
0
    OPC_RecordNode,
937
0
    OPC_CheckFoldableChainNode,
938
0
    OPC_RecordChild1,
939
0
    OPC_CheckChild1TypeI64,
940
0
    OPC_CheckPredicate0, 
941
0
    OPC_Scope, 42, 
942
0
     OPC_CheckPredicate4, 
943
0
     OPC_CheckPredicate6, 
944
0
     OPC_MoveSibling1,
945
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
946
0
     OPC_RecordMemRef,
947
0
     OPC_RecordNode,
948
0
     OPC_CheckFoldableChainNode,
949
0
     OPC_RecordChild1,
950
0
     OPC_CheckChild1TypeI64,
951
0
     OPC_CheckPredicate0, 
952
0
     OPC_MoveParent,
953
0
     OPC_CheckTypeI32,
954
0
     OPC_MoveParent,
955
0
     OPC_CheckChild2Same, 4,
956
0
     OPC_CheckPredicate1, 
957
0
     OPC_CheckPredicate, 8,
958
0
     OPC_CheckComplexPat0, /*#*/2,
959
0
     OPC_CheckComplexPat0, /*#*/4,
960
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
961
0
     OPC_EmitInteger64, 0, 
962
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
963
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
964
0
    41, 
965
0
     OPC_MoveSibling1,
966
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
967
0
     OPC_RecordMemRef,
968
0
     OPC_RecordNode,
969
0
     OPC_CheckFoldableChainNode,
970
0
     OPC_RecordChild1,
971
0
     OPC_CheckChild1TypeI64,
972
0
     OPC_CheckPredicate0, 
973
0
     OPC_CheckPredicate4, 
974
0
     OPC_CheckPredicate6, 
975
0
     OPC_MoveParent,
976
0
     OPC_CheckTypeI32,
977
0
     OPC_MoveParent,
978
0
     OPC_CheckChild2Same, 2,
979
0
     OPC_CheckPredicate1, 
980
0
     OPC_CheckPredicate7, 
981
0
     OPC_CheckComplexPat0, /*#*/2,
982
0
     OPC_CheckComplexPat0, /*#*/4,
983
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
984
0
     OPC_EmitInteger64, 0, 
985
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
986
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
987
0
    42, 
988
0
     OPC_CheckPredicate4, 
989
0
     OPC_CheckPredicate5, 
990
0
     OPC_MoveSibling1,
991
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
992
0
     OPC_RecordMemRef,
993
0
     OPC_RecordNode,
994
0
     OPC_CheckFoldableChainNode,
995
0
     OPC_RecordChild1,
996
0
     OPC_CheckChild1TypeI64,
997
0
     OPC_CheckPredicate0, 
998
0
     OPC_MoveParent,
999
0
     OPC_CheckTypeI32,
1000
0
     OPC_MoveParent,
1001
0
     OPC_CheckChild2Same, 4,
1002
0
     OPC_CheckPredicate1, 
1003
0
     OPC_CheckPredicate, 8,
1004
0
     OPC_CheckComplexPat0, /*#*/2,
1005
0
     OPC_CheckComplexPat0, /*#*/4,
1006
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1007
0
     OPC_EmitInteger64, 2, 
1008
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1009
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1010
0
    41, 
1011
0
     OPC_MoveSibling1,
1012
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1013
0
     OPC_RecordMemRef,
1014
0
     OPC_RecordNode,
1015
0
     OPC_CheckFoldableChainNode,
1016
0
     OPC_RecordChild1,
1017
0
     OPC_CheckChild1TypeI64,
1018
0
     OPC_CheckPredicate0, 
1019
0
     OPC_CheckPredicate4, 
1020
0
     OPC_CheckPredicate5, 
1021
0
     OPC_MoveParent,
1022
0
     OPC_CheckTypeI32,
1023
0
     OPC_MoveParent,
1024
0
     OPC_CheckChild2Same, 2,
1025
0
     OPC_CheckPredicate1, 
1026
0
     OPC_CheckPredicate7, 
1027
0
     OPC_CheckComplexPat0, /*#*/2,
1028
0
     OPC_CheckComplexPat0, /*#*/4,
1029
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1030
0
     OPC_EmitInteger64, 2, 
1031
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1032
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1033
0
    41, 
1034
0
     OPC_CheckPredicate2, 
1035
0
     OPC_MoveSibling1,
1036
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1037
0
     OPC_RecordMemRef,
1038
0
     OPC_RecordNode,
1039
0
     OPC_CheckFoldableChainNode,
1040
0
     OPC_RecordChild1,
1041
0
     OPC_CheckChild1TypeI64,
1042
0
     OPC_CheckPredicate0, 
1043
0
     OPC_MoveParent,
1044
0
     OPC_CheckTypeI32,
1045
0
     OPC_MoveParent,
1046
0
     OPC_CheckChild2Same, 4,
1047
0
     OPC_CheckPredicate1, 
1048
0
     OPC_CheckPredicate, 8,
1049
0
     OPC_CheckComplexPat0, /*#*/2,
1050
0
     OPC_CheckComplexPat0, /*#*/4,
1051
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1052
0
     OPC_EmitInteger64, 6, 
1053
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1054
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1055
0
    40, 
1056
0
     OPC_MoveSibling1,
1057
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1058
0
     OPC_RecordMemRef,
1059
0
     OPC_RecordNode,
1060
0
     OPC_CheckFoldableChainNode,
1061
0
     OPC_RecordChild1,
1062
0
     OPC_CheckChild1TypeI64,
1063
0
     OPC_CheckPredicate0, 
1064
0
     OPC_CheckPredicate2, 
1065
0
     OPC_MoveParent,
1066
0
     OPC_CheckTypeI32,
1067
0
     OPC_MoveParent,
1068
0
     OPC_CheckChild2Same, 2,
1069
0
     OPC_CheckPredicate1, 
1070
0
     OPC_CheckPredicate7, 
1071
0
     OPC_CheckComplexPat0, /*#*/2,
1072
0
     OPC_CheckComplexPat0, /*#*/4,
1073
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1074
0
     OPC_EmitInteger64, 6, 
1075
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1076
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1077
0
    42, 
1078
0
     OPC_CheckPredicate4, 
1079
0
     OPC_CheckPredicate6, 
1080
0
     OPC_MoveSibling1,
1081
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1082
0
     OPC_RecordMemRef,
1083
0
     OPC_RecordNode,
1084
0
     OPC_CheckFoldableChainNode,
1085
0
     OPC_RecordChild1,
1086
0
     OPC_CheckChild1TypeI64,
1087
0
     OPC_CheckPredicate0, 
1088
0
     OPC_MoveParent,
1089
0
     OPC_CheckTypeI64,
1090
0
     OPC_MoveParent,
1091
0
     OPC_CheckChild2Same, 4,
1092
0
     OPC_CheckPredicate1, 
1093
0
     OPC_CheckPredicate, 8,
1094
0
     OPC_CheckComplexPat0, /*#*/2,
1095
0
     OPC_CheckComplexPat0, /*#*/4,
1096
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1097
0
     OPC_EmitInteger64, 0, 
1098
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1099
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1100
0
    41, 
1101
0
     OPC_MoveSibling1,
1102
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1103
0
     OPC_RecordMemRef,
1104
0
     OPC_RecordNode,
1105
0
     OPC_CheckFoldableChainNode,
1106
0
     OPC_RecordChild1,
1107
0
     OPC_CheckChild1TypeI64,
1108
0
     OPC_CheckPredicate0, 
1109
0
     OPC_CheckPredicate4, 
1110
0
     OPC_CheckPredicate6, 
1111
0
     OPC_MoveParent,
1112
0
     OPC_CheckTypeI64,
1113
0
     OPC_MoveParent,
1114
0
     OPC_CheckChild2Same, 2,
1115
0
     OPC_CheckPredicate1, 
1116
0
     OPC_CheckPredicate7, 
1117
0
     OPC_CheckComplexPat0, /*#*/2,
1118
0
     OPC_CheckComplexPat0, /*#*/4,
1119
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1120
0
     OPC_EmitInteger64, 0, 
1121
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1122
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1123
0
    42, 
1124
0
     OPC_CheckPredicate4, 
1125
0
     OPC_CheckPredicate5, 
1126
0
     OPC_MoveSibling1,
1127
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1128
0
     OPC_RecordMemRef,
1129
0
     OPC_RecordNode,
1130
0
     OPC_CheckFoldableChainNode,
1131
0
     OPC_RecordChild1,
1132
0
     OPC_CheckChild1TypeI64,
1133
0
     OPC_CheckPredicate0, 
1134
0
     OPC_MoveParent,
1135
0
     OPC_CheckTypeI64,
1136
0
     OPC_MoveParent,
1137
0
     OPC_CheckChild2Same, 4,
1138
0
     OPC_CheckPredicate1, 
1139
0
     OPC_CheckPredicate, 8,
1140
0
     OPC_CheckComplexPat0, /*#*/2,
1141
0
     OPC_CheckComplexPat0, /*#*/4,
1142
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1143
0
     OPC_EmitInteger64, 2, 
1144
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1145
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1146
0
    41, 
1147
0
     OPC_MoveSibling1,
1148
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1149
0
     OPC_RecordMemRef,
1150
0
     OPC_RecordNode,
1151
0
     OPC_CheckFoldableChainNode,
1152
0
     OPC_RecordChild1,
1153
0
     OPC_CheckChild1TypeI64,
1154
0
     OPC_CheckPredicate0, 
1155
0
     OPC_CheckPredicate4, 
1156
0
     OPC_CheckPredicate5, 
1157
0
     OPC_MoveParent,
1158
0
     OPC_CheckTypeI64,
1159
0
     OPC_MoveParent,
1160
0
     OPC_CheckChild2Same, 2,
1161
0
     OPC_CheckPredicate1, 
1162
0
     OPC_CheckPredicate7, 
1163
0
     OPC_CheckComplexPat0, /*#*/2,
1164
0
     OPC_CheckComplexPat0, /*#*/4,
1165
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1166
0
     OPC_EmitInteger64, 2, 
1167
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1168
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1169
0
    43, 
1170
0
     OPC_CheckPredicate4, 
1171
0
     OPC_CheckPredicate, 9,
1172
0
     OPC_MoveSibling1,
1173
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1174
0
     OPC_RecordMemRef,
1175
0
     OPC_RecordNode,
1176
0
     OPC_CheckFoldableChainNode,
1177
0
     OPC_RecordChild1,
1178
0
     OPC_CheckChild1TypeI64,
1179
0
     OPC_CheckPredicate0, 
1180
0
     OPC_MoveParent,
1181
0
     OPC_CheckTypeI64,
1182
0
     OPC_MoveParent,
1183
0
     OPC_CheckChild2Same, 4,
1184
0
     OPC_CheckPredicate1, 
1185
0
     OPC_CheckPredicate, 8,
1186
0
     OPC_CheckComplexPat0, /*#*/2,
1187
0
     OPC_CheckComplexPat0, /*#*/4,
1188
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1189
0
     OPC_EmitInteger64, 6, 
1190
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1191
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1192
0
    42, 
1193
0
     OPC_MoveSibling1,
1194
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1195
0
     OPC_RecordMemRef,
1196
0
     OPC_RecordNode,
1197
0
     OPC_CheckFoldableChainNode,
1198
0
     OPC_RecordChild1,
1199
0
     OPC_CheckChild1TypeI64,
1200
0
     OPC_CheckPredicate0, 
1201
0
     OPC_CheckPredicate4, 
1202
0
     OPC_CheckPredicate, 9,
1203
0
     OPC_MoveParent,
1204
0
     OPC_CheckTypeI64,
1205
0
     OPC_MoveParent,
1206
0
     OPC_CheckChild2Same, 2,
1207
0
     OPC_CheckPredicate1, 
1208
0
     OPC_CheckPredicate7, 
1209
0
     OPC_CheckComplexPat0, /*#*/2,
1210
0
     OPC_CheckComplexPat0, /*#*/4,
1211
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1212
0
     OPC_EmitInteger64, 6, 
1213
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1214
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1215
0
    41, 
1216
0
     OPC_CheckPredicate2, 
1217
0
     OPC_MoveSibling1,
1218
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1219
0
     OPC_RecordMemRef,
1220
0
     OPC_RecordNode,
1221
0
     OPC_CheckFoldableChainNode,
1222
0
     OPC_RecordChild1,
1223
0
     OPC_CheckChild1TypeI64,
1224
0
     OPC_CheckPredicate0, 
1225
0
     OPC_MoveParent,
1226
0
     OPC_CheckTypeI64,
1227
0
     OPC_MoveParent,
1228
0
     OPC_CheckChild2Same, 4,
1229
0
     OPC_CheckPredicate1, 
1230
0
     OPC_CheckPredicate, 8,
1231
0
     OPC_CheckComplexPat0, /*#*/2,
1232
0
     OPC_CheckComplexPat0, /*#*/4,
1233
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1234
0
     OPC_EmitInteger64, 14, 
1235
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1236
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1237
0
    76, 
1238
0
     OPC_MoveSibling1,
1239
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1240
0
     OPC_RecordMemRef,
1241
0
     OPC_RecordNode,
1242
0
     OPC_CheckFoldableChainNode,
1243
0
     OPC_RecordChild1,
1244
0
     OPC_CheckChild1TypeI64,
1245
0
     OPC_CheckPredicate0, 
1246
0
     OPC_Scope, 30, 
1247
0
      OPC_CheckPredicate2, 
1248
0
      OPC_MoveParent,
1249
0
      OPC_CheckTypeI64,
1250
0
      OPC_MoveParent,
1251
0
      OPC_CheckChild2Same, 2,
1252
0
      OPC_CheckPredicate1, 
1253
0
      OPC_CheckPredicate7, 
1254
0
      OPC_CheckComplexPat0, /*#*/2,
1255
0
      OPC_CheckComplexPat0, /*#*/4,
1256
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1257
0
      OPC_EmitInteger64, 14, 
1258
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1259
0
                    MVT::i32, 5, 5, 6, 7, 8, 9, 
1260
0
     32, 
1261
0
      OPC_CheckPredicate4, 
1262
0
      OPC_CheckPredicate6, 
1263
0
      OPC_MoveParent,
1264
0
      OPC_CheckTypeI32,
1265
0
      OPC_MoveParent,
1266
0
      OPC_CheckChild2Same, 2,
1267
0
      OPC_CheckPredicate1, 
1268
0
      OPC_CheckPredicate, 8,
1269
0
      OPC_CheckComplexPat0, /*#*/2,
1270
0
      OPC_CheckComplexPat0, /*#*/4,
1271
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1272
0
      OPC_EmitInteger64, 0, 
1273
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1274
0
                    MVT::i32, 5, 5, 6, 7, 8, 9, 
1275
0
     0, 
1276
0
    41, 
1277
0
     OPC_CheckPredicate4, 
1278
0
     OPC_CheckPredicate6, 
1279
0
     OPC_MoveSibling1,
1280
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1281
0
     OPC_RecordMemRef,
1282
0
     OPC_RecordNode,
1283
0
     OPC_CheckFoldableChainNode,
1284
0
     OPC_RecordChild1,
1285
0
     OPC_CheckChild1TypeI64,
1286
0
     OPC_CheckPredicate0, 
1287
0
     OPC_MoveParent,
1288
0
     OPC_CheckTypeI32,
1289
0
     OPC_MoveParent,
1290
0
     OPC_CheckChild2Same, 4,
1291
0
     OPC_CheckPredicate1, 
1292
0
     OPC_CheckPredicate7, 
1293
0
     OPC_CheckComplexPat0, /*#*/2,
1294
0
     OPC_CheckComplexPat0, /*#*/4,
1295
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1296
0
     OPC_EmitInteger64, 0, 
1297
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1298
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1299
0
    42, 
1300
0
     OPC_MoveSibling1,
1301
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1302
0
     OPC_RecordMemRef,
1303
0
     OPC_RecordNode,
1304
0
     OPC_CheckFoldableChainNode,
1305
0
     OPC_RecordChild1,
1306
0
     OPC_CheckChild1TypeI64,
1307
0
     OPC_CheckPredicate0, 
1308
0
     OPC_CheckPredicate4, 
1309
0
     OPC_CheckPredicate5, 
1310
0
     OPC_MoveParent,
1311
0
     OPC_CheckTypeI32,
1312
0
     OPC_MoveParent,
1313
0
     OPC_CheckChild2Same, 2,
1314
0
     OPC_CheckPredicate1, 
1315
0
     OPC_CheckPredicate, 8,
1316
0
     OPC_CheckComplexPat0, /*#*/2,
1317
0
     OPC_CheckComplexPat0, /*#*/4,
1318
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1319
0
     OPC_EmitInteger64, 2, 
1320
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1321
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1322
0
    41, 
1323
0
     OPC_CheckPredicate4, 
1324
0
     OPC_CheckPredicate5, 
1325
0
     OPC_MoveSibling1,
1326
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1327
0
     OPC_RecordMemRef,
1328
0
     OPC_RecordNode,
1329
0
     OPC_CheckFoldableChainNode,
1330
0
     OPC_RecordChild1,
1331
0
     OPC_CheckChild1TypeI64,
1332
0
     OPC_CheckPredicate0, 
1333
0
     OPC_MoveParent,
1334
0
     OPC_CheckTypeI32,
1335
0
     OPC_MoveParent,
1336
0
     OPC_CheckChild2Same, 4,
1337
0
     OPC_CheckPredicate1, 
1338
0
     OPC_CheckPredicate7, 
1339
0
     OPC_CheckComplexPat0, /*#*/2,
1340
0
     OPC_CheckComplexPat0, /*#*/4,
1341
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1342
0
     OPC_EmitInteger64, 2, 
1343
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1344
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1345
0
    41, 
1346
0
     OPC_MoveSibling1,
1347
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1348
0
     OPC_RecordMemRef,
1349
0
     OPC_RecordNode,
1350
0
     OPC_CheckFoldableChainNode,
1351
0
     OPC_RecordChild1,
1352
0
     OPC_CheckChild1TypeI64,
1353
0
     OPC_CheckPredicate0, 
1354
0
     OPC_CheckPredicate2, 
1355
0
     OPC_MoveParent,
1356
0
     OPC_CheckTypeI32,
1357
0
     OPC_MoveParent,
1358
0
     OPC_CheckChild2Same, 2,
1359
0
     OPC_CheckPredicate1, 
1360
0
     OPC_CheckPredicate, 8,
1361
0
     OPC_CheckComplexPat0, /*#*/2,
1362
0
     OPC_CheckComplexPat0, /*#*/4,
1363
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1364
0
     OPC_EmitInteger64, 6, 
1365
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1366
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1367
0
    40, 
1368
0
     OPC_CheckPredicate2, 
1369
0
     OPC_MoveSibling1,
1370
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1371
0
     OPC_RecordMemRef,
1372
0
     OPC_RecordNode,
1373
0
     OPC_CheckFoldableChainNode,
1374
0
     OPC_RecordChild1,
1375
0
     OPC_CheckChild1TypeI64,
1376
0
     OPC_CheckPredicate0, 
1377
0
     OPC_MoveParent,
1378
0
     OPC_CheckTypeI32,
1379
0
     OPC_MoveParent,
1380
0
     OPC_CheckChild2Same, 4,
1381
0
     OPC_CheckPredicate1, 
1382
0
     OPC_CheckPredicate7, 
1383
0
     OPC_CheckComplexPat0, /*#*/2,
1384
0
     OPC_CheckComplexPat0, /*#*/4,
1385
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1386
0
     OPC_EmitInteger64, 6, 
1387
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1388
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1389
0
    42, 
1390
0
     OPC_MoveSibling1,
1391
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1392
0
     OPC_RecordMemRef,
1393
0
     OPC_RecordNode,
1394
0
     OPC_CheckFoldableChainNode,
1395
0
     OPC_RecordChild1,
1396
0
     OPC_CheckChild1TypeI64,
1397
0
     OPC_CheckPredicate0, 
1398
0
     OPC_CheckPredicate4, 
1399
0
     OPC_CheckPredicate6, 
1400
0
     OPC_MoveParent,
1401
0
     OPC_CheckTypeI64,
1402
0
     OPC_MoveParent,
1403
0
     OPC_CheckChild2Same, 2,
1404
0
     OPC_CheckPredicate1, 
1405
0
     OPC_CheckPredicate, 8,
1406
0
     OPC_CheckComplexPat0, /*#*/2,
1407
0
     OPC_CheckComplexPat0, /*#*/4,
1408
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1409
0
     OPC_EmitInteger64, 0, 
1410
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1411
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1412
0
    41, 
1413
0
     OPC_CheckPredicate4, 
1414
0
     OPC_CheckPredicate6, 
1415
0
     OPC_MoveSibling1,
1416
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1417
0
     OPC_RecordMemRef,
1418
0
     OPC_RecordNode,
1419
0
     OPC_CheckFoldableChainNode,
1420
0
     OPC_RecordChild1,
1421
0
     OPC_CheckChild1TypeI64,
1422
0
     OPC_CheckPredicate0, 
1423
0
     OPC_MoveParent,
1424
0
     OPC_CheckTypeI64,
1425
0
     OPC_MoveParent,
1426
0
     OPC_CheckChild2Same, 4,
1427
0
     OPC_CheckPredicate1, 
1428
0
     OPC_CheckPredicate7, 
1429
0
     OPC_CheckComplexPat0, /*#*/2,
1430
0
     OPC_CheckComplexPat0, /*#*/4,
1431
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1432
0
     OPC_EmitInteger64, 0, 
1433
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1434
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1435
0
    42, 
1436
0
     OPC_MoveSibling1,
1437
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1438
0
     OPC_RecordMemRef,
1439
0
     OPC_RecordNode,
1440
0
     OPC_CheckFoldableChainNode,
1441
0
     OPC_RecordChild1,
1442
0
     OPC_CheckChild1TypeI64,
1443
0
     OPC_CheckPredicate0, 
1444
0
     OPC_CheckPredicate4, 
1445
0
     OPC_CheckPredicate5, 
1446
0
     OPC_MoveParent,
1447
0
     OPC_CheckTypeI64,
1448
0
     OPC_MoveParent,
1449
0
     OPC_CheckChild2Same, 2,
1450
0
     OPC_CheckPredicate1, 
1451
0
     OPC_CheckPredicate, 8,
1452
0
     OPC_CheckComplexPat0, /*#*/2,
1453
0
     OPC_CheckComplexPat0, /*#*/4,
1454
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1455
0
     OPC_EmitInteger64, 2, 
1456
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1457
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1458
0
    41, 
1459
0
     OPC_CheckPredicate4, 
1460
0
     OPC_CheckPredicate5, 
1461
0
     OPC_MoveSibling1,
1462
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1463
0
     OPC_RecordMemRef,
1464
0
     OPC_RecordNode,
1465
0
     OPC_CheckFoldableChainNode,
1466
0
     OPC_RecordChild1,
1467
0
     OPC_CheckChild1TypeI64,
1468
0
     OPC_CheckPredicate0, 
1469
0
     OPC_MoveParent,
1470
0
     OPC_CheckTypeI64,
1471
0
     OPC_MoveParent,
1472
0
     OPC_CheckChild2Same, 4,
1473
0
     OPC_CheckPredicate1, 
1474
0
     OPC_CheckPredicate7, 
1475
0
     OPC_CheckComplexPat0, /*#*/2,
1476
0
     OPC_CheckComplexPat0, /*#*/4,
1477
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1478
0
     OPC_EmitInteger64, 2, 
1479
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1480
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1481
0
    43, 
1482
0
     OPC_MoveSibling1,
1483
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1484
0
     OPC_RecordMemRef,
1485
0
     OPC_RecordNode,
1486
0
     OPC_CheckFoldableChainNode,
1487
0
     OPC_RecordChild1,
1488
0
     OPC_CheckChild1TypeI64,
1489
0
     OPC_CheckPredicate0, 
1490
0
     OPC_CheckPredicate4, 
1491
0
     OPC_CheckPredicate, 9,
1492
0
     OPC_MoveParent,
1493
0
     OPC_CheckTypeI64,
1494
0
     OPC_MoveParent,
1495
0
     OPC_CheckChild2Same, 2,
1496
0
     OPC_CheckPredicate1, 
1497
0
     OPC_CheckPredicate, 8,
1498
0
     OPC_CheckComplexPat0, /*#*/2,
1499
0
     OPC_CheckComplexPat0, /*#*/4,
1500
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1501
0
     OPC_EmitInteger64, 6, 
1502
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1503
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1504
0
    42, 
1505
0
     OPC_CheckPredicate4, 
1506
0
     OPC_CheckPredicate, 9,
1507
0
     OPC_MoveSibling1,
1508
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1509
0
     OPC_RecordMemRef,
1510
0
     OPC_RecordNode,
1511
0
     OPC_CheckFoldableChainNode,
1512
0
     OPC_RecordChild1,
1513
0
     OPC_CheckChild1TypeI64,
1514
0
     OPC_CheckPredicate0, 
1515
0
     OPC_MoveParent,
1516
0
     OPC_CheckTypeI64,
1517
0
     OPC_MoveParent,
1518
0
     OPC_CheckChild2Same, 4,
1519
0
     OPC_CheckPredicate1, 
1520
0
     OPC_CheckPredicate7, 
1521
0
     OPC_CheckComplexPat0, /*#*/2,
1522
0
     OPC_CheckComplexPat0, /*#*/4,
1523
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1524
0
     OPC_EmitInteger64, 6, 
1525
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1526
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1527
0
    41, 
1528
0
     OPC_MoveSibling1,
1529
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1530
0
     OPC_RecordMemRef,
1531
0
     OPC_RecordNode,
1532
0
     OPC_CheckFoldableChainNode,
1533
0
     OPC_RecordChild1,
1534
0
     OPC_CheckChild1TypeI64,
1535
0
     OPC_CheckPredicate0, 
1536
0
     OPC_CheckPredicate2, 
1537
0
     OPC_MoveParent,
1538
0
     OPC_CheckTypeI64,
1539
0
     OPC_MoveParent,
1540
0
     OPC_CheckChild2Same, 2,
1541
0
     OPC_CheckPredicate1, 
1542
0
     OPC_CheckPredicate, 8,
1543
0
     OPC_CheckComplexPat0, /*#*/2,
1544
0
     OPC_CheckComplexPat0, /*#*/4,
1545
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1546
0
     OPC_EmitInteger64, 14, 
1547
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1548
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1549
0
    40, 
1550
0
     OPC_CheckPredicate2, 
1551
0
     OPC_MoveSibling1,
1552
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1553
0
     OPC_RecordMemRef,
1554
0
     OPC_RecordNode,
1555
0
     OPC_CheckFoldableChainNode,
1556
0
     OPC_RecordChild1,
1557
0
     OPC_CheckChild1TypeI64,
1558
0
     OPC_CheckPredicate0, 
1559
0
     OPC_MoveParent,
1560
0
     OPC_CheckTypeI64,
1561
0
     OPC_MoveParent,
1562
0
     OPC_CheckChild2Same, 4,
1563
0
     OPC_CheckPredicate1, 
1564
0
     OPC_CheckPredicate7, 
1565
0
     OPC_CheckComplexPat0, /*#*/2,
1566
0
     OPC_CheckComplexPat0, /*#*/4,
1567
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1568
0
     OPC_EmitInteger64, 14, 
1569
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1570
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1571
0
    118, 
1572
0
     OPC_CheckPredicate4, 
1573
0
     OPC_CheckPredicate6, 
1574
0
     OPC_MoveSibling1,
1575
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1576
0
     OPC_RecordNode,
1577
0
     OPC_MoveParent,
1578
0
     OPC_SwitchType , 52, MVT::i32,
1579
0
      OPC_MoveParent,
1580
0
      OPC_CheckChild2Same, 2,
1581
0
      OPC_CheckPredicate1, 
1582
0
      OPC_CheckPredicate, 11,
1583
0
      OPC_CheckPredicate, 19,
1584
0
      OPC_Scope, 20, 
1585
0
       OPC_CheckComplexPat, /*CP*/9, /*#*/2,
1586
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
1587
0
       OPC_EmitConvertToTarget3,
1588
0
       OPC_EmitNodeXForm, 0, 6,
1589
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NI), 0|OPFL_Chain|OPFL_MemRefs,
1590
0
                     MVT::i32, 3, 4, 5, 7, 
1591
0
      20, 
1592
0
       OPC_CheckComplexPat, /*CP*/10, /*#*/2,
1593
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
1594
0
       OPC_EmitConvertToTarget3,
1595
0
       OPC_EmitNodeXForm, 0, 6,
1596
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NIY), 0|OPFL_Chain|OPFL_MemRefs,
1597
0
                     MVT::i32, 3, 4, 5, 7, 
1598
0
      0, 
1599
0
     52, MVT::i64,
1600
0
      OPC_MoveParent,
1601
0
      OPC_CheckChild2Same, 2,
1602
0
      OPC_CheckPredicate1, 
1603
0
      OPC_CheckPredicate, 11,
1604
0
      OPC_CheckPredicate, 19,
1605
0
      OPC_Scope, 20, 
1606
0
       OPC_CheckComplexPat, /*CP*/9, /*#*/2,
1607
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
1608
0
       OPC_EmitConvertToTarget3,
1609
0
       OPC_EmitNodeXForm, 0, 6,
1610
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NI), 0|OPFL_Chain|OPFL_MemRefs,
1611
0
                     MVT::i32, 3, 4, 5, 7, 
1612
0
      20, 
1613
0
       OPC_CheckComplexPat, /*CP*/10, /*#*/2,
1614
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
1615
0
       OPC_EmitConvertToTarget3,
1616
0
       OPC_EmitNodeXForm, 0, 6,
1617
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NIY), 0|OPFL_Chain|OPFL_MemRefs,
1618
0
                     MVT::i32, 3, 4, 5, 7, 
1619
0
      0, 
1620
0
     0,
1621
0
    0, 
1622
0
   30|128,10, TARGET_VAL(ISD::OR),
1623
0
    OPC_MoveChild0,
1624
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1625
0
    OPC_RecordMemRef,
1626
0
    OPC_RecordNode,
1627
0
    OPC_CheckFoldableChainNode,
1628
0
    OPC_RecordChild1,
1629
0
    OPC_CheckChild1TypeI64,
1630
0
    OPC_CheckPredicate0, 
1631
0
    OPC_Scope, 42, 
1632
0
     OPC_CheckPredicate4, 
1633
0
     OPC_CheckPredicate6, 
1634
0
     OPC_MoveSibling1,
1635
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1636
0
     OPC_RecordMemRef,
1637
0
     OPC_RecordNode,
1638
0
     OPC_CheckFoldableChainNode,
1639
0
     OPC_RecordChild1,
1640
0
     OPC_CheckChild1TypeI64,
1641
0
     OPC_CheckPredicate0, 
1642
0
     OPC_MoveParent,
1643
0
     OPC_CheckTypeI32,
1644
0
     OPC_MoveParent,
1645
0
     OPC_CheckChild2Same, 4,
1646
0
     OPC_CheckPredicate1, 
1647
0
     OPC_CheckPredicate, 8,
1648
0
     OPC_CheckComplexPat0, /*#*/2,
1649
0
     OPC_CheckComplexPat0, /*#*/4,
1650
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1651
0
     OPC_EmitInteger64, 0, 
1652
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1653
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1654
0
    41, 
1655
0
     OPC_MoveSibling1,
1656
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1657
0
     OPC_RecordMemRef,
1658
0
     OPC_RecordNode,
1659
0
     OPC_CheckFoldableChainNode,
1660
0
     OPC_RecordChild1,
1661
0
     OPC_CheckChild1TypeI64,
1662
0
     OPC_CheckPredicate0, 
1663
0
     OPC_CheckPredicate4, 
1664
0
     OPC_CheckPredicate6, 
1665
0
     OPC_MoveParent,
1666
0
     OPC_CheckTypeI32,
1667
0
     OPC_MoveParent,
1668
0
     OPC_CheckChild2Same, 2,
1669
0
     OPC_CheckPredicate1, 
1670
0
     OPC_CheckPredicate7, 
1671
0
     OPC_CheckComplexPat0, /*#*/2,
1672
0
     OPC_CheckComplexPat0, /*#*/4,
1673
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1674
0
     OPC_EmitInteger64, 0, 
1675
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1676
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1677
0
    42, 
1678
0
     OPC_CheckPredicate4, 
1679
0
     OPC_CheckPredicate5, 
1680
0
     OPC_MoveSibling1,
1681
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1682
0
     OPC_RecordMemRef,
1683
0
     OPC_RecordNode,
1684
0
     OPC_CheckFoldableChainNode,
1685
0
     OPC_RecordChild1,
1686
0
     OPC_CheckChild1TypeI64,
1687
0
     OPC_CheckPredicate0, 
1688
0
     OPC_MoveParent,
1689
0
     OPC_CheckTypeI32,
1690
0
     OPC_MoveParent,
1691
0
     OPC_CheckChild2Same, 4,
1692
0
     OPC_CheckPredicate1, 
1693
0
     OPC_CheckPredicate, 8,
1694
0
     OPC_CheckComplexPat0, /*#*/2,
1695
0
     OPC_CheckComplexPat0, /*#*/4,
1696
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1697
0
     OPC_EmitInteger64, 2, 
1698
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1699
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1700
0
    41, 
1701
0
     OPC_MoveSibling1,
1702
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1703
0
     OPC_RecordMemRef,
1704
0
     OPC_RecordNode,
1705
0
     OPC_CheckFoldableChainNode,
1706
0
     OPC_RecordChild1,
1707
0
     OPC_CheckChild1TypeI64,
1708
0
     OPC_CheckPredicate0, 
1709
0
     OPC_CheckPredicate4, 
1710
0
     OPC_CheckPredicate5, 
1711
0
     OPC_MoveParent,
1712
0
     OPC_CheckTypeI32,
1713
0
     OPC_MoveParent,
1714
0
     OPC_CheckChild2Same, 2,
1715
0
     OPC_CheckPredicate1, 
1716
0
     OPC_CheckPredicate7, 
1717
0
     OPC_CheckComplexPat0, /*#*/2,
1718
0
     OPC_CheckComplexPat0, /*#*/4,
1719
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1720
0
     OPC_EmitInteger64, 2, 
1721
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1722
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1723
0
    41, 
1724
0
     OPC_CheckPredicate2, 
1725
0
     OPC_MoveSibling1,
1726
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1727
0
     OPC_RecordMemRef,
1728
0
     OPC_RecordNode,
1729
0
     OPC_CheckFoldableChainNode,
1730
0
     OPC_RecordChild1,
1731
0
     OPC_CheckChild1TypeI64,
1732
0
     OPC_CheckPredicate0, 
1733
0
     OPC_MoveParent,
1734
0
     OPC_CheckTypeI32,
1735
0
     OPC_MoveParent,
1736
0
     OPC_CheckChild2Same, 4,
1737
0
     OPC_CheckPredicate1, 
1738
0
     OPC_CheckPredicate, 8,
1739
0
     OPC_CheckComplexPat0, /*#*/2,
1740
0
     OPC_CheckComplexPat0, /*#*/4,
1741
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1742
0
     OPC_EmitInteger64, 6, 
1743
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1744
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1745
0
    40, 
1746
0
     OPC_MoveSibling1,
1747
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1748
0
     OPC_RecordMemRef,
1749
0
     OPC_RecordNode,
1750
0
     OPC_CheckFoldableChainNode,
1751
0
     OPC_RecordChild1,
1752
0
     OPC_CheckChild1TypeI64,
1753
0
     OPC_CheckPredicate0, 
1754
0
     OPC_CheckPredicate2, 
1755
0
     OPC_MoveParent,
1756
0
     OPC_CheckTypeI32,
1757
0
     OPC_MoveParent,
1758
0
     OPC_CheckChild2Same, 2,
1759
0
     OPC_CheckPredicate1, 
1760
0
     OPC_CheckPredicate7, 
1761
0
     OPC_CheckComplexPat0, /*#*/2,
1762
0
     OPC_CheckComplexPat0, /*#*/4,
1763
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1764
0
     OPC_EmitInteger64, 6, 
1765
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1766
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1767
0
    42, 
1768
0
     OPC_CheckPredicate4, 
1769
0
     OPC_CheckPredicate6, 
1770
0
     OPC_MoveSibling1,
1771
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1772
0
     OPC_RecordMemRef,
1773
0
     OPC_RecordNode,
1774
0
     OPC_CheckFoldableChainNode,
1775
0
     OPC_RecordChild1,
1776
0
     OPC_CheckChild1TypeI64,
1777
0
     OPC_CheckPredicate0, 
1778
0
     OPC_MoveParent,
1779
0
     OPC_CheckTypeI64,
1780
0
     OPC_MoveParent,
1781
0
     OPC_CheckChild2Same, 4,
1782
0
     OPC_CheckPredicate1, 
1783
0
     OPC_CheckPredicate, 8,
1784
0
     OPC_CheckComplexPat0, /*#*/2,
1785
0
     OPC_CheckComplexPat0, /*#*/4,
1786
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1787
0
     OPC_EmitInteger64, 0, 
1788
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1789
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1790
0
    41, 
1791
0
     OPC_MoveSibling1,
1792
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1793
0
     OPC_RecordMemRef,
1794
0
     OPC_RecordNode,
1795
0
     OPC_CheckFoldableChainNode,
1796
0
     OPC_RecordChild1,
1797
0
     OPC_CheckChild1TypeI64,
1798
0
     OPC_CheckPredicate0, 
1799
0
     OPC_CheckPredicate4, 
1800
0
     OPC_CheckPredicate6, 
1801
0
     OPC_MoveParent,
1802
0
     OPC_CheckTypeI64,
1803
0
     OPC_MoveParent,
1804
0
     OPC_CheckChild2Same, 2,
1805
0
     OPC_CheckPredicate1, 
1806
0
     OPC_CheckPredicate7, 
1807
0
     OPC_CheckComplexPat0, /*#*/2,
1808
0
     OPC_CheckComplexPat0, /*#*/4,
1809
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1810
0
     OPC_EmitInteger64, 0, 
1811
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1812
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1813
0
    42, 
1814
0
     OPC_CheckPredicate4, 
1815
0
     OPC_CheckPredicate5, 
1816
0
     OPC_MoveSibling1,
1817
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1818
0
     OPC_RecordMemRef,
1819
0
     OPC_RecordNode,
1820
0
     OPC_CheckFoldableChainNode,
1821
0
     OPC_RecordChild1,
1822
0
     OPC_CheckChild1TypeI64,
1823
0
     OPC_CheckPredicate0, 
1824
0
     OPC_MoveParent,
1825
0
     OPC_CheckTypeI64,
1826
0
     OPC_MoveParent,
1827
0
     OPC_CheckChild2Same, 4,
1828
0
     OPC_CheckPredicate1, 
1829
0
     OPC_CheckPredicate, 8,
1830
0
     OPC_CheckComplexPat0, /*#*/2,
1831
0
     OPC_CheckComplexPat0, /*#*/4,
1832
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1833
0
     OPC_EmitInteger64, 2, 
1834
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1835
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1836
0
    41, 
1837
0
     OPC_MoveSibling1,
1838
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1839
0
     OPC_RecordMemRef,
1840
0
     OPC_RecordNode,
1841
0
     OPC_CheckFoldableChainNode,
1842
0
     OPC_RecordChild1,
1843
0
     OPC_CheckChild1TypeI64,
1844
0
     OPC_CheckPredicate0, 
1845
0
     OPC_CheckPredicate4, 
1846
0
     OPC_CheckPredicate5, 
1847
0
     OPC_MoveParent,
1848
0
     OPC_CheckTypeI64,
1849
0
     OPC_MoveParent,
1850
0
     OPC_CheckChild2Same, 2,
1851
0
     OPC_CheckPredicate1, 
1852
0
     OPC_CheckPredicate7, 
1853
0
     OPC_CheckComplexPat0, /*#*/2,
1854
0
     OPC_CheckComplexPat0, /*#*/4,
1855
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1856
0
     OPC_EmitInteger64, 2, 
1857
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1858
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1859
0
    43, 
1860
0
     OPC_CheckPredicate4, 
1861
0
     OPC_CheckPredicate, 9,
1862
0
     OPC_MoveSibling1,
1863
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1864
0
     OPC_RecordMemRef,
1865
0
     OPC_RecordNode,
1866
0
     OPC_CheckFoldableChainNode,
1867
0
     OPC_RecordChild1,
1868
0
     OPC_CheckChild1TypeI64,
1869
0
     OPC_CheckPredicate0, 
1870
0
     OPC_MoveParent,
1871
0
     OPC_CheckTypeI64,
1872
0
     OPC_MoveParent,
1873
0
     OPC_CheckChild2Same, 4,
1874
0
     OPC_CheckPredicate1, 
1875
0
     OPC_CheckPredicate, 8,
1876
0
     OPC_CheckComplexPat0, /*#*/2,
1877
0
     OPC_CheckComplexPat0, /*#*/4,
1878
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1879
0
     OPC_EmitInteger64, 6, 
1880
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1881
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1882
0
    42, 
1883
0
     OPC_MoveSibling1,
1884
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1885
0
     OPC_RecordMemRef,
1886
0
     OPC_RecordNode,
1887
0
     OPC_CheckFoldableChainNode,
1888
0
     OPC_RecordChild1,
1889
0
     OPC_CheckChild1TypeI64,
1890
0
     OPC_CheckPredicate0, 
1891
0
     OPC_CheckPredicate4, 
1892
0
     OPC_CheckPredicate, 9,
1893
0
     OPC_MoveParent,
1894
0
     OPC_CheckTypeI64,
1895
0
     OPC_MoveParent,
1896
0
     OPC_CheckChild2Same, 2,
1897
0
     OPC_CheckPredicate1, 
1898
0
     OPC_CheckPredicate7, 
1899
0
     OPC_CheckComplexPat0, /*#*/2,
1900
0
     OPC_CheckComplexPat0, /*#*/4,
1901
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1902
0
     OPC_EmitInteger64, 6, 
1903
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1904
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
1905
0
    41, 
1906
0
     OPC_CheckPredicate2, 
1907
0
     OPC_MoveSibling1,
1908
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1909
0
     OPC_RecordMemRef,
1910
0
     OPC_RecordNode,
1911
0
     OPC_CheckFoldableChainNode,
1912
0
     OPC_RecordChild1,
1913
0
     OPC_CheckChild1TypeI64,
1914
0
     OPC_CheckPredicate0, 
1915
0
     OPC_MoveParent,
1916
0
     OPC_CheckTypeI64,
1917
0
     OPC_MoveParent,
1918
0
     OPC_CheckChild2Same, 4,
1919
0
     OPC_CheckPredicate1, 
1920
0
     OPC_CheckPredicate, 8,
1921
0
     OPC_CheckComplexPat0, /*#*/2,
1922
0
     OPC_CheckComplexPat0, /*#*/4,
1923
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1924
0
     OPC_EmitInteger64, 14, 
1925
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1926
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1927
0
    76, 
1928
0
     OPC_MoveSibling1,
1929
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1930
0
     OPC_RecordMemRef,
1931
0
     OPC_RecordNode,
1932
0
     OPC_CheckFoldableChainNode,
1933
0
     OPC_RecordChild1,
1934
0
     OPC_CheckChild1TypeI64,
1935
0
     OPC_CheckPredicate0, 
1936
0
     OPC_Scope, 30, 
1937
0
      OPC_CheckPredicate2, 
1938
0
      OPC_MoveParent,
1939
0
      OPC_CheckTypeI64,
1940
0
      OPC_MoveParent,
1941
0
      OPC_CheckChild2Same, 2,
1942
0
      OPC_CheckPredicate1, 
1943
0
      OPC_CheckPredicate7, 
1944
0
      OPC_CheckComplexPat0, /*#*/2,
1945
0
      OPC_CheckComplexPat0, /*#*/4,
1946
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1947
0
      OPC_EmitInteger64, 14, 
1948
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1949
0
                    MVT::i32, 5, 5, 6, 7, 8, 9, 
1950
0
     32, 
1951
0
      OPC_CheckPredicate4, 
1952
0
      OPC_CheckPredicate6, 
1953
0
      OPC_MoveParent,
1954
0
      OPC_CheckTypeI32,
1955
0
      OPC_MoveParent,
1956
0
      OPC_CheckChild2Same, 2,
1957
0
      OPC_CheckPredicate1, 
1958
0
      OPC_CheckPredicate, 8,
1959
0
      OPC_CheckComplexPat0, /*#*/2,
1960
0
      OPC_CheckComplexPat0, /*#*/4,
1961
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1962
0
      OPC_EmitInteger64, 0, 
1963
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1964
0
                    MVT::i32, 5, 5, 6, 7, 8, 9, 
1965
0
     0, 
1966
0
    41, 
1967
0
     OPC_CheckPredicate4, 
1968
0
     OPC_CheckPredicate6, 
1969
0
     OPC_MoveSibling1,
1970
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1971
0
     OPC_RecordMemRef,
1972
0
     OPC_RecordNode,
1973
0
     OPC_CheckFoldableChainNode,
1974
0
     OPC_RecordChild1,
1975
0
     OPC_CheckChild1TypeI64,
1976
0
     OPC_CheckPredicate0, 
1977
0
     OPC_MoveParent,
1978
0
     OPC_CheckTypeI32,
1979
0
     OPC_MoveParent,
1980
0
     OPC_CheckChild2Same, 4,
1981
0
     OPC_CheckPredicate1, 
1982
0
     OPC_CheckPredicate7, 
1983
0
     OPC_CheckComplexPat0, /*#*/2,
1984
0
     OPC_CheckComplexPat0, /*#*/4,
1985
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
1986
0
     OPC_EmitInteger64, 0, 
1987
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1988
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
1989
0
    42, 
1990
0
     OPC_MoveSibling1,
1991
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1992
0
     OPC_RecordMemRef,
1993
0
     OPC_RecordNode,
1994
0
     OPC_CheckFoldableChainNode,
1995
0
     OPC_RecordChild1,
1996
0
     OPC_CheckChild1TypeI64,
1997
0
     OPC_CheckPredicate0, 
1998
0
     OPC_CheckPredicate4, 
1999
0
     OPC_CheckPredicate5, 
2000
0
     OPC_MoveParent,
2001
0
     OPC_CheckTypeI32,
2002
0
     OPC_MoveParent,
2003
0
     OPC_CheckChild2Same, 2,
2004
0
     OPC_CheckPredicate1, 
2005
0
     OPC_CheckPredicate, 8,
2006
0
     OPC_CheckComplexPat0, /*#*/2,
2007
0
     OPC_CheckComplexPat0, /*#*/4,
2008
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2009
0
     OPC_EmitInteger64, 2, 
2010
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2011
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2012
0
    41, 
2013
0
     OPC_CheckPredicate4, 
2014
0
     OPC_CheckPredicate5, 
2015
0
     OPC_MoveSibling1,
2016
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2017
0
     OPC_RecordMemRef,
2018
0
     OPC_RecordNode,
2019
0
     OPC_CheckFoldableChainNode,
2020
0
     OPC_RecordChild1,
2021
0
     OPC_CheckChild1TypeI64,
2022
0
     OPC_CheckPredicate0, 
2023
0
     OPC_MoveParent,
2024
0
     OPC_CheckTypeI32,
2025
0
     OPC_MoveParent,
2026
0
     OPC_CheckChild2Same, 4,
2027
0
     OPC_CheckPredicate1, 
2028
0
     OPC_CheckPredicate7, 
2029
0
     OPC_CheckComplexPat0, /*#*/2,
2030
0
     OPC_CheckComplexPat0, /*#*/4,
2031
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2032
0
     OPC_EmitInteger64, 2, 
2033
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2034
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2035
0
    41, 
2036
0
     OPC_MoveSibling1,
2037
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2038
0
     OPC_RecordMemRef,
2039
0
     OPC_RecordNode,
2040
0
     OPC_CheckFoldableChainNode,
2041
0
     OPC_RecordChild1,
2042
0
     OPC_CheckChild1TypeI64,
2043
0
     OPC_CheckPredicate0, 
2044
0
     OPC_CheckPredicate2, 
2045
0
     OPC_MoveParent,
2046
0
     OPC_CheckTypeI32,
2047
0
     OPC_MoveParent,
2048
0
     OPC_CheckChild2Same, 2,
2049
0
     OPC_CheckPredicate1, 
2050
0
     OPC_CheckPredicate, 8,
2051
0
     OPC_CheckComplexPat0, /*#*/2,
2052
0
     OPC_CheckComplexPat0, /*#*/4,
2053
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2054
0
     OPC_EmitInteger64, 6, 
2055
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2056
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2057
0
    40, 
2058
0
     OPC_CheckPredicate2, 
2059
0
     OPC_MoveSibling1,
2060
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2061
0
     OPC_RecordMemRef,
2062
0
     OPC_RecordNode,
2063
0
     OPC_CheckFoldableChainNode,
2064
0
     OPC_RecordChild1,
2065
0
     OPC_CheckChild1TypeI64,
2066
0
     OPC_CheckPredicate0, 
2067
0
     OPC_MoveParent,
2068
0
     OPC_CheckTypeI32,
2069
0
     OPC_MoveParent,
2070
0
     OPC_CheckChild2Same, 4,
2071
0
     OPC_CheckPredicate1, 
2072
0
     OPC_CheckPredicate7, 
2073
0
     OPC_CheckComplexPat0, /*#*/2,
2074
0
     OPC_CheckComplexPat0, /*#*/4,
2075
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2076
0
     OPC_EmitInteger64, 6, 
2077
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2078
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2079
0
    42, 
2080
0
     OPC_MoveSibling1,
2081
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2082
0
     OPC_RecordMemRef,
2083
0
     OPC_RecordNode,
2084
0
     OPC_CheckFoldableChainNode,
2085
0
     OPC_RecordChild1,
2086
0
     OPC_CheckChild1TypeI64,
2087
0
     OPC_CheckPredicate0, 
2088
0
     OPC_CheckPredicate4, 
2089
0
     OPC_CheckPredicate6, 
2090
0
     OPC_MoveParent,
2091
0
     OPC_CheckTypeI64,
2092
0
     OPC_MoveParent,
2093
0
     OPC_CheckChild2Same, 2,
2094
0
     OPC_CheckPredicate1, 
2095
0
     OPC_CheckPredicate, 8,
2096
0
     OPC_CheckComplexPat0, /*#*/2,
2097
0
     OPC_CheckComplexPat0, /*#*/4,
2098
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2099
0
     OPC_EmitInteger64, 0, 
2100
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2101
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2102
0
    41, 
2103
0
     OPC_CheckPredicate4, 
2104
0
     OPC_CheckPredicate6, 
2105
0
     OPC_MoveSibling1,
2106
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2107
0
     OPC_RecordMemRef,
2108
0
     OPC_RecordNode,
2109
0
     OPC_CheckFoldableChainNode,
2110
0
     OPC_RecordChild1,
2111
0
     OPC_CheckChild1TypeI64,
2112
0
     OPC_CheckPredicate0, 
2113
0
     OPC_MoveParent,
2114
0
     OPC_CheckTypeI64,
2115
0
     OPC_MoveParent,
2116
0
     OPC_CheckChild2Same, 4,
2117
0
     OPC_CheckPredicate1, 
2118
0
     OPC_CheckPredicate7, 
2119
0
     OPC_CheckComplexPat0, /*#*/2,
2120
0
     OPC_CheckComplexPat0, /*#*/4,
2121
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2122
0
     OPC_EmitInteger64, 0, 
2123
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2124
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2125
0
    42, 
2126
0
     OPC_MoveSibling1,
2127
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2128
0
     OPC_RecordMemRef,
2129
0
     OPC_RecordNode,
2130
0
     OPC_CheckFoldableChainNode,
2131
0
     OPC_RecordChild1,
2132
0
     OPC_CheckChild1TypeI64,
2133
0
     OPC_CheckPredicate0, 
2134
0
     OPC_CheckPredicate4, 
2135
0
     OPC_CheckPredicate5, 
2136
0
     OPC_MoveParent,
2137
0
     OPC_CheckTypeI64,
2138
0
     OPC_MoveParent,
2139
0
     OPC_CheckChild2Same, 2,
2140
0
     OPC_CheckPredicate1, 
2141
0
     OPC_CheckPredicate, 8,
2142
0
     OPC_CheckComplexPat0, /*#*/2,
2143
0
     OPC_CheckComplexPat0, /*#*/4,
2144
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2145
0
     OPC_EmitInteger64, 2, 
2146
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2147
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2148
0
    41, 
2149
0
     OPC_CheckPredicate4, 
2150
0
     OPC_CheckPredicate5, 
2151
0
     OPC_MoveSibling1,
2152
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2153
0
     OPC_RecordMemRef,
2154
0
     OPC_RecordNode,
2155
0
     OPC_CheckFoldableChainNode,
2156
0
     OPC_RecordChild1,
2157
0
     OPC_CheckChild1TypeI64,
2158
0
     OPC_CheckPredicate0, 
2159
0
     OPC_MoveParent,
2160
0
     OPC_CheckTypeI64,
2161
0
     OPC_MoveParent,
2162
0
     OPC_CheckChild2Same, 4,
2163
0
     OPC_CheckPredicate1, 
2164
0
     OPC_CheckPredicate7, 
2165
0
     OPC_CheckComplexPat0, /*#*/2,
2166
0
     OPC_CheckComplexPat0, /*#*/4,
2167
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2168
0
     OPC_EmitInteger64, 2, 
2169
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2170
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2171
0
    43, 
2172
0
     OPC_MoveSibling1,
2173
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2174
0
     OPC_RecordMemRef,
2175
0
     OPC_RecordNode,
2176
0
     OPC_CheckFoldableChainNode,
2177
0
     OPC_RecordChild1,
2178
0
     OPC_CheckChild1TypeI64,
2179
0
     OPC_CheckPredicate0, 
2180
0
     OPC_CheckPredicate4, 
2181
0
     OPC_CheckPredicate, 9,
2182
0
     OPC_MoveParent,
2183
0
     OPC_CheckTypeI64,
2184
0
     OPC_MoveParent,
2185
0
     OPC_CheckChild2Same, 2,
2186
0
     OPC_CheckPredicate1, 
2187
0
     OPC_CheckPredicate, 8,
2188
0
     OPC_CheckComplexPat0, /*#*/2,
2189
0
     OPC_CheckComplexPat0, /*#*/4,
2190
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2191
0
     OPC_EmitInteger64, 6, 
2192
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2193
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2194
0
    42, 
2195
0
     OPC_CheckPredicate4, 
2196
0
     OPC_CheckPredicate, 9,
2197
0
     OPC_MoveSibling1,
2198
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2199
0
     OPC_RecordMemRef,
2200
0
     OPC_RecordNode,
2201
0
     OPC_CheckFoldableChainNode,
2202
0
     OPC_RecordChild1,
2203
0
     OPC_CheckChild1TypeI64,
2204
0
     OPC_CheckPredicate0, 
2205
0
     OPC_MoveParent,
2206
0
     OPC_CheckTypeI64,
2207
0
     OPC_MoveParent,
2208
0
     OPC_CheckChild2Same, 4,
2209
0
     OPC_CheckPredicate1, 
2210
0
     OPC_CheckPredicate7, 
2211
0
     OPC_CheckComplexPat0, /*#*/2,
2212
0
     OPC_CheckComplexPat0, /*#*/4,
2213
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2214
0
     OPC_EmitInteger64, 6, 
2215
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2216
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2217
0
    41, 
2218
0
     OPC_MoveSibling1,
2219
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2220
0
     OPC_RecordMemRef,
2221
0
     OPC_RecordNode,
2222
0
     OPC_CheckFoldableChainNode,
2223
0
     OPC_RecordChild1,
2224
0
     OPC_CheckChild1TypeI64,
2225
0
     OPC_CheckPredicate0, 
2226
0
     OPC_CheckPredicate2, 
2227
0
     OPC_MoveParent,
2228
0
     OPC_CheckTypeI64,
2229
0
     OPC_MoveParent,
2230
0
     OPC_CheckChild2Same, 2,
2231
0
     OPC_CheckPredicate1, 
2232
0
     OPC_CheckPredicate, 8,
2233
0
     OPC_CheckComplexPat0, /*#*/2,
2234
0
     OPC_CheckComplexPat0, /*#*/4,
2235
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2236
0
     OPC_EmitInteger64, 14, 
2237
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2238
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2239
0
    40, 
2240
0
     OPC_CheckPredicate2, 
2241
0
     OPC_MoveSibling1,
2242
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2243
0
     OPC_RecordMemRef,
2244
0
     OPC_RecordNode,
2245
0
     OPC_CheckFoldableChainNode,
2246
0
     OPC_RecordChild1,
2247
0
     OPC_CheckChild1TypeI64,
2248
0
     OPC_CheckPredicate0, 
2249
0
     OPC_MoveParent,
2250
0
     OPC_CheckTypeI64,
2251
0
     OPC_MoveParent,
2252
0
     OPC_CheckChild2Same, 4,
2253
0
     OPC_CheckPredicate1, 
2254
0
     OPC_CheckPredicate7, 
2255
0
     OPC_CheckComplexPat0, /*#*/2,
2256
0
     OPC_CheckComplexPat0, /*#*/4,
2257
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2258
0
     OPC_EmitInteger64, 14, 
2259
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2260
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2261
0
    118, 
2262
0
     OPC_CheckPredicate4, 
2263
0
     OPC_CheckPredicate6, 
2264
0
     OPC_MoveSibling1,
2265
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2266
0
     OPC_RecordNode,
2267
0
     OPC_MoveParent,
2268
0
     OPC_SwitchType , 52, MVT::i32,
2269
0
      OPC_MoveParent,
2270
0
      OPC_CheckChild2Same, 2,
2271
0
      OPC_CheckPredicate1, 
2272
0
      OPC_CheckPredicate, 11,
2273
0
      OPC_CheckPredicate, 19,
2274
0
      OPC_Scope, 20, 
2275
0
       OPC_CheckComplexPat, /*CP*/9, /*#*/2,
2276
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
2277
0
       OPC_EmitConvertToTarget3,
2278
0
       OPC_EmitNodeXForm, 0, 6,
2279
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OI), 0|OPFL_Chain|OPFL_MemRefs,
2280
0
                     MVT::i32, 3, 4, 5, 7, 
2281
0
      20, 
2282
0
       OPC_CheckComplexPat, /*CP*/10, /*#*/2,
2283
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
2284
0
       OPC_EmitConvertToTarget3,
2285
0
       OPC_EmitNodeXForm, 0, 6,
2286
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OIY), 0|OPFL_Chain|OPFL_MemRefs,
2287
0
                     MVT::i32, 3, 4, 5, 7, 
2288
0
      0, 
2289
0
     52, MVT::i64,
2290
0
      OPC_MoveParent,
2291
0
      OPC_CheckChild2Same, 2,
2292
0
      OPC_CheckPredicate1, 
2293
0
      OPC_CheckPredicate, 11,
2294
0
      OPC_CheckPredicate, 19,
2295
0
      OPC_Scope, 20, 
2296
0
       OPC_CheckComplexPat, /*CP*/9, /*#*/2,
2297
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
2298
0
       OPC_EmitConvertToTarget3,
2299
0
       OPC_EmitNodeXForm, 0, 6,
2300
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OI), 0|OPFL_Chain|OPFL_MemRefs,
2301
0
                     MVT::i32, 3, 4, 5, 7, 
2302
0
      20, 
2303
0
       OPC_CheckComplexPat, /*CP*/10, /*#*/2,
2304
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
2305
0
       OPC_EmitConvertToTarget3,
2306
0
       OPC_EmitNodeXForm, 0, 6,
2307
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OIY), 0|OPFL_Chain|OPFL_MemRefs,
2308
0
                     MVT::i32, 3, 4, 5, 7, 
2309
0
      0, 
2310
0
     0,
2311
0
    0, 
2312
0
   30|128,10, TARGET_VAL(ISD::XOR),
2313
0
    OPC_MoveChild0,
2314
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2315
0
    OPC_RecordMemRef,
2316
0
    OPC_RecordNode,
2317
0
    OPC_CheckFoldableChainNode,
2318
0
    OPC_RecordChild1,
2319
0
    OPC_CheckChild1TypeI64,
2320
0
    OPC_CheckPredicate0, 
2321
0
    OPC_Scope, 42, 
2322
0
     OPC_CheckPredicate4, 
2323
0
     OPC_CheckPredicate6, 
2324
0
     OPC_MoveSibling1,
2325
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2326
0
     OPC_RecordMemRef,
2327
0
     OPC_RecordNode,
2328
0
     OPC_CheckFoldableChainNode,
2329
0
     OPC_RecordChild1,
2330
0
     OPC_CheckChild1TypeI64,
2331
0
     OPC_CheckPredicate0, 
2332
0
     OPC_MoveParent,
2333
0
     OPC_CheckTypeI32,
2334
0
     OPC_MoveParent,
2335
0
     OPC_CheckChild2Same, 4,
2336
0
     OPC_CheckPredicate1, 
2337
0
     OPC_CheckPredicate, 8,
2338
0
     OPC_CheckComplexPat0, /*#*/2,
2339
0
     OPC_CheckComplexPat0, /*#*/4,
2340
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2341
0
     OPC_EmitInteger64, 0, 
2342
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2343
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2344
0
    41, 
2345
0
     OPC_MoveSibling1,
2346
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2347
0
     OPC_RecordMemRef,
2348
0
     OPC_RecordNode,
2349
0
     OPC_CheckFoldableChainNode,
2350
0
     OPC_RecordChild1,
2351
0
     OPC_CheckChild1TypeI64,
2352
0
     OPC_CheckPredicate0, 
2353
0
     OPC_CheckPredicate4, 
2354
0
     OPC_CheckPredicate6, 
2355
0
     OPC_MoveParent,
2356
0
     OPC_CheckTypeI32,
2357
0
     OPC_MoveParent,
2358
0
     OPC_CheckChild2Same, 2,
2359
0
     OPC_CheckPredicate1, 
2360
0
     OPC_CheckPredicate7, 
2361
0
     OPC_CheckComplexPat0, /*#*/2,
2362
0
     OPC_CheckComplexPat0, /*#*/4,
2363
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2364
0
     OPC_EmitInteger64, 0, 
2365
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2366
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2367
0
    42, 
2368
0
     OPC_CheckPredicate4, 
2369
0
     OPC_CheckPredicate5, 
2370
0
     OPC_MoveSibling1,
2371
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2372
0
     OPC_RecordMemRef,
2373
0
     OPC_RecordNode,
2374
0
     OPC_CheckFoldableChainNode,
2375
0
     OPC_RecordChild1,
2376
0
     OPC_CheckChild1TypeI64,
2377
0
     OPC_CheckPredicate0, 
2378
0
     OPC_MoveParent,
2379
0
     OPC_CheckTypeI32,
2380
0
     OPC_MoveParent,
2381
0
     OPC_CheckChild2Same, 4,
2382
0
     OPC_CheckPredicate1, 
2383
0
     OPC_CheckPredicate, 8,
2384
0
     OPC_CheckComplexPat0, /*#*/2,
2385
0
     OPC_CheckComplexPat0, /*#*/4,
2386
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2387
0
     OPC_EmitInteger64, 2, 
2388
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2389
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2390
0
    41, 
2391
0
     OPC_MoveSibling1,
2392
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2393
0
     OPC_RecordMemRef,
2394
0
     OPC_RecordNode,
2395
0
     OPC_CheckFoldableChainNode,
2396
0
     OPC_RecordChild1,
2397
0
     OPC_CheckChild1TypeI64,
2398
0
     OPC_CheckPredicate0, 
2399
0
     OPC_CheckPredicate4, 
2400
0
     OPC_CheckPredicate5, 
2401
0
     OPC_MoveParent,
2402
0
     OPC_CheckTypeI32,
2403
0
     OPC_MoveParent,
2404
0
     OPC_CheckChild2Same, 2,
2405
0
     OPC_CheckPredicate1, 
2406
0
     OPC_CheckPredicate7, 
2407
0
     OPC_CheckComplexPat0, /*#*/2,
2408
0
     OPC_CheckComplexPat0, /*#*/4,
2409
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2410
0
     OPC_EmitInteger64, 2, 
2411
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2412
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2413
0
    41, 
2414
0
     OPC_CheckPredicate2, 
2415
0
     OPC_MoveSibling1,
2416
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2417
0
     OPC_RecordMemRef,
2418
0
     OPC_RecordNode,
2419
0
     OPC_CheckFoldableChainNode,
2420
0
     OPC_RecordChild1,
2421
0
     OPC_CheckChild1TypeI64,
2422
0
     OPC_CheckPredicate0, 
2423
0
     OPC_MoveParent,
2424
0
     OPC_CheckTypeI32,
2425
0
     OPC_MoveParent,
2426
0
     OPC_CheckChild2Same, 4,
2427
0
     OPC_CheckPredicate1, 
2428
0
     OPC_CheckPredicate, 8,
2429
0
     OPC_CheckComplexPat0, /*#*/2,
2430
0
     OPC_CheckComplexPat0, /*#*/4,
2431
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2432
0
     OPC_EmitInteger64, 6, 
2433
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2434
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2435
0
    40, 
2436
0
     OPC_MoveSibling1,
2437
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2438
0
     OPC_RecordMemRef,
2439
0
     OPC_RecordNode,
2440
0
     OPC_CheckFoldableChainNode,
2441
0
     OPC_RecordChild1,
2442
0
     OPC_CheckChild1TypeI64,
2443
0
     OPC_CheckPredicate0, 
2444
0
     OPC_CheckPredicate2, 
2445
0
     OPC_MoveParent,
2446
0
     OPC_CheckTypeI32,
2447
0
     OPC_MoveParent,
2448
0
     OPC_CheckChild2Same, 2,
2449
0
     OPC_CheckPredicate1, 
2450
0
     OPC_CheckPredicate7, 
2451
0
     OPC_CheckComplexPat0, /*#*/2,
2452
0
     OPC_CheckComplexPat0, /*#*/4,
2453
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2454
0
     OPC_EmitInteger64, 6, 
2455
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2456
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2457
0
    42, 
2458
0
     OPC_CheckPredicate4, 
2459
0
     OPC_CheckPredicate6, 
2460
0
     OPC_MoveSibling1,
2461
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2462
0
     OPC_RecordMemRef,
2463
0
     OPC_RecordNode,
2464
0
     OPC_CheckFoldableChainNode,
2465
0
     OPC_RecordChild1,
2466
0
     OPC_CheckChild1TypeI64,
2467
0
     OPC_CheckPredicate0, 
2468
0
     OPC_MoveParent,
2469
0
     OPC_CheckTypeI64,
2470
0
     OPC_MoveParent,
2471
0
     OPC_CheckChild2Same, 4,
2472
0
     OPC_CheckPredicate1, 
2473
0
     OPC_CheckPredicate, 8,
2474
0
     OPC_CheckComplexPat0, /*#*/2,
2475
0
     OPC_CheckComplexPat0, /*#*/4,
2476
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2477
0
     OPC_EmitInteger64, 0, 
2478
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2479
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2480
0
    41, 
2481
0
     OPC_MoveSibling1,
2482
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2483
0
     OPC_RecordMemRef,
2484
0
     OPC_RecordNode,
2485
0
     OPC_CheckFoldableChainNode,
2486
0
     OPC_RecordChild1,
2487
0
     OPC_CheckChild1TypeI64,
2488
0
     OPC_CheckPredicate0, 
2489
0
     OPC_CheckPredicate4, 
2490
0
     OPC_CheckPredicate6, 
2491
0
     OPC_MoveParent,
2492
0
     OPC_CheckTypeI64,
2493
0
     OPC_MoveParent,
2494
0
     OPC_CheckChild2Same, 2,
2495
0
     OPC_CheckPredicate1, 
2496
0
     OPC_CheckPredicate7, 
2497
0
     OPC_CheckComplexPat0, /*#*/2,
2498
0
     OPC_CheckComplexPat0, /*#*/4,
2499
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2500
0
     OPC_EmitInteger64, 0, 
2501
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2502
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2503
0
    42, 
2504
0
     OPC_CheckPredicate4, 
2505
0
     OPC_CheckPredicate5, 
2506
0
     OPC_MoveSibling1,
2507
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2508
0
     OPC_RecordMemRef,
2509
0
     OPC_RecordNode,
2510
0
     OPC_CheckFoldableChainNode,
2511
0
     OPC_RecordChild1,
2512
0
     OPC_CheckChild1TypeI64,
2513
0
     OPC_CheckPredicate0, 
2514
0
     OPC_MoveParent,
2515
0
     OPC_CheckTypeI64,
2516
0
     OPC_MoveParent,
2517
0
     OPC_CheckChild2Same, 4,
2518
0
     OPC_CheckPredicate1, 
2519
0
     OPC_CheckPredicate, 8,
2520
0
     OPC_CheckComplexPat0, /*#*/2,
2521
0
     OPC_CheckComplexPat0, /*#*/4,
2522
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2523
0
     OPC_EmitInteger64, 2, 
2524
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2525
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2526
0
    41, 
2527
0
     OPC_MoveSibling1,
2528
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2529
0
     OPC_RecordMemRef,
2530
0
     OPC_RecordNode,
2531
0
     OPC_CheckFoldableChainNode,
2532
0
     OPC_RecordChild1,
2533
0
     OPC_CheckChild1TypeI64,
2534
0
     OPC_CheckPredicate0, 
2535
0
     OPC_CheckPredicate4, 
2536
0
     OPC_CheckPredicate5, 
2537
0
     OPC_MoveParent,
2538
0
     OPC_CheckTypeI64,
2539
0
     OPC_MoveParent,
2540
0
     OPC_CheckChild2Same, 2,
2541
0
     OPC_CheckPredicate1, 
2542
0
     OPC_CheckPredicate7, 
2543
0
     OPC_CheckComplexPat0, /*#*/2,
2544
0
     OPC_CheckComplexPat0, /*#*/4,
2545
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2546
0
     OPC_EmitInteger64, 2, 
2547
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2548
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2549
0
    43, 
2550
0
     OPC_CheckPredicate4, 
2551
0
     OPC_CheckPredicate, 9,
2552
0
     OPC_MoveSibling1,
2553
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2554
0
     OPC_RecordMemRef,
2555
0
     OPC_RecordNode,
2556
0
     OPC_CheckFoldableChainNode,
2557
0
     OPC_RecordChild1,
2558
0
     OPC_CheckChild1TypeI64,
2559
0
     OPC_CheckPredicate0, 
2560
0
     OPC_MoveParent,
2561
0
     OPC_CheckTypeI64,
2562
0
     OPC_MoveParent,
2563
0
     OPC_CheckChild2Same, 4,
2564
0
     OPC_CheckPredicate1, 
2565
0
     OPC_CheckPredicate, 8,
2566
0
     OPC_CheckComplexPat0, /*#*/2,
2567
0
     OPC_CheckComplexPat0, /*#*/4,
2568
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2569
0
     OPC_EmitInteger64, 6, 
2570
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2571
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2572
0
    42, 
2573
0
     OPC_MoveSibling1,
2574
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2575
0
     OPC_RecordMemRef,
2576
0
     OPC_RecordNode,
2577
0
     OPC_CheckFoldableChainNode,
2578
0
     OPC_RecordChild1,
2579
0
     OPC_CheckChild1TypeI64,
2580
0
     OPC_CheckPredicate0, 
2581
0
     OPC_CheckPredicate4, 
2582
0
     OPC_CheckPredicate, 9,
2583
0
     OPC_MoveParent,
2584
0
     OPC_CheckTypeI64,
2585
0
     OPC_MoveParent,
2586
0
     OPC_CheckChild2Same, 2,
2587
0
     OPC_CheckPredicate1, 
2588
0
     OPC_CheckPredicate7, 
2589
0
     OPC_CheckComplexPat0, /*#*/2,
2590
0
     OPC_CheckComplexPat0, /*#*/4,
2591
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2592
0
     OPC_EmitInteger64, 6, 
2593
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2594
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2595
0
    41, 
2596
0
     OPC_CheckPredicate2, 
2597
0
     OPC_MoveSibling1,
2598
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2599
0
     OPC_RecordMemRef,
2600
0
     OPC_RecordNode,
2601
0
     OPC_CheckFoldableChainNode,
2602
0
     OPC_RecordChild1,
2603
0
     OPC_CheckChild1TypeI64,
2604
0
     OPC_CheckPredicate0, 
2605
0
     OPC_MoveParent,
2606
0
     OPC_CheckTypeI64,
2607
0
     OPC_MoveParent,
2608
0
     OPC_CheckChild2Same, 4,
2609
0
     OPC_CheckPredicate1, 
2610
0
     OPC_CheckPredicate, 8,
2611
0
     OPC_CheckComplexPat0, /*#*/2,
2612
0
     OPC_CheckComplexPat0, /*#*/4,
2613
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2614
0
     OPC_EmitInteger64, 14, 
2615
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2616
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2617
0
    76, 
2618
0
     OPC_MoveSibling1,
2619
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2620
0
     OPC_RecordMemRef,
2621
0
     OPC_RecordNode,
2622
0
     OPC_CheckFoldableChainNode,
2623
0
     OPC_RecordChild1,
2624
0
     OPC_CheckChild1TypeI64,
2625
0
     OPC_CheckPredicate0, 
2626
0
     OPC_Scope, 30, 
2627
0
      OPC_CheckPredicate2, 
2628
0
      OPC_MoveParent,
2629
0
      OPC_CheckTypeI64,
2630
0
      OPC_MoveParent,
2631
0
      OPC_CheckChild2Same, 2,
2632
0
      OPC_CheckPredicate1, 
2633
0
      OPC_CheckPredicate7, 
2634
0
      OPC_CheckComplexPat0, /*#*/2,
2635
0
      OPC_CheckComplexPat0, /*#*/4,
2636
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2637
0
      OPC_EmitInteger64, 14, 
2638
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2639
0
                    MVT::i32, 5, 5, 6, 7, 8, 9, 
2640
0
     32, 
2641
0
      OPC_CheckPredicate4, 
2642
0
      OPC_CheckPredicate6, 
2643
0
      OPC_MoveParent,
2644
0
      OPC_CheckTypeI32,
2645
0
      OPC_MoveParent,
2646
0
      OPC_CheckChild2Same, 2,
2647
0
      OPC_CheckPredicate1, 
2648
0
      OPC_CheckPredicate, 8,
2649
0
      OPC_CheckComplexPat0, /*#*/2,
2650
0
      OPC_CheckComplexPat0, /*#*/4,
2651
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2652
0
      OPC_EmitInteger64, 0, 
2653
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2654
0
                    MVT::i32, 5, 5, 6, 7, 8, 9, 
2655
0
     0, 
2656
0
    41, 
2657
0
     OPC_CheckPredicate4, 
2658
0
     OPC_CheckPredicate6, 
2659
0
     OPC_MoveSibling1,
2660
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2661
0
     OPC_RecordMemRef,
2662
0
     OPC_RecordNode,
2663
0
     OPC_CheckFoldableChainNode,
2664
0
     OPC_RecordChild1,
2665
0
     OPC_CheckChild1TypeI64,
2666
0
     OPC_CheckPredicate0, 
2667
0
     OPC_MoveParent,
2668
0
     OPC_CheckTypeI32,
2669
0
     OPC_MoveParent,
2670
0
     OPC_CheckChild2Same, 4,
2671
0
     OPC_CheckPredicate1, 
2672
0
     OPC_CheckPredicate7, 
2673
0
     OPC_CheckComplexPat0, /*#*/2,
2674
0
     OPC_CheckComplexPat0, /*#*/4,
2675
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2676
0
     OPC_EmitInteger64, 0, 
2677
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2678
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2679
0
    42, 
2680
0
     OPC_MoveSibling1,
2681
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2682
0
     OPC_RecordMemRef,
2683
0
     OPC_RecordNode,
2684
0
     OPC_CheckFoldableChainNode,
2685
0
     OPC_RecordChild1,
2686
0
     OPC_CheckChild1TypeI64,
2687
0
     OPC_CheckPredicate0, 
2688
0
     OPC_CheckPredicate4, 
2689
0
     OPC_CheckPredicate5, 
2690
0
     OPC_MoveParent,
2691
0
     OPC_CheckTypeI32,
2692
0
     OPC_MoveParent,
2693
0
     OPC_CheckChild2Same, 2,
2694
0
     OPC_CheckPredicate1, 
2695
0
     OPC_CheckPredicate, 8,
2696
0
     OPC_CheckComplexPat0, /*#*/2,
2697
0
     OPC_CheckComplexPat0, /*#*/4,
2698
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2699
0
     OPC_EmitInteger64, 2, 
2700
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2701
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2702
0
    41, 
2703
0
     OPC_CheckPredicate4, 
2704
0
     OPC_CheckPredicate5, 
2705
0
     OPC_MoveSibling1,
2706
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2707
0
     OPC_RecordMemRef,
2708
0
     OPC_RecordNode,
2709
0
     OPC_CheckFoldableChainNode,
2710
0
     OPC_RecordChild1,
2711
0
     OPC_CheckChild1TypeI64,
2712
0
     OPC_CheckPredicate0, 
2713
0
     OPC_MoveParent,
2714
0
     OPC_CheckTypeI32,
2715
0
     OPC_MoveParent,
2716
0
     OPC_CheckChild2Same, 4,
2717
0
     OPC_CheckPredicate1, 
2718
0
     OPC_CheckPredicate7, 
2719
0
     OPC_CheckComplexPat0, /*#*/2,
2720
0
     OPC_CheckComplexPat0, /*#*/4,
2721
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2722
0
     OPC_EmitInteger64, 2, 
2723
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2724
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2725
0
    41, 
2726
0
     OPC_MoveSibling1,
2727
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2728
0
     OPC_RecordMemRef,
2729
0
     OPC_RecordNode,
2730
0
     OPC_CheckFoldableChainNode,
2731
0
     OPC_RecordChild1,
2732
0
     OPC_CheckChild1TypeI64,
2733
0
     OPC_CheckPredicate0, 
2734
0
     OPC_CheckPredicate2, 
2735
0
     OPC_MoveParent,
2736
0
     OPC_CheckTypeI32,
2737
0
     OPC_MoveParent,
2738
0
     OPC_CheckChild2Same, 2,
2739
0
     OPC_CheckPredicate1, 
2740
0
     OPC_CheckPredicate, 8,
2741
0
     OPC_CheckComplexPat0, /*#*/2,
2742
0
     OPC_CheckComplexPat0, /*#*/4,
2743
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2744
0
     OPC_EmitInteger64, 6, 
2745
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2746
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2747
0
    40, 
2748
0
     OPC_CheckPredicate2, 
2749
0
     OPC_MoveSibling1,
2750
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2751
0
     OPC_RecordMemRef,
2752
0
     OPC_RecordNode,
2753
0
     OPC_CheckFoldableChainNode,
2754
0
     OPC_RecordChild1,
2755
0
     OPC_CheckChild1TypeI64,
2756
0
     OPC_CheckPredicate0, 
2757
0
     OPC_MoveParent,
2758
0
     OPC_CheckTypeI32,
2759
0
     OPC_MoveParent,
2760
0
     OPC_CheckChild2Same, 4,
2761
0
     OPC_CheckPredicate1, 
2762
0
     OPC_CheckPredicate7, 
2763
0
     OPC_CheckComplexPat0, /*#*/2,
2764
0
     OPC_CheckComplexPat0, /*#*/4,
2765
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2766
0
     OPC_EmitInteger64, 6, 
2767
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2768
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2769
0
    42, 
2770
0
     OPC_MoveSibling1,
2771
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2772
0
     OPC_RecordMemRef,
2773
0
     OPC_RecordNode,
2774
0
     OPC_CheckFoldableChainNode,
2775
0
     OPC_RecordChild1,
2776
0
     OPC_CheckChild1TypeI64,
2777
0
     OPC_CheckPredicate0, 
2778
0
     OPC_CheckPredicate4, 
2779
0
     OPC_CheckPredicate6, 
2780
0
     OPC_MoveParent,
2781
0
     OPC_CheckTypeI64,
2782
0
     OPC_MoveParent,
2783
0
     OPC_CheckChild2Same, 2,
2784
0
     OPC_CheckPredicate1, 
2785
0
     OPC_CheckPredicate, 8,
2786
0
     OPC_CheckComplexPat0, /*#*/2,
2787
0
     OPC_CheckComplexPat0, /*#*/4,
2788
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2789
0
     OPC_EmitInteger64, 0, 
2790
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2791
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2792
0
    41, 
2793
0
     OPC_CheckPredicate4, 
2794
0
     OPC_CheckPredicate6, 
2795
0
     OPC_MoveSibling1,
2796
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2797
0
     OPC_RecordMemRef,
2798
0
     OPC_RecordNode,
2799
0
     OPC_CheckFoldableChainNode,
2800
0
     OPC_RecordChild1,
2801
0
     OPC_CheckChild1TypeI64,
2802
0
     OPC_CheckPredicate0, 
2803
0
     OPC_MoveParent,
2804
0
     OPC_CheckTypeI64,
2805
0
     OPC_MoveParent,
2806
0
     OPC_CheckChild2Same, 4,
2807
0
     OPC_CheckPredicate1, 
2808
0
     OPC_CheckPredicate7, 
2809
0
     OPC_CheckComplexPat0, /*#*/2,
2810
0
     OPC_CheckComplexPat0, /*#*/4,
2811
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2812
0
     OPC_EmitInteger64, 0, 
2813
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2814
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2815
0
    42, 
2816
0
     OPC_MoveSibling1,
2817
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2818
0
     OPC_RecordMemRef,
2819
0
     OPC_RecordNode,
2820
0
     OPC_CheckFoldableChainNode,
2821
0
     OPC_RecordChild1,
2822
0
     OPC_CheckChild1TypeI64,
2823
0
     OPC_CheckPredicate0, 
2824
0
     OPC_CheckPredicate4, 
2825
0
     OPC_CheckPredicate5, 
2826
0
     OPC_MoveParent,
2827
0
     OPC_CheckTypeI64,
2828
0
     OPC_MoveParent,
2829
0
     OPC_CheckChild2Same, 2,
2830
0
     OPC_CheckPredicate1, 
2831
0
     OPC_CheckPredicate, 8,
2832
0
     OPC_CheckComplexPat0, /*#*/2,
2833
0
     OPC_CheckComplexPat0, /*#*/4,
2834
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2835
0
     OPC_EmitInteger64, 2, 
2836
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2837
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2838
0
    41, 
2839
0
     OPC_CheckPredicate4, 
2840
0
     OPC_CheckPredicate5, 
2841
0
     OPC_MoveSibling1,
2842
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2843
0
     OPC_RecordMemRef,
2844
0
     OPC_RecordNode,
2845
0
     OPC_CheckFoldableChainNode,
2846
0
     OPC_RecordChild1,
2847
0
     OPC_CheckChild1TypeI64,
2848
0
     OPC_CheckPredicate0, 
2849
0
     OPC_MoveParent,
2850
0
     OPC_CheckTypeI64,
2851
0
     OPC_MoveParent,
2852
0
     OPC_CheckChild2Same, 4,
2853
0
     OPC_CheckPredicate1, 
2854
0
     OPC_CheckPredicate7, 
2855
0
     OPC_CheckComplexPat0, /*#*/2,
2856
0
     OPC_CheckComplexPat0, /*#*/4,
2857
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2858
0
     OPC_EmitInteger64, 2, 
2859
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2860
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2861
0
    43, 
2862
0
     OPC_MoveSibling1,
2863
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2864
0
     OPC_RecordMemRef,
2865
0
     OPC_RecordNode,
2866
0
     OPC_CheckFoldableChainNode,
2867
0
     OPC_RecordChild1,
2868
0
     OPC_CheckChild1TypeI64,
2869
0
     OPC_CheckPredicate0, 
2870
0
     OPC_CheckPredicate4, 
2871
0
     OPC_CheckPredicate, 9,
2872
0
     OPC_MoveParent,
2873
0
     OPC_CheckTypeI64,
2874
0
     OPC_MoveParent,
2875
0
     OPC_CheckChild2Same, 2,
2876
0
     OPC_CheckPredicate1, 
2877
0
     OPC_CheckPredicate, 8,
2878
0
     OPC_CheckComplexPat0, /*#*/2,
2879
0
     OPC_CheckComplexPat0, /*#*/4,
2880
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2881
0
     OPC_EmitInteger64, 6, 
2882
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2883
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2884
0
    42, 
2885
0
     OPC_CheckPredicate4, 
2886
0
     OPC_CheckPredicate, 9,
2887
0
     OPC_MoveSibling1,
2888
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2889
0
     OPC_RecordMemRef,
2890
0
     OPC_RecordNode,
2891
0
     OPC_CheckFoldableChainNode,
2892
0
     OPC_RecordChild1,
2893
0
     OPC_CheckChild1TypeI64,
2894
0
     OPC_CheckPredicate0, 
2895
0
     OPC_MoveParent,
2896
0
     OPC_CheckTypeI64,
2897
0
     OPC_MoveParent,
2898
0
     OPC_CheckChild2Same, 4,
2899
0
     OPC_CheckPredicate1, 
2900
0
     OPC_CheckPredicate7, 
2901
0
     OPC_CheckComplexPat0, /*#*/2,
2902
0
     OPC_CheckComplexPat0, /*#*/4,
2903
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2904
0
     OPC_EmitInteger64, 6, 
2905
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2906
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2907
0
    41, 
2908
0
     OPC_MoveSibling1,
2909
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2910
0
     OPC_RecordMemRef,
2911
0
     OPC_RecordNode,
2912
0
     OPC_CheckFoldableChainNode,
2913
0
     OPC_RecordChild1,
2914
0
     OPC_CheckChild1TypeI64,
2915
0
     OPC_CheckPredicate0, 
2916
0
     OPC_CheckPredicate2, 
2917
0
     OPC_MoveParent,
2918
0
     OPC_CheckTypeI64,
2919
0
     OPC_MoveParent,
2920
0
     OPC_CheckChild2Same, 2,
2921
0
     OPC_CheckPredicate1, 
2922
0
     OPC_CheckPredicate, 8,
2923
0
     OPC_CheckComplexPat0, /*#*/2,
2924
0
     OPC_CheckComplexPat0, /*#*/4,
2925
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2926
0
     OPC_EmitInteger64, 14, 
2927
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2928
0
                   MVT::i32, 5, 5, 6, 7, 8, 9, 
2929
0
    40, 
2930
0
     OPC_CheckPredicate2, 
2931
0
     OPC_MoveSibling1,
2932
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2933
0
     OPC_RecordMemRef,
2934
0
     OPC_RecordNode,
2935
0
     OPC_CheckFoldableChainNode,
2936
0
     OPC_RecordChild1,
2937
0
     OPC_CheckChild1TypeI64,
2938
0
     OPC_CheckPredicate0, 
2939
0
     OPC_MoveParent,
2940
0
     OPC_CheckTypeI64,
2941
0
     OPC_MoveParent,
2942
0
     OPC_CheckChild2Same, 4,
2943
0
     OPC_CheckPredicate1, 
2944
0
     OPC_CheckPredicate7, 
2945
0
     OPC_CheckComplexPat0, /*#*/2,
2946
0
     OPC_CheckComplexPat0, /*#*/4,
2947
0
     OPC_EmitMergeInputChains, 3, 0, 1, 3, 
2948
0
     OPC_EmitInteger64, 14, 
2949
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2950
0
                   MVT::i32, 5, 7, 8, 5, 6, 9, 
2951
0
    118, 
2952
0
     OPC_CheckPredicate4, 
2953
0
     OPC_CheckPredicate6, 
2954
0
     OPC_MoveSibling1,
2955
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2956
0
     OPC_RecordNode,
2957
0
     OPC_MoveParent,
2958
0
     OPC_SwitchType , 52, MVT::i32,
2959
0
      OPC_MoveParent,
2960
0
      OPC_CheckChild2Same, 2,
2961
0
      OPC_CheckPredicate1, 
2962
0
      OPC_CheckPredicate, 11,
2963
0
      OPC_CheckPredicate, 19,
2964
0
      OPC_Scope, 20, 
2965
0
       OPC_CheckComplexPat, /*CP*/9, /*#*/2,
2966
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
2967
0
       OPC_EmitConvertToTarget3,
2968
0
       OPC_EmitNodeXForm, 0, 6,
2969
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XI), 0|OPFL_Chain|OPFL_MemRefs,
2970
0
                     MVT::i32, 3, 4, 5, 7, 
2971
0
      20, 
2972
0
       OPC_CheckComplexPat, /*CP*/10, /*#*/2,
2973
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
2974
0
       OPC_EmitConvertToTarget3,
2975
0
       OPC_EmitNodeXForm, 0, 6,
2976
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XIY), 0|OPFL_Chain|OPFL_MemRefs,
2977
0
                     MVT::i32, 3, 4, 5, 7, 
2978
0
      0, 
2979
0
     52, MVT::i64,
2980
0
      OPC_MoveParent,
2981
0
      OPC_CheckChild2Same, 2,
2982
0
      OPC_CheckPredicate1, 
2983
0
      OPC_CheckPredicate, 11,
2984
0
      OPC_CheckPredicate, 19,
2985
0
      OPC_Scope, 20, 
2986
0
       OPC_CheckComplexPat, /*CP*/9, /*#*/2,
2987
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
2988
0
       OPC_EmitConvertToTarget3,
2989
0
       OPC_EmitNodeXForm, 0, 6,
2990
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XI), 0|OPFL_Chain|OPFL_MemRefs,
2991
0
                     MVT::i32, 3, 4, 5, 7, 
2992
0
      20, 
2993
0
       OPC_CheckComplexPat, /*CP*/10, /*#*/2,
2994
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
2995
0
       OPC_EmitConvertToTarget3,
2996
0
       OPC_EmitNodeXForm, 0, 6,
2997
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XIY), 0|OPFL_Chain|OPFL_MemRefs,
2998
0
                     MVT::i32, 3, 4, 5, 7, 
2999
0
      0, 
3000
0
     0,
3001
0
    0, 
3002
0
   78, TARGET_VAL(ISD::ADD),
3003
0
    OPC_MoveChild0,
3004
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3005
0
    OPC_RecordMemRef,
3006
0
    OPC_RecordNode,
3007
0
    OPC_CheckFoldableChainNode,
3008
0
    OPC_RecordChild1,
3009
0
    OPC_CheckChild1TypeI64,
3010
0
    OPC_CheckPredicate0, 
3011
0
    OPC_CheckPredicate2, 
3012
0
    OPC_MoveSibling1,
3013
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3014
0
    OPC_RecordNode,
3015
0
    OPC_Scope, 29, 
3016
0
     OPC_CheckPredicate, 66,
3017
0
     OPC_MoveParent,
3018
0
     OPC_CheckTypeI32,
3019
0
     OPC_MoveParent,
3020
0
     OPC_CheckChild2Same, 2,
3021
0
     OPC_CheckPredicate1, 
3022
0
     OPC_CheckPredicate, 10,
3023
0
     OPC_CheckComplexPat5, /*#*/2,
3024
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
3025
0
     OPC_EmitConvertToTarget3,
3026
0
     OPC_EmitNodeXForm, 1, 6,
3027
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ASI), 0|OPFL_Chain|OPFL_MemRefs,
3028
0
                   MVT::i32, 3, 4, 5, 7, 
3029
0
    29, 
3030
0
     OPC_CheckPredicate, 66,
3031
0
     OPC_MoveParent,
3032
0
     OPC_CheckTypeI64,
3033
0
     OPC_MoveParent,
3034
0
     OPC_CheckChild2Same, 2,
3035
0
     OPC_CheckPredicate1, 
3036
0
     OPC_CheckPredicate, 10,
3037
0
     OPC_CheckComplexPat5, /*#*/2,
3038
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
3039
0
     OPC_EmitConvertToTarget3,
3040
0
     OPC_EmitNodeXForm, 1, 6,
3041
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::AGSI), 0|OPFL_Chain|OPFL_MemRefs,
3042
0
                   MVT::i32, 3, 4, 5, 7, 
3043
0
    0, 
3044
0
   58|128,2, TARGET_VAL(ISD::LOAD),
3045
0
    OPC_RecordMemRef,
3046
0
    OPC_RecordNode,
3047
0
    OPC_CheckFoldableChainNode,
3048
0
    OPC_RecordChild1,
3049
0
    OPC_CheckChild1TypeI64,
3050
0
    OPC_CheckPredicate0, 
3051
0
    OPC_Scope, 62, 
3052
0
     OPC_CheckPredicate4, 
3053
0
     OPC_CheckTypeI32,
3054
0
     OPC_Scope, 28, 
3055
0
      OPC_CheckPredicate6, 
3056
0
      OPC_MoveParent,
3057
0
      OPC_RecordChild2,
3058
0
      OPC_CheckChild2TypeI64,
3059
0
      OPC_CheckPredicate1, 
3060
0
      OPC_CheckPredicate, 26,
3061
0
      OPC_CheckComplexPat0, /*#*/2,
3062
0
      OPC_CheckComplexPat0, /*#*/3,
3063
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3064
0
      OPC_EmitInteger64, 0, 
3065
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3066
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3067
0
     28, 
3068
0
      OPC_CheckPredicate5, 
3069
0
      OPC_MoveParent,
3070
0
      OPC_RecordChild2,
3071
0
      OPC_CheckChild2TypeI64,
3072
0
      OPC_CheckPredicate1, 
3073
0
      OPC_CheckPredicate, 26,
3074
0
      OPC_CheckComplexPat0, /*#*/2,
3075
0
      OPC_CheckComplexPat0, /*#*/3,
3076
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3077
0
      OPC_EmitInteger64, 2, 
3078
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3079
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3080
0
     0, 
3081
0
    29, 
3082
0
     OPC_CheckPredicate2, 
3083
0
     OPC_CheckTypeI32,
3084
0
     OPC_MoveParent,
3085
0
     OPC_RecordChild2,
3086
0
     OPC_CheckChild2TypeI64,
3087
0
     OPC_CheckPredicate1, 
3088
0
     OPC_CheckPredicate, 26,
3089
0
     OPC_CheckComplexPat0, /*#*/2,
3090
0
     OPC_CheckComplexPat0, /*#*/3,
3091
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
3092
0
     OPC_EmitInteger64, 6, 
3093
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3094
0
                   MVT::i32, 5, 6, 7, 4, 5, 8, 
3095
0
    92, 
3096
0
     OPC_CheckPredicate4, 
3097
0
     OPC_CheckTypeI64,
3098
0
     OPC_Scope, 28, 
3099
0
      OPC_CheckPredicate6, 
3100
0
      OPC_MoveParent,
3101
0
      OPC_RecordChild2,
3102
0
      OPC_CheckChild2TypeI64,
3103
0
      OPC_CheckPredicate1, 
3104
0
      OPC_CheckPredicate, 26,
3105
0
      OPC_CheckComplexPat0, /*#*/2,
3106
0
      OPC_CheckComplexPat0, /*#*/3,
3107
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3108
0
      OPC_EmitInteger64, 0, 
3109
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3110
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3111
0
     28, 
3112
0
      OPC_CheckPredicate5, 
3113
0
      OPC_MoveParent,
3114
0
      OPC_RecordChild2,
3115
0
      OPC_CheckChild2TypeI64,
3116
0
      OPC_CheckPredicate1, 
3117
0
      OPC_CheckPredicate, 26,
3118
0
      OPC_CheckComplexPat0, /*#*/2,
3119
0
      OPC_CheckComplexPat0, /*#*/3,
3120
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3121
0
      OPC_EmitInteger64, 2, 
3122
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3123
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3124
0
     29, 
3125
0
      OPC_CheckPredicate, 9,
3126
0
      OPC_MoveParent,
3127
0
      OPC_RecordChild2,
3128
0
      OPC_CheckChild2TypeI64,
3129
0
      OPC_CheckPredicate1, 
3130
0
      OPC_CheckPredicate, 26,
3131
0
      OPC_CheckComplexPat0, /*#*/2,
3132
0
      OPC_CheckComplexPat0, /*#*/3,
3133
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3134
0
      OPC_EmitInteger64, 6, 
3135
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3136
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3137
0
     0, 
3138
0
    119, 
3139
0
     OPC_CheckPredicate2, 
3140
0
     OPC_SwitchType , 27, MVT::i64,
3141
0
      OPC_MoveParent,
3142
0
      OPC_RecordChild2,
3143
0
      OPC_CheckChild2TypeI64,
3144
0
      OPC_CheckPredicate1, 
3145
0
      OPC_CheckPredicate, 26,
3146
0
      OPC_CheckComplexPat0, /*#*/2,
3147
0
      OPC_CheckComplexPat0, /*#*/3,
3148
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3149
0
      OPC_EmitInteger64, 14, 
3150
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3151
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3152
0
     27, MVT::f32,
3153
0
      OPC_MoveParent,
3154
0
      OPC_RecordChild2,
3155
0
      OPC_CheckChild2TypeI64,
3156
0
      OPC_CheckPredicate1, 
3157
0
      OPC_CheckPredicate, 26,
3158
0
      OPC_CheckComplexPat0, /*#*/2,
3159
0
      OPC_CheckComplexPat0, /*#*/3,
3160
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3161
0
      OPC_EmitInteger64, 6, 
3162
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3163
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3164
0
     27, MVT::f64,
3165
0
      OPC_MoveParent,
3166
0
      OPC_RecordChild2,
3167
0
      OPC_CheckChild2TypeI64,
3168
0
      OPC_CheckPredicate1, 
3169
0
      OPC_CheckPredicate, 26,
3170
0
      OPC_CheckComplexPat0, /*#*/2,
3171
0
      OPC_CheckComplexPat0, /*#*/3,
3172
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3173
0
      OPC_EmitInteger64, 14, 
3174
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3175
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3176
0
     27, MVT::f128,
3177
0
      OPC_MoveParent,
3178
0
      OPC_RecordChild2,
3179
0
      OPC_CheckChild2TypeI64,
3180
0
      OPC_CheckPredicate1, 
3181
0
      OPC_CheckPredicate, 26,
3182
0
      OPC_CheckComplexPat0, /*#*/2,
3183
0
      OPC_CheckComplexPat0, /*#*/3,
3184
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
3185
0
      OPC_EmitInteger64, 30, 
3186
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3187
0
                    MVT::i32, 5, 6, 7, 4, 5, 8, 
3188
0
     0,
3189
0
    0, 
3190
0
   113, TARGET_VAL(ISD::SRL),
3191
0
    OPC_RecordChild0,
3192
0
    OPC_CheckType, MVT::i128,
3193
0
    OPC_Scope, 27, 
3194
0
     OPC_CheckChild1Integer, 64, 
3195
0
     OPC_CheckChild1TypeI32,
3196
0
     OPC_MoveParent,
3197
0
     OPC_RecordChild2,
3198
0
     OPC_CheckChild2TypeI64,
3199
0
     OPC_CheckPredicate1, 
3200
0
     OPC_CheckPredicate, 11,
3201
0
     OPC_CheckPredicate, 34,
3202
0
     OPC_CheckPatternPredicate0,
3203
0
     OPC_CheckComplexPat1, /*#*/2,
3204
0
     OPC_EmitMergeInputChains1_0,
3205
0
     OPC_EmitInteger32, 4, 
3206
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3207
0
                   5, 1, 3, 4, 5, 6, 
3208
0
    50, 
3209
0
     OPC_CheckChild1Integer, 0|128,1, 
3210
0
     OPC_CheckChild1TypeI32,
3211
0
     OPC_MoveParent,
3212
0
     OPC_RecordChild2,
3213
0
     OPC_CheckChild2TypeI64,
3214
0
     OPC_CheckPredicate1, 
3215
0
     OPC_CheckPredicate, 11,
3216
0
     OPC_Scope, 18, 
3217
0
      OPC_CheckPredicate, 34,
3218
0
      OPC_CheckPatternPredicate0,
3219
0
      OPC_CheckComplexPat1, /*#*/2,
3220
0
      OPC_EmitMergeInputChains1_0,
3221
0
      OPC_EmitInteger32, 2, 
3222
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3223
0
                    5, 1, 3, 4, 5, 6, 
3224
0
     18, 
3225
0
      OPC_CheckPredicate, 67,
3226
0
      OPC_CheckPatternPredicate0,
3227
0
      OPC_CheckComplexPat1, /*#*/2,
3228
0
      OPC_EmitMergeInputChains1_0,
3229
0
      OPC_EmitInteger32, 0, 
3230
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEG), 0|OPFL_Chain|OPFL_MemRefs,
3231
0
                    5, 1, 3, 4, 5, 6, 
3232
0
     0, 
3233
0
    28, 
3234
0
     OPC_CheckChild1Integer, 64|128,1, 
3235
0
     OPC_CheckChild1TypeI32,
3236
0
     OPC_MoveParent,
3237
0
     OPC_RecordChild2,
3238
0
     OPC_CheckChild2TypeI64,
3239
0
     OPC_CheckPredicate1, 
3240
0
     OPC_CheckPredicate, 11,
3241
0
     OPC_CheckPredicate, 34,
3242
0
     OPC_CheckPatternPredicate0,
3243
0
     OPC_CheckComplexPat1, /*#*/2,
3244
0
     OPC_EmitMergeInputChains1_0,
3245
0
     OPC_EmitInteger32, 0, 
3246
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3247
0
                   5, 1, 3, 4, 5, 6, 
3248
0
    0, 
3249
0
   78|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
3250
0
    OPC_RecordChild0,
3251
0
    OPC_Scope, 33, 
3252
0
     OPC_CheckChild0Type, MVT::v16i8,
3253
0
     OPC_RecordChild1,
3254
0
     OPC_MoveChild1,
3255
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3256
0
     OPC_CheckPredicate3, 
3257
0
     OPC_MoveParent,
3258
0
     OPC_CheckTypeI32,
3259
0
     OPC_MoveParent,
3260
0
     OPC_RecordChild2,
3261
0
     OPC_CheckChild2TypeI64,
3262
0
     OPC_CheckPredicate1, 
3263
0
     OPC_CheckPredicate, 11,
3264
0
     OPC_CheckPredicate, 19,
3265
0
     OPC_CheckPatternPredicate0,
3266
0
     OPC_CheckComplexPat1, /*#*/3,
3267
0
     OPC_EmitMergeInputChains1_0,
3268
0
     OPC_EmitConvertToTarget2,
3269
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEB), 0|OPFL_Chain|OPFL_MemRefs,
3270
0
                   5, 1, 4, 5, 6, 7, 
3271
0
    34, 
3272
0
     OPC_CheckChild0Type, MVT::v8i16,
3273
0
     OPC_RecordChild1,
3274
0
     OPC_MoveChild1,
3275
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3276
0
     OPC_CheckPredicate, 51,
3277
0
     OPC_MoveParent,
3278
0
     OPC_CheckTypeI32,
3279
0
     OPC_MoveParent,
3280
0
     OPC_RecordChild2,
3281
0
     OPC_CheckChild2TypeI64,
3282
0
     OPC_CheckPredicate1, 
3283
0
     OPC_CheckPredicate, 11,
3284
0
     OPC_CheckPredicate, 22,
3285
0
     OPC_CheckPatternPredicate0,
3286
0
     OPC_CheckComplexPat1, /*#*/3,
3287
0
     OPC_EmitMergeInputChains1_0,
3288
0
     OPC_EmitConvertToTarget2,
3289
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEH), 0|OPFL_Chain|OPFL_MemRefs,
3290
0
                   5, 1, 4, 5, 6, 7, 
3291
0
    32, 
3292
0
     OPC_CheckChild0Type, MVT::v4i32,
3293
0
     OPC_RecordChild1,
3294
0
     OPC_MoveChild1,
3295
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3296
0
     OPC_CheckPredicate, 35,
3297
0
     OPC_MoveParent,
3298
0
     OPC_CheckTypeI32,
3299
0
     OPC_MoveParent,
3300
0
     OPC_RecordChild2,
3301
0
     OPC_CheckChild2TypeI64,
3302
0
     OPC_CheckPredicate1, 
3303
0
     OPC_CheckPredicate, 10,
3304
0
     OPC_CheckPatternPredicate0,
3305
0
     OPC_CheckComplexPat1, /*#*/3,
3306
0
     OPC_EmitMergeInputChains1_0,
3307
0
     OPC_EmitConvertToTarget2,
3308
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3309
0
                   5, 1, 4, 5, 6, 7, 
3310
0
    32, 
3311
0
     OPC_CheckChild0Type, MVT::v2i64,
3312
0
     OPC_RecordChild1,
3313
0
     OPC_MoveChild1,
3314
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3315
0
     OPC_CheckPredicate, 38,
3316
0
     OPC_MoveParent,
3317
0
     OPC_CheckTypeI64,
3318
0
     OPC_MoveParent,
3319
0
     OPC_RecordChild2,
3320
0
     OPC_CheckChild2TypeI64,
3321
0
     OPC_CheckPredicate1, 
3322
0
     OPC_CheckPredicate, 10,
3323
0
     OPC_CheckPatternPredicate0,
3324
0
     OPC_CheckComplexPat1, /*#*/3,
3325
0
     OPC_EmitMergeInputChains1_0,
3326
0
     OPC_EmitConvertToTarget2,
3327
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEG), 0|OPFL_Chain|OPFL_MemRefs,
3328
0
                   5, 1, 4, 5, 6, 7, 
3329
0
    33, 
3330
0
     OPC_CheckChild0Type, MVT::v4f32,
3331
0
     OPC_RecordChild1,
3332
0
     OPC_MoveChild1,
3333
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3334
0
     OPC_CheckPredicate, 35,
3335
0
     OPC_MoveParent,
3336
0
     OPC_CheckType, MVT::f32,
3337
0
     OPC_MoveParent,
3338
0
     OPC_RecordChild2,
3339
0
     OPC_CheckChild2TypeI64,
3340
0
     OPC_CheckPredicate1, 
3341
0
     OPC_CheckPredicate, 10,
3342
0
     OPC_CheckPatternPredicate0,
3343
0
     OPC_CheckComplexPat1, /*#*/3,
3344
0
     OPC_EmitMergeInputChains1_0,
3345
0
     OPC_EmitConvertToTarget2,
3346
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3347
0
                   5, 1, 4, 5, 6, 7, 
3348
0
    33, 
3349
0
     OPC_CheckChild0Type, MVT::v2f64,
3350
0
     OPC_RecordChild1,
3351
0
     OPC_MoveChild1,
3352
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3353
0
     OPC_CheckPredicate, 38,
3354
0
     OPC_MoveParent,
3355
0
     OPC_CheckType, MVT::f64,
3356
0
     OPC_MoveParent,
3357
0
     OPC_RecordChild2,
3358
0
     OPC_CheckChild2TypeI64,
3359
0
     OPC_CheckPredicate1, 
3360
0
     OPC_CheckPredicate, 10,
3361
0
     OPC_CheckPatternPredicate0,
3362
0
     OPC_CheckComplexPat1, /*#*/3,
3363
0
     OPC_EmitMergeInputChains1_0,
3364
0
     OPC_EmitConvertToTarget2,
3365
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEG), 0|OPFL_Chain|OPFL_MemRefs,
3366
0
                   5, 1, 4, 5, 6, 7, 
3367
0
    0, 
3368
0
   25, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
3369
0
    OPC_RecordNode,
3370
0
    OPC_CheckFoldableChainNode,
3371
0
    OPC_CheckChild1Integer, 0|128,36|128,1, 
3372
0
    OPC_MoveParent,
3373
0
    OPC_RecordChild2,
3374
0
    OPC_CheckChild2TypeI64,
3375
0
    OPC_CheckPredicate1, 
3376
0
    OPC_CheckPredicate, 10,
3377
0
    OPC_CheckComplexPat0, /*#*/2,
3378
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
3379
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STFPC), 0|OPFL_Chain|OPFL_MemRefs,
3380
0
                  2, 3, 4, 
3381
0
   0,
3382
0
  108|128,7, 
3383
0
   OPC_RecordChild1,
3384
0
   OPC_Scope, 18, 
3385
0
    OPC_CheckChild1TypeI32,
3386
0
    OPC_RecordChild2,
3387
0
    OPC_CheckChild2TypeI64,
3388
0
    OPC_CheckPredicate1, 
3389
0
    OPC_CheckPredicate, 10,
3390
0
    OPC_CheckPredicate, 16,
3391
0
    OPC_CheckComplexPat7, /*#*/2,
3392
0
    OPC_EmitMergeInputChains1_0,
3393
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRL), 0|OPFL_Chain|OPFL_MemRefs,
3394
0
                  2, 1, 3, 
3395
0
   18, 
3396
0
    OPC_CheckChild1TypeI64,
3397
0
    OPC_RecordChild2,
3398
0
    OPC_CheckChild2TypeI64,
3399
0
    OPC_CheckPredicate1, 
3400
0
    OPC_CheckPredicate, 10,
3401
0
    OPC_CheckPredicate, 16,
3402
0
    OPC_CheckComplexPat7, /*#*/2,
3403
0
    OPC_EmitMergeInputChains1_0,
3404
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STGRL), 0|OPFL_Chain|OPFL_MemRefs,
3405
0
                  2, 1, 3, 
3406
0
   58, 
3407
0
    OPC_MoveChild1,
3408
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3409
0
    OPC_SwitchType , 24, MVT::i32,
3410
0
     OPC_CheckPredicate, 13,
3411
0
     OPC_MoveParent,
3412
0
     OPC_RecordChild2,
3413
0
     OPC_CheckChild2TypeI64,
3414
0
     OPC_CheckPredicate1, 
3415
0
     OPC_CheckPredicate, 10,
3416
0
     OPC_CheckComplexPat, /*CP*/14, /*#*/2,
3417
0
     OPC_EmitMergeInputChains1_0,
3418
0
     OPC_EmitConvertToTarget1,
3419
0
     OPC_EmitNodeXForm, 2, 5,
3420
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVHI), 0|OPFL_Chain|OPFL_MemRefs,
3421
0
                   3, 3, 4, 6, 
3422
0
    24, MVT::i64,
3423
0
     OPC_CheckPredicate, 13,
3424
0
     OPC_MoveParent,
3425
0
     OPC_RecordChild2,
3426
0
     OPC_CheckChild2TypeI64,
3427
0
     OPC_CheckPredicate1, 
3428
0
     OPC_CheckPredicate, 10,
3429
0
     OPC_CheckComplexPat, /*CP*/14, /*#*/2,
3430
0
     OPC_EmitMergeInputChains1_0,
3431
0
     OPC_EmitConvertToTarget1,
3432
0
     OPC_EmitNodeXForm, 2, 5,
3433
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVGHI), 0|OPFL_Chain|OPFL_MemRefs,
3434
0
                   3, 3, 4, 6, 
3435
0
    0,
3436
0
   82, 
3437
0
    OPC_CheckChild1TypeI32,
3438
0
    OPC_RecordChild2,
3439
0
    OPC_CheckChild2TypeI64,
3440
0
    OPC_CheckPredicate1, 
3441
0
    OPC_Scope, 16, 
3442
0
     OPC_CheckPredicate, 11,
3443
0
     OPC_CheckPredicate, 22,
3444
0
     OPC_CheckPredicate, 16,
3445
0
     OPC_CheckComplexPat7, /*#*/2,
3446
0
     OPC_EmitMergeInputChains1_0,
3447
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHRL), 0|OPFL_Chain|OPFL_MemRefs,
3448
0
                   2, 1, 3, 
3449
0
    58, 
3450
0
     OPC_CheckPredicate, 10,
3451
0
     OPC_Scope, 13, 
3452
0
      OPC_CheckPatternPredicate2,
3453
0
      OPC_CheckComplexPat2, /*#*/2,
3454
0
      OPC_EmitMergeInputChains1_0,
3455
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STMux), 0|OPFL_Chain|OPFL_MemRefs,
3456
0
                    4, 1, 3, 4, 5, 
3457
0
     12, 
3458
0
      OPC_CheckComplexPat3, /*#*/2,
3459
0
      OPC_EmitMergeInputChains1_0,
3460
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ST), 0|OPFL_Chain|OPFL_MemRefs,
3461
0
                    4, 1, 3, 4, 5, 
3462
0
     12, 
3463
0
      OPC_CheckComplexPat4, /*#*/2,
3464
0
      OPC_EmitMergeInputChains1_0,
3465
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STY), 0|OPFL_Chain|OPFL_MemRefs,
3466
0
                    4, 1, 3, 4, 5, 
3467
0
     13, 
3468
0
      OPC_CheckPatternPredicate2,
3469
0
      OPC_CheckComplexPat2, /*#*/2,
3470
0
      OPC_EmitMergeInputChains1_0,
3471
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STFH), 0|OPFL_Chain|OPFL_MemRefs,
3472
0
                    4, 1, 3, 4, 5, 
3473
0
     0, 
3474
0
    0, 
3475
0
   74, 
3476
0
    OPC_CheckChild1TypeI64,
3477
0
    OPC_RecordChild2,
3478
0
    OPC_CheckChild2TypeI64,
3479
0
    OPC_CheckPredicate1, 
3480
0
    OPC_Scope, 52, 
3481
0
     OPC_CheckPredicate, 11,
3482
0
     OPC_Scope, 23, 
3483
0
      OPC_CheckPredicate, 22,
3484
0
      OPC_CheckPredicate, 16,
3485
0
      OPC_CheckComplexPat7, /*#*/2,
3486
0
      OPC_EmitMergeInputChains1_0,
3487
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
3488
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3489
0
                    MVT::i32, 2, 1, 4, 
3490
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHRL), 0|OPFL_Chain|OPFL_MemRefs,
3491
0
                    2, 5, 3, 
3492
0
     23, 
3493
0
      OPC_CheckPredicate, 34,
3494
0
      OPC_CheckPredicate, 16,
3495
0
      OPC_CheckComplexPat7, /*#*/2,
3496
0
      OPC_EmitMergeInputChains1_0,
3497
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
3498
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3499
0
                    MVT::i32, 2, 1, 4, 
3500
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRL), 0|OPFL_Chain|OPFL_MemRefs,
3501
0
                    2, 5, 3, 
3502
0
     0, 
3503
0
    14, 
3504
0
     OPC_CheckPredicate, 10,
3505
0
     OPC_CheckComplexPat2, /*#*/2,
3506
0
     OPC_EmitMergeInputChains1_0,
3507
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STG), 0|OPFL_Chain|OPFL_MemRefs,
3508
0
                   4, 1, 3, 4, 5, 
3509
0
    0, 
3510
0
   20, 
3511
0
    OPC_CheckChild1Type, MVT::Untyped,
3512
0
    OPC_RecordChild2,
3513
0
    OPC_CheckChild2TypeI64,
3514
0
    OPC_CheckPredicate1, 
3515
0
    OPC_CheckPredicate, 10,
3516
0
    OPC_CheckComplexPat, /*CP*/15, /*#*/2,
3517
0
    OPC_EmitMergeInputChains1_0,
3518
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ST128), 0|OPFL_Chain|OPFL_MemRefs,
3519
0
                  4, 1, 3, 4, 5, 
3520
0
   71, 
3521
0
    OPC_MoveChild1,
3522
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3523
0
    OPC_CheckTypeI32,
3524
0
    OPC_MoveParent,
3525
0
    OPC_RecordChild2,
3526
0
    OPC_CheckChild2TypeI64,
3527
0
    OPC_CheckPredicate1, 
3528
0
    OPC_CheckPredicate, 11,
3529
0
    OPC_Scope, 38, 
3530
0
     OPC_CheckPredicate, 19,
3531
0
     OPC_Scope, 16, 
3532
0
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
3533
0
      OPC_EmitMergeInputChains1_0,
3534
0
      OPC_EmitConvertToTarget1,
3535
0
      OPC_EmitNodeXForm, 0, 5,
3536
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVI), 0|OPFL_Chain|OPFL_MemRefs,
3537
0
                    3, 3, 4, 6, 
3538
0
     16, 
3539
0
      OPC_CheckComplexPat, /*CP*/16, /*#*/2,
3540
0
      OPC_EmitMergeInputChains1_0,
3541
0
      OPC_EmitConvertToTarget1,
3542
0
      OPC_EmitNodeXForm, 0, 5,
3543
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVIY), 0|OPFL_Chain|OPFL_MemRefs,
3544
0
                    3, 3, 4, 6, 
3545
0
     0, 
3546
0
    18, 
3547
0
     OPC_CheckPredicate, 22,
3548
0
     OPC_CheckComplexPat, /*CP*/14, /*#*/2,
3549
0
     OPC_EmitMergeInputChains1_0,
3550
0
     OPC_EmitConvertToTarget1,
3551
0
     OPC_EmitNodeXForm, 2, 5,
3552
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVHHI), 0|OPFL_Chain|OPFL_MemRefs,
3553
0
                   3, 3, 4, 6, 
3554
0
    0, 
3555
0
   126, 
3556
0
    OPC_CheckChild1TypeI32,
3557
0
    OPC_RecordChild2,
3558
0
    OPC_CheckChild2TypeI64,
3559
0
    OPC_CheckPredicate1, 
3560
0
    OPC_CheckPredicate, 11,
3561
0
    OPC_Scope, 58, 
3562
0
     OPC_CheckPredicate, 19,
3563
0
     OPC_Scope, 13, 
3564
0
      OPC_CheckPatternPredicate2,
3565
0
      OPC_CheckComplexPat2, /*#*/2,
3566
0
      OPC_EmitMergeInputChains1_0,
3567
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STCMux), 0|OPFL_Chain|OPFL_MemRefs,
3568
0
                    4, 1, 3, 4, 5, 
3569
0
     12, 
3570
0
      OPC_CheckComplexPat3, /*#*/2,
3571
0
      OPC_EmitMergeInputChains1_0,
3572
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STC), 0|OPFL_Chain|OPFL_MemRefs,
3573
0
                    4, 1, 3, 4, 5, 
3574
0
     12, 
3575
0
      OPC_CheckComplexPat4, /*#*/2,
3576
0
      OPC_EmitMergeInputChains1_0,
3577
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STCY), 0|OPFL_Chain|OPFL_MemRefs,
3578
0
                    4, 1, 3, 4, 5, 
3579
0
     13, 
3580
0
      OPC_CheckPatternPredicate2,
3581
0
      OPC_CheckComplexPat2, /*#*/2,
3582
0
      OPC_EmitMergeInputChains1_0,
3583
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STCH), 0|OPFL_Chain|OPFL_MemRefs,
3584
0
                    4, 1, 3, 4, 5, 
3585
0
     0, 
3586
0
    58, 
3587
0
     OPC_CheckPredicate, 22,
3588
0
     OPC_Scope, 13, 
3589
0
      OPC_CheckPatternPredicate2,
3590
0
      OPC_CheckComplexPat2, /*#*/2,
3591
0
      OPC_EmitMergeInputChains1_0,
3592
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHMux), 0|OPFL_Chain|OPFL_MemRefs,
3593
0
                    4, 1, 3, 4, 5, 
3594
0
     12, 
3595
0
      OPC_CheckComplexPat3, /*#*/2,
3596
0
      OPC_EmitMergeInputChains1_0,
3597
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STH), 0|OPFL_Chain|OPFL_MemRefs,
3598
0
                    4, 1, 3, 4, 5, 
3599
0
     12, 
3600
0
      OPC_CheckComplexPat4, /*#*/2,
3601
0
      OPC_EmitMergeInputChains1_0,
3602
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHY), 0|OPFL_Chain|OPFL_MemRefs,
3603
0
                    4, 1, 3, 4, 5, 
3604
0
     13, 
3605
0
      OPC_CheckPatternPredicate2,
3606
0
      OPC_CheckComplexPat2, /*#*/2,
3607
0
      OPC_EmitMergeInputChains1_0,
3608
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHH), 0|OPFL_Chain|OPFL_MemRefs,
3609
0
                    4, 1, 3, 4, 5, 
3610
0
     0, 
3611
0
    0, 
3612
0
   49, 
3613
0
    OPC_CheckChild1Type, MVT::f32,
3614
0
    OPC_RecordChild2,
3615
0
    OPC_CheckChild2TypeI64,
3616
0
    OPC_CheckPredicate1, 
3617
0
    OPC_CheckPredicate, 10,
3618
0
    OPC_Scope, 13, 
3619
0
     OPC_CheckPatternPredicate0,
3620
0
     OPC_CheckComplexPat3, /*#*/2,
3621
0
     OPC_EmitMergeInputChains1_0,
3622
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST32), 0|OPFL_Chain|OPFL_MemRefs,
3623
0
                   4, 1, 3, 4, 5, 
3624
0
    12, 
3625
0
     OPC_CheckComplexPat3, /*#*/2,
3626
0
     OPC_EmitMergeInputChains1_0,
3627
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STE), 0|OPFL_Chain|OPFL_MemRefs,
3628
0
                   4, 1, 3, 4, 5, 
3629
0
    12, 
3630
0
     OPC_CheckComplexPat4, /*#*/2,
3631
0
     OPC_EmitMergeInputChains1_0,
3632
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STEY), 0|OPFL_Chain|OPFL_MemRefs,
3633
0
                   4, 1, 3, 4, 5, 
3634
0
    0, 
3635
0
   49, 
3636
0
    OPC_CheckChild1Type, MVT::f64,
3637
0
    OPC_RecordChild2,
3638
0
    OPC_CheckChild2TypeI64,
3639
0
    OPC_CheckPredicate1, 
3640
0
    OPC_CheckPredicate, 10,
3641
0
    OPC_Scope, 13, 
3642
0
     OPC_CheckPatternPredicate0,
3643
0
     OPC_CheckComplexPat3, /*#*/2,
3644
0
     OPC_EmitMergeInputChains1_0,
3645
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST64), 0|OPFL_Chain|OPFL_MemRefs,
3646
0
                   4, 1, 3, 4, 5, 
3647
0
    12, 
3648
0
     OPC_CheckComplexPat3, /*#*/2,
3649
0
     OPC_EmitMergeInputChains1_0,
3650
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STD), 0|OPFL_Chain|OPFL_MemRefs,
3651
0
                   4, 1, 3, 4, 5, 
3652
0
    12, 
3653
0
     OPC_CheckComplexPat4, /*#*/2,
3654
0
     OPC_EmitMergeInputChains1_0,
3655
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STDY), 0|OPFL_Chain|OPFL_MemRefs,
3656
0
                   4, 1, 3, 4, 5, 
3657
0
    0, 
3658
0
   20, 
3659
0
    OPC_CheckChild1Type, MVT::v16i8,
3660
0
    OPC_RecordChild2,
3661
0
    OPC_CheckChild2TypeI64,
3662
0
    OPC_CheckPredicate1, 
3663
0
    OPC_CheckPredicate, 10,
3664
0
    OPC_CheckPatternPredicate0,
3665
0
    OPC_CheckComplexPat1, /*#*/2,
3666
0
    OPC_EmitMergeInputChains1_0,
3667
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3668
0
                  4, 1, 3, 4, 5, 
3669
0
   20, 
3670
0
    OPC_CheckChild1Type, MVT::v8i16,
3671
0
    OPC_RecordChild2,
3672
0
    OPC_CheckChild2TypeI64,
3673
0
    OPC_CheckPredicate1, 
3674
0
    OPC_CheckPredicate, 10,
3675
0
    OPC_CheckPatternPredicate0,
3676
0
    OPC_CheckComplexPat1, /*#*/2,
3677
0
    OPC_EmitMergeInputChains1_0,
3678
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3679
0
                  4, 1, 3, 4, 5, 
3680
0
   20, 
3681
0
    OPC_CheckChild1Type, MVT::v4i32,
3682
0
    OPC_RecordChild2,
3683
0
    OPC_CheckChild2TypeI64,
3684
0
    OPC_CheckPredicate1, 
3685
0
    OPC_CheckPredicate, 10,
3686
0
    OPC_CheckPatternPredicate0,
3687
0
    OPC_CheckComplexPat1, /*#*/2,
3688
0
    OPC_EmitMergeInputChains1_0,
3689
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3690
0
                  4, 1, 3, 4, 5, 
3691
0
   20, 
3692
0
    OPC_CheckChild1Type, MVT::v2i64,
3693
0
    OPC_RecordChild2,
3694
0
    OPC_CheckChild2TypeI64,
3695
0
    OPC_CheckPredicate1, 
3696
0
    OPC_CheckPredicate, 10,
3697
0
    OPC_CheckPatternPredicate0,
3698
0
    OPC_CheckComplexPat1, /*#*/2,
3699
0
    OPC_EmitMergeInputChains1_0,
3700
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3701
0
                  4, 1, 3, 4, 5, 
3702
0
   20, 
3703
0
    OPC_CheckChild1Type, MVT::v4f32,
3704
0
    OPC_RecordChild2,
3705
0
    OPC_CheckChild2TypeI64,
3706
0
    OPC_CheckPredicate1, 
3707
0
    OPC_CheckPredicate, 10,
3708
0
    OPC_CheckPatternPredicate0,
3709
0
    OPC_CheckComplexPat1, /*#*/2,
3710
0
    OPC_EmitMergeInputChains1_0,
3711
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3712
0
                  4, 1, 3, 4, 5, 
3713
0
   20, 
3714
0
    OPC_CheckChild1Type, MVT::v2f64,
3715
0
    OPC_RecordChild2,
3716
0
    OPC_CheckChild2TypeI64,
3717
0
    OPC_CheckPredicate1, 
3718
0
    OPC_CheckPredicate, 10,
3719
0
    OPC_CheckPatternPredicate0,
3720
0
    OPC_CheckComplexPat1, /*#*/2,
3721
0
    OPC_EmitMergeInputChains1_0,
3722
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3723
0
                  4, 1, 3, 4, 5, 
3724
0
   104, 
3725
0
    OPC_CheckChild1Type, MVT::i128,
3726
0
    OPC_RecordChild2,
3727
0
    OPC_CheckChild2TypeI64,
3728
0
    OPC_CheckPredicate1, 
3729
0
    OPC_Scope, 15, 
3730
0
     OPC_CheckPredicate, 10,
3731
0
     OPC_CheckPatternPredicate0,
3732
0
     OPC_CheckComplexPat1, /*#*/2,
3733
0
     OPC_EmitMergeInputChains1_0,
3734
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3735
0
                   4, 1, 3, 4, 5, 
3736
0
    80, 
3737
0
     OPC_CheckPredicate, 11,
3738
0
     OPC_Scope, 18, 
3739
0
      OPC_CheckPredicate, 19,
3740
0
      OPC_CheckPatternPredicate0,
3741
0
      OPC_CheckComplexPat1, /*#*/2,
3742
0
      OPC_EmitMergeInputChains1_0,
3743
0
      OPC_EmitInteger32, 30, 
3744
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEB), 0|OPFL_Chain|OPFL_MemRefs,
3745
0
                    5, 1, 3, 4, 5, 6, 
3746
0
     18, 
3747
0
      OPC_CheckPredicate, 22,
3748
0
      OPC_CheckPatternPredicate0,
3749
0
      OPC_CheckComplexPat1, /*#*/2,
3750
0
      OPC_EmitMergeInputChains1_0,
3751
0
      OPC_EmitInteger32, 14, 
3752
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEH), 0|OPFL_Chain|OPFL_MemRefs,
3753
0
                    5, 1, 3, 4, 5, 6, 
3754
0
     18, 
3755
0
      OPC_CheckPredicate, 34,
3756
0
      OPC_CheckPatternPredicate0,
3757
0
      OPC_CheckComplexPat1, /*#*/2,
3758
0
      OPC_EmitMergeInputChains1_0,
3759
0
      OPC_EmitInteger32, 6, 
3760
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3761
0
                    5, 1, 3, 4, 5, 6, 
3762
0
     18, 
3763
0
      OPC_CheckPredicate, 67,
3764
0
      OPC_CheckPatternPredicate0,
3765
0
      OPC_CheckComplexPat1, /*#*/2,
3766
0
      OPC_EmitMergeInputChains1_0,
3767
0
      OPC_EmitInteger32, 2, 
3768
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEG), 0|OPFL_Chain|OPFL_MemRefs,
3769
0
                    5, 1, 3, 4, 5, 6, 
3770
0
     0, 
3771
0
    0, 
3772
0
   37, 
3773
0
    OPC_CheckChild1Type, MVT::f128,
3774
0
    OPC_RecordChild2,
3775
0
    OPC_CheckChild2TypeI64,
3776
0
    OPC_CheckPredicate1, 
3777
0
    OPC_CheckPredicate, 10,
3778
0
    OPC_Scope, 13, 
3779
0
     OPC_CheckPatternPredicate1,
3780
0
     OPC_CheckComplexPat1, /*#*/2,
3781
0
     OPC_EmitMergeInputChains1_0,
3782
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3783
0
                   4, 1, 3, 4, 5, 
3784
0
    13, 
3785
0
     OPC_CheckComplexPat, /*CP*/15, /*#*/2,
3786
0
     OPC_EmitMergeInputChains1_0,
3787
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STX), 0|OPFL_Chain|OPFL_MemRefs,
3788
0
                   4, 1, 3, 4, 5, 
3789
0
    0, 
3790
0
   27|128,1, 
3791
0
    OPC_CheckChild1TypeI64,
3792
0
    OPC_RecordChild2,
3793
0
    OPC_CheckChild2TypeI64,
3794
0
    OPC_CheckPredicate1, 
3795
0
    OPC_CheckPredicate, 11,
3796
0
    OPC_Scope, 48, 
3797
0
     OPC_CheckPredicate, 19,
3798
0
     OPC_Scope, 21, 
3799
0
      OPC_CheckComplexPat3, /*#*/2,
3800
0
      OPC_EmitMergeInputChains1_0,
3801
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
3802
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3803
0
                    MVT::i32, 2, 1, 6, 
3804
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STC), 0|OPFL_Chain|OPFL_MemRefs,
3805
0
                    4, 7, 3, 4, 5, 
3806
0
     21, 
3807
0
      OPC_CheckComplexPat4, /*#*/2,
3808
0
      OPC_EmitMergeInputChains1_0,
3809
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
3810
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3811
0
                    MVT::i32, 2, 1, 6, 
3812
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STCY), 0|OPFL_Chain|OPFL_MemRefs,
3813
0
                    4, 7, 3, 4, 5, 
3814
0
     0, 
3815
0
    48, 
3816
0
     OPC_CheckPredicate, 22,
3817
0
     OPC_Scope, 21, 
3818
0
      OPC_CheckComplexPat3, /*#*/2,
3819
0
      OPC_EmitMergeInputChains1_0,
3820
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
3821
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3822
0
                    MVT::i32, 2, 1, 6, 
3823
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STH), 0|OPFL_Chain|OPFL_MemRefs,
3824
0
                    4, 7, 3, 4, 5, 
3825
0
     21, 
3826
0
      OPC_CheckComplexPat4, /*#*/2,
3827
0
      OPC_EmitMergeInputChains1_0,
3828
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
3829
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3830
0
                    MVT::i32, 2, 1, 6, 
3831
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHY), 0|OPFL_Chain|OPFL_MemRefs,
3832
0
                    4, 7, 3, 4, 5, 
3833
0
     0, 
3834
0
    48, 
3835
0
     OPC_CheckPredicate, 34,
3836
0
     OPC_Scope, 21, 
3837
0
      OPC_CheckComplexPat3, /*#*/2,
3838
0
      OPC_EmitMergeInputChains1_0,
3839
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
3840
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3841
0
                    MVT::i32, 2, 1, 6, 
3842
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ST), 0|OPFL_Chain|OPFL_MemRefs,
3843
0
                    4, 7, 3, 4, 5, 
3844
0
     21, 
3845
0
      OPC_CheckComplexPat4, /*#*/2,
3846
0
      OPC_EmitMergeInputChains1_0,
3847
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
3848
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3849
0
                    MVT::i32, 2, 1, 6, 
3850
0
      OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STY), 0|OPFL_Chain|OPFL_MemRefs,
3851
0
                    4, 7, 3, 4, 5, 
3852
0
     0, 
3853
0
    0, 
3854
0
   0, 
3855
0
  0, 
3856
0
 86|128,9, TARGET_VAL(ISD::LOAD),
3857
0
  OPC_RecordMemRef,
3858
0
  OPC_RecordNode,
3859
0
  OPC_Scope, 24, 
3860
0
   OPC_MoveChild1,
3861
0
   OPC_CheckOpcode, TARGET_VAL(SystemZISD::ADA_ENTRY),
3862
0
   OPC_RecordChild0,
3863
0
   OPC_RecordChild1,
3864
0
   OPC_RecordChild2,
3865
0
   OPC_MoveParent,
3866
0
   OPC_CheckPredicate0, 
3867
0
   OPC_CheckPredicate2, 
3868
0
   OPC_CheckTypeI64,
3869
0
   OPC_CheckPatternPredicate, 12,
3870
0
   OPC_EmitMergeInputChains1_0,
3871
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADA_ENTRY_VALUE), 0|OPFL_Chain|OPFL_MemRefs,
3872
0
                 MVT::i64, MVT::i32, 3, 1, 2, 3, 
3873
0
  55|128,9, 
3874
0
   OPC_RecordChild1,
3875
0
   OPC_CheckChild1TypeI64,
3876
0
   OPC_CheckPredicate0, 
3877
0
   OPC_Scope, 29, 
3878
0
    OPC_CheckPredicate2, 
3879
0
    OPC_CheckPredicate, 16,
3880
0
    OPC_SwitchType , 10, MVT::i32,
3881
0
     OPC_CheckComplexPat7, /*#*/1,
3882
0
     OPC_EmitMergeInputChains1_0,
3883
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRL), 0|OPFL_Chain|OPFL_MemRefs,
3884
0
                   MVT::i32, 1, 2, 
3885
0
    10, MVT::i64,
3886
0
     OPC_CheckComplexPat7, /*#*/1,
3887
0
     OPC_EmitMergeInputChains1_0,
3888
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGRL), 0|OPFL_Chain|OPFL_MemRefs,
3889
0
                   MVT::i64, 1, 2, 
3890
0
    0,
3891
0
   50, 
3892
0
    OPC_CheckPredicate, 14,
3893
0
    OPC_Scope, 29, 
3894
0
     OPC_CheckPredicate5, 
3895
0
     OPC_CheckPredicate, 16,
3896
0
     OPC_SwitchType , 10, MVT::i32,
3897
0
      OPC_CheckComplexPat7, /*#*/1,
3898
0
      OPC_EmitMergeInputChains1_0,
3899
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHRL), 0|OPFL_Chain|OPFL_MemRefs,
3900
0
                    MVT::i32, 1, 2, 
3901
0
     10, MVT::i64,
3902
0
      OPC_CheckComplexPat7, /*#*/1,
3903
0
      OPC_EmitMergeInputChains1_0,
3904
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGHRL), 0|OPFL_Chain|OPFL_MemRefs,
3905
0
                    MVT::i64, 1, 2, 
3906
0
     0,
3907
0
    15, 
3908
0
     OPC_CheckPredicate, 9,
3909
0
     OPC_CheckPredicate, 16,
3910
0
     OPC_CheckTypeI64,
3911
0
     OPC_CheckComplexPat7, /*#*/1,
3912
0
     OPC_EmitMergeInputChains1_0,
3913
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGFRL), 0|OPFL_Chain|OPFL_MemRefs,
3914
0
                   MVT::i64, 1, 2, 
3915
0
    0, 
3916
0
   50, 
3917
0
    OPC_CheckPredicate, 12,
3918
0
    OPC_Scope, 29, 
3919
0
     OPC_CheckPredicate5, 
3920
0
     OPC_CheckPredicate, 16,
3921
0
     OPC_SwitchType , 10, MVT::i32,
3922
0
      OPC_CheckComplexPat7, /*#*/1,
3923
0
      OPC_EmitMergeInputChains1_0,
3924
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHRL), 0|OPFL_Chain|OPFL_MemRefs,
3925
0
                    MVT::i32, 1, 2, 
3926
0
     10, MVT::i64,
3927
0
      OPC_CheckComplexPat7, /*#*/1,
3928
0
      OPC_EmitMergeInputChains1_0,
3929
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGHRL), 0|OPFL_Chain|OPFL_MemRefs,
3930
0
                    MVT::i64, 1, 2, 
3931
0
     0,
3932
0
    15, 
3933
0
     OPC_CheckPredicate, 9,
3934
0
     OPC_CheckPredicate, 16,
3935
0
     OPC_CheckTypeI64,
3936
0
     OPC_CheckComplexPat7, /*#*/1,
3937
0
     OPC_EmitMergeInputChains1_0,
3938
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGFRL), 0|OPFL_Chain|OPFL_MemRefs,
3939
0
                   MVT::i64, 1, 2, 
3940
0
    0, 
3941
0
   118, 
3942
0
    OPC_CheckPredicate2, 
3943
0
    OPC_SwitchType , 70, MVT::i32,
3944
0
     OPC_Scope, 13, 
3945
0
      OPC_CheckPatternPredicate2,
3946
0
      OPC_CheckComplexPat2, /*#*/1,
3947
0
      OPC_EmitMergeInputChains1_0,
3948
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LMux), 0|OPFL_Chain|OPFL_MemRefs,
3949
0
                    MVT::i32, 3, 2, 3, 4, 
3950
0
     12, 
3951
0
      OPC_CheckComplexPat3, /*#*/1,
3952
0
      OPC_EmitMergeInputChains1_0,
3953
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::L), 0|OPFL_Chain|OPFL_MemRefs,
3954
0
                    MVT::i32, 3, 2, 3, 4, 
3955
0
     12, 
3956
0
      OPC_CheckComplexPat4, /*#*/1,
3957
0
      OPC_EmitMergeInputChains1_0,
3958
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LY), 0|OPFL_Chain|OPFL_MemRefs,
3959
0
                    MVT::i32, 3, 2, 3, 4, 
3960
0
     13, 
3961
0
      OPC_CheckPatternPredicate2,
3962
0
      OPC_CheckComplexPat2, /*#*/1,
3963
0
      OPC_EmitMergeInputChains1_0,
3964
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LFH), 0|OPFL_Chain|OPFL_MemRefs,
3965
0
                    MVT::i32, 3, 2, 3, 4, 
3966
0
     13, 
3967
0
      OPC_CheckComplexPat2, /*#*/1,
3968
0
      OPC_EmitMergeInputChains1_0,
3969
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LT), 0|OPFL_Chain|OPFL_MemRefs,
3970
0
                    MVT::i32, MVT::i32, 3, 2, 3, 4, 
3971
0
     0, 
3972
0
    26, MVT::i64,
3973
0
     OPC_CheckComplexPat2, /*#*/1,
3974
0
     OPC_EmitMergeInputChains1_0,
3975
0
     OPC_Scope, 9, 
3976
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LG), 0|OPFL_Chain|OPFL_MemRefs,
3977
0
                    MVT::i64, 3, 2, 3, 4, 
3978
0
     10, 
3979
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LTG), 0|OPFL_Chain|OPFL_MemRefs,
3980
0
                    MVT::i64, MVT::i32, 3, 2, 3, 4, 
3981
0
     0, 
3982
0
    13, MVT::Untyped,
3983
0
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
3984
0
     OPC_EmitMergeInputChains1_0,
3985
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::L128), 0|OPFL_Chain|OPFL_MemRefs,
3986
0
                   MVT::Untyped, 3, 2, 3, 4, 
3987
0
    0,
3988
0
   44|128,1, 
3989
0
    OPC_CheckPredicate, 14,
3990
0
    OPC_SwitchType , 105, MVT::i32,
3991
0
     OPC_Scope, 44, 
3992
0
      OPC_CheckPredicate6, 
3993
0
      OPC_Scope, 13, 
3994
0
       OPC_CheckPatternPredicate2,
3995
0
       OPC_CheckComplexPat2, /*#*/1,
3996
0
       OPC_EmitMergeInputChains1_0,
3997
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LBMux), 0|OPFL_Chain|OPFL_MemRefs,
3998
0
                     MVT::i32, 3, 2, 3, 4, 
3999
0
      12, 
4000
0
       OPC_CheckComplexPat2, /*#*/1,
4001
0
       OPC_EmitMergeInputChains1_0,
4002
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LB), 0|OPFL_Chain|OPFL_MemRefs,
4003
0
                     MVT::i32, 3, 2, 3, 4, 
4004
0
      13, 
4005
0
       OPC_CheckPatternPredicate2,
4006
0
       OPC_CheckComplexPat2, /*#*/1,
4007
0
       OPC_EmitMergeInputChains1_0,
4008
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LBH), 0|OPFL_Chain|OPFL_MemRefs,
4009
0
                     MVT::i32, 3, 2, 3, 4, 
4010
0
      0, 
4011
0
     57, 
4012
0
      OPC_CheckPredicate5, 
4013
0
      OPC_Scope, 13, 
4014
0
       OPC_CheckPatternPredicate2,
4015
0
       OPC_CheckComplexPat2, /*#*/1,
4016
0
       OPC_EmitMergeInputChains1_0,
4017
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHMux), 0|OPFL_Chain|OPFL_MemRefs,
4018
0
                     MVT::i32, 3, 2, 3, 4, 
4019
0
      12, 
4020
0
       OPC_CheckComplexPat3, /*#*/1,
4021
0
       OPC_EmitMergeInputChains1_0,
4022
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LH), 0|OPFL_Chain|OPFL_MemRefs,
4023
0
                     MVT::i32, 3, 2, 3, 4, 
4024
0
      12, 
4025
0
       OPC_CheckComplexPat4, /*#*/1,
4026
0
       OPC_EmitMergeInputChains1_0,
4027
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHY), 0|OPFL_Chain|OPFL_MemRefs,
4028
0
                     MVT::i32, 3, 2, 3, 4, 
4029
0
      13, 
4030
0
       OPC_CheckPatternPredicate2,
4031
0
       OPC_CheckComplexPat2, /*#*/1,
4032
0
       OPC_EmitMergeInputChains1_0,
4033
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHH), 0|OPFL_Chain|OPFL_MemRefs,
4034
0
                     MVT::i32, 3, 2, 3, 4, 
4035
0
      0, 
4036
0
     0, 
4037
0
    59, MVT::i64,
4038
0
     OPC_Scope, 13, 
4039
0
      OPC_CheckPredicate6, 
4040
0
      OPC_CheckComplexPat2, /*#*/1,
4041
0
      OPC_EmitMergeInputChains1_0,
4042
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGB), 0|OPFL_Chain|OPFL_MemRefs,
4043
0
                    MVT::i64, 3, 2, 3, 4, 
4044
0
     13, 
4045
0
      OPC_CheckPredicate5, 
4046
0
      OPC_CheckComplexPat2, /*#*/1,
4047
0
      OPC_EmitMergeInputChains1_0,
4048
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGH), 0|OPFL_Chain|OPFL_MemRefs,
4049
0
                    MVT::i64, 3, 2, 3, 4, 
4050
0
     28, 
4051
0
      OPC_CheckPredicate, 9,
4052
0
      OPC_CheckComplexPat2, /*#*/1,
4053
0
      OPC_EmitMergeInputChains1_0,
4054
0
      OPC_Scope, 9, 
4055
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGF), 0|OPFL_Chain|OPFL_MemRefs,
4056
0
                     MVT::i64, 3, 2, 3, 4, 
4057
0
      10, 
4058
0
       OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LTGF), 0|OPFL_Chain|OPFL_MemRefs,
4059
0
                     MVT::i64, MVT::i32, 3, 2, 3, 4, 
4060
0
      0, 
4061
0
     0, 
4062
0
    0,
4063
0
   17|128,1, 
4064
0
    OPC_CheckPredicate, 12,
4065
0
    OPC_SwitchType , 92, MVT::i32,
4066
0
     OPC_Scope, 44, 
4067
0
      OPC_CheckPredicate6, 
4068
0
      OPC_Scope, 13, 
4069
0
       OPC_CheckPatternPredicate2,
4070
0
       OPC_CheckComplexPat2, /*#*/1,
4071
0
       OPC_EmitMergeInputChains1_0,
4072
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLCMux), 0|OPFL_Chain|OPFL_MemRefs,
4073
0
                     MVT::i32, 3, 2, 3, 4, 
4074
0
      12, 
4075
0
       OPC_CheckComplexPat2, /*#*/1,
4076
0
       OPC_EmitMergeInputChains1_0,
4077
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLC), 0|OPFL_Chain|OPFL_MemRefs,
4078
0
                     MVT::i32, 3, 2, 3, 4, 
4079
0
      13, 
4080
0
       OPC_CheckPatternPredicate2,
4081
0
       OPC_CheckComplexPat2, /*#*/1,
4082
0
       OPC_EmitMergeInputChains1_0,
4083
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLCH), 0|OPFL_Chain|OPFL_MemRefs,
4084
0
                     MVT::i32, 3, 2, 3, 4, 
4085
0
      0, 
4086
0
     44, 
4087
0
      OPC_CheckPredicate5, 
4088
0
      OPC_Scope, 13, 
4089
0
       OPC_CheckPatternPredicate2,
4090
0
       OPC_CheckComplexPat2, /*#*/1,
4091
0
       OPC_EmitMergeInputChains1_0,
4092
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHMux), 0|OPFL_Chain|OPFL_MemRefs,
4093
0
                     MVT::i32, 3, 2, 3, 4, 
4094
0
      12, 
4095
0
       OPC_CheckComplexPat2, /*#*/1,
4096
0
       OPC_EmitMergeInputChains1_0,
4097
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLH), 0|OPFL_Chain|OPFL_MemRefs,
4098
0
                     MVT::i32, 3, 2, 3, 4, 
4099
0
      13, 
4100
0
       OPC_CheckPatternPredicate2,
4101
0
       OPC_CheckComplexPat2, /*#*/1,
4102
0
       OPC_EmitMergeInputChains1_0,
4103
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHH), 0|OPFL_Chain|OPFL_MemRefs,
4104
0
                     MVT::i32, 3, 2, 3, 4, 
4105
0
      0, 
4106
0
     0, 
4107
0
    45, MVT::i64,
4108
0
     OPC_Scope, 13, 
4109
0
      OPC_CheckPredicate6, 
4110
0
      OPC_CheckComplexPat2, /*#*/1,
4111
0
      OPC_EmitMergeInputChains1_0,
4112
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGC), 0|OPFL_Chain|OPFL_MemRefs,
4113
0
                    MVT::i64, 3, 2, 3, 4, 
4114
0
     13, 
4115
0
      OPC_CheckPredicate5, 
4116
0
      OPC_CheckComplexPat2, /*#*/1,
4117
0
      OPC_EmitMergeInputChains1_0,
4118
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGH), 0|OPFL_Chain|OPFL_MemRefs,
4119
0
                    MVT::i64, 3, 2, 3, 4, 
4120
0
     14, 
4121
0
      OPC_CheckPredicate, 9,
4122
0
      OPC_CheckComplexPat2, /*#*/1,
4123
0
      OPC_EmitMergeInputChains1_0,
4124
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGF), 0|OPFL_Chain|OPFL_MemRefs,
4125
0
                    MVT::i64, 3, 2, 3, 4, 
4126
0
     0, 
4127
0
    0,
4128
0
   16, 
4129
0
    OPC_CheckPredicate2, 
4130
0
    OPC_CheckType, MVT::i128,
4131
0
    OPC_CheckPatternPredicate0,
4132
0
    OPC_CheckComplexPat1, /*#*/1,
4133
0
    OPC_EmitMergeInputChains1_0,
4134
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4135
0
                  MVT::i128, 3, 2, 3, 4, 
4136
0
   70, 
4137
0
    OPC_CheckPredicate, 24,
4138
0
    OPC_CheckType, MVT::i128,
4139
0
    OPC_Scope, 15, 
4140
0
     OPC_CheckPredicate, 64,
4141
0
     OPC_CheckPatternPredicate0,
4142
0
     OPC_CheckComplexPat1, /*#*/1,
4143
0
     OPC_EmitMergeInputChains1_0,
4144
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
4145
0
                   MVT::i128, 3, 2, 3, 4, 
4146
0
    15, 
4147
0
     OPC_CheckPredicate, 62,
4148
0
     OPC_CheckPatternPredicate0,
4149
0
     OPC_CheckComplexPat1, /*#*/1,
4150
0
     OPC_EmitMergeInputChains1_0,
4151
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
4152
0
                   MVT::i128, 3, 2, 3, 4, 
4153
0
    15, 
4154
0
     OPC_CheckPredicate, 43,
4155
0
     OPC_CheckPatternPredicate0,
4156
0
     OPC_CheckComplexPat1, /*#*/1,
4157
0
     OPC_EmitMergeInputChains1_0,
4158
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
4159
0
                   MVT::i128, 3, 2, 3, 4, 
4160
0
    15, 
4161
0
     OPC_CheckPredicate, 45,
4162
0
     OPC_CheckPatternPredicate0,
4163
0
     OPC_CheckComplexPat1, /*#*/1,
4164
0
     OPC_EmitMergeInputChains1_0,
4165
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
4166
0
                   MVT::i128, 3, 2, 3, 4, 
4167
0
    0, 
4168
0
   118, 
4169
0
    OPC_CheckPredicate, 78,
4170
0
    OPC_CheckType, MVT::i128,
4171
0
    OPC_Scope, 27, 
4172
0
     OPC_CheckPredicate, 64,
4173
0
     OPC_CheckPatternPredicate0,
4174
0
     OPC_CheckComplexPat1, /*#*/1,
4175
0
     OPC_EmitMergeInputChains1_0,
4176
0
     OPC_EmitInteger32, 0, 
4177
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4178
0
                   MVT::i128, 1, 5, 
4179
0
     OPC_EmitInteger32, 30, 
4180
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEB), 0|OPFL_Chain|OPFL_MemRefs,
4181
0
                   MVT::i128, 5, 6, 2, 3, 4, 7, 
4182
0
    27, 
4183
0
     OPC_CheckPredicate, 62,
4184
0
     OPC_CheckPatternPredicate0,
4185
0
     OPC_CheckComplexPat1, /*#*/1,
4186
0
     OPC_EmitMergeInputChains1_0,
4187
0
     OPC_EmitInteger32, 0, 
4188
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4189
0
                   MVT::i128, 1, 5, 
4190
0
     OPC_EmitInteger32, 14, 
4191
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEH), 0|OPFL_Chain|OPFL_MemRefs,
4192
0
                   MVT::i128, 5, 6, 2, 3, 4, 7, 
4193
0
    27, 
4194
0
     OPC_CheckPredicate, 43,
4195
0
     OPC_CheckPatternPredicate0,
4196
0
     OPC_CheckComplexPat1, /*#*/1,
4197
0
     OPC_EmitMergeInputChains1_0,
4198
0
     OPC_EmitInteger32, 0, 
4199
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4200
0
                   MVT::i128, 1, 5, 
4201
0
     OPC_EmitInteger32, 6, 
4202
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
4203
0
                   MVT::i128, 5, 6, 2, 3, 4, 7, 
4204
0
    27, 
4205
0
     OPC_CheckPredicate, 45,
4206
0
     OPC_CheckPatternPredicate0,
4207
0
     OPC_CheckComplexPat1, /*#*/1,
4208
0
     OPC_EmitMergeInputChains1_0,
4209
0
     OPC_EmitInteger32, 0, 
4210
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4211
0
                   MVT::i128, 1, 5, 
4212
0
     OPC_EmitInteger32, 2, 
4213
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
4214
0
                   MVT::i128, 5, 6, 2, 3, 4, 7, 
4215
0
    0, 
4216
0
   18|128,1, 
4217
0
    OPC_CheckPredicate, 76,
4218
0
    OPC_CheckType, MVT::i128,
4219
0
    OPC_Scope, 34, 
4220
0
     OPC_CheckPredicate, 64,
4221
0
     OPC_CheckPatternPredicate0,
4222
0
     OPC_CheckComplexPat1, /*#*/1,
4223
0
     OPC_EmitMergeInputChains1_0,
4224
0
     OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
4225
0
                   MVT::i128, 3, 2, 3, 4, 
4226
0
     OPC_EmitInteger32, 112|128,1, 
4227
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4228
0
                   MVT::i128, 1, 6, 
4229
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4230
0
                   MVT::i128, 2, 5, 7, 
4231
0
     OPC_CompleteMatch, 1, 8, 
4232
4233
0
    34, 
4234
0
     OPC_CheckPredicate, 62,
4235
0
     OPC_CheckPatternPredicate0,
4236
0
     OPC_CheckComplexPat1, /*#*/1,
4237
0
     OPC_EmitMergeInputChains1_0,
4238
0
     OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
4239
0
                   MVT::i128, 3, 2, 3, 4, 
4240
0
     OPC_EmitInteger32, 96|128,1, 
4241
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4242
0
                   MVT::i128, 1, 6, 
4243
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4244
0
                   MVT::i128, 2, 5, 7, 
4245
0
     OPC_CompleteMatch, 1, 8, 
4246
4247
0
    34, 
4248
0
     OPC_CheckPredicate, 43,
4249
0
     OPC_CheckPatternPredicate0,
4250
0
     OPC_CheckComplexPat1, /*#*/1,
4251
0
     OPC_EmitMergeInputChains1_0,
4252
0
     OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
4253
0
                   MVT::i128, 3, 2, 3, 4, 
4254
0
     OPC_EmitInteger32, 64|128,1, 
4255
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4256
0
                   MVT::i128, 1, 6, 
4257
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4258
0
                   MVT::i128, 2, 5, 7, 
4259
0
     OPC_CompleteMatch, 1, 8, 
4260
4261
0
    34, 
4262
0
     OPC_CheckPredicate, 45,
4263
0
     OPC_CheckPatternPredicate0,
4264
0
     OPC_CheckComplexPat1, /*#*/1,
4265
0
     OPC_EmitMergeInputChains1_0,
4266
0
     OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
4267
0
                   MVT::i128, 3, 2, 3, 4, 
4268
0
     OPC_EmitInteger32, 0|128,1, 
4269
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4270
0
                   MVT::i128, 1, 6, 
4271
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4272
0
                   MVT::i128, 2, 5, 7, 
4273
0
     OPC_CompleteMatch, 1, 8, 
4274
4275
0
    0, 
4276
0
   123, 
4277
0
    OPC_CheckPredicate2, 
4278
0
    OPC_SwitchType , 42, MVT::f32,
4279
0
     OPC_Scope, 13, 
4280
0
      OPC_CheckPatternPredicate0,
4281
0
      OPC_CheckComplexPat3, /*#*/1,
4282
0
      OPC_EmitMergeInputChains1_0,
4283
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL32), 0|OPFL_Chain|OPFL_MemRefs,
4284
0
                    MVT::f32, 3, 2, 3, 4, 
4285
0
     12, 
4286
0
      OPC_CheckComplexPat3, /*#*/1,
4287
0
      OPC_EmitMergeInputChains1_0,
4288
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LE), 0|OPFL_Chain|OPFL_MemRefs,
4289
0
                    MVT::f32, 3, 2, 3, 4, 
4290
0
     12, 
4291
0
      OPC_CheckComplexPat4, /*#*/1,
4292
0
      OPC_EmitMergeInputChains1_0,
4293
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LEY), 0|OPFL_Chain|OPFL_MemRefs,
4294
0
                    MVT::f32, 3, 2, 3, 4, 
4295
0
     0, 
4296
0
    42, MVT::f64,
4297
0
     OPC_Scope, 13, 
4298
0
      OPC_CheckPatternPredicate0,
4299
0
      OPC_CheckComplexPat3, /*#*/1,
4300
0
      OPC_EmitMergeInputChains1_0,
4301
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL64), 0|OPFL_Chain|OPFL_MemRefs,
4302
0
                    MVT::f64, 3, 2, 3, 4, 
4303
0
     12, 
4304
0
      OPC_CheckComplexPat3, /*#*/1,
4305
0
      OPC_EmitMergeInputChains1_0,
4306
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LD), 0|OPFL_Chain|OPFL_MemRefs,
4307
0
                    MVT::f64, 3, 2, 3, 4, 
4308
0
     12, 
4309
0
      OPC_CheckComplexPat4, /*#*/1,
4310
0
      OPC_EmitMergeInputChains1_0,
4311
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDY), 0|OPFL_Chain|OPFL_MemRefs,
4312
0
                    MVT::f64, 3, 2, 3, 4, 
4313
0
     0, 
4314
0
    30, MVT::f128,
4315
0
     OPC_Scope, 13, 
4316
0
      OPC_CheckPatternPredicate1,
4317
0
      OPC_CheckComplexPat1, /*#*/1,
4318
0
      OPC_EmitMergeInputChains1_0,
4319
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4320
0
                    MVT::f128, 3, 2, 3, 4, 
4321
0
     13, 
4322
0
      OPC_CheckComplexPat, /*CP*/15, /*#*/1,
4323
0
      OPC_EmitMergeInputChains1_0,
4324
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LX), 0|OPFL_Chain|OPFL_MemRefs,
4325
0
                    MVT::f128, 3, 2, 3, 4, 
4326
0
     0, 
4327
0
    0,
4328
0
   56, 
4329
0
    OPC_CheckPredicate, 24,
4330
0
    OPC_Scope, 33, 
4331
0
     OPC_CheckPredicate, 41,
4332
0
     OPC_SwitchType , 12, MVT::f64,
4333
0
      OPC_CheckComplexPat1, /*#*/1,
4334
0
      OPC_EmitMergeInputChains1_0,
4335
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDEB), 0|OPFL_Chain|OPFL_MemRefs,
4336
0
                    MVT::f64, 3, 2, 3, 4, 
4337
0
     13, MVT::f128,
4338
0
      OPC_CheckPatternPredicate5,
4339
0
      OPC_CheckComplexPat1, /*#*/1,
4340
0
      OPC_EmitMergeInputChains1_0,
4341
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXEB), 0|OPFL_Chain|OPFL_MemRefs,
4342
0
                    MVT::f128, 3, 2, 3, 4, 
4343
0
     0,
4344
0
    17, 
4345
0
     OPC_CheckPredicate, 42,
4346
0
     OPC_CheckType, MVT::f128,
4347
0
     OPC_CheckPatternPredicate5,
4348
0
     OPC_CheckComplexPat1, /*#*/1,
4349
0
     OPC_EmitMergeInputChains1_0,
4350
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXDB), 0|OPFL_Chain|OPFL_MemRefs,
4351
0
                   MVT::f128, 3, 2, 3, 4, 
4352
0
    0, 
4353
0
   93, 
4354
0
    OPC_CheckPredicate2, 
4355
0
    OPC_SwitchType , 13, MVT::v16i8,
4356
0
     OPC_CheckPatternPredicate0,
4357
0
     OPC_CheckComplexPat1, /*#*/1,
4358
0
     OPC_EmitMergeInputChains1_0,
4359
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4360
0
                   MVT::v16i8, 3, 2, 3, 4, 
4361
0
    13, MVT::v8i16,
4362
0
     OPC_CheckPatternPredicate0,
4363
0
     OPC_CheckComplexPat1, /*#*/1,
4364
0
     OPC_EmitMergeInputChains1_0,
4365
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4366
0
                   MVT::v8i16, 3, 2, 3, 4, 
4367
0
    13, MVT::v4i32,
4368
0
     OPC_CheckPatternPredicate0,
4369
0
     OPC_CheckComplexPat1, /*#*/1,
4370
0
     OPC_EmitMergeInputChains1_0,
4371
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4372
0
                   MVT::v4i32, 3, 2, 3, 4, 
4373
0
    13, MVT::v2i64,
4374
0
     OPC_CheckPatternPredicate0,
4375
0
     OPC_CheckComplexPat1, /*#*/1,
4376
0
     OPC_EmitMergeInputChains1_0,
4377
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4378
0
                   MVT::v2i64, 3, 2, 3, 4, 
4379
0
    13, MVT::v4f32,
4380
0
     OPC_CheckPatternPredicate0,
4381
0
     OPC_CheckComplexPat1, /*#*/1,
4382
0
     OPC_EmitMergeInputChains1_0,
4383
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4384
0
                   MVT::v4f32, 3, 2, 3, 4, 
4385
0
    13, MVT::v2f64,
4386
0
     OPC_CheckPatternPredicate0,
4387
0
     OPC_CheckComplexPat1, /*#*/1,
4388
0
     OPC_EmitMergeInputChains1_0,
4389
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4390
0
                   MVT::v2f64, 3, 2, 3, 4, 
4391
0
    0,
4392
0
   0, 
4393
0
  0, 
4394
0
 124|128,44, TARGET_VAL(ISD::OR),
4395
0
  OPC_Scope, 61|128,1, 
4396
0
   OPC_MoveChild0,
4397
0
   OPC_Scope, 92, 
4398
0
    OPC_CheckAndImm, 0|128,126|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1, 
4399
0
    OPC_RecordChild0,
4400
0
    OPC_MoveSibling1,
4401
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4402
0
    OPC_RecordMemRef,
4403
0
    OPC_RecordNode,
4404
0
    OPC_CheckFoldableChainNode,
4405
0
    OPC_RecordChild1,
4406
0
    OPC_CheckChild1TypeI64,
4407
0
    OPC_CheckPredicate0, 
4408
0
    OPC_CheckPredicate, 12,
4409
0
    OPC_CheckPredicate6, 
4410
0
    OPC_MoveParent,
4411
0
    OPC_SwitchType , 30, MVT::i32,
4412
0
     OPC_Scope, 13, 
4413
0
      OPC_CheckComplexPat3, /*#*/2,
4414
0
      OPC_EmitMergeInputChains1_1,
4415
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
4416
0
                    MVT::i32, 4, 0, 3, 4, 5, 
4417
0
     13, 
4418
0
      OPC_CheckComplexPat4, /*#*/2,
4419
0
      OPC_EmitMergeInputChains1_1,
4420
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
4421
0
                    MVT::i32, 4, 0, 3, 4, 5, 
4422
0
     0, 
4423
0
    30, MVT::i64,
4424
0
     OPC_Scope, 13, 
4425
0
      OPC_CheckComplexPat3, /*#*/2,
4426
0
      OPC_EmitMergeInputChains1_1,
4427
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
4428
0
                    MVT::i64, 4, 0, 3, 4, 5, 
4429
0
     13, 
4430
0
      OPC_CheckComplexPat4, /*#*/2,
4431
0
      OPC_EmitMergeInputChains1_1,
4432
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
4433
0
                    MVT::i64, 4, 0, 3, 4, 5, 
4434
0
     0, 
4435
0
    0,
4436
0
   92, 
4437
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4438
0
    OPC_RecordMemRef,
4439
0
    OPC_RecordNode,
4440
0
    OPC_CheckFoldableChainNode,
4441
0
    OPC_RecordChild1,
4442
0
    OPC_CheckChild1TypeI64,
4443
0
    OPC_CheckPredicate0, 
4444
0
    OPC_CheckPredicate, 12,
4445
0
    OPC_CheckPredicate6, 
4446
0
    OPC_MoveSibling1,
4447
0
    OPC_CheckAndImm, 0|128,126|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1, 
4448
0
    OPC_RecordChild0,
4449
0
    OPC_MoveParent,
4450
0
    OPC_SwitchType , 30, MVT::i32,
4451
0
     OPC_Scope, 13, 
4452
0
      OPC_CheckComplexPat3, /*#*/1,
4453
0
      OPC_EmitMergeInputChains1_0,
4454
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
4455
0
                    MVT::i32, 4, 2, 3, 4, 5, 
4456
0
     13, 
4457
0
      OPC_CheckComplexPat4, /*#*/1,
4458
0
      OPC_EmitMergeInputChains1_0,
4459
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
4460
0
                    MVT::i32, 4, 2, 3, 4, 5, 
4461
0
     0, 
4462
0
    30, MVT::i64,
4463
0
     OPC_Scope, 13, 
4464
0
      OPC_CheckComplexPat3, /*#*/1,
4465
0
      OPC_EmitMergeInputChains1_0,
4466
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
4467
0
                    MVT::i64, 4, 2, 3, 4, 5, 
4468
0
     13, 
4469
0
      OPC_CheckComplexPat4, /*#*/1,
4470
0
      OPC_EmitMergeInputChains1_0,
4471
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
4472
0
                    MVT::i64, 4, 2, 3, 4, 5, 
4473
0
     0, 
4474
0
    0,
4475
0
   0, 
4476
0
  31, 
4477
0
   OPC_RecordChild0,
4478
0
   OPC_MoveChild1,
4479
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4480
0
   OPC_RecordMemRef,
4481
0
   OPC_RecordNode,
4482
0
   OPC_CheckFoldableChainNode,
4483
0
   OPC_RecordChild1,
4484
0
   OPC_CheckChild1TypeI64,
4485
0
   OPC_CheckPredicate0, 
4486
0
   OPC_CheckPredicate, 12,
4487
0
   OPC_CheckPredicate6, 
4488
0
   OPC_MoveParent,
4489
0
   OPC_CheckPredicate, 37,
4490
0
   OPC_CheckTypeI32,
4491
0
   OPC_CheckComplexPat3, /*#*/2,
4492
0
   OPC_EmitMergeInputChains1_1,
4493
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
4494
0
                 MVT::i32, 4, 0, 3, 4, 5, 
4495
0
  31, 
4496
0
   OPC_MoveChild0,
4497
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4498
0
   OPC_RecordMemRef,
4499
0
   OPC_RecordNode,
4500
0
   OPC_CheckFoldableChainNode,
4501
0
   OPC_RecordChild1,
4502
0
   OPC_CheckChild1TypeI64,
4503
0
   OPC_CheckPredicate0, 
4504
0
   OPC_CheckPredicate, 12,
4505
0
   OPC_CheckPredicate6, 
4506
0
   OPC_MoveParent,
4507
0
   OPC_RecordChild1,
4508
0
   OPC_CheckPredicate, 36,
4509
0
   OPC_CheckTypeI32,
4510
0
   OPC_CheckComplexPat3, /*#*/1,
4511
0
   OPC_EmitMergeInputChains1_0,
4512
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
4513
0
                 MVT::i32, 4, 2, 3, 4, 5, 
4514
0
  31, 
4515
0
   OPC_RecordChild0,
4516
0
   OPC_MoveChild1,
4517
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4518
0
   OPC_RecordMemRef,
4519
0
   OPC_RecordNode,
4520
0
   OPC_CheckFoldableChainNode,
4521
0
   OPC_RecordChild1,
4522
0
   OPC_CheckChild1TypeI64,
4523
0
   OPC_CheckPredicate0, 
4524
0
   OPC_CheckPredicate, 12,
4525
0
   OPC_CheckPredicate6, 
4526
0
   OPC_MoveParent,
4527
0
   OPC_CheckPredicate, 37,
4528
0
   OPC_CheckTypeI32,
4529
0
   OPC_CheckComplexPat4, /*#*/2,
4530
0
   OPC_EmitMergeInputChains1_1,
4531
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
4532
0
                 MVT::i32, 4, 0, 3, 4, 5, 
4533
0
  31, 
4534
0
   OPC_MoveChild0,
4535
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4536
0
   OPC_RecordMemRef,
4537
0
   OPC_RecordNode,
4538
0
   OPC_CheckFoldableChainNode,
4539
0
   OPC_RecordChild1,
4540
0
   OPC_CheckChild1TypeI64,
4541
0
   OPC_CheckPredicate0, 
4542
0
   OPC_CheckPredicate, 12,
4543
0
   OPC_CheckPredicate6, 
4544
0
   OPC_MoveParent,
4545
0
   OPC_RecordChild1,
4546
0
   OPC_CheckPredicate, 36,
4547
0
   OPC_CheckTypeI32,
4548
0
   OPC_CheckComplexPat4, /*#*/1,
4549
0
   OPC_EmitMergeInputChains1_0,
4550
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
4551
0
                 MVT::i32, 4, 2, 3, 4, 5, 
4552
0
  31, 
4553
0
   OPC_RecordChild0,
4554
0
   OPC_MoveChild1,
4555
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4556
0
   OPC_RecordMemRef,
4557
0
   OPC_RecordNode,
4558
0
   OPC_CheckFoldableChainNode,
4559
0
   OPC_RecordChild1,
4560
0
   OPC_CheckChild1TypeI64,
4561
0
   OPC_CheckPredicate0, 
4562
0
   OPC_CheckPredicate, 12,
4563
0
   OPC_CheckPredicate6, 
4564
0
   OPC_MoveParent,
4565
0
   OPC_CheckPredicate, 37,
4566
0
   OPC_CheckTypeI64,
4567
0
   OPC_CheckComplexPat3, /*#*/2,
4568
0
   OPC_EmitMergeInputChains1_1,
4569
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
4570
0
                 MVT::i64, 4, 0, 3, 4, 5, 
4571
0
  31, 
4572
0
   OPC_MoveChild0,
4573
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4574
0
   OPC_RecordMemRef,
4575
0
   OPC_RecordNode,
4576
0
   OPC_CheckFoldableChainNode,
4577
0
   OPC_RecordChild1,
4578
0
   OPC_CheckChild1TypeI64,
4579
0
   OPC_CheckPredicate0, 
4580
0
   OPC_CheckPredicate, 12,
4581
0
   OPC_CheckPredicate6, 
4582
0
   OPC_MoveParent,
4583
0
   OPC_RecordChild1,
4584
0
   OPC_CheckPredicate, 36,
4585
0
   OPC_CheckTypeI64,
4586
0
   OPC_CheckComplexPat3, /*#*/1,
4587
0
   OPC_EmitMergeInputChains1_0,
4588
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
4589
0
                 MVT::i64, 4, 2, 3, 4, 5, 
4590
0
  31, 
4591
0
   OPC_RecordChild0,
4592
0
   OPC_MoveChild1,
4593
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4594
0
   OPC_RecordMemRef,
4595
0
   OPC_RecordNode,
4596
0
   OPC_CheckFoldableChainNode,
4597
0
   OPC_RecordChild1,
4598
0
   OPC_CheckChild1TypeI64,
4599
0
   OPC_CheckPredicate0, 
4600
0
   OPC_CheckPredicate, 12,
4601
0
   OPC_CheckPredicate6, 
4602
0
   OPC_MoveParent,
4603
0
   OPC_CheckPredicate, 37,
4604
0
   OPC_CheckTypeI64,
4605
0
   OPC_CheckComplexPat4, /*#*/2,
4606
0
   OPC_EmitMergeInputChains1_1,
4607
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
4608
0
                 MVT::i64, 4, 0, 3, 4, 5, 
4609
0
  51, 
4610
0
   OPC_MoveChild0,
4611
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4612
0
   OPC_RecordMemRef,
4613
0
   OPC_RecordNode,
4614
0
   OPC_CheckFoldableChainNode,
4615
0
   OPC_RecordChild1,
4616
0
   OPC_CheckChild1TypeI64,
4617
0
   OPC_CheckPredicate0, 
4618
0
   OPC_CheckPredicate, 12,
4619
0
   OPC_CheckPredicate6, 
4620
0
   OPC_MoveParent,
4621
0
   OPC_RecordChild1,
4622
0
   OPC_SwitchType , 15, MVT::i64,
4623
0
    OPC_CheckPredicate, 36,
4624
0
    OPC_CheckComplexPat4, /*#*/1,
4625
0
    OPC_EmitMergeInputChains1_0,
4626
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
4627
0
                  MVT::i64, 4, 2, 3, 4, 5, 
4628
0
   15, MVT::i32,
4629
0
    OPC_CheckPredicate, 37,
4630
0
    OPC_CheckComplexPat3, /*#*/1,
4631
0
    OPC_EmitMergeInputChains1_0,
4632
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
4633
0
                  MVT::i32, 4, 2, 3, 4, 5, 
4634
0
   0,
4635
0
  31, 
4636
0
   OPC_RecordChild0,
4637
0
   OPC_MoveChild1,
4638
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4639
0
   OPC_RecordMemRef,
4640
0
   OPC_RecordNode,
4641
0
   OPC_CheckFoldableChainNode,
4642
0
   OPC_RecordChild1,
4643
0
   OPC_CheckChild1TypeI64,
4644
0
   OPC_CheckPredicate0, 
4645
0
   OPC_CheckPredicate, 12,
4646
0
   OPC_CheckPredicate6, 
4647
0
   OPC_MoveParent,
4648
0
   OPC_CheckPredicate, 36,
4649
0
   OPC_CheckTypeI32,
4650
0
   OPC_CheckComplexPat3, /*#*/2,
4651
0
   OPC_EmitMergeInputChains1_1,
4652
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
4653
0
                 MVT::i32, 4, 0, 3, 4, 5, 
4654
0
  31, 
4655
0
   OPC_MoveChild0,
4656
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4657
0
   OPC_RecordMemRef,
4658
0
   OPC_RecordNode,
4659
0
   OPC_CheckFoldableChainNode,
4660
0
   OPC_RecordChild1,
4661
0
   OPC_CheckChild1TypeI64,
4662
0
   OPC_CheckPredicate0, 
4663
0
   OPC_CheckPredicate, 12,
4664
0
   OPC_CheckPredicate6, 
4665
0
   OPC_MoveParent,
4666
0
   OPC_RecordChild1,
4667
0
   OPC_CheckPredicate, 37,
4668
0
   OPC_CheckTypeI32,
4669
0
   OPC_CheckComplexPat4, /*#*/1,
4670
0
   OPC_EmitMergeInputChains1_0,
4671
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
4672
0
                 MVT::i32, 4, 2, 3, 4, 5, 
4673
0
  31, 
4674
0
   OPC_RecordChild0,
4675
0
   OPC_MoveChild1,
4676
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4677
0
   OPC_RecordMemRef,
4678
0
   OPC_RecordNode,
4679
0
   OPC_CheckFoldableChainNode,
4680
0
   OPC_RecordChild1,
4681
0
   OPC_CheckChild1TypeI64,
4682
0
   OPC_CheckPredicate0, 
4683
0
   OPC_CheckPredicate, 12,
4684
0
   OPC_CheckPredicate6, 
4685
0
   OPC_MoveParent,
4686
0
   OPC_CheckPredicate, 36,
4687
0
   OPC_CheckTypeI32,
4688
0
   OPC_CheckComplexPat4, /*#*/2,
4689
0
   OPC_EmitMergeInputChains1_1,
4690
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
4691
0
                 MVT::i32, 4, 0, 3, 4, 5, 
4692
0
  31, 
4693
0
   OPC_MoveChild0,
4694
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4695
0
   OPC_RecordMemRef,
4696
0
   OPC_RecordNode,
4697
0
   OPC_CheckFoldableChainNode,
4698
0
   OPC_RecordChild1,
4699
0
   OPC_CheckChild1TypeI64,
4700
0
   OPC_CheckPredicate0, 
4701
0
   OPC_CheckPredicate, 12,
4702
0
   OPC_CheckPredicate6, 
4703
0
   OPC_MoveParent,
4704
0
   OPC_RecordChild1,
4705
0
   OPC_CheckPredicate, 37,
4706
0
   OPC_CheckTypeI64,
4707
0
   OPC_CheckComplexPat3, /*#*/1,
4708
0
   OPC_EmitMergeInputChains1_0,
4709
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
4710
0
                 MVT::i64, 4, 2, 3, 4, 5, 
4711
0
  31, 
4712
0
   OPC_RecordChild0,
4713
0
   OPC_MoveChild1,
4714
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4715
0
   OPC_RecordMemRef,
4716
0
   OPC_RecordNode,
4717
0
   OPC_CheckFoldableChainNode,
4718
0
   OPC_RecordChild1,
4719
0
   OPC_CheckChild1TypeI64,
4720
0
   OPC_CheckPredicate0, 
4721
0
   OPC_CheckPredicate, 12,
4722
0
   OPC_CheckPredicate6, 
4723
0
   OPC_MoveParent,
4724
0
   OPC_CheckPredicate, 36,
4725
0
   OPC_CheckTypeI64,
4726
0
   OPC_CheckComplexPat3, /*#*/2,
4727
0
   OPC_EmitMergeInputChains1_1,
4728
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
4729
0
                 MVT::i64, 4, 0, 3, 4, 5, 
4730
0
  31, 
4731
0
   OPC_MoveChild0,
4732
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4733
0
   OPC_RecordMemRef,
4734
0
   OPC_RecordNode,
4735
0
   OPC_CheckFoldableChainNode,
4736
0
   OPC_RecordChild1,
4737
0
   OPC_CheckChild1TypeI64,
4738
0
   OPC_CheckPredicate0, 
4739
0
   OPC_CheckPredicate, 12,
4740
0
   OPC_CheckPredicate6, 
4741
0
   OPC_MoveParent,
4742
0
   OPC_RecordChild1,
4743
0
   OPC_CheckPredicate, 37,
4744
0
   OPC_CheckTypeI64,
4745
0
   OPC_CheckComplexPat4, /*#*/1,
4746
0
   OPC_EmitMergeInputChains1_0,
4747
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
4748
0
                 MVT::i64, 4, 2, 3, 4, 5, 
4749
0
  89, 
4750
0
   OPC_RecordChild0,
4751
0
   OPC_MoveChild1,
4752
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4753
0
   OPC_RecordMemRef,
4754
0
   OPC_RecordNode,
4755
0
   OPC_CheckFoldableChainNode,
4756
0
   OPC_RecordChild1,
4757
0
   OPC_CheckChild1TypeI64,
4758
0
   OPC_CheckPredicate0, 
4759
0
   OPC_Scope, 20, 
4760
0
    OPC_CheckPredicate, 12,
4761
0
    OPC_CheckPredicate6, 
4762
0
    OPC_MoveParent,
4763
0
    OPC_CheckPredicate, 36,
4764
0
    OPC_CheckTypeI64,
4765
0
    OPC_CheckComplexPat4, /*#*/2,
4766
0
    OPC_EmitMergeInputChains1_1,
4767
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
4768
0
                  MVT::i64, 4, 0, 3, 4, 5, 
4769
0
   54, 
4770
0
    OPC_CheckPredicate2, 
4771
0
    OPC_MoveParent,
4772
0
    OPC_SwitchType , 32, MVT::i32,
4773
0
     OPC_Scope, 14, 
4774
0
      OPC_CheckComplexPat3, /*#*/2,
4775
0
      OPC_EmitMergeInputChains1_1,
4776
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::O), 0|OPFL_Chain|OPFL_MemRefs,
4777
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
4778
0
     14, 
4779
0
      OPC_CheckComplexPat4, /*#*/2,
4780
0
      OPC_EmitMergeInputChains1_1,
4781
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OY), 0|OPFL_Chain|OPFL_MemRefs,
4782
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
4783
0
     0, 
4784
0
    14, MVT::i64,
4785
0
     OPC_CheckComplexPat2, /*#*/2,
4786
0
     OPC_EmitMergeInputChains1_1,
4787
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OG), 0|OPFL_Chain|OPFL_MemRefs,
4788
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
4789
0
    0,
4790
0
   0, 
4791
0
  89|128,5, 
4792
0
   OPC_MoveChild0,
4793
0
   OPC_Scope, 64, 
4794
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
4795
0
    OPC_RecordMemRef,
4796
0
    OPC_RecordNode,
4797
0
    OPC_CheckFoldableChainNode,
4798
0
    OPC_RecordChild1,
4799
0
    OPC_CheckChild1TypeI64,
4800
0
    OPC_CheckPredicate0, 
4801
0
    OPC_CheckPredicate2, 
4802
0
    OPC_MoveParent,
4803
0
    OPC_RecordChild1,
4804
0
    OPC_SwitchType , 32, MVT::i32,
4805
0
     OPC_Scope, 14, 
4806
0
      OPC_CheckComplexPat3, /*#*/1,
4807
0
      OPC_EmitMergeInputChains1_0,
4808
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::O), 0|OPFL_Chain|OPFL_MemRefs,
4809
0
                    MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
4810
0
     14, 
4811
0
      OPC_CheckComplexPat4, /*#*/1,
4812
0
      OPC_EmitMergeInputChains1_0,
4813
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OY), 0|OPFL_Chain|OPFL_MemRefs,
4814
0
                    MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
4815
0
     0, 
4816
0
    14, MVT::i64,
4817
0
     OPC_CheckComplexPat2, /*#*/1,
4818
0
     OPC_EmitMergeInputChains1_0,
4819
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OG), 0|OPFL_Chain|OPFL_MemRefs,
4820
0
                   MVT::i64, MVT::i32, 4, 2, 3, 4, 5, 
4821
0
    0,
4822
0
   77|128,1, 
4823
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4824
0
    OPC_Scope, 22|128,1, 
4825
0
     OPC_RecordChild0,
4826
0
     OPC_Scope, 99, 
4827
0
      OPC_RecordChild1,
4828
0
      OPC_MoveSibling1,
4829
0
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4830
0
      OPC_Scope, 22, 
4831
0
       OPC_RecordChild0,
4832
0
       OPC_MoveChild1,
4833
0
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
4834
0
       OPC_CheckChild0Same, 1,
4835
0
       OPC_CheckChild1Integer, 3, 
4836
0
       OPC_MoveParent,
4837
0
       OPC_MoveParent,
4838
0
       OPC_CheckType, MVT::i128,
4839
0
       OPC_CheckPatternPredicate0,
4840
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
4841
0
                     MVT::i128, 3, 0, 2, 1, 
4842
0
      22, 
4843
0
       OPC_MoveChild0,
4844
0
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
4845
0
       OPC_CheckChild0Same, 1,
4846
0
       OPC_CheckChild1Integer, 3, 
4847
0
       OPC_MoveParent,
4848
0
       OPC_RecordChild1,
4849
0
       OPC_MoveParent,
4850
0
       OPC_CheckType, MVT::i128,
4851
0
       OPC_CheckPatternPredicate0,
4852
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
4853
0
                     MVT::i128, 3, 0, 2, 1, 
4854
0
      22, 
4855
0
       OPC_RecordChild0,
4856
0
       OPC_MoveChild1,
4857
0
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
4858
0
       OPC_CheckChild0Same, 0,
4859
0
       OPC_CheckChild1Integer, 3, 
4860
0
       OPC_MoveParent,
4861
0
       OPC_MoveParent,
4862
0
       OPC_CheckType, MVT::i128,
4863
0
       OPC_CheckPatternPredicate0,
4864
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
4865
0
                     MVT::i128, 3, 1, 2, 0, 
4866
0
      22, 
4867
0
       OPC_MoveChild0,
4868
0
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
4869
0
       OPC_CheckChild0Same, 0,
4870
0
       OPC_CheckChild1Integer, 3, 
4871
0
       OPC_MoveParent,
4872
0
       OPC_RecordChild1,
4873
0
       OPC_MoveParent,
4874
0
       OPC_CheckType, MVT::i128,
4875
0
       OPC_CheckPatternPredicate0,
4876
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
4877
0
                     MVT::i128, 3, 1, 2, 0, 
4878
0
      0, 
4879
0
     46, 
4880
0
      OPC_MoveChild1,
4881
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
4882
0
      OPC_RecordChild0,
4883
0
      OPC_CheckChild1Integer, 3, 
4884
0
      OPC_MoveParent,
4885
0
      OPC_MoveSibling1,
4886
0
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4887
0
      OPC_Scope, 15, 
4888
0
       OPC_RecordChild0,
4889
0
       OPC_CheckChild1Same, 1,
4890
0
       OPC_MoveParent,
4891
0
       OPC_CheckType, MVT::i128,
4892
0
       OPC_CheckPatternPredicate0,
4893
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
4894
0
                     MVT::i128, 3, 2, 0, 1, 
4895
0
      15, 
4896
0
       OPC_CheckChild0Same, 1,
4897
0
       OPC_RecordChild1,
4898
0
       OPC_MoveParent,
4899
0
       OPC_CheckType, MVT::i128,
4900
0
       OPC_CheckPatternPredicate0,
4901
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
4902
0
                     MVT::i128, 3, 2, 0, 1, 
4903
0
      0, 
4904
0
     0, 
4905
0
    47, 
4906
0
     OPC_MoveChild0,
4907
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
4908
0
     OPC_RecordChild0,
4909
0
     OPC_CheckChild1Integer, 3, 
4910
0
     OPC_MoveParent,
4911
0
     OPC_RecordChild1,
4912
0
     OPC_MoveSibling1,
4913
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4914
0
     OPC_Scope, 15, 
4915
0
      OPC_RecordChild0,
4916
0
      OPC_CheckChild1Same, 0,
4917
0
      OPC_MoveParent,
4918
0
      OPC_CheckType, MVT::i128,
4919
0
      OPC_CheckPatternPredicate0,
4920
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
4921
0
                    MVT::i128, 3, 2, 1, 0, 
4922
0
     15, 
4923
0
      OPC_CheckChild0Same, 0,
4924
0
      OPC_RecordChild1,
4925
0
      OPC_MoveParent,
4926
0
      OPC_CheckType, MVT::i128,
4927
0
      OPC_CheckPatternPredicate0,
4928
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
4929
0
                    MVT::i128, 3, 2, 1, 0, 
4930
0
     0, 
4931
0
    0, 
4932
0
   31, 
4933
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
4934
0
    OPC_RecordChild0,
4935
0
    OPC_CheckChild0TypeI64,
4936
0
    OPC_MoveSibling1,
4937
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4938
0
    OPC_MoveChild0,
4939
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4940
0
    OPC_RecordChild0,
4941
0
    OPC_CheckChild0TypeI64,
4942
0
    OPC_MoveParent,
4943
0
    OPC_CheckChild1Integer, 0|128,1, 
4944
0
    OPC_CheckChild1TypeI32,
4945
0
    OPC_MoveParent,
4946
0
    OPC_CheckType, MVT::i128,
4947
0
    OPC_CheckPatternPredicate0,
4948
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
4949
0
                  MVT::i128, 2, 1, 0, 
4950
0
   31, 
4951
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4952
0
    OPC_MoveChild0,
4953
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4954
0
    OPC_RecordChild0,
4955
0
    OPC_CheckChild0TypeI64,
4956
0
    OPC_MoveParent,
4957
0
    OPC_CheckChild1Integer, 0|128,1, 
4958
0
    OPC_CheckChild1TypeI32,
4959
0
    OPC_MoveSibling1,
4960
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
4961
0
    OPC_RecordChild0,
4962
0
    OPC_CheckChild0TypeI64,
4963
0
    OPC_MoveParent,
4964
0
    OPC_CheckType, MVT::i128,
4965
0
    OPC_CheckPatternPredicate0,
4966
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
4967
0
                  MVT::i128, 2, 0, 1, 
4968
0
   33, 
4969
0
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,127|128,127|128,127|128,127|128,127|128,1, 
4970
0
    OPC_RecordChild0,
4971
0
    OPC_MoveSibling1,
4972
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4973
0
    OPC_RecordNode,
4974
0
    OPC_CheckPredicate, 31,
4975
0
    OPC_MoveParent,
4976
0
    OPC_CheckTypeI32,
4977
0
    OPC_CheckPatternPredicate2,
4978
0
    OPC_EmitConvertToTarget1,
4979
0
    OPC_EmitNodeXForm, 3, 2,
4980
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILMux),
4981
0
                  MVT::i32, 2, 0, 3, 
4982
0
   33, 
4983
0
    OPC_CheckAndImm, 127|128,127|128,3|128,0|128,112|128,127|128,127|128,127|128,127|128,1, 
4984
0
    OPC_RecordChild0,
4985
0
    OPC_MoveSibling1,
4986
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4987
0
    OPC_RecordNode,
4988
0
    OPC_CheckPredicate, 27,
4989
0
    OPC_MoveParent,
4990
0
    OPC_CheckTypeI32,
4991
0
    OPC_CheckPatternPredicate2,
4992
0
    OPC_EmitConvertToTarget1,
4993
0
    OPC_EmitNodeXForm, 4, 2,
4994
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHMux),
4995
0
                  MVT::i32, 2, 0, 3, 
4996
0
   32, 
4997
0
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,127|128,127|128,127|128,127|128,127|128,1, 
4998
0
    OPC_RecordChild0,
4999
0
    OPC_MoveSibling1,
5000
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5001
0
    OPC_RecordNode,
5002
0
    OPC_CheckPredicate, 31,
5003
0
    OPC_MoveParent,
5004
0
    OPC_CheckTypeI32,
5005
0
    OPC_EmitConvertToTarget1,
5006
0
    OPC_EmitNodeXForm, 3, 2,
5007
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILL),
5008
0
                  MVT::i32, 2, 0, 3, 
5009
0
   32, 
5010
0
    OPC_CheckAndImm, 127|128,127|128,3|128,0|128,112|128,127|128,127|128,127|128,127|128,1, 
5011
0
    OPC_RecordChild0,
5012
0
    OPC_MoveSibling1,
5013
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5014
0
    OPC_RecordNode,
5015
0
    OPC_CheckPredicate, 27,
5016
0
    OPC_MoveParent,
5017
0
    OPC_CheckTypeI32,
5018
0
    OPC_EmitConvertToTarget1,
5019
0
    OPC_EmitNodeXForm, 4, 2,
5020
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILH),
5021
0
                  MVT::i32, 2, 0, 3, 
5022
0
   32, 
5023
0
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,127|128,127|128,127|128,127|128,127|128,1, 
5024
0
    OPC_RecordChild0,
5025
0
    OPC_MoveSibling1,
5026
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5027
0
    OPC_RecordNode,
5028
0
    OPC_CheckPredicate, 31,
5029
0
    OPC_MoveParent,
5030
0
    OPC_CheckTypeI32,
5031
0
    OPC_EmitConvertToTarget1,
5032
0
    OPC_EmitNodeXForm, 3, 2,
5033
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHL),
5034
0
                  MVT::i32, 2, 0, 3, 
5035
0
   32, 
5036
0
    OPC_CheckAndImm, 127|128,127|128,3|128,0|128,112|128,127|128,127|128,127|128,127|128,1, 
5037
0
    OPC_RecordChild0,
5038
0
    OPC_MoveSibling1,
5039
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5040
0
    OPC_RecordNode,
5041
0
    OPC_CheckPredicate, 27,
5042
0
    OPC_MoveParent,
5043
0
    OPC_CheckTypeI32,
5044
0
    OPC_EmitConvertToTarget1,
5045
0
    OPC_EmitNodeXForm, 4, 2,
5046
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHH),
5047
0
                  MVT::i32, 2, 0, 3, 
5048
0
   32, 
5049
0
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,127|128,127|128,127|128,127|128,127|128,1, 
5050
0
    OPC_RecordChild0,
5051
0
    OPC_MoveSibling1,
5052
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5053
0
    OPC_RecordNode,
5054
0
    OPC_CheckPredicate, 54,
5055
0
    OPC_MoveParent,
5056
0
    OPC_CheckTypeI64,
5057
0
    OPC_EmitConvertToTarget1,
5058
0
    OPC_EmitNodeXForm, 3, 2,
5059
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILL64),
5060
0
                  MVT::i64, 2, 0, 3, 
5061
0
   32, 
5062
0
    OPC_CheckAndImm, 127|128,127|128,3|128,0|128,112|128,127|128,127|128,127|128,127|128,1, 
5063
0
    OPC_RecordChild0,
5064
0
    OPC_MoveSibling1,
5065
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5066
0
    OPC_RecordNode,
5067
0
    OPC_CheckPredicate, 60,
5068
0
    OPC_MoveParent,
5069
0
    OPC_CheckTypeI64,
5070
0
    OPC_EmitConvertToTarget1,
5071
0
    OPC_EmitNodeXForm, 4, 2,
5072
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILH64),
5073
0
                  MVT::i64, 2, 0, 3, 
5074
0
   32, 
5075
0
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15|128,0|128,64|128,127|128,127|128,1, 
5076
0
    OPC_RecordChild0,
5077
0
    OPC_MoveSibling1,
5078
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5079
0
    OPC_RecordNode,
5080
0
    OPC_CheckPredicate, 56,
5081
0
    OPC_MoveParent,
5082
0
    OPC_CheckTypeI64,
5083
0
    OPC_EmitConvertToTarget1,
5084
0
    OPC_EmitNodeXForm, 5, 2,
5085
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHL64),
5086
0
                  MVT::i64, 2, 0, 3, 
5087
0
   29, 
5088
0
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,127|128,127|128,63, 
5089
0
    OPC_RecordChild0,
5090
0
    OPC_MoveSibling1,
5091
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5092
0
    OPC_RecordNode,
5093
0
    OPC_CheckPredicate, 61,
5094
0
    OPC_MoveParent,
5095
0
    OPC_CheckTypeI64,
5096
0
    OPC_EmitConvertToTarget1,
5097
0
    OPC_EmitNodeXForm, 6, 2,
5098
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHH64),
5099
0
                  MVT::i64, 2, 0, 3, 
5100
0
   32, 
5101
0
    OPC_CheckAndImm, 0|128,0|128,0|128,0|128,112|128,127|128,127|128,127|128,127|128,1, 
5102
0
    OPC_RecordChild0,
5103
0
    OPC_MoveSibling1,
5104
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5105
0
    OPC_RecordNode,
5106
0
    OPC_CheckPredicate, 59,
5107
0
    OPC_MoveParent,
5108
0
    OPC_CheckTypeI64,
5109
0
    OPC_EmitConvertToTarget1,
5110
0
    OPC_EmitNodeXForm, 7, 2,
5111
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILF64),
5112
0
                  MVT::i64, 2, 0, 3, 
5113
0
   27, 
5114
0
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
5115
0
    OPC_RecordChild0,
5116
0
    OPC_MoveSibling1,
5117
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5118
0
    OPC_RecordNode,
5119
0
    OPC_CheckPredicate, 50,
5120
0
    OPC_MoveParent,
5121
0
    OPC_CheckTypeI64,
5122
0
    OPC_EmitConvertToTarget1,
5123
0
    OPC_EmitNodeXForm, 8, 2,
5124
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHF64),
5125
0
                  MVT::i64, 2, 0, 3, 
5126
0
   0, 
5127
0
  40, 
5128
0
   OPC_RecordNode,
5129
0
   OPC_CheckTypeI64,
5130
0
   OPC_Scope, 11, 
5131
0
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
5132
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
5133
0
                  MVT::i64, 3, 1, 2, 3, 
5134
0
   11, 
5135
0
    OPC_CheckComplexPat, /*CP*/12, /*#*/0,
5136
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
5137
0
                  MVT::i64, 3, 1, 2, 3, 
5138
0
   11, 
5139
0
    OPC_CheckComplexPat, /*CP*/13, /*#*/0,
5140
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
5141
0
                  MVT::i64, 3, 1, 2, 3, 
5142
0
   0, 
5143
0
  43, 
5144
0
   OPC_RecordChild0,
5145
0
   OPC_MoveChild1,
5146
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5147
0
   OPC_RecordChild0,
5148
0
   OPC_CheckChild1Integer, 3, 
5149
0
   OPC_MoveParent,
5150
0
   OPC_SwitchType , 9, MVT::i32,
5151
0
    OPC_CheckPatternPredicate7,
5152
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OCRK),
5153
0
                  MVT::i32, MVT::i32, 2, 0, 1, 
5154
0
   9, MVT::i64,
5155
0
    OPC_CheckPatternPredicate7,
5156
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OCGRK),
5157
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
5158
0
   8, MVT::i128,
5159
0
    OPC_CheckPatternPredicate1,
5160
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
5161
0
                  MVT::i128, 2, 0, 1, 
5162
0
   0,
5163
0
  84, 
5164
0
   OPC_MoveChild0,
5165
0
   OPC_SwitchOpcode , 39, TARGET_VAL(ISD::XOR),
5166
0
    OPC_RecordChild0,
5167
0
    OPC_CheckChild1Integer, 3, 
5168
0
    OPC_MoveParent,
5169
0
    OPC_RecordChild1,
5170
0
    OPC_SwitchType , 9, MVT::i32,
5171
0
     OPC_CheckPatternPredicate7,
5172
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OCRK),
5173
0
                   MVT::i32, MVT::i32, 2, 1, 0, 
5174
0
    9, MVT::i64,
5175
0
     OPC_CheckPatternPredicate7,
5176
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OCGRK),
5177
0
                   MVT::i64, MVT::i32, 2, 1, 0, 
5178
0
    8, MVT::i128,
5179
0
     OPC_CheckPatternPredicate1,
5180
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
5181
0
                   MVT::i128, 2, 1, 0, 
5182
0
    0,
5183
0
   36, TARGET_VAL(ISD::ZERO_EXTEND),
5184
0
    OPC_RecordChild0,
5185
0
    OPC_MoveSibling1,
5186
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5187
0
    OPC_RecordNode,
5188
0
    OPC_CheckPredicate, 50,
5189
0
    OPC_MoveParent,
5190
0
    OPC_CheckTypeI64,
5191
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
5192
0
                  MVT::i64, 0, 
5193
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
5194
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
5195
0
                  MVT::i64, 3, 2, 0, 3, 
5196
0
    OPC_EmitConvertToTarget1,
5197
0
    OPC_EmitNodeXForm, 8, 5,
5198
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHF64),
5199
0
                  MVT::i64, 2, 4, 6, 
5200
0
   0,
5201
0
  63|128,2, 
5202
0
   OPC_RecordChild0,
5203
0
   OPC_RecordChild1,
5204
0
   OPC_Scope, 0|128,2, 
5205
0
    OPC_MoveChild1,
5206
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5207
0
    OPC_Scope, 17, 
5208
0
     OPC_CheckPredicate, 31,
5209
0
     OPC_MoveParent,
5210
0
     OPC_CheckTypeI32,
5211
0
     OPC_CheckPatternPredicate2,
5212
0
     OPC_EmitConvertToTarget1,
5213
0
     OPC_EmitNodeXForm, 3, 2,
5214
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILMux),
5215
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
5216
0
    17, 
5217
0
     OPC_CheckPredicate, 27,
5218
0
     OPC_MoveParent,
5219
0
     OPC_CheckTypeI32,
5220
0
     OPC_CheckPatternPredicate2,
5221
0
     OPC_EmitConvertToTarget1,
5222
0
     OPC_EmitNodeXForm, 4, 2,
5223
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHMux),
5224
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
5225
0
    16, 
5226
0
     OPC_CheckPredicate, 31,
5227
0
     OPC_MoveParent,
5228
0
     OPC_CheckTypeI32,
5229
0
     OPC_EmitConvertToTarget1,
5230
0
     OPC_EmitNodeXForm, 3, 2,
5231
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILL),
5232
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
5233
0
    16, 
5234
0
     OPC_CheckPredicate, 27,
5235
0
     OPC_MoveParent,
5236
0
     OPC_CheckTypeI32,
5237
0
     OPC_EmitConvertToTarget1,
5238
0
     OPC_EmitNodeXForm, 4, 2,
5239
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILH),
5240
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
5241
0
    16, 
5242
0
     OPC_CheckPredicate, 31,
5243
0
     OPC_MoveParent,
5244
0
     OPC_CheckTypeI32,
5245
0
     OPC_EmitConvertToTarget1,
5246
0
     OPC_EmitNodeXForm, 3, 2,
5247
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHL),
5248
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
5249
0
    16, 
5250
0
     OPC_CheckPredicate, 27,
5251
0
     OPC_MoveParent,
5252
0
     OPC_CheckTypeI32,
5253
0
     OPC_EmitConvertToTarget1,
5254
0
     OPC_EmitNodeXForm, 4, 2,
5255
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHH),
5256
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
5257
0
    16, 
5258
0
     OPC_CheckPredicate, 54,
5259
0
     OPC_MoveParent,
5260
0
     OPC_CheckTypeI64,
5261
0
     OPC_EmitConvertToTarget1,
5262
0
     OPC_EmitNodeXForm, 3, 2,
5263
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILL64),
5264
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
5265
0
    16, 
5266
0
     OPC_CheckPredicate, 60,
5267
0
     OPC_MoveParent,
5268
0
     OPC_CheckTypeI64,
5269
0
     OPC_EmitConvertToTarget1,
5270
0
     OPC_EmitNodeXForm, 4, 2,
5271
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILH64),
5272
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
5273
0
    16, 
5274
0
     OPC_CheckPredicate, 56,
5275
0
     OPC_MoveParent,
5276
0
     OPC_CheckTypeI64,
5277
0
     OPC_EmitConvertToTarget1,
5278
0
     OPC_EmitNodeXForm, 5, 2,
5279
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHL64),
5280
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
5281
0
    16, 
5282
0
     OPC_CheckPredicate, 61,
5283
0
     OPC_MoveParent,
5284
0
     OPC_CheckTypeI64,
5285
0
     OPC_EmitConvertToTarget1,
5286
0
     OPC_EmitNodeXForm, 6, 2,
5287
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHH64),
5288
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
5289
0
    16, 
5290
0
     OPC_CheckPredicate, 59,
5291
0
     OPC_MoveParent,
5292
0
     OPC_CheckTypeI64,
5293
0
     OPC_EmitConvertToTarget1,
5294
0
     OPC_EmitNodeXForm, 7, 2,
5295
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILF64),
5296
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
5297
0
    16, 
5298
0
     OPC_CheckPredicate, 50,
5299
0
     OPC_MoveParent,
5300
0
     OPC_CheckTypeI64,
5301
0
     OPC_EmitConvertToTarget1,
5302
0
     OPC_EmitNodeXForm, 8, 2,
5303
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHF64),
5304
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
5305
0
    43, 
5306
0
     OPC_MoveParent,
5307
0
     OPC_CheckTypeI32,
5308
0
     OPC_Scope, 13, 
5309
0
      OPC_CheckPatternPredicate2,
5310
0
      OPC_EmitConvertToTarget1,
5311
0
      OPC_EmitNodeXForm, 9, 2,
5312
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIFMux),
5313
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
5314
0
     24, 
5315
0
      OPC_EmitConvertToTarget1,
5316
0
      OPC_EmitNodeXForm, 9, 2,
5317
0
      OPC_Scope, 8, 
5318
0
       OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILF),
5319
0
                     MVT::i32, MVT::i32, 2, 0, 3, 
5320
0
      8, 
5321
0
       OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHF),
5322
0
                     MVT::i32, MVT::i32, 2, 0, 3, 
5323
0
      0, 
5324
0
     0, 
5325
0
    0, 
5326
0
   22, 
5327
0
    OPC_CheckTypeI32,
5328
0
    OPC_Scope, 9, 
5329
0
     OPC_CheckPatternPredicate6,
5330
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ORK),
5331
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
5332
0
    8, 
5333
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OR),
5334
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
5335
0
    0, 
5336
0
   22, 
5337
0
    OPC_CheckTypeI64,
5338
0
    OPC_Scope, 9, 
5339
0
     OPC_CheckPatternPredicate6,
5340
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OGRK),
5341
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
5342
0
    8, 
5343
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OGR),
5344
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
5345
0
    0, 
5346
0
   10, 
5347
0
    OPC_CheckType, MVT::i128,
5348
0
    OPC_CheckPatternPredicate0,
5349
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
5350
0
                  MVT::i128, 2, 0, 1, 
5351
0
   0, 
5352
0
  46|128,28, 
5353
0
   OPC_MoveChild0,
5354
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5355
0
   OPC_Scope, 123|128,2, 
5356
0
    OPC_MoveChild0,
5357
0
    OPC_SwitchOpcode , 87|128,1, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5358
0
     OPC_RecordChild0,
5359
0
     OPC_Scope, 76, 
5360
0
      OPC_CheckChild1Integer, 14, 
5361
0
      OPC_MoveSibling1,
5362
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5363
0
      OPC_MoveChild0,
5364
0
      OPC_CheckImmAllZerosV,
5365
0
      OPC_MoveParent,
5366
0
      OPC_CheckChild1Same, 0,
5367
0
      OPC_MoveParent,
5368
0
      OPC_MoveSibling1,
5369
0
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5370
0
      OPC_Scope, 28, 
5371
0
       OPC_MoveChild0,
5372
0
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5373
0
       OPC_MoveChild0,
5374
0
       OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5375
0
       OPC_CheckChild0Same, 0,
5376
0
       OPC_CheckChild1Integer, 14, 
5377
0
       OPC_MoveSibling1,
5378
0
       OPC_CheckImmAllOnesV,
5379
0
       OPC_MoveParent,
5380
0
       OPC_MoveParent,
5381
0
       OPC_CheckChild1Same, 0,
5382
0
       OPC_MoveParent,
5383
0
       OPC_CheckType, MVT::v16i8,
5384
0
       OPC_CheckPatternPredicate0,
5385
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
5386
0
                     MVT::v16i8, 1, 0, 
5387
0
      28, 
5388
0
       OPC_CheckChild0Same, 0,
5389
0
       OPC_MoveChild1,
5390
0
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5391
0
       OPC_MoveChild0,
5392
0
       OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5393
0
       OPC_CheckChild0Same, 0,
5394
0
       OPC_CheckChild1Integer, 14, 
5395
0
       OPC_MoveSibling1,
5396
0
       OPC_CheckImmAllOnesV,
5397
0
       OPC_MoveParent,
5398
0
       OPC_MoveParent,
5399
0
       OPC_MoveParent,
5400
0
       OPC_CheckType, MVT::v16i8,
5401
0
       OPC_CheckPatternPredicate0,
5402
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
5403
0
                     MVT::v16i8, 1, 0, 
5404
0
      0, 
5405
0
     44, 
5406
0
      OPC_CheckChild1Integer, 30, 
5407
0
      OPC_MoveSibling1,
5408
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5409
0
      OPC_MoveChild0,
5410
0
      OPC_CheckImmAllZerosV,
5411
0
      OPC_MoveParent,
5412
0
      OPC_CheckChild1Same, 0,
5413
0
      OPC_MoveParent,
5414
0
      OPC_MoveSibling1,
5415
0
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5416
0
      OPC_MoveChild0,
5417
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5418
0
      OPC_MoveChild0,
5419
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5420
0
      OPC_CheckChild0Same, 0,
5421
0
      OPC_CheckChild1Integer, 30, 
5422
0
      OPC_MoveSibling1,
5423
0
      OPC_CheckImmAllOnesV,
5424
0
      OPC_MoveParent,
5425
0
      OPC_MoveParent,
5426
0
      OPC_CheckChild1Same, 0,
5427
0
      OPC_MoveParent,
5428
0
      OPC_CheckType, MVT::v8i16,
5429
0
      OPC_CheckPatternPredicate0,
5430
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
5431
0
                    MVT::v8i16, 1, 0, 
5432
0
     44, 
5433
0
      OPC_CheckChild1Integer, 62, 
5434
0
      OPC_MoveSibling1,
5435
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5436
0
      OPC_MoveChild0,
5437
0
      OPC_CheckImmAllZerosV,
5438
0
      OPC_MoveParent,
5439
0
      OPC_CheckChild1Same, 0,
5440
0
      OPC_MoveParent,
5441
0
      OPC_MoveSibling1,
5442
0
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5443
0
      OPC_MoveChild0,
5444
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5445
0
      OPC_MoveChild0,
5446
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5447
0
      OPC_CheckChild0Same, 0,
5448
0
      OPC_CheckChild1Integer, 62, 
5449
0
      OPC_MoveSibling1,
5450
0
      OPC_CheckImmAllOnesV,
5451
0
      OPC_MoveParent,
5452
0
      OPC_MoveParent,
5453
0
      OPC_CheckChild1Same, 0,
5454
0
      OPC_MoveParent,
5455
0
      OPC_CheckType, MVT::v4i32,
5456
0
      OPC_CheckPatternPredicate0,
5457
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
5458
0
                    MVT::v4i32, 1, 0, 
5459
0
     44, 
5460
0
      OPC_CheckChild1Integer, 126, 
5461
0
      OPC_MoveSibling1,
5462
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5463
0
      OPC_MoveChild0,
5464
0
      OPC_CheckImmAllZerosV,
5465
0
      OPC_MoveParent,
5466
0
      OPC_CheckChild1Same, 0,
5467
0
      OPC_MoveParent,
5468
0
      OPC_MoveSibling1,
5469
0
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5470
0
      OPC_MoveChild0,
5471
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5472
0
      OPC_MoveChild0,
5473
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5474
0
      OPC_CheckChild0Same, 0,
5475
0
      OPC_CheckChild1Integer, 126, 
5476
0
      OPC_MoveSibling1,
5477
0
      OPC_CheckImmAllOnesV,
5478
0
      OPC_MoveParent,
5479
0
      OPC_MoveParent,
5480
0
      OPC_CheckChild1Same, 0,
5481
0
      OPC_MoveParent,
5482
0
      OPC_CheckType, MVT::v2i64,
5483
0
      OPC_CheckPatternPredicate0,
5484
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
5485
0
                    MVT::v2i64, 1, 0, 
5486
0
     0, 
5487
0
    77, TARGET_VAL(ISD::SUB),
5488
0
     OPC_MoveChild0,
5489
0
     OPC_CheckImmAllZerosV,
5490
0
     OPC_MoveParent,
5491
0
     OPC_RecordChild1,
5492
0
     OPC_MoveSibling1,
5493
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5494
0
     OPC_CheckChild0Same, 0,
5495
0
     OPC_CheckChild1Integer, 14, 
5496
0
     OPC_MoveParent,
5497
0
     OPC_MoveSibling1,
5498
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5499
0
     OPC_Scope, 28, 
5500
0
      OPC_MoveChild0,
5501
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5502
0
      OPC_MoveChild0,
5503
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5504
0
      OPC_CheckChild0Same, 0,
5505
0
      OPC_CheckChild1Integer, 14, 
5506
0
      OPC_MoveSibling1,
5507
0
      OPC_CheckImmAllOnesV,
5508
0
      OPC_MoveParent,
5509
0
      OPC_MoveParent,
5510
0
      OPC_CheckChild1Same, 0,
5511
0
      OPC_MoveParent,
5512
0
      OPC_CheckType, MVT::v16i8,
5513
0
      OPC_CheckPatternPredicate0,
5514
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
5515
0
                    MVT::v16i8, 1, 0, 
5516
0
     28, 
5517
0
      OPC_CheckChild0Same, 0,
5518
0
      OPC_MoveChild1,
5519
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5520
0
      OPC_MoveChild0,
5521
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5522
0
      OPC_CheckChild0Same, 0,
5523
0
      OPC_CheckChild1Integer, 14, 
5524
0
      OPC_MoveSibling1,
5525
0
      OPC_CheckImmAllOnesV,
5526
0
      OPC_MoveParent,
5527
0
      OPC_MoveParent,
5528
0
      OPC_MoveParent,
5529
0
      OPC_CheckType, MVT::v16i8,
5530
0
      OPC_CheckPatternPredicate0,
5531
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
5532
0
                    MVT::v16i8, 1, 0, 
5533
0
     0, 
5534
0
    74, TARGET_VAL(ISD::XOR),
5535
0
     OPC_MoveChild0,
5536
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5537
0
     OPC_RecordChild0,
5538
0
     OPC_CheckChild1Integer, 14, 
5539
0
     OPC_MoveSibling1,
5540
0
     OPC_CheckImmAllOnesV,
5541
0
     OPC_MoveParent,
5542
0
     OPC_MoveParent,
5543
0
     OPC_CheckChild1Same, 0,
5544
0
     OPC_MoveSibling1,
5545
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5546
0
     OPC_MoveChild0,
5547
0
     OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5548
0
      OPC_CheckChild0Same, 0,
5549
0
      OPC_CheckChild1Integer, 14, 
5550
0
      OPC_MoveSibling1,
5551
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5552
0
      OPC_MoveChild0,
5553
0
      OPC_CheckImmAllZerosV,
5554
0
      OPC_MoveParent,
5555
0
      OPC_CheckChild1Same, 0,
5556
0
      OPC_MoveParent,
5557
0
      OPC_MoveParent,
5558
0
      OPC_CheckType, MVT::v16i8,
5559
0
      OPC_CheckPatternPredicate0,
5560
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
5561
0
                    MVT::v16i8, 1, 0, 
5562
0
     24, TARGET_VAL(ISD::SUB),
5563
0
      OPC_MoveChild0,
5564
0
      OPC_CheckImmAllZerosV,
5565
0
      OPC_MoveParent,
5566
0
      OPC_CheckChild1Same, 0,
5567
0
      OPC_MoveSibling1,
5568
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5569
0
      OPC_CheckChild0Same, 0,
5570
0
      OPC_CheckChild1Integer, 14, 
5571
0
      OPC_MoveParent,
5572
0
      OPC_MoveParent,
5573
0
      OPC_CheckType, MVT::v16i8,
5574
0
      OPC_CheckPatternPredicate0,
5575
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
5576
0
                    MVT::v16i8, 1, 0, 
5577
0
     0,
5578
0
    0,
5579
0
   78, 
5580
0
    OPC_RecordChild0,
5581
0
    OPC_MoveChild1,
5582
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5583
0
    OPC_MoveChild0,
5584
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5585
0
    OPC_CheckChild0Same, 0,
5586
0
    OPC_CheckChild1Integer, 14, 
5587
0
    OPC_MoveSibling1,
5588
0
    OPC_CheckImmAllOnesV,
5589
0
    OPC_MoveParent,
5590
0
    OPC_MoveParent,
5591
0
    OPC_MoveSibling1,
5592
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5593
0
    OPC_MoveChild0,
5594
0
    OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5595
0
     OPC_CheckChild0Same, 0,
5596
0
     OPC_CheckChild1Integer, 14, 
5597
0
     OPC_MoveSibling1,
5598
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5599
0
     OPC_MoveChild0,
5600
0
     OPC_CheckImmAllZerosV,
5601
0
     OPC_MoveParent,
5602
0
     OPC_CheckChild1Same, 0,
5603
0
     OPC_MoveParent,
5604
0
     OPC_MoveParent,
5605
0
     OPC_CheckType, MVT::v16i8,
5606
0
     OPC_CheckPatternPredicate0,
5607
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
5608
0
                   MVT::v16i8, 1, 0, 
5609
0
    24, TARGET_VAL(ISD::SUB),
5610
0
     OPC_MoveChild0,
5611
0
     OPC_CheckImmAllZerosV,
5612
0
     OPC_MoveParent,
5613
0
     OPC_CheckChild1Same, 0,
5614
0
     OPC_MoveSibling1,
5615
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5616
0
     OPC_CheckChild0Same, 0,
5617
0
     OPC_CheckChild1Integer, 14, 
5618
0
     OPC_MoveParent,
5619
0
     OPC_MoveParent,
5620
0
     OPC_CheckType, MVT::v16i8,
5621
0
     OPC_CheckPatternPredicate0,
5622
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
5623
0
                   MVT::v16i8, 1, 0, 
5624
0
    0,
5625
0
   80|128,1, 
5626
0
    OPC_MoveChild0,
5627
0
    OPC_SwitchOpcode , 45, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5628
0
     OPC_RecordChild0,
5629
0
     OPC_CheckChild1Integer, 30, 
5630
0
     OPC_MoveSibling1,
5631
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5632
0
     OPC_MoveChild0,
5633
0
     OPC_CheckImmAllZerosV,
5634
0
     OPC_MoveParent,
5635
0
     OPC_CheckChild1Same, 0,
5636
0
     OPC_MoveParent,
5637
0
     OPC_MoveSibling1,
5638
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5639
0
     OPC_CheckChild0Same, 0,
5640
0
     OPC_MoveChild1,
5641
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5642
0
     OPC_MoveChild0,
5643
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5644
0
     OPC_CheckChild0Same, 0,
5645
0
     OPC_CheckChild1Integer, 30, 
5646
0
     OPC_MoveSibling1,
5647
0
     OPC_CheckImmAllOnesV,
5648
0
     OPC_MoveParent,
5649
0
     OPC_MoveParent,
5650
0
     OPC_MoveParent,
5651
0
     OPC_CheckType, MVT::v8i16,
5652
0
     OPC_CheckPatternPredicate0,
5653
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
5654
0
                   MVT::v8i16, 1, 0, 
5655
0
    77, TARGET_VAL(ISD::SUB),
5656
0
     OPC_MoveChild0,
5657
0
     OPC_CheckImmAllZerosV,
5658
0
     OPC_MoveParent,
5659
0
     OPC_RecordChild1,
5660
0
     OPC_MoveSibling1,
5661
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5662
0
     OPC_CheckChild0Same, 0,
5663
0
     OPC_CheckChild1Integer, 30, 
5664
0
     OPC_MoveParent,
5665
0
     OPC_MoveSibling1,
5666
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5667
0
     OPC_Scope, 28, 
5668
0
      OPC_MoveChild0,
5669
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5670
0
      OPC_MoveChild0,
5671
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5672
0
      OPC_CheckChild0Same, 0,
5673
0
      OPC_CheckChild1Integer, 30, 
5674
0
      OPC_MoveSibling1,
5675
0
      OPC_CheckImmAllOnesV,
5676
0
      OPC_MoveParent,
5677
0
      OPC_MoveParent,
5678
0
      OPC_CheckChild1Same, 0,
5679
0
      OPC_MoveParent,
5680
0
      OPC_CheckType, MVT::v8i16,
5681
0
      OPC_CheckPatternPredicate0,
5682
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
5683
0
                    MVT::v8i16, 1, 0, 
5684
0
     28, 
5685
0
      OPC_CheckChild0Same, 0,
5686
0
      OPC_MoveChild1,
5687
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5688
0
      OPC_MoveChild0,
5689
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5690
0
      OPC_CheckChild0Same, 0,
5691
0
      OPC_CheckChild1Integer, 30, 
5692
0
      OPC_MoveSibling1,
5693
0
      OPC_CheckImmAllOnesV,
5694
0
      OPC_MoveParent,
5695
0
      OPC_MoveParent,
5696
0
      OPC_MoveParent,
5697
0
      OPC_CheckType, MVT::v8i16,
5698
0
      OPC_CheckPatternPredicate0,
5699
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
5700
0
                    MVT::v8i16, 1, 0, 
5701
0
     0, 
5702
0
    74, TARGET_VAL(ISD::XOR),
5703
0
     OPC_MoveChild0,
5704
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5705
0
     OPC_RecordChild0,
5706
0
     OPC_CheckChild1Integer, 30, 
5707
0
     OPC_MoveSibling1,
5708
0
     OPC_CheckImmAllOnesV,
5709
0
     OPC_MoveParent,
5710
0
     OPC_MoveParent,
5711
0
     OPC_CheckChild1Same, 0,
5712
0
     OPC_MoveSibling1,
5713
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5714
0
     OPC_MoveChild0,
5715
0
     OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5716
0
      OPC_CheckChild0Same, 0,
5717
0
      OPC_CheckChild1Integer, 30, 
5718
0
      OPC_MoveSibling1,
5719
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5720
0
      OPC_MoveChild0,
5721
0
      OPC_CheckImmAllZerosV,
5722
0
      OPC_MoveParent,
5723
0
      OPC_CheckChild1Same, 0,
5724
0
      OPC_MoveParent,
5725
0
      OPC_MoveParent,
5726
0
      OPC_CheckType, MVT::v8i16,
5727
0
      OPC_CheckPatternPredicate0,
5728
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
5729
0
                    MVT::v8i16, 1, 0, 
5730
0
     24, TARGET_VAL(ISD::SUB),
5731
0
      OPC_MoveChild0,
5732
0
      OPC_CheckImmAllZerosV,
5733
0
      OPC_MoveParent,
5734
0
      OPC_CheckChild1Same, 0,
5735
0
      OPC_MoveSibling1,
5736
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5737
0
      OPC_CheckChild0Same, 0,
5738
0
      OPC_CheckChild1Integer, 30, 
5739
0
      OPC_MoveParent,
5740
0
      OPC_MoveParent,
5741
0
      OPC_CheckType, MVT::v8i16,
5742
0
      OPC_CheckPatternPredicate0,
5743
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
5744
0
                    MVT::v8i16, 1, 0, 
5745
0
     0,
5746
0
    0,
5747
0
   78, 
5748
0
    OPC_RecordChild0,
5749
0
    OPC_MoveChild1,
5750
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5751
0
    OPC_MoveChild0,
5752
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5753
0
    OPC_CheckChild0Same, 0,
5754
0
    OPC_CheckChild1Integer, 30, 
5755
0
    OPC_MoveSibling1,
5756
0
    OPC_CheckImmAllOnesV,
5757
0
    OPC_MoveParent,
5758
0
    OPC_MoveParent,
5759
0
    OPC_MoveSibling1,
5760
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5761
0
    OPC_MoveChild0,
5762
0
    OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5763
0
     OPC_CheckChild0Same, 0,
5764
0
     OPC_CheckChild1Integer, 30, 
5765
0
     OPC_MoveSibling1,
5766
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5767
0
     OPC_MoveChild0,
5768
0
     OPC_CheckImmAllZerosV,
5769
0
     OPC_MoveParent,
5770
0
     OPC_CheckChild1Same, 0,
5771
0
     OPC_MoveParent,
5772
0
     OPC_MoveParent,
5773
0
     OPC_CheckType, MVT::v8i16,
5774
0
     OPC_CheckPatternPredicate0,
5775
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
5776
0
                   MVT::v8i16, 1, 0, 
5777
0
    24, TARGET_VAL(ISD::SUB),
5778
0
     OPC_MoveChild0,
5779
0
     OPC_CheckImmAllZerosV,
5780
0
     OPC_MoveParent,
5781
0
     OPC_CheckChild1Same, 0,
5782
0
     OPC_MoveSibling1,
5783
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5784
0
     OPC_CheckChild0Same, 0,
5785
0
     OPC_CheckChild1Integer, 30, 
5786
0
     OPC_MoveParent,
5787
0
     OPC_MoveParent,
5788
0
     OPC_CheckType, MVT::v8i16,
5789
0
     OPC_CheckPatternPredicate0,
5790
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
5791
0
                   MVT::v8i16, 1, 0, 
5792
0
    0,
5793
0
   80|128,1, 
5794
0
    OPC_MoveChild0,
5795
0
    OPC_SwitchOpcode , 45, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5796
0
     OPC_RecordChild0,
5797
0
     OPC_CheckChild1Integer, 62, 
5798
0
     OPC_MoveSibling1,
5799
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5800
0
     OPC_MoveChild0,
5801
0
     OPC_CheckImmAllZerosV,
5802
0
     OPC_MoveParent,
5803
0
     OPC_CheckChild1Same, 0,
5804
0
     OPC_MoveParent,
5805
0
     OPC_MoveSibling1,
5806
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5807
0
     OPC_CheckChild0Same, 0,
5808
0
     OPC_MoveChild1,
5809
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5810
0
     OPC_MoveChild0,
5811
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5812
0
     OPC_CheckChild0Same, 0,
5813
0
     OPC_CheckChild1Integer, 62, 
5814
0
     OPC_MoveSibling1,
5815
0
     OPC_CheckImmAllOnesV,
5816
0
     OPC_MoveParent,
5817
0
     OPC_MoveParent,
5818
0
     OPC_MoveParent,
5819
0
     OPC_CheckType, MVT::v4i32,
5820
0
     OPC_CheckPatternPredicate0,
5821
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
5822
0
                   MVT::v4i32, 1, 0, 
5823
0
    77, TARGET_VAL(ISD::SUB),
5824
0
     OPC_MoveChild0,
5825
0
     OPC_CheckImmAllZerosV,
5826
0
     OPC_MoveParent,
5827
0
     OPC_RecordChild1,
5828
0
     OPC_MoveSibling1,
5829
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5830
0
     OPC_CheckChild0Same, 0,
5831
0
     OPC_CheckChild1Integer, 62, 
5832
0
     OPC_MoveParent,
5833
0
     OPC_MoveSibling1,
5834
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5835
0
     OPC_Scope, 28, 
5836
0
      OPC_MoveChild0,
5837
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5838
0
      OPC_MoveChild0,
5839
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5840
0
      OPC_CheckChild0Same, 0,
5841
0
      OPC_CheckChild1Integer, 62, 
5842
0
      OPC_MoveSibling1,
5843
0
      OPC_CheckImmAllOnesV,
5844
0
      OPC_MoveParent,
5845
0
      OPC_MoveParent,
5846
0
      OPC_CheckChild1Same, 0,
5847
0
      OPC_MoveParent,
5848
0
      OPC_CheckType, MVT::v4i32,
5849
0
      OPC_CheckPatternPredicate0,
5850
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
5851
0
                    MVT::v4i32, 1, 0, 
5852
0
     28, 
5853
0
      OPC_CheckChild0Same, 0,
5854
0
      OPC_MoveChild1,
5855
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5856
0
      OPC_MoveChild0,
5857
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5858
0
      OPC_CheckChild0Same, 0,
5859
0
      OPC_CheckChild1Integer, 62, 
5860
0
      OPC_MoveSibling1,
5861
0
      OPC_CheckImmAllOnesV,
5862
0
      OPC_MoveParent,
5863
0
      OPC_MoveParent,
5864
0
      OPC_MoveParent,
5865
0
      OPC_CheckType, MVT::v4i32,
5866
0
      OPC_CheckPatternPredicate0,
5867
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
5868
0
                    MVT::v4i32, 1, 0, 
5869
0
     0, 
5870
0
    74, TARGET_VAL(ISD::XOR),
5871
0
     OPC_MoveChild0,
5872
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5873
0
     OPC_RecordChild0,
5874
0
     OPC_CheckChild1Integer, 62, 
5875
0
     OPC_MoveSibling1,
5876
0
     OPC_CheckImmAllOnesV,
5877
0
     OPC_MoveParent,
5878
0
     OPC_MoveParent,
5879
0
     OPC_CheckChild1Same, 0,
5880
0
     OPC_MoveSibling1,
5881
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5882
0
     OPC_MoveChild0,
5883
0
     OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5884
0
      OPC_CheckChild0Same, 0,
5885
0
      OPC_CheckChild1Integer, 62, 
5886
0
      OPC_MoveSibling1,
5887
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5888
0
      OPC_MoveChild0,
5889
0
      OPC_CheckImmAllZerosV,
5890
0
      OPC_MoveParent,
5891
0
      OPC_CheckChild1Same, 0,
5892
0
      OPC_MoveParent,
5893
0
      OPC_MoveParent,
5894
0
      OPC_CheckType, MVT::v4i32,
5895
0
      OPC_CheckPatternPredicate0,
5896
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
5897
0
                    MVT::v4i32, 1, 0, 
5898
0
     24, TARGET_VAL(ISD::SUB),
5899
0
      OPC_MoveChild0,
5900
0
      OPC_CheckImmAllZerosV,
5901
0
      OPC_MoveParent,
5902
0
      OPC_CheckChild1Same, 0,
5903
0
      OPC_MoveSibling1,
5904
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5905
0
      OPC_CheckChild0Same, 0,
5906
0
      OPC_CheckChild1Integer, 62, 
5907
0
      OPC_MoveParent,
5908
0
      OPC_MoveParent,
5909
0
      OPC_CheckType, MVT::v4i32,
5910
0
      OPC_CheckPatternPredicate0,
5911
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
5912
0
                    MVT::v4i32, 1, 0, 
5913
0
     0,
5914
0
    0,
5915
0
   78, 
5916
0
    OPC_RecordChild0,
5917
0
    OPC_MoveChild1,
5918
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5919
0
    OPC_MoveChild0,
5920
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5921
0
    OPC_CheckChild0Same, 0,
5922
0
    OPC_CheckChild1Integer, 62, 
5923
0
    OPC_MoveSibling1,
5924
0
    OPC_CheckImmAllOnesV,
5925
0
    OPC_MoveParent,
5926
0
    OPC_MoveParent,
5927
0
    OPC_MoveSibling1,
5928
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5929
0
    OPC_MoveChild0,
5930
0
    OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5931
0
     OPC_CheckChild0Same, 0,
5932
0
     OPC_CheckChild1Integer, 62, 
5933
0
     OPC_MoveSibling1,
5934
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5935
0
     OPC_MoveChild0,
5936
0
     OPC_CheckImmAllZerosV,
5937
0
     OPC_MoveParent,
5938
0
     OPC_CheckChild1Same, 0,
5939
0
     OPC_MoveParent,
5940
0
     OPC_MoveParent,
5941
0
     OPC_CheckType, MVT::v4i32,
5942
0
     OPC_CheckPatternPredicate0,
5943
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
5944
0
                   MVT::v4i32, 1, 0, 
5945
0
    24, TARGET_VAL(ISD::SUB),
5946
0
     OPC_MoveChild0,
5947
0
     OPC_CheckImmAllZerosV,
5948
0
     OPC_MoveParent,
5949
0
     OPC_CheckChild1Same, 0,
5950
0
     OPC_MoveSibling1,
5951
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5952
0
     OPC_CheckChild0Same, 0,
5953
0
     OPC_CheckChild1Integer, 62, 
5954
0
     OPC_MoveParent,
5955
0
     OPC_MoveParent,
5956
0
     OPC_CheckType, MVT::v4i32,
5957
0
     OPC_CheckPatternPredicate0,
5958
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
5959
0
                   MVT::v4i32, 1, 0, 
5960
0
    0,
5961
0
   80|128,1, 
5962
0
    OPC_MoveChild0,
5963
0
    OPC_SwitchOpcode , 45, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5964
0
     OPC_RecordChild0,
5965
0
     OPC_CheckChild1Integer, 126, 
5966
0
     OPC_MoveSibling1,
5967
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
5968
0
     OPC_MoveChild0,
5969
0
     OPC_CheckImmAllZerosV,
5970
0
     OPC_MoveParent,
5971
0
     OPC_CheckChild1Same, 0,
5972
0
     OPC_MoveParent,
5973
0
     OPC_MoveSibling1,
5974
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5975
0
     OPC_CheckChild0Same, 0,
5976
0
     OPC_MoveChild1,
5977
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5978
0
     OPC_MoveChild0,
5979
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5980
0
     OPC_CheckChild0Same, 0,
5981
0
     OPC_CheckChild1Integer, 126, 
5982
0
     OPC_MoveSibling1,
5983
0
     OPC_CheckImmAllOnesV,
5984
0
     OPC_MoveParent,
5985
0
     OPC_MoveParent,
5986
0
     OPC_MoveParent,
5987
0
     OPC_CheckType, MVT::v2i64,
5988
0
     OPC_CheckPatternPredicate0,
5989
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
5990
0
                   MVT::v2i64, 1, 0, 
5991
0
    77, TARGET_VAL(ISD::SUB),
5992
0
     OPC_MoveChild0,
5993
0
     OPC_CheckImmAllZerosV,
5994
0
     OPC_MoveParent,
5995
0
     OPC_RecordChild1,
5996
0
     OPC_MoveSibling1,
5997
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
5998
0
     OPC_CheckChild0Same, 0,
5999
0
     OPC_CheckChild1Integer, 126, 
6000
0
     OPC_MoveParent,
6001
0
     OPC_MoveSibling1,
6002
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6003
0
     OPC_Scope, 28, 
6004
0
      OPC_MoveChild0,
6005
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6006
0
      OPC_MoveChild0,
6007
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6008
0
      OPC_CheckChild0Same, 0,
6009
0
      OPC_CheckChild1Integer, 126, 
6010
0
      OPC_MoveSibling1,
6011
0
      OPC_CheckImmAllOnesV,
6012
0
      OPC_MoveParent,
6013
0
      OPC_MoveParent,
6014
0
      OPC_CheckChild1Same, 0,
6015
0
      OPC_MoveParent,
6016
0
      OPC_CheckType, MVT::v2i64,
6017
0
      OPC_CheckPatternPredicate0,
6018
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
6019
0
                    MVT::v2i64, 1, 0, 
6020
0
     28, 
6021
0
      OPC_CheckChild0Same, 0,
6022
0
      OPC_MoveChild1,
6023
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6024
0
      OPC_MoveChild0,
6025
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6026
0
      OPC_CheckChild0Same, 0,
6027
0
      OPC_CheckChild1Integer, 126, 
6028
0
      OPC_MoveSibling1,
6029
0
      OPC_CheckImmAllOnesV,
6030
0
      OPC_MoveParent,
6031
0
      OPC_MoveParent,
6032
0
      OPC_MoveParent,
6033
0
      OPC_CheckType, MVT::v2i64,
6034
0
      OPC_CheckPatternPredicate0,
6035
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
6036
0
                    MVT::v2i64, 1, 0, 
6037
0
     0, 
6038
0
    74, TARGET_VAL(ISD::XOR),
6039
0
     OPC_MoveChild0,
6040
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6041
0
     OPC_RecordChild0,
6042
0
     OPC_CheckChild1Integer, 126, 
6043
0
     OPC_MoveSibling1,
6044
0
     OPC_CheckImmAllOnesV,
6045
0
     OPC_MoveParent,
6046
0
     OPC_MoveParent,
6047
0
     OPC_CheckChild1Same, 0,
6048
0
     OPC_MoveSibling1,
6049
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6050
0
     OPC_MoveChild0,
6051
0
     OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6052
0
      OPC_CheckChild0Same, 0,
6053
0
      OPC_CheckChild1Integer, 126, 
6054
0
      OPC_MoveSibling1,
6055
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6056
0
      OPC_MoveChild0,
6057
0
      OPC_CheckImmAllZerosV,
6058
0
      OPC_MoveParent,
6059
0
      OPC_CheckChild1Same, 0,
6060
0
      OPC_MoveParent,
6061
0
      OPC_MoveParent,
6062
0
      OPC_CheckType, MVT::v2i64,
6063
0
      OPC_CheckPatternPredicate0,
6064
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
6065
0
                    MVT::v2i64, 1, 0, 
6066
0
     24, TARGET_VAL(ISD::SUB),
6067
0
      OPC_MoveChild0,
6068
0
      OPC_CheckImmAllZerosV,
6069
0
      OPC_MoveParent,
6070
0
      OPC_CheckChild1Same, 0,
6071
0
      OPC_MoveSibling1,
6072
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6073
0
      OPC_CheckChild0Same, 0,
6074
0
      OPC_CheckChild1Integer, 126, 
6075
0
      OPC_MoveParent,
6076
0
      OPC_MoveParent,
6077
0
      OPC_CheckType, MVT::v2i64,
6078
0
      OPC_CheckPatternPredicate0,
6079
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
6080
0
                    MVT::v2i64, 1, 0, 
6081
0
     0,
6082
0
    0,
6083
0
   78, 
6084
0
    OPC_RecordChild0,
6085
0
    OPC_MoveChild1,
6086
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6087
0
    OPC_MoveChild0,
6088
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6089
0
    OPC_CheckChild0Same, 0,
6090
0
    OPC_CheckChild1Integer, 126, 
6091
0
    OPC_MoveSibling1,
6092
0
    OPC_CheckImmAllOnesV,
6093
0
    OPC_MoveParent,
6094
0
    OPC_MoveParent,
6095
0
    OPC_MoveSibling1,
6096
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6097
0
    OPC_MoveChild0,
6098
0
    OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6099
0
     OPC_CheckChild0Same, 0,
6100
0
     OPC_CheckChild1Integer, 126, 
6101
0
     OPC_MoveSibling1,
6102
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6103
0
     OPC_MoveChild0,
6104
0
     OPC_CheckImmAllZerosV,
6105
0
     OPC_MoveParent,
6106
0
     OPC_CheckChild1Same, 0,
6107
0
     OPC_MoveParent,
6108
0
     OPC_MoveParent,
6109
0
     OPC_CheckType, MVT::v2i64,
6110
0
     OPC_CheckPatternPredicate0,
6111
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
6112
0
                   MVT::v2i64, 1, 0, 
6113
0
    24, TARGET_VAL(ISD::SUB),
6114
0
     OPC_MoveChild0,
6115
0
     OPC_CheckImmAllZerosV,
6116
0
     OPC_MoveParent,
6117
0
     OPC_CheckChild1Same, 0,
6118
0
     OPC_MoveSibling1,
6119
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6120
0
     OPC_CheckChild0Same, 0,
6121
0
     OPC_CheckChild1Integer, 126, 
6122
0
     OPC_MoveParent,
6123
0
     OPC_MoveParent,
6124
0
     OPC_CheckType, MVT::v2i64,
6125
0
     OPC_CheckPatternPredicate0,
6126
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
6127
0
                   MVT::v2i64, 1, 0, 
6128
0
    0,
6129
0
   125|128,1, 
6130
0
    OPC_MoveChild0,
6131
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6132
0
    OPC_RecordChild0,
6133
0
    OPC_Scope, 92, 
6134
0
     OPC_CheckChild1Integer, 14, 
6135
0
     OPC_MoveParent,
6136
0
     OPC_CheckChild1Same, 0,
6137
0
     OPC_MoveSibling1,
6138
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6139
0
     OPC_MoveChild0,
6140
0
     OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
6141
0
      OPC_MoveChild0,
6142
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6143
0
      OPC_CheckChild0Same, 0,
6144
0
      OPC_CheckChild1Integer, 14, 
6145
0
      OPC_MoveSibling1,
6146
0
      OPC_CheckImmAllOnesV,
6147
0
      OPC_MoveParent,
6148
0
      OPC_MoveSibling1,
6149
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6150
0
      OPC_MoveChild0,
6151
0
      OPC_CheckImmAllZerosV,
6152
0
      OPC_MoveParent,
6153
0
      OPC_CheckChild1Same, 0,
6154
0
      OPC_MoveParent,
6155
0
      OPC_MoveParent,
6156
0
      OPC_CheckType, MVT::v16i8,
6157
0
      OPC_CheckPatternPredicate0,
6158
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
6159
0
                    MVT::i128, 1, 0, 
6160
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
6161
0
                    MVT::v16i8, 1, 1, 
6162
0
     37, TARGET_VAL(ISD::SUB),
6163
0
      OPC_MoveChild0,
6164
0
      OPC_CheckImmAllZerosV,
6165
0
      OPC_MoveParent,
6166
0
      OPC_CheckChild1Same, 0,
6167
0
      OPC_MoveSibling1,
6168
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6169
0
      OPC_MoveChild0,
6170
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6171
0
      OPC_CheckChild0Same, 0,
6172
0
      OPC_CheckChild1Integer, 14, 
6173
0
      OPC_MoveSibling1,
6174
0
      OPC_CheckImmAllOnesV,
6175
0
      OPC_MoveParent,
6176
0
      OPC_MoveParent,
6177
0
      OPC_MoveParent,
6178
0
      OPC_CheckType, MVT::v16i8,
6179
0
      OPC_CheckPatternPredicate0,
6180
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
6181
0
                    MVT::i128, 1, 0, 
6182
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
6183
0
                    MVT::v16i8, 1, 1, 
6184
0
     0,
6185
0
    50, 
6186
0
     OPC_CheckChild1Integer, 30, 
6187
0
     OPC_MoveParent,
6188
0
     OPC_CheckChild1Same, 0,
6189
0
     OPC_MoveSibling1,
6190
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6191
0
     OPC_MoveChild0,
6192
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6193
0
     OPC_MoveChild0,
6194
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6195
0
     OPC_CheckChild0Same, 0,
6196
0
     OPC_CheckChild1Integer, 30, 
6197
0
     OPC_MoveSibling1,
6198
0
     OPC_CheckImmAllOnesV,
6199
0
     OPC_MoveParent,
6200
0
     OPC_MoveSibling1,
6201
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6202
0
     OPC_MoveChild0,
6203
0
     OPC_CheckImmAllZerosV,
6204
0
     OPC_MoveParent,
6205
0
     OPC_CheckChild1Same, 0,
6206
0
     OPC_MoveParent,
6207
0
     OPC_MoveParent,
6208
0
     OPC_CheckType, MVT::v8i16,
6209
0
     OPC_CheckPatternPredicate0,
6210
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
6211
0
                   MVT::i128, 1, 0, 
6212
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
6213
0
                   MVT::v8i16, 1, 1, 
6214
0
    50, 
6215
0
     OPC_CheckChild1Integer, 62, 
6216
0
     OPC_MoveParent,
6217
0
     OPC_CheckChild1Same, 0,
6218
0
     OPC_MoveSibling1,
6219
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6220
0
     OPC_MoveChild0,
6221
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6222
0
     OPC_MoveChild0,
6223
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6224
0
     OPC_CheckChild0Same, 0,
6225
0
     OPC_CheckChild1Integer, 62, 
6226
0
     OPC_MoveSibling1,
6227
0
     OPC_CheckImmAllOnesV,
6228
0
     OPC_MoveParent,
6229
0
     OPC_MoveSibling1,
6230
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6231
0
     OPC_MoveChild0,
6232
0
     OPC_CheckImmAllZerosV,
6233
0
     OPC_MoveParent,
6234
0
     OPC_CheckChild1Same, 0,
6235
0
     OPC_MoveParent,
6236
0
     OPC_MoveParent,
6237
0
     OPC_CheckType, MVT::v4i32,
6238
0
     OPC_CheckPatternPredicate0,
6239
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
6240
0
                   MVT::i128, 1, 0, 
6241
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
6242
0
                   MVT::v4i32, 1, 1, 
6243
0
    50, 
6244
0
     OPC_CheckChild1Integer, 126, 
6245
0
     OPC_MoveParent,
6246
0
     OPC_CheckChild1Same, 0,
6247
0
     OPC_MoveSibling1,
6248
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6249
0
     OPC_MoveChild0,
6250
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6251
0
     OPC_MoveChild0,
6252
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6253
0
     OPC_CheckChild0Same, 0,
6254
0
     OPC_CheckChild1Integer, 126, 
6255
0
     OPC_MoveSibling1,
6256
0
     OPC_CheckImmAllOnesV,
6257
0
     OPC_MoveParent,
6258
0
     OPC_MoveSibling1,
6259
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6260
0
     OPC_MoveChild0,
6261
0
     OPC_CheckImmAllZerosV,
6262
0
     OPC_MoveParent,
6263
0
     OPC_CheckChild1Same, 0,
6264
0
     OPC_MoveParent,
6265
0
     OPC_MoveParent,
6266
0
     OPC_CheckType, MVT::v2i64,
6267
0
     OPC_CheckPatternPredicate0,
6268
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
6269
0
                   MVT::i128, 1, 0, 
6270
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
6271
0
                   MVT::v2i64, 1, 1, 
6272
0
    0, 
6273
0
   97, 
6274
0
    OPC_RecordChild0,
6275
0
    OPC_MoveChild1,
6276
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6277
0
    OPC_CheckChild0Same, 0,
6278
0
    OPC_CheckChild1Integer, 14, 
6279
0
    OPC_MoveParent,
6280
0
    OPC_MoveSibling1,
6281
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6282
0
    OPC_MoveChild0,
6283
0
    OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
6284
0
     OPC_MoveChild0,
6285
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6286
0
     OPC_CheckChild0Same, 0,
6287
0
     OPC_CheckChild1Integer, 14, 
6288
0
     OPC_MoveSibling1,
6289
0
     OPC_CheckImmAllOnesV,
6290
0
     OPC_MoveParent,
6291
0
     OPC_MoveSibling1,
6292
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6293
0
     OPC_MoveChild0,
6294
0
     OPC_CheckImmAllZerosV,
6295
0
     OPC_MoveParent,
6296
0
     OPC_CheckChild1Same, 0,
6297
0
     OPC_MoveParent,
6298
0
     OPC_MoveParent,
6299
0
     OPC_CheckType, MVT::v16i8,
6300
0
     OPC_CheckPatternPredicate0,
6301
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
6302
0
                   MVT::i128, 1, 0, 
6303
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
6304
0
                   MVT::v16i8, 1, 1, 
6305
0
    37, TARGET_VAL(ISD::SUB),
6306
0
     OPC_MoveChild0,
6307
0
     OPC_CheckImmAllZerosV,
6308
0
     OPC_MoveParent,
6309
0
     OPC_CheckChild1Same, 0,
6310
0
     OPC_MoveSibling1,
6311
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6312
0
     OPC_MoveChild0,
6313
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6314
0
     OPC_CheckChild0Same, 0,
6315
0
     OPC_CheckChild1Integer, 14, 
6316
0
     OPC_MoveSibling1,
6317
0
     OPC_CheckImmAllOnesV,
6318
0
     OPC_MoveParent,
6319
0
     OPC_MoveParent,
6320
0
     OPC_MoveParent,
6321
0
     OPC_CheckType, MVT::v16i8,
6322
0
     OPC_CheckPatternPredicate0,
6323
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
6324
0
                   MVT::i128, 1, 0, 
6325
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
6326
0
                   MVT::v16i8, 1, 1, 
6327
0
    0,
6328
0
   99|128,1, 
6329
0
    OPC_MoveChild0,
6330
0
    OPC_SwitchOpcode , 82, TARGET_VAL(ISD::XOR),
6331
0
     OPC_MoveChild0,
6332
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6333
0
     OPC_RecordChild0,
6334
0
     OPC_CheckChild1Integer, 14, 
6335
0
     OPC_MoveSibling1,
6336
0
     OPC_CheckImmAllOnesV,
6337
0
     OPC_MoveParent,
6338
0
     OPC_MoveSibling1,
6339
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6340
0
     OPC_MoveChild0,
6341
0
     OPC_CheckImmAllZerosV,
6342
0
     OPC_MoveParent,
6343
0
     OPC_CheckChild1Same, 0,
6344
0
     OPC_MoveParent,
6345
0
     OPC_MoveSibling1,
6346
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6347
0
     OPC_Scope, 27, 
6348
0
      OPC_MoveChild0,
6349
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6350
0
      OPC_CheckChild0Same, 0,
6351
0
      OPC_CheckChild1Integer, 14, 
6352
0
      OPC_MoveParent,
6353
0
      OPC_CheckChild1Same, 0,
6354
0
      OPC_MoveParent,
6355
0
      OPC_CheckType, MVT::v16i8,
6356
0
      OPC_CheckPatternPredicate0,
6357
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
6358
0
                    MVT::i128, 1, 0, 
6359
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
6360
0
                    MVT::v16i8, 1, 1, 
6361
0
     27, 
6362
0
      OPC_CheckChild0Same, 0,
6363
0
      OPC_MoveChild1,
6364
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6365
0
      OPC_CheckChild0Same, 0,
6366
0
      OPC_CheckChild1Integer, 14, 
6367
0
      OPC_MoveParent,
6368
0
      OPC_MoveParent,
6369
0
      OPC_CheckType, MVT::v16i8,
6370
0
      OPC_CheckPatternPredicate0,
6371
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
6372
0
                    MVT::i128, 1, 0, 
6373
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
6374
0
                    MVT::v16i8, 1, 1, 
6375
0
     0, 
6376
0
    82, TARGET_VAL(ISD::SUB),
6377
0
     OPC_MoveChild0,
6378
0
     OPC_CheckImmAllZerosV,
6379
0
     OPC_MoveParent,
6380
0
     OPC_RecordChild1,
6381
0
     OPC_MoveSibling1,
6382
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6383
0
     OPC_MoveChild0,
6384
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6385
0
     OPC_CheckChild0Same, 0,
6386
0
     OPC_CheckChild1Integer, 14, 
6387
0
     OPC_MoveSibling1,
6388
0
     OPC_CheckImmAllOnesV,
6389
0
     OPC_MoveParent,
6390
0
     OPC_MoveParent,
6391
0
     OPC_MoveSibling1,
6392
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6393
0
     OPC_Scope, 27, 
6394
0
      OPC_MoveChild0,
6395
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6396
0
      OPC_CheckChild0Same, 0,
6397
0
      OPC_CheckChild1Integer, 14, 
6398
0
      OPC_MoveParent,
6399
0
      OPC_CheckChild1Same, 0,
6400
0
      OPC_MoveParent,
6401
0
      OPC_CheckType, MVT::v16i8,
6402
0
      OPC_CheckPatternPredicate0,
6403
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
6404
0
                    MVT::i128, 1, 0, 
6405
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
6406
0
                    MVT::v16i8, 1, 1, 
6407
0
     27, 
6408
0
      OPC_CheckChild0Same, 0,
6409
0
      OPC_MoveChild1,
6410
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6411
0
      OPC_CheckChild0Same, 0,
6412
0
      OPC_CheckChild1Integer, 14, 
6413
0
      OPC_MoveParent,
6414
0
      OPC_MoveParent,
6415
0
      OPC_CheckType, MVT::v16i8,
6416
0
      OPC_CheckPatternPredicate0,
6417
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
6418
0
                    MVT::i128, 1, 0, 
6419
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
6420
0
                    MVT::v16i8, 1, 1, 
6421
0
     0, 
6422
0
    51, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6423
0
     OPC_RecordChild0,
6424
0
     OPC_CheckChild1Integer, 30, 
6425
0
     OPC_MoveParent,
6426
0
     OPC_CheckChild1Same, 0,
6427
0
     OPC_MoveSibling1,
6428
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6429
0
     OPC_MoveChild0,
6430
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6431
0
     OPC_MoveChild0,
6432
0
     OPC_CheckImmAllZerosV,
6433
0
     OPC_MoveParent,
6434
0
     OPC_CheckChild1Same, 0,
6435
0
     OPC_MoveSibling1,
6436
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6437
0
     OPC_MoveChild0,
6438
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6439
0
     OPC_CheckChild0Same, 0,
6440
0
     OPC_CheckChild1Integer, 30, 
6441
0
     OPC_MoveSibling1,
6442
0
     OPC_CheckImmAllOnesV,
6443
0
     OPC_MoveParent,
6444
0
     OPC_MoveParent,
6445
0
     OPC_MoveParent,
6446
0
     OPC_CheckType, MVT::v8i16,
6447
0
     OPC_CheckPatternPredicate0,
6448
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
6449
0
                   MVT::i128, 1, 0, 
6450
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
6451
0
                   MVT::v8i16, 1, 1, 
6452
0
    0,
6453
0
   97, 
6454
0
    OPC_RecordChild0,
6455
0
    OPC_MoveChild1,
6456
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6457
0
    OPC_CheckChild0Same, 0,
6458
0
    OPC_CheckChild1Integer, 30, 
6459
0
    OPC_MoveParent,
6460
0
    OPC_MoveSibling1,
6461
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6462
0
    OPC_MoveChild0,
6463
0
    OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
6464
0
     OPC_MoveChild0,
6465
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6466
0
     OPC_CheckChild0Same, 0,
6467
0
     OPC_CheckChild1Integer, 30, 
6468
0
     OPC_MoveSibling1,
6469
0
     OPC_CheckImmAllOnesV,
6470
0
     OPC_MoveParent,
6471
0
     OPC_MoveSibling1,
6472
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6473
0
     OPC_MoveChild0,
6474
0
     OPC_CheckImmAllZerosV,
6475
0
     OPC_MoveParent,
6476
0
     OPC_CheckChild1Same, 0,
6477
0
     OPC_MoveParent,
6478
0
     OPC_MoveParent,
6479
0
     OPC_CheckType, MVT::v8i16,
6480
0
     OPC_CheckPatternPredicate0,
6481
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
6482
0
                   MVT::i128, 1, 0, 
6483
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
6484
0
                   MVT::v8i16, 1, 1, 
6485
0
    37, TARGET_VAL(ISD::SUB),
6486
0
     OPC_MoveChild0,
6487
0
     OPC_CheckImmAllZerosV,
6488
0
     OPC_MoveParent,
6489
0
     OPC_CheckChild1Same, 0,
6490
0
     OPC_MoveSibling1,
6491
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6492
0
     OPC_MoveChild0,
6493
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6494
0
     OPC_CheckChild0Same, 0,
6495
0
     OPC_CheckChild1Integer, 30, 
6496
0
     OPC_MoveSibling1,
6497
0
     OPC_CheckImmAllOnesV,
6498
0
     OPC_MoveParent,
6499
0
     OPC_MoveParent,
6500
0
     OPC_MoveParent,
6501
0
     OPC_CheckType, MVT::v8i16,
6502
0
     OPC_CheckPatternPredicate0,
6503
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
6504
0
                   MVT::i128, 1, 0, 
6505
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
6506
0
                   MVT::v8i16, 1, 1, 
6507
0
    0,
6508
0
   99|128,1, 
6509
0
    OPC_MoveChild0,
6510
0
    OPC_SwitchOpcode , 82, TARGET_VAL(ISD::XOR),
6511
0
     OPC_MoveChild0,
6512
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6513
0
     OPC_RecordChild0,
6514
0
     OPC_CheckChild1Integer, 30, 
6515
0
     OPC_MoveSibling1,
6516
0
     OPC_CheckImmAllOnesV,
6517
0
     OPC_MoveParent,
6518
0
     OPC_MoveSibling1,
6519
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6520
0
     OPC_MoveChild0,
6521
0
     OPC_CheckImmAllZerosV,
6522
0
     OPC_MoveParent,
6523
0
     OPC_CheckChild1Same, 0,
6524
0
     OPC_MoveParent,
6525
0
     OPC_MoveSibling1,
6526
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6527
0
     OPC_Scope, 27, 
6528
0
      OPC_MoveChild0,
6529
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6530
0
      OPC_CheckChild0Same, 0,
6531
0
      OPC_CheckChild1Integer, 30, 
6532
0
      OPC_MoveParent,
6533
0
      OPC_CheckChild1Same, 0,
6534
0
      OPC_MoveParent,
6535
0
      OPC_CheckType, MVT::v8i16,
6536
0
      OPC_CheckPatternPredicate0,
6537
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
6538
0
                    MVT::i128, 1, 0, 
6539
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
6540
0
                    MVT::v8i16, 1, 1, 
6541
0
     27, 
6542
0
      OPC_CheckChild0Same, 0,
6543
0
      OPC_MoveChild1,
6544
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6545
0
      OPC_CheckChild0Same, 0,
6546
0
      OPC_CheckChild1Integer, 30, 
6547
0
      OPC_MoveParent,
6548
0
      OPC_MoveParent,
6549
0
      OPC_CheckType, MVT::v8i16,
6550
0
      OPC_CheckPatternPredicate0,
6551
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
6552
0
                    MVT::i128, 1, 0, 
6553
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
6554
0
                    MVT::v8i16, 1, 1, 
6555
0
     0, 
6556
0
    82, TARGET_VAL(ISD::SUB),
6557
0
     OPC_MoveChild0,
6558
0
     OPC_CheckImmAllZerosV,
6559
0
     OPC_MoveParent,
6560
0
     OPC_RecordChild1,
6561
0
     OPC_MoveSibling1,
6562
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6563
0
     OPC_MoveChild0,
6564
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6565
0
     OPC_CheckChild0Same, 0,
6566
0
     OPC_CheckChild1Integer, 30, 
6567
0
     OPC_MoveSibling1,
6568
0
     OPC_CheckImmAllOnesV,
6569
0
     OPC_MoveParent,
6570
0
     OPC_MoveParent,
6571
0
     OPC_MoveSibling1,
6572
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6573
0
     OPC_Scope, 27, 
6574
0
      OPC_MoveChild0,
6575
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6576
0
      OPC_CheckChild0Same, 0,
6577
0
      OPC_CheckChild1Integer, 30, 
6578
0
      OPC_MoveParent,
6579
0
      OPC_CheckChild1Same, 0,
6580
0
      OPC_MoveParent,
6581
0
      OPC_CheckType, MVT::v8i16,
6582
0
      OPC_CheckPatternPredicate0,
6583
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
6584
0
                    MVT::i128, 1, 0, 
6585
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
6586
0
                    MVT::v8i16, 1, 1, 
6587
0
     27, 
6588
0
      OPC_CheckChild0Same, 0,
6589
0
      OPC_MoveChild1,
6590
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6591
0
      OPC_CheckChild0Same, 0,
6592
0
      OPC_CheckChild1Integer, 30, 
6593
0
      OPC_MoveParent,
6594
0
      OPC_MoveParent,
6595
0
      OPC_CheckType, MVT::v8i16,
6596
0
      OPC_CheckPatternPredicate0,
6597
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
6598
0
                    MVT::i128, 1, 0, 
6599
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
6600
0
                    MVT::v8i16, 1, 1, 
6601
0
     0, 
6602
0
    51, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6603
0
     OPC_RecordChild0,
6604
0
     OPC_CheckChild1Integer, 62, 
6605
0
     OPC_MoveParent,
6606
0
     OPC_CheckChild1Same, 0,
6607
0
     OPC_MoveSibling1,
6608
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6609
0
     OPC_MoveChild0,
6610
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6611
0
     OPC_MoveChild0,
6612
0
     OPC_CheckImmAllZerosV,
6613
0
     OPC_MoveParent,
6614
0
     OPC_CheckChild1Same, 0,
6615
0
     OPC_MoveSibling1,
6616
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6617
0
     OPC_MoveChild0,
6618
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6619
0
     OPC_CheckChild0Same, 0,
6620
0
     OPC_CheckChild1Integer, 62, 
6621
0
     OPC_MoveSibling1,
6622
0
     OPC_CheckImmAllOnesV,
6623
0
     OPC_MoveParent,
6624
0
     OPC_MoveParent,
6625
0
     OPC_MoveParent,
6626
0
     OPC_CheckType, MVT::v4i32,
6627
0
     OPC_CheckPatternPredicate0,
6628
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
6629
0
                   MVT::i128, 1, 0, 
6630
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
6631
0
                   MVT::v4i32, 1, 1, 
6632
0
    0,
6633
0
   97, 
6634
0
    OPC_RecordChild0,
6635
0
    OPC_MoveChild1,
6636
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6637
0
    OPC_CheckChild0Same, 0,
6638
0
    OPC_CheckChild1Integer, 62, 
6639
0
    OPC_MoveParent,
6640
0
    OPC_MoveSibling1,
6641
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6642
0
    OPC_MoveChild0,
6643
0
    OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
6644
0
     OPC_MoveChild0,
6645
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6646
0
     OPC_CheckChild0Same, 0,
6647
0
     OPC_CheckChild1Integer, 62, 
6648
0
     OPC_MoveSibling1,
6649
0
     OPC_CheckImmAllOnesV,
6650
0
     OPC_MoveParent,
6651
0
     OPC_MoveSibling1,
6652
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6653
0
     OPC_MoveChild0,
6654
0
     OPC_CheckImmAllZerosV,
6655
0
     OPC_MoveParent,
6656
0
     OPC_CheckChild1Same, 0,
6657
0
     OPC_MoveParent,
6658
0
     OPC_MoveParent,
6659
0
     OPC_CheckType, MVT::v4i32,
6660
0
     OPC_CheckPatternPredicate0,
6661
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
6662
0
                   MVT::i128, 1, 0, 
6663
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
6664
0
                   MVT::v4i32, 1, 1, 
6665
0
    37, TARGET_VAL(ISD::SUB),
6666
0
     OPC_MoveChild0,
6667
0
     OPC_CheckImmAllZerosV,
6668
0
     OPC_MoveParent,
6669
0
     OPC_CheckChild1Same, 0,
6670
0
     OPC_MoveSibling1,
6671
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6672
0
     OPC_MoveChild0,
6673
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6674
0
     OPC_CheckChild0Same, 0,
6675
0
     OPC_CheckChild1Integer, 62, 
6676
0
     OPC_MoveSibling1,
6677
0
     OPC_CheckImmAllOnesV,
6678
0
     OPC_MoveParent,
6679
0
     OPC_MoveParent,
6680
0
     OPC_MoveParent,
6681
0
     OPC_CheckType, MVT::v4i32,
6682
0
     OPC_CheckPatternPredicate0,
6683
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
6684
0
                   MVT::i128, 1, 0, 
6685
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
6686
0
                   MVT::v4i32, 1, 1, 
6687
0
    0,
6688
0
   99|128,1, 
6689
0
    OPC_MoveChild0,
6690
0
    OPC_SwitchOpcode , 82, TARGET_VAL(ISD::XOR),
6691
0
     OPC_MoveChild0,
6692
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6693
0
     OPC_RecordChild0,
6694
0
     OPC_CheckChild1Integer, 62, 
6695
0
     OPC_MoveSibling1,
6696
0
     OPC_CheckImmAllOnesV,
6697
0
     OPC_MoveParent,
6698
0
     OPC_MoveSibling1,
6699
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6700
0
     OPC_MoveChild0,
6701
0
     OPC_CheckImmAllZerosV,
6702
0
     OPC_MoveParent,
6703
0
     OPC_CheckChild1Same, 0,
6704
0
     OPC_MoveParent,
6705
0
     OPC_MoveSibling1,
6706
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6707
0
     OPC_Scope, 27, 
6708
0
      OPC_MoveChild0,
6709
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6710
0
      OPC_CheckChild0Same, 0,
6711
0
      OPC_CheckChild1Integer, 62, 
6712
0
      OPC_MoveParent,
6713
0
      OPC_CheckChild1Same, 0,
6714
0
      OPC_MoveParent,
6715
0
      OPC_CheckType, MVT::v4i32,
6716
0
      OPC_CheckPatternPredicate0,
6717
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
6718
0
                    MVT::i128, 1, 0, 
6719
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
6720
0
                    MVT::v4i32, 1, 1, 
6721
0
     27, 
6722
0
      OPC_CheckChild0Same, 0,
6723
0
      OPC_MoveChild1,
6724
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6725
0
      OPC_CheckChild0Same, 0,
6726
0
      OPC_CheckChild1Integer, 62, 
6727
0
      OPC_MoveParent,
6728
0
      OPC_MoveParent,
6729
0
      OPC_CheckType, MVT::v4i32,
6730
0
      OPC_CheckPatternPredicate0,
6731
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
6732
0
                    MVT::i128, 1, 0, 
6733
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
6734
0
                    MVT::v4i32, 1, 1, 
6735
0
     0, 
6736
0
    82, TARGET_VAL(ISD::SUB),
6737
0
     OPC_MoveChild0,
6738
0
     OPC_CheckImmAllZerosV,
6739
0
     OPC_MoveParent,
6740
0
     OPC_RecordChild1,
6741
0
     OPC_MoveSibling1,
6742
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6743
0
     OPC_MoveChild0,
6744
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6745
0
     OPC_CheckChild0Same, 0,
6746
0
     OPC_CheckChild1Integer, 62, 
6747
0
     OPC_MoveSibling1,
6748
0
     OPC_CheckImmAllOnesV,
6749
0
     OPC_MoveParent,
6750
0
     OPC_MoveParent,
6751
0
     OPC_MoveSibling1,
6752
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6753
0
     OPC_Scope, 27, 
6754
0
      OPC_MoveChild0,
6755
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6756
0
      OPC_CheckChild0Same, 0,
6757
0
      OPC_CheckChild1Integer, 62, 
6758
0
      OPC_MoveParent,
6759
0
      OPC_CheckChild1Same, 0,
6760
0
      OPC_MoveParent,
6761
0
      OPC_CheckType, MVT::v4i32,
6762
0
      OPC_CheckPatternPredicate0,
6763
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
6764
0
                    MVT::i128, 1, 0, 
6765
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
6766
0
                    MVT::v4i32, 1, 1, 
6767
0
     27, 
6768
0
      OPC_CheckChild0Same, 0,
6769
0
      OPC_MoveChild1,
6770
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6771
0
      OPC_CheckChild0Same, 0,
6772
0
      OPC_CheckChild1Integer, 62, 
6773
0
      OPC_MoveParent,
6774
0
      OPC_MoveParent,
6775
0
      OPC_CheckType, MVT::v4i32,
6776
0
      OPC_CheckPatternPredicate0,
6777
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
6778
0
                    MVT::i128, 1, 0, 
6779
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
6780
0
                    MVT::v4i32, 1, 1, 
6781
0
     0, 
6782
0
    51, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6783
0
     OPC_RecordChild0,
6784
0
     OPC_CheckChild1Integer, 126, 
6785
0
     OPC_MoveParent,
6786
0
     OPC_CheckChild1Same, 0,
6787
0
     OPC_MoveSibling1,
6788
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6789
0
     OPC_MoveChild0,
6790
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6791
0
     OPC_MoveChild0,
6792
0
     OPC_CheckImmAllZerosV,
6793
0
     OPC_MoveParent,
6794
0
     OPC_CheckChild1Same, 0,
6795
0
     OPC_MoveSibling1,
6796
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6797
0
     OPC_MoveChild0,
6798
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6799
0
     OPC_CheckChild0Same, 0,
6800
0
     OPC_CheckChild1Integer, 126, 
6801
0
     OPC_MoveSibling1,
6802
0
     OPC_CheckImmAllOnesV,
6803
0
     OPC_MoveParent,
6804
0
     OPC_MoveParent,
6805
0
     OPC_MoveParent,
6806
0
     OPC_CheckType, MVT::v2i64,
6807
0
     OPC_CheckPatternPredicate0,
6808
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
6809
0
                   MVT::i128, 1, 0, 
6810
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
6811
0
                   MVT::v2i64, 1, 1, 
6812
0
    0,
6813
0
   97, 
6814
0
    OPC_RecordChild0,
6815
0
    OPC_MoveChild1,
6816
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6817
0
    OPC_CheckChild0Same, 0,
6818
0
    OPC_CheckChild1Integer, 126, 
6819
0
    OPC_MoveParent,
6820
0
    OPC_MoveSibling1,
6821
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6822
0
    OPC_MoveChild0,
6823
0
    OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
6824
0
     OPC_MoveChild0,
6825
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6826
0
     OPC_CheckChild0Same, 0,
6827
0
     OPC_CheckChild1Integer, 126, 
6828
0
     OPC_MoveSibling1,
6829
0
     OPC_CheckImmAllOnesV,
6830
0
     OPC_MoveParent,
6831
0
     OPC_MoveSibling1,
6832
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6833
0
     OPC_MoveChild0,
6834
0
     OPC_CheckImmAllZerosV,
6835
0
     OPC_MoveParent,
6836
0
     OPC_CheckChild1Same, 0,
6837
0
     OPC_MoveParent,
6838
0
     OPC_MoveParent,
6839
0
     OPC_CheckType, MVT::v2i64,
6840
0
     OPC_CheckPatternPredicate0,
6841
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
6842
0
                   MVT::i128, 1, 0, 
6843
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
6844
0
                   MVT::v2i64, 1, 1, 
6845
0
    37, TARGET_VAL(ISD::SUB),
6846
0
     OPC_MoveChild0,
6847
0
     OPC_CheckImmAllZerosV,
6848
0
     OPC_MoveParent,
6849
0
     OPC_CheckChild1Same, 0,
6850
0
     OPC_MoveSibling1,
6851
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6852
0
     OPC_MoveChild0,
6853
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6854
0
     OPC_CheckChild0Same, 0,
6855
0
     OPC_CheckChild1Integer, 126, 
6856
0
     OPC_MoveSibling1,
6857
0
     OPC_CheckImmAllOnesV,
6858
0
     OPC_MoveParent,
6859
0
     OPC_MoveParent,
6860
0
     OPC_MoveParent,
6861
0
     OPC_CheckType, MVT::v2i64,
6862
0
     OPC_CheckPatternPredicate0,
6863
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
6864
0
                   MVT::i128, 1, 0, 
6865
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
6866
0
                   MVT::v2i64, 1, 1, 
6867
0
    0,
6868
0
   45|128,1, 
6869
0
    OPC_MoveChild0,
6870
0
    OPC_SwitchOpcode , 82, TARGET_VAL(ISD::XOR),
6871
0
     OPC_MoveChild0,
6872
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6873
0
     OPC_RecordChild0,
6874
0
     OPC_CheckChild1Integer, 126, 
6875
0
     OPC_MoveSibling1,
6876
0
     OPC_CheckImmAllOnesV,
6877
0
     OPC_MoveParent,
6878
0
     OPC_MoveSibling1,
6879
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6880
0
     OPC_MoveChild0,
6881
0
     OPC_CheckImmAllZerosV,
6882
0
     OPC_MoveParent,
6883
0
     OPC_CheckChild1Same, 0,
6884
0
     OPC_MoveParent,
6885
0
     OPC_MoveSibling1,
6886
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6887
0
     OPC_Scope, 27, 
6888
0
      OPC_MoveChild0,
6889
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6890
0
      OPC_CheckChild0Same, 0,
6891
0
      OPC_CheckChild1Integer, 126, 
6892
0
      OPC_MoveParent,
6893
0
      OPC_CheckChild1Same, 0,
6894
0
      OPC_MoveParent,
6895
0
      OPC_CheckType, MVT::v2i64,
6896
0
      OPC_CheckPatternPredicate0,
6897
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
6898
0
                    MVT::i128, 1, 0, 
6899
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
6900
0
                    MVT::v2i64, 1, 1, 
6901
0
     27, 
6902
0
      OPC_CheckChild0Same, 0,
6903
0
      OPC_MoveChild1,
6904
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6905
0
      OPC_CheckChild0Same, 0,
6906
0
      OPC_CheckChild1Integer, 126, 
6907
0
      OPC_MoveParent,
6908
0
      OPC_MoveParent,
6909
0
      OPC_CheckType, MVT::v2i64,
6910
0
      OPC_CheckPatternPredicate0,
6911
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
6912
0
                    MVT::i128, 1, 0, 
6913
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
6914
0
                    MVT::v2i64, 1, 1, 
6915
0
     0, 
6916
0
    82, TARGET_VAL(ISD::SUB),
6917
0
     OPC_MoveChild0,
6918
0
     OPC_CheckImmAllZerosV,
6919
0
     OPC_MoveParent,
6920
0
     OPC_RecordChild1,
6921
0
     OPC_MoveSibling1,
6922
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6923
0
     OPC_MoveChild0,
6924
0
     OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6925
0
     OPC_CheckChild0Same, 0,
6926
0
     OPC_CheckChild1Integer, 126, 
6927
0
     OPC_MoveSibling1,
6928
0
     OPC_CheckImmAllOnesV,
6929
0
     OPC_MoveParent,
6930
0
     OPC_MoveParent,
6931
0
     OPC_MoveSibling1,
6932
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6933
0
     OPC_Scope, 27, 
6934
0
      OPC_MoveChild0,
6935
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6936
0
      OPC_CheckChild0Same, 0,
6937
0
      OPC_CheckChild1Integer, 126, 
6938
0
      OPC_MoveParent,
6939
0
      OPC_CheckChild1Same, 0,
6940
0
      OPC_MoveParent,
6941
0
      OPC_CheckType, MVT::v2i64,
6942
0
      OPC_CheckPatternPredicate0,
6943
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
6944
0
                    MVT::i128, 1, 0, 
6945
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
6946
0
                    MVT::v2i64, 1, 1, 
6947
0
     27, 
6948
0
      OPC_CheckChild0Same, 0,
6949
0
      OPC_MoveChild1,
6950
0
      OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6951
0
      OPC_CheckChild0Same, 0,
6952
0
      OPC_CheckChild1Integer, 126, 
6953
0
      OPC_MoveParent,
6954
0
      OPC_MoveParent,
6955
0
      OPC_CheckType, MVT::v2i64,
6956
0
      OPC_CheckPatternPredicate0,
6957
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
6958
0
                    MVT::i128, 1, 0, 
6959
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
6960
0
                    MVT::v2i64, 1, 1, 
6961
0
     0, 
6962
0
    0,
6963
0
   63|128,1, 
6964
0
    OPC_RecordChild0,
6965
0
    OPC_Scope, 10|128,1, 
6966
0
     OPC_RecordChild1,
6967
0
     OPC_MoveSibling1,
6968
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6969
0
     OPC_Scope, 58, 
6970
0
      OPC_RecordChild0,
6971
0
      OPC_MoveChild1,
6972
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6973
0
      OPC_CheckChild0Same, 1,
6974
0
      OPC_MoveChild1,
6975
0
      OPC_CheckImmAllOnesV,
6976
0
      OPC_MoveParent,
6977
0
      OPC_MoveParent,
6978
0
      OPC_MoveParent,
6979
0
      OPC_SwitchType , 9, MVT::v16i8,
6980
0
       OPC_CheckPatternPredicate0,
6981
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
6982
0
                     MVT::v16i8, 3, 0, 2, 1, 
6983
0
      9, MVT::v8i16,
6984
0
       OPC_CheckPatternPredicate0,
6985
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
6986
0
                     MVT::v8i16, 3, 0, 2, 1, 
6987
0
      9, MVT::v4i32,
6988
0
       OPC_CheckPatternPredicate0,
6989
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
6990
0
                     MVT::v4i32, 3, 0, 2, 1, 
6991
0
      9, MVT::v2i64,
6992
0
       OPC_CheckPatternPredicate0,
6993
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
6994
0
                     MVT::v2i64, 3, 0, 2, 1, 
6995
0
      0,
6996
0
     23, 
6997
0
      OPC_MoveChild0,
6998
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6999
0
      OPC_CheckChild0Same, 1,
7000
0
      OPC_MoveChild1,
7001
0
      OPC_CheckImmAllOnesV,
7002
0
      OPC_MoveParent,
7003
0
      OPC_MoveParent,
7004
0
      OPC_RecordChild1,
7005
0
      OPC_MoveParent,
7006
0
      OPC_CheckType, MVT::v16i8,
7007
0
      OPC_CheckPatternPredicate0,
7008
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7009
0
                    MVT::v16i8, 3, 0, 2, 1, 
7010
0
     23, 
7011
0
      OPC_RecordChild0,
7012
0
      OPC_MoveChild1,
7013
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7014
0
      OPC_CheckChild0Same, 0,
7015
0
      OPC_MoveChild1,
7016
0
      OPC_CheckImmAllOnesV,
7017
0
      OPC_MoveParent,
7018
0
      OPC_MoveParent,
7019
0
      OPC_MoveParent,
7020
0
      OPC_CheckType, MVT::v16i8,
7021
0
      OPC_CheckPatternPredicate0,
7022
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7023
0
                    MVT::v16i8, 3, 1, 2, 0, 
7024
0
     23, 
7025
0
      OPC_MoveChild0,
7026
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7027
0
      OPC_CheckChild0Same, 0,
7028
0
      OPC_MoveChild1,
7029
0
      OPC_CheckImmAllOnesV,
7030
0
      OPC_MoveParent,
7031
0
      OPC_MoveParent,
7032
0
      OPC_RecordChild1,
7033
0
      OPC_MoveParent,
7034
0
      OPC_CheckType, MVT::v16i8,
7035
0
      OPC_CheckPatternPredicate0,
7036
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7037
0
                    MVT::v16i8, 3, 1, 2, 0, 
7038
0
     0, 
7039
0
    47, 
7040
0
     OPC_MoveChild1,
7041
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7042
0
     OPC_RecordChild0,
7043
0
     OPC_MoveChild1,
7044
0
     OPC_CheckImmAllOnesV,
7045
0
     OPC_MoveParent,
7046
0
     OPC_MoveParent,
7047
0
     OPC_MoveSibling1,
7048
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7049
0
     OPC_Scope, 15, 
7050
0
      OPC_RecordChild0,
7051
0
      OPC_CheckChild1Same, 1,
7052
0
      OPC_MoveParent,
7053
0
      OPC_CheckType, MVT::v16i8,
7054
0
      OPC_CheckPatternPredicate0,
7055
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7056
0
                    MVT::v16i8, 3, 2, 0, 1, 
7057
0
     15, 
7058
0
      OPC_CheckChild0Same, 1,
7059
0
      OPC_RecordChild1,
7060
0
      OPC_MoveParent,
7061
0
      OPC_CheckType, MVT::v16i8,
7062
0
      OPC_CheckPatternPredicate0,
7063
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7064
0
                    MVT::v16i8, 3, 2, 0, 1, 
7065
0
     0, 
7066
0
    0, 
7067
0
   48, 
7068
0
    OPC_MoveChild0,
7069
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7070
0
    OPC_RecordChild0,
7071
0
    OPC_MoveChild1,
7072
0
    OPC_CheckImmAllOnesV,
7073
0
    OPC_MoveParent,
7074
0
    OPC_MoveParent,
7075
0
    OPC_RecordChild1,
7076
0
    OPC_MoveSibling1,
7077
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7078
0
    OPC_Scope, 15, 
7079
0
     OPC_RecordChild0,
7080
0
     OPC_CheckChild1Same, 0,
7081
0
     OPC_MoveParent,
7082
0
     OPC_CheckType, MVT::v16i8,
7083
0
     OPC_CheckPatternPredicate0,
7084
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7085
0
                   MVT::v16i8, 3, 2, 1, 0, 
7086
0
    15, 
7087
0
     OPC_CheckChild0Same, 0,
7088
0
     OPC_RecordChild1,
7089
0
     OPC_MoveParent,
7090
0
     OPC_CheckType, MVT::v16i8,
7091
0
     OPC_CheckPatternPredicate0,
7092
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7093
0
                   MVT::v16i8, 3, 2, 1, 0, 
7094
0
    0, 
7095
0
   3|128,1, 
7096
0
    OPC_RecordChild0,
7097
0
    OPC_Scope, 79, 
7098
0
     OPC_RecordChild1,
7099
0
     OPC_MoveSibling1,
7100
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7101
0
     OPC_Scope, 23, 
7102
0
      OPC_MoveChild0,
7103
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7104
0
      OPC_CheckChild0Same, 1,
7105
0
      OPC_MoveChild1,
7106
0
      OPC_CheckImmAllOnesV,
7107
0
      OPC_MoveParent,
7108
0
      OPC_MoveParent,
7109
0
      OPC_RecordChild1,
7110
0
      OPC_MoveParent,
7111
0
      OPC_CheckType, MVT::v8i16,
7112
0
      OPC_CheckPatternPredicate0,
7113
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7114
0
                    MVT::v8i16, 3, 0, 2, 1, 
7115
0
     23, 
7116
0
      OPC_RecordChild0,
7117
0
      OPC_MoveChild1,
7118
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7119
0
      OPC_CheckChild0Same, 0,
7120
0
      OPC_MoveChild1,
7121
0
      OPC_CheckImmAllOnesV,
7122
0
      OPC_MoveParent,
7123
0
      OPC_MoveParent,
7124
0
      OPC_MoveParent,
7125
0
      OPC_CheckType, MVT::v8i16,
7126
0
      OPC_CheckPatternPredicate0,
7127
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7128
0
                    MVT::v8i16, 3, 1, 2, 0, 
7129
0
     23, 
7130
0
      OPC_MoveChild0,
7131
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7132
0
      OPC_CheckChild0Same, 0,
7133
0
      OPC_MoveChild1,
7134
0
      OPC_CheckImmAllOnesV,
7135
0
      OPC_MoveParent,
7136
0
      OPC_MoveParent,
7137
0
      OPC_RecordChild1,
7138
0
      OPC_MoveParent,
7139
0
      OPC_CheckType, MVT::v8i16,
7140
0
      OPC_CheckPatternPredicate0,
7141
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7142
0
                    MVT::v8i16, 3, 1, 2, 0, 
7143
0
     0, 
7144
0
    47, 
7145
0
     OPC_MoveChild1,
7146
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7147
0
     OPC_RecordChild0,
7148
0
     OPC_MoveChild1,
7149
0
     OPC_CheckImmAllOnesV,
7150
0
     OPC_MoveParent,
7151
0
     OPC_MoveParent,
7152
0
     OPC_MoveSibling1,
7153
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7154
0
     OPC_Scope, 15, 
7155
0
      OPC_RecordChild0,
7156
0
      OPC_CheckChild1Same, 1,
7157
0
      OPC_MoveParent,
7158
0
      OPC_CheckType, MVT::v8i16,
7159
0
      OPC_CheckPatternPredicate0,
7160
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7161
0
                    MVT::v8i16, 3, 2, 0, 1, 
7162
0
     15, 
7163
0
      OPC_CheckChild0Same, 1,
7164
0
      OPC_RecordChild1,
7165
0
      OPC_MoveParent,
7166
0
      OPC_CheckType, MVT::v8i16,
7167
0
      OPC_CheckPatternPredicate0,
7168
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7169
0
                    MVT::v8i16, 3, 2, 0, 1, 
7170
0
     0, 
7171
0
    0, 
7172
0
   48, 
7173
0
    OPC_MoveChild0,
7174
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7175
0
    OPC_RecordChild0,
7176
0
    OPC_MoveChild1,
7177
0
    OPC_CheckImmAllOnesV,
7178
0
    OPC_MoveParent,
7179
0
    OPC_MoveParent,
7180
0
    OPC_RecordChild1,
7181
0
    OPC_MoveSibling1,
7182
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7183
0
    OPC_Scope, 15, 
7184
0
     OPC_RecordChild0,
7185
0
     OPC_CheckChild1Same, 0,
7186
0
     OPC_MoveParent,
7187
0
     OPC_CheckType, MVT::v8i16,
7188
0
     OPC_CheckPatternPredicate0,
7189
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7190
0
                   MVT::v8i16, 3, 2, 1, 0, 
7191
0
    15, 
7192
0
     OPC_CheckChild0Same, 0,
7193
0
     OPC_RecordChild1,
7194
0
     OPC_MoveParent,
7195
0
     OPC_CheckType, MVT::v8i16,
7196
0
     OPC_CheckPatternPredicate0,
7197
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7198
0
                   MVT::v8i16, 3, 2, 1, 0, 
7199
0
    0, 
7200
0
   3|128,1, 
7201
0
    OPC_RecordChild0,
7202
0
    OPC_Scope, 79, 
7203
0
     OPC_RecordChild1,
7204
0
     OPC_MoveSibling1,
7205
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7206
0
     OPC_Scope, 23, 
7207
0
      OPC_MoveChild0,
7208
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7209
0
      OPC_CheckChild0Same, 1,
7210
0
      OPC_MoveChild1,
7211
0
      OPC_CheckImmAllOnesV,
7212
0
      OPC_MoveParent,
7213
0
      OPC_MoveParent,
7214
0
      OPC_RecordChild1,
7215
0
      OPC_MoveParent,
7216
0
      OPC_CheckType, MVT::v4i32,
7217
0
      OPC_CheckPatternPredicate0,
7218
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7219
0
                    MVT::v4i32, 3, 0, 2, 1, 
7220
0
     23, 
7221
0
      OPC_RecordChild0,
7222
0
      OPC_MoveChild1,
7223
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7224
0
      OPC_CheckChild0Same, 0,
7225
0
      OPC_MoveChild1,
7226
0
      OPC_CheckImmAllOnesV,
7227
0
      OPC_MoveParent,
7228
0
      OPC_MoveParent,
7229
0
      OPC_MoveParent,
7230
0
      OPC_CheckType, MVT::v4i32,
7231
0
      OPC_CheckPatternPredicate0,
7232
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7233
0
                    MVT::v4i32, 3, 1, 2, 0, 
7234
0
     23, 
7235
0
      OPC_MoveChild0,
7236
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7237
0
      OPC_CheckChild0Same, 0,
7238
0
      OPC_MoveChild1,
7239
0
      OPC_CheckImmAllOnesV,
7240
0
      OPC_MoveParent,
7241
0
      OPC_MoveParent,
7242
0
      OPC_RecordChild1,
7243
0
      OPC_MoveParent,
7244
0
      OPC_CheckType, MVT::v4i32,
7245
0
      OPC_CheckPatternPredicate0,
7246
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7247
0
                    MVT::v4i32, 3, 1, 2, 0, 
7248
0
     0, 
7249
0
    47, 
7250
0
     OPC_MoveChild1,
7251
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7252
0
     OPC_RecordChild0,
7253
0
     OPC_MoveChild1,
7254
0
     OPC_CheckImmAllOnesV,
7255
0
     OPC_MoveParent,
7256
0
     OPC_MoveParent,
7257
0
     OPC_MoveSibling1,
7258
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7259
0
     OPC_Scope, 15, 
7260
0
      OPC_RecordChild0,
7261
0
      OPC_CheckChild1Same, 1,
7262
0
      OPC_MoveParent,
7263
0
      OPC_CheckType, MVT::v4i32,
7264
0
      OPC_CheckPatternPredicate0,
7265
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7266
0
                    MVT::v4i32, 3, 2, 0, 1, 
7267
0
     15, 
7268
0
      OPC_CheckChild0Same, 1,
7269
0
      OPC_RecordChild1,
7270
0
      OPC_MoveParent,
7271
0
      OPC_CheckType, MVT::v4i32,
7272
0
      OPC_CheckPatternPredicate0,
7273
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7274
0
                    MVT::v4i32, 3, 2, 0, 1, 
7275
0
     0, 
7276
0
    0, 
7277
0
   48, 
7278
0
    OPC_MoveChild0,
7279
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7280
0
    OPC_RecordChild0,
7281
0
    OPC_MoveChild1,
7282
0
    OPC_CheckImmAllOnesV,
7283
0
    OPC_MoveParent,
7284
0
    OPC_MoveParent,
7285
0
    OPC_RecordChild1,
7286
0
    OPC_MoveSibling1,
7287
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7288
0
    OPC_Scope, 15, 
7289
0
     OPC_RecordChild0,
7290
0
     OPC_CheckChild1Same, 0,
7291
0
     OPC_MoveParent,
7292
0
     OPC_CheckType, MVT::v4i32,
7293
0
     OPC_CheckPatternPredicate0,
7294
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7295
0
                   MVT::v4i32, 3, 2, 1, 0, 
7296
0
    15, 
7297
0
     OPC_CheckChild0Same, 0,
7298
0
     OPC_RecordChild1,
7299
0
     OPC_MoveParent,
7300
0
     OPC_CheckType, MVT::v4i32,
7301
0
     OPC_CheckPatternPredicate0,
7302
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7303
0
                   MVT::v4i32, 3, 2, 1, 0, 
7304
0
    0, 
7305
0
   3|128,1, 
7306
0
    OPC_RecordChild0,
7307
0
    OPC_Scope, 79, 
7308
0
     OPC_RecordChild1,
7309
0
     OPC_MoveSibling1,
7310
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7311
0
     OPC_Scope, 23, 
7312
0
      OPC_MoveChild0,
7313
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7314
0
      OPC_CheckChild0Same, 1,
7315
0
      OPC_MoveChild1,
7316
0
      OPC_CheckImmAllOnesV,
7317
0
      OPC_MoveParent,
7318
0
      OPC_MoveParent,
7319
0
      OPC_RecordChild1,
7320
0
      OPC_MoveParent,
7321
0
      OPC_CheckType, MVT::v2i64,
7322
0
      OPC_CheckPatternPredicate0,
7323
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7324
0
                    MVT::v2i64, 3, 0, 2, 1, 
7325
0
     23, 
7326
0
      OPC_RecordChild0,
7327
0
      OPC_MoveChild1,
7328
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7329
0
      OPC_CheckChild0Same, 0,
7330
0
      OPC_MoveChild1,
7331
0
      OPC_CheckImmAllOnesV,
7332
0
      OPC_MoveParent,
7333
0
      OPC_MoveParent,
7334
0
      OPC_MoveParent,
7335
0
      OPC_CheckType, MVT::v2i64,
7336
0
      OPC_CheckPatternPredicate0,
7337
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7338
0
                    MVT::v2i64, 3, 1, 2, 0, 
7339
0
     23, 
7340
0
      OPC_MoveChild0,
7341
0
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7342
0
      OPC_CheckChild0Same, 0,
7343
0
      OPC_MoveChild1,
7344
0
      OPC_CheckImmAllOnesV,
7345
0
      OPC_MoveParent,
7346
0
      OPC_MoveParent,
7347
0
      OPC_RecordChild1,
7348
0
      OPC_MoveParent,
7349
0
      OPC_CheckType, MVT::v2i64,
7350
0
      OPC_CheckPatternPredicate0,
7351
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7352
0
                    MVT::v2i64, 3, 1, 2, 0, 
7353
0
     0, 
7354
0
    47, 
7355
0
     OPC_MoveChild1,
7356
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7357
0
     OPC_RecordChild0,
7358
0
     OPC_MoveChild1,
7359
0
     OPC_CheckImmAllOnesV,
7360
0
     OPC_MoveParent,
7361
0
     OPC_MoveParent,
7362
0
     OPC_MoveSibling1,
7363
0
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7364
0
     OPC_Scope, 15, 
7365
0
      OPC_RecordChild0,
7366
0
      OPC_CheckChild1Same, 1,
7367
0
      OPC_MoveParent,
7368
0
      OPC_CheckType, MVT::v2i64,
7369
0
      OPC_CheckPatternPredicate0,
7370
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7371
0
                    MVT::v2i64, 3, 2, 0, 1, 
7372
0
     15, 
7373
0
      OPC_CheckChild0Same, 1,
7374
0
      OPC_RecordChild1,
7375
0
      OPC_MoveParent,
7376
0
      OPC_CheckType, MVT::v2i64,
7377
0
      OPC_CheckPatternPredicate0,
7378
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7379
0
                    MVT::v2i64, 3, 2, 0, 1, 
7380
0
     0, 
7381
0
    0, 
7382
0
   48, 
7383
0
    OPC_MoveChild0,
7384
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7385
0
    OPC_RecordChild0,
7386
0
    OPC_MoveChild1,
7387
0
    OPC_CheckImmAllOnesV,
7388
0
    OPC_MoveParent,
7389
0
    OPC_MoveParent,
7390
0
    OPC_RecordChild1,
7391
0
    OPC_MoveSibling1,
7392
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7393
0
    OPC_Scope, 15, 
7394
0
     OPC_RecordChild0,
7395
0
     OPC_CheckChild1Same, 0,
7396
0
     OPC_MoveParent,
7397
0
     OPC_CheckType, MVT::v2i64,
7398
0
     OPC_CheckPatternPredicate0,
7399
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7400
0
                   MVT::v2i64, 3, 2, 1, 0, 
7401
0
    15, 
7402
0
     OPC_CheckChild0Same, 0,
7403
0
     OPC_RecordChild1,
7404
0
     OPC_MoveParent,
7405
0
     OPC_CheckType, MVT::v2i64,
7406
0
     OPC_CheckPatternPredicate0,
7407
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
7408
0
                   MVT::v2i64, 3, 2, 1, 0, 
7409
0
    0, 
7410
0
   0, 
7411
0
  52, 
7412
0
   OPC_RecordChild0,
7413
0
   OPC_MoveChild1,
7414
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7415
0
   OPC_RecordChild0,
7416
0
   OPC_MoveChild1,
7417
0
   OPC_CheckImmAllOnesV,
7418
0
   OPC_MoveParent,
7419
0
   OPC_MoveParent,
7420
0
   OPC_SwitchType , 8, MVT::v16i8,
7421
0
    OPC_CheckPatternPredicate1,
7422
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
7423
0
                  MVT::v16i8, 2, 0, 1, 
7424
0
   8, MVT::v8i16,
7425
0
    OPC_CheckPatternPredicate1,
7426
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
7427
0
                  MVT::v8i16, 2, 0, 1, 
7428
0
   8, MVT::v4i32,
7429
0
    OPC_CheckPatternPredicate1,
7430
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
7431
0
                  MVT::v4i32, 2, 0, 1, 
7432
0
   8, MVT::v2i64,
7433
0
    OPC_CheckPatternPredicate1,
7434
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
7435
0
                  MVT::v2i64, 2, 0, 1, 
7436
0
   0,
7437
0
  52, 
7438
0
   OPC_MoveChild0,
7439
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7440
0
   OPC_RecordChild0,
7441
0
   OPC_MoveChild1,
7442
0
   OPC_CheckImmAllOnesV,
7443
0
   OPC_MoveParent,
7444
0
   OPC_MoveParent,
7445
0
   OPC_RecordChild1,
7446
0
   OPC_SwitchType , 8, MVT::v16i8,
7447
0
    OPC_CheckPatternPredicate1,
7448
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
7449
0
                  MVT::v16i8, 2, 1, 0, 
7450
0
   8, MVT::v8i16,
7451
0
    OPC_CheckPatternPredicate1,
7452
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
7453
0
                  MVT::v8i16, 2, 1, 0, 
7454
0
   8, MVT::v4i32,
7455
0
    OPC_CheckPatternPredicate1,
7456
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
7457
0
                  MVT::v4i32, 2, 1, 0, 
7458
0
   8, MVT::v2i64,
7459
0
    OPC_CheckPatternPredicate1,
7460
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
7461
0
                  MVT::v2i64, 2, 1, 0, 
7462
0
   0,
7463
0
  44, 
7464
0
   OPC_RecordChild0,
7465
0
   OPC_RecordChild1,
7466
0
   OPC_SwitchType , 8, MVT::v16i8,
7467
0
    OPC_CheckPatternPredicate0,
7468
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
7469
0
                  MVT::v16i8, 2, 0, 1, 
7470
0
   8, MVT::v8i16,
7471
0
    OPC_CheckPatternPredicate0,
7472
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
7473
0
                  MVT::v8i16, 2, 0, 1, 
7474
0
   8, MVT::v4i32,
7475
0
    OPC_CheckPatternPredicate0,
7476
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
7477
0
                  MVT::v4i32, 2, 0, 1, 
7478
0
   8, MVT::v2i64,
7479
0
    OPC_CheckPatternPredicate0,
7480
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
7481
0
                  MVT::v2i64, 2, 0, 1, 
7482
0
   0,
7483
0
  0, 
7484
0
 23|128,2, TARGET_VAL(SystemZISD::TM),
7485
0
  OPC_Scope, 61, 
7486
0
   OPC_MoveChild0,
7487
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
7488
0
   OPC_RecordMemRef,
7489
0
   OPC_RecordNode,
7490
0
   OPC_CheckFoldableChainNode,
7491
0
   OPC_RecordChild1,
7492
0
   OPC_CheckChild1TypeI64,
7493
0
   OPC_CheckPredicate0, 
7494
0
   OPC_CheckPredicate4, 
7495
0
   OPC_CheckPredicate6, 
7496
0
   OPC_CheckTypeI32,
7497
0
   OPC_MoveSibling1,
7498
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7499
0
   OPC_RecordNode,
7500
0
   OPC_CheckPredicate, 23,
7501
0
   OPC_MoveParent,
7502
0
   OPC_CheckChild2Integer, 0, 
7503
0
   OPC_Scope, 17, 
7504
0
    OPC_CheckComplexPat, /*CP*/9, /*#*/1,
7505
0
    OPC_EmitMergeInputChains1_0,
7506
0
    OPC_EmitConvertToTarget2,
7507
0
    OPC_EmitNodeXForm, 0, 5,
7508
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::TM), 0|OPFL_Chain|OPFL_MemRefs,
7509
0
                  MVT::i32, 3, 3, 4, 6, 
7510
0
   17, 
7511
0
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
7512
0
    OPC_EmitMergeInputChains1_0,
7513
0
    OPC_EmitConvertToTarget2,
7514
0
    OPC_EmitNodeXForm, 0, 5,
7515
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::TMY), 0|OPFL_Chain|OPFL_MemRefs,
7516
0
                  MVT::i32, 3, 3, 4, 6, 
7517
0
   0, 
7518
0
  85|128,1, 
7519
0
   OPC_RecordChild0,
7520
0
   OPC_Scope, 124, 
7521
0
    OPC_CheckChild0TypeI32,
7522
0
    OPC_RecordChild1,
7523
0
    OPC_MoveChild1,
7524
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7525
0
    OPC_Scope, 19, 
7526
0
     OPC_CheckPredicate, 31,
7527
0
     OPC_MoveSibling2,
7528
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7529
0
     OPC_MoveParent,
7530
0
     OPC_CheckPatternPredicate2,
7531
0
     OPC_EmitConvertToTarget1,
7532
0
     OPC_EmitNodeXForm, 3, 2,
7533
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLMux),
7534
0
                   MVT::i32, 2, 0, 3, 
7535
0
    19, 
7536
0
     OPC_CheckPredicate, 27,
7537
0
     OPC_MoveSibling2,
7538
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7539
0
     OPC_MoveParent,
7540
0
     OPC_CheckPatternPredicate2,
7541
0
     OPC_EmitConvertToTarget1,
7542
0
     OPC_EmitNodeXForm, 4, 2,
7543
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHMux),
7544
0
                   MVT::i32, 2, 0, 3, 
7545
0
    18, 
7546
0
     OPC_CheckPredicate, 31,
7547
0
     OPC_MoveSibling2,
7548
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7549
0
     OPC_MoveParent,
7550
0
     OPC_EmitConvertToTarget1,
7551
0
     OPC_EmitNodeXForm, 3, 2,
7552
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLL),
7553
0
                   MVT::i32, 2, 0, 3, 
7554
0
    18, 
7555
0
     OPC_CheckPredicate, 27,
7556
0
     OPC_MoveSibling2,
7557
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7558
0
     OPC_MoveParent,
7559
0
     OPC_EmitConvertToTarget1,
7560
0
     OPC_EmitNodeXForm, 4, 2,
7561
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLH),
7562
0
                   MVT::i32, 2, 0, 3, 
7563
0
    18, 
7564
0
     OPC_CheckPredicate, 31,
7565
0
     OPC_MoveSibling2,
7566
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7567
0
     OPC_MoveParent,
7568
0
     OPC_EmitConvertToTarget1,
7569
0
     OPC_EmitNodeXForm, 3, 2,
7570
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHL),
7571
0
                   MVT::i32, 2, 0, 3, 
7572
0
    18, 
7573
0
     OPC_CheckPredicate, 27,
7574
0
     OPC_MoveSibling2,
7575
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7576
0
     OPC_MoveParent,
7577
0
     OPC_EmitConvertToTarget1,
7578
0
     OPC_EmitNodeXForm, 4, 2,
7579
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHH),
7580
0
                   MVT::i32, 2, 0, 3, 
7581
0
    0, 
7582
0
   84, 
7583
0
    OPC_CheckChild0TypeI64,
7584
0
    OPC_RecordChild1,
7585
0
    OPC_MoveChild1,
7586
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7587
0
    OPC_Scope, 18, 
7588
0
     OPC_CheckPredicate, 54,
7589
0
     OPC_MoveSibling2,
7590
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7591
0
     OPC_MoveParent,
7592
0
     OPC_EmitConvertToTarget1,
7593
0
     OPC_EmitNodeXForm, 3, 2,
7594
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLL64),
7595
0
                   MVT::i32, 2, 0, 3, 
7596
0
    18, 
7597
0
     OPC_CheckPredicate, 60,
7598
0
     OPC_MoveSibling2,
7599
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7600
0
     OPC_MoveParent,
7601
0
     OPC_EmitConvertToTarget1,
7602
0
     OPC_EmitNodeXForm, 4, 2,
7603
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLH64),
7604
0
                   MVT::i32, 2, 0, 3, 
7605
0
    18, 
7606
0
     OPC_CheckPredicate, 56,
7607
0
     OPC_MoveSibling2,
7608
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7609
0
     OPC_MoveParent,
7610
0
     OPC_EmitConvertToTarget1,
7611
0
     OPC_EmitNodeXForm, 5, 2,
7612
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHL64),
7613
0
                   MVT::i32, 2, 0, 3, 
7614
0
    18, 
7615
0
     OPC_CheckPredicate, 61,
7616
0
     OPC_MoveSibling2,
7617
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7618
0
     OPC_MoveParent,
7619
0
     OPC_EmitConvertToTarget1,
7620
0
     OPC_EmitNodeXForm, 6, 2,
7621
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHH64),
7622
0
                   MVT::i32, 2, 0, 3, 
7623
0
    0, 
7624
0
   0, 
7625
0
  0, 
7626
0
 47|128,8, TARGET_VAL(ISD::AND),
7627
0
  OPC_Scope, 33, 
7628
0
   OPC_CheckAndImm, 0|128,126|128,127|128,127|128,15, 
7629
0
   OPC_MoveChild0,
7630
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
7631
0
   OPC_RecordMemRef,
7632
0
   OPC_RecordNode,
7633
0
   OPC_CheckFoldableChainNode,
7634
0
   OPC_RecordChild1,
7635
0
   OPC_CheckChild1TypeI64,
7636
0
   OPC_CheckPredicate0, 
7637
0
   OPC_CheckPredicate2, 
7638
0
   OPC_MoveParent,
7639
0
   OPC_CheckTypeI32,
7640
0
   OPC_CheckPatternPredicate, 17,
7641
0
   OPC_CheckComplexPat2, /*#*/1,
7642
0
   OPC_EmitMergeInputChains1_0,
7643
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LZRF), 0|OPFL_Chain|OPFL_MemRefs,
7644
0
                 MVT::i32, 3, 2, 3, 4, 
7645
0
  38, 
7646
0
   OPC_CheckAndImm, 0|128,126|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1, 
7647
0
   OPC_MoveChild0,
7648
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
7649
0
   OPC_RecordMemRef,
7650
0
   OPC_RecordNode,
7651
0
   OPC_CheckFoldableChainNode,
7652
0
   OPC_RecordChild1,
7653
0
   OPC_CheckChild1TypeI64,
7654
0
   OPC_CheckPredicate0, 
7655
0
   OPC_CheckPredicate2, 
7656
0
   OPC_MoveParent,
7657
0
   OPC_CheckTypeI64,
7658
0
   OPC_CheckPatternPredicate, 17,
7659
0
   OPC_CheckComplexPat2, /*#*/1,
7660
0
   OPC_EmitMergeInputChains1_0,
7661
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LZRG), 0|OPFL_Chain|OPFL_MemRefs,
7662
0
                 MVT::i64, 3, 2, 3, 4, 
7663
0
  34, 
7664
0
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,7, 
7665
0
   OPC_MoveChild0,
7666
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
7667
0
   OPC_RecordMemRef,
7668
0
   OPC_RecordNode,
7669
0
   OPC_CheckFoldableChainNode,
7670
0
   OPC_RecordChild1,
7671
0
   OPC_CheckChild1TypeI64,
7672
0
   OPC_CheckPredicate0, 
7673
0
   OPC_CheckPredicate, 12,
7674
0
   OPC_CheckPredicate, 9,
7675
0
   OPC_MoveParent,
7676
0
   OPC_CheckTypeI64,
7677
0
   OPC_CheckComplexPat2, /*#*/1,
7678
0
   OPC_EmitMergeInputChains1_0,
7679
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGT), 0|OPFL_Chain|OPFL_MemRefs,
7680
0
                 MVT::i64, 3, 2, 3, 4, 
7681
0
  36, 
7682
0
   OPC_CheckAndImm, 0|128,126|128,127|128,127|128,15, 
7683
0
   OPC_MoveChild0,
7684
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
7685
0
   OPC_RecordMemRef,
7686
0
   OPC_RecordNode,
7687
0
   OPC_CheckFoldableChainNode,
7688
0
   OPC_RecordChild1,
7689
0
   OPC_CheckChild1TypeI64,
7690
0
   OPC_CheckPredicate0, 
7691
0
   OPC_CheckPredicate, 12,
7692
0
   OPC_CheckPredicate, 9,
7693
0
   OPC_MoveParent,
7694
0
   OPC_CheckTypeI64,
7695
0
   OPC_CheckPatternPredicate, 17,
7696
0
   OPC_CheckComplexPat2, /*#*/1,
7697
0
   OPC_EmitMergeInputChains1_0,
7698
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLZRGF), 0|OPFL_Chain|OPFL_MemRefs,
7699
0
                 MVT::i64, 3, 2, 3, 4, 
7700
0
  65, 
7701
0
   OPC_RecordChild0,
7702
0
   OPC_MoveChild1,
7703
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
7704
0
   OPC_RecordMemRef,
7705
0
   OPC_RecordNode,
7706
0
   OPC_CheckFoldableChainNode,
7707
0
   OPC_RecordChild1,
7708
0
   OPC_CheckChild1TypeI64,
7709
0
   OPC_CheckPredicate0, 
7710
0
   OPC_CheckPredicate2, 
7711
0
   OPC_MoveParent,
7712
0
   OPC_SwitchType , 32, MVT::i32,
7713
0
    OPC_Scope, 14, 
7714
0
     OPC_CheckComplexPat3, /*#*/2,
7715
0
     OPC_EmitMergeInputChains1_1,
7716
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::N), 0|OPFL_Chain|OPFL_MemRefs,
7717
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
7718
0
    14, 
7719
0
     OPC_CheckComplexPat4, /*#*/2,
7720
0
     OPC_EmitMergeInputChains1_1,
7721
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NY), 0|OPFL_Chain|OPFL_MemRefs,
7722
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
7723
0
    0, 
7724
0
   14, MVT::i64,
7725
0
    OPC_CheckComplexPat2, /*#*/2,
7726
0
    OPC_EmitMergeInputChains1_1,
7727
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NG), 0|OPFL_Chain|OPFL_MemRefs,
7728
0
                  MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
7729
0
   0,
7730
0
  65, 
7731
0
   OPC_MoveChild0,
7732
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
7733
0
   OPC_RecordMemRef,
7734
0
   OPC_RecordNode,
7735
0
   OPC_CheckFoldableChainNode,
7736
0
   OPC_RecordChild1,
7737
0
   OPC_CheckChild1TypeI64,
7738
0
   OPC_CheckPredicate0, 
7739
0
   OPC_CheckPredicate2, 
7740
0
   OPC_MoveParent,
7741
0
   OPC_RecordChild1,
7742
0
   OPC_SwitchType , 32, MVT::i32,
7743
0
    OPC_Scope, 14, 
7744
0
     OPC_CheckComplexPat3, /*#*/1,
7745
0
     OPC_EmitMergeInputChains1_0,
7746
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::N), 0|OPFL_Chain|OPFL_MemRefs,
7747
0
                   MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
7748
0
    14, 
7749
0
     OPC_CheckComplexPat4, /*#*/1,
7750
0
     OPC_EmitMergeInputChains1_0,
7751
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NY), 0|OPFL_Chain|OPFL_MemRefs,
7752
0
                   MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
7753
0
    0, 
7754
0
   14, MVT::i64,
7755
0
    OPC_CheckComplexPat2, /*#*/1,
7756
0
    OPC_EmitMergeInputChains1_0,
7757
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NG), 0|OPFL_Chain|OPFL_MemRefs,
7758
0
                  MVT::i64, MVT::i32, 4, 2, 3, 4, 5, 
7759
0
   0,
7760
0
  43, 
7761
0
   OPC_RecordChild0,
7762
0
   OPC_MoveChild1,
7763
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7764
0
   OPC_RecordChild0,
7765
0
   OPC_CheckChild1Integer, 3, 
7766
0
   OPC_MoveParent,
7767
0
   OPC_SwitchType , 9, MVT::i32,
7768
0
    OPC_CheckPatternPredicate7,
7769
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NCRK),
7770
0
                  MVT::i32, MVT::i32, 2, 0, 1, 
7771
0
   9, MVT::i64,
7772
0
    OPC_CheckPatternPredicate7,
7773
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NCGRK),
7774
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
7775
0
   8, MVT::i128,
7776
0
    OPC_CheckPatternPredicate0,
7777
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
7778
0
                  MVT::i128, 2, 0, 1, 
7779
0
   0,
7780
0
  63, 
7781
0
   OPC_MoveChild0,
7782
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7783
0
   OPC_RecordChild0,
7784
0
   OPC_CheckChild1Integer, 3, 
7785
0
   OPC_MoveParent,
7786
0
   OPC_RecordChild1,
7787
0
   OPC_SwitchType , 9, MVT::i32,
7788
0
    OPC_CheckPatternPredicate7,
7789
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NCRK),
7790
0
                  MVT::i32, MVT::i32, 2, 1, 0, 
7791
0
   29, MVT::i64,
7792
0
    OPC_Scope, 9, 
7793
0
     OPC_CheckPatternPredicate7,
7794
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NCGRK),
7795
0
                   MVT::i64, MVT::i32, 2, 1, 0, 
7796
0
    16, 
7797
0
     OPC_EmitNode2None, TARGET_VAL(SystemZ::NGR),
7798
0
                   MVT::i64, MVT::i32, 2, 1, 0, 
7799
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XGR),
7800
0
                   MVT::i64, MVT::i32, 2, 1, 2, 
7801
0
    0, 
7802
0
   8, MVT::i128,
7803
0
    OPC_CheckPatternPredicate0,
7804
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
7805
0
                  MVT::i128, 2, 1, 0, 
7806
0
   0,
7807
0
  34, 
7808
0
   OPC_CheckAndImm, 127|128,1, 
7809
0
   OPC_MoveChild0,
7810
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7811
0
   OPC_RecordChild0,
7812
0
   OPC_CheckChild0TypeI32,
7813
0
   OPC_MoveParent,
7814
0
   OPC_CheckType, MVT::i128,
7815
0
   OPC_CheckPatternPredicate0,
7816
0
   OPC_EmitInteger32, 0, 
7817
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
7818
0
                 MVT::i128, 1, 1, 
7819
0
   OPC_EmitRegisterI32, 0 ,
7820
0
   OPC_EmitInteger32, 30, 
7821
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGB),
7822
0
                 MVT::i128, 4, 2, 0, 3, 4, 
7823
0
  35, 
7824
0
   OPC_CheckAndImm, 127|128,127|128,3, 
7825
0
   OPC_MoveChild0,
7826
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7827
0
   OPC_RecordChild0,
7828
0
   OPC_CheckChild0TypeI32,
7829
0
   OPC_MoveParent,
7830
0
   OPC_CheckType, MVT::i128,
7831
0
   OPC_CheckPatternPredicate0,
7832
0
   OPC_EmitInteger32, 0, 
7833
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
7834
0
                 MVT::i128, 1, 1, 
7835
0
   OPC_EmitRegisterI32, 0 ,
7836
0
   OPC_EmitInteger32, 14, 
7837
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGH),
7838
0
                 MVT::i128, 4, 2, 0, 3, 4, 
7839
0
  26, 
7840
0
   OPC_RecordChild0,
7841
0
   OPC_MoveChild1,
7842
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7843
0
   OPC_RecordChild0,
7844
0
   OPC_CheckChild1Integer, 3, 
7845
0
   OPC_MoveParent,
7846
0
   OPC_CheckTypeI64,
7847
0
   OPC_EmitNode2None, TARGET_VAL(SystemZ::NGR),
7848
0
                 MVT::i64, MVT::i32, 2, 0, 1, 
7849
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XGR),
7850
0
                 MVT::i64, MVT::i32, 2, 0, 2, 
7851
0
  22, 
7852
0
   OPC_CheckAndImm, 127|128,1, 
7853
0
   OPC_RecordChild0,
7854
0
   OPC_CheckTypeI32,
7855
0
   OPC_Scope, 7, 
7856
0
    OPC_CheckPatternPredicate2,
7857
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLCRMux),
7858
0
                  MVT::i32, 1, 0, 
7859
0
   6, 
7860
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLCR),
7861
0
                  MVT::i32, 1, 0, 
7862
0
   0, 
7863
0
  23, 
7864
0
   OPC_CheckAndImm, 127|128,127|128,3, 
7865
0
   OPC_RecordChild0,
7866
0
   OPC_CheckTypeI32,
7867
0
   OPC_Scope, 7, 
7868
0
    OPC_CheckPatternPredicate2,
7869
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLHRMux),
7870
0
                  MVT::i32, 1, 0, 
7871
0
   6, 
7872
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLHR),
7873
0
                  MVT::i32, 1, 0, 
7874
0
   0, 
7875
0
  11, 
7876
0
   OPC_CheckAndImm, 127|128,1, 
7877
0
   OPC_RecordChild0,
7878
0
   OPC_CheckTypeI64,
7879
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGCR),
7880
0
                 MVT::i64, 1, 0, 
7881
0
  12, 
7882
0
   OPC_CheckAndImm, 127|128,127|128,3, 
7883
0
   OPC_RecordChild0,
7884
0
   OPC_CheckTypeI64,
7885
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGHR),
7886
0
                 MVT::i64, 1, 0, 
7887
0
  14, 
7888
0
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,7, 
7889
0
   OPC_RecordChild0,
7890
0
   OPC_CheckTypeI64,
7891
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGTR),
7892
0
                 MVT::i64, 1, 0, 
7893
0
  23, 
7894
0
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
7895
0
   OPC_RecordChild0,
7896
0
   OPC_CheckTypeI64,
7897
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
7898
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7899
0
                 MVT::i32, 2, 0, 1, 
7900
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGFR),
7901
0
                 MVT::i64, 1, 2, 
7902
0
  119|128,2, 
7903
0
   OPC_RecordChild0,
7904
0
   OPC_Scope, 62|128,2, 
7905
0
    OPC_RecordChild1,
7906
0
    OPC_Scope, 0|128,2, 
7907
0
     OPC_MoveChild1,
7908
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7909
0
     OPC_Scope, 17, 
7910
0
      OPC_CheckPredicate, 63,
7911
0
      OPC_MoveParent,
7912
0
      OPC_CheckTypeI32,
7913
0
      OPC_CheckPatternPredicate2,
7914
0
      OPC_EmitConvertToTarget1,
7915
0
      OPC_EmitNodeXForm, 3, 2,
7916
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILMux),
7917
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
7918
0
     17, 
7919
0
      OPC_CheckPredicate, 49,
7920
0
      OPC_MoveParent,
7921
0
      OPC_CheckTypeI32,
7922
0
      OPC_CheckPatternPredicate2,
7923
0
      OPC_EmitConvertToTarget1,
7924
0
      OPC_EmitNodeXForm, 4, 2,
7925
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHMux),
7926
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
7927
0
     16, 
7928
0
      OPC_CheckPredicate, 63,
7929
0
      OPC_MoveParent,
7930
0
      OPC_CheckTypeI32,
7931
0
      OPC_EmitConvertToTarget1,
7932
0
      OPC_EmitNodeXForm, 3, 2,
7933
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILL),
7934
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
7935
0
     16, 
7936
0
      OPC_CheckPredicate, 49,
7937
0
      OPC_MoveParent,
7938
0
      OPC_CheckTypeI32,
7939
0
      OPC_EmitConvertToTarget1,
7940
0
      OPC_EmitNodeXForm, 4, 2,
7941
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILH),
7942
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
7943
0
     16, 
7944
0
      OPC_CheckPredicate, 63,
7945
0
      OPC_MoveParent,
7946
0
      OPC_CheckTypeI32,
7947
0
      OPC_EmitConvertToTarget1,
7948
0
      OPC_EmitNodeXForm, 3, 2,
7949
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHL),
7950
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
7951
0
     16, 
7952
0
      OPC_CheckPredicate, 49,
7953
0
      OPC_MoveParent,
7954
0
      OPC_CheckTypeI32,
7955
0
      OPC_EmitConvertToTarget1,
7956
0
      OPC_EmitNodeXForm, 4, 2,
7957
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHH),
7958
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
7959
0
     16, 
7960
0
      OPC_CheckPredicate, 79,
7961
0
      OPC_MoveParent,
7962
0
      OPC_CheckTypeI64,
7963
0
      OPC_EmitConvertToTarget1,
7964
0
      OPC_EmitNodeXForm, 3, 2,
7965
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILL64),
7966
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
7967
0
     16, 
7968
0
      OPC_CheckPredicate, 69,
7969
0
      OPC_MoveParent,
7970
0
      OPC_CheckTypeI64,
7971
0
      OPC_EmitConvertToTarget1,
7972
0
      OPC_EmitNodeXForm, 4, 2,
7973
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILH64),
7974
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
7975
0
     16, 
7976
0
      OPC_CheckPredicate, 71,
7977
0
      OPC_MoveParent,
7978
0
      OPC_CheckTypeI64,
7979
0
      OPC_EmitConvertToTarget1,
7980
0
      OPC_EmitNodeXForm, 5, 2,
7981
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHL64),
7982
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
7983
0
     16, 
7984
0
      OPC_CheckPredicate, 74,
7985
0
      OPC_MoveParent,
7986
0
      OPC_CheckTypeI64,
7987
0
      OPC_EmitConvertToTarget1,
7988
0
      OPC_EmitNodeXForm, 6, 2,
7989
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHH64),
7990
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
7991
0
     16, 
7992
0
      OPC_CheckPredicate, 73,
7993
0
      OPC_MoveParent,
7994
0
      OPC_CheckTypeI64,
7995
0
      OPC_EmitConvertToTarget1,
7996
0
      OPC_EmitNodeXForm, 7, 2,
7997
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILF64),
7998
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
7999
0
     16, 
8000
0
      OPC_CheckPredicate, 75,
8001
0
      OPC_MoveParent,
8002
0
      OPC_CheckTypeI64,
8003
0
      OPC_EmitConvertToTarget1,
8004
0
      OPC_EmitNodeXForm, 8, 2,
8005
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHF64),
8006
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
8007
0
     43, 
8008
0
      OPC_MoveParent,
8009
0
      OPC_CheckTypeI32,
8010
0
      OPC_Scope, 13, 
8011
0
       OPC_CheckPatternPredicate2,
8012
0
       OPC_EmitConvertToTarget1,
8013
0
       OPC_EmitNodeXForm, 9, 2,
8014
0
       OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIFMux),
8015
0
                     MVT::i32, MVT::i32, 2, 0, 3, 
8016
0
      24, 
8017
0
       OPC_EmitConvertToTarget1,
8018
0
       OPC_EmitNodeXForm, 9, 2,
8019
0
       OPC_Scope, 8, 
8020
0
        OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILF),
8021
0
                      MVT::i32, MVT::i32, 2, 0, 3, 
8022
0
       8, 
8023
0
        OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHF),
8024
0
                      MVT::i32, MVT::i32, 2, 0, 3, 
8025
0
       0, 
8026
0
      0, 
8027
0
     0, 
8028
0
    22, 
8029
0
     OPC_CheckTypeI32,
8030
0
     OPC_Scope, 9, 
8031
0
      OPC_CheckPatternPredicate6,
8032
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NRK),
8033
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
8034
0
     8, 
8035
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NR),
8036
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
8037
0
     0, 
8038
0
    22, 
8039
0
     OPC_CheckTypeI64,
8040
0
     OPC_Scope, 9, 
8041
0
      OPC_CheckPatternPredicate6,
8042
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NGRK),
8043
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
8044
0
     8, 
8045
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NGR),
8046
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
8047
0
     0, 
8048
0
    10, 
8049
0
     OPC_CheckType, MVT::i128,
8050
0
     OPC_CheckPatternPredicate0,
8051
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
8052
0
                   MVT::i128, 2, 0, 1, 
8053
0
    0, 
8054
0
   51, 
8055
0
    OPC_MoveChild1,
8056
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8057
0
    OPC_RecordChild0,
8058
0
    OPC_MoveChild1,
8059
0
    OPC_CheckImmAllOnesV,
8060
0
    OPC_MoveParent,
8061
0
    OPC_MoveParent,
8062
0
    OPC_SwitchType , 8, MVT::v16i8,
8063
0
     OPC_CheckPatternPredicate0,
8064
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8065
0
                   MVT::v16i8, 2, 0, 1, 
8066
0
    8, MVT::v8i16,
8067
0
     OPC_CheckPatternPredicate0,
8068
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8069
0
                   MVT::v8i16, 2, 0, 1, 
8070
0
    8, MVT::v4i32,
8071
0
     OPC_CheckPatternPredicate0,
8072
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8073
0
                   MVT::v4i32, 2, 0, 1, 
8074
0
    8, MVT::v2i64,
8075
0
     OPC_CheckPatternPredicate0,
8076
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8077
0
                   MVT::v2i64, 2, 0, 1, 
8078
0
    0,
8079
0
   0, 
8080
0
  52, 
8081
0
   OPC_MoveChild0,
8082
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8083
0
   OPC_RecordChild0,
8084
0
   OPC_MoveChild1,
8085
0
   OPC_CheckImmAllOnesV,
8086
0
   OPC_MoveParent,
8087
0
   OPC_MoveParent,
8088
0
   OPC_RecordChild1,
8089
0
   OPC_SwitchType , 8, MVT::v16i8,
8090
0
    OPC_CheckPatternPredicate0,
8091
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8092
0
                  MVT::v16i8, 2, 1, 0, 
8093
0
   8, MVT::v8i16,
8094
0
    OPC_CheckPatternPredicate0,
8095
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8096
0
                  MVT::v8i16, 2, 1, 0, 
8097
0
   8, MVT::v4i32,
8098
0
    OPC_CheckPatternPredicate0,
8099
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8100
0
                  MVT::v4i32, 2, 1, 0, 
8101
0
   8, MVT::v2i64,
8102
0
    OPC_CheckPatternPredicate0,
8103
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8104
0
                  MVT::v2i64, 2, 1, 0, 
8105
0
   0,
8106
0
  44, 
8107
0
   OPC_RecordChild0,
8108
0
   OPC_RecordChild1,
8109
0
   OPC_SwitchType , 8, MVT::v16i8,
8110
0
    OPC_CheckPatternPredicate0,
8111
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
8112
0
                  MVT::v16i8, 2, 0, 1, 
8113
0
   8, MVT::v8i16,
8114
0
    OPC_CheckPatternPredicate0,
8115
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
8116
0
                  MVT::v8i16, 2, 0, 1, 
8117
0
   8, MVT::v4i32,
8118
0
    OPC_CheckPatternPredicate0,
8119
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
8120
0
                  MVT::v4i32, 2, 0, 1, 
8121
0
   8, MVT::v2i64,
8122
0
    OPC_CheckPatternPredicate0,
8123
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
8124
0
                  MVT::v2i64, 2, 0, 1, 
8125
0
   0,
8126
0
  0, 
8127
0
 123|128,3, TARGET_VAL(SystemZISD::SELECT_CCMASK),
8128
0
  OPC_Scope, 110, 
8129
0
   OPC_MoveChild0,
8130
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8131
0
   OPC_RecordMemRef,
8132
0
   OPC_RecordNode,
8133
0
   OPC_CheckFoldableChainNode,
8134
0
   OPC_RecordChild1,
8135
0
   OPC_CheckChild1TypeI64,
8136
0
   OPC_CheckPredicate0, 
8137
0
   OPC_CheckPredicate2, 
8138
0
   OPC_CheckPredicate, 25,
8139
0
   OPC_MoveParent,
8140
0
   OPC_RecordChild1,
8141
0
   OPC_RecordChild2,
8142
0
   OPC_MoveChild2,
8143
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8144
0
   OPC_CheckPredicate, 28,
8145
0
   OPC_MoveSibling3,
8146
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8147
0
   OPC_RecordNode,
8148
0
   OPC_CheckPredicate, 28,
8149
0
   OPC_MoveParent,
8150
0
   OPC_RecordChild4,
8151
0
   OPC_SwitchType , 55, MVT::i32,
8152
0
    OPC_Scope, 33, 
8153
0
     OPC_CheckPatternPredicate, 11,
8154
0
     OPC_CheckComplexPat5, /*#*/1,
8155
0
     OPC_EmitMergeInputChains1_0,
8156
0
     OPC_EmitCopyToReg5, SystemZ::CC,
8157
0
     OPC_Scope, 11, 
8158
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LOCMux), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
8159
0
                    MVT::i32, 5, 2, 6, 7, 3, 4, 
8160
0
     11, 
8161
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LOCFH), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
8162
0
                    MVT::i32, 5, 2, 6, 7, 3, 4, 
8163
0
     0, 
8164
0
    18, 
8165
0
     OPC_CheckPatternPredicate, 15,
8166
0
     OPC_CheckComplexPat5, /*#*/1,
8167
0
     OPC_EmitMergeInputChains1_0,
8168
0
     OPC_EmitCopyToReg5, SystemZ::CC,
8169
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LOC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
8170
0
                   MVT::i32, 5, 2, 6, 7, 3, 4, 
8171
0
    0, 
8172
0
   18, MVT::i64,
8173
0
    OPC_CheckPatternPredicate, 15,
8174
0
    OPC_CheckComplexPat5, /*#*/1,
8175
0
    OPC_EmitMergeInputChains1_0,
8176
0
    OPC_EmitCopyToReg5, SystemZ::CC,
8177
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LOCG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
8178
0
                  MVT::i64, 5, 2, 6, 7, 3, 4, 
8179
0
   0,
8180
0
  8|128,3, 
8181
0
   OPC_RecordChild0,
8182
0
   OPC_Scope, 107, 
8183
0
    OPC_MoveChild0,
8184
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8185
0
    OPC_Scope, 61, 
8186
0
     OPC_CheckPredicate, 13,
8187
0
     OPC_MoveParent,
8188
0
     OPC_RecordChild1,
8189
0
     OPC_RecordChild2,
8190
0
     OPC_MoveChild2,
8191
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8192
0
     OPC_CheckPredicate, 28,
8193
0
     OPC_MoveSibling3,
8194
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8195
0
     OPC_RecordNode,
8196
0
     OPC_CheckPredicate, 28,
8197
0
     OPC_MoveParent,
8198
0
     OPC_RecordChild4,
8199
0
     OPC_CheckTypeI32,
8200
0
     OPC_CheckPatternPredicate, 11,
8201
0
     OPC_EmitConvertToTarget0,
8202
0
     OPC_EmitNodeXForm, 2, 5,
8203
0
     OPC_EmitCopyToReg4, SystemZ::CC,
8204
0
     OPC_Scope, 9, 
8205
0
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCHIMux),
8206
0
                    MVT::i32, 4, 1, 6, 2, 3, 
8207
0
     9, 
8208
0
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCHHI),
8209
0
                    MVT::i32, 4, 1, 6, 2, 3, 
8210
0
     9, 
8211
0
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCHI),
8212
0
                    MVT::i32, 4, 1, 6, 2, 3, 
8213
0
     0, 
8214
0
    38, 
8215
0
     OPC_CheckPredicate, 13,
8216
0
     OPC_MoveParent,
8217
0
     OPC_RecordChild1,
8218
0
     OPC_RecordChild2,
8219
0
     OPC_MoveChild2,
8220
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8221
0
     OPC_CheckPredicate, 28,
8222
0
     OPC_MoveSibling3,
8223
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8224
0
     OPC_RecordNode,
8225
0
     OPC_CheckPredicate, 28,
8226
0
     OPC_MoveParent,
8227
0
     OPC_RecordChild4,
8228
0
     OPC_CheckTypeI64,
8229
0
     OPC_CheckPatternPredicate, 11,
8230
0
     OPC_EmitConvertToTarget0,
8231
0
     OPC_EmitNodeXForm, 2, 5,
8232
0
     OPC_EmitCopyToReg4, SystemZ::CC,
8233
0
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCGHI),
8234
0
                   MVT::i64, 4, 1, 6, 2, 3, 
8235
0
    0, 
8236
0
   23|128,2, 
8237
0
    OPC_RecordChild1,
8238
0
    OPC_RecordChild2,
8239
0
    OPC_MoveChild2,
8240
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8241
0
    OPC_Scope, 125, 
8242
0
     OPC_CheckPredicate, 28,
8243
0
     OPC_MoveSibling3,
8244
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8245
0
     OPC_RecordNode,
8246
0
     OPC_CheckPredicate, 28,
8247
0
     OPC_MoveParent,
8248
0
     OPC_RecordChild4,
8249
0
     OPC_SwitchType , 79, MVT::i32,
8250
0
      OPC_Scope, 35, 
8251
0
       OPC_CheckPatternPredicate7,
8252
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8253
0
       OPC_Scope, 9, 
8254
0
        OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SELRMux),
8255
0
                      MVT::i32, 4, 1, 0, 2, 3, 
8256
0
       9, 
8257
0
        OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SELFHR),
8258
0
                      MVT::i32, 4, 1, 0, 2, 3, 
8259
0
       9, 
8260
0
        OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SELR),
8261
0
                      MVT::i32, 4, 1, 0, 2, 3, 
8262
0
       0, 
8263
0
      26, 
8264
0
       OPC_CheckPatternPredicate, 11,
8265
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8266
0
       OPC_Scope, 9, 
8267
0
        OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCRMux),
8268
0
                      MVT::i32, 4, 1, 0, 2, 3, 
8269
0
       9, 
8270
0
        OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCFHR),
8271
0
                      MVT::i32, 4, 1, 0, 2, 3, 
8272
0
       0, 
8273
0
      13, 
8274
0
       OPC_CheckPatternPredicate, 15,
8275
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8276
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCR),
8277
0
                     MVT::i32, 4, 1, 0, 2, 3, 
8278
0
      0, 
8279
0
     29, MVT::i64,
8280
0
      OPC_Scope, 12, 
8281
0
       OPC_CheckPatternPredicate7,
8282
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8283
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SELGR),
8284
0
                     MVT::i64, 4, 1, 0, 2, 3, 
8285
0
      13, 
8286
0
       OPC_CheckPatternPredicate, 15,
8287
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8288
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCGR),
8289
0
                     MVT::i64, 4, 1, 0, 2, 3, 
8290
0
      0, 
8291
0
     0,
8292
0
    15|128,1, 
8293
0
     OPC_CheckPredicate3, 
8294
0
     OPC_MoveSibling3,
8295
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8296
0
     OPC_RecordNode,
8297
0
     OPC_CheckPredicate3, 
8298
0
     OPC_MoveParent,
8299
0
     OPC_RecordChild4,
8300
0
     OPC_SwitchType , 13, MVT::i32,
8301
0
      OPC_CheckPatternPredicate, 18,
8302
0
      OPC_EmitCopyToReg4, SystemZ::CC,
8303
0
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::Select32),
8304
0
                    MVT::i32, 4, 0, 1, 2, 3, 
8305
0
     13, MVT::i64,
8306
0
      OPC_CheckPatternPredicate, 18,
8307
0
      OPC_EmitCopyToReg4, SystemZ::CC,
8308
0
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::Select64),
8309
0
                    MVT::i64, 4, 0, 1, 2, 3, 
8310
0
     12, MVT::i128,
8311
0
      OPC_CheckPatternPredicate0,
8312
0
      OPC_EmitCopyToReg4, SystemZ::CC,
8313
0
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::Select128),
8314
0
                    MVT::i128, 4, 0, 1, 2, 3, 
8315
0
     27, MVT::f32,
8316
0
      OPC_Scope, 12, 
8317
0
       OPC_CheckPatternPredicate0,
8318
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8319
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectVR32),
8320
0
                     MVT::f32, 4, 0, 1, 2, 3, 
8321
0
      11, 
8322
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8323
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectF32),
8324
0
                     MVT::f32, 4, 0, 1, 2, 3, 
8325
0
      0, 
8326
0
     27, MVT::f64,
8327
0
      OPC_Scope, 12, 
8328
0
       OPC_CheckPatternPredicate0,
8329
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8330
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectVR64),
8331
0
                     MVT::f64, 4, 0, 1, 2, 3, 
8332
0
      11, 
8333
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8334
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectF64),
8335
0
                     MVT::f64, 4, 0, 1, 2, 3, 
8336
0
      0, 
8337
0
     28, MVT::f128,
8338
0
      OPC_Scope, 12, 
8339
0
       OPC_CheckPatternPredicate5,
8340
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8341
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectF128),
8342
0
                     MVT::f128, 4, 0, 1, 2, 3, 
8343
0
      12, 
8344
0
       OPC_CheckPatternPredicate1,
8345
0
       OPC_EmitCopyToReg4, SystemZ::CC,
8346
0
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectVR128),
8347
0
                     MVT::f128, 4, 0, 1, 2, 3, 
8348
0
      0, 
8349
0
     0,
8350
0
    0, 
8351
0
   0, 
8352
0
  0, 
8353
0
 31|128,10, TARGET_VAL(SystemZISD::ICMP),
8354
0
  OPC_Scope, 21|128,1, 
8355
0
   OPC_RecordChild0,
8356
0
   OPC_Scope, 59, 
8357
0
    OPC_CheckChild0TypeI32,
8358
0
    OPC_MoveChild1,
8359
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8360
0
    OPC_RecordMemRef,
8361
0
    OPC_RecordNode,
8362
0
    OPC_CheckFoldableChainNode,
8363
0
    OPC_RecordChild1,
8364
0
    OPC_CheckChild1TypeI64,
8365
0
    OPC_CheckPredicate0, 
8366
0
    OPC_Scope, 23, 
8367
0
     OPC_CheckPredicate, 14,
8368
0
     OPC_CheckPredicate5, 
8369
0
     OPC_CheckPredicate, 16,
8370
0
     OPC_MoveSibling2,
8371
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8372
0
     OPC_MoveParent,
8373
0
     OPC_CheckPredicate, 15,
8374
0
     OPC_CheckComplexPat7, /*#*/2,
8375
0
     OPC_EmitMergeInputChains1_1,
8376
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHRL), 0|OPFL_Chain|OPFL_MemRefs,
8377
0
                   MVT::i32, 2, 0, 3, 
8378
0
    21, 
8379
0
     OPC_CheckPredicate2, 
8380
0
     OPC_CheckPredicate, 16,
8381
0
     OPC_MoveSibling2,
8382
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8383
0
     OPC_MoveParent,
8384
0
     OPC_CheckPredicate, 15,
8385
0
     OPC_CheckComplexPat7, /*#*/2,
8386
0
     OPC_EmitMergeInputChains1_1,
8387
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CRL), 0|OPFL_Chain|OPFL_MemRefs,
8388
0
                   MVT::i32, 2, 0, 3, 
8389
0
    0, 
8390
0
   85, 
8391
0
    OPC_CheckChild0TypeI64,
8392
0
    OPC_MoveChild1,
8393
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8394
0
    OPC_RecordMemRef,
8395
0
    OPC_RecordNode,
8396
0
    OPC_CheckFoldableChainNode,
8397
0
    OPC_RecordChild1,
8398
0
    OPC_CheckChild1TypeI64,
8399
0
    OPC_CheckPredicate0, 
8400
0
    OPC_Scope, 49, 
8401
0
     OPC_CheckPredicate, 14,
8402
0
     OPC_Scope, 21, 
8403
0
      OPC_CheckPredicate5, 
8404
0
      OPC_CheckPredicate, 16,
8405
0
      OPC_MoveSibling2,
8406
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8407
0
      OPC_MoveParent,
8408
0
      OPC_CheckPredicate, 15,
8409
0
      OPC_CheckComplexPat7, /*#*/2,
8410
0
      OPC_EmitMergeInputChains1_1,
8411
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGHRL), 0|OPFL_Chain|OPFL_MemRefs,
8412
0
                    MVT::i32, 2, 0, 3, 
8413
0
     22, 
8414
0
      OPC_CheckPredicate, 9,
8415
0
      OPC_CheckPredicate, 16,
8416
0
      OPC_MoveSibling2,
8417
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8418
0
      OPC_MoveParent,
8419
0
      OPC_CheckPredicate, 15,
8420
0
      OPC_CheckComplexPat7, /*#*/2,
8421
0
      OPC_EmitMergeInputChains1_1,
8422
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGFRL), 0|OPFL_Chain|OPFL_MemRefs,
8423
0
                    MVT::i32, 2, 0, 3, 
8424
0
     0, 
8425
0
    21, 
8426
0
     OPC_CheckPredicate2, 
8427
0
     OPC_CheckPredicate, 16,
8428
0
     OPC_MoveSibling2,
8429
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8430
0
     OPC_MoveParent,
8431
0
     OPC_CheckPredicate, 15,
8432
0
     OPC_CheckComplexPat7, /*#*/2,
8433
0
     OPC_EmitMergeInputChains1_1,
8434
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGRL), 0|OPFL_Chain|OPFL_MemRefs,
8435
0
                   MVT::i32, 2, 0, 3, 
8436
0
    0, 
8437
0
   0, 
8438
0
  115, 
8439
0
   OPC_MoveChild0,
8440
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8441
0
   OPC_RecordMemRef,
8442
0
   OPC_RecordNode,
8443
0
   OPC_CheckFoldableChainNode,
8444
0
   OPC_RecordChild1,
8445
0
   OPC_CheckChild1TypeI64,
8446
0
   OPC_CheckPredicate0, 
8447
0
   OPC_Scope, 34, 
8448
0
    OPC_CheckPredicate, 14,
8449
0
    OPC_CheckPredicate5, 
8450
0
    OPC_CheckTypeI32,
8451
0
    OPC_MoveSibling1,
8452
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8453
0
    OPC_RecordNode,
8454
0
    OPC_CheckPredicate, 13,
8455
0
    OPC_MoveSibling2,
8456
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8457
0
    OPC_MoveParent,
8458
0
    OPC_CheckPredicate, 15,
8459
0
    OPC_CheckComplexPat0, /*#*/1,
8460
0
    OPC_EmitMergeInputChains1_0,
8461
0
    OPC_EmitConvertToTarget2,
8462
0
    OPC_EmitNodeXForm, 2, 5,
8463
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHHSI), 0|OPFL_Chain|OPFL_MemRefs,
8464
0
                  MVT::i32, 3, 3, 4, 6, 
8465
0
   67, 
8466
0
    OPC_CheckPredicate2, 
8467
0
    OPC_SwitchType , 30, MVT::i32,
8468
0
     OPC_MoveSibling1,
8469
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8470
0
     OPC_RecordNode,
8471
0
     OPC_CheckPredicate, 13,
8472
0
     OPC_MoveSibling2,
8473
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8474
0
     OPC_MoveParent,
8475
0
     OPC_CheckPredicate, 15,
8476
0
     OPC_CheckComplexPat0, /*#*/1,
8477
0
     OPC_EmitMergeInputChains1_0,
8478
0
     OPC_EmitConvertToTarget2,
8479
0
     OPC_EmitNodeXForm, 2, 5,
8480
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHSI), 0|OPFL_Chain|OPFL_MemRefs,
8481
0
                   MVT::i32, 3, 3, 4, 6, 
8482
0
    30, MVT::i64,
8483
0
     OPC_MoveSibling1,
8484
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8485
0
     OPC_RecordNode,
8486
0
     OPC_CheckPredicate, 13,
8487
0
     OPC_MoveSibling2,
8488
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8489
0
     OPC_MoveParent,
8490
0
     OPC_CheckPredicate, 15,
8491
0
     OPC_CheckComplexPat0, /*#*/1,
8492
0
     OPC_EmitMergeInputChains1_0,
8493
0
     OPC_EmitConvertToTarget2,
8494
0
     OPC_EmitNodeXForm, 2, 5,
8495
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGHSI), 0|OPFL_Chain|OPFL_MemRefs,
8496
0
                   MVT::i32, 3, 3, 4, 6, 
8497
0
    0,
8498
0
   0, 
8499
0
  21|128,1, 
8500
0
   OPC_RecordChild0,
8501
0
   OPC_Scope, 59, 
8502
0
    OPC_CheckChild0TypeI32,
8503
0
    OPC_MoveChild1,
8504
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8505
0
    OPC_RecordMemRef,
8506
0
    OPC_RecordNode,
8507
0
    OPC_CheckFoldableChainNode,
8508
0
    OPC_RecordChild1,
8509
0
    OPC_CheckChild1TypeI64,
8510
0
    OPC_CheckPredicate0, 
8511
0
    OPC_Scope, 23, 
8512
0
     OPC_CheckPredicate, 12,
8513
0
     OPC_CheckPredicate5, 
8514
0
     OPC_CheckPredicate, 16,
8515
0
     OPC_MoveSibling2,
8516
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8517
0
     OPC_MoveParent,
8518
0
     OPC_CheckPredicate, 17,
8519
0
     OPC_CheckComplexPat7, /*#*/2,
8520
0
     OPC_EmitMergeInputChains1_1,
8521
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHRL), 0|OPFL_Chain|OPFL_MemRefs,
8522
0
                   MVT::i32, 2, 0, 3, 
8523
0
    21, 
8524
0
     OPC_CheckPredicate2, 
8525
0
     OPC_CheckPredicate, 16,
8526
0
     OPC_MoveSibling2,
8527
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8528
0
     OPC_MoveParent,
8529
0
     OPC_CheckPredicate, 17,
8530
0
     OPC_CheckComplexPat7, /*#*/2,
8531
0
     OPC_EmitMergeInputChains1_1,
8532
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLRL), 0|OPFL_Chain|OPFL_MemRefs,
8533
0
                   MVT::i32, 2, 0, 3, 
8534
0
    0, 
8535
0
   85, 
8536
0
    OPC_CheckChild0TypeI64,
8537
0
    OPC_MoveChild1,
8538
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8539
0
    OPC_RecordMemRef,
8540
0
    OPC_RecordNode,
8541
0
    OPC_CheckFoldableChainNode,
8542
0
    OPC_RecordChild1,
8543
0
    OPC_CheckChild1TypeI64,
8544
0
    OPC_CheckPredicate0, 
8545
0
    OPC_Scope, 49, 
8546
0
     OPC_CheckPredicate, 12,
8547
0
     OPC_Scope, 21, 
8548
0
      OPC_CheckPredicate5, 
8549
0
      OPC_CheckPredicate, 16,
8550
0
      OPC_MoveSibling2,
8551
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8552
0
      OPC_MoveParent,
8553
0
      OPC_CheckPredicate, 17,
8554
0
      OPC_CheckComplexPat7, /*#*/2,
8555
0
      OPC_EmitMergeInputChains1_1,
8556
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGHRL), 0|OPFL_Chain|OPFL_MemRefs,
8557
0
                    MVT::i32, 2, 0, 3, 
8558
0
     22, 
8559
0
      OPC_CheckPredicate, 9,
8560
0
      OPC_CheckPredicate, 16,
8561
0
      OPC_MoveSibling2,
8562
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8563
0
      OPC_MoveParent,
8564
0
      OPC_CheckPredicate, 17,
8565
0
      OPC_CheckComplexPat7, /*#*/2,
8566
0
      OPC_EmitMergeInputChains1_1,
8567
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGFRL), 0|OPFL_Chain|OPFL_MemRefs,
8568
0
                    MVT::i32, 2, 0, 3, 
8569
0
     0, 
8570
0
    21, 
8571
0
     OPC_CheckPredicate2, 
8572
0
     OPC_CheckPredicate, 16,
8573
0
     OPC_MoveSibling2,
8574
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8575
0
     OPC_MoveParent,
8576
0
     OPC_CheckPredicate, 17,
8577
0
     OPC_CheckComplexPat7, /*#*/2,
8578
0
     OPC_EmitMergeInputChains1_1,
8579
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGRL), 0|OPFL_Chain|OPFL_MemRefs,
8580
0
                   MVT::i32, 2, 0, 3, 
8581
0
    0, 
8582
0
   0, 
8583
0
  44|128,1, 
8584
0
   OPC_MoveChild0,
8585
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8586
0
   OPC_RecordMemRef,
8587
0
   OPC_RecordNode,
8588
0
   OPC_CheckFoldableChainNode,
8589
0
   OPC_RecordChild1,
8590
0
   OPC_CheckChild1TypeI64,
8591
0
   OPC_CheckPredicate0, 
8592
0
   OPC_Scope, 91, 
8593
0
    OPC_CheckPredicate, 12,
8594
0
    OPC_CheckTypeI32,
8595
0
    OPC_Scope, 53, 
8596
0
     OPC_CheckPredicate6, 
8597
0
     OPC_MoveSibling1,
8598
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8599
0
     OPC_RecordNode,
8600
0
     OPC_CheckPredicate, 23,
8601
0
     OPC_MoveSibling2,
8602
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8603
0
     OPC_MoveParent,
8604
0
     OPC_CheckPredicate, 17,
8605
0
     OPC_Scope, 17, 
8606
0
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
8607
0
      OPC_EmitMergeInputChains1_0,
8608
0
      OPC_EmitConvertToTarget2,
8609
0
      OPC_EmitNodeXForm, 0, 5,
8610
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLI), 0|OPFL_Chain|OPFL_MemRefs,
8611
0
                    MVT::i32, 3, 3, 4, 6, 
8612
0
     17, 
8613
0
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
8614
0
      OPC_EmitMergeInputChains1_0,
8615
0
      OPC_EmitConvertToTarget2,
8616
0
      OPC_EmitNodeXForm, 0, 5,
8617
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLIY), 0|OPFL_Chain|OPFL_MemRefs,
8618
0
                    MVT::i32, 3, 3, 4, 6, 
8619
0
     0, 
8620
0
    31, 
8621
0
     OPC_CheckPredicate5, 
8622
0
     OPC_MoveSibling1,
8623
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8624
0
     OPC_RecordNode,
8625
0
     OPC_CheckPredicate, 46,
8626
0
     OPC_MoveSibling2,
8627
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8628
0
     OPC_MoveParent,
8629
0
     OPC_CheckPredicate, 17,
8630
0
     OPC_CheckComplexPat0, /*#*/1,
8631
0
     OPC_EmitMergeInputChains1_0,
8632
0
     OPC_EmitConvertToTarget2,
8633
0
     OPC_EmitNodeXForm, 10, 5,
8634
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHHSI), 0|OPFL_Chain|OPFL_MemRefs,
8635
0
                   MVT::i32, 3, 3, 4, 6, 
8636
0
    0, 
8637
0
   67, 
8638
0
    OPC_CheckPredicate2, 
8639
0
    OPC_SwitchType , 30, MVT::i32,
8640
0
     OPC_MoveSibling1,
8641
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8642
0
     OPC_RecordNode,
8643
0
     OPC_CheckPredicate, 46,
8644
0
     OPC_MoveSibling2,
8645
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8646
0
     OPC_MoveParent,
8647
0
     OPC_CheckPredicate, 17,
8648
0
     OPC_CheckComplexPat0, /*#*/1,
8649
0
     OPC_EmitMergeInputChains1_0,
8650
0
     OPC_EmitConvertToTarget2,
8651
0
     OPC_EmitNodeXForm, 10, 5,
8652
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLFHSI), 0|OPFL_Chain|OPFL_MemRefs,
8653
0
                   MVT::i32, 3, 3, 4, 6, 
8654
0
    30, MVT::i64,
8655
0
     OPC_MoveSibling1,
8656
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8657
0
     OPC_RecordNode,
8658
0
     OPC_CheckPredicate, 46,
8659
0
     OPC_MoveSibling2,
8660
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8661
0
     OPC_MoveParent,
8662
0
     OPC_CheckPredicate, 17,
8663
0
     OPC_CheckComplexPat0, /*#*/1,
8664
0
     OPC_EmitMergeInputChains1_0,
8665
0
     OPC_EmitConvertToTarget2,
8666
0
     OPC_EmitNodeXForm, 10, 5,
8667
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGHSI), 0|OPFL_Chain|OPFL_MemRefs,
8668
0
                   MVT::i32, 3, 3, 4, 6, 
8669
0
    0,
8670
0
   0, 
8671
0
  75|128,5, 
8672
0
   OPC_RecordChild0,
8673
0
   OPC_Scope, 110|128,2, 
8674
0
    OPC_CheckChild0TypeI32,
8675
0
    OPC_Scope, 61|128,1, 
8676
0
     OPC_MoveChild1,
8677
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8678
0
     OPC_RecordMemRef,
8679
0
     OPC_RecordNode,
8680
0
     OPC_CheckFoldableChainNode,
8681
0
     OPC_RecordChild1,
8682
0
     OPC_CheckChild1TypeI64,
8683
0
     OPC_CheckPredicate0, 
8684
0
     OPC_Scope, 40, 
8685
0
      OPC_CheckPredicate, 14,
8686
0
      OPC_CheckPredicate5, 
8687
0
      OPC_MoveSibling2,
8688
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8689
0
      OPC_MoveParent,
8690
0
      OPC_CheckPredicate, 15,
8691
0
      OPC_Scope, 13, 
8692
0
       OPC_CheckComplexPat3, /*#*/2,
8693
0
       OPC_EmitMergeInputChains1_1,
8694
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CH), 0|OPFL_Chain|OPFL_MemRefs,
8695
0
                     MVT::i32, 4, 0, 3, 4, 5, 
8696
0
      13, 
8697
0
       OPC_CheckComplexPat4, /*#*/2,
8698
0
       OPC_EmitMergeInputChains1_1,
8699
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHY), 0|OPFL_Chain|OPFL_MemRefs,
8700
0
                     MVT::i32, 4, 0, 3, 4, 5, 
8701
0
      0, 
8702
0
     6|128,1, 
8703
0
      OPC_CheckPredicate2, 
8704
0
      OPC_MoveSibling2,
8705
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8706
0
      OPC_MoveParent,
8707
0
      OPC_Scope, 62, 
8708
0
       OPC_CheckPredicate, 15,
8709
0
       OPC_Scope, 14, 
8710
0
        OPC_CheckPatternPredicate2,
8711
0
        OPC_CheckComplexPat2, /*#*/2,
8712
0
        OPC_EmitMergeInputChains1_1,
8713
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CMux), 0|OPFL_Chain|OPFL_MemRefs,
8714
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8715
0
       13, 
8716
0
        OPC_CheckComplexPat3, /*#*/2,
8717
0
        OPC_EmitMergeInputChains1_1,
8718
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::C), 0|OPFL_Chain|OPFL_MemRefs,
8719
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8720
0
       13, 
8721
0
        OPC_CheckComplexPat4, /*#*/2,
8722
0
        OPC_EmitMergeInputChains1_1,
8723
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CY), 0|OPFL_Chain|OPFL_MemRefs,
8724
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8725
0
       14, 
8726
0
        OPC_CheckPatternPredicate2,
8727
0
        OPC_CheckComplexPat2, /*#*/2,
8728
0
        OPC_EmitMergeInputChains1_1,
8729
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHF), 0|OPFL_Chain|OPFL_MemRefs,
8730
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8731
0
       0, 
8732
0
      62, 
8733
0
       OPC_CheckPredicate, 17,
8734
0
       OPC_Scope, 14, 
8735
0
        OPC_CheckPatternPredicate2,
8736
0
        OPC_CheckComplexPat2, /*#*/2,
8737
0
        OPC_EmitMergeInputChains1_1,
8738
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLMux), 0|OPFL_Chain|OPFL_MemRefs,
8739
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8740
0
       13, 
8741
0
        OPC_CheckComplexPat3, /*#*/2,
8742
0
        OPC_EmitMergeInputChains1_1,
8743
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CL), 0|OPFL_Chain|OPFL_MemRefs,
8744
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8745
0
       13, 
8746
0
        OPC_CheckComplexPat4, /*#*/2,
8747
0
        OPC_EmitMergeInputChains1_1,
8748
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLY), 0|OPFL_Chain|OPFL_MemRefs,
8749
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8750
0
       14, 
8751
0
        OPC_CheckPatternPredicate2,
8752
0
        OPC_CheckComplexPat2, /*#*/2,
8753
0
        OPC_EmitMergeInputChains1_1,
8754
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHF), 0|OPFL_Chain|OPFL_MemRefs,
8755
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8756
0
       0, 
8757
0
      0, 
8758
0
     0, 
8759
0
    42|128,1, 
8760
0
     OPC_RecordChild1,
8761
0
     OPC_Scope, 9|128,1, 
8762
0
      OPC_MoveChild1,
8763
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8764
0
      OPC_Scope, 36, 
8765
0
       OPC_CheckPredicate, 13,
8766
0
       OPC_MoveSibling2,
8767
0
       OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8768
0
       OPC_MoveParent,
8769
0
       OPC_CheckPredicate, 15,
8770
0
       OPC_Scope, 12, 
8771
0
        OPC_CheckPatternPredicate2,
8772
0
        OPC_EmitConvertToTarget1,
8773
0
        OPC_EmitNodeXForm, 2, 2,
8774
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CHIMux),
8775
0
                      MVT::i32, 2, 0, 3, 
8776
0
       11, 
8777
0
        OPC_EmitConvertToTarget1,
8778
0
        OPC_EmitNodeXForm, 2, 2,
8779
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CHI),
8780
0
                      MVT::i32, 2, 0, 3, 
8781
0
       0, 
8782
0
      93, 
8783
0
       OPC_MoveSibling2,
8784
0
       OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8785
0
       OPC_MoveParent,
8786
0
       OPC_Scope, 42, 
8787
0
        OPC_CheckPredicate, 15,
8788
0
        OPC_Scope, 12, 
8789
0
         OPC_CheckPatternPredicate2,
8790
0
         OPC_EmitConvertToTarget1,
8791
0
         OPC_EmitNodeXForm, 11, 2,
8792
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CFIMux),
8793
0
                       MVT::i32, 2, 0, 3, 
8794
0
        11, 
8795
0
         OPC_EmitConvertToTarget1,
8796
0
         OPC_EmitNodeXForm, 11, 2,
8797
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CFI),
8798
0
                       MVT::i32, 2, 0, 3, 
8799
0
        12, 
8800
0
         OPC_CheckPatternPredicate2,
8801
0
         OPC_EmitConvertToTarget1,
8802
0
         OPC_EmitNodeXForm, 11, 2,
8803
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CIH),
8804
0
                       MVT::i32, 2, 0, 3, 
8805
0
        0, 
8806
0
       42, 
8807
0
        OPC_CheckPredicate, 17,
8808
0
        OPC_Scope, 12, 
8809
0
         OPC_CheckPatternPredicate2,
8810
0
         OPC_EmitConvertToTarget1,
8811
0
         OPC_EmitNodeXForm, 9, 2,
8812
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLFIMux),
8813
0
                       MVT::i32, 2, 0, 3, 
8814
0
        11, 
8815
0
         OPC_EmitConvertToTarget1,
8816
0
         OPC_EmitNodeXForm, 9, 2,
8817
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLFI),
8818
0
                       MVT::i32, 2, 0, 3, 
8819
0
        12, 
8820
0
         OPC_CheckPatternPredicate2,
8821
0
         OPC_EmitConvertToTarget1,
8822
0
         OPC_EmitNodeXForm, 9, 2,
8823
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLIH),
8824
0
                       MVT::i32, 2, 0, 3, 
8825
0
        0, 
8826
0
       0, 
8827
0
      0, 
8828
0
     27, 
8829
0
      OPC_MoveChild2,
8830
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8831
0
      OPC_MoveParent,
8832
0
      OPC_Scope, 9, 
8833
0
       OPC_CheckPredicate, 15,
8834
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CR),
8835
0
                     MVT::i32, 2, 0, 1, 
8836
0
      9, 
8837
0
       OPC_CheckPredicate, 17,
8838
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLR),
8839
0
                     MVT::i32, 2, 0, 1, 
8840
0
      0, 
8841
0
     0, 
8842
0
    0, 
8843
0
   86|128,2, 
8844
0
    OPC_CheckChild0TypeI64,
8845
0
    OPC_Scope, 38|128,1, 
8846
0
     OPC_MoveChild1,
8847
0
     OPC_Scope, 2|128,1, 
8848
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
8849
0
      OPC_RecordMemRef,
8850
0
      OPC_RecordNode,
8851
0
      OPC_CheckFoldableChainNode,
8852
0
      OPC_RecordChild1,
8853
0
      OPC_CheckChild1TypeI64,
8854
0
      OPC_CheckPredicate0, 
8855
0
      OPC_Scope, 49, 
8856
0
       OPC_CheckPredicate, 14,
8857
0
       OPC_Scope, 21, 
8858
0
        OPC_CheckPredicate5, 
8859
0
        OPC_MoveSibling2,
8860
0
        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8861
0
        OPC_MoveParent,
8862
0
        OPC_CheckPredicate, 15,
8863
0
        OPC_CheckComplexPat2, /*#*/2,
8864
0
        OPC_EmitMergeInputChains1_1,
8865
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGH), 0|OPFL_Chain|OPFL_MemRefs,
8866
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8867
0
       22, 
8868
0
        OPC_CheckPredicate, 9,
8869
0
        OPC_MoveSibling2,
8870
0
        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8871
0
        OPC_MoveParent,
8872
0
        OPC_CheckPredicate, 15,
8873
0
        OPC_CheckComplexPat2, /*#*/2,
8874
0
        OPC_EmitMergeInputChains1_1,
8875
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGF), 0|OPFL_Chain|OPFL_MemRefs,
8876
0
                      MVT::i32, 4, 0, 3, 4, 5, 
8877
0
       0, 
8878
0
      21, 
8879
0
       OPC_CheckPredicate2, 
8880
0
       OPC_MoveSibling2,
8881
0
       OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8882
0
       OPC_MoveParent,
8883
0
       OPC_CheckPredicate, 15,
8884
0
       OPC_CheckComplexPat2, /*#*/2,
8885
0
       OPC_EmitMergeInputChains1_1,
8886
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CG), 0|OPFL_Chain|OPFL_MemRefs,
8887
0
                     MVT::i32, 4, 0, 3, 4, 5, 
8888
0
      24, 
8889
0
       OPC_CheckPredicate, 12,
8890
0
       OPC_CheckPredicate, 9,
8891
0
       OPC_MoveSibling2,
8892
0
       OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8893
0
       OPC_MoveParent,
8894
0
       OPC_CheckPredicate, 17,
8895
0
       OPC_CheckComplexPat2, /*#*/2,
8896
0
       OPC_EmitMergeInputChains1_1,
8897
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGF), 0|OPFL_Chain|OPFL_MemRefs,
8898
0
                     MVT::i32, 4, 0, 3, 4, 5, 
8899
0
      21, 
8900
0
       OPC_CheckPredicate2, 
8901
0
       OPC_MoveSibling2,
8902
0
       OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8903
0
       OPC_MoveParent,
8904
0
       OPC_CheckPredicate, 17,
8905
0
       OPC_CheckComplexPat2, /*#*/2,
8906
0
       OPC_EmitMergeInputChains1_1,
8907
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLG), 0|OPFL_Chain|OPFL_MemRefs,
8908
0
                     MVT::i32, 4, 0, 3, 4, 5, 
8909
0
      0, 
8910
0
     30, 
8911
0
      OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
8912
0
      OPC_RecordChild0,
8913
0
      OPC_MoveSibling2,
8914
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8915
0
      OPC_MoveParent,
8916
0
      OPC_CheckPredicate, 17,
8917
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
8918
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8919
0
                    MVT::i32, 2, 1, 2, 
8920
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLGFR),
8921
0
                    MVT::i32, 2, 0, 3, 
8922
0
     0, 
8923
0
    70, 
8924
0
     OPC_RecordChild1,
8925
0
     OPC_MoveChild1,
8926
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8927
0
     OPC_Scope, 20, 
8928
0
      OPC_CheckPredicate, 13,
8929
0
      OPC_MoveSibling2,
8930
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8931
0
      OPC_MoveParent,
8932
0
      OPC_CheckPredicate, 15,
8933
0
      OPC_EmitConvertToTarget1,
8934
0
      OPC_EmitNodeXForm, 2, 2,
8935
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGHI),
8936
0
                    MVT::i32, 2, 0, 3, 
8937
0
     20, 
8938
0
      OPC_CheckPredicate, 53,
8939
0
      OPC_MoveSibling2,
8940
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8941
0
      OPC_MoveParent,
8942
0
      OPC_CheckPredicate, 15,
8943
0
      OPC_EmitConvertToTarget1,
8944
0
      OPC_EmitNodeXForm, 11, 2,
8945
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGFI),
8946
0
                    MVT::i32, 2, 0, 3, 
8947
0
     20, 
8948
0
      OPC_CheckPredicate, 52,
8949
0
      OPC_MoveSibling2,
8950
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8951
0
      OPC_MoveParent,
8952
0
      OPC_CheckPredicate, 17,
8953
0
      OPC_EmitConvertToTarget1,
8954
0
      OPC_EmitNodeXForm, 9, 2,
8955
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLGFI),
8956
0
                    MVT::i32, 2, 0, 3, 
8957
0
     0, 
8958
0
    70, 
8959
0
     OPC_MoveChild1,
8960
0
     OPC_SwitchOpcode , 15, TARGET_VAL(ISD::SIGN_EXTEND),
8961
0
      OPC_RecordChild0,
8962
0
      OPC_MoveSibling2,
8963
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8964
0
      OPC_MoveParent,
8965
0
      OPC_CheckPredicate, 15,
8966
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGFR),
8967
0
                    MVT::i32, 2, 0, 1, 
8968
0
     15, TARGET_VAL(ISD::ZERO_EXTEND),
8969
0
      OPC_RecordChild0,
8970
0
      OPC_MoveSibling2,
8971
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8972
0
      OPC_MoveParent,
8973
0
      OPC_CheckPredicate, 17,
8974
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLGFR),
8975
0
                    MVT::i32, 2, 0, 1, 
8976
0
     28, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
8977
0
      OPC_RecordChild0,
8978
0
      OPC_MoveChild1,
8979
0
      OPC_CheckValueType, MVT::i32,
8980
0
      OPC_MoveParent,
8981
0
      OPC_MoveSibling2,
8982
0
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8983
0
      OPC_MoveParent,
8984
0
      OPC_CheckPredicate, 15,
8985
0
      OPC_EmitStringInteger32, SystemZ::subreg_l32,
8986
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8987
0
                    MVT::i32, 2, 1, 2, 
8988
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGFR),
8989
0
                    MVT::i32, 2, 0, 3, 
8990
0
     0,
8991
0
    28, 
8992
0
     OPC_RecordChild1,
8993
0
     OPC_MoveChild2,
8994
0
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8995
0
     OPC_MoveParent,
8996
0
     OPC_Scope, 9, 
8997
0
      OPC_CheckPredicate, 15,
8998
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGR),
8999
0
                    MVT::i32, 2, 0, 1, 
9000
0
     9, 
9001
0
      OPC_CheckPredicate, 17,
9002
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLGR),
9003
0
                    MVT::i32, 2, 0, 1, 
9004
0
     0, 
9005
0
    0, 
9006
0
   0, 
9007
0
  0, 
9008
0
 100|128,16, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
9009
0
  OPC_Scope, 26, 
9010
0
   OPC_CheckChild0Integer, 4|128,36|128,1, 
9011
0
   OPC_RecordChild1,
9012
0
   OPC_CheckChild1TypeI64,
9013
0
   OPC_RecordChild2,
9014
0
   OPC_MoveChild2,
9015
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9016
0
   OPC_CheckPredicate3, 
9017
0
   OPC_MoveParent,
9018
0
   OPC_CheckPatternPredicate0,
9019
0
   OPC_CheckComplexPat1, /*#*/0,
9020
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCBB),
9021
0
                 MVT::i32, MVT::i32, 4, 2, 3, 4, 1, 
9022
0
  24, 
9023
0
   OPC_CheckChild0Integer, 52|128,38|128,1, 
9024
0
   OPC_RecordChild1,
9025
0
   OPC_RecordChild2,
9026
0
   OPC_RecordChild3,
9027
0
   OPC_RecordChild4,
9028
0
   OPC_MoveChild4,
9029
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9030
0
   OPC_CheckPredicate3, 
9031
0
   OPC_MoveParent,
9032
0
   OPC_CheckPatternPredicate1,
9033
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMSLG),
9034
0
                 MVT::i128, 4, 0, 1, 2, 3, 
9035
0
  11, 
9036
0
   OPC_CheckChild0Integer, 2|128,36|128,1, 
9037
0
   OPC_CheckPatternPredicate, 10,
9038
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ETND),
9039
0
                 MVT::i32, 0, 
9040
0
  14, 
9041
0
   OPC_CheckChild0Integer, 86|128,37|128,1, 
9042
0
   OPC_RecordChild1,
9043
0
   OPC_RecordChild2,
9044
0
   OPC_CheckPatternPredicate0,
9045
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMG),
9046
0
                 MVT::i128, 2, 0, 1, 
9047
0
  16, 
9048
0
   OPC_CheckChild0Integer, 78|128,37|128,1, 
9049
0
   OPC_RecordChild1,
9050
0
   OPC_RecordChild2,
9051
0
   OPC_RecordChild3,
9052
0
   OPC_CheckPatternPredicate0,
9053
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMAG),
9054
0
                 MVT::i128, 3, 0, 1, 2, 
9055
0
  28, 
9056
0
   OPC_CheckChild0Integer, 94|128,36|128,1, 
9057
0
   OPC_RecordChild1,
9058
0
   OPC_RecordChild2,
9059
0
   OPC_RecordChild3,
9060
0
   OPC_RecordChild4,
9061
0
   OPC_MoveChild4,
9062
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9063
0
   OPC_CheckPredicate, 23,
9064
0
   OPC_MoveParent,
9065
0
   OPC_CheckPatternPredicate0,
9066
0
   OPC_EmitNodeXForm, 0, 3,
9067
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERIMB),
9068
0
                 MVT::v16i8, 4, 0, 1, 2, 4, 
9069
0
  28, 
9070
0
   OPC_CheckChild0Integer, 100|128,36|128,1, 
9071
0
   OPC_RecordChild1,
9072
0
   OPC_RecordChild2,
9073
0
   OPC_RecordChild3,
9074
0
   OPC_RecordChild4,
9075
0
   OPC_MoveChild4,
9076
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9077
0
   OPC_CheckPredicate, 23,
9078
0
   OPC_MoveParent,
9079
0
   OPC_CheckPatternPredicate0,
9080
0
   OPC_EmitNodeXForm, 0, 3,
9081
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERIMH),
9082
0
                 MVT::v8i16, 4, 0, 1, 2, 4, 
9083
0
  28, 
9084
0
   OPC_CheckChild0Integer, 96|128,36|128,1, 
9085
0
   OPC_RecordChild1,
9086
0
   OPC_RecordChild2,
9087
0
   OPC_RecordChild3,
9088
0
   OPC_RecordChild4,
9089
0
   OPC_MoveChild4,
9090
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9091
0
   OPC_CheckPredicate, 23,
9092
0
   OPC_MoveParent,
9093
0
   OPC_CheckPatternPredicate0,
9094
0
   OPC_EmitNodeXForm, 0, 3,
9095
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERIMF),
9096
0
                 MVT::v4i32, 4, 0, 1, 2, 4, 
9097
0
  28, 
9098
0
   OPC_CheckChild0Integer, 98|128,36|128,1, 
9099
0
   OPC_RecordChild1,
9100
0
   OPC_RecordChild2,
9101
0
   OPC_RecordChild3,
9102
0
   OPC_RecordChild4,
9103
0
   OPC_MoveChild4,
9104
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9105
0
   OPC_CheckPredicate, 23,
9106
0
   OPC_MoveParent,
9107
0
   OPC_CheckPatternPredicate0,
9108
0
   OPC_EmitNodeXForm, 0, 3,
9109
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERIMG),
9110
0
                 MVT::v2i64, 4, 0, 1, 2, 4, 
9111
0
  27, 
9112
0
   OPC_CheckChild0Integer, 102|128,38|128,1, 
9113
0
   OPC_RecordChild1,
9114
0
   OPC_RecordChild2,
9115
0
   OPC_RecordChild3,
9116
0
   OPC_MoveChild3,
9117
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9118
0
   OPC_CheckPredicate, 23,
9119
0
   OPC_MoveParent,
9120
0
   OPC_CheckPatternPredicate0,
9121
0
   OPC_EmitConvertToTarget2,
9122
0
   OPC_EmitNodeXForm, 0, 3,
9123
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLDB),
9124
0
                 MVT::v16i8, 3, 0, 1, 4, 
9125
0
  26, 
9126
0
   OPC_CheckChild0Integer, 100|128,38|128,1, 
9127
0
   OPC_RecordChild1,
9128
0
   OPC_RecordChild2,
9129
0
   OPC_RecordChild3,
9130
0
   OPC_MoveChild3,
9131
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9132
0
   OPC_CheckPredicate, 23,
9133
0
   OPC_MoveParent,
9134
0
   OPC_CheckPatternPredicate4,
9135
0
   OPC_EmitNodeXForm, 0, 2,
9136
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLD),
9137
0
                 MVT::v16i8, 3, 0, 1, 3, 
9138
0
  26, 
9139
0
   OPC_CheckChild0Integer, 110|128,38|128,1, 
9140
0
   OPC_RecordChild1,
9141
0
   OPC_RecordChild2,
9142
0
   OPC_RecordChild3,
9143
0
   OPC_MoveChild3,
9144
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9145
0
   OPC_CheckPredicate, 23,
9146
0
   OPC_MoveParent,
9147
0
   OPC_CheckPatternPredicate4,
9148
0
   OPC_EmitNodeXForm, 0, 2,
9149
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRD),
9150
0
                 MVT::v16i8, 3, 0, 1, 3, 
9151
0
  25, 
9152
0
   OPC_CheckChild0Integer, 102|128,36|128,1, 
9153
0
   OPC_RecordChild1,
9154
0
   OPC_RecordChild2,
9155
0
   OPC_RecordChild3,
9156
0
   OPC_MoveChild3,
9157
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9158
0
   OPC_CheckPredicate3, 
9159
0
   OPC_MoveParent,
9160
0
   OPC_CheckPatternPredicate0,
9161
0
   OPC_EmitNodeXForm, 12, 2,
9162
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEB),
9163
0
                 MVT::v16i8, 3, 0, 1, 3, 
9164
0
  25, 
9165
0
   OPC_CheckChild0Integer, 110|128,36|128,1, 
9166
0
   OPC_RecordChild1,
9167
0
   OPC_RecordChild2,
9168
0
   OPC_RecordChild3,
9169
0
   OPC_MoveChild3,
9170
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9171
0
   OPC_CheckPredicate3, 
9172
0
   OPC_MoveParent,
9173
0
   OPC_CheckPatternPredicate0,
9174
0
   OPC_EmitNodeXForm, 12, 2,
9175
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEH),
9176
0
                 MVT::v8i16, 3, 0, 1, 3, 
9177
0
  25, 
9178
0
   OPC_CheckChild0Integer, 106|128,36|128,1, 
9179
0
   OPC_RecordChild1,
9180
0
   OPC_RecordChild2,
9181
0
   OPC_RecordChild3,
9182
0
   OPC_MoveChild3,
9183
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9184
0
   OPC_CheckPredicate3, 
9185
0
   OPC_MoveParent,
9186
0
   OPC_CheckPatternPredicate0,
9187
0
   OPC_EmitNodeXForm, 12, 2,
9188
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEF),
9189
0
                 MVT::v4i32, 3, 0, 1, 3, 
9190
0
  25, 
9191
0
   OPC_CheckChild0Integer, 114|128,36|128,1, 
9192
0
   OPC_RecordChild1,
9193
0
   OPC_RecordChild2,
9194
0
   OPC_RecordChild3,
9195
0
   OPC_MoveChild3,
9196
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9197
0
   OPC_CheckPredicate3, 
9198
0
   OPC_MoveParent,
9199
0
   OPC_CheckPatternPredicate0,
9200
0
   OPC_EmitNodeXForm, 12, 2,
9201
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEZB),
9202
0
                 MVT::v16i8, 3, 0, 1, 3, 
9203
0
  25, 
9204
0
   OPC_CheckChild0Integer, 122|128,36|128,1, 
9205
0
   OPC_RecordChild1,
9206
0
   OPC_RecordChild2,
9207
0
   OPC_RecordChild3,
9208
0
   OPC_MoveChild3,
9209
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9210
0
   OPC_CheckPredicate3, 
9211
0
   OPC_MoveParent,
9212
0
   OPC_CheckPatternPredicate0,
9213
0
   OPC_EmitNodeXForm, 12, 2,
9214
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEZH),
9215
0
                 MVT::v8i16, 3, 0, 1, 3, 
9216
0
  25, 
9217
0
   OPC_CheckChild0Integer, 118|128,36|128,1, 
9218
0
   OPC_RecordChild1,
9219
0
   OPC_RecordChild2,
9220
0
   OPC_RecordChild3,
9221
0
   OPC_MoveChild3,
9222
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9223
0
   OPC_CheckPredicate3, 
9224
0
   OPC_MoveParent,
9225
0
   OPC_CheckPatternPredicate0,
9226
0
   OPC_EmitNodeXForm, 12, 2,
9227
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEZF),
9228
0
                 MVT::v4i32, 3, 0, 1, 3, 
9229
0
  27, 
9230
0
   OPC_CheckChild0Integer, 118|128,38|128,1, 
9231
0
   OPC_RecordChild1,
9232
0
   OPC_RecordChild2,
9233
0
   OPC_RecordChild3,
9234
0
   OPC_RecordChild4,
9235
0
   OPC_MoveChild4,
9236
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9237
0
   OPC_CheckPredicate3, 
9238
0
   OPC_MoveParent,
9239
0
   OPC_CheckPatternPredicate0,
9240
0
   OPC_EmitNodeXForm, 12, 3,
9241
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCB),
9242
0
                 MVT::v16i8, 4, 0, 1, 2, 4, 
9243
0
  27, 
9244
0
   OPC_CheckChild0Integer, 126|128,38|128,1, 
9245
0
   OPC_RecordChild1,
9246
0
   OPC_RecordChild2,
9247
0
   OPC_RecordChild3,
9248
0
   OPC_RecordChild4,
9249
0
   OPC_MoveChild4,
9250
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9251
0
   OPC_CheckPredicate3, 
9252
0
   OPC_MoveParent,
9253
0
   OPC_CheckPatternPredicate0,
9254
0
   OPC_EmitNodeXForm, 12, 3,
9255
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCH),
9256
0
                 MVT::v8i16, 4, 0, 1, 2, 4, 
9257
0
  27, 
9258
0
   OPC_CheckChild0Integer, 122|128,38|128,1, 
9259
0
   OPC_RecordChild1,
9260
0
   OPC_RecordChild2,
9261
0
   OPC_RecordChild3,
9262
0
   OPC_RecordChild4,
9263
0
   OPC_MoveChild4,
9264
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9265
0
   OPC_CheckPredicate3, 
9266
0
   OPC_MoveParent,
9267
0
   OPC_CheckPatternPredicate0,
9268
0
   OPC_EmitNodeXForm, 12, 3,
9269
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCF),
9270
0
                 MVT::v4i32, 4, 0, 1, 2, 4, 
9271
0
  27, 
9272
0
   OPC_CheckChild0Integer, 2|128,39|128,1, 
9273
0
   OPC_RecordChild1,
9274
0
   OPC_RecordChild2,
9275
0
   OPC_RecordChild3,
9276
0
   OPC_RecordChild4,
9277
0
   OPC_MoveChild4,
9278
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9279
0
   OPC_CheckPredicate3, 
9280
0
   OPC_MoveParent,
9281
0
   OPC_CheckPatternPredicate0,
9282
0
   OPC_EmitNodeXForm, 12, 3,
9283
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCZB),
9284
0
                 MVT::v16i8, 4, 0, 1, 2, 4, 
9285
0
  27, 
9286
0
   OPC_CheckChild0Integer, 10|128,39|128,1, 
9287
0
   OPC_RecordChild1,
9288
0
   OPC_RecordChild2,
9289
0
   OPC_RecordChild3,
9290
0
   OPC_RecordChild4,
9291
0
   OPC_MoveChild4,
9292
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9293
0
   OPC_CheckPredicate3, 
9294
0
   OPC_MoveParent,
9295
0
   OPC_CheckPatternPredicate0,
9296
0
   OPC_EmitNodeXForm, 12, 3,
9297
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCZH),
9298
0
                 MVT::v8i16, 4, 0, 1, 2, 4, 
9299
0
  27, 
9300
0
   OPC_CheckChild0Integer, 6|128,39|128,1, 
9301
0
   OPC_RecordChild1,
9302
0
   OPC_RecordChild2,
9303
0
   OPC_RecordChild3,
9304
0
   OPC_RecordChild4,
9305
0
   OPC_MoveChild4,
9306
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9307
0
   OPC_CheckPredicate3, 
9308
0
   OPC_MoveParent,
9309
0
   OPC_CheckPatternPredicate0,
9310
0
   OPC_EmitNodeXForm, 12, 3,
9311
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCZF),
9312
0
                 MVT::v4i32, 4, 0, 1, 2, 4, 
9313
0
  25, 
9314
0
   OPC_CheckChild0Integer, 66|128,36|128,1, 
9315
0
   OPC_RecordChild1,
9316
0
   OPC_RecordChild2,
9317
0
   OPC_MoveChild2,
9318
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9319
0
   OPC_CheckPredicate3, 
9320
0
   OPC_MoveParent,
9321
0
   OPC_CheckPatternPredicate, 13,
9322
0
   OPC_EmitInteger32, 2, 
9323
0
   OPC_EmitConvertToTarget1,
9324
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCFN),
9325
0
                 MVT::v8i16, 3, 0, 2, 3, 
9326
0
  25, 
9327
0
   OPC_CheckChild0Integer, 90|128,36|128,1, 
9328
0
   OPC_RecordChild1,
9329
0
   OPC_RecordChild2,
9330
0
   OPC_MoveChild2,
9331
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9332
0
   OPC_CheckPredicate3, 
9333
0
   OPC_MoveParent,
9334
0
   OPC_CheckPatternPredicate, 13,
9335
0
   OPC_EmitConvertToTarget1,
9336
0
   OPC_EmitInteger32, 2, 
9337
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCNF),
9338
0
                 MVT::v8i16, 3, 0, 2, 3, 
9339
0
  27, 
9340
0
   OPC_CheckChild0Integer, 92|128,36|128,1, 
9341
0
   OPC_RecordChild1,
9342
0
   OPC_RecordChild2,
9343
0
   OPC_RecordChild3,
9344
0
   OPC_MoveChild3,
9345
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9346
0
   OPC_CheckPredicate3, 
9347
0
   OPC_MoveParent,
9348
0
   OPC_CheckPatternPredicate, 13,
9349
0
   OPC_EmitConvertToTarget2,
9350
0
   OPC_EmitInteger32, 4, 
9351
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCRNF),
9352
0
                 MVT::v8i16, 4, 0, 1, 3, 4, 
9353
0
  14, 
9354
0
   OPC_CheckChild0Integer, 56|128,36|128,1, 
9355
0
   OPC_RecordChild1,
9356
0
   OPC_RecordChild2,
9357
0
   OPC_CheckPatternPredicate1,
9358
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VBPERM),
9359
0
                 MVT::v2i64, 2, 0, 1, 
9360
0
  14, 
9361
0
   OPC_CheckChild0Integer, 78|128,38|128,1, 
9362
0
   OPC_RecordChild1,
9363
0
   OPC_RecordChild2,
9364
0
   OPC_CheckPatternPredicate0,
9365
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKSH),
9366
0
                 MVT::v16i8, 2, 0, 1, 
9367
0
  14, 
9368
0
   OPC_CheckChild0Integer, 70|128,38|128,1, 
9369
0
   OPC_RecordChild1,
9370
0
   OPC_RecordChild2,
9371
0
   OPC_CheckPatternPredicate0,
9372
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKSF),
9373
0
                 MVT::v8i16, 2, 0, 1, 
9374
0
  14, 
9375
0
   OPC_CheckChild0Integer, 74|128,38|128,1, 
9376
0
   OPC_RecordChild1,
9377
0
   OPC_RecordChild2,
9378
0
   OPC_CheckPatternPredicate0,
9379
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKSG),
9380
0
                 MVT::v4i32, 2, 0, 1, 
9381
0
  14, 
9382
0
   OPC_CheckChild0Integer, 66|128,38|128,1, 
9383
0
   OPC_RecordChild1,
9384
0
   OPC_RecordChild2,
9385
0
   OPC_CheckPatternPredicate0,
9386
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKLSH),
9387
0
                 MVT::v16i8, 2, 0, 1, 
9388
0
  14, 
9389
0
   OPC_CheckChild0Integer, 58|128,38|128,1, 
9390
0
   OPC_RecordChild1,
9391
0
   OPC_RecordChild2,
9392
0
   OPC_CheckPatternPredicate0,
9393
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKLSF),
9394
0
                 MVT::v8i16, 2, 0, 1, 
9395
0
  14, 
9396
0
   OPC_CheckChild0Integer, 62|128,38|128,1, 
9397
0
   OPC_RecordChild1,
9398
0
   OPC_RecordChild2,
9399
0
   OPC_CheckPatternPredicate0,
9400
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKLSG),
9401
0
                 MVT::v4i32, 2, 0, 1, 
9402
0
  14, 
9403
0
   OPC_CheckChild0Integer, 40|128,36|128,1, 
9404
0
   OPC_RecordChild1,
9405
0
   OPC_RecordChild2,
9406
0
   OPC_CheckPatternPredicate0,
9407
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGB),
9408
0
                 MVT::v16i8, 2, 0, 1, 
9409
0
  14, 
9410
0
   OPC_CheckChild0Integer, 46|128,36|128,1, 
9411
0
   OPC_RecordChild1,
9412
0
   OPC_RecordChild2,
9413
0
   OPC_CheckPatternPredicate0,
9414
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGH),
9415
0
                 MVT::v8i16, 2, 0, 1, 
9416
0
  14, 
9417
0
   OPC_CheckChild0Integer, 42|128,36|128,1, 
9418
0
   OPC_RecordChild1,
9419
0
   OPC_RecordChild2,
9420
0
   OPC_CheckPatternPredicate0,
9421
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGF),
9422
0
                 MVT::v4i32, 2, 0, 1, 
9423
0
  14, 
9424
0
   OPC_CheckChild0Integer, 44|128,36|128,1, 
9425
0
   OPC_RecordChild1,
9426
0
   OPC_RecordChild2,
9427
0
   OPC_CheckPatternPredicate0,
9428
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGG),
9429
0
                 MVT::v2i64, 2, 0, 1, 
9430
0
  14, 
9431
0
   OPC_CheckChild0Integer, 48|128,36|128,1, 
9432
0
   OPC_RecordChild1,
9433
0
   OPC_RecordChild2,
9434
0
   OPC_CheckPatternPredicate0,
9435
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGLB),
9436
0
                 MVT::v16i8, 2, 0, 1, 
9437
0
  14, 
9438
0
   OPC_CheckChild0Integer, 54|128,36|128,1, 
9439
0
   OPC_RecordChild1,
9440
0
   OPC_RecordChild2,
9441
0
   OPC_CheckPatternPredicate0,
9442
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGLH),
9443
0
                 MVT::v8i16, 2, 0, 1, 
9444
0
  14, 
9445
0
   OPC_CheckChild0Integer, 50|128,36|128,1, 
9446
0
   OPC_RecordChild1,
9447
0
   OPC_RecordChild2,
9448
0
   OPC_CheckPatternPredicate0,
9449
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGLF),
9450
0
                 MVT::v4i32, 2, 0, 1, 
9451
0
  14, 
9452
0
   OPC_CheckChild0Integer, 52|128,36|128,1, 
9453
0
   OPC_RecordChild1,
9454
0
   OPC_RecordChild2,
9455
0
   OPC_CheckPatternPredicate0,
9456
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGLG),
9457
0
                 MVT::v2i64, 2, 0, 1, 
9458
0
  14, 
9459
0
   OPC_CheckChild0Integer, 84|128,36|128,1, 
9460
0
   OPC_RecordChild1,
9461
0
   OPC_RecordChild2,
9462
0
   OPC_CheckPatternPredicate0,
9463
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCKSM),
9464
0
                 MVT::v4i32, 2, 0, 1, 
9465
0
  14, 
9466
0
   OPC_CheckChild0Integer, 82|128,37|128,1, 
9467
0
   OPC_RecordChild1,
9468
0
   OPC_RecordChild2,
9469
0
   OPC_CheckPatternPredicate0,
9470
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMB),
9471
0
                 MVT::v8i16, 2, 0, 1, 
9472
0
  14, 
9473
0
   OPC_CheckChild0Integer, 88|128,37|128,1, 
9474
0
   OPC_RecordChild1,
9475
0
   OPC_RecordChild2,
9476
0
   OPC_CheckPatternPredicate0,
9477
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMH),
9478
0
                 MVT::v4i32, 2, 0, 1, 
9479
0
  14, 
9480
0
   OPC_CheckChild0Integer, 84|128,37|128,1, 
9481
0
   OPC_RecordChild1,
9482
0
   OPC_RecordChild2,
9483
0
   OPC_CheckPatternPredicate0,
9484
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMF),
9485
0
                 MVT::v2i64, 2, 0, 1, 
9486
0
  16, 
9487
0
   OPC_CheckChild0Integer, 74|128,37|128,1, 
9488
0
   OPC_RecordChild1,
9489
0
   OPC_RecordChild2,
9490
0
   OPC_RecordChild3,
9491
0
   OPC_CheckPatternPredicate0,
9492
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMAB),
9493
0
                 MVT::v8i16, 3, 0, 1, 2, 
9494
0
  16, 
9495
0
   OPC_CheckChild0Integer, 80|128,37|128,1, 
9496
0
   OPC_RecordChild1,
9497
0
   OPC_RecordChild2,
9498
0
   OPC_RecordChild3,
9499
0
   OPC_CheckPatternPredicate0,
9500
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMAH),
9501
0
                 MVT::v4i32, 3, 0, 1, 2, 
9502
0
  16, 
9503
0
   OPC_CheckChild0Integer, 76|128,37|128,1, 
9504
0
   OPC_RecordChild1,
9505
0
   OPC_RecordChild2,
9506
0
   OPC_RecordChild3,
9507
0
   OPC_CheckPatternPredicate0,
9508
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMAF),
9509
0
                 MVT::v2i64, 3, 0, 1, 2, 
9510
0
  16, 
9511
0
   OPC_CheckChild0Integer, 114|128,37|128,1, 
9512
0
   OPC_RecordChild1,
9513
0
   OPC_RecordChild2,
9514
0
   OPC_RecordChild3,
9515
0
   OPC_CheckPatternPredicate0,
9516
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAHB),
9517
0
                 MVT::v16i8, 3, 0, 1, 2, 
9518
0
  16, 
9519
0
   OPC_CheckChild0Integer, 118|128,37|128,1, 
9520
0
   OPC_RecordChild1,
9521
0
   OPC_RecordChild2,
9522
0
   OPC_RecordChild3,
9523
0
   OPC_CheckPatternPredicate0,
9524
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAHH),
9525
0
                 MVT::v8i16, 3, 0, 1, 2, 
9526
0
  16, 
9527
0
   OPC_CheckChild0Integer, 116|128,37|128,1, 
9528
0
   OPC_RecordChild1,
9529
0
   OPC_RecordChild2,
9530
0
   OPC_RecordChild3,
9531
0
   OPC_CheckPatternPredicate0,
9532
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAHF),
9533
0
                 MVT::v4i32, 3, 0, 1, 2, 
9534
0
  16, 
9535
0
   OPC_CheckChild0Integer, 126|128,37|128,1, 
9536
0
   OPC_RecordChild1,
9537
0
   OPC_RecordChild2,
9538
0
   OPC_RecordChild3,
9539
0
   OPC_CheckPatternPredicate0,
9540
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHB),
9541
0
                 MVT::v16i8, 3, 0, 1, 2, 
9542
0
  16, 
9543
0
   OPC_CheckChild0Integer, 2|128,38|128,1, 
9544
0
   OPC_RecordChild1,
9545
0
   OPC_RecordChild2,
9546
0
   OPC_RecordChild3,
9547
0
   OPC_CheckPatternPredicate0,
9548
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHH),
9549
0
                 MVT::v8i16, 3, 0, 1, 2, 
9550
0
  16, 
9551
0
   OPC_CheckChild0Integer, 0|128,38|128,1, 
9552
0
   OPC_RecordChild1,
9553
0
   OPC_RecordChild2,
9554
0
   OPC_RecordChild3,
9555
0
   OPC_CheckPatternPredicate0,
9556
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHF),
9557
0
                 MVT::v4i32, 3, 0, 1, 2, 
9558
0
  16, 
9559
0
   OPC_CheckChild0Integer, 108|128,37|128,1, 
9560
0
   OPC_RecordChild1,
9561
0
   OPC_RecordChild2,
9562
0
   OPC_RecordChild3,
9563
0
   OPC_CheckPatternPredicate0,
9564
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAEB),
9565
0
                 MVT::v8i16, 3, 0, 1, 2, 
9566
0
  16, 
9567
0
   OPC_CheckChild0Integer, 112|128,37|128,1, 
9568
0
   OPC_RecordChild1,
9569
0
   OPC_RecordChild2,
9570
0
   OPC_RecordChild3,
9571
0
   OPC_CheckPatternPredicate0,
9572
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAEH),
9573
0
                 MVT::v4i32, 3, 0, 1, 2, 
9574
0
  16, 
9575
0
   OPC_CheckChild0Integer, 110|128,37|128,1, 
9576
0
   OPC_RecordChild1,
9577
0
   OPC_RecordChild2,
9578
0
   OPC_RecordChild3,
9579
0
   OPC_CheckPatternPredicate0,
9580
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAEF),
9581
0
                 MVT::v2i64, 3, 0, 1, 2, 
9582
0
  16, 
9583
0
   OPC_CheckChild0Integer, 120|128,37|128,1, 
9584
0
   OPC_RecordChild1,
9585
0
   OPC_RecordChild2,
9586
0
   OPC_RecordChild3,
9587
0
   OPC_CheckPatternPredicate0,
9588
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALEB),
9589
0
                 MVT::v8i16, 3, 0, 1, 2, 
9590
0
  16, 
9591
0
   OPC_CheckChild0Integer, 124|128,37|128,1, 
9592
0
   OPC_RecordChild1,
9593
0
   OPC_RecordChild2,
9594
0
   OPC_RecordChild3,
9595
0
   OPC_CheckPatternPredicate0,
9596
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALEH),
9597
0
                 MVT::v4i32, 3, 0, 1, 2, 
9598
0
  16, 
9599
0
   OPC_CheckChild0Integer, 122|128,37|128,1, 
9600
0
   OPC_RecordChild1,
9601
0
   OPC_RecordChild2,
9602
0
   OPC_RecordChild3,
9603
0
   OPC_CheckPatternPredicate0,
9604
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALEF),
9605
0
                 MVT::v2i64, 3, 0, 1, 2, 
9606
0
  16, 
9607
0
   OPC_CheckChild0Integer, 10|128,38|128,1, 
9608
0
   OPC_RecordChild1,
9609
0
   OPC_RecordChild2,
9610
0
   OPC_RecordChild3,
9611
0
   OPC_CheckPatternPredicate0,
9612
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAOB),
9613
0
                 MVT::v8i16, 3, 0, 1, 2, 
9614
0
  16, 
9615
0
   OPC_CheckChild0Integer, 14|128,38|128,1, 
9616
0
   OPC_RecordChild1,
9617
0
   OPC_RecordChild2,
9618
0
   OPC_RecordChild3,
9619
0
   OPC_CheckPatternPredicate0,
9620
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAOH),
9621
0
                 MVT::v4i32, 3, 0, 1, 2, 
9622
0
  16, 
9623
0
   OPC_CheckChild0Integer, 12|128,38|128,1, 
9624
0
   OPC_RecordChild1,
9625
0
   OPC_RecordChild2,
9626
0
   OPC_RecordChild3,
9627
0
   OPC_CheckPatternPredicate0,
9628
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAOF),
9629
0
                 MVT::v2i64, 3, 0, 1, 2, 
9630
0
  16, 
9631
0
   OPC_CheckChild0Integer, 4|128,38|128,1, 
9632
0
   OPC_RecordChild1,
9633
0
   OPC_RecordChild2,
9634
0
   OPC_RecordChild3,
9635
0
   OPC_CheckPatternPredicate0,
9636
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALOB),
9637
0
                 MVT::v8i16, 3, 0, 1, 2, 
9638
0
  16, 
9639
0
   OPC_CheckChild0Integer, 8|128,38|128,1, 
9640
0
   OPC_RecordChild1,
9641
0
   OPC_RecordChild2,
9642
0
   OPC_RecordChild3,
9643
0
   OPC_CheckPatternPredicate0,
9644
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALOH),
9645
0
                 MVT::v4i32, 3, 0, 1, 2, 
9646
0
  16, 
9647
0
   OPC_CheckChild0Integer, 6|128,38|128,1, 
9648
0
   OPC_RecordChild1,
9649
0
   OPC_RecordChild2,
9650
0
   OPC_RecordChild3,
9651
0
   OPC_CheckPatternPredicate0,
9652
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALOF),
9653
0
                 MVT::v2i64, 3, 0, 1, 2, 
9654
0
  14, 
9655
0
   OPC_CheckChild0Integer, 22|128,38|128,1, 
9656
0
   OPC_RecordChild1,
9657
0
   OPC_RecordChild2,
9658
0
   OPC_CheckPatternPredicate0,
9659
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMHB),
9660
0
                 MVT::v16i8, 2, 0, 1, 
9661
0
  14, 
9662
0
   OPC_CheckChild0Integer, 26|128,38|128,1, 
9663
0
   OPC_RecordChild1,
9664
0
   OPC_RecordChild2,
9665
0
   OPC_CheckPatternPredicate0,
9666
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMHH),
9667
0
                 MVT::v8i16, 2, 0, 1, 
9668
0
  14, 
9669
0
   OPC_CheckChild0Integer, 24|128,38|128,1, 
9670
0
   OPC_RecordChild1,
9671
0
   OPC_RecordChild2,
9672
0
   OPC_CheckPatternPredicate0,
9673
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMHF),
9674
0
                 MVT::v4i32, 2, 0, 1, 
9675
0
  14, 
9676
0
   OPC_CheckChild0Integer, 34|128,38|128,1, 
9677
0
   OPC_RecordChild1,
9678
0
   OPC_RecordChild2,
9679
0
   OPC_CheckPatternPredicate0,
9680
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLHB),
9681
0
                 MVT::v16i8, 2, 0, 1, 
9682
0
  14, 
9683
0
   OPC_CheckChild0Integer, 38|128,38|128,1, 
9684
0
   OPC_RecordChild1,
9685
0
   OPC_RecordChild2,
9686
0
   OPC_CheckPatternPredicate0,
9687
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLHH),
9688
0
                 MVT::v8i16, 2, 0, 1, 
9689
0
  14, 
9690
0
   OPC_CheckChild0Integer, 36|128,38|128,1, 
9691
0
   OPC_RecordChild1,
9692
0
   OPC_RecordChild2,
9693
0
   OPC_CheckPatternPredicate0,
9694
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLHF),
9695
0
                 MVT::v4i32, 2, 0, 1, 
9696
0
  14, 
9697
0
   OPC_CheckChild0Integer, 16|128,38|128,1, 
9698
0
   OPC_RecordChild1,
9699
0
   OPC_RecordChild2,
9700
0
   OPC_CheckPatternPredicate0,
9701
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMEB),
9702
0
                 MVT::v8i16, 2, 0, 1, 
9703
0
  14, 
9704
0
   OPC_CheckChild0Integer, 20|128,38|128,1, 
9705
0
   OPC_RecordChild1,
9706
0
   OPC_RecordChild2,
9707
0
   OPC_CheckPatternPredicate0,
9708
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMEH),
9709
0
                 MVT::v4i32, 2, 0, 1, 
9710
0
  14, 
9711
0
   OPC_CheckChild0Integer, 18|128,38|128,1, 
9712
0
   OPC_RecordChild1,
9713
0
   OPC_RecordChild2,
9714
0
   OPC_CheckPatternPredicate0,
9715
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMEF),
9716
0
                 MVT::v2i64, 2, 0, 1, 
9717
0
  14, 
9718
0
   OPC_CheckChild0Integer, 28|128,38|128,1, 
9719
0
   OPC_RecordChild1,
9720
0
   OPC_RecordChild2,
9721
0
   OPC_CheckPatternPredicate0,
9722
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLEB),
9723
0
                 MVT::v8i16, 2, 0, 1, 
9724
0
  14, 
9725
0
   OPC_CheckChild0Integer, 32|128,38|128,1, 
9726
0
   OPC_RecordChild1,
9727
0
   OPC_RecordChild2,
9728
0
   OPC_CheckPatternPredicate0,
9729
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLEH),
9730
0
                 MVT::v4i32, 2, 0, 1, 
9731
0
  14, 
9732
0
   OPC_CheckChild0Integer, 30|128,38|128,1, 
9733
0
   OPC_RecordChild1,
9734
0
   OPC_RecordChild2,
9735
0
   OPC_CheckPatternPredicate0,
9736
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLEF),
9737
0
                 MVT::v2i64, 2, 0, 1, 
9738
0
  14, 
9739
0
   OPC_CheckChild0Integer, 46|128,38|128,1, 
9740
0
   OPC_RecordChild1,
9741
0
   OPC_RecordChild2,
9742
0
   OPC_CheckPatternPredicate0,
9743
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMOB),
9744
0
                 MVT::v8i16, 2, 0, 1, 
9745
0
  14, 
9746
0
   OPC_CheckChild0Integer, 50|128,38|128,1, 
9747
0
   OPC_RecordChild1,
9748
0
   OPC_RecordChild2,
9749
0
   OPC_CheckPatternPredicate0,
9750
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMOH),
9751
0
                 MVT::v4i32, 2, 0, 1, 
9752
0
  14, 
9753
0
   OPC_CheckChild0Integer, 48|128,38|128,1, 
9754
0
   OPC_RecordChild1,
9755
0
   OPC_RecordChild2,
9756
0
   OPC_CheckPatternPredicate0,
9757
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMOF),
9758
0
                 MVT::v2i64, 2, 0, 1, 
9759
0
  14, 
9760
0
   OPC_CheckChild0Integer, 40|128,38|128,1, 
9761
0
   OPC_RecordChild1,
9762
0
   OPC_RecordChild2,
9763
0
   OPC_CheckPatternPredicate0,
9764
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLOB),
9765
0
                 MVT::v8i16, 2, 0, 1, 
9766
0
  14, 
9767
0
   OPC_CheckChild0Integer, 44|128,38|128,1, 
9768
0
   OPC_RecordChild1,
9769
0
   OPC_RecordChild2,
9770
0
   OPC_CheckPatternPredicate0,
9771
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLOH),
9772
0
                 MVT::v4i32, 2, 0, 1, 
9773
0
  14, 
9774
0
   OPC_CheckChild0Integer, 42|128,38|128,1, 
9775
0
   OPC_RecordChild1,
9776
0
   OPC_RecordChild2,
9777
0
   OPC_CheckPatternPredicate0,
9778
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLOF),
9779
0
                 MVT::v2i64, 2, 0, 1, 
9780
0
  14, 
9781
0
   OPC_CheckChild0Integer, 96|128,38|128,1, 
9782
0
   OPC_RecordChild1,
9783
0
   OPC_RecordChild2,
9784
0
   OPC_CheckPatternPredicate0,
9785
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
9786
0
                 MVT::v16i8, 2, 0, 1, 
9787
0
  14, 
9788
0
   OPC_CheckChild0Integer, 98|128,38|128,1, 
9789
0
   OPC_RecordChild1,
9790
0
   OPC_RecordChild2,
9791
0
   OPC_CheckPatternPredicate0,
9792
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLB),
9793
0
                 MVT::v16i8, 2, 0, 1, 
9794
0
  14, 
9795
0
   OPC_CheckChild0Integer, 106|128,38|128,1, 
9796
0
   OPC_RecordChild1,
9797
0
   OPC_RecordChild2,
9798
0
   OPC_CheckPatternPredicate0,
9799
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
9800
0
                 MVT::v16i8, 2, 0, 1, 
9801
0
  14, 
9802
0
   OPC_CheckChild0Integer, 108|128,38|128,1, 
9803
0
   OPC_RecordChild1,
9804
0
   OPC_RecordChild2,
9805
0
   OPC_CheckPatternPredicate0,
9806
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
9807
0
                 MVT::v16i8, 2, 0, 1, 
9808
0
  14, 
9809
0
   OPC_CheckChild0Integer, 112|128,38|128,1, 
9810
0
   OPC_RecordChild1,
9811
0
   OPC_RecordChild2,
9812
0
   OPC_CheckPatternPredicate0,
9813
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
9814
0
                 MVT::v16i8, 2, 0, 1, 
9815
0
  14, 
9816
0
   OPC_CheckChild0Integer, 114|128,38|128,1, 
9817
0
   OPC_RecordChild1,
9818
0
   OPC_RecordChild2,
9819
0
   OPC_CheckPatternPredicate0,
9820
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRLB),
9821
0
                 MVT::v16i8, 2, 0, 1, 
9822
0
  17, 
9823
0
   OPC_CheckChild0Integer, 10|128,37|128,1, 
9824
0
   OPC_RecordChild1,
9825
0
   OPC_RecordChild2,
9826
0
   OPC_CheckPatternPredicate0,
9827
0
   OPC_EmitInteger32, 0, 
9828
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEB),
9829
0
                 MVT::v16i8, 3, 0, 1, 2, 
9830
0
  17, 
9831
0
   OPC_CheckChild0Integer, 18|128,37|128,1, 
9832
0
   OPC_RecordChild1,
9833
0
   OPC_RecordChild2,
9834
0
   OPC_CheckPatternPredicate0,
9835
0
   OPC_EmitInteger32, 0, 
9836
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEH),
9837
0
                 MVT::v8i16, 3, 0, 1, 2, 
9838
0
  17, 
9839
0
   OPC_CheckChild0Integer, 14|128,37|128,1, 
9840
0
   OPC_RecordChild1,
9841
0
   OPC_RecordChild2,
9842
0
   OPC_CheckPatternPredicate0,
9843
0
   OPC_EmitInteger32, 0, 
9844
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEF),
9845
0
                 MVT::v4i32, 3, 0, 1, 2, 
9846
0
  14, 
9847
0
   OPC_CheckChild0Integer, 22|128,37|128,1, 
9848
0
   OPC_RecordChild1,
9849
0
   OPC_RecordChild2,
9850
0
   OPC_CheckPatternPredicate0,
9851
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEZB),
9852
0
                 MVT::v16i8, 2, 0, 1, 
9853
0
  14, 
9854
0
   OPC_CheckChild0Integer, 30|128,37|128,1, 
9855
0
   OPC_RecordChild1,
9856
0
   OPC_RecordChild2,
9857
0
   OPC_CheckPatternPredicate0,
9858
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEZH),
9859
0
                 MVT::v8i16, 2, 0, 1, 
9860
0
  14, 
9861
0
   OPC_CheckChild0Integer, 26|128,37|128,1, 
9862
0
   OPC_RecordChild1,
9863
0
   OPC_RecordChild2,
9864
0
   OPC_CheckPatternPredicate0,
9865
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEZF),
9866
0
                 MVT::v4i32, 2, 0, 1, 
9867
0
  17, 
9868
0
   OPC_CheckChild0Integer, 34|128,37|128,1, 
9869
0
   OPC_RecordChild1,
9870
0
   OPC_RecordChild2,
9871
0
   OPC_CheckPatternPredicate0,
9872
0
   OPC_EmitInteger32, 0, 
9873
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEB),
9874
0
                 MVT::v16i8, 3, 0, 1, 2, 
9875
0
  17, 
9876
0
   OPC_CheckChild0Integer, 42|128,37|128,1, 
9877
0
   OPC_RecordChild1,
9878
0
   OPC_RecordChild2,
9879
0
   OPC_CheckPatternPredicate0,
9880
0
   OPC_EmitInteger32, 0, 
9881
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEH),
9882
0
                 MVT::v8i16, 3, 0, 1, 2, 
9883
0
  17, 
9884
0
   OPC_CheckChild0Integer, 38|128,37|128,1, 
9885
0
   OPC_RecordChild1,
9886
0
   OPC_RecordChild2,
9887
0
   OPC_CheckPatternPredicate0,
9888
0
   OPC_EmitInteger32, 0, 
9889
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEF),
9890
0
                 MVT::v4i32, 3, 0, 1, 2, 
9891
0
  14, 
9892
0
   OPC_CheckChild0Integer, 46|128,37|128,1, 
9893
0
   OPC_RecordChild1,
9894
0
   OPC_RecordChild2,
9895
0
   OPC_CheckPatternPredicate0,
9896
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEZB),
9897
0
                 MVT::v16i8, 2, 0, 1, 
9898
0
  14, 
9899
0
   OPC_CheckChild0Integer, 54|128,37|128,1, 
9900
0
   OPC_RecordChild1,
9901
0
   OPC_RecordChild2,
9902
0
   OPC_CheckPatternPredicate0,
9903
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEZH),
9904
0
                 MVT::v8i16, 2, 0, 1, 
9905
0
  14, 
9906
0
   OPC_CheckChild0Integer, 50|128,37|128,1, 
9907
0
   OPC_RecordChild1,
9908
0
   OPC_RecordChild2,
9909
0
   OPC_CheckPatternPredicate0,
9910
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEZF),
9911
0
                 MVT::v4i32, 2, 0, 1, 
9912
0
  15, 
9913
0
   OPC_CheckChild0Integer, 90|128,37|128,1, 
9914
0
   OPC_RecordChild1,
9915
0
   OPC_CheckPatternPredicate0,
9916
0
   OPC_EmitInteger32, 0, 
9917
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VISTRB),
9918
0
                 MVT::v16i8, 2, 0, 1, 
9919
0
  15, 
9920
0
   OPC_CheckChild0Integer, 98|128,37|128,1, 
9921
0
   OPC_RecordChild1,
9922
0
   OPC_CheckPatternPredicate0,
9923
0
   OPC_EmitInteger32, 0, 
9924
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VISTRH),
9925
0
                 MVT::v8i16, 2, 0, 1, 
9926
0
  15, 
9927
0
   OPC_CheckChild0Integer, 94|128,37|128,1, 
9928
0
   OPC_RecordChild1,
9929
0
   OPC_CheckPatternPredicate0,
9930
0
   OPC_EmitInteger32, 0, 
9931
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VISTRF),
9932
0
                 MVT::v4i32, 2, 0, 1, 
9933
0
  27, 
9934
0
   OPC_CheckChild0Integer, 58|128,37|128,1, 
9935
0
   OPC_RecordChild1,
9936
0
   OPC_RecordChild2,
9937
0
   OPC_MoveChild2,
9938
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9939
0
   OPC_CheckPredicate3, 
9940
0
   OPC_MoveSibling3,
9941
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9942
0
   OPC_RecordNode,
9943
0
   OPC_CheckPredicate3, 
9944
0
   OPC_MoveParent,
9945
0
   OPC_CheckPatternPredicate0,
9946
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
9947
0
                 MVT::v2f64, 3, 0, 1, 2, 
9948
0
  27, 
9949
0
   OPC_CheckChild0Integer, 60|128,37|128,1, 
9950
0
   OPC_RecordChild1,
9951
0
   OPC_RecordChild2,
9952
0
   OPC_MoveChild2,
9953
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9954
0
   OPC_CheckPredicate3, 
9955
0
   OPC_MoveSibling3,
9956
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9957
0
   OPC_RecordNode,
9958
0
   OPC_CheckPredicate3, 
9959
0
   OPC_MoveParent,
9960
0
   OPC_CheckPatternPredicate1,
9961
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
9962
0
                 MVT::v4f32, 3, 0, 1, 2, 
9963
0
  22, 
9964
0
   OPC_CheckChild0Integer, 62|128,37|128,1, 
9965
0
   OPC_RecordChild1,
9966
0
   OPC_RecordChild2,
9967
0
   OPC_RecordChild3,
9968
0
   OPC_MoveChild3,
9969
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9970
0
   OPC_CheckPredicate3, 
9971
0
   OPC_MoveParent,
9972
0
   OPC_CheckPatternPredicate1,
9973
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXDB),
9974
0
                 MVT::v2f64, 3, 0, 1, 2, 
9975
0
  22, 
9976
0
   OPC_CheckChild0Integer, 64|128,37|128,1, 
9977
0
   OPC_RecordChild1,
9978
0
   OPC_RecordChild2,
9979
0
   OPC_RecordChild3,
9980
0
   OPC_MoveChild3,
9981
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9982
0
   OPC_CheckPredicate3, 
9983
0
   OPC_MoveParent,
9984
0
   OPC_CheckPatternPredicate1,
9985
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXSB),
9986
0
                 MVT::v4f32, 3, 0, 1, 2, 
9987
0
  22, 
9988
0
   OPC_CheckChild0Integer, 66|128,37|128,1, 
9989
0
   OPC_RecordChild1,
9990
0
   OPC_RecordChild2,
9991
0
   OPC_RecordChild3,
9992
0
   OPC_MoveChild3,
9993
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9994
0
   OPC_CheckPredicate3, 
9995
0
   OPC_MoveParent,
9996
0
   OPC_CheckPatternPredicate1,
9997
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINDB),
9998
0
                 MVT::v2f64, 3, 0, 1, 2, 
9999
0
  22, 
10000
0
   OPC_CheckChild0Integer, 68|128,37|128,1, 
10001
0
   OPC_RecordChild1,
10002
0
   OPC_RecordChild2,
10003
0
   OPC_RecordChild3,
10004
0
   OPC_MoveChild3,
10005
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10006
0
   OPC_CheckPredicate3, 
10007
0
   OPC_MoveParent,
10008
0
   OPC_CheckPatternPredicate1,
10009
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINSB),
10010
0
                 MVT::v4f32, 3, 0, 1, 2, 
10011
0
  25, 
10012
0
   OPC_CheckChild0Integer, 88|128,36|128,1, 
10013
0
   OPC_RecordChild1,
10014
0
   OPC_RecordChild2,
10015
0
   OPC_MoveChild2,
10016
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10017
0
   OPC_CheckPredicate3, 
10018
0
   OPC_MoveParent,
10019
0
   OPC_CheckPatternPredicate, 13,
10020
0
   OPC_EmitInteger32, 4, 
10021
0
   OPC_EmitConvertToTarget1,
10022
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLFNL),
10023
0
                 MVT::v4f32, 3, 0, 2, 3, 
10024
0
  25, 
10025
0
   OPC_CheckChild0Integer, 86|128,36|128,1, 
10026
0
   OPC_RecordChild1,
10027
0
   OPC_RecordChild2,
10028
0
   OPC_MoveChild2,
10029
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10030
0
   OPC_CheckPredicate3, 
10031
0
   OPC_MoveParent,
10032
0
   OPC_CheckPatternPredicate, 13,
10033
0
   OPC_EmitInteger32, 4, 
10034
0
   OPC_EmitConvertToTarget1,
10035
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLFNH),
10036
0
                 MVT::v4f32, 3, 0, 2, 3, 
10037
0
  0, 
10038
0
 46, TARGET_VAL(SystemZISD::MVC),
10039
0
  OPC_RecordNode,
10040
0
  OPC_RecordChild1,
10041
0
  OPC_CheckChild1TypeI64,
10042
0
  OPC_RecordChild2,
10043
0
  OPC_CheckChild2TypeI64,
10044
0
  OPC_RecordChild3,
10045
0
  OPC_Scope, 21, 
10046
0
   OPC_MoveChild3,
10047
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10048
0
   OPC_MoveParent,
10049
0
   OPC_CheckComplexPat0, /*#*/1,
10050
0
   OPC_CheckComplexPat0, /*#*/2,
10051
0
   OPC_EmitMergeInputChains1_0,
10052
0
   OPC_EmitConvertToTarget3,
10053
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MVCImm),
10054
0
                 MVT::i32, 5, 4, 5, 6, 7, 8, 
10055
0
  15, 
10056
0
   OPC_CheckComplexPat0, /*#*/1,
10057
0
   OPC_CheckComplexPat0, /*#*/2,
10058
0
   OPC_EmitMergeInputChains1_0,
10059
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MVCReg),
10060
0
                 MVT::i32, 5, 4, 5, 6, 7, 3, 
10061
0
  0, 
10062
0
 46, TARGET_VAL(SystemZISD::NC),
10063
0
  OPC_RecordNode,
10064
0
  OPC_RecordChild1,
10065
0
  OPC_CheckChild1TypeI64,
10066
0
  OPC_RecordChild2,
10067
0
  OPC_CheckChild2TypeI64,
10068
0
  OPC_RecordChild3,
10069
0
  OPC_Scope, 21, 
10070
0
   OPC_MoveChild3,
10071
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10072
0
   OPC_MoveParent,
10073
0
   OPC_CheckComplexPat0, /*#*/1,
10074
0
   OPC_CheckComplexPat0, /*#*/2,
10075
0
   OPC_EmitMergeInputChains1_0,
10076
0
   OPC_EmitConvertToTarget3,
10077
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::NCImm),
10078
0
                 MVT::i32, 5, 4, 5, 6, 7, 8, 
10079
0
  15, 
10080
0
   OPC_CheckComplexPat0, /*#*/1,
10081
0
   OPC_CheckComplexPat0, /*#*/2,
10082
0
   OPC_EmitMergeInputChains1_0,
10083
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::NCReg),
10084
0
                 MVT::i32, 5, 4, 5, 6, 7, 3, 
10085
0
  0, 
10086
0
 46, TARGET_VAL(SystemZISD::OC),
10087
0
  OPC_RecordNode,
10088
0
  OPC_RecordChild1,
10089
0
  OPC_CheckChild1TypeI64,
10090
0
  OPC_RecordChild2,
10091
0
  OPC_CheckChild2TypeI64,
10092
0
  OPC_RecordChild3,
10093
0
  OPC_Scope, 21, 
10094
0
   OPC_MoveChild3,
10095
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10096
0
   OPC_MoveParent,
10097
0
   OPC_CheckComplexPat0, /*#*/1,
10098
0
   OPC_CheckComplexPat0, /*#*/2,
10099
0
   OPC_EmitMergeInputChains1_0,
10100
0
   OPC_EmitConvertToTarget3,
10101
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::OCImm),
10102
0
                 MVT::i32, 5, 4, 5, 6, 7, 8, 
10103
0
  15, 
10104
0
   OPC_CheckComplexPat0, /*#*/1,
10105
0
   OPC_CheckComplexPat0, /*#*/2,
10106
0
   OPC_EmitMergeInputChains1_0,
10107
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::OCReg),
10108
0
                 MVT::i32, 5, 4, 5, 6, 7, 3, 
10109
0
  0, 
10110
0
 46, TARGET_VAL(SystemZISD::XC),
10111
0
  OPC_RecordNode,
10112
0
  OPC_RecordChild1,
10113
0
  OPC_CheckChild1TypeI64,
10114
0
  OPC_RecordChild2,
10115
0
  OPC_CheckChild2TypeI64,
10116
0
  OPC_RecordChild3,
10117
0
  OPC_Scope, 21, 
10118
0
   OPC_MoveChild3,
10119
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10120
0
   OPC_MoveParent,
10121
0
   OPC_CheckComplexPat0, /*#*/1,
10122
0
   OPC_CheckComplexPat0, /*#*/2,
10123
0
   OPC_EmitMergeInputChains1_0,
10124
0
   OPC_EmitConvertToTarget3,
10125
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::XCImm),
10126
0
                 MVT::i32, 5, 4, 5, 6, 7, 8, 
10127
0
  15, 
10128
0
   OPC_CheckComplexPat0, /*#*/1,
10129
0
   OPC_CheckComplexPat0, /*#*/2,
10130
0
   OPC_EmitMergeInputChains1_0,
10131
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::XCReg),
10132
0
                 MVT::i32, 5, 4, 5, 6, 7, 3, 
10133
0
  0, 
10134
0
 46, TARGET_VAL(SystemZISD::CLC),
10135
0
  OPC_RecordNode,
10136
0
  OPC_RecordChild1,
10137
0
  OPC_CheckChild1TypeI64,
10138
0
  OPC_RecordChild2,
10139
0
  OPC_CheckChild2TypeI64,
10140
0
  OPC_RecordChild3,
10141
0
  OPC_Scope, 21, 
10142
0
   OPC_MoveChild3,
10143
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10144
0
   OPC_MoveParent,
10145
0
   OPC_CheckComplexPat0, /*#*/1,
10146
0
   OPC_CheckComplexPat0, /*#*/2,
10147
0
   OPC_EmitMergeInputChains1_0,
10148
0
   OPC_EmitConvertToTarget3,
10149
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CLCImm),
10150
0
                 MVT::i32, 5, 4, 5, 6, 7, 8, 
10151
0
  15, 
10152
0
   OPC_CheckComplexPat0, /*#*/1,
10153
0
   OPC_CheckComplexPat0, /*#*/2,
10154
0
   OPC_EmitMergeInputChains1_0,
10155
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CLCReg),
10156
0
                 MVT::i32, 5, 4, 5, 6, 7, 3, 
10157
0
  0, 
10158
0
 111|128,1, TARGET_VAL(SystemZISD::STRV),
10159
0
  OPC_RecordMemRef,
10160
0
  OPC_RecordNode,
10161
0
  OPC_Scope, 103, 
10162
0
   OPC_MoveChild1,
10163
0
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
10164
0
   OPC_RecordChild0,
10165
0
   OPC_Scope, 31, 
10166
0
    OPC_CheckChild0Type, MVT::v8i16,
10167
0
    OPC_RecordChild1,
10168
0
    OPC_MoveChild1,
10169
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10170
0
    OPC_CheckPredicate, 51,
10171
0
    OPC_MoveParent,
10172
0
    OPC_CheckTypeI32,
10173
0
    OPC_MoveParent,
10174
0
    OPC_RecordChild2,
10175
0
    OPC_CheckChild2TypeI64,
10176
0
    OPC_CheckPredicate, 48,
10177
0
    OPC_CheckPatternPredicate4,
10178
0
    OPC_CheckComplexPat1, /*#*/3,
10179
0
    OPC_EmitMergeInputChains1_0,
10180
0
    OPC_EmitConvertToTarget2,
10181
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEBRH), 0|OPFL_Chain|OPFL_MemRefs,
10182
0
                  5, 1, 4, 5, 6, 7, 
10183
0
   31, 
10184
0
    OPC_CheckChild0Type, MVT::v4i32,
10185
0
    OPC_RecordChild1,
10186
0
    OPC_MoveChild1,
10187
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10188
0
    OPC_CheckPredicate, 35,
10189
0
    OPC_MoveParent,
10190
0
    OPC_CheckTypeI32,
10191
0
    OPC_MoveParent,
10192
0
    OPC_RecordChild2,
10193
0
    OPC_CheckChild2TypeI64,
10194
0
    OPC_CheckPredicate, 47,
10195
0
    OPC_CheckPatternPredicate4,
10196
0
    OPC_CheckComplexPat1, /*#*/3,
10197
0
    OPC_EmitMergeInputChains1_0,
10198
0
    OPC_EmitConvertToTarget2,
10199
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEBRF), 0|OPFL_Chain|OPFL_MemRefs,
10200
0
                  5, 1, 4, 5, 6, 7, 
10201
0
   31, 
10202
0
    OPC_CheckChild0Type, MVT::v2i64,
10203
0
    OPC_RecordChild1,
10204
0
    OPC_MoveChild1,
10205
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10206
0
    OPC_CheckPredicate, 38,
10207
0
    OPC_MoveParent,
10208
0
    OPC_CheckTypeI64,
10209
0
    OPC_MoveParent,
10210
0
    OPC_RecordChild2,
10211
0
    OPC_CheckChild2TypeI64,
10212
0
    OPC_CheckPredicate, 40,
10213
0
    OPC_CheckPatternPredicate4,
10214
0
    OPC_CheckComplexPat1, /*#*/3,
10215
0
    OPC_EmitMergeInputChains1_0,
10216
0
    OPC_EmitConvertToTarget2,
10217
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEBRG), 0|OPFL_Chain|OPFL_MemRefs,
10218
0
                  5, 1, 4, 5, 6, 7, 
10219
0
   0, 
10220
0
  1|128,1, 
10221
0
   OPC_RecordChild1,
10222
0
   OPC_Scope, 35, 
10223
0
    OPC_CheckChild1TypeI32,
10224
0
    OPC_RecordChild2,
10225
0
    OPC_CheckChild2TypeI64,
10226
0
    OPC_Scope, 14, 
10227
0
     OPC_CheckPredicate, 48,
10228
0
     OPC_CheckComplexPat2, /*#*/2,
10229
0
     OPC_EmitMergeInputChains1_0,
10230
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRVH), 0|OPFL_Chain|OPFL_MemRefs,
10231
0
                   4, 1, 3, 4, 5, 
10232
0
    14, 
10233
0
     OPC_CheckPredicate, 47,
10234
0
     OPC_CheckComplexPat2, /*#*/2,
10235
0
     OPC_EmitMergeInputChains1_0,
10236
0
     OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRV), 0|OPFL_Chain|OPFL_MemRefs,
10237
0
                   4, 1, 3, 4, 5, 
10238
0
    0, 
10239
0
   17, 
10240
0
    OPC_CheckChild1TypeI64,
10241
0
    OPC_RecordChild2,
10242
0
    OPC_CheckChild2TypeI64,
10243
0
    OPC_CheckPredicate, 40,
10244
0
    OPC_CheckComplexPat2, /*#*/2,
10245
0
    OPC_EmitMergeInputChains1_0,
10246
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRVG), 0|OPFL_Chain|OPFL_MemRefs,
10247
0
                  4, 1, 3, 4, 5, 
10248
0
   17, 
10249
0
    OPC_CheckChild1Type, MVT::v8i16,
10250
0
    OPC_RecordChild2,
10251
0
    OPC_CheckChild2TypeI64,
10252
0
    OPC_CheckPatternPredicate4,
10253
0
    OPC_CheckComplexPat1, /*#*/2,
10254
0
    OPC_EmitMergeInputChains1_0,
10255
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRH), 0|OPFL_Chain|OPFL_MemRefs,
10256
0
                  4, 1, 3, 4, 5, 
10257
0
   17, 
10258
0
    OPC_CheckChild1Type, MVT::v4i32,
10259
0
    OPC_RecordChild2,
10260
0
    OPC_CheckChild2TypeI64,
10261
0
    OPC_CheckPatternPredicate4,
10262
0
    OPC_CheckComplexPat1, /*#*/2,
10263
0
    OPC_EmitMergeInputChains1_0,
10264
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRF), 0|OPFL_Chain|OPFL_MemRefs,
10265
0
                  4, 1, 3, 4, 5, 
10266
0
   17, 
10267
0
    OPC_CheckChild1Type, MVT::v2i64,
10268
0
    OPC_RecordChild2,
10269
0
    OPC_CheckChild2TypeI64,
10270
0
    OPC_CheckPatternPredicate4,
10271
0
    OPC_CheckComplexPat1, /*#*/2,
10272
0
    OPC_EmitMergeInputChains1_0,
10273
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRG), 0|OPFL_Chain|OPFL_MemRefs,
10274
0
                  4, 1, 3, 4, 5, 
10275
0
   17, 
10276
0
    OPC_CheckChild1Type, MVT::i128,
10277
0
    OPC_RecordChild2,
10278
0
    OPC_CheckChild2TypeI64,
10279
0
    OPC_CheckPatternPredicate4,
10280
0
    OPC_CheckComplexPat1, /*#*/2,
10281
0
    OPC_EmitMergeInputChains1_0,
10282
0
    OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRQ), 0|OPFL_Chain|OPFL_MemRefs,
10283
0
                  4, 1, 3, 4, 5, 
10284
0
   0, 
10285
0
  0, 
10286
0
 92|128,1, TARGET_VAL(ISD::INTRINSIC_VOID),
10287
0
  OPC_RecordNode,
10288
0
  OPC_Scope, 47, 
10289
0
   OPC_CheckChild1Integer, 14|128,39|128,1, 
10290
0
   OPC_RecordChild2,
10291
0
   OPC_RecordChild3,
10292
0
   OPC_Scope, 22, 
10293
0
    OPC_MoveChild3,
10294
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10295
0
    OPC_CheckPredicate3, 
10296
0
    OPC_MoveParent,
10297
0
    OPC_RecordChild4,
10298
0
    OPC_CheckChild4TypeI64,
10299
0
    OPC_CheckPatternPredicate, 16,
10300
0
    OPC_CheckComplexPat0, /*#*/3,
10301
0
    OPC_EmitMergeInputChains1_0,
10302
0
    OPC_EmitConvertToTarget2,
10303
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::VSTRL),
10304
0
                  4, 1, 4, 5, 6, 
10305
0
   15, 
10306
0
    OPC_RecordChild4,
10307
0
    OPC_CheckChild4TypeI64,
10308
0
    OPC_CheckPatternPredicate, 16,
10309
0
    OPC_CheckComplexPat0, /*#*/3,
10310
0
    OPC_EmitMergeInputChains1_0,
10311
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::VSTRLR),
10312
0
                  4, 1, 2, 4, 5, 
10313
0
   0, 
10314
0
  42, 
10315
0
   OPC_CheckChild1Integer, 10|128,36|128,1, 
10316
0
   OPC_Scope, 26, 
10317
0
    OPC_MoveChild2,
10318
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10319
0
    OPC_RecordMemRef,
10320
0
    OPC_RecordNode,
10321
0
    OPC_CheckFoldableChainNode,
10322
0
    OPC_RecordChild1,
10323
0
    OPC_CheckChild1TypeI64,
10324
0
    OPC_CheckPredicate0, 
10325
0
    OPC_CheckPredicate2, 
10326
0
    OPC_MoveParent,
10327
0
    OPC_CheckComplexPat0, /*#*/2,
10328
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
10329
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LFPC), 0|OPFL_Chain|OPFL_MemRefs,
10330
0
                  MVT::i32, 2, 3, 4, 
10331
0
   8, 
10332
0
    OPC_RecordChild2,
10333
0
    OPC_EmitMergeInputChains1_0,
10334
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::SFPC),
10335
0
                  MVT::i32, 1, 1, 
10336
0
   0, 
10337
0
  31, 
10338
0
   OPC_CheckChild1Integer, 18|128,36|128,1, 
10339
0
   OPC_RecordChild2,
10340
0
   OPC_CheckChild2TypeI64,
10341
0
   OPC_RecordChild3,
10342
0
   OPC_MoveChild3,
10343
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10344
0
   OPC_CheckPredicate, 46,
10345
0
   OPC_MoveParent,
10346
0
   OPC_CheckPatternPredicate, 10,
10347
0
   OPC_CheckComplexPat0, /*#*/1,
10348
0
   OPC_EmitMergeInputChains1_0,
10349
0
   OPC_EmitConvertToTarget2,
10350
0
   OPC_EmitNodeXForm, 10, 5,
10351
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::TBEGINC),
10352
0
                 MVT::i32, 3, 3, 4, 6, 
10353
0
  20, 
10354
0
   OPC_CheckChild1Integer, 6|128,36|128,1, 
10355
0
   OPC_RecordChild2,
10356
0
   OPC_RecordChild3,
10357
0
   OPC_CheckChild3TypeI64,
10358
0
   OPC_CheckPatternPredicate, 10,
10359
0
   OPC_CheckComplexPat2, /*#*/2,
10360
0
   OPC_EmitMergeInputChains1_0,
10361
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::NTSTG),
10362
0
                 4, 1, 3, 4, 5, 
10363
0
  16, 
10364
0
   OPC_CheckChild1Integer, 12|128,36|128,1, 
10365
0
   OPC_RecordChild2,
10366
0
   OPC_CheckPatternPredicate, 10,
10367
0
   OPC_CheckComplexPat0, /*#*/1,
10368
0
   OPC_EmitMergeInputChains1_0,
10369
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::TABORT),
10370
0
                 2, 2, 3, 
10371
0
  20, 
10372
0
   OPC_CheckChild1Integer, 116|128,38|128,1, 
10373
0
   OPC_RecordChild2,
10374
0
   OPC_RecordChild3,
10375
0
   OPC_RecordChild4,
10376
0
   OPC_CheckChild4TypeI64,
10377
0
   OPC_CheckPatternPredicate0,
10378
0
   OPC_CheckComplexPat0, /*#*/3,
10379
0
   OPC_EmitMergeInputChains1_0,
10380
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::VSTL),
10381
0
                 4, 1, 2, 4, 5, 
10382
0
  34, 
10383
0
   OPC_CheckChild1Integer, 8|128,36|128,1, 
10384
0
   OPC_RecordChild2,
10385
0
   OPC_CheckPatternPredicate, 20,
10386
0
   OPC_EmitMergeInputChains1_0,
10387
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10388
0
                 MVT::i64, 0, 
10389
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
10390
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10391
0
                 MVT::i64, 3, 2, 1, 3, 
10392
0
   OPC_EmitRegisterI64, 0 ,
10393
0
   OPC_EmitInteger32, 2, 
10394
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::PPA),
10395
0
                 3, 4, 5, 6, 
10396
0
  0, 
10397
0
 37, TARGET_VAL(SystemZISD::PREFETCH),
10398
0
  OPC_RecordMemRef,
10399
0
  OPC_RecordNode,
10400
0
  OPC_RecordChild1,
10401
0
  OPC_MoveChild1,
10402
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10403
0
  OPC_CheckPredicate3, 
10404
0
  OPC_MoveParent,
10405
0
  OPC_RecordChild2,
10406
0
  OPC_CheckChild2TypeI64,
10407
0
  OPC_Scope, 10, 
10408
0
   OPC_CheckComplexPat7, /*#*/2,
10409
0
   OPC_EmitMergeInputChains1_0,
10410
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::PFDRL), 0|OPFL_Chain|OPFL_MemRefs,
10411
0
                 2, 1, 3, 
10412
0
  12, 
10413
0
   OPC_CheckComplexPat2, /*#*/2,
10414
0
   OPC_EmitMergeInputChains1_0,
10415
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::PFD), 0|OPFL_Chain|OPFL_MemRefs,
10416
0
                 4, 1, 3, 4, 5, 
10417
0
  0, 
10418
0
 41, TARGET_VAL(ISD::BRIND),
10419
0
  OPC_RecordNode,
10420
0
  OPC_Scope, 28, 
10421
0
   OPC_MoveChild1,
10422
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10423
0
   OPC_RecordMemRef,
10424
0
   OPC_RecordNode,
10425
0
   OPC_CheckFoldableChainNode,
10426
0
   OPC_RecordChild1,
10427
0
   OPC_CheckChild1TypeI64,
10428
0
   OPC_CheckPredicate0, 
10429
0
   OPC_CheckPredicate2, 
10430
0
   OPC_MoveParent,
10431
0
   OPC_CheckPatternPredicate, 8,
10432
0
   OPC_CheckComplexPat2, /*#*/2,
10433
0
   OPC_EmitMergeInputChains, 2, 0, 1, 
10434
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::BI), 0|OPFL_Chain|OPFL_MemRefs,
10435
0
                 3, 3, 4, 5, 
10436
0
  8, 
10437
0
   OPC_RecordChild1,
10438
0
   OPC_CheckChild1TypeI64,
10439
0
   OPC_EmitMergeInputChains1_0,
10440
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::BR),
10441
0
                 1, 1, 
10442
0
  0, 
10443
0
 79|128,3, TARGET_VAL(SystemZISD::SADDO),
10444
0
  OPC_RecordChild0,
10445
0
  OPC_Scope, 20|128,1, 
10446
0
   OPC_MoveChild1,
10447
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10448
0
   OPC_RecordMemRef,
10449
0
   OPC_RecordNode,
10450
0
   OPC_CheckFoldableChainNode,
10451
0
   OPC_RecordChild1,
10452
0
   OPC_CheckChild1TypeI64,
10453
0
   OPC_CheckPredicate0, 
10454
0
   OPC_Scope, 37, 
10455
0
    OPC_CheckPredicate, 14,
10456
0
    OPC_CheckPredicate5, 
10457
0
    OPC_MoveParent,
10458
0
    OPC_CheckTypeI32,
10459
0
    OPC_Scope, 14, 
10460
0
     OPC_CheckComplexPat3, /*#*/2,
10461
0
     OPC_EmitMergeInputChains1_1,
10462
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
10463
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10464
0
    14, 
10465
0
     OPC_CheckComplexPat4, /*#*/2,
10466
0
     OPC_EmitMergeInputChains1_1,
10467
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
10468
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10469
0
    0, 
10470
0
   35, 
10471
0
    OPC_CheckPredicate2, 
10472
0
    OPC_MoveParent,
10473
0
    OPC_CheckTypeI32,
10474
0
    OPC_Scope, 14, 
10475
0
     OPC_CheckComplexPat3, /*#*/2,
10476
0
     OPC_EmitMergeInputChains1_1,
10477
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
10478
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10479
0
    14, 
10480
0
     OPC_CheckComplexPat4, /*#*/2,
10481
0
     OPC_EmitMergeInputChains1_1,
10482
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
10483
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10484
0
    0, 
10485
0
   43, 
10486
0
    OPC_CheckPredicate, 14,
10487
0
    OPC_Scope, 19, 
10488
0
     OPC_CheckPredicate5, 
10489
0
     OPC_MoveParent,
10490
0
     OPC_CheckTypeI64,
10491
0
     OPC_CheckPatternPredicate, 8,
10492
0
     OPC_CheckComplexPat2, /*#*/2,
10493
0
     OPC_EmitMergeInputChains1_1,
10494
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
10495
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
10496
0
    18, 
10497
0
     OPC_CheckPredicate, 9,
10498
0
     OPC_MoveParent,
10499
0
     OPC_CheckTypeI64,
10500
0
     OPC_CheckComplexPat2, /*#*/2,
10501
0
     OPC_EmitMergeInputChains1_1,
10502
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
10503
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
10504
0
    0, 
10505
0
   17, 
10506
0
    OPC_CheckPredicate2, 
10507
0
    OPC_MoveParent,
10508
0
    OPC_CheckTypeI64,
10509
0
    OPC_CheckComplexPat2, /*#*/2,
10510
0
    OPC_EmitMergeInputChains1_1,
10511
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
10512
0
                  MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
10513
0
   0, 
10514
0
  85|128,1, 
10515
0
   OPC_RecordChild1,
10516
0
   OPC_MoveChild1,
10517
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10518
0
   OPC_Scope, 62, 
10519
0
    OPC_CheckPredicate, 13,
10520
0
    OPC_MoveParent,
10521
0
    OPC_CheckTypeI32,
10522
0
    OPC_Scope, 14, 
10523
0
     OPC_CheckPatternPredicate, 19,
10524
0
     OPC_EmitConvertToTarget1,
10525
0
     OPC_EmitNodeXForm, 2, 2,
10526
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMuxK),
10527
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
10528
0
    13, 
10529
0
     OPC_CheckPatternPredicate2,
10530
0
     OPC_EmitConvertToTarget1,
10531
0
     OPC_EmitNodeXForm, 2, 2,
10532
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMux),
10533
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
10534
0
    13, 
10535
0
     OPC_CheckPatternPredicate6,
10536
0
     OPC_EmitConvertToTarget1,
10537
0
     OPC_EmitNodeXForm, 2, 2,
10538
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIK),
10539
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
10540
0
    12, 
10541
0
     OPC_EmitConvertToTarget1,
10542
0
     OPC_EmitNodeXForm, 2, 2,
10543
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHI),
10544
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
10545
0
    0, 
10546
0
   33, 
10547
0
    OPC_CheckPredicate, 13,
10548
0
    OPC_MoveParent,
10549
0
    OPC_CheckTypeI64,
10550
0
    OPC_Scope, 13, 
10551
0
     OPC_CheckPatternPredicate6,
10552
0
     OPC_EmitConvertToTarget1,
10553
0
     OPC_EmitNodeXForm, 2, 2,
10554
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHIK),
10555
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
10556
0
    12, 
10557
0
     OPC_EmitConvertToTarget1,
10558
0
     OPC_EmitNodeXForm, 2, 2,
10559
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
10560
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
10561
0
    0, 
10562
0
   16, 
10563
0
    OPC_CheckPredicate, 53,
10564
0
    OPC_MoveParent,
10565
0
    OPC_CheckTypeI64,
10566
0
    OPC_EmitConvertToTarget1,
10567
0
    OPC_EmitNodeXForm, 11, 2,
10568
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFI),
10569
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
10570
0
   22, 
10571
0
    OPC_CheckPredicate, 70,
10572
0
    OPC_MoveParent,
10573
0
    OPC_CheckTypeI64,
10574
0
    OPC_EmitConvertToTarget1,
10575
0
    OPC_EmitNodeXForm, 13, 2,
10576
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LLILH),
10577
0
                  MVT::i64, 1, 3, 
10578
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGR),
10579
0
                  MVT::i64, MVT::i32, 2, 0, 4, 
10580
0
   22, 
10581
0
    OPC_CheckPredicate, 77,
10582
0
    OPC_MoveParent,
10583
0
    OPC_CheckTypeI64,
10584
0
    OPC_EmitConvertToTarget1,
10585
0
    OPC_EmitNodeXForm, 14, 2,
10586
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LLILF),
10587
0
                  MVT::i64, 1, 3, 
10588
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGR),
10589
0
                  MVT::i64, MVT::i32, 2, 0, 4, 
10590
0
   45, 
10591
0
    OPC_MoveParent,
10592
0
    OPC_CheckTypeI32,
10593
0
    OPC_Scope, 13, 
10594
0
     OPC_CheckPatternPredicate2,
10595
0
     OPC_EmitConvertToTarget1,
10596
0
     OPC_EmitNodeXForm, 11, 2,
10597
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFIMux),
10598
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
10599
0
    12, 
10600
0
     OPC_EmitConvertToTarget1,
10601
0
     OPC_EmitNodeXForm, 11, 2,
10602
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFI),
10603
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
10604
0
    13, 
10605
0
     OPC_CheckPatternPredicate2,
10606
0
     OPC_EmitConvertToTarget1,
10607
0
     OPC_EmitNodeXForm, 11, 2,
10608
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AIH),
10609
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
10610
0
    0, 
10611
0
   0, 
10612
0
  44, 
10613
0
   OPC_MoveChild1,
10614
0
   OPC_SwitchOpcode , 11, TARGET_VAL(ISD::SIGN_EXTEND),
10615
0
    OPC_RecordChild0,
10616
0
    OPC_MoveParent,
10617
0
    OPC_CheckTypeI64,
10618
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
10619
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
10620
0
   24, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
10621
0
    OPC_RecordChild0,
10622
0
    OPC_MoveChild1,
10623
0
    OPC_CheckValueType, MVT::i32,
10624
0
    OPC_MoveParent,
10625
0
    OPC_MoveParent,
10626
0
    OPC_CheckTypeI64,
10627
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
10628
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10629
0
                  MVT::i32, 2, 1, 2, 
10630
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
10631
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
10632
0
   0,
10633
0
  49, 
10634
0
   OPC_RecordChild1,
10635
0
   OPC_SwitchType , 21, MVT::i32,
10636
0
    OPC_Scope, 9, 
10637
0
     OPC_CheckPatternPredicate6,
10638
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ARK),
10639
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
10640
0
    8, 
10641
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AR),
10642
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
10643
0
    0, 
10644
0
   21, MVT::i64,
10645
0
    OPC_Scope, 9, 
10646
0
     OPC_CheckPatternPredicate6,
10647
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGRK),
10648
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
10649
0
    8, 
10650
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGR),
10651
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
10652
0
    0, 
10653
0
   0,
10654
0
  0, 
10655
0
 105|128,8, TARGET_VAL(ISD::ADD),
10656
0
  OPC_Scope, 97|128,1, 
10657
0
   OPC_RecordChild0,
10658
0
   OPC_MoveChild1,
10659
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10660
0
   OPC_RecordMemRef,
10661
0
   OPC_RecordNode,
10662
0
   OPC_CheckFoldableChainNode,
10663
0
   OPC_RecordChild1,
10664
0
   OPC_CheckChild1TypeI64,
10665
0
   OPC_CheckPredicate0, 
10666
0
   OPC_Scope, 37, 
10667
0
    OPC_CheckPredicate, 14,
10668
0
    OPC_CheckPredicate5, 
10669
0
    OPC_MoveParent,
10670
0
    OPC_CheckTypeI32,
10671
0
    OPC_Scope, 14, 
10672
0
     OPC_CheckComplexPat3, /*#*/2,
10673
0
     OPC_EmitMergeInputChains1_1,
10674
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
10675
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10676
0
    14, 
10677
0
     OPC_CheckComplexPat4, /*#*/2,
10678
0
     OPC_EmitMergeInputChains1_1,
10679
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
10680
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10681
0
    0, 
10682
0
   35, 
10683
0
    OPC_CheckPredicate2, 
10684
0
    OPC_MoveParent,
10685
0
    OPC_CheckTypeI32,
10686
0
    OPC_Scope, 14, 
10687
0
     OPC_CheckComplexPat3, /*#*/2,
10688
0
     OPC_EmitMergeInputChains1_1,
10689
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
10690
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10691
0
    14, 
10692
0
     OPC_CheckComplexPat4, /*#*/2,
10693
0
     OPC_EmitMergeInputChains1_1,
10694
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
10695
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10696
0
    0, 
10697
0
   43, 
10698
0
    OPC_CheckPredicate, 14,
10699
0
    OPC_Scope, 19, 
10700
0
     OPC_CheckPredicate5, 
10701
0
     OPC_MoveParent,
10702
0
     OPC_CheckTypeI64,
10703
0
     OPC_CheckPatternPredicate, 8,
10704
0
     OPC_CheckComplexPat2, /*#*/2,
10705
0
     OPC_EmitMergeInputChains1_1,
10706
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
10707
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
10708
0
    18, 
10709
0
     OPC_CheckPredicate, 9,
10710
0
     OPC_MoveParent,
10711
0
     OPC_CheckTypeI64,
10712
0
     OPC_CheckComplexPat2, /*#*/2,
10713
0
     OPC_EmitMergeInputChains1_1,
10714
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
10715
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
10716
0
    0, 
10717
0
   54, 
10718
0
    OPC_CheckPredicate2, 
10719
0
    OPC_MoveParent,
10720
0
    OPC_SwitchType , 14, MVT::i64,
10721
0
     OPC_CheckComplexPat2, /*#*/2,
10722
0
     OPC_EmitMergeInputChains1_1,
10723
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
10724
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
10725
0
    32, MVT::i32,
10726
0
     OPC_Scope, 14, 
10727
0
      OPC_CheckComplexPat3, /*#*/2,
10728
0
      OPC_EmitMergeInputChains1_1,
10729
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AL), 0|OPFL_Chain|OPFL_MemRefs,
10730
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10731
0
     14, 
10732
0
      OPC_CheckComplexPat4, /*#*/2,
10733
0
      OPC_EmitMergeInputChains1_1,
10734
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALY), 0|OPFL_Chain|OPFL_MemRefs,
10735
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
10736
0
     0, 
10737
0
    0,
10738
0
   20, 
10739
0
    OPC_CheckPredicate, 12,
10740
0
    OPC_CheckPredicate, 9,
10741
0
    OPC_MoveParent,
10742
0
    OPC_CheckTypeI64,
10743
0
    OPC_CheckComplexPat2, /*#*/2,
10744
0
    OPC_EmitMergeInputChains1_1,
10745
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
10746
0
                  MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
10747
0
   17, 
10748
0
    OPC_CheckPredicate2, 
10749
0
    OPC_MoveParent,
10750
0
    OPC_CheckTypeI64,
10751
0
    OPC_CheckComplexPat2, /*#*/2,
10752
0
    OPC_EmitMergeInputChains1_1,
10753
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALG), 0|OPFL_Chain|OPFL_MemRefs,
10754
0
                  MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
10755
0
   0, 
10756
0
  47|128,1, 
10757
0
   OPC_MoveChild0,
10758
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10759
0
   OPC_RecordMemRef,
10760
0
   OPC_RecordNode,
10761
0
   OPC_CheckFoldableChainNode,
10762
0
   OPC_RecordChild1,
10763
0
   OPC_CheckChild1TypeI64,
10764
0
   OPC_CheckPredicate0, 
10765
0
   OPC_Scope, 38, 
10766
0
    OPC_CheckPredicate, 14,
10767
0
    OPC_CheckPredicate5, 
10768
0
    OPC_MoveParent,
10769
0
    OPC_RecordChild1,
10770
0
    OPC_CheckTypeI32,
10771
0
    OPC_Scope, 14, 
10772
0
     OPC_CheckComplexPat3, /*#*/1,
10773
0
     OPC_EmitMergeInputChains1_0,
10774
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
10775
0
                   MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
10776
0
    14, 
10777
0
     OPC_CheckComplexPat4, /*#*/1,
10778
0
     OPC_EmitMergeInputChains1_0,
10779
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
10780
0
                   MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
10781
0
    0, 
10782
0
   36, 
10783
0
    OPC_CheckPredicate2, 
10784
0
    OPC_MoveParent,
10785
0
    OPC_RecordChild1,
10786
0
    OPC_CheckTypeI32,
10787
0
    OPC_Scope, 14, 
10788
0
     OPC_CheckComplexPat3, /*#*/1,
10789
0
     OPC_EmitMergeInputChains1_0,
10790
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
10791
0
                   MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
10792
0
    14, 
10793
0
     OPC_CheckComplexPat4, /*#*/1,
10794
0
     OPC_EmitMergeInputChains1_0,
10795
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
10796
0
                   MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
10797
0
    0, 
10798
0
   45, 
10799
0
    OPC_CheckPredicate, 14,
10800
0
    OPC_Scope, 20, 
10801
0
     OPC_CheckPredicate5, 
10802
0
     OPC_MoveParent,
10803
0
     OPC_RecordChild1,
10804
0
     OPC_CheckTypeI64,
10805
0
     OPC_CheckPatternPredicate, 8,
10806
0
     OPC_CheckComplexPat2, /*#*/1,
10807
0
     OPC_EmitMergeInputChains1_0,
10808
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
10809
0
                   MVT::i64, MVT::i32, 4, 2, 3, 4, 5, 
10810
0
    19, 
10811
0
     OPC_CheckPredicate, 9,
10812
0
     OPC_MoveParent,
10813
0
     OPC_RecordChild1,
10814
0
     OPC_CheckTypeI64,
10815
0
     OPC_CheckComplexPat2, /*#*/1,
10816
0
     OPC_EmitMergeInputChains1_0,
10817
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
10818
0
                   MVT::i64, MVT::i32, 4, 2, 3, 4, 5, 
10819
0
    0, 
10820
0
   18, 
10821
0
    OPC_CheckPredicate2, 
10822
0
    OPC_MoveParent,
10823
0
    OPC_RecordChild1,
10824
0
    OPC_CheckTypeI64,
10825
0
    OPC_CheckComplexPat2, /*#*/1,
10826
0
    OPC_EmitMergeInputChains1_0,
10827
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
10828
0
                  MVT::i64, MVT::i32, 4, 2, 3, 4, 5, 
10829
0
   21, 
10830
0
    OPC_CheckPredicate, 12,
10831
0
    OPC_CheckPredicate, 9,
10832
0
    OPC_MoveParent,
10833
0
    OPC_RecordChild1,
10834
0
    OPC_CheckTypeI64,
10835
0
    OPC_CheckComplexPat2, /*#*/1,
10836
0
    OPC_EmitMergeInputChains1_0,
10837
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
10838
0
                  MVT::i64, MVT::i32, 4, 2, 3, 4, 5, 
10839
0
   0, 
10840
0
  40, 
10841
0
   OPC_RecordNode,
10842
0
   OPC_CheckTypeI64,
10843
0
   OPC_Scope, 11, 
10844
0
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
10845
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
10846
0
                  MVT::i64, 3, 1, 2, 3, 
10847
0
   11, 
10848
0
    OPC_CheckComplexPat, /*CP*/12, /*#*/0,
10849
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
10850
0
                  MVT::i64, 3, 1, 2, 3, 
10851
0
   11, 
10852
0
    OPC_CheckComplexPat, /*CP*/13, /*#*/0,
10853
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
10854
0
                  MVT::i64, 3, 1, 2, 3, 
10855
0
   0, 
10856
0
  28, 
10857
0
   OPC_RecordChild0,
10858
0
   OPC_MoveChild1,
10859
0
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
10860
0
   OPC_RecordChild0,
10861
0
   OPC_MoveParent,
10862
0
   OPC_CheckTypeI64,
10863
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
10864
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10865
0
                 MVT::i32, 2, 1, 2, 
10866
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
10867
0
                 MVT::i64, MVT::i32, 2, 0, 3, 
10868
0
  28, 
10869
0
   OPC_MoveChild0,
10870
0
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
10871
0
   OPC_RecordChild0,
10872
0
   OPC_MoveParent,
10873
0
   OPC_RecordChild1,
10874
0
   OPC_CheckTypeI64,
10875
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
10876
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10877
0
                 MVT::i32, 2, 0, 2, 
10878
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
10879
0
                 MVT::i64, MVT::i32, 2, 1, 3, 
10880
0
  38|128,2, 
10881
0
   OPC_RecordChild0,
10882
0
   OPC_Scope, 109|128,1, 
10883
0
    OPC_RecordChild1,
10884
0
    OPC_MoveChild1,
10885
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10886
0
    OPC_Scope, 62, 
10887
0
     OPC_CheckPredicate, 13,
10888
0
     OPC_MoveParent,
10889
0
     OPC_CheckTypeI32,
10890
0
     OPC_Scope, 14, 
10891
0
      OPC_CheckPatternPredicate, 19,
10892
0
      OPC_EmitConvertToTarget1,
10893
0
      OPC_EmitNodeXForm, 2, 2,
10894
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMuxK),
10895
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
10896
0
     13, 
10897
0
      OPC_CheckPatternPredicate2,
10898
0
      OPC_EmitConvertToTarget1,
10899
0
      OPC_EmitNodeXForm, 2, 2,
10900
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMux),
10901
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
10902
0
     13, 
10903
0
      OPC_CheckPatternPredicate6,
10904
0
      OPC_EmitConvertToTarget1,
10905
0
      OPC_EmitNodeXForm, 2, 2,
10906
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIK),
10907
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
10908
0
     12, 
10909
0
      OPC_EmitConvertToTarget1,
10910
0
      OPC_EmitNodeXForm, 2, 2,
10911
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHI),
10912
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
10913
0
     0, 
10914
0
    33, 
10915
0
     OPC_CheckPredicate, 13,
10916
0
     OPC_MoveParent,
10917
0
     OPC_CheckTypeI64,
10918
0
     OPC_Scope, 13, 
10919
0
      OPC_CheckPatternPredicate6,
10920
0
      OPC_EmitConvertToTarget1,
10921
0
      OPC_EmitNodeXForm, 2, 2,
10922
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHIK),
10923
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
10924
0
     12, 
10925
0
      OPC_EmitConvertToTarget1,
10926
0
      OPC_EmitNodeXForm, 2, 2,
10927
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
10928
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
10929
0
     0, 
10930
0
    16, 
10931
0
     OPC_CheckPredicate, 53,
10932
0
     OPC_MoveParent,
10933
0
     OPC_CheckTypeI64,
10934
0
     OPC_EmitConvertToTarget1,
10935
0
     OPC_EmitNodeXForm, 11, 2,
10936
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFI),
10937
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
10938
0
    17, 
10939
0
     OPC_CheckPredicate, 13,
10940
0
     OPC_MoveParent,
10941
0
     OPC_CheckTypeI32,
10942
0
     OPC_CheckPatternPredicate6,
10943
0
     OPC_EmitConvertToTarget1,
10944
0
     OPC_EmitNodeXForm, 2, 2,
10945
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALHSIK),
10946
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
10947
0
    17, 
10948
0
     OPC_CheckPredicate, 13,
10949
0
     OPC_MoveParent,
10950
0
     OPC_CheckTypeI64,
10951
0
     OPC_CheckPatternPredicate6,
10952
0
     OPC_EmitConvertToTarget1,
10953
0
     OPC_EmitNodeXForm, 2, 2,
10954
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGHSIK),
10955
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
10956
0
    16, 
10957
0
     OPC_CheckPredicate, 52,
10958
0
     OPC_MoveParent,
10959
0
     OPC_CheckTypeI64,
10960
0
     OPC_EmitConvertToTarget1,
10961
0
     OPC_EmitNodeXForm, 9, 2,
10962
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFI),
10963
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
10964
0
    16, 
10965
0
     OPC_CheckPredicate, 72,
10966
0
     OPC_MoveParent,
10967
0
     OPC_CheckTypeI64,
10968
0
     OPC_EmitConvertToTarget1,
10969
0
     OPC_EmitNodeXForm, 15, 2,
10970
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFI),
10971
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
10972
0
    45, 
10973
0
     OPC_MoveParent,
10974
0
     OPC_CheckTypeI32,
10975
0
     OPC_Scope, 13, 
10976
0
      OPC_CheckPatternPredicate2,
10977
0
      OPC_EmitConvertToTarget1,
10978
0
      OPC_EmitNodeXForm, 11, 2,
10979
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFIMux),
10980
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
10981
0
     12, 
10982
0
      OPC_EmitConvertToTarget1,
10983
0
      OPC_EmitNodeXForm, 11, 2,
10984
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFI),
10985
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
10986
0
     13, 
10987
0
      OPC_CheckPatternPredicate2,
10988
0
      OPC_EmitConvertToTarget1,
10989
0
      OPC_EmitNodeXForm, 11, 2,
10990
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AIH),
10991
0
                    MVT::i32, MVT::i32, 2, 0, 3, 
10992
0
     0, 
10993
0
    0, 
10994
0
   15, 
10995
0
    OPC_MoveChild1,
10996
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
10997
0
    OPC_RecordChild0,
10998
0
    OPC_MoveParent,
10999
0
    OPC_CheckTypeI64,
11000
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
11001
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
11002
0
   19, 
11003
0
    OPC_RecordChild1,
11004
0
    OPC_MoveChild1,
11005
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11006
0
    OPC_MoveParent,
11007
0
    OPC_CheckTypeI32,
11008
0
    OPC_EmitConvertToTarget1,
11009
0
    OPC_EmitNodeXForm, 9, 2,
11010
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALFI),
11011
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11012
0
   15, 
11013
0
    OPC_MoveChild1,
11014
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
11015
0
    OPC_RecordChild0,
11016
0
    OPC_MoveParent,
11017
0
    OPC_CheckTypeI64,
11018
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
11019
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
11020
0
   0, 
11021
0
  33, 
11022
0
   OPC_MoveChild0,
11023
0
   OPC_SwitchOpcode , 12, TARGET_VAL(ISD::SIGN_EXTEND),
11024
0
    OPC_RecordChild0,
11025
0
    OPC_MoveParent,
11026
0
    OPC_RecordChild1,
11027
0
    OPC_CheckTypeI64,
11028
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
11029
0
                  MVT::i64, MVT::i32, 2, 1, 0, 
11030
0
   12, TARGET_VAL(ISD::ZERO_EXTEND),
11031
0
    OPC_RecordChild0,
11032
0
    OPC_MoveParent,
11033
0
    OPC_RecordChild1,
11034
0
    OPC_CheckTypeI64,
11035
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
11036
0
                  MVT::i64, MVT::i32, 2, 1, 0, 
11037
0
   0,
11038
0
  29, 
11039
0
   OPC_RecordChild0,
11040
0
   OPC_MoveChild1,
11041
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
11042
0
   OPC_RecordChild0,
11043
0
   OPC_MoveChild1,
11044
0
   OPC_CheckValueType, MVT::i32,
11045
0
   OPC_MoveParent,
11046
0
   OPC_MoveParent,
11047
0
   OPC_CheckTypeI64,
11048
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
11049
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11050
0
                 MVT::i32, 2, 1, 2, 
11051
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
11052
0
                 MVT::i64, MVT::i32, 2, 0, 3, 
11053
0
  29, 
11054
0
   OPC_MoveChild0,
11055
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
11056
0
   OPC_RecordChild0,
11057
0
   OPC_MoveChild1,
11058
0
   OPC_CheckValueType, MVT::i32,
11059
0
   OPC_MoveParent,
11060
0
   OPC_MoveParent,
11061
0
   OPC_RecordChild1,
11062
0
   OPC_CheckTypeI64,
11063
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
11064
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11065
0
                 MVT::i32, 2, 0, 2, 
11066
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
11067
0
                 MVT::i64, MVT::i32, 2, 1, 3, 
11068
0
  98, 
11069
0
   OPC_RecordChild0,
11070
0
   OPC_RecordChild1,
11071
0
   OPC_SwitchType , 40, MVT::i32,
11072
0
    OPC_Scope, 9, 
11073
0
     OPC_CheckPatternPredicate6,
11074
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ARK),
11075
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
11076
0
    8, 
11077
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AR),
11078
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
11079
0
    9, 
11080
0
     OPC_CheckPatternPredicate6,
11081
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALRK),
11082
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
11083
0
    8, 
11084
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALR),
11085
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
11086
0
    0, 
11087
0
   40, MVT::i64,
11088
0
    OPC_Scope, 9, 
11089
0
     OPC_CheckPatternPredicate6,
11090
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGRK),
11091
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11092
0
    8, 
11093
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGR),
11094
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11095
0
    9, 
11096
0
     OPC_CheckPatternPredicate6,
11097
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGRK),
11098
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11099
0
    8, 
11100
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGR),
11101
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11102
0
    0, 
11103
0
   8, MVT::i128,
11104
0
    OPC_CheckPatternPredicate0,
11105
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAQ),
11106
0
                  MVT::i128, 2, 0, 1, 
11107
0
   0,
11108
0
  43, 
11109
0
   OPC_MoveChild0,
11110
0
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11111
0
   OPC_RecordChild0,
11112
0
   OPC_RecordChild1,
11113
0
   OPC_MoveParent,
11114
0
   OPC_RecordChild1,
11115
0
   OPC_SwitchType , 9, MVT::v16i8,
11116
0
    OPC_CheckPatternPredicate0,
11117
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALB),
11118
0
                  MVT::v16i8, 3, 0, 1, 2, 
11119
0
   9, MVT::v8i16,
11120
0
    OPC_CheckPatternPredicate0,
11121
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHW),
11122
0
                  MVT::v8i16, 3, 0, 1, 2, 
11123
0
   9, MVT::v4i32,
11124
0
    OPC_CheckPatternPredicate0,
11125
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALF),
11126
0
                  MVT::v4i32, 3, 0, 1, 2, 
11127
0
   0,
11128
0
  90, 
11129
0
   OPC_RecordChild0,
11130
0
   OPC_Scope, 42, 
11131
0
    OPC_MoveChild1,
11132
0
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11133
0
    OPC_RecordChild0,
11134
0
    OPC_RecordChild1,
11135
0
    OPC_MoveParent,
11136
0
    OPC_SwitchType , 9, MVT::v16i8,
11137
0
     OPC_CheckPatternPredicate0,
11138
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALB),
11139
0
                   MVT::v16i8, 3, 1, 2, 0, 
11140
0
    9, MVT::v8i16,
11141
0
     OPC_CheckPatternPredicate0,
11142
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHW),
11143
0
                   MVT::v8i16, 3, 1, 2, 0, 
11144
0
    9, MVT::v4i32,
11145
0
     OPC_CheckPatternPredicate0,
11146
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALF),
11147
0
                   MVT::v4i32, 3, 1, 2, 0, 
11148
0
    0,
11149
0
   43, 
11150
0
    OPC_RecordChild1,
11151
0
    OPC_SwitchType , 8, MVT::v16i8,
11152
0
     OPC_CheckPatternPredicate0,
11153
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAB),
11154
0
                   MVT::v16i8, 2, 0, 1, 
11155
0
    8, MVT::v8i16,
11156
0
     OPC_CheckPatternPredicate0,
11157
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAH),
11158
0
                   MVT::v8i16, 2, 0, 1, 
11159
0
    8, MVT::v4i32,
11160
0
     OPC_CheckPatternPredicate0,
11161
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAF),
11162
0
                   MVT::v4i32, 2, 0, 1, 
11163
0
    8, MVT::v2i64,
11164
0
     OPC_CheckPatternPredicate0,
11165
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAG),
11166
0
                   MVT::v2i64, 2, 0, 1, 
11167
0
    0,
11168
0
   0, 
11169
0
  0, 
11170
0
 7|128,2, TARGET_VAL(SystemZISD::UADDO),
11171
0
  OPC_RecordChild0,
11172
0
  OPC_Scope, 117, 
11173
0
   OPC_MoveChild1,
11174
0
   OPC_Scope, 86, 
11175
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11176
0
    OPC_RecordMemRef,
11177
0
    OPC_RecordNode,
11178
0
    OPC_CheckFoldableChainNode,
11179
0
    OPC_RecordChild1,
11180
0
    OPC_CheckChild1TypeI64,
11181
0
    OPC_CheckPredicate0, 
11182
0
    OPC_Scope, 35, 
11183
0
     OPC_CheckPredicate2, 
11184
0
     OPC_MoveParent,
11185
0
     OPC_CheckTypeI32,
11186
0
     OPC_Scope, 14, 
11187
0
      OPC_CheckComplexPat3, /*#*/2,
11188
0
      OPC_EmitMergeInputChains1_1,
11189
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AL), 0|OPFL_Chain|OPFL_MemRefs,
11190
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11191
0
     14, 
11192
0
      OPC_CheckComplexPat4, /*#*/2,
11193
0
      OPC_EmitMergeInputChains1_1,
11194
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALY), 0|OPFL_Chain|OPFL_MemRefs,
11195
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11196
0
     0, 
11197
0
    20, 
11198
0
     OPC_CheckPredicate, 12,
11199
0
     OPC_CheckPredicate, 9,
11200
0
     OPC_MoveParent,
11201
0
     OPC_CheckTypeI64,
11202
0
     OPC_CheckComplexPat2, /*#*/2,
11203
0
     OPC_EmitMergeInputChains1_1,
11204
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
11205
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11206
0
    17, 
11207
0
     OPC_CheckPredicate2, 
11208
0
     OPC_MoveParent,
11209
0
     OPC_CheckTypeI64,
11210
0
     OPC_CheckComplexPat2, /*#*/2,
11211
0
     OPC_EmitMergeInputChains1_1,
11212
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALG), 0|OPFL_Chain|OPFL_MemRefs,
11213
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11214
0
    0, 
11215
0
   26, 
11216
0
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
11217
0
    OPC_RecordChild0,
11218
0
    OPC_MoveParent,
11219
0
    OPC_CheckTypeI64,
11220
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
11221
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11222
0
                  MVT::i32, 2, 1, 2, 
11223
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
11224
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11225
0
   0, 
11226
0
  75, 
11227
0
   OPC_RecordChild1,
11228
0
   OPC_MoveChild1,
11229
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11230
0
   OPC_Scope, 17, 
11231
0
    OPC_CheckPredicate, 13,
11232
0
    OPC_MoveParent,
11233
0
    OPC_CheckTypeI32,
11234
0
    OPC_CheckPatternPredicate6,
11235
0
    OPC_EmitConvertToTarget1,
11236
0
    OPC_EmitNodeXForm, 2, 2,
11237
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALHSIK),
11238
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11239
0
   17, 
11240
0
    OPC_CheckPredicate, 13,
11241
0
    OPC_MoveParent,
11242
0
    OPC_CheckTypeI64,
11243
0
    OPC_CheckPatternPredicate6,
11244
0
    OPC_EmitConvertToTarget1,
11245
0
    OPC_EmitNodeXForm, 2, 2,
11246
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGHSIK),
11247
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11248
0
   16, 
11249
0
    OPC_CheckPredicate, 52,
11250
0
    OPC_MoveParent,
11251
0
    OPC_CheckTypeI64,
11252
0
    OPC_EmitConvertToTarget1,
11253
0
    OPC_EmitNodeXForm, 9, 2,
11254
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFI),
11255
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11256
0
   14, 
11257
0
    OPC_MoveParent,
11258
0
    OPC_CheckTypeI32,
11259
0
    OPC_EmitConvertToTarget1,
11260
0
    OPC_EmitNodeXForm, 9, 2,
11261
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALFI),
11262
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11263
0
   0, 
11264
0
  15, 
11265
0
   OPC_MoveChild1,
11266
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
11267
0
   OPC_RecordChild0,
11268
0
   OPC_MoveParent,
11269
0
   OPC_CheckTypeI64,
11270
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
11271
0
                 MVT::i64, MVT::i32, 2, 0, 1, 
11272
0
  49, 
11273
0
   OPC_RecordChild1,
11274
0
   OPC_SwitchType , 21, MVT::i32,
11275
0
    OPC_Scope, 9, 
11276
0
     OPC_CheckPatternPredicate6,
11277
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALRK),
11278
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
11279
0
    8, 
11280
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALR),
11281
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
11282
0
    0, 
11283
0
   21, MVT::i64,
11284
0
    OPC_Scope, 9, 
11285
0
     OPC_CheckPatternPredicate6,
11286
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGRK),
11287
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11288
0
    8, 
11289
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGR),
11290
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11291
0
    0, 
11292
0
   0,
11293
0
  0, 
11294
0
 86, TARGET_VAL(SystemZISD::ADDCARRY),
11295
0
  OPC_RecordChild0,
11296
0
  OPC_Scope, 52, 
11297
0
   OPC_MoveChild1,
11298
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11299
0
   OPC_RecordMemRef,
11300
0
   OPC_RecordNode,
11301
0
   OPC_CheckFoldableChainNode,
11302
0
   OPC_RecordChild1,
11303
0
   OPC_CheckChild1TypeI64,
11304
0
   OPC_CheckPredicate0, 
11305
0
   OPC_CheckPredicate2, 
11306
0
   OPC_MoveParent,
11307
0
   OPC_RecordChild2,
11308
0
   OPC_CheckChild2TypeI32,
11309
0
   OPC_SwitchType , 16, MVT::i32,
11310
0
    OPC_CheckComplexPat2, /*#*/2,
11311
0
    OPC_EmitMergeInputChains1_1,
11312
0
    OPC_EmitCopyToReg3, SystemZ::CC,
11313
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
11314
0
                  MVT::i32, MVT::i32, 4, 0, 4, 5, 6, 
11315
0
   16, MVT::i64,
11316
0
    OPC_CheckComplexPat2, /*#*/2,
11317
0
    OPC_EmitMergeInputChains1_1,
11318
0
    OPC_EmitCopyToReg3, SystemZ::CC,
11319
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALCG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
11320
0
                  MVT::i64, MVT::i32, 4, 0, 4, 5, 6, 
11321
0
   0,
11322
0
  29, 
11323
0
   OPC_RecordChild1,
11324
0
   OPC_RecordChild2,
11325
0
   OPC_CheckChild2TypeI32,
11326
0
   OPC_SwitchType , 10, MVT::i32,
11327
0
    OPC_EmitCopyToReg2, SystemZ::CC,
11328
0
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(SystemZ::ALCR),
11329
0
                  MVT::i32, MVT::i32, 2, 0, 1, 
11330
0
   10, MVT::i64,
11331
0
    OPC_EmitCopyToReg2, SystemZ::CC,
11332
0
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(SystemZ::ALCGR),
11333
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
11334
0
   0,
11335
0
  0, 
11336
0
 104|128,2, TARGET_VAL(SystemZISD::SSUBO),
11337
0
  OPC_RecordChild0,
11338
0
  OPC_Scope, 20|128,1, 
11339
0
   OPC_MoveChild1,
11340
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11341
0
   OPC_RecordMemRef,
11342
0
   OPC_RecordNode,
11343
0
   OPC_CheckFoldableChainNode,
11344
0
   OPC_RecordChild1,
11345
0
   OPC_CheckChild1TypeI64,
11346
0
   OPC_CheckPredicate0, 
11347
0
   OPC_Scope, 37, 
11348
0
    OPC_CheckPredicate, 14,
11349
0
    OPC_CheckPredicate5, 
11350
0
    OPC_MoveParent,
11351
0
    OPC_CheckTypeI32,
11352
0
    OPC_Scope, 14, 
11353
0
     OPC_CheckComplexPat3, /*#*/2,
11354
0
     OPC_EmitMergeInputChains1_1,
11355
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SH), 0|OPFL_Chain|OPFL_MemRefs,
11356
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11357
0
    14, 
11358
0
     OPC_CheckComplexPat4, /*#*/2,
11359
0
     OPC_EmitMergeInputChains1_1,
11360
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SHY), 0|OPFL_Chain|OPFL_MemRefs,
11361
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11362
0
    0, 
11363
0
   35, 
11364
0
    OPC_CheckPredicate2, 
11365
0
    OPC_MoveParent,
11366
0
    OPC_CheckTypeI32,
11367
0
    OPC_Scope, 14, 
11368
0
     OPC_CheckComplexPat3, /*#*/2,
11369
0
     OPC_EmitMergeInputChains1_1,
11370
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::S), 0|OPFL_Chain|OPFL_MemRefs,
11371
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11372
0
    14, 
11373
0
     OPC_CheckComplexPat4, /*#*/2,
11374
0
     OPC_EmitMergeInputChains1_1,
11375
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SY), 0|OPFL_Chain|OPFL_MemRefs,
11376
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11377
0
    0, 
11378
0
   43, 
11379
0
    OPC_CheckPredicate, 14,
11380
0
    OPC_Scope, 19, 
11381
0
     OPC_CheckPredicate5, 
11382
0
     OPC_MoveParent,
11383
0
     OPC_CheckTypeI64,
11384
0
     OPC_CheckPatternPredicate, 8,
11385
0
     OPC_CheckComplexPat2, /*#*/2,
11386
0
     OPC_EmitMergeInputChains1_1,
11387
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGH), 0|OPFL_Chain|OPFL_MemRefs,
11388
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11389
0
    18, 
11390
0
     OPC_CheckPredicate, 9,
11391
0
     OPC_MoveParent,
11392
0
     OPC_CheckTypeI64,
11393
0
     OPC_CheckComplexPat2, /*#*/2,
11394
0
     OPC_EmitMergeInputChains1_1,
11395
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGF), 0|OPFL_Chain|OPFL_MemRefs,
11396
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11397
0
    0, 
11398
0
   17, 
11399
0
    OPC_CheckPredicate2, 
11400
0
    OPC_MoveParent,
11401
0
    OPC_CheckTypeI64,
11402
0
    OPC_CheckComplexPat2, /*#*/2,
11403
0
    OPC_EmitMergeInputChains1_1,
11404
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SG), 0|OPFL_Chain|OPFL_MemRefs,
11405
0
                  MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11406
0
   0, 
11407
0
  111, 
11408
0
   OPC_RecordChild1,
11409
0
   OPC_MoveChild1,
11410
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11411
0
   OPC_Scope, 17, 
11412
0
    OPC_CheckPredicate, 29,
11413
0
    OPC_MoveParent,
11414
0
    OPC_CheckTypeI32,
11415
0
    OPC_CheckPatternPredicate2,
11416
0
    OPC_EmitConvertToTarget1,
11417
0
    OPC_EmitNodeXForm, 16, 2,
11418
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMux),
11419
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11420
0
   17, 
11421
0
    OPC_CheckPredicate, 55,
11422
0
    OPC_MoveParent,
11423
0
    OPC_CheckTypeI32,
11424
0
    OPC_CheckPatternPredicate2,
11425
0
    OPC_EmitConvertToTarget1,
11426
0
    OPC_EmitNodeXForm, 17, 2,
11427
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFIMux),
11428
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11429
0
   16, 
11430
0
    OPC_CheckPredicate, 29,
11431
0
    OPC_MoveParent,
11432
0
    OPC_CheckTypeI32,
11433
0
    OPC_EmitConvertToTarget1,
11434
0
    OPC_EmitNodeXForm, 16, 2,
11435
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHI),
11436
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11437
0
   16, 
11438
0
    OPC_CheckPredicate, 55,
11439
0
    OPC_MoveParent,
11440
0
    OPC_CheckTypeI32,
11441
0
    OPC_EmitConvertToTarget1,
11442
0
    OPC_EmitNodeXForm, 17, 2,
11443
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFI),
11444
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11445
0
   16, 
11446
0
    OPC_CheckPredicate, 29,
11447
0
    OPC_MoveParent,
11448
0
    OPC_CheckTypeI64,
11449
0
    OPC_EmitConvertToTarget1,
11450
0
    OPC_EmitNodeXForm, 16, 2,
11451
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
11452
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11453
0
   16, 
11454
0
    OPC_CheckPredicate, 65,
11455
0
    OPC_MoveParent,
11456
0
    OPC_CheckTypeI64,
11457
0
    OPC_EmitConvertToTarget1,
11458
0
    OPC_EmitNodeXForm, 17, 2,
11459
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFI),
11460
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11461
0
   0, 
11462
0
  44, 
11463
0
   OPC_MoveChild1,
11464
0
   OPC_SwitchOpcode , 11, TARGET_VAL(ISD::SIGN_EXTEND),
11465
0
    OPC_RecordChild0,
11466
0
    OPC_MoveParent,
11467
0
    OPC_CheckTypeI64,
11468
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGFR),
11469
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
11470
0
   24, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
11471
0
    OPC_RecordChild0,
11472
0
    OPC_MoveChild1,
11473
0
    OPC_CheckValueType, MVT::i32,
11474
0
    OPC_MoveParent,
11475
0
    OPC_MoveParent,
11476
0
    OPC_CheckTypeI64,
11477
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
11478
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11479
0
                  MVT::i32, 2, 1, 2, 
11480
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGFR),
11481
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11482
0
   0,
11483
0
  49, 
11484
0
   OPC_RecordChild1,
11485
0
   OPC_SwitchType , 21, MVT::i32,
11486
0
    OPC_Scope, 9, 
11487
0
     OPC_CheckPatternPredicate6,
11488
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRK),
11489
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
11490
0
    8, 
11491
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SR),
11492
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
11493
0
    0, 
11494
0
   21, MVT::i64,
11495
0
    OPC_Scope, 9, 
11496
0
     OPC_CheckPatternPredicate6,
11497
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGRK),
11498
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11499
0
    8, 
11500
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGR),
11501
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11502
0
    0, 
11503
0
   0,
11504
0
  0, 
11505
0
 114|128,6, TARGET_VAL(ISD::SUB),
11506
0
  OPC_Scope, 97|128,1, 
11507
0
   OPC_RecordChild0,
11508
0
   OPC_MoveChild1,
11509
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11510
0
   OPC_RecordMemRef,
11511
0
   OPC_RecordNode,
11512
0
   OPC_CheckFoldableChainNode,
11513
0
   OPC_RecordChild1,
11514
0
   OPC_CheckChild1TypeI64,
11515
0
   OPC_CheckPredicate0, 
11516
0
   OPC_Scope, 37, 
11517
0
    OPC_CheckPredicate, 14,
11518
0
    OPC_CheckPredicate5, 
11519
0
    OPC_MoveParent,
11520
0
    OPC_CheckTypeI32,
11521
0
    OPC_Scope, 14, 
11522
0
     OPC_CheckComplexPat3, /*#*/2,
11523
0
     OPC_EmitMergeInputChains1_1,
11524
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SH), 0|OPFL_Chain|OPFL_MemRefs,
11525
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11526
0
    14, 
11527
0
     OPC_CheckComplexPat4, /*#*/2,
11528
0
     OPC_EmitMergeInputChains1_1,
11529
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SHY), 0|OPFL_Chain|OPFL_MemRefs,
11530
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11531
0
    0, 
11532
0
   35, 
11533
0
    OPC_CheckPredicate2, 
11534
0
    OPC_MoveParent,
11535
0
    OPC_CheckTypeI32,
11536
0
    OPC_Scope, 14, 
11537
0
     OPC_CheckComplexPat3, /*#*/2,
11538
0
     OPC_EmitMergeInputChains1_1,
11539
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::S), 0|OPFL_Chain|OPFL_MemRefs,
11540
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11541
0
    14, 
11542
0
     OPC_CheckComplexPat4, /*#*/2,
11543
0
     OPC_EmitMergeInputChains1_1,
11544
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SY), 0|OPFL_Chain|OPFL_MemRefs,
11545
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11546
0
    0, 
11547
0
   43, 
11548
0
    OPC_CheckPredicate, 14,
11549
0
    OPC_Scope, 19, 
11550
0
     OPC_CheckPredicate5, 
11551
0
     OPC_MoveParent,
11552
0
     OPC_CheckTypeI64,
11553
0
     OPC_CheckPatternPredicate, 8,
11554
0
     OPC_CheckComplexPat2, /*#*/2,
11555
0
     OPC_EmitMergeInputChains1_1,
11556
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGH), 0|OPFL_Chain|OPFL_MemRefs,
11557
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11558
0
    18, 
11559
0
     OPC_CheckPredicate, 9,
11560
0
     OPC_MoveParent,
11561
0
     OPC_CheckTypeI64,
11562
0
     OPC_CheckComplexPat2, /*#*/2,
11563
0
     OPC_EmitMergeInputChains1_1,
11564
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGF), 0|OPFL_Chain|OPFL_MemRefs,
11565
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11566
0
    0, 
11567
0
   54, 
11568
0
    OPC_CheckPredicate2, 
11569
0
    OPC_MoveParent,
11570
0
    OPC_SwitchType , 14, MVT::i64,
11571
0
     OPC_CheckComplexPat2, /*#*/2,
11572
0
     OPC_EmitMergeInputChains1_1,
11573
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SG), 0|OPFL_Chain|OPFL_MemRefs,
11574
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11575
0
    32, MVT::i32,
11576
0
     OPC_Scope, 14, 
11577
0
      OPC_CheckComplexPat3, /*#*/2,
11578
0
      OPC_EmitMergeInputChains1_1,
11579
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SL), 0|OPFL_Chain|OPFL_MemRefs,
11580
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11581
0
     14, 
11582
0
      OPC_CheckComplexPat4, /*#*/2,
11583
0
      OPC_EmitMergeInputChains1_1,
11584
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLY), 0|OPFL_Chain|OPFL_MemRefs,
11585
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11586
0
     0, 
11587
0
    0,
11588
0
   20, 
11589
0
    OPC_CheckPredicate, 12,
11590
0
    OPC_CheckPredicate, 9,
11591
0
    OPC_MoveParent,
11592
0
    OPC_CheckTypeI64,
11593
0
    OPC_CheckComplexPat2, /*#*/2,
11594
0
    OPC_EmitMergeInputChains1_1,
11595
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLGF), 0|OPFL_Chain|OPFL_MemRefs,
11596
0
                  MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11597
0
   17, 
11598
0
    OPC_CheckPredicate2, 
11599
0
    OPC_MoveParent,
11600
0
    OPC_CheckTypeI64,
11601
0
    OPC_CheckComplexPat2, /*#*/2,
11602
0
    OPC_EmitMergeInputChains1_1,
11603
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLG), 0|OPFL_Chain|OPFL_MemRefs,
11604
0
                  MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11605
0
   0, 
11606
0
  50, 
11607
0
   OPC_CheckChild0Integer, 0, 
11608
0
   OPC_MoveChild1,
11609
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
11610
0
   OPC_MoveChild0,
11611
0
   OPC_SwitchOpcode , 11, TARGET_VAL(ISD::SIGN_EXTEND),
11612
0
    OPC_RecordChild0,
11613
0
    OPC_MoveParent,
11614
0
    OPC_MoveParent,
11615
0
    OPC_CheckTypeI64,
11616
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNGFR),
11617
0
                  MVT::i64, MVT::i32, 1, 0, 
11618
0
   24, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
11619
0
    OPC_RecordChild0,
11620
0
    OPC_MoveChild1,
11621
0
    OPC_CheckValueType, MVT::i32,
11622
0
    OPC_MoveParent,
11623
0
    OPC_MoveParent,
11624
0
    OPC_MoveParent,
11625
0
    OPC_CheckTypeI64,
11626
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
11627
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11628
0
                  MVT::i32, 2, 0, 1, 
11629
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNGFR),
11630
0
                  MVT::i64, MVT::i32, 1, 2, 
11631
0
   0,
11632
0
  40, 
11633
0
   OPC_RecordNode,
11634
0
   OPC_CheckTypeI64,
11635
0
   OPC_Scope, 11, 
11636
0
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
11637
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
11638
0
                  MVT::i64, 3, 1, 2, 3, 
11639
0
   11, 
11640
0
    OPC_CheckComplexPat, /*CP*/12, /*#*/0,
11641
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
11642
0
                  MVT::i64, 3, 1, 2, 3, 
11643
0
   11, 
11644
0
    OPC_CheckComplexPat, /*CP*/13, /*#*/0,
11645
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
11646
0
                  MVT::i64, 3, 1, 2, 3, 
11647
0
   0, 
11648
0
  69, 
11649
0
   OPC_CheckChild0Integer, 0, 
11650
0
   OPC_MoveChild1,
11651
0
   OPC_SwitchOpcode , 22, TARGET_VAL(ISD::ABS),
11652
0
    OPC_RecordChild0,
11653
0
    OPC_MoveParent,
11654
0
    OPC_SwitchType , 7, MVT::i32,
11655
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNR),
11656
0
                   MVT::i32, MVT::i32, 1, 0, 
11657
0
    7, MVT::i64,
11658
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNGR),
11659
0
                   MVT::i64, MVT::i32, 1, 0, 
11660
0
    0,
11661
0
   10, TARGET_VAL(ISD::SIGN_EXTEND),
11662
0
    OPC_RecordChild0,
11663
0
    OPC_MoveParent,
11664
0
    OPC_CheckTypeI64,
11665
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCGFR),
11666
0
                  MVT::i64, MVT::i32, 1, 0, 
11667
0
   23, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
11668
0
    OPC_RecordChild0,
11669
0
    OPC_MoveChild1,
11670
0
    OPC_CheckValueType, MVT::i32,
11671
0
    OPC_MoveParent,
11672
0
    OPC_MoveParent,
11673
0
    OPC_CheckTypeI64,
11674
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
11675
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11676
0
                  MVT::i32, 2, 0, 1, 
11677
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCGFR),
11678
0
                  MVT::i64, MVT::i32, 1, 2, 
11679
0
   0,
11680
0
  28, 
11681
0
   OPC_RecordChild0,
11682
0
   OPC_MoveChild1,
11683
0
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
11684
0
   OPC_RecordChild0,
11685
0
   OPC_MoveParent,
11686
0
   OPC_CheckTypeI64,
11687
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
11688
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11689
0
                 MVT::i32, 2, 1, 2, 
11690
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFR),
11691
0
                 MVT::i64, MVT::i32, 2, 0, 3, 
11692
0
  23, 
11693
0
   OPC_CheckChild0Integer, 0, 
11694
0
   OPC_RecordChild1,
11695
0
   OPC_SwitchType , 7, MVT::i32,
11696
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCR),
11697
0
                  MVT::i32, MVT::i32, 1, 0, 
11698
0
   7, MVT::i64,
11699
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCGR),
11700
0
                  MVT::i64, MVT::i32, 1, 0, 
11701
0
   0,
11702
0
  92|128,2, 
11703
0
   OPC_RecordChild0,
11704
0
   OPC_Scope, 36|128,1, 
11705
0
    OPC_RecordChild1,
11706
0
    OPC_MoveChild1,
11707
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11708
0
    OPC_Scope, 17, 
11709
0
     OPC_CheckPredicate, 29,
11710
0
     OPC_MoveParent,
11711
0
     OPC_CheckTypeI32,
11712
0
     OPC_CheckPatternPredicate2,
11713
0
     OPC_EmitConvertToTarget1,
11714
0
     OPC_EmitNodeXForm, 16, 2,
11715
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMux),
11716
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
11717
0
    17, 
11718
0
     OPC_CheckPredicate, 55,
11719
0
     OPC_MoveParent,
11720
0
     OPC_CheckTypeI32,
11721
0
     OPC_CheckPatternPredicate2,
11722
0
     OPC_EmitConvertToTarget1,
11723
0
     OPC_EmitNodeXForm, 17, 2,
11724
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFIMux),
11725
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
11726
0
    16, 
11727
0
     OPC_CheckPredicate, 29,
11728
0
     OPC_MoveParent,
11729
0
     OPC_CheckTypeI32,
11730
0
     OPC_EmitConvertToTarget1,
11731
0
     OPC_EmitNodeXForm, 16, 2,
11732
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHI),
11733
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
11734
0
    16, 
11735
0
     OPC_CheckPredicate, 55,
11736
0
     OPC_MoveParent,
11737
0
     OPC_CheckTypeI32,
11738
0
     OPC_EmitConvertToTarget1,
11739
0
     OPC_EmitNodeXForm, 17, 2,
11740
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFI),
11741
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
11742
0
    16, 
11743
0
     OPC_CheckPredicate, 29,
11744
0
     OPC_MoveParent,
11745
0
     OPC_CheckTypeI64,
11746
0
     OPC_EmitConvertToTarget1,
11747
0
     OPC_EmitNodeXForm, 16, 2,
11748
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
11749
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
11750
0
    16, 
11751
0
     OPC_CheckPredicate, 65,
11752
0
     OPC_MoveParent,
11753
0
     OPC_CheckTypeI64,
11754
0
     OPC_EmitConvertToTarget1,
11755
0
     OPC_EmitNodeXForm, 17, 2,
11756
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFI),
11757
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
11758
0
    17, 
11759
0
     OPC_CheckPredicate, 29,
11760
0
     OPC_MoveParent,
11761
0
     OPC_CheckTypeI32,
11762
0
     OPC_CheckPatternPredicate6,
11763
0
     OPC_EmitConvertToTarget1,
11764
0
     OPC_EmitNodeXForm, 16, 2,
11765
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALHSIK),
11766
0
                   MVT::i32, MVT::i32, 2, 0, 3, 
11767
0
    17, 
11768
0
     OPC_CheckPredicate, 29,
11769
0
     OPC_MoveParent,
11770
0
     OPC_CheckTypeI64,
11771
0
     OPC_CheckPatternPredicate6,
11772
0
     OPC_EmitConvertToTarget1,
11773
0
     OPC_EmitNodeXForm, 16, 2,
11774
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGHSIK),
11775
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
11776
0
    16, 
11777
0
     OPC_CheckPredicate, 52,
11778
0
     OPC_MoveParent,
11779
0
     OPC_CheckTypeI64,
11780
0
     OPC_EmitConvertToTarget1,
11781
0
     OPC_EmitNodeXForm, 9, 2,
11782
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFI),
11783
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
11784
0
    0, 
11785
0
   15, 
11786
0
    OPC_MoveChild1,
11787
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
11788
0
    OPC_RecordChild0,
11789
0
    OPC_MoveParent,
11790
0
    OPC_CheckTypeI64,
11791
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGFR),
11792
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
11793
0
   19, 
11794
0
    OPC_RecordChild1,
11795
0
    OPC_MoveChild1,
11796
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11797
0
    OPC_MoveParent,
11798
0
    OPC_CheckTypeI32,
11799
0
    OPC_EmitConvertToTarget1,
11800
0
    OPC_EmitNodeXForm, 9, 2,
11801
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLFI),
11802
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11803
0
   44, 
11804
0
    OPC_MoveChild1,
11805
0
    OPC_SwitchOpcode , 11, TARGET_VAL(ISD::ZERO_EXTEND),
11806
0
     OPC_RecordChild0,
11807
0
     OPC_MoveParent,
11808
0
     OPC_CheckTypeI64,
11809
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFR),
11810
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
11811
0
    24, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
11812
0
     OPC_RecordChild0,
11813
0
     OPC_MoveChild1,
11814
0
     OPC_CheckValueType, MVT::i32,
11815
0
     OPC_MoveParent,
11816
0
     OPC_MoveParent,
11817
0
     OPC_CheckTypeI64,
11818
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
11819
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11820
0
                   MVT::i32, 2, 1, 2, 
11821
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGFR),
11822
0
                   MVT::i64, MVT::i32, 2, 0, 3, 
11823
0
    0,
11824
0
   97, 
11825
0
    OPC_RecordChild1,
11826
0
    OPC_SwitchType , 40, MVT::i32,
11827
0
     OPC_Scope, 9, 
11828
0
      OPC_CheckPatternPredicate6,
11829
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRK),
11830
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
11831
0
     8, 
11832
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SR),
11833
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
11834
0
     9, 
11835
0
      OPC_CheckPatternPredicate6,
11836
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLRK),
11837
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
11838
0
     8, 
11839
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLR),
11840
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
11841
0
     0, 
11842
0
    40, MVT::i64,
11843
0
     OPC_Scope, 9, 
11844
0
      OPC_CheckPatternPredicate6,
11845
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGRK),
11846
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
11847
0
     8, 
11848
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGR),
11849
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
11850
0
     9, 
11851
0
      OPC_CheckPatternPredicate6,
11852
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGRK),
11853
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
11854
0
     8, 
11855
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGR),
11856
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
11857
0
     0, 
11858
0
    8, MVT::i128,
11859
0
     OPC_CheckPatternPredicate0,
11860
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSQ),
11861
0
                   MVT::i128, 2, 0, 1, 
11862
0
    0,
11863
0
   0, 
11864
0
  42, 
11865
0
   OPC_MoveChild0,
11866
0
   OPC_CheckImmAllZerosV,
11867
0
   OPC_MoveParent,
11868
0
   OPC_RecordChild1,
11869
0
   OPC_SwitchType , 7, MVT::v16i8,
11870
0
    OPC_CheckPatternPredicate0,
11871
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
11872
0
                  MVT::v16i8, 1, 0, 
11873
0
   7, MVT::v8i16,
11874
0
    OPC_CheckPatternPredicate0,
11875
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
11876
0
                  MVT::v8i16, 1, 0, 
11877
0
   7, MVT::v4i32,
11878
0
    OPC_CheckPatternPredicate0,
11879
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
11880
0
                  MVT::v4i32, 1, 0, 
11881
0
   7, MVT::v2i64,
11882
0
    OPC_CheckPatternPredicate0,
11883
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
11884
0
                  MVT::v2i64, 1, 0, 
11885
0
   0,
11886
0
  44, 
11887
0
   OPC_RecordChild0,
11888
0
   OPC_RecordChild1,
11889
0
   OPC_SwitchType , 8, MVT::v16i8,
11890
0
    OPC_CheckPatternPredicate0,
11891
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSB),
11892
0
                  MVT::v16i8, 2, 0, 1, 
11893
0
   8, MVT::v8i16,
11894
0
    OPC_CheckPatternPredicate0,
11895
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSH),
11896
0
                  MVT::v8i16, 2, 0, 1, 
11897
0
   8, MVT::v4i32,
11898
0
    OPC_CheckPatternPredicate0,
11899
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSF),
11900
0
                  MVT::v4i32, 2, 0, 1, 
11901
0
   8, MVT::v2i64,
11902
0
    OPC_CheckPatternPredicate0,
11903
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSG),
11904
0
                  MVT::v2i64, 2, 0, 1, 
11905
0
   0,
11906
0
  0, 
11907
0
 7|128,2, TARGET_VAL(SystemZISD::USUBO),
11908
0
  OPC_RecordChild0,
11909
0
  OPC_Scope, 117, 
11910
0
   OPC_MoveChild1,
11911
0
   OPC_Scope, 86, 
11912
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11913
0
    OPC_RecordMemRef,
11914
0
    OPC_RecordNode,
11915
0
    OPC_CheckFoldableChainNode,
11916
0
    OPC_RecordChild1,
11917
0
    OPC_CheckChild1TypeI64,
11918
0
    OPC_CheckPredicate0, 
11919
0
    OPC_Scope, 35, 
11920
0
     OPC_CheckPredicate2, 
11921
0
     OPC_MoveParent,
11922
0
     OPC_CheckTypeI32,
11923
0
     OPC_Scope, 14, 
11924
0
      OPC_CheckComplexPat3, /*#*/2,
11925
0
      OPC_EmitMergeInputChains1_1,
11926
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SL), 0|OPFL_Chain|OPFL_MemRefs,
11927
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11928
0
     14, 
11929
0
      OPC_CheckComplexPat4, /*#*/2,
11930
0
      OPC_EmitMergeInputChains1_1,
11931
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLY), 0|OPFL_Chain|OPFL_MemRefs,
11932
0
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
11933
0
     0, 
11934
0
    20, 
11935
0
     OPC_CheckPredicate, 12,
11936
0
     OPC_CheckPredicate, 9,
11937
0
     OPC_MoveParent,
11938
0
     OPC_CheckTypeI64,
11939
0
     OPC_CheckComplexPat2, /*#*/2,
11940
0
     OPC_EmitMergeInputChains1_1,
11941
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLGF), 0|OPFL_Chain|OPFL_MemRefs,
11942
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11943
0
    17, 
11944
0
     OPC_CheckPredicate2, 
11945
0
     OPC_MoveParent,
11946
0
     OPC_CheckTypeI64,
11947
0
     OPC_CheckComplexPat2, /*#*/2,
11948
0
     OPC_EmitMergeInputChains1_1,
11949
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLG), 0|OPFL_Chain|OPFL_MemRefs,
11950
0
                   MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
11951
0
    0, 
11952
0
   26, 
11953
0
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15, 
11954
0
    OPC_RecordChild0,
11955
0
    OPC_MoveParent,
11956
0
    OPC_CheckTypeI64,
11957
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
11958
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11959
0
                  MVT::i32, 2, 1, 2, 
11960
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFR),
11961
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11962
0
   0, 
11963
0
  75, 
11964
0
   OPC_RecordChild1,
11965
0
   OPC_MoveChild1,
11966
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11967
0
   OPC_Scope, 17, 
11968
0
    OPC_CheckPredicate, 29,
11969
0
    OPC_MoveParent,
11970
0
    OPC_CheckTypeI32,
11971
0
    OPC_CheckPatternPredicate6,
11972
0
    OPC_EmitConvertToTarget1,
11973
0
    OPC_EmitNodeXForm, 16, 2,
11974
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALHSIK),
11975
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
11976
0
   17, 
11977
0
    OPC_CheckPredicate, 29,
11978
0
    OPC_MoveParent,
11979
0
    OPC_CheckTypeI64,
11980
0
    OPC_CheckPatternPredicate6,
11981
0
    OPC_EmitConvertToTarget1,
11982
0
    OPC_EmitNodeXForm, 16, 2,
11983
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGHSIK),
11984
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11985
0
   16, 
11986
0
    OPC_CheckPredicate, 52,
11987
0
    OPC_MoveParent,
11988
0
    OPC_CheckTypeI64,
11989
0
    OPC_EmitConvertToTarget1,
11990
0
    OPC_EmitNodeXForm, 9, 2,
11991
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFI),
11992
0
                  MVT::i64, MVT::i32, 2, 0, 3, 
11993
0
   14, 
11994
0
    OPC_MoveParent,
11995
0
    OPC_CheckTypeI32,
11996
0
    OPC_EmitConvertToTarget1,
11997
0
    OPC_EmitNodeXForm, 9, 2,
11998
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLFI),
11999
0
                  MVT::i32, MVT::i32, 2, 0, 3, 
12000
0
   0, 
12001
0
  15, 
12002
0
   OPC_MoveChild1,
12003
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
12004
0
   OPC_RecordChild0,
12005
0
   OPC_MoveParent,
12006
0
   OPC_CheckTypeI64,
12007
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFR),
12008
0
                 MVT::i64, MVT::i32, 2, 0, 1, 
12009
0
  49, 
12010
0
   OPC_RecordChild1,
12011
0
   OPC_SwitchType , 21, MVT::i32,
12012
0
    OPC_Scope, 9, 
12013
0
     OPC_CheckPatternPredicate6,
12014
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLRK),
12015
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
12016
0
    8, 
12017
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLR),
12018
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
12019
0
    0, 
12020
0
   21, MVT::i64,
12021
0
    OPC_Scope, 9, 
12022
0
     OPC_CheckPatternPredicate6,
12023
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGRK),
12024
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
12025
0
    8, 
12026
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGR),
12027
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
12028
0
    0, 
12029
0
   0,
12030
0
  0, 
12031
0
 86, TARGET_VAL(SystemZISD::SUBCARRY),
12032
0
  OPC_RecordChild0,
12033
0
  OPC_Scope, 52, 
12034
0
   OPC_MoveChild1,
12035
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
12036
0
   OPC_RecordMemRef,
12037
0
   OPC_RecordNode,
12038
0
   OPC_CheckFoldableChainNode,
12039
0
   OPC_RecordChild1,
12040
0
   OPC_CheckChild1TypeI64,
12041
0
   OPC_CheckPredicate0, 
12042
0
   OPC_CheckPredicate2, 
12043
0
   OPC_MoveParent,
12044
0
   OPC_RecordChild2,
12045
0
   OPC_CheckChild2TypeI32,
12046
0
   OPC_SwitchType , 16, MVT::i32,
12047
0
    OPC_CheckComplexPat2, /*#*/2,
12048
0
    OPC_EmitMergeInputChains1_1,
12049
0
    OPC_EmitCopyToReg3, SystemZ::CC,
12050
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
12051
0
                  MVT::i32, MVT::i32, 4, 0, 4, 5, 6, 
12052
0
   16, MVT::i64,
12053
0
    OPC_CheckComplexPat2, /*#*/2,
12054
0
    OPC_EmitMergeInputChains1_1,
12055
0
    OPC_EmitCopyToReg3, SystemZ::CC,
12056
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLBG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
12057
0
                  MVT::i64, MVT::i32, 4, 0, 4, 5, 6, 
12058
0
   0,
12059
0
  29, 
12060
0
   OPC_RecordChild1,
12061
0
   OPC_RecordChild2,
12062
0
   OPC_CheckChild2TypeI32,
12063
0
   OPC_SwitchType , 10, MVT::i32,
12064
0
    OPC_EmitCopyToReg2, SystemZ::CC,
12065
0
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(SystemZ::SLBR),
12066
0
                  MVT::i32, MVT::i32, 2, 0, 1, 
12067
0
   10, MVT::i64,
12068
0
    OPC_EmitCopyToReg2, SystemZ::CC,
12069
0
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(SystemZ::SLBGR),
12070
0
                  MVT::i64, MVT::i32, 2, 0, 1, 
12071
0
   0,
12072
0
  0, 
12073
0
 86|128,7, TARGET_VAL(ISD::XOR),
12074
0
  OPC_Scope, 65, 
12075
0
   OPC_RecordChild0,
12076
0
   OPC_MoveChild1,
12077
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
12078
0
   OPC_RecordMemRef,
12079
0
   OPC_RecordNode,
12080
0
   OPC_CheckFoldableChainNode,
12081
0
   OPC_RecordChild1,
12082
0
   OPC_CheckChild1TypeI64,
12083
0
   OPC_CheckPredicate0, 
12084
0
   OPC_CheckPredicate2, 
12085
0
   OPC_MoveParent,
12086
0
   OPC_SwitchType , 32, MVT::i32,
12087
0
    OPC_Scope, 14, 
12088
0
     OPC_CheckComplexPat3, /*#*/2,
12089
0
     OPC_EmitMergeInputChains1_1,
12090
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::X), 0|OPFL_Chain|OPFL_MemRefs,
12091
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
12092
0
    14, 
12093
0
     OPC_CheckComplexPat4, /*#*/2,
12094
0
     OPC_EmitMergeInputChains1_1,
12095
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XY), 0|OPFL_Chain|OPFL_MemRefs,
12096
0
                   MVT::i32, MVT::i32, 4, 0, 3, 4, 5, 
12097
0
    0, 
12098
0
   14, MVT::i64,
12099
0
    OPC_CheckComplexPat2, /*#*/2,
12100
0
    OPC_EmitMergeInputChains1_1,
12101
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XG), 0|OPFL_Chain|OPFL_MemRefs,
12102
0
                  MVT::i64, MVT::i32, 4, 0, 3, 4, 5, 
12103
0
   0,
12104
0
  83|128,1, 
12105
0
   OPC_MoveChild0,
12106
0
   OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
12107
0
    OPC_RecordMemRef,
12108
0
    OPC_RecordNode,
12109
0
    OPC_CheckFoldableChainNode,
12110
0
    OPC_RecordChild1,
12111
0
    OPC_CheckChild1TypeI64,
12112
0
    OPC_CheckPredicate0, 
12113
0
    OPC_CheckPredicate2, 
12114
0
    OPC_MoveParent,
12115
0
    OPC_RecordChild1,
12116
0
    OPC_SwitchType , 32, MVT::i32,
12117
0
     OPC_Scope, 14, 
12118
0
      OPC_CheckComplexPat3, /*#*/1,
12119
0
      OPC_EmitMergeInputChains1_0,
12120
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::X), 0|OPFL_Chain|OPFL_MemRefs,
12121
0
                    MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
12122
0
     14, 
12123
0
      OPC_CheckComplexPat4, /*#*/1,
12124
0
      OPC_EmitMergeInputChains1_0,
12125
0
      OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XY), 0|OPFL_Chain|OPFL_MemRefs,
12126
0
                    MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
12127
0
     0, 
12128
0
    14, MVT::i64,
12129
0
     OPC_CheckComplexPat2, /*#*/1,
12130
0
     OPC_EmitMergeInputChains1_0,
12131
0
     OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XG), 0|OPFL_Chain|OPFL_MemRefs,
12132
0
                   MVT::i64, MVT::i32, 4, 2, 3, 4, 5, 
12133
0
    0,
12134
0
   39, TARGET_VAL(ISD::AND),
12135
0
    OPC_RecordChild0,
12136
0
    OPC_RecordChild1,
12137
0
    OPC_MoveParent,
12138
0
    OPC_CheckChild1Integer, 3, 
12139
0
    OPC_SwitchType , 9, MVT::i32,
12140
0
     OPC_CheckPatternPredicate7,
12141
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NNRK),
12142
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
12143
0
    9, MVT::i64,
12144
0
     OPC_CheckPatternPredicate7,
12145
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NNGRK),
12146
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
12147
0
    8, MVT::i128,
12148
0
     OPC_CheckPatternPredicate1,
12149
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
12150
0
                   MVT::i128, 2, 0, 1, 
12151
0
    0,
12152
0
   39, TARGET_VAL(ISD::OR),
12153
0
    OPC_RecordChild0,
12154
0
    OPC_RecordChild1,
12155
0
    OPC_MoveParent,
12156
0
    OPC_CheckChild1Integer, 3, 
12157
0
    OPC_SwitchType , 9, MVT::i32,
12158
0
     OPC_CheckPatternPredicate7,
12159
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NORK),
12160
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
12161
0
    9, MVT::i64,
12162
0
     OPC_CheckPatternPredicate7,
12163
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NOGRK),
12164
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
12165
0
    8, MVT::i128,
12166
0
     OPC_CheckPatternPredicate0,
12167
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12168
0
                   MVT::i128, 2, 0, 1, 
12169
0
    0,
12170
0
   57, TARGET_VAL(ISD::XOR),
12171
0
    OPC_RecordChild0,
12172
0
    OPC_Scope, 38, 
12173
0
     OPC_RecordChild1,
12174
0
     OPC_MoveParent,
12175
0
     OPC_CheckChild1Integer, 3, 
12176
0
     OPC_SwitchType , 9, MVT::i32,
12177
0
      OPC_CheckPatternPredicate7,
12178
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXRK),
12179
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
12180
0
     9, MVT::i64,
12181
0
      OPC_CheckPatternPredicate7,
12182
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXGRK),
12183
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
12184
0
     8, MVT::i128,
12185
0
      OPC_CheckPatternPredicate1,
12186
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12187
0
                    MVT::i128, 2, 0, 1, 
12188
0
     0,
12189
0
    14, 
12190
0
     OPC_CheckChild1Integer, 3, 
12191
0
     OPC_MoveParent,
12192
0
     OPC_RecordChild1,
12193
0
     OPC_CheckTypeI32,
12194
0
     OPC_CheckPatternPredicate7,
12195
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXRK),
12196
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
12197
0
    0, 
12198
0
   0,
12199
0
  19, 
12200
0
   OPC_RecordChild0,
12201
0
   OPC_MoveChild1,
12202
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12203
0
   OPC_RecordChild0,
12204
0
   OPC_CheckChild1Integer, 3, 
12205
0
   OPC_MoveParent,
12206
0
   OPC_CheckTypeI32,
12207
0
   OPC_CheckPatternPredicate7,
12208
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXRK),
12209
0
                 MVT::i32, MVT::i32, 2, 1, 0, 
12210
0
  19, 
12211
0
   OPC_MoveChild0,
12212
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12213
0
   OPC_RecordChild0,
12214
0
   OPC_CheckChild1Integer, 3, 
12215
0
   OPC_MoveParent,
12216
0
   OPC_RecordChild1,
12217
0
   OPC_CheckTypeI64,
12218
0
   OPC_CheckPatternPredicate7,
12219
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXGRK),
12220
0
                 MVT::i64, MVT::i32, 2, 0, 1, 
12221
0
  19, 
12222
0
   OPC_RecordChild0,
12223
0
   OPC_MoveChild1,
12224
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12225
0
   OPC_RecordChild0,
12226
0
   OPC_CheckChild1Integer, 3, 
12227
0
   OPC_MoveParent,
12228
0
   OPC_CheckTypeI64,
12229
0
   OPC_CheckPatternPredicate7,
12230
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXGRK),
12231
0
                 MVT::i64, MVT::i32, 2, 1, 0, 
12232
0
  19, 
12233
0
   OPC_MoveChild0,
12234
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12235
0
   OPC_RecordChild0,
12236
0
   OPC_CheckChild1Integer, 3, 
12237
0
   OPC_MoveParent,
12238
0
   OPC_RecordChild1,
12239
0
   OPC_CheckType, MVT::i128,
12240
0
   OPC_CheckPatternPredicate1,
12241
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12242
0
                 MVT::i128, 2, 0, 1, 
12243
0
  75|128,1, 
12244
0
   OPC_RecordChild0,
12245
0
   OPC_Scope, 18, 
12246
0
    OPC_MoveChild1,
12247
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12248
0
    OPC_RecordChild0,
12249
0
    OPC_CheckChild1Integer, 3, 
12250
0
    OPC_MoveParent,
12251
0
    OPC_CheckType, MVT::i128,
12252
0
    OPC_CheckPatternPredicate1,
12253
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12254
0
                  MVT::i128, 2, 1, 0, 
12255
0
   33, 
12256
0
    OPC_CheckChild1Integer, 3, 
12257
0
    OPC_SwitchType , 8, MVT::i128,
12258
0
     OPC_CheckPatternPredicate0,
12259
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12260
0
                   MVT::i128, 2, 0, 0, 
12261
0
    17, MVT::i64,
12262
0
     OPC_EmitNode2None, TARGET_VAL(SystemZ::LCGR),
12263
0
                   MVT::i64, MVT::i32, 1, 0, 
12264
0
     OPC_EmitInteger64, 3, 
12265
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
12266
0
                   MVT::i64, MVT::i32, 2, 1, 3, 
12267
0
    0,
12268
0
   17|128,1, 
12269
0
    OPC_RecordChild1,
12270
0
    OPC_Scope, 84, 
12271
0
     OPC_MoveChild1,
12272
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12273
0
     OPC_Scope, 16, 
12274
0
      OPC_CheckPredicate, 59,
12275
0
      OPC_MoveParent,
12276
0
      OPC_CheckTypeI64,
12277
0
      OPC_EmitConvertToTarget1,
12278
0
      OPC_EmitNodeXForm, 7, 2,
12279
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XILF64),
12280
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
12281
0
     16, 
12282
0
      OPC_CheckPredicate, 50,
12283
0
      OPC_MoveParent,
12284
0
      OPC_CheckTypeI64,
12285
0
      OPC_EmitConvertToTarget1,
12286
0
      OPC_EmitNodeXForm, 8, 2,
12287
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XIHF64),
12288
0
                    MVT::i64, MVT::i32, 2, 0, 3, 
12289
0
     43, 
12290
0
      OPC_MoveParent,
12291
0
      OPC_CheckTypeI32,
12292
0
      OPC_Scope, 13, 
12293
0
       OPC_CheckPatternPredicate2,
12294
0
       OPC_EmitConvertToTarget1,
12295
0
       OPC_EmitNodeXForm, 9, 2,
12296
0
       OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XIFMux),
12297
0
                     MVT::i32, MVT::i32, 2, 0, 3, 
12298
0
      24, 
12299
0
       OPC_EmitConvertToTarget1,
12300
0
       OPC_EmitNodeXForm, 9, 2,
12301
0
       OPC_Scope, 8, 
12302
0
        OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XILF),
12303
0
                      MVT::i32, MVT::i32, 2, 0, 3, 
12304
0
       8, 
12305
0
        OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XIHF),
12306
0
                      MVT::i32, MVT::i32, 2, 0, 3, 
12307
0
       0, 
12308
0
      0, 
12309
0
     0, 
12310
0
    22, 
12311
0
     OPC_CheckTypeI32,
12312
0
     OPC_Scope, 9, 
12313
0
      OPC_CheckPatternPredicate6,
12314
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XRK),
12315
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
12316
0
     8, 
12317
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XR),
12318
0
                    MVT::i32, MVT::i32, 2, 0, 1, 
12319
0
     0, 
12320
0
    22, 
12321
0
     OPC_CheckTypeI64,
12322
0
     OPC_Scope, 9, 
12323
0
      OPC_CheckPatternPredicate6,
12324
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XGRK),
12325
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
12326
0
     8, 
12327
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XGR),
12328
0
                    MVT::i64, MVT::i32, 2, 0, 1, 
12329
0
     0, 
12330
0
    10, 
12331
0
     OPC_CheckType, MVT::i128,
12332
0
     OPC_CheckPatternPredicate0,
12333
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
12334
0
                   MVT::i128, 2, 0, 1, 
12335
0
    0, 
12336
0
   0, 
12337
0
  44|128,1, 
12338
0
   OPC_MoveChild0,
12339
0
   OPC_SwitchOpcode , 47, TARGET_VAL(ISD::OR),
12340
0
    OPC_RecordChild0,
12341
0
    OPC_RecordChild1,
12342
0
    OPC_MoveSibling1,
12343
0
    OPC_CheckImmAllOnesV,
12344
0
    OPC_MoveParent,
12345
0
    OPC_SwitchType , 8, MVT::v16i8,
12346
0
     OPC_CheckPatternPredicate0,
12347
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12348
0
                   MVT::v16i8, 2, 0, 1, 
12349
0
    8, MVT::v8i16,
12350
0
     OPC_CheckPatternPredicate0,
12351
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12352
0
                   MVT::v8i16, 2, 0, 1, 
12353
0
    8, MVT::v4i32,
12354
0
     OPC_CheckPatternPredicate0,
12355
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12356
0
                   MVT::v4i32, 2, 0, 1, 
12357
0
    8, MVT::v2i64,
12358
0
     OPC_CheckPatternPredicate0,
12359
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12360
0
                   MVT::v2i64, 2, 0, 1, 
12361
0
    0,
12362
0
   66, TARGET_VAL(ISD::XOR),
12363
0
    OPC_RecordChild0,
12364
0
    OPC_Scope, 46, 
12365
0
     OPC_RecordChild1,
12366
0
     OPC_MoveSibling1,
12367
0
     OPC_CheckImmAllOnesV,
12368
0
     OPC_MoveParent,
12369
0
     OPC_SwitchType , 8, MVT::v16i8,
12370
0
      OPC_CheckPatternPredicate1,
12371
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12372
0
                    MVT::v16i8, 2, 0, 1, 
12373
0
     8, MVT::v8i16,
12374
0
      OPC_CheckPatternPredicate1,
12375
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12376
0
                    MVT::v8i16, 2, 0, 1, 
12377
0
     8, MVT::v4i32,
12378
0
      OPC_CheckPatternPredicate1,
12379
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12380
0
                    MVT::v4i32, 2, 0, 1, 
12381
0
     8, MVT::v2i64,
12382
0
      OPC_CheckPatternPredicate1,
12383
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12384
0
                    MVT::v2i64, 2, 0, 1, 
12385
0
     0,
12386
0
    15, 
12387
0
     OPC_MoveChild1,
12388
0
     OPC_CheckImmAllOnesV,
12389
0
     OPC_MoveParent,
12390
0
     OPC_MoveParent,
12391
0
     OPC_RecordChild1,
12392
0
     OPC_CheckType, MVT::v16i8,
12393
0
     OPC_CheckPatternPredicate1,
12394
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12395
0
                   MVT::v16i8, 2, 0, 1, 
12396
0
    0, 
12397
0
   47, TARGET_VAL(ISD::AND),
12398
0
    OPC_RecordChild0,
12399
0
    OPC_RecordChild1,
12400
0
    OPC_MoveSibling1,
12401
0
    OPC_CheckImmAllOnesV,
12402
0
    OPC_MoveParent,
12403
0
    OPC_SwitchType , 8, MVT::v16i8,
12404
0
     OPC_CheckPatternPredicate1,
12405
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
12406
0
                   MVT::v16i8, 2, 0, 1, 
12407
0
    8, MVT::v8i16,
12408
0
     OPC_CheckPatternPredicate1,
12409
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
12410
0
                   MVT::v8i16, 2, 0, 1, 
12411
0
    8, MVT::v4i32,
12412
0
     OPC_CheckPatternPredicate1,
12413
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
12414
0
                   MVT::v4i32, 2, 0, 1, 
12415
0
    8, MVT::v2i64,
12416
0
     OPC_CheckPatternPredicate1,
12417
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
12418
0
                   MVT::v2i64, 2, 0, 1, 
12419
0
    0,
12420
0
   0,
12421
0
  20, 
12422
0
   OPC_RecordChild0,
12423
0
   OPC_MoveChild1,
12424
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12425
0
   OPC_RecordChild0,
12426
0
   OPC_MoveChild1,
12427
0
   OPC_CheckImmAllOnesV,
12428
0
   OPC_MoveParent,
12429
0
   OPC_MoveParent,
12430
0
   OPC_CheckType, MVT::v16i8,
12431
0
   OPC_CheckPatternPredicate1,
12432
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12433
0
                 MVT::v16i8, 2, 1, 0, 
12434
0
  20, 
12435
0
   OPC_MoveChild0,
12436
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12437
0
   OPC_RecordChild0,
12438
0
   OPC_MoveChild1,
12439
0
   OPC_CheckImmAllOnesV,
12440
0
   OPC_MoveParent,
12441
0
   OPC_MoveParent,
12442
0
   OPC_RecordChild1,
12443
0
   OPC_CheckType, MVT::v8i16,
12444
0
   OPC_CheckPatternPredicate1,
12445
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12446
0
                 MVT::v8i16, 2, 0, 1, 
12447
0
  20, 
12448
0
   OPC_RecordChild0,
12449
0
   OPC_MoveChild1,
12450
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12451
0
   OPC_RecordChild0,
12452
0
   OPC_MoveChild1,
12453
0
   OPC_CheckImmAllOnesV,
12454
0
   OPC_MoveParent,
12455
0
   OPC_MoveParent,
12456
0
   OPC_CheckType, MVT::v8i16,
12457
0
   OPC_CheckPatternPredicate1,
12458
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12459
0
                 MVT::v8i16, 2, 1, 0, 
12460
0
  20, 
12461
0
   OPC_MoveChild0,
12462
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12463
0
   OPC_RecordChild0,
12464
0
   OPC_MoveChild1,
12465
0
   OPC_CheckImmAllOnesV,
12466
0
   OPC_MoveParent,
12467
0
   OPC_MoveParent,
12468
0
   OPC_RecordChild1,
12469
0
   OPC_CheckType, MVT::v4i32,
12470
0
   OPC_CheckPatternPredicate1,
12471
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12472
0
                 MVT::v4i32, 2, 0, 1, 
12473
0
  20, 
12474
0
   OPC_RecordChild0,
12475
0
   OPC_MoveChild1,
12476
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12477
0
   OPC_RecordChild0,
12478
0
   OPC_MoveChild1,
12479
0
   OPC_CheckImmAllOnesV,
12480
0
   OPC_MoveParent,
12481
0
   OPC_MoveParent,
12482
0
   OPC_CheckType, MVT::v4i32,
12483
0
   OPC_CheckPatternPredicate1,
12484
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12485
0
                 MVT::v4i32, 2, 1, 0, 
12486
0
  20, 
12487
0
   OPC_MoveChild0,
12488
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12489
0
   OPC_RecordChild0,
12490
0
   OPC_MoveChild1,
12491
0
   OPC_CheckImmAllOnesV,
12492
0
   OPC_MoveParent,
12493
0
   OPC_MoveParent,
12494
0
   OPC_RecordChild1,
12495
0
   OPC_CheckType, MVT::v2i64,
12496
0
   OPC_CheckPatternPredicate1,
12497
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12498
0
                 MVT::v2i64, 2, 0, 1, 
12499
0
  115, 
12500
0
   OPC_RecordChild0,
12501
0
   OPC_Scope, 67, 
12502
0
    OPC_MoveChild1,
12503
0
    OPC_Scope, 18, 
12504
0
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12505
0
     OPC_RecordChild0,
12506
0
     OPC_MoveChild1,
12507
0
     OPC_CheckImmAllOnesV,
12508
0
     OPC_MoveParent,
12509
0
     OPC_MoveParent,
12510
0
     OPC_CheckType, MVT::v2i64,
12511
0
     OPC_CheckPatternPredicate1,
12512
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
12513
0
                   MVT::v2i64, 2, 1, 0, 
12514
0
    44, 
12515
0
     OPC_CheckImmAllOnesV,
12516
0
     OPC_MoveParent,
12517
0
     OPC_SwitchType , 8, MVT::v16i8,
12518
0
      OPC_CheckPatternPredicate0,
12519
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12520
0
                    MVT::v16i8, 2, 0, 0, 
12521
0
     8, MVT::v8i16,
12522
0
      OPC_CheckPatternPredicate0,
12523
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12524
0
                    MVT::v8i16, 2, 0, 0, 
12525
0
     8, MVT::v4i32,
12526
0
      OPC_CheckPatternPredicate0,
12527
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12528
0
                    MVT::v4i32, 2, 0, 0, 
12529
0
     8, MVT::v2i64,
12530
0
      OPC_CheckPatternPredicate0,
12531
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
12532
0
                    MVT::v2i64, 2, 0, 0, 
12533
0
     0,
12534
0
    0, 
12535
0
   43, 
12536
0
    OPC_RecordChild1,
12537
0
    OPC_SwitchType , 8, MVT::v16i8,
12538
0
     OPC_CheckPatternPredicate0,
12539
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
12540
0
                   MVT::v16i8, 2, 0, 1, 
12541
0
    8, MVT::v8i16,
12542
0
     OPC_CheckPatternPredicate0,
12543
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
12544
0
                   MVT::v8i16, 2, 0, 1, 
12545
0
    8, MVT::v4i32,
12546
0
     OPC_CheckPatternPredicate0,
12547
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
12548
0
                   MVT::v4i32, 2, 0, 1, 
12549
0
    8, MVT::v2i64,
12550
0
     OPC_CheckPatternPredicate0,
12551
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
12552
0
                   MVT::v2i64, 2, 0, 1, 
12553
0
    0,
12554
0
   0, 
12555
0
  0, 
12556
0
 31|128,4, TARGET_VAL(ISD::MUL),
12557
0
  OPC_Scope, 14|128,1, 
12558
0
   OPC_RecordChild0,
12559
0
   OPC_MoveChild1,
12560
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
12561
0
   OPC_RecordMemRef,
12562
0
   OPC_RecordNode,
12563
0
   OPC_CheckFoldableChainNode,
12564
0
   OPC_RecordChild1,
12565
0
   OPC_CheckChild1TypeI64,
12566
0
   OPC_CheckPredicate0, 
12567
0
   OPC_Scope, 35, 
12568
0
    OPC_CheckPredicate, 14,
12569
0
    OPC_CheckPredicate5, 
12570
0
    OPC_MoveParent,
12571
0
    OPC_CheckTypeI32,
12572
0
    OPC_Scope, 13, 
12573
0
     OPC_CheckComplexPat3, /*#*/2,
12574
0
     OPC_EmitMergeInputChains1_1,
12575
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MH), 0|OPFL_Chain|OPFL_MemRefs,
12576
0
                   MVT::i32, 4, 0, 3, 4, 5, 
12577
0
    13, 
12578
0
     OPC_CheckComplexPat4, /*#*/2,
12579
0
     OPC_EmitMergeInputChains1_1,
12580
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MHY), 0|OPFL_Chain|OPFL_MemRefs,
12581
0
                   MVT::i32, 4, 0, 3, 4, 5, 
12582
0
    0, 
12583
0
   33, 
12584
0
    OPC_CheckPredicate2, 
12585
0
    OPC_MoveParent,
12586
0
    OPC_CheckTypeI32,
12587
0
    OPC_Scope, 13, 
12588
0
     OPC_CheckComplexPat3, /*#*/2,
12589
0
     OPC_EmitMergeInputChains1_1,
12590
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MS), 0|OPFL_Chain|OPFL_MemRefs,
12591
0
                   MVT::i32, 4, 0, 3, 4, 5, 
12592
0
    13, 
12593
0
     OPC_CheckComplexPat4, /*#*/2,
12594
0
     OPC_EmitMergeInputChains1_1,
12595
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSY), 0|OPFL_Chain|OPFL_MemRefs,
12596
0
                   MVT::i32, 4, 0, 3, 4, 5, 
12597
0
    0, 
12598
0
   41, 
12599
0
    OPC_CheckPredicate, 14,
12600
0
    OPC_Scope, 18, 
12601
0
     OPC_CheckPredicate5, 
12602
0
     OPC_MoveParent,
12603
0
     OPC_CheckTypeI64,
12604
0
     OPC_CheckPatternPredicate, 8,
12605
0
     OPC_CheckComplexPat2, /*#*/2,
12606
0
     OPC_EmitMergeInputChains1_1,
12607
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MGH), 0|OPFL_Chain|OPFL_MemRefs,
12608
0
                   MVT::i64, 4, 0, 3, 4, 5, 
12609
0
    17, 
12610
0
     OPC_CheckPredicate, 9,
12611
0
     OPC_MoveParent,
12612
0
     OPC_CheckTypeI64,
12613
0
     OPC_CheckComplexPat2, /*#*/2,
12614
0
     OPC_EmitMergeInputChains1_1,
12615
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSGF), 0|OPFL_Chain|OPFL_MemRefs,
12616
0
                   MVT::i64, 4, 0, 3, 4, 5, 
12617
0
    0, 
12618
0
   16, 
12619
0
    OPC_CheckPredicate2, 
12620
0
    OPC_MoveParent,
12621
0
    OPC_CheckTypeI64,
12622
0
    OPC_CheckComplexPat2, /*#*/2,
12623
0
    OPC_EmitMergeInputChains1_1,
12624
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSG), 0|OPFL_Chain|OPFL_MemRefs,
12625
0
                  MVT::i64, 4, 0, 3, 4, 5, 
12626
0
   0, 
12627
0
  18|128,1, 
12628
0
   OPC_MoveChild0,
12629
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
12630
0
   OPC_RecordMemRef,
12631
0
   OPC_RecordNode,
12632
0
   OPC_CheckFoldableChainNode,
12633
0
   OPC_RecordChild1,
12634
0
   OPC_CheckChild1TypeI64,
12635
0
   OPC_CheckPredicate0, 
12636
0
   OPC_Scope, 36, 
12637
0
    OPC_CheckPredicate, 14,
12638
0
    OPC_CheckPredicate5, 
12639
0
    OPC_MoveParent,
12640
0
    OPC_RecordChild1,
12641
0
    OPC_CheckTypeI32,
12642
0
    OPC_Scope, 13, 
12643
0
     OPC_CheckComplexPat3, /*#*/1,
12644
0
     OPC_EmitMergeInputChains1_0,
12645
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MH), 0|OPFL_Chain|OPFL_MemRefs,
12646
0
                   MVT::i32, 4, 2, 3, 4, 5, 
12647
0
    13, 
12648
0
     OPC_CheckComplexPat4, /*#*/1,
12649
0
     OPC_EmitMergeInputChains1_0,
12650
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MHY), 0|OPFL_Chain|OPFL_MemRefs,
12651
0
                   MVT::i32, 4, 2, 3, 4, 5, 
12652
0
    0, 
12653
0
   34, 
12654
0
    OPC_CheckPredicate2, 
12655
0
    OPC_MoveParent,
12656
0
    OPC_RecordChild1,
12657
0
    OPC_CheckTypeI32,
12658
0
    OPC_Scope, 13, 
12659
0
     OPC_CheckComplexPat3, /*#*/1,
12660
0
     OPC_EmitMergeInputChains1_0,
12661
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MS), 0|OPFL_Chain|OPFL_MemRefs,
12662
0
                   MVT::i32, 4, 2, 3, 4, 5, 
12663
0
    13, 
12664
0
     OPC_CheckComplexPat4, /*#*/1,
12665
0
     OPC_EmitMergeInputChains1_0,
12666
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSY), 0|OPFL_Chain|OPFL_MemRefs,
12667
0
                   MVT::i32, 4, 2, 3, 4, 5, 
12668
0
    0, 
12669
0
   43, 
12670
0
    OPC_CheckPredicate, 14,
12671
0
    OPC_Scope, 19, 
12672
0
     OPC_CheckPredicate5, 
12673
0
     OPC_MoveParent,
12674
0
     OPC_RecordChild1,
12675
0
     OPC_CheckTypeI64,
12676
0
     OPC_CheckPatternPredicate, 8,
12677
0
     OPC_CheckComplexPat2, /*#*/1,
12678
0
     OPC_EmitMergeInputChains1_0,
12679
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MGH), 0|OPFL_Chain|OPFL_MemRefs,
12680
0
                   MVT::i64, 4, 2, 3, 4, 5, 
12681
0
    18, 
12682
0
     OPC_CheckPredicate, 9,
12683
0
     OPC_MoveParent,
12684
0
     OPC_RecordChild1,
12685
0
     OPC_CheckTypeI64,
12686
0
     OPC_CheckComplexPat2, /*#*/1,
12687
0
     OPC_EmitMergeInputChains1_0,
12688
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSGF), 0|OPFL_Chain|OPFL_MemRefs,
12689
0
                   MVT::i64, 4, 2, 3, 4, 5, 
12690
0
    0, 
12691
0
   17, 
12692
0
    OPC_CheckPredicate2, 
12693
0
    OPC_MoveParent,
12694
0
    OPC_RecordChild1,
12695
0
    OPC_CheckTypeI64,
12696
0
    OPC_CheckComplexPat2, /*#*/1,
12697
0
    OPC_EmitMergeInputChains1_0,
12698
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSG), 0|OPFL_Chain|OPFL_MemRefs,
12699
0
                  MVT::i64, 4, 2, 3, 4, 5, 
12700
0
   0, 
12701
0
  93, 
12702
0
   OPC_RecordChild0,
12703
0
   OPC_Scope, 55, 
12704
0
    OPC_RecordChild1,
12705
0
    OPC_MoveChild1,
12706
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12707
0
    OPC_Scope, 15, 
12708
0
     OPC_CheckPredicate, 13,
12709
0
     OPC_MoveParent,
12710
0
     OPC_CheckTypeI32,
12711
0
     OPC_EmitConvertToTarget1,
12712
0
     OPC_EmitNodeXForm, 2, 2,
12713
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MHI),
12714
0
                   MVT::i32, 2, 0, 3, 
12715
0
    15, 
12716
0
     OPC_CheckPredicate, 13,
12717
0
     OPC_MoveParent,
12718
0
     OPC_CheckTypeI64,
12719
0
     OPC_EmitConvertToTarget1,
12720
0
     OPC_EmitNodeXForm, 2, 2,
12721
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MGHI),
12722
0
                   MVT::i64, 2, 0, 3, 
12723
0
    15, 
12724
0
     OPC_CheckPredicate, 53,
12725
0
     OPC_MoveParent,
12726
0
     OPC_CheckTypeI64,
12727
0
     OPC_EmitConvertToTarget1,
12728
0
     OPC_EmitNodeXForm, 11, 2,
12729
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFI),
12730
0
                   MVT::i64, 2, 0, 3, 
12731
0
    0, 
12732
0
   14, 
12733
0
    OPC_MoveChild1,
12734
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
12735
0
    OPC_RecordChild0,
12736
0
    OPC_MoveParent,
12737
0
    OPC_CheckTypeI64,
12738
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFR),
12739
0
                  MVT::i64, 2, 0, 1, 
12740
0
   18, 
12741
0
    OPC_RecordChild1,
12742
0
    OPC_MoveChild1,
12743
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12744
0
    OPC_MoveParent,
12745
0
    OPC_CheckTypeI32,
12746
0
    OPC_EmitConvertToTarget1,
12747
0
    OPC_EmitNodeXForm, 11, 2,
12748
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSFI),
12749
0
                  MVT::i32, 2, 0, 3, 
12750
0
   0, 
12751
0
  15, 
12752
0
   OPC_MoveChild0,
12753
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
12754
0
   OPC_RecordChild0,
12755
0
   OPC_MoveParent,
12756
0
   OPC_RecordChild1,
12757
0
   OPC_CheckTypeI64,
12758
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFR),
12759
0
                 MVT::i64, 2, 1, 0, 
12760
0
  28, 
12761
0
   OPC_RecordChild0,
12762
0
   OPC_MoveChild1,
12763
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
12764
0
   OPC_RecordChild0,
12765
0
   OPC_MoveChild1,
12766
0
   OPC_CheckValueType, MVT::i32,
12767
0
   OPC_MoveParent,
12768
0
   OPC_MoveParent,
12769
0
   OPC_CheckTypeI64,
12770
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
12771
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12772
0
                 MVT::i32, 2, 1, 2, 
12773
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFR),
12774
0
                 MVT::i64, 2, 0, 3, 
12775
0
  28, 
12776
0
   OPC_MoveChild0,
12777
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
12778
0
   OPC_RecordChild0,
12779
0
   OPC_MoveChild1,
12780
0
   OPC_CheckValueType, MVT::i32,
12781
0
   OPC_MoveParent,
12782
0
   OPC_MoveParent,
12783
0
   OPC_RecordChild1,
12784
0
   OPC_CheckTypeI64,
12785
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
12786
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12787
0
                 MVT::i32, 2, 0, 2, 
12788
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFR),
12789
0
                 MVT::i64, 2, 1, 3, 
12790
0
  80, 
12791
0
   OPC_RecordChild0,
12792
0
   OPC_RecordChild1,
12793
0
   OPC_SwitchType , 21, MVT::i32,
12794
0
    OPC_Scope, 10, 
12795
0
     OPC_CheckPatternPredicate, 8,
12796
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::MSRKC),
12797
0
                   MVT::i32, MVT::i32, 2, 0, 1, 
12798
0
    7, 
12799
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSR),
12800
0
                   MVT::i32, 2, 0, 1, 
12801
0
    0, 
12802
0
   21, MVT::i64,
12803
0
    OPC_Scope, 10, 
12804
0
     OPC_CheckPatternPredicate, 8,
12805
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::MSGRKC),
12806
0
                   MVT::i64, MVT::i32, 2, 0, 1, 
12807
0
    7, 
12808
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGR),
12809
0
                   MVT::i64, 2, 0, 1, 
12810
0
    0, 
12811
0
   8, MVT::v16i8,
12812
0
    OPC_CheckPatternPredicate0,
12813
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLB),
12814
0
                  MVT::v16i8, 2, 0, 1, 
12815
0
   8, MVT::v8i16,
12816
0
    OPC_CheckPatternPredicate0,
12817
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLHW),
12818
0
                  MVT::v8i16, 2, 0, 1, 
12819
0
   8, MVT::v4i32,
12820
0
    OPC_CheckPatternPredicate0,
12821
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLF),
12822
0
                  MVT::v4i32, 2, 0, 1, 
12823
0
   0,
12824
0
  0, 
12825
0
 70|128,5, TARGET_VAL(ISD::SHL),
12826
0
  OPC_RecordChild0,
12827
0
  OPC_Scope, 16|128,3, 
12828
0
   OPC_MoveChild1,
12829
0
   OPC_SwitchOpcode , 106|128,2, TARGET_VAL(ISD::AND),
12830
0
    OPC_Scope, 127, 
12831
0
     OPC_RecordChild0,
12832
0
     OPC_Scope, 52, 
12833
0
      OPC_MoveChild1,
12834
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12835
0
      OPC_CheckPredicate, 57,
12836
0
      OPC_MoveParent,
12837
0
      OPC_CheckTypeI32,
12838
0
      OPC_MoveParent,
12839
0
      OPC_SwitchType , 26, MVT::i32,
12840
0
       OPC_Scope, 12, 
12841
0
        OPC_CheckPatternPredicate6,
12842
0
        OPC_CheckComplexPat, /*CP*/8, /*#*/1,
12843
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLK),
12844
0
                      MVT::i32, 3, 0, 2, 3, 
12845
0
       10, 
12846
0
        OPC_CheckComplexPat6, /*#*/1,
12847
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLL),
12848
0
                      MVT::i32, 3, 0, 2, 3, 
12849
0
       0, 
12850
0
      11, MVT::i64,
12851
0
       OPC_CheckComplexPat, /*CP*/8, /*#*/1,
12852
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLG),
12853
0
                     MVT::i64, 3, 0, 2, 3, 
12854
0
      0,
12855
0
     70, 
12856
0
      OPC_MoveChild0,
12857
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12858
0
      OPC_Scope, 31, 
12859
0
       OPC_CheckPredicate, 32,
12860
0
       OPC_MoveSibling1,
12861
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12862
0
       OPC_CheckPredicate, 18,
12863
0
       OPC_MoveParent,
12864
0
       OPC_CheckTypeI32,
12865
0
       OPC_MoveParent,
12866
0
       OPC_CheckType, MVT::i128,
12867
0
       OPC_CheckPatternPredicate0,
12868
0
       OPC_EmitConvertToTarget1,
12869
0
       OPC_EmitNodeXForm, 0, 2,
12870
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
12871
0
                     MVT::i128, 1, 3, 
12872
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
12873
0
                     MVT::i128, 2, 0, 4, 
12874
0
      31, 
12875
0
       OPC_CheckPredicate, 33,
12876
0
       OPC_MoveSibling1,
12877
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12878
0
       OPC_CheckPredicate, 18,
12879
0
       OPC_MoveParent,
12880
0
       OPC_CheckTypeI32,
12881
0
       OPC_MoveParent,
12882
0
       OPC_CheckType, MVT::i128,
12883
0
       OPC_CheckPatternPredicate0,
12884
0
       OPC_EmitConvertToTarget1,
12885
0
       OPC_EmitNodeXForm, 0, 2,
12886
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
12887
0
                     MVT::i128, 1, 3, 
12888
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLB),
12889
0
                     MVT::i128, 2, 0, 4, 
12890
0
      0, 
12891
0
     0, 
12892
0
    65, 
12893
0
     OPC_MoveChild0,
12894
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12895
0
     OPC_CheckPredicate, 18,
12896
0
     OPC_MoveSibling1,
12897
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12898
0
     OPC_RecordNode,
12899
0
     OPC_Scope, 25, 
12900
0
      OPC_CheckPredicate, 32,
12901
0
      OPC_MoveParent,
12902
0
      OPC_CheckTypeI32,
12903
0
      OPC_MoveParent,
12904
0
      OPC_CheckType, MVT::i128,
12905
0
      OPC_CheckPatternPredicate0,
12906
0
      OPC_EmitConvertToTarget1,
12907
0
      OPC_EmitNodeXForm, 0, 2,
12908
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
12909
0
                    MVT::i128, 1, 3, 
12910
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
12911
0
                    MVT::i128, 2, 0, 4, 
12912
0
     25, 
12913
0
      OPC_CheckPredicate, 33,
12914
0
      OPC_MoveParent,
12915
0
      OPC_CheckTypeI32,
12916
0
      OPC_MoveParent,
12917
0
      OPC_CheckType, MVT::i128,
12918
0
      OPC_CheckPatternPredicate0,
12919
0
      OPC_EmitConvertToTarget1,
12920
0
      OPC_EmitNodeXForm, 0, 2,
12921
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
12922
0
                    MVT::i128, 1, 3, 
12923
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLB),
12924
0
                    MVT::i128, 2, 0, 4, 
12925
0
     0, 
12926
0
    113, 
12927
0
     OPC_RecordChild0,
12928
0
     OPC_Scope, 58, 
12929
0
      OPC_RecordChild1,
12930
0
      OPC_MoveChild1,
12931
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12932
0
      OPC_MoveParent,
12933
0
      OPC_CheckTypeI32,
12934
0
      OPC_MoveParent,
12935
0
      OPC_SwitchType , 22, MVT::i32,
12936
0
       OPC_EmitConvertToTarget2,
12937
0
       OPC_EmitNodeXForm, 10, 3,
12938
0
       OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
12939
0
                     MVT::i32, MVT::i32, 2, 1, 4, 
12940
0
       OPC_EmitInteger32, 0, 
12941
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLL),
12942
0
                     MVT::i32, 3, 0, 5, 7, 
12943
0
      22, MVT::i64,
12944
0
       OPC_EmitConvertToTarget2,
12945
0
       OPC_EmitNodeXForm, 10, 3,
12946
0
       OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
12947
0
                     MVT::i32, MVT::i32, 2, 1, 4, 
12948
0
       OPC_EmitInteger32, 0, 
12949
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLG),
12950
0
                     MVT::i64, 3, 0, 5, 7, 
12951
0
      0,
12952
0
     50, 
12953
0
      OPC_MoveChild0,
12954
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12955
0
      OPC_MoveSibling1,
12956
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12957
0
      OPC_CheckPredicate, 18,
12958
0
      OPC_MoveParent,
12959
0
      OPC_CheckTypeI32,
12960
0
      OPC_MoveParent,
12961
0
      OPC_CheckType, MVT::i128,
12962
0
      OPC_CheckPatternPredicate0,
12963
0
      OPC_EmitConvertToTarget1,
12964
0
      OPC_EmitNodeXForm, 0, 2,
12965
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
12966
0
                    MVT::i128, 1, 3, 
12967
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
12968
0
                    MVT::i128, 2, 0, 4, 
12969
0
      OPC_EmitConvertToTarget1,
12970
0
      OPC_EmitNodeXForm, 0, 6,
12971
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
12972
0
                    MVT::i128, 1, 7, 
12973
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
12974
0
                    MVT::i128, 2, 5, 8, 
12975
0
     0, 
12976
0
    51, 
12977
0
     OPC_MoveChild0,
12978
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12979
0
     OPC_CheckPredicate, 18,
12980
0
     OPC_MoveSibling1,
12981
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12982
0
     OPC_RecordNode,
12983
0
     OPC_MoveParent,
12984
0
     OPC_CheckTypeI32,
12985
0
     OPC_MoveParent,
12986
0
     OPC_CheckType, MVT::i128,
12987
0
     OPC_CheckPatternPredicate0,
12988
0
     OPC_EmitConvertToTarget1,
12989
0
     OPC_EmitNodeXForm, 0, 2,
12990
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
12991
0
                   MVT::i128, 1, 3, 
12992
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
12993
0
                   MVT::i128, 2, 0, 4, 
12994
0
     OPC_EmitConvertToTarget1,
12995
0
     OPC_EmitNodeXForm, 0, 6,
12996
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
12997
0
                   MVT::i128, 1, 7, 
12998
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
12999
0
                   MVT::i128, 2, 5, 8, 
13000
0
    0, 
13001
0
   28, TARGET_VAL(ISD::SUB),
13002
0
    OPC_MoveChild0,
13003
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13004
0
    OPC_CheckPredicate, 58,
13005
0
    OPC_MoveParent,
13006
0
    OPC_RecordChild1,
13007
0
    OPC_CheckTypeI32,
13008
0
    OPC_MoveParent,
13009
0
    OPC_CheckTypeI64,
13010
0
    OPC_EmitNode2None, TARGET_VAL(SystemZ::LCR),
13011
0
                  MVT::i32, MVT::i32, 1, 1, 
13012
0
    OPC_EmitInteger32, 0, 
13013
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLG),
13014
0
                  MVT::i64, 3, 0, 2, 4, 
13015
0
   0,
13016
0
  45, 
13017
0
   OPC_RecordChild1,
13018
0
   OPC_CheckChild1TypeI32,
13019
0
   OPC_SwitchType , 26, MVT::i32,
13020
0
    OPC_Scope, 12, 
13021
0
     OPC_CheckPatternPredicate6,
13022
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13023
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLK),
13024
0
                   MVT::i32, 3, 0, 2, 3, 
13025
0
    10, 
13026
0
     OPC_CheckComplexPat6, /*#*/1,
13027
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLL),
13028
0
                   MVT::i32, 3, 0, 2, 3, 
13029
0
    0, 
13030
0
   11, MVT::i64,
13031
0
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13032
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLG),
13033
0
                  MVT::i64, 3, 0, 2, 3, 
13034
0
   0,
13035
0
  63, 
13036
0
   OPC_MoveChild1,
13037
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13038
0
   OPC_RecordChild0,
13039
0
   OPC_MoveChild1,
13040
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13041
0
   OPC_CheckPredicate, 18,
13042
0
   OPC_MoveParent,
13043
0
   OPC_CheckTypeI32,
13044
0
   OPC_MoveParent,
13045
0
   OPC_CheckType, MVT::i128,
13046
0
   OPC_CheckPatternPredicate0,
13047
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13048
0
                 MVT::i128, 2, 1, 1, 
13049
0
   OPC_EmitInteger32, 30, 
13050
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13051
0
                 MVT::i128, 2, 2, 3, 
13052
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
13053
0
                 MVT::i128, 2, 0, 4, 
13054
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13055
0
                 MVT::i128, 2, 1, 1, 
13056
0
   OPC_EmitInteger32, 30, 
13057
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13058
0
                 MVT::i128, 2, 6, 7, 
13059
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
13060
0
                 MVT::i128, 2, 5, 8, 
13061
0
  65|128,1, 
13062
0
   OPC_RecordChild1,
13063
0
   OPC_Scope, 94, 
13064
0
    OPC_MoveChild1,
13065
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13066
0
    OPC_CheckTypeI32,
13067
0
    OPC_Scope, 23, 
13068
0
     OPC_CheckPredicate, 32,
13069
0
     OPC_MoveParent,
13070
0
     OPC_CheckType, MVT::i128,
13071
0
     OPC_CheckPatternPredicate0,
13072
0
     OPC_EmitConvertToTarget1,
13073
0
     OPC_EmitNodeXForm, 0, 2,
13074
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13075
0
                   MVT::i128, 1, 3, 
13076
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
13077
0
                   MVT::i128, 2, 0, 4, 
13078
0
    23, 
13079
0
     OPC_CheckPredicate, 33,
13080
0
     OPC_MoveParent,
13081
0
     OPC_CheckType, MVT::i128,
13082
0
     OPC_CheckPatternPredicate0,
13083
0
     OPC_EmitConvertToTarget1,
13084
0
     OPC_EmitNodeXForm, 0, 2,
13085
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13086
0
                   MVT::i128, 1, 3, 
13087
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLB),
13088
0
                   MVT::i128, 2, 0, 4, 
13089
0
    38, 
13090
0
     OPC_MoveParent,
13091
0
     OPC_CheckType, MVT::i128,
13092
0
     OPC_CheckPatternPredicate0,
13093
0
     OPC_EmitConvertToTarget1,
13094
0
     OPC_EmitNodeXForm, 0, 2,
13095
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13096
0
                   MVT::i128, 1, 3, 
13097
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
13098
0
                   MVT::i128, 2, 0, 4, 
13099
0
     OPC_EmitConvertToTarget1,
13100
0
     OPC_EmitNodeXForm, 0, 6,
13101
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13102
0
                   MVT::i128, 1, 7, 
13103
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
13104
0
                   MVT::i128, 2, 5, 8, 
13105
0
    0, 
13106
0
   50, 
13107
0
    OPC_CheckChild1TypeI32,
13108
0
    OPC_CheckType, MVT::i128,
13109
0
    OPC_CheckPatternPredicate0,
13110
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13111
0
                  MVT::i128, 2, 1, 1, 
13112
0
    OPC_EmitInteger32, 30, 
13113
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13114
0
                  MVT::i128, 2, 2, 3, 
13115
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
13116
0
                  MVT::i128, 2, 0, 4, 
13117
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13118
0
                  MVT::i128, 2, 1, 1, 
13119
0
    OPC_EmitInteger32, 30, 
13120
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13121
0
                  MVT::i128, 2, 6, 7, 
13122
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
13123
0
                  MVT::i128, 2, 5, 8, 
13124
0
   10, 
13125
0
    OPC_CheckType, MVT::v16i8,
13126
0
    OPC_CheckPatternPredicate0,
13127
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLVB),
13128
0
                  MVT::v16i8, 2, 0, 1, 
13129
0
   10, 
13130
0
    OPC_CheckType, MVT::v8i16,
13131
0
    OPC_CheckPatternPredicate0,
13132
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLVH),
13133
0
                  MVT::v8i16, 2, 0, 1, 
13134
0
   10, 
13135
0
    OPC_CheckType, MVT::v4i32,
13136
0
    OPC_CheckPatternPredicate0,
13137
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLVF),
13138
0
                  MVT::v4i32, 2, 0, 1, 
13139
0
   10, 
13140
0
    OPC_CheckType, MVT::v2i64,
13141
0
    OPC_CheckPatternPredicate0,
13142
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLVG),
13143
0
                  MVT::v2i64, 2, 0, 1, 
13144
0
   0, 
13145
0
  0, 
13146
0
 70|128,5, TARGET_VAL(ISD::SRL),
13147
0
  OPC_RecordChild0,
13148
0
  OPC_Scope, 16|128,3, 
13149
0
   OPC_MoveChild1,
13150
0
   OPC_SwitchOpcode , 106|128,2, TARGET_VAL(ISD::AND),
13151
0
    OPC_Scope, 127, 
13152
0
     OPC_RecordChild0,
13153
0
     OPC_Scope, 52, 
13154
0
      OPC_MoveChild1,
13155
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13156
0
      OPC_CheckPredicate, 57,
13157
0
      OPC_MoveParent,
13158
0
      OPC_CheckTypeI32,
13159
0
      OPC_MoveParent,
13160
0
      OPC_SwitchType , 26, MVT::i32,
13161
0
       OPC_Scope, 12, 
13162
0
        OPC_CheckPatternPredicate6,
13163
0
        OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13164
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLK),
13165
0
                      MVT::i32, 3, 0, 2, 3, 
13166
0
       10, 
13167
0
        OPC_CheckComplexPat6, /*#*/1,
13168
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRL),
13169
0
                      MVT::i32, 3, 0, 2, 3, 
13170
0
       0, 
13171
0
      11, MVT::i64,
13172
0
       OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13173
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLG),
13174
0
                     MVT::i64, 3, 0, 2, 3, 
13175
0
      0,
13176
0
     70, 
13177
0
      OPC_MoveChild0,
13178
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13179
0
      OPC_Scope, 31, 
13180
0
       OPC_CheckPredicate, 32,
13181
0
       OPC_MoveSibling1,
13182
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13183
0
       OPC_CheckPredicate, 18,
13184
0
       OPC_MoveParent,
13185
0
       OPC_CheckTypeI32,
13186
0
       OPC_MoveParent,
13187
0
       OPC_CheckType, MVT::i128,
13188
0
       OPC_CheckPatternPredicate0,
13189
0
       OPC_EmitConvertToTarget1,
13190
0
       OPC_EmitNodeXForm, 0, 2,
13191
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13192
0
                     MVT::i128, 1, 3, 
13193
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
13194
0
                     MVT::i128, 2, 0, 4, 
13195
0
      31, 
13196
0
       OPC_CheckPredicate, 33,
13197
0
       OPC_MoveSibling1,
13198
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13199
0
       OPC_CheckPredicate, 18,
13200
0
       OPC_MoveParent,
13201
0
       OPC_CheckTypeI32,
13202
0
       OPC_MoveParent,
13203
0
       OPC_CheckType, MVT::i128,
13204
0
       OPC_CheckPatternPredicate0,
13205
0
       OPC_EmitConvertToTarget1,
13206
0
       OPC_EmitNodeXForm, 0, 2,
13207
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13208
0
                     MVT::i128, 1, 3, 
13209
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRLB),
13210
0
                     MVT::i128, 2, 0, 4, 
13211
0
      0, 
13212
0
     0, 
13213
0
    65, 
13214
0
     OPC_MoveChild0,
13215
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13216
0
     OPC_CheckPredicate, 18,
13217
0
     OPC_MoveSibling1,
13218
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13219
0
     OPC_RecordNode,
13220
0
     OPC_Scope, 25, 
13221
0
      OPC_CheckPredicate, 32,
13222
0
      OPC_MoveParent,
13223
0
      OPC_CheckTypeI32,
13224
0
      OPC_MoveParent,
13225
0
      OPC_CheckType, MVT::i128,
13226
0
      OPC_CheckPatternPredicate0,
13227
0
      OPC_EmitConvertToTarget1,
13228
0
      OPC_EmitNodeXForm, 0, 2,
13229
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13230
0
                    MVT::i128, 1, 3, 
13231
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
13232
0
                    MVT::i128, 2, 0, 4, 
13233
0
     25, 
13234
0
      OPC_CheckPredicate, 33,
13235
0
      OPC_MoveParent,
13236
0
      OPC_CheckTypeI32,
13237
0
      OPC_MoveParent,
13238
0
      OPC_CheckType, MVT::i128,
13239
0
      OPC_CheckPatternPredicate0,
13240
0
      OPC_EmitConvertToTarget1,
13241
0
      OPC_EmitNodeXForm, 0, 2,
13242
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13243
0
                    MVT::i128, 1, 3, 
13244
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRLB),
13245
0
                    MVT::i128, 2, 0, 4, 
13246
0
     0, 
13247
0
    113, 
13248
0
     OPC_RecordChild0,
13249
0
     OPC_Scope, 58, 
13250
0
      OPC_RecordChild1,
13251
0
      OPC_MoveChild1,
13252
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13253
0
      OPC_MoveParent,
13254
0
      OPC_CheckTypeI32,
13255
0
      OPC_MoveParent,
13256
0
      OPC_SwitchType , 22, MVT::i32,
13257
0
       OPC_EmitConvertToTarget2,
13258
0
       OPC_EmitNodeXForm, 10, 3,
13259
0
       OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
13260
0
                     MVT::i32, MVT::i32, 2, 1, 4, 
13261
0
       OPC_EmitInteger32, 0, 
13262
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRL),
13263
0
                     MVT::i32, 3, 0, 5, 7, 
13264
0
      22, MVT::i64,
13265
0
       OPC_EmitConvertToTarget2,
13266
0
       OPC_EmitNodeXForm, 10, 3,
13267
0
       OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
13268
0
                     MVT::i32, MVT::i32, 2, 1, 4, 
13269
0
       OPC_EmitInteger32, 0, 
13270
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLG),
13271
0
                     MVT::i64, 3, 0, 5, 7, 
13272
0
      0,
13273
0
     50, 
13274
0
      OPC_MoveChild0,
13275
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13276
0
      OPC_MoveSibling1,
13277
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13278
0
      OPC_CheckPredicate, 18,
13279
0
      OPC_MoveParent,
13280
0
      OPC_CheckTypeI32,
13281
0
      OPC_MoveParent,
13282
0
      OPC_CheckType, MVT::i128,
13283
0
      OPC_CheckPatternPredicate0,
13284
0
      OPC_EmitConvertToTarget1,
13285
0
      OPC_EmitNodeXForm, 0, 2,
13286
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13287
0
                    MVT::i128, 1, 3, 
13288
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
13289
0
                    MVT::i128, 2, 0, 4, 
13290
0
      OPC_EmitConvertToTarget1,
13291
0
      OPC_EmitNodeXForm, 0, 6,
13292
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13293
0
                    MVT::i128, 1, 7, 
13294
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
13295
0
                    MVT::i128, 2, 5, 8, 
13296
0
     0, 
13297
0
    51, 
13298
0
     OPC_MoveChild0,
13299
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13300
0
     OPC_CheckPredicate, 18,
13301
0
     OPC_MoveSibling1,
13302
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13303
0
     OPC_RecordNode,
13304
0
     OPC_MoveParent,
13305
0
     OPC_CheckTypeI32,
13306
0
     OPC_MoveParent,
13307
0
     OPC_CheckType, MVT::i128,
13308
0
     OPC_CheckPatternPredicate0,
13309
0
     OPC_EmitConvertToTarget1,
13310
0
     OPC_EmitNodeXForm, 0, 2,
13311
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13312
0
                   MVT::i128, 1, 3, 
13313
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
13314
0
                   MVT::i128, 2, 0, 4, 
13315
0
     OPC_EmitConvertToTarget1,
13316
0
     OPC_EmitNodeXForm, 0, 6,
13317
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13318
0
                   MVT::i128, 1, 7, 
13319
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
13320
0
                   MVT::i128, 2, 5, 8, 
13321
0
    0, 
13322
0
   28, TARGET_VAL(ISD::SUB),
13323
0
    OPC_MoveChild0,
13324
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13325
0
    OPC_CheckPredicate, 58,
13326
0
    OPC_MoveParent,
13327
0
    OPC_RecordChild1,
13328
0
    OPC_CheckTypeI32,
13329
0
    OPC_MoveParent,
13330
0
    OPC_CheckTypeI64,
13331
0
    OPC_EmitNode2None, TARGET_VAL(SystemZ::LCR),
13332
0
                  MVT::i32, MVT::i32, 1, 1, 
13333
0
    OPC_EmitInteger32, 0, 
13334
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLG),
13335
0
                  MVT::i64, 3, 0, 2, 4, 
13336
0
   0,
13337
0
  45, 
13338
0
   OPC_RecordChild1,
13339
0
   OPC_CheckChild1TypeI32,
13340
0
   OPC_SwitchType , 26, MVT::i32,
13341
0
    OPC_Scope, 12, 
13342
0
     OPC_CheckPatternPredicate6,
13343
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13344
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLK),
13345
0
                   MVT::i32, 3, 0, 2, 3, 
13346
0
    10, 
13347
0
     OPC_CheckComplexPat6, /*#*/1,
13348
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRL),
13349
0
                   MVT::i32, 3, 0, 2, 3, 
13350
0
    0, 
13351
0
   11, MVT::i64,
13352
0
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13353
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLG),
13354
0
                  MVT::i64, 3, 0, 2, 3, 
13355
0
   0,
13356
0
  63, 
13357
0
   OPC_MoveChild1,
13358
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13359
0
   OPC_RecordChild0,
13360
0
   OPC_MoveChild1,
13361
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13362
0
   OPC_CheckPredicate, 18,
13363
0
   OPC_MoveParent,
13364
0
   OPC_CheckTypeI32,
13365
0
   OPC_MoveParent,
13366
0
   OPC_CheckType, MVT::i128,
13367
0
   OPC_CheckPatternPredicate0,
13368
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13369
0
                 MVT::i128, 2, 1, 1, 
13370
0
   OPC_EmitInteger32, 30, 
13371
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13372
0
                 MVT::i128, 2, 2, 3, 
13373
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
13374
0
                 MVT::i128, 2, 0, 4, 
13375
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13376
0
                 MVT::i128, 2, 1, 1, 
13377
0
   OPC_EmitInteger32, 30, 
13378
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13379
0
                 MVT::i128, 2, 6, 7, 
13380
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
13381
0
                 MVT::i128, 2, 5, 8, 
13382
0
  65|128,1, 
13383
0
   OPC_RecordChild1,
13384
0
   OPC_Scope, 94, 
13385
0
    OPC_MoveChild1,
13386
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13387
0
    OPC_CheckTypeI32,
13388
0
    OPC_Scope, 23, 
13389
0
     OPC_CheckPredicate, 32,
13390
0
     OPC_MoveParent,
13391
0
     OPC_CheckType, MVT::i128,
13392
0
     OPC_CheckPatternPredicate0,
13393
0
     OPC_EmitConvertToTarget1,
13394
0
     OPC_EmitNodeXForm, 0, 2,
13395
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13396
0
                   MVT::i128, 1, 3, 
13397
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
13398
0
                   MVT::i128, 2, 0, 4, 
13399
0
    23, 
13400
0
     OPC_CheckPredicate, 33,
13401
0
     OPC_MoveParent,
13402
0
     OPC_CheckType, MVT::i128,
13403
0
     OPC_CheckPatternPredicate0,
13404
0
     OPC_EmitConvertToTarget1,
13405
0
     OPC_EmitNodeXForm, 0, 2,
13406
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13407
0
                   MVT::i128, 1, 3, 
13408
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRLB),
13409
0
                   MVT::i128, 2, 0, 4, 
13410
0
    38, 
13411
0
     OPC_MoveParent,
13412
0
     OPC_CheckType, MVT::i128,
13413
0
     OPC_CheckPatternPredicate0,
13414
0
     OPC_EmitConvertToTarget1,
13415
0
     OPC_EmitNodeXForm, 0, 2,
13416
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13417
0
                   MVT::i128, 1, 3, 
13418
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
13419
0
                   MVT::i128, 2, 0, 4, 
13420
0
     OPC_EmitConvertToTarget1,
13421
0
     OPC_EmitNodeXForm, 0, 6,
13422
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13423
0
                   MVT::i128, 1, 7, 
13424
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
13425
0
                   MVT::i128, 2, 5, 8, 
13426
0
    0, 
13427
0
   50, 
13428
0
    OPC_CheckChild1TypeI32,
13429
0
    OPC_CheckType, MVT::i128,
13430
0
    OPC_CheckPatternPredicate0,
13431
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13432
0
                  MVT::i128, 2, 1, 1, 
13433
0
    OPC_EmitInteger32, 30, 
13434
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13435
0
                  MVT::i128, 2, 2, 3, 
13436
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
13437
0
                  MVT::i128, 2, 0, 4, 
13438
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13439
0
                  MVT::i128, 2, 1, 1, 
13440
0
    OPC_EmitInteger32, 30, 
13441
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13442
0
                  MVT::i128, 2, 6, 7, 
13443
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
13444
0
                  MVT::i128, 2, 5, 8, 
13445
0
   10, 
13446
0
    OPC_CheckType, MVT::v16i8,
13447
0
    OPC_CheckPatternPredicate0,
13448
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLVB),
13449
0
                  MVT::v16i8, 2, 0, 1, 
13450
0
   10, 
13451
0
    OPC_CheckType, MVT::v8i16,
13452
0
    OPC_CheckPatternPredicate0,
13453
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLVH),
13454
0
                  MVT::v8i16, 2, 0, 1, 
13455
0
   10, 
13456
0
    OPC_CheckType, MVT::v4i32,
13457
0
    OPC_CheckPatternPredicate0,
13458
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLVF),
13459
0
                  MVT::v4i32, 2, 0, 1, 
13460
0
   10, 
13461
0
    OPC_CheckType, MVT::v2i64,
13462
0
    OPC_CheckPatternPredicate0,
13463
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLVG),
13464
0
                  MVT::v2i64, 2, 0, 1, 
13465
0
   0, 
13466
0
  0, 
13467
0
 80|128,5, TARGET_VAL(ISD::SRA),
13468
0
  OPC_RecordChild0,
13469
0
  OPC_Scope, 23|128,3, 
13470
0
   OPC_MoveChild1,
13471
0
   OPC_SwitchOpcode , 112|128,2, TARGET_VAL(ISD::AND),
13472
0
    OPC_Scope, 2|128,1, 
13473
0
     OPC_RecordChild0,
13474
0
     OPC_Scope, 55, 
13475
0
      OPC_MoveChild1,
13476
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13477
0
      OPC_CheckPredicate, 57,
13478
0
      OPC_MoveParent,
13479
0
      OPC_CheckTypeI32,
13480
0
      OPC_MoveParent,
13481
0
      OPC_SwitchType , 28, MVT::i32,
13482
0
       OPC_Scope, 13, 
13483
0
        OPC_CheckPatternPredicate6,
13484
0
        OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13485
0
        OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAK),
13486
0
                      MVT::i32, MVT::i32, 3, 0, 2, 3, 
13487
0
       11, 
13488
0
        OPC_CheckComplexPat6, /*#*/1,
13489
0
        OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRA),
13490
0
                      MVT::i32, MVT::i32, 3, 0, 2, 3, 
13491
0
       0, 
13492
0
      12, MVT::i64,
13493
0
       OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13494
0
       OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAG),
13495
0
                     MVT::i64, MVT::i32, 3, 0, 2, 3, 
13496
0
      0,
13497
0
     70, 
13498
0
      OPC_MoveChild0,
13499
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13500
0
      OPC_Scope, 31, 
13501
0
       OPC_CheckPredicate, 32,
13502
0
       OPC_MoveSibling1,
13503
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13504
0
       OPC_CheckPredicate, 18,
13505
0
       OPC_MoveParent,
13506
0
       OPC_CheckTypeI32,
13507
0
       OPC_MoveParent,
13508
0
       OPC_CheckType, MVT::i128,
13509
0
       OPC_CheckPatternPredicate0,
13510
0
       OPC_EmitConvertToTarget1,
13511
0
       OPC_EmitNodeXForm, 0, 2,
13512
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13513
0
                     MVT::i128, 1, 3, 
13514
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
13515
0
                     MVT::i128, 2, 0, 4, 
13516
0
      31, 
13517
0
       OPC_CheckPredicate, 33,
13518
0
       OPC_MoveSibling1,
13519
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13520
0
       OPC_CheckPredicate, 18,
13521
0
       OPC_MoveParent,
13522
0
       OPC_CheckTypeI32,
13523
0
       OPC_MoveParent,
13524
0
       OPC_CheckType, MVT::i128,
13525
0
       OPC_CheckPatternPredicate0,
13526
0
       OPC_EmitConvertToTarget1,
13527
0
       OPC_EmitNodeXForm, 0, 2,
13528
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13529
0
                     MVT::i128, 1, 3, 
13530
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
13531
0
                     MVT::i128, 2, 0, 4, 
13532
0
      0, 
13533
0
     0, 
13534
0
    65, 
13535
0
     OPC_MoveChild0,
13536
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13537
0
     OPC_CheckPredicate, 18,
13538
0
     OPC_MoveSibling1,
13539
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13540
0
     OPC_RecordNode,
13541
0
     OPC_Scope, 25, 
13542
0
      OPC_CheckPredicate, 32,
13543
0
      OPC_MoveParent,
13544
0
      OPC_CheckTypeI32,
13545
0
      OPC_MoveParent,
13546
0
      OPC_CheckType, MVT::i128,
13547
0
      OPC_CheckPatternPredicate0,
13548
0
      OPC_EmitConvertToTarget1,
13549
0
      OPC_EmitNodeXForm, 0, 2,
13550
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13551
0
                    MVT::i128, 1, 3, 
13552
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
13553
0
                    MVT::i128, 2, 0, 4, 
13554
0
     25, 
13555
0
      OPC_CheckPredicate, 33,
13556
0
      OPC_MoveParent,
13557
0
      OPC_CheckTypeI32,
13558
0
      OPC_MoveParent,
13559
0
      OPC_CheckType, MVT::i128,
13560
0
      OPC_CheckPatternPredicate0,
13561
0
      OPC_EmitConvertToTarget1,
13562
0
      OPC_EmitNodeXForm, 0, 2,
13563
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13564
0
                    MVT::i128, 1, 3, 
13565
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
13566
0
                    MVT::i128, 2, 0, 4, 
13567
0
     0, 
13568
0
    115, 
13569
0
     OPC_RecordChild0,
13570
0
     OPC_Scope, 60, 
13571
0
      OPC_RecordChild1,
13572
0
      OPC_MoveChild1,
13573
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13574
0
      OPC_MoveParent,
13575
0
      OPC_CheckTypeI32,
13576
0
      OPC_MoveParent,
13577
0
      OPC_SwitchType , 23, MVT::i32,
13578
0
       OPC_EmitConvertToTarget2,
13579
0
       OPC_EmitNodeXForm, 10, 3,
13580
0
       OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
13581
0
                     MVT::i32, MVT::i32, 2, 1, 4, 
13582
0
       OPC_EmitInteger32, 0, 
13583
0
       OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRA),
13584
0
                     MVT::i32, MVT::i32, 3, 0, 5, 7, 
13585
0
      23, MVT::i64,
13586
0
       OPC_EmitConvertToTarget2,
13587
0
       OPC_EmitNodeXForm, 10, 3,
13588
0
       OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
13589
0
                     MVT::i32, MVT::i32, 2, 1, 4, 
13590
0
       OPC_EmitInteger32, 0, 
13591
0
       OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAG),
13592
0
                     MVT::i64, MVT::i32, 3, 0, 5, 7, 
13593
0
      0,
13594
0
     50, 
13595
0
      OPC_MoveChild0,
13596
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13597
0
      OPC_MoveSibling1,
13598
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13599
0
      OPC_CheckPredicate, 18,
13600
0
      OPC_MoveParent,
13601
0
      OPC_CheckTypeI32,
13602
0
      OPC_MoveParent,
13603
0
      OPC_CheckType, MVT::i128,
13604
0
      OPC_CheckPatternPredicate0,
13605
0
      OPC_EmitConvertToTarget1,
13606
0
      OPC_EmitNodeXForm, 0, 2,
13607
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13608
0
                    MVT::i128, 1, 3, 
13609
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
13610
0
                    MVT::i128, 2, 0, 4, 
13611
0
      OPC_EmitConvertToTarget1,
13612
0
      OPC_EmitNodeXForm, 0, 6,
13613
0
      OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13614
0
                    MVT::i128, 1, 7, 
13615
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
13616
0
                    MVT::i128, 2, 5, 8, 
13617
0
     0, 
13618
0
    51, 
13619
0
     OPC_MoveChild0,
13620
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13621
0
     OPC_CheckPredicate, 18,
13622
0
     OPC_MoveSibling1,
13623
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13624
0
     OPC_RecordNode,
13625
0
     OPC_MoveParent,
13626
0
     OPC_CheckTypeI32,
13627
0
     OPC_MoveParent,
13628
0
     OPC_CheckType, MVT::i128,
13629
0
     OPC_CheckPatternPredicate0,
13630
0
     OPC_EmitConvertToTarget1,
13631
0
     OPC_EmitNodeXForm, 0, 2,
13632
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13633
0
                   MVT::i128, 1, 3, 
13634
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
13635
0
                   MVT::i128, 2, 0, 4, 
13636
0
     OPC_EmitConvertToTarget1,
13637
0
     OPC_EmitNodeXForm, 0, 6,
13638
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13639
0
                   MVT::i128, 1, 7, 
13640
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
13641
0
                   MVT::i128, 2, 5, 8, 
13642
0
    0, 
13643
0
   29, TARGET_VAL(ISD::SUB),
13644
0
    OPC_MoveChild0,
13645
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13646
0
    OPC_CheckPredicate, 58,
13647
0
    OPC_MoveParent,
13648
0
    OPC_RecordChild1,
13649
0
    OPC_CheckTypeI32,
13650
0
    OPC_MoveParent,
13651
0
    OPC_CheckTypeI64,
13652
0
    OPC_EmitNode2None, TARGET_VAL(SystemZ::LCR),
13653
0
                  MVT::i32, MVT::i32, 1, 1, 
13654
0
    OPC_EmitInteger32, 0, 
13655
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAG),
13656
0
                  MVT::i64, MVT::i32, 3, 0, 2, 4, 
13657
0
   0,
13658
0
  48, 
13659
0
   OPC_RecordChild1,
13660
0
   OPC_CheckChild1TypeI32,
13661
0
   OPC_SwitchType , 28, MVT::i32,
13662
0
    OPC_Scope, 13, 
13663
0
     OPC_CheckPatternPredicate6,
13664
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13665
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAK),
13666
0
                   MVT::i32, MVT::i32, 3, 0, 2, 3, 
13667
0
    11, 
13668
0
     OPC_CheckComplexPat6, /*#*/1,
13669
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRA),
13670
0
                   MVT::i32, MVT::i32, 3, 0, 2, 3, 
13671
0
    0, 
13672
0
   12, MVT::i64,
13673
0
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13674
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAG),
13675
0
                  MVT::i64, MVT::i32, 3, 0, 2, 3, 
13676
0
   0,
13677
0
  63, 
13678
0
   OPC_MoveChild1,
13679
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13680
0
   OPC_RecordChild0,
13681
0
   OPC_MoveChild1,
13682
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13683
0
   OPC_CheckPredicate, 18,
13684
0
   OPC_MoveParent,
13685
0
   OPC_CheckTypeI32,
13686
0
   OPC_MoveParent,
13687
0
   OPC_CheckType, MVT::i128,
13688
0
   OPC_CheckPatternPredicate0,
13689
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13690
0
                 MVT::i128, 2, 1, 1, 
13691
0
   OPC_EmitInteger32, 30, 
13692
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13693
0
                 MVT::i128, 2, 2, 3, 
13694
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
13695
0
                 MVT::i128, 2, 0, 4, 
13696
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13697
0
                 MVT::i128, 2, 1, 1, 
13698
0
   OPC_EmitInteger32, 30, 
13699
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13700
0
                 MVT::i128, 2, 6, 7, 
13701
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
13702
0
                 MVT::i128, 2, 5, 8, 
13703
0
  65|128,1, 
13704
0
   OPC_RecordChild1,
13705
0
   OPC_Scope, 94, 
13706
0
    OPC_MoveChild1,
13707
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13708
0
    OPC_CheckTypeI32,
13709
0
    OPC_Scope, 23, 
13710
0
     OPC_CheckPredicate, 32,
13711
0
     OPC_MoveParent,
13712
0
     OPC_CheckType, MVT::i128,
13713
0
     OPC_CheckPatternPredicate0,
13714
0
     OPC_EmitConvertToTarget1,
13715
0
     OPC_EmitNodeXForm, 0, 2,
13716
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13717
0
                   MVT::i128, 1, 3, 
13718
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
13719
0
                   MVT::i128, 2, 0, 4, 
13720
0
    23, 
13721
0
     OPC_CheckPredicate, 33,
13722
0
     OPC_MoveParent,
13723
0
     OPC_CheckType, MVT::i128,
13724
0
     OPC_CheckPatternPredicate0,
13725
0
     OPC_EmitConvertToTarget1,
13726
0
     OPC_EmitNodeXForm, 0, 2,
13727
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13728
0
                   MVT::i128, 1, 3, 
13729
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
13730
0
                   MVT::i128, 2, 0, 4, 
13731
0
    38, 
13732
0
     OPC_MoveParent,
13733
0
     OPC_CheckType, MVT::i128,
13734
0
     OPC_CheckPatternPredicate0,
13735
0
     OPC_EmitConvertToTarget1,
13736
0
     OPC_EmitNodeXForm, 0, 2,
13737
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13738
0
                   MVT::i128, 1, 3, 
13739
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
13740
0
                   MVT::i128, 2, 0, 4, 
13741
0
     OPC_EmitConvertToTarget1,
13742
0
     OPC_EmitNodeXForm, 0, 6,
13743
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
13744
0
                   MVT::i128, 1, 7, 
13745
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
13746
0
                   MVT::i128, 2, 5, 8, 
13747
0
    0, 
13748
0
   50, 
13749
0
    OPC_CheckChild1TypeI32,
13750
0
    OPC_CheckType, MVT::i128,
13751
0
    OPC_CheckPatternPredicate0,
13752
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13753
0
                  MVT::i128, 2, 1, 1, 
13754
0
    OPC_EmitInteger32, 30, 
13755
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13756
0
                  MVT::i128, 2, 2, 3, 
13757
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
13758
0
                  MVT::i128, 2, 0, 4, 
13759
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
13760
0
                  MVT::i128, 2, 1, 1, 
13761
0
    OPC_EmitInteger32, 30, 
13762
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
13763
0
                  MVT::i128, 2, 6, 7, 
13764
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
13765
0
                  MVT::i128, 2, 5, 8, 
13766
0
   10, 
13767
0
    OPC_CheckType, MVT::v16i8,
13768
0
    OPC_CheckPatternPredicate0,
13769
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAVB),
13770
0
                  MVT::v16i8, 2, 0, 1, 
13771
0
   10, 
13772
0
    OPC_CheckType, MVT::v8i16,
13773
0
    OPC_CheckPatternPredicate0,
13774
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAVH),
13775
0
                  MVT::v8i16, 2, 0, 1, 
13776
0
   10, 
13777
0
    OPC_CheckType, MVT::v4i32,
13778
0
    OPC_CheckPatternPredicate0,
13779
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAVF),
13780
0
                  MVT::v4i32, 2, 0, 1, 
13781
0
   10, 
13782
0
    OPC_CheckType, MVT::v2i64,
13783
0
    OPC_CheckPatternPredicate0,
13784
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAVG),
13785
0
                  MVT::v2i64, 2, 0, 1, 
13786
0
   0, 
13787
0
  0, 
13788
0
 100|128,1, TARGET_VAL(ISD::ROTL),
13789
0
  OPC_RecordChild0,
13790
0
  OPC_Scope, 9|128,1, 
13791
0
   OPC_MoveChild1,
13792
0
   OPC_SwitchOpcode , 100, TARGET_VAL(ISD::AND),
13793
0
    OPC_RecordChild0,
13794
0
    OPC_Scope, 37, 
13795
0
     OPC_MoveChild1,
13796
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13797
0
     OPC_CheckPredicate, 57,
13798
0
     OPC_MoveParent,
13799
0
     OPC_CheckTypeI32,
13800
0
     OPC_MoveParent,
13801
0
     OPC_SwitchType , 11, MVT::i32,
13802
0
      OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13803
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLL),
13804
0
                    MVT::i32, 3, 0, 2, 3, 
13805
0
     11, MVT::i64,
13806
0
      OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13807
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLLG),
13808
0
                    MVT::i64, 3, 0, 2, 3, 
13809
0
     0,
13810
0
    58, 
13811
0
     OPC_RecordChild1,
13812
0
     OPC_MoveChild1,
13813
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13814
0
     OPC_MoveParent,
13815
0
     OPC_CheckTypeI32,
13816
0
     OPC_MoveParent,
13817
0
     OPC_SwitchType , 22, MVT::i32,
13818
0
      OPC_EmitConvertToTarget2,
13819
0
      OPC_EmitNodeXForm, 10, 3,
13820
0
      OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
13821
0
                    MVT::i32, MVT::i32, 2, 1, 4, 
13822
0
      OPC_EmitInteger32, 0, 
13823
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLL),
13824
0
                    MVT::i32, 3, 0, 5, 7, 
13825
0
     22, MVT::i64,
13826
0
      OPC_EmitConvertToTarget2,
13827
0
      OPC_EmitNodeXForm, 10, 3,
13828
0
      OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
13829
0
                    MVT::i32, MVT::i32, 2, 1, 4, 
13830
0
      OPC_EmitInteger32, 0, 
13831
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLLG),
13832
0
                    MVT::i64, 3, 0, 5, 7, 
13833
0
     0,
13834
0
    0, 
13835
0
   28, TARGET_VAL(ISD::SUB),
13836
0
    OPC_MoveChild0,
13837
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13838
0
    OPC_CheckPredicate, 58,
13839
0
    OPC_MoveParent,
13840
0
    OPC_RecordChild1,
13841
0
    OPC_CheckTypeI32,
13842
0
    OPC_MoveParent,
13843
0
    OPC_CheckTypeI64,
13844
0
    OPC_EmitNode2None, TARGET_VAL(SystemZ::LCR),
13845
0
                  MVT::i32, MVT::i32, 1, 1, 
13846
0
    OPC_EmitInteger32, 0, 
13847
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLLG),
13848
0
                  MVT::i64, 3, 0, 2, 4, 
13849
0
   0,
13850
0
  85, 
13851
0
   OPC_RecordChild1,
13852
0
   OPC_Scope, 29, 
13853
0
    OPC_CheckChild1TypeI32,
13854
0
    OPC_SwitchType , 11, MVT::i32,
13855
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13856
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLL),
13857
0
                   MVT::i32, 3, 0, 2, 3, 
13858
0
    11, MVT::i64,
13859
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13860
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLLG),
13861
0
                   MVT::i64, 3, 0, 2, 3, 
13862
0
    0,
13863
0
   12, 
13864
0
    OPC_CheckChild1Type, MVT::v16i8,
13865
0
    OPC_CheckType, MVT::v16i8,
13866
0
    OPC_CheckPatternPredicate0,
13867
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLVB),
13868
0
                  MVT::v16i8, 2, 0, 1, 
13869
0
   12, 
13870
0
    OPC_CheckChild1Type, MVT::v8i16,
13871
0
    OPC_CheckType, MVT::v8i16,
13872
0
    OPC_CheckPatternPredicate0,
13873
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLVH),
13874
0
                  MVT::v8i16, 2, 0, 1, 
13875
0
   12, 
13876
0
    OPC_CheckChild1Type, MVT::v4i32,
13877
0
    OPC_CheckType, MVT::v4i32,
13878
0
    OPC_CheckPatternPredicate0,
13879
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLVF),
13880
0
                  MVT::v4i32, 2, 0, 1, 
13881
0
   12, 
13882
0
    OPC_CheckChild1Type, MVT::v2i64,
13883
0
    OPC_CheckType, MVT::v2i64,
13884
0
    OPC_CheckPatternPredicate0,
13885
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLVG),
13886
0
                  MVT::v2i64, 2, 0, 1, 
13887
0
   0, 
13888
0
  0, 
13889
0
 107|128,1, TARGET_VAL(SystemZISD::STRICT_FCMP),
13890
0
  OPC_RecordNode,
13891
0
  OPC_RecordChild1,
13892
0
  OPC_Scope, 85, 
13893
0
   OPC_CheckChild1Type, MVT::f32,
13894
0
   OPC_Scope, 57, 
13895
0
    OPC_MoveChild2,
13896
0
    OPC_SwitchOpcode , 24, TARGET_VAL(ISD::LOAD),
13897
0
     OPC_RecordMemRef,
13898
0
     OPC_RecordNode,
13899
0
     OPC_CheckFoldableChainNode,
13900
0
     OPC_RecordChild1,
13901
0
     OPC_CheckChild1TypeI64,
13902
0
     OPC_CheckPredicate0, 
13903
0
     OPC_CheckPredicate2, 
13904
0
     OPC_MoveParent,
13905
0
     OPC_CheckComplexPat1, /*#*/3,
13906
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
13907
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CEB), 0|OPFL_Chain|OPFL_MemRefs,
13908
0
                   MVT::i32, 4, 1, 4, 5, 6, 
13909
0
    24, TARGET_VAL(ISD::ConstantFP),
13910
0
     OPC_Scope, 10, 
13911
0
      OPC_CheckPredicate, 44,
13912
0
      OPC_MoveParent,
13913
0
      OPC_EmitMergeInputChains1_0,
13914
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTEBRCompare_Pseudo),
13915
0
                    MVT::i32, 1, 1, 
13916
0
     10, 
13917
0
      OPC_CheckPredicate, 39,
13918
0
      OPC_MoveParent,
13919
0
      OPC_EmitMergeInputChains1_0,
13920
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTEBRCompare_Pseudo),
13921
0
                    MVT::i32, 1, 1, 
13922
0
     0, 
13923
0
    0,
13924
0
   22, 
13925
0
    OPC_RecordChild2,
13926
0
    OPC_Scope, 9, 
13927
0
     OPC_CheckPatternPredicate1,
13928
0
     OPC_EmitMergeInputChains1_0,
13929
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFCSB),
13930
0
                   MVT::i32, 2, 1, 2, 
13931
0
    8, 
13932
0
     OPC_EmitMergeInputChains1_0,
13933
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CEBR),
13934
0
                   MVT::i32, 2, 1, 2, 
13935
0
    0, 
13936
0
   0, 
13937
0
  85, 
13938
0
   OPC_CheckChild1Type, MVT::f64,
13939
0
   OPC_Scope, 57, 
13940
0
    OPC_MoveChild2,
13941
0
    OPC_SwitchOpcode , 24, TARGET_VAL(ISD::LOAD),
13942
0
     OPC_RecordMemRef,
13943
0
     OPC_RecordNode,
13944
0
     OPC_CheckFoldableChainNode,
13945
0
     OPC_RecordChild1,
13946
0
     OPC_CheckChild1TypeI64,
13947
0
     OPC_CheckPredicate0, 
13948
0
     OPC_CheckPredicate2, 
13949
0
     OPC_MoveParent,
13950
0
     OPC_CheckComplexPat1, /*#*/3,
13951
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
13952
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CDB), 0|OPFL_Chain|OPFL_MemRefs,
13953
0
                   MVT::i32, 4, 1, 4, 5, 6, 
13954
0
    24, TARGET_VAL(ISD::ConstantFP),
13955
0
     OPC_Scope, 10, 
13956
0
      OPC_CheckPredicate, 44,
13957
0
      OPC_MoveParent,
13958
0
      OPC_EmitMergeInputChains1_0,
13959
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTDBRCompare_Pseudo),
13960
0
                    MVT::i32, 1, 1, 
13961
0
     10, 
13962
0
      OPC_CheckPredicate, 39,
13963
0
      OPC_MoveParent,
13964
0
      OPC_EmitMergeInputChains1_0,
13965
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTDBRCompare_Pseudo),
13966
0
                    MVT::i32, 1, 1, 
13967
0
     0, 
13968
0
    0,
13969
0
   22, 
13970
0
    OPC_RecordChild2,
13971
0
    OPC_Scope, 9, 
13972
0
     OPC_CheckPatternPredicate0,
13973
0
     OPC_EmitMergeInputChains1_0,
13974
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFCDB),
13975
0
                   MVT::i32, 2, 1, 2, 
13976
0
    8, 
13977
0
     OPC_EmitMergeInputChains1_0,
13978
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDBR),
13979
0
                   MVT::i32, 2, 1, 2, 
13980
0
    0, 
13981
0
   0, 
13982
0
  58, 
13983
0
   OPC_CheckChild1Type, MVT::f128,
13984
0
   OPC_Scope, 30, 
13985
0
    OPC_MoveChild2,
13986
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
13987
0
    OPC_Scope, 11, 
13988
0
     OPC_CheckPredicate, 44,
13989
0
     OPC_MoveParent,
13990
0
     OPC_CheckPatternPredicate5,
13991
0
     OPC_EmitMergeInputChains1_0,
13992
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTXBRCompare_Pseudo),
13993
0
                   MVT::i32, 1, 1, 
13994
0
    11, 
13995
0
     OPC_CheckPredicate, 39,
13996
0
     OPC_MoveParent,
13997
0
     OPC_CheckPatternPredicate5,
13998
0
     OPC_EmitMergeInputChains1_0,
13999
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTXBRCompare_Pseudo),
14000
0
                   MVT::i32, 1, 1, 
14001
0
    0, 
14002
0
   22, 
14003
0
    OPC_RecordChild2,
14004
0
    OPC_Scope, 9, 
14005
0
     OPC_CheckPatternPredicate1,
14006
0
     OPC_EmitMergeInputChains1_0,
14007
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFCXB),
14008
0
                   MVT::i32, 2, 1, 2, 
14009
0
    8, 
14010
0
     OPC_EmitMergeInputChains1_0,
14011
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXBR),
14012
0
                   MVT::i32, 2, 1, 2, 
14013
0
    0, 
14014
0
   0, 
14015
0
  0, 
14016
0
 88|128,1, TARGET_VAL(SystemZISD::FCMP),
14017
0
  OPC_RecordChild0,
14018
0
  OPC_Scope, 78, 
14019
0
   OPC_CheckChild0Type, MVT::f32,
14020
0
   OPC_Scope, 52, 
14021
0
    OPC_MoveChild1,
14022
0
    OPC_SwitchOpcode , 21, TARGET_VAL(ISD::LOAD),
14023
0
     OPC_RecordMemRef,
14024
0
     OPC_RecordNode,
14025
0
     OPC_CheckFoldableChainNode,
14026
0
     OPC_RecordChild1,
14027
0
     OPC_CheckChild1TypeI64,
14028
0
     OPC_CheckPredicate0, 
14029
0
     OPC_CheckPredicate2, 
14030
0
     OPC_MoveParent,
14031
0
     OPC_CheckComplexPat1, /*#*/2,
14032
0
     OPC_EmitMergeInputChains1_1,
14033
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CEB), 0|OPFL_Chain|OPFL_MemRefs,
14034
0
                   MVT::i32, 4, 0, 3, 4, 5, 
14035
0
    22, TARGET_VAL(ISD::ConstantFP),
14036
0
     OPC_Scope, 9, 
14037
0
      OPC_CheckPredicate, 44,
14038
0
      OPC_MoveParent,
14039
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTEBRCompare_Pseudo),
14040
0
                    MVT::i32, 1, 0, 
14041
0
     9, 
14042
0
      OPC_CheckPredicate, 39,
14043
0
      OPC_MoveParent,
14044
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTEBRCompare_Pseudo),
14045
0
                    MVT::i32, 1, 0, 
14046
0
     0, 
14047
0
    0,
14048
0
   20, 
14049
0
    OPC_RecordChild1,
14050
0
    OPC_Scope, 8, 
14051
0
     OPC_CheckPatternPredicate1,
14052
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFCSB),
14053
0
                   MVT::i32, 2, 0, 1, 
14054
0
    7, 
14055
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CEBR),
14056
0
                   MVT::i32, 2, 0, 1, 
14057
0
    0, 
14058
0
   0, 
14059
0
  78, 
14060
0
   OPC_CheckChild0Type, MVT::f64,
14061
0
   OPC_Scope, 52, 
14062
0
    OPC_MoveChild1,
14063
0
    OPC_SwitchOpcode , 21, TARGET_VAL(ISD::LOAD),
14064
0
     OPC_RecordMemRef,
14065
0
     OPC_RecordNode,
14066
0
     OPC_CheckFoldableChainNode,
14067
0
     OPC_RecordChild1,
14068
0
     OPC_CheckChild1TypeI64,
14069
0
     OPC_CheckPredicate0, 
14070
0
     OPC_CheckPredicate2, 
14071
0
     OPC_MoveParent,
14072
0
     OPC_CheckComplexPat1, /*#*/2,
14073
0
     OPC_EmitMergeInputChains1_1,
14074
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CDB), 0|OPFL_Chain|OPFL_MemRefs,
14075
0
                   MVT::i32, 4, 0, 3, 4, 5, 
14076
0
    22, TARGET_VAL(ISD::ConstantFP),
14077
0
     OPC_Scope, 9, 
14078
0
      OPC_CheckPredicate, 44,
14079
0
      OPC_MoveParent,
14080
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTDBRCompare_Pseudo),
14081
0
                    MVT::i32, 1, 0, 
14082
0
     9, 
14083
0
      OPC_CheckPredicate, 39,
14084
0
      OPC_MoveParent,
14085
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTDBRCompare_Pseudo),
14086
0
                    MVT::i32, 1, 0, 
14087
0
     0, 
14088
0
    0,
14089
0
   20, 
14090
0
    OPC_RecordChild1,
14091
0
    OPC_Scope, 8, 
14092
0
     OPC_CheckPatternPredicate0,
14093
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFCDB),
14094
0
                   MVT::i32, 2, 0, 1, 
14095
0
    7, 
14096
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDBR),
14097
0
                   MVT::i32, 2, 0, 1, 
14098
0
    0, 
14099
0
   0, 
14100
0
  54, 
14101
0
   OPC_CheckChild0Type, MVT::f128,
14102
0
   OPC_Scope, 28, 
14103
0
    OPC_MoveChild1,
14104
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
14105
0
    OPC_Scope, 10, 
14106
0
     OPC_CheckPredicate, 44,
14107
0
     OPC_MoveParent,
14108
0
     OPC_CheckPatternPredicate5,
14109
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTXBRCompare_Pseudo),
14110
0
                   MVT::i32, 1, 0, 
14111
0
    10, 
14112
0
     OPC_CheckPredicate, 39,
14113
0
     OPC_MoveParent,
14114
0
     OPC_CheckPatternPredicate5,
14115
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTXBRCompare_Pseudo),
14116
0
                   MVT::i32, 1, 0, 
14117
0
    0, 
14118
0
   20, 
14119
0
    OPC_RecordChild1,
14120
0
    OPC_Scope, 8, 
14121
0
     OPC_CheckPatternPredicate1,
14122
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFCXB),
14123
0
                   MVT::i32, 2, 0, 1, 
14124
0
    7, 
14125
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXBR),
14126
0
                   MVT::i32, 2, 0, 1, 
14127
0
    0, 
14128
0
   0, 
14129
0
  0, 
14130
0
 15|128,1, TARGET_VAL(SystemZISD::STRICT_FCMPS),
14131
0
  OPC_RecordNode,
14132
0
  OPC_RecordChild1,
14133
0
  OPC_Scope, 56, 
14134
0
   OPC_CheckChild1Type, MVT::f32,
14135
0
   OPC_Scope, 28, 
14136
0
    OPC_MoveChild2,
14137
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
14138
0
    OPC_RecordMemRef,
14139
0
    OPC_RecordNode,
14140
0
    OPC_CheckFoldableChainNode,
14141
0
    OPC_RecordChild1,
14142
0
    OPC_CheckChild1TypeI64,
14143
0
    OPC_CheckPredicate0, 
14144
0
    OPC_CheckPredicate2, 
14145
0
    OPC_MoveParent,
14146
0
    OPC_CheckComplexPat1, /*#*/3,
14147
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
14148
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::KEB), 0|OPFL_Chain|OPFL_MemRefs,
14149
0
                  MVT::i32, 4, 1, 4, 5, 6, 
14150
0
   22, 
14151
0
    OPC_RecordChild2,
14152
0
    OPC_Scope, 9, 
14153
0
     OPC_CheckPatternPredicate1,
14154
0
     OPC_EmitMergeInputChains1_0,
14155
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFKSB),
14156
0
                   MVT::i32, 2, 1, 2, 
14157
0
    8, 
14158
0
     OPC_EmitMergeInputChains1_0,
14159
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::KEBR),
14160
0
                   MVT::i32, 2, 1, 2, 
14161
0
    0, 
14162
0
   0, 
14163
0
  56, 
14164
0
   OPC_CheckChild1Type, MVT::f64,
14165
0
   OPC_Scope, 28, 
14166
0
    OPC_MoveChild2,
14167
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
14168
0
    OPC_RecordMemRef,
14169
0
    OPC_RecordNode,
14170
0
    OPC_CheckFoldableChainNode,
14171
0
    OPC_RecordChild1,
14172
0
    OPC_CheckChild1TypeI64,
14173
0
    OPC_CheckPredicate0, 
14174
0
    OPC_CheckPredicate2, 
14175
0
    OPC_MoveParent,
14176
0
    OPC_CheckComplexPat1, /*#*/3,
14177
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
14178
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::KDB), 0|OPFL_Chain|OPFL_MemRefs,
14179
0
                  MVT::i32, 4, 1, 4, 5, 6, 
14180
0
   22, 
14181
0
    OPC_RecordChild2,
14182
0
    OPC_Scope, 9, 
14183
0
     OPC_CheckPatternPredicate0,
14184
0
     OPC_EmitMergeInputChains1_0,
14185
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFKDB),
14186
0
                   MVT::i32, 2, 1, 2, 
14187
0
    8, 
14188
0
     OPC_EmitMergeInputChains1_0,
14189
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::KDBR),
14190
0
                   MVT::i32, 2, 1, 2, 
14191
0
    0, 
14192
0
   0, 
14193
0
  24, 
14194
0
   OPC_CheckChild1Type, MVT::f128,
14195
0
   OPC_RecordChild2,
14196
0
   OPC_Scope, 9, 
14197
0
    OPC_CheckPatternPredicate1,
14198
0
    OPC_EmitMergeInputChains1_0,
14199
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFKXB),
14200
0
                  MVT::i32, 2, 1, 2, 
14201
0
   8, 
14202
0
    OPC_EmitMergeInputChains1_0,
14203
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::KXBR),
14204
0
                  MVT::i32, 2, 1, 2, 
14205
0
   0, 
14206
0
  0, 
14207
0
 76, TARGET_VAL(SystemZISD::ATOMIC_LOADW_AND),
14208
0
  OPC_RecordMemRef,
14209
0
  OPC_RecordNode,
14210
0
  OPC_RecordChild1,
14211
0
  OPC_CheckChild1TypeI64,
14212
0
  OPC_RecordChild2,
14213
0
  OPC_Scope, 39, 
14214
0
   OPC_MoveChild2,
14215
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14216
0
   OPC_CheckPredicate, 49,
14217
0
   OPC_MoveParent,
14218
0
   OPC_RecordChild3,
14219
0
   OPC_RecordChild4,
14220
0
   OPC_RecordChild5,
14221
0
   OPC_MoveChild5,
14222
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14223
0
   OPC_MoveParent,
14224
0
   OPC_CheckComplexPat5, /*#*/1,
14225
0
   OPC_EmitMergeInputChains1_0,
14226
0
   OPC_EmitConvertToTarget2,
14227
0
   OPC_EmitNodeXForm, 4, 8,
14228
0
   OPC_EmitConvertToTarget5,
14229
0
   OPC_EmitNodeXForm, 9, 10,
14230
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_NILH), 0|OPFL_Chain|OPFL_MemRefs,
14231
0
                 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11, 
14232
0
  28, 
14233
0
   OPC_RecordChild3,
14234
0
   OPC_RecordChild4,
14235
0
   OPC_RecordChild5,
14236
0
   OPC_MoveChild5,
14237
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14238
0
   OPC_MoveParent,
14239
0
   OPC_CheckComplexPat5, /*#*/1,
14240
0
   OPC_EmitMergeInputChains1_0,
14241
0
   OPC_EmitConvertToTarget5,
14242
0
   OPC_EmitNodeXForm, 9, 8,
14243
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_NR), 0|OPFL_Chain|OPFL_MemRefs,
14244
0
                 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14245
0
  0, 
14246
0
 76, TARGET_VAL(SystemZISD::ATOMIC_LOADW_OR),
14247
0
  OPC_RecordMemRef,
14248
0
  OPC_RecordNode,
14249
0
  OPC_RecordChild1,
14250
0
  OPC_CheckChild1TypeI64,
14251
0
  OPC_RecordChild2,
14252
0
  OPC_Scope, 39, 
14253
0
   OPC_MoveChild2,
14254
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14255
0
   OPC_CheckPredicate, 27,
14256
0
   OPC_MoveParent,
14257
0
   OPC_RecordChild3,
14258
0
   OPC_RecordChild4,
14259
0
   OPC_RecordChild5,
14260
0
   OPC_MoveChild5,
14261
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14262
0
   OPC_MoveParent,
14263
0
   OPC_CheckComplexPat5, /*#*/1,
14264
0
   OPC_EmitMergeInputChains1_0,
14265
0
   OPC_EmitConvertToTarget2,
14266
0
   OPC_EmitNodeXForm, 4, 8,
14267
0
   OPC_EmitConvertToTarget5,
14268
0
   OPC_EmitNodeXForm, 9, 10,
14269
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_OILH), 0|OPFL_Chain|OPFL_MemRefs,
14270
0
                 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11, 
14271
0
  28, 
14272
0
   OPC_RecordChild3,
14273
0
   OPC_RecordChild4,
14274
0
   OPC_RecordChild5,
14275
0
   OPC_MoveChild5,
14276
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14277
0
   OPC_MoveParent,
14278
0
   OPC_CheckComplexPat5, /*#*/1,
14279
0
   OPC_EmitMergeInputChains1_0,
14280
0
   OPC_EmitConvertToTarget5,
14281
0
   OPC_EmitNodeXForm, 9, 8,
14282
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_OR), 0|OPFL_Chain|OPFL_MemRefs,
14283
0
                 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14284
0
  0, 
14285
0
 76, TARGET_VAL(SystemZISD::ATOMIC_LOADW_NAND),
14286
0
  OPC_RecordMemRef,
14287
0
  OPC_RecordNode,
14288
0
  OPC_RecordChild1,
14289
0
  OPC_CheckChild1TypeI64,
14290
0
  OPC_RecordChild2,
14291
0
  OPC_Scope, 39, 
14292
0
   OPC_MoveChild2,
14293
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14294
0
   OPC_CheckPredicate, 49,
14295
0
   OPC_MoveParent,
14296
0
   OPC_RecordChild3,
14297
0
   OPC_RecordChild4,
14298
0
   OPC_RecordChild5,
14299
0
   OPC_MoveChild5,
14300
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14301
0
   OPC_MoveParent,
14302
0
   OPC_CheckComplexPat5, /*#*/1,
14303
0
   OPC_EmitMergeInputChains1_0,
14304
0
   OPC_EmitConvertToTarget2,
14305
0
   OPC_EmitNodeXForm, 4, 8,
14306
0
   OPC_EmitConvertToTarget5,
14307
0
   OPC_EmitNodeXForm, 9, 10,
14308
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_NILHi), 0|OPFL_Chain|OPFL_MemRefs,
14309
0
                 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11, 
14310
0
  28, 
14311
0
   OPC_RecordChild3,
14312
0
   OPC_RecordChild4,
14313
0
   OPC_RecordChild5,
14314
0
   OPC_MoveChild5,
14315
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14316
0
   OPC_MoveParent,
14317
0
   OPC_CheckComplexPat5, /*#*/1,
14318
0
   OPC_EmitMergeInputChains1_0,
14319
0
   OPC_EmitConvertToTarget5,
14320
0
   OPC_EmitNodeXForm, 9, 8,
14321
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_NRi), 0|OPFL_Chain|OPFL_MemRefs,
14322
0
                 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14323
0
  0, 
14324
0
 47, TARGET_VAL(SystemZISD::SMUL_LOHI),
14325
0
  OPC_RecordChild0,
14326
0
  OPC_CheckChild0TypeI64,
14327
0
  OPC_Scope, 32, 
14328
0
   OPC_MoveChild1,
14329
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
14330
0
   OPC_RecordMemRef,
14331
0
   OPC_RecordNode,
14332
0
   OPC_CheckFoldableChainNode,
14333
0
   OPC_RecordChild1,
14334
0
   OPC_CheckChild1TypeI64,
14335
0
   OPC_CheckPredicate0, 
14336
0
   OPC_CheckPredicate2, 
14337
0
   OPC_CheckTypeI64,
14338
0
   OPC_MoveParent,
14339
0
   OPC_CheckComplexPat2, /*#*/2,
14340
0
   OPC_EmitMergeInputChains1_1,
14341
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
14342
0
                 MVT::Untyped, 1, 0, 
14343
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MG), 0|OPFL_Chain|OPFL_MemRefs,
14344
0
                 MVT::Untyped, 4, 6, 3, 4, 5, 
14345
0
  9, 
14346
0
   OPC_RecordChild1,
14347
0
   OPC_CheckChild1TypeI64,
14348
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MGRK),
14349
0
                 MVT::Untyped, 2, 0, 1, 
14350
0
  0, 
14351
0
 53, TARGET_VAL(SystemZISD::UMUL_LOHI),
14352
0
  OPC_RecordChild0,
14353
0
  OPC_CheckChild0TypeI64,
14354
0
  OPC_Scope, 32, 
14355
0
   OPC_MoveChild1,
14356
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
14357
0
   OPC_RecordMemRef,
14358
0
   OPC_RecordNode,
14359
0
   OPC_CheckFoldableChainNode,
14360
0
   OPC_RecordChild1,
14361
0
   OPC_CheckChild1TypeI64,
14362
0
   OPC_CheckPredicate0, 
14363
0
   OPC_CheckPredicate2, 
14364
0
   OPC_CheckTypeI64,
14365
0
   OPC_MoveParent,
14366
0
   OPC_CheckComplexPat2, /*#*/2,
14367
0
   OPC_EmitMergeInputChains1_1,
14368
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
14369
0
                 MVT::Untyped, 1, 0, 
14370
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MLG), 0|OPFL_Chain|OPFL_MemRefs,
14371
0
                 MVT::Untyped, 4, 6, 3, 4, 5, 
14372
0
  15, 
14373
0
   OPC_RecordChild1,
14374
0
   OPC_CheckChild1TypeI64,
14375
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
14376
0
                 MVT::Untyped, 1, 0, 
14377
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MLGR),
14378
0
                 MVT::Untyped, 2, 2, 1, 
14379
0
  0, 
14380
0
 96, TARGET_VAL(SystemZISD::SDIVREM),
14381
0
  OPC_RecordChild0,
14382
0
  OPC_CheckChild0TypeI64,
14383
0
  OPC_Scope, 57, 
14384
0
   OPC_MoveChild1,
14385
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
14386
0
   OPC_RecordMemRef,
14387
0
   OPC_RecordNode,
14388
0
   OPC_CheckFoldableChainNode,
14389
0
   OPC_RecordChild1,
14390
0
   OPC_CheckChild1TypeI64,
14391
0
   OPC_CheckPredicate0, 
14392
0
   OPC_CheckPredicate2, 
14393
0
   OPC_SwitchType , 20, MVT::i32,
14394
0
    OPC_MoveParent,
14395
0
    OPC_CheckComplexPat2, /*#*/2,
14396
0
    OPC_EmitMergeInputChains1_1,
14397
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
14398
0
                  MVT::Untyped, 1, 0, 
14399
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DSGF), 0|OPFL_Chain|OPFL_MemRefs,
14400
0
                  MVT::Untyped, 4, 6, 3, 4, 5, 
14401
0
   20, MVT::i64,
14402
0
    OPC_MoveParent,
14403
0
    OPC_CheckComplexPat2, /*#*/2,
14404
0
    OPC_EmitMergeInputChains1_1,
14405
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
14406
0
                  MVT::Untyped, 1, 0, 
14407
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DSG), 0|OPFL_Chain|OPFL_MemRefs,
14408
0
                  MVT::Untyped, 4, 6, 3, 4, 5, 
14409
0
   0,
14410
0
  33, 
14411
0
   OPC_RecordChild1,
14412
0
   OPC_Scope, 14, 
14413
0
    OPC_CheckChild1TypeI32,
14414
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
14415
0
                  MVT::Untyped, 1, 0, 
14416
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DSGFR),
14417
0
                  MVT::Untyped, 2, 2, 1, 
14418
0
   14, 
14419
0
    OPC_CheckChild1TypeI64,
14420
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
14421
0
                  MVT::Untyped, 1, 0, 
14422
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DSGR),
14423
0
                  MVT::Untyped, 2, 2, 1, 
14424
0
   0, 
14425
0
  0, 
14426
0
 11|128,1, TARGET_VAL(SystemZISD::UDIVREM),
14427
0
  OPC_RecordChild0,
14428
0
  OPC_Scope, 52, 
14429
0
   OPC_CheckChild0TypeI64,
14430
0
   OPC_Scope, 32, 
14431
0
    OPC_MoveChild1,
14432
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
14433
0
    OPC_RecordMemRef,
14434
0
    OPC_RecordNode,
14435
0
    OPC_CheckFoldableChainNode,
14436
0
    OPC_RecordChild1,
14437
0
    OPC_CheckChild1TypeI64,
14438
0
    OPC_CheckPredicate0, 
14439
0
    OPC_CheckPredicate2, 
14440
0
    OPC_CheckTypeI64,
14441
0
    OPC_MoveParent,
14442
0
    OPC_CheckComplexPat2, /*#*/2,
14443
0
    OPC_EmitMergeInputChains1_1,
14444
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
14445
0
                  MVT::Untyped, 1, 0, 
14446
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DLG), 0|OPFL_Chain|OPFL_MemRefs,
14447
0
                  MVT::Untyped, 4, 6, 3, 4, 5, 
14448
0
   15, 
14449
0
    OPC_RecordChild1,
14450
0
    OPC_CheckChild1TypeI64,
14451
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
14452
0
                  MVT::Untyped, 1, 0, 
14453
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DLGR),
14454
0
                  MVT::Untyped, 2, 2, 1, 
14455
0
   0, 
14456
0
  82, 
14457
0
   OPC_CheckChild0TypeI32,
14458
0
   OPC_Scope, 47, 
14459
0
    OPC_MoveChild1,
14460
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
14461
0
    OPC_RecordMemRef,
14462
0
    OPC_RecordNode,
14463
0
    OPC_CheckFoldableChainNode,
14464
0
    OPC_RecordChild1,
14465
0
    OPC_CheckChild1TypeI64,
14466
0
    OPC_CheckPredicate0, 
14467
0
    OPC_CheckPredicate2, 
14468
0
    OPC_CheckTypeI32,
14469
0
    OPC_MoveParent,
14470
0
    OPC_CheckComplexPat2, /*#*/2,
14471
0
    OPC_EmitMergeInputChains1_1,
14472
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14473
0
                  MVT::i64, 0, 
14474
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
14475
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14476
0
                  MVT::i64, 3, 6, 0, 7, 
14477
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
14478
0
                  MVT::Untyped, 1, 8, 
14479
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DL), 0|OPFL_Chain|OPFL_MemRefs,
14480
0
                  MVT::Untyped, 4, 9, 3, 4, 5, 
14481
0
   30, 
14482
0
    OPC_RecordChild1,
14483
0
    OPC_CheckChild1TypeI32,
14484
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
14485
0
                  MVT::i64, 0, 
14486
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
14487
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
14488
0
                  MVT::i64, 3, 2, 0, 3, 
14489
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
14490
0
                  MVT::Untyped, 1, 4, 
14491
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DLR),
14492
0
                  MVT::Untyped, 2, 5, 1, 
14493
0
   0, 
14494
0
  0, 
14495
0
 92, TARGET_VAL(SystemZISD::MEMSET_MVC),
14496
0
  OPC_RecordNode,
14497
0
  OPC_RecordChild1,
14498
0
  OPC_CheckChild1TypeI64,
14499
0
  OPC_RecordChild2,
14500
0
  OPC_Scope, 46, 
14501
0
   OPC_MoveChild2,
14502
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14503
0
   OPC_Scope, 23, 
14504
0
    OPC_MoveSibling3,
14505
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14506
0
    OPC_RecordNode,
14507
0
    OPC_MoveParent,
14508
0
    OPC_CheckComplexPat0, /*#*/1,
14509
0
    OPC_EmitMergeInputChains1_0,
14510
0
    OPC_EmitConvertToTarget2,
14511
0
    OPC_EmitConvertToTarget3,
14512
0
    OPC_EmitNodeXForm, 0, 7,
14513
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MemsetImmImm),
14514
0
                  MVT::i32, 4, 4, 5, 6, 8, 
14515
0
   15, 
14516
0
    OPC_MoveParent,
14517
0
    OPC_RecordChild3,
14518
0
    OPC_CheckComplexPat0, /*#*/1,
14519
0
    OPC_EmitMergeInputChains1_0,
14520
0
    OPC_EmitConvertToTarget2,
14521
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MemsetImmReg),
14522
0
                  MVT::i32, 4, 4, 5, 6, 3, 
14523
0
   0, 
14524
0
  38, 
14525
0
   OPC_RecordChild3,
14526
0
   OPC_Scope, 21, 
14527
0
    OPC_MoveChild3,
14528
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14529
0
    OPC_MoveParent,
14530
0
    OPC_CheckComplexPat0, /*#*/1,
14531
0
    OPC_EmitMergeInputChains1_0,
14532
0
    OPC_EmitConvertToTarget3,
14533
0
    OPC_EmitNodeXForm, 0, 6,
14534
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MemsetRegImm),
14535
0
                  MVT::i32, 4, 4, 5, 2, 7, 
14536
0
   12, 
14537
0
    OPC_CheckComplexPat0, /*#*/1,
14538
0
    OPC_EmitMergeInputChains1_0,
14539
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MemsetRegReg),
14540
0
                  MVT::i32, 4, 4, 5, 2, 3, 
14541
0
   0, 
14542
0
  0, 
14543
0
 74, TARGET_VAL(SystemZISD::ATOMIC_LOADW_ADD),
14544
0
  OPC_RecordMemRef,
14545
0
  OPC_RecordNode,
14546
0
  OPC_RecordChild1,
14547
0
  OPC_CheckChild1TypeI64,
14548
0
  OPC_RecordChild2,
14549
0
  OPC_Scope, 37, 
14550
0
   OPC_MoveChild2,
14551
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14552
0
   OPC_MoveParent,
14553
0
   OPC_RecordChild3,
14554
0
   OPC_RecordChild4,
14555
0
   OPC_RecordChild5,
14556
0
   OPC_MoveChild5,
14557
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14558
0
   OPC_MoveParent,
14559
0
   OPC_CheckComplexPat5, /*#*/1,
14560
0
   OPC_EmitMergeInputChains1_0,
14561
0
   OPC_EmitConvertToTarget2,
14562
0
   OPC_EmitNodeXForm, 11, 8,
14563
0
   OPC_EmitConvertToTarget5,
14564
0
   OPC_EmitNodeXForm, 9, 10,
14565
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_AFI), 0|OPFL_Chain|OPFL_MemRefs,
14566
0
                 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11, 
14567
0
  28, 
14568
0
   OPC_RecordChild3,
14569
0
   OPC_RecordChild4,
14570
0
   OPC_RecordChild5,
14571
0
   OPC_MoveChild5,
14572
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14573
0
   OPC_MoveParent,
14574
0
   OPC_CheckComplexPat5, /*#*/1,
14575
0
   OPC_EmitMergeInputChains1_0,
14576
0
   OPC_EmitConvertToTarget5,
14577
0
   OPC_EmitNodeXForm, 9, 8,
14578
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_AR), 0|OPFL_Chain|OPFL_MemRefs,
14579
0
                 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14580
0
  0, 
14581
0
 74, TARGET_VAL(SystemZISD::ATOMIC_LOADW_XOR),
14582
0
  OPC_RecordMemRef,
14583
0
  OPC_RecordNode,
14584
0
  OPC_RecordChild1,
14585
0
  OPC_CheckChild1TypeI64,
14586
0
  OPC_RecordChild2,
14587
0
  OPC_Scope, 37, 
14588
0
   OPC_MoveChild2,
14589
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14590
0
   OPC_MoveParent,
14591
0
   OPC_RecordChild3,
14592
0
   OPC_RecordChild4,
14593
0
   OPC_RecordChild5,
14594
0
   OPC_MoveChild5,
14595
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14596
0
   OPC_MoveParent,
14597
0
   OPC_CheckComplexPat5, /*#*/1,
14598
0
   OPC_EmitMergeInputChains1_0,
14599
0
   OPC_EmitConvertToTarget2,
14600
0
   OPC_EmitNodeXForm, 9, 8,
14601
0
   OPC_EmitConvertToTarget5,
14602
0
   OPC_EmitNodeXForm, 9, 10,
14603
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_XILF), 0|OPFL_Chain|OPFL_MemRefs,
14604
0
                 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11, 
14605
0
  28, 
14606
0
   OPC_RecordChild3,
14607
0
   OPC_RecordChild4,
14608
0
   OPC_RecordChild5,
14609
0
   OPC_MoveChild5,
14610
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14611
0
   OPC_MoveParent,
14612
0
   OPC_CheckComplexPat5, /*#*/1,
14613
0
   OPC_EmitMergeInputChains1_0,
14614
0
   OPC_EmitConvertToTarget5,
14615
0
   OPC_EmitNodeXForm, 9, 8,
14616
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_XR), 0|OPFL_Chain|OPFL_MemRefs,
14617
0
                 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14618
0
  0, 
14619
0
 116, TARGET_VAL(SystemZISD::LRV),
14620
0
  OPC_RecordMemRef,
14621
0
  OPC_RecordNode,
14622
0
  OPC_RecordChild1,
14623
0
  OPC_CheckChild1TypeI64,
14624
0
  OPC_SwitchType , 32, MVT::i32,
14625
0
   OPC_Scope, 14, 
14626
0
    OPC_CheckPredicate, 48,
14627
0
    OPC_CheckComplexPat2, /*#*/1,
14628
0
    OPC_EmitMergeInputChains1_0,
14629
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRVH), 0|OPFL_Chain|OPFL_MemRefs,
14630
0
                  MVT::i32, 3, 2, 3, 4, 
14631
0
   14, 
14632
0
    OPC_CheckPredicate, 47,
14633
0
    OPC_CheckComplexPat2, /*#*/1,
14634
0
    OPC_EmitMergeInputChains1_0,
14635
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRV), 0|OPFL_Chain|OPFL_MemRefs,
14636
0
                  MVT::i32, 3, 2, 3, 4, 
14637
0
   0, 
14638
0
  14, MVT::i64,
14639
0
   OPC_CheckPredicate, 40,
14640
0
   OPC_CheckComplexPat2, /*#*/1,
14641
0
   OPC_EmitMergeInputChains1_0,
14642
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRVG), 0|OPFL_Chain|OPFL_MemRefs,
14643
0
                 MVT::i64, 3, 2, 3, 4, 
14644
0
  13, MVT::i128,
14645
0
   OPC_CheckPatternPredicate4,
14646
0
   OPC_CheckComplexPat1, /*#*/1,
14647
0
   OPC_EmitMergeInputChains1_0,
14648
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRQ), 0|OPFL_Chain|OPFL_MemRefs,
14649
0
                 MVT::i128, 3, 2, 3, 4, 
14650
0
  13, MVT::v8i16,
14651
0
   OPC_CheckPatternPredicate4,
14652
0
   OPC_CheckComplexPat1, /*#*/1,
14653
0
   OPC_EmitMergeInputChains1_0,
14654
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRH), 0|OPFL_Chain|OPFL_MemRefs,
14655
0
                 MVT::v8i16, 3, 2, 3, 4, 
14656
0
  13, MVT::v4i32,
14657
0
   OPC_CheckPatternPredicate4,
14658
0
   OPC_CheckComplexPat1, /*#*/1,
14659
0
   OPC_EmitMergeInputChains1_0,
14660
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRF), 0|OPFL_Chain|OPFL_MemRefs,
14661
0
                 MVT::v4i32, 3, 2, 3, 4, 
14662
0
  13, MVT::v2i64,
14663
0
   OPC_CheckPatternPredicate4,
14664
0
   OPC_CheckComplexPat1, /*#*/1,
14665
0
   OPC_EmitMergeInputChains1_0,
14666
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRG), 0|OPFL_Chain|OPFL_MemRefs,
14667
0
                 MVT::v2i64, 3, 2, 3, 4, 
14668
0
  0,
14669
0
 28, TARGET_VAL(SystemZISD::TBEGIN),
14670
0
  OPC_RecordNode,
14671
0
  OPC_RecordChild1,
14672
0
  OPC_CheckChild1TypeI64,
14673
0
  OPC_RecordChild2,
14674
0
  OPC_MoveChild2,
14675
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14676
0
  OPC_CheckPredicate, 46,
14677
0
  OPC_MoveParent,
14678
0
  OPC_CheckPatternPredicate, 10,
14679
0
  OPC_CheckComplexPat0, /*#*/1,
14680
0
  OPC_EmitMergeInputChains1_0,
14681
0
  OPC_EmitConvertToTarget2,
14682
0
  OPC_EmitNodeXForm, 10, 5,
14683
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::TBEGIN),
14684
0
                MVT::i32, 3, 3, 4, 6, 
14685
0
 28, TARGET_VAL(SystemZISD::TBEGIN_NOFLOAT),
14686
0
  OPC_RecordNode,
14687
0
  OPC_RecordChild1,
14688
0
  OPC_CheckChild1TypeI64,
14689
0
  OPC_RecordChild2,
14690
0
  OPC_MoveChild2,
14691
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14692
0
  OPC_CheckPredicate, 46,
14693
0
  OPC_MoveParent,
14694
0
  OPC_CheckPatternPredicate, 10,
14695
0
  OPC_CheckComplexPat0, /*#*/1,
14696
0
  OPC_EmitMergeInputChains1_0,
14697
0
  OPC_EmitConvertToTarget2,
14698
0
  OPC_EmitNodeXForm, 10, 5,
14699
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::TBEGIN_nofloat),
14700
0
                MVT::i32, 3, 3, 4, 6, 
14701
0
 16, TARGET_VAL(SystemZISD::ATOMIC_LOAD_128),
14702
0
  OPC_RecordMemRef,
14703
0
  OPC_RecordNode,
14704
0
  OPC_RecordChild1,
14705
0
  OPC_CheckChild1TypeI64,
14706
0
  OPC_CheckComplexPat2, /*#*/1,
14707
0
  OPC_EmitMergeInputChains1_0,
14708
0
  OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LPQ), 0|OPFL_Chain|OPFL_MemRefs,
14709
0
                MVT::Untyped, 3, 2, 3, 4, 
14710
0
 17, TARGET_VAL(SystemZISD::ATOMIC_STORE_128),
14711
0
  OPC_RecordMemRef,
14712
0
  OPC_RecordNode,
14713
0
  OPC_RecordChild1,
14714
0
  OPC_RecordChild2,
14715
0
  OPC_CheckChild2TypeI64,
14716
0
  OPC_CheckComplexPat2, /*#*/2,
14717
0
  OPC_EmitMergeInputChains1_0,
14718
0
  OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STPQ), 0|OPFL_Chain|OPFL_MemRefs,
14719
0
                4, 1, 3, 4, 5, 
14720
0
 113, TARGET_VAL(SystemZISD::VSTER),
14721
0
  OPC_RecordMemRef,
14722
0
  OPC_RecordNode,
14723
0
  OPC_RecordChild1,
14724
0
  OPC_Scope, 17, 
14725
0
   OPC_CheckChild1Type, MVT::v8i16,
14726
0
   OPC_RecordChild2,
14727
0
   OPC_CheckChild2TypeI64,
14728
0
   OPC_CheckPatternPredicate4,
14729
0
   OPC_CheckComplexPat1, /*#*/2,
14730
0
   OPC_EmitMergeInputChains1_0,
14731
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERH), 0|OPFL_Chain|OPFL_MemRefs,
14732
0
                 4, 1, 3, 4, 5, 
14733
0
  17, 
14734
0
   OPC_CheckChild1Type, MVT::v4i32,
14735
0
   OPC_RecordChild2,
14736
0
   OPC_CheckChild2TypeI64,
14737
0
   OPC_CheckPatternPredicate4,
14738
0
   OPC_CheckComplexPat1, /*#*/2,
14739
0
   OPC_EmitMergeInputChains1_0,
14740
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERF), 0|OPFL_Chain|OPFL_MemRefs,
14741
0
                 4, 1, 3, 4, 5, 
14742
0
  17, 
14743
0
   OPC_CheckChild1Type, MVT::v2i64,
14744
0
   OPC_RecordChild2,
14745
0
   OPC_CheckChild2TypeI64,
14746
0
   OPC_CheckPatternPredicate4,
14747
0
   OPC_CheckComplexPat1, /*#*/2,
14748
0
   OPC_EmitMergeInputChains1_0,
14749
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERG), 0|OPFL_Chain|OPFL_MemRefs,
14750
0
                 4, 1, 3, 4, 5, 
14751
0
  17, 
14752
0
   OPC_CheckChild1Type, MVT::v4f32,
14753
0
   OPC_RecordChild2,
14754
0
   OPC_CheckChild2TypeI64,
14755
0
   OPC_CheckPatternPredicate4,
14756
0
   OPC_CheckComplexPat1, /*#*/2,
14757
0
   OPC_EmitMergeInputChains1_0,
14758
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERF), 0|OPFL_Chain|OPFL_MemRefs,
14759
0
                 4, 1, 3, 4, 5, 
14760
0
  17, 
14761
0
   OPC_CheckChild1Type, MVT::v2f64,
14762
0
   OPC_RecordChild2,
14763
0
   OPC_CheckChild2TypeI64,
14764
0
   OPC_CheckPatternPredicate4,
14765
0
   OPC_CheckComplexPat1, /*#*/2,
14766
0
   OPC_EmitMergeInputChains1_0,
14767
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERG), 0|OPFL_Chain|OPFL_MemRefs,
14768
0
                 4, 1, 3, 4, 5, 
14769
0
  17, 
14770
0
   OPC_CheckChild1Type, MVT::v16i8,
14771
0
   OPC_RecordChild2,
14772
0
   OPC_CheckChild2TypeI64,
14773
0
   OPC_CheckPatternPredicate4,
14774
0
   OPC_CheckComplexPat1, /*#*/2,
14775
0
   OPC_EmitMergeInputChains1_0,
14776
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRQ), 0|OPFL_Chain|OPFL_MemRefs,
14777
0
                 4, 1, 3, 4, 5, 
14778
0
  0, 
14779
0
 48, TARGET_VAL(SystemZISD::TDC),
14780
0
  OPC_RecordChild0,
14781
0
  OPC_Scope, 14, 
14782
0
   OPC_CheckChild0Type, MVT::f32,
14783
0
   OPC_RecordChild1,
14784
0
   OPC_CheckComplexPat1, /*#*/1,
14785
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TCEB),
14786
0
                 MVT::i32, 4, 0, 2, 3, 4, 
14787
0
  14, 
14788
0
   OPC_CheckChild0Type, MVT::f64,
14789
0
   OPC_RecordChild1,
14790
0
   OPC_CheckComplexPat1, /*#*/1,
14791
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TCDB),
14792
0
                 MVT::i32, 4, 0, 2, 3, 4, 
14793
0
  14, 
14794
0
   OPC_CheckChild0Type, MVT::f128,
14795
0
   OPC_RecordChild1,
14796
0
   OPC_CheckComplexPat1, /*#*/1,
14797
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TCXB),
14798
0
                 MVT::i32, 4, 0, 2, 3, 4, 
14799
0
  0, 
14800
0
 33, TARGET_VAL(SystemZISD::ATOMIC_SWAPW),
14801
0
  OPC_RecordMemRef,
14802
0
  OPC_RecordNode,
14803
0
  OPC_RecordChild1,
14804
0
  OPC_CheckChild1TypeI64,
14805
0
  OPC_RecordChild2,
14806
0
  OPC_RecordChild3,
14807
0
  OPC_RecordChild4,
14808
0
  OPC_RecordChild5,
14809
0
  OPC_MoveChild5,
14810
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14811
0
  OPC_MoveParent,
14812
0
  OPC_CheckComplexPat5, /*#*/1,
14813
0
  OPC_EmitMergeInputChains1_0,
14814
0
  OPC_EmitConvertToTarget5,
14815
0
  OPC_EmitNodeXForm, 9, 8,
14816
0
  OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_SWAPW), 0|OPFL_Chain|OPFL_MemRefs,
14817
0
                MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14818
0
 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_SUB),
14819
0
  OPC_RecordMemRef,
14820
0
  OPC_RecordNode,
14821
0
  OPC_RecordChild1,
14822
0
  OPC_CheckChild1TypeI64,
14823
0
  OPC_RecordChild2,
14824
0
  OPC_RecordChild3,
14825
0
  OPC_RecordChild4,
14826
0
  OPC_RecordChild5,
14827
0
  OPC_MoveChild5,
14828
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14829
0
  OPC_MoveParent,
14830
0
  OPC_CheckComplexPat5, /*#*/1,
14831
0
  OPC_EmitMergeInputChains1_0,
14832
0
  OPC_EmitConvertToTarget5,
14833
0
  OPC_EmitNodeXForm, 9, 8,
14834
0
  OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_SR), 0|OPFL_Chain|OPFL_MemRefs,
14835
0
                MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14836
0
 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_MIN),
14837
0
  OPC_RecordMemRef,
14838
0
  OPC_RecordNode,
14839
0
  OPC_RecordChild1,
14840
0
  OPC_CheckChild1TypeI64,
14841
0
  OPC_RecordChild2,
14842
0
  OPC_RecordChild3,
14843
0
  OPC_RecordChild4,
14844
0
  OPC_RecordChild5,
14845
0
  OPC_MoveChild5,
14846
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14847
0
  OPC_MoveParent,
14848
0
  OPC_CheckComplexPat5, /*#*/1,
14849
0
  OPC_EmitMergeInputChains1_0,
14850
0
  OPC_EmitConvertToTarget5,
14851
0
  OPC_EmitNodeXForm, 9, 8,
14852
0
  OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_MIN), 0|OPFL_Chain|OPFL_MemRefs,
14853
0
                MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14854
0
 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_MAX),
14855
0
  OPC_RecordMemRef,
14856
0
  OPC_RecordNode,
14857
0
  OPC_RecordChild1,
14858
0
  OPC_CheckChild1TypeI64,
14859
0
  OPC_RecordChild2,
14860
0
  OPC_RecordChild3,
14861
0
  OPC_RecordChild4,
14862
0
  OPC_RecordChild5,
14863
0
  OPC_MoveChild5,
14864
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14865
0
  OPC_MoveParent,
14866
0
  OPC_CheckComplexPat5, /*#*/1,
14867
0
  OPC_EmitMergeInputChains1_0,
14868
0
  OPC_EmitConvertToTarget5,
14869
0
  OPC_EmitNodeXForm, 9, 8,
14870
0
  OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_MAX), 0|OPFL_Chain|OPFL_MemRefs,
14871
0
                MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14872
0
 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_UMIN),
14873
0
  OPC_RecordMemRef,
14874
0
  OPC_RecordNode,
14875
0
  OPC_RecordChild1,
14876
0
  OPC_CheckChild1TypeI64,
14877
0
  OPC_RecordChild2,
14878
0
  OPC_RecordChild3,
14879
0
  OPC_RecordChild4,
14880
0
  OPC_RecordChild5,
14881
0
  OPC_MoveChild5,
14882
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14883
0
  OPC_MoveParent,
14884
0
  OPC_CheckComplexPat5, /*#*/1,
14885
0
  OPC_EmitMergeInputChains1_0,
14886
0
  OPC_EmitConvertToTarget5,
14887
0
  OPC_EmitNodeXForm, 9, 8,
14888
0
  OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_UMIN), 0|OPFL_Chain|OPFL_MemRefs,
14889
0
                MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14890
0
 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_UMAX),
14891
0
  OPC_RecordMemRef,
14892
0
  OPC_RecordNode,
14893
0
  OPC_RecordChild1,
14894
0
  OPC_CheckChild1TypeI64,
14895
0
  OPC_RecordChild2,
14896
0
  OPC_RecordChild3,
14897
0
  OPC_RecordChild4,
14898
0
  OPC_RecordChild5,
14899
0
  OPC_MoveChild5,
14900
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14901
0
  OPC_MoveParent,
14902
0
  OPC_CheckComplexPat5, /*#*/1,
14903
0
  OPC_EmitMergeInputChains1_0,
14904
0
  OPC_EmitConvertToTarget5,
14905
0
  OPC_EmitNodeXForm, 9, 8,
14906
0
  OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_UMAX), 0|OPFL_Chain|OPFL_MemRefs,
14907
0
                MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9, 
14908
0
 35, TARGET_VAL(SystemZISD::ATOMIC_CMP_SWAPW),
14909
0
  OPC_RecordMemRef,
14910
0
  OPC_RecordNode,
14911
0
  OPC_RecordChild1,
14912
0
  OPC_CheckChild1TypeI64,
14913
0
  OPC_RecordChild2,
14914
0
  OPC_RecordChild3,
14915
0
  OPC_RecordChild4,
14916
0
  OPC_RecordChild5,
14917
0
  OPC_RecordChild6,
14918
0
  OPC_MoveChild6,
14919
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14920
0
  OPC_MoveParent,
14921
0
  OPC_CheckComplexPat5, /*#*/1,
14922
0
  OPC_EmitMergeInputChains1_0,
14923
0
  OPC_EmitConvertToTarget6,
14924
0
  OPC_EmitNodeXForm, 9, 9,
14925
0
  OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_CMP_SWAPW), 0|OPFL_Chain|OPFL_MemRefs,
14926
0
                MVT::i32, MVT::i32, 7, 7, 8, 2, 3, 4, 5, 10, 
14927
0
 45, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
14928
0
  OPC_RecordMemRef,
14929
0
  OPC_RecordNode,
14930
0
  OPC_RecordChild1,
14931
0
  OPC_CheckChild1TypeI64,
14932
0
  OPC_RecordChild2,
14933
0
  OPC_SwitchType , 17, MVT::i32,
14934
0
   OPC_CheckPredicate, 43,
14935
0
   OPC_CheckPatternPredicate, 9,
14936
0
   OPC_CheckComplexPat5, /*#*/1,
14937
0
   OPC_EmitMergeInputChains1_0,
14938
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAA), 0|OPFL_Chain|OPFL_MemRefs,
14939
0
                 MVT::i32, MVT::i32, 3, 2, 3, 4, 
14940
0
  17, MVT::i64,
14941
0
   OPC_CheckPredicate, 45,
14942
0
   OPC_CheckPatternPredicate, 9,
14943
0
   OPC_CheckComplexPat5, /*#*/1,
14944
0
   OPC_EmitMergeInputChains1_0,
14945
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAAG), 0|OPFL_Chain|OPFL_MemRefs,
14946
0
                 MVT::i64, MVT::i32, 3, 2, 3, 4, 
14947
0
  0,
14948
0
 45, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
14949
0
  OPC_RecordMemRef,
14950
0
  OPC_RecordNode,
14951
0
  OPC_RecordChild1,
14952
0
  OPC_CheckChild1TypeI64,
14953
0
  OPC_RecordChild2,
14954
0
  OPC_SwitchType , 17, MVT::i32,
14955
0
   OPC_CheckPredicate, 43,
14956
0
   OPC_CheckPatternPredicate, 9,
14957
0
   OPC_CheckComplexPat5, /*#*/1,
14958
0
   OPC_EmitMergeInputChains1_0,
14959
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAN), 0|OPFL_Chain|OPFL_MemRefs,
14960
0
                 MVT::i32, MVT::i32, 3, 2, 3, 4, 
14961
0
  17, MVT::i64,
14962
0
   OPC_CheckPredicate, 45,
14963
0
   OPC_CheckPatternPredicate, 9,
14964
0
   OPC_CheckComplexPat5, /*#*/1,
14965
0
   OPC_EmitMergeInputChains1_0,
14966
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LANG), 0|OPFL_Chain|OPFL_MemRefs,
14967
0
                 MVT::i64, MVT::i32, 3, 2, 3, 4, 
14968
0
  0,
14969
0
 45, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
14970
0
  OPC_RecordMemRef,
14971
0
  OPC_RecordNode,
14972
0
  OPC_RecordChild1,
14973
0
  OPC_CheckChild1TypeI64,
14974
0
  OPC_RecordChild2,
14975
0
  OPC_SwitchType , 17, MVT::i32,
14976
0
   OPC_CheckPredicate, 43,
14977
0
   OPC_CheckPatternPredicate, 9,
14978
0
   OPC_CheckComplexPat5, /*#*/1,
14979
0
   OPC_EmitMergeInputChains1_0,
14980
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAO), 0|OPFL_Chain|OPFL_MemRefs,
14981
0
                 MVT::i32, MVT::i32, 3, 2, 3, 4, 
14982
0
  17, MVT::i64,
14983
0
   OPC_CheckPredicate, 45,
14984
0
   OPC_CheckPatternPredicate, 9,
14985
0
   OPC_CheckComplexPat5, /*#*/1,
14986
0
   OPC_EmitMergeInputChains1_0,
14987
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAOG), 0|OPFL_Chain|OPFL_MemRefs,
14988
0
                 MVT::i64, MVT::i32, 3, 2, 3, 4, 
14989
0
  0,
14990
0
 45, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
14991
0
  OPC_RecordMemRef,
14992
0
  OPC_RecordNode,
14993
0
  OPC_RecordChild1,
14994
0
  OPC_CheckChild1TypeI64,
14995
0
  OPC_RecordChild2,
14996
0
  OPC_SwitchType , 17, MVT::i32,
14997
0
   OPC_CheckPredicate, 43,
14998
0
   OPC_CheckPatternPredicate, 9,
14999
0
   OPC_CheckComplexPat5, /*#*/1,
15000
0
   OPC_EmitMergeInputChains1_0,
15001
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAX), 0|OPFL_Chain|OPFL_MemRefs,
15002
0
                 MVT::i32, MVT::i32, 3, 2, 3, 4, 
15003
0
  17, MVT::i64,
15004
0
   OPC_CheckPredicate, 45,
15005
0
   OPC_CheckPatternPredicate, 9,
15006
0
   OPC_CheckComplexPat5, /*#*/1,
15007
0
   OPC_EmitMergeInputChains1_0,
15008
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAXG), 0|OPFL_Chain|OPFL_MemRefs,
15009
0
                 MVT::i64, MVT::i32, 3, 2, 3, 4, 
15010
0
  0,
15011
0
 40, TARGET_VAL(ISD::FrameIndex),
15012
0
  OPC_RecordNode,
15013
0
  OPC_CheckTypeI64,
15014
0
  OPC_Scope, 11, 
15015
0
   OPC_CheckComplexPat, /*CP*/11, /*#*/0,
15016
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
15017
0
                 MVT::i64, 3, 1, 2, 3, 
15018
0
  11, 
15019
0
   OPC_CheckComplexPat, /*CP*/12, /*#*/0,
15020
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
15021
0
                 MVT::i64, 3, 1, 2, 3, 
15022
0
  11, 
15023
0
   OPC_CheckComplexPat, /*CP*/13, /*#*/0,
15024
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
15025
0
                 MVT::i64, 3, 1, 2, 3, 
15026
0
  0, 
15027
0
 40, TARGET_VAL(SystemZISD::ADJDYNALLOC),
15028
0
  OPC_RecordNode,
15029
0
  OPC_CheckTypeI64,
15030
0
  OPC_Scope, 11, 
15031
0
   OPC_CheckComplexPat, /*CP*/11, /*#*/0,
15032
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
15033
0
                 MVT::i64, 3, 1, 2, 3, 
15034
0
  11, 
15035
0
   OPC_CheckComplexPat, /*CP*/12, /*#*/0,
15036
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
15037
0
                 MVT::i64, 3, 1, 2, 3, 
15038
0
  11, 
15039
0
   OPC_CheckComplexPat, /*CP*/13, /*#*/0,
15040
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
15041
0
                 MVT::i64, 3, 1, 2, 3, 
15042
0
  0, 
15043
0
 60, TARGET_VAL(SystemZISD::ATOMIC_CMP_SWAP),
15044
0
  OPC_RecordMemRef,
15045
0
  OPC_RecordNode,
15046
0
  OPC_RecordChild1,
15047
0
  OPC_CheckChild1TypeI64,
15048
0
  OPC_RecordChild2,
15049
0
  OPC_RecordChild3,
15050
0
  OPC_SwitchType , 34, MVT::i32,
15051
0
   OPC_Scope, 15, 
15052
0
    OPC_CheckComplexPat, /*CP*/9, /*#*/1,
15053
0
    OPC_EmitMergeInputChains1_0,
15054
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::CS), 0|OPFL_Chain|OPFL_MemRefs,
15055
0
                  MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
15056
0
   15, 
15057
0
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15058
0
    OPC_EmitMergeInputChains1_0,
15059
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::CSY), 0|OPFL_Chain|OPFL_MemRefs,
15060
0
                  MVT::i32, MVT::i32, 4, 2, 3, 4, 5, 
15061
0
   0, 
15062
0
  14, MVT::i64,
15063
0
   OPC_CheckComplexPat5, /*#*/1,
15064
0
   OPC_EmitMergeInputChains1_0,
15065
0
   OPC_MorphNodeTo2, TARGET_VAL(SystemZ::CSG), 0|OPFL_Chain|OPFL_MemRefs,
15066
0
                 MVT::i64, MVT::i32, 4, 2, 3, 4, 5, 
15067
0
  0,
15068
0
 20, TARGET_VAL(SystemZISD::ATOMIC_CMP_SWAP_128),
15069
0
  OPC_RecordMemRef,
15070
0
  OPC_RecordNode,
15071
0
  OPC_RecordChild1,
15072
0
  OPC_CheckChild1TypeI64,
15073
0
  OPC_RecordChild2,
15074
0
  OPC_RecordChild3,
15075
0
  OPC_CheckComplexPat5, /*#*/1,
15076
0
  OPC_EmitMergeInputChains1_0,
15077
0
  OPC_MorphNodeTo2, TARGET_VAL(SystemZ::CDSG), 0|OPFL_Chain|OPFL_MemRefs,
15078
0
                MVT::Untyped, MVT::i32, 4, 2, 3, 4, 5, 
15079
0
 57|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
15080
0
  OPC_RecordChild0,
15081
0
  OPC_Scope, 15, 
15082
0
   OPC_CheckChild0Type, MVT::v2i64,
15083
0
   OPC_RecordChild1,
15084
0
   OPC_CheckTypeI64,
15085
0
   OPC_CheckPatternPredicate0,
15086
0
   OPC_CheckComplexPat6, /*#*/1,
15087
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLGVG),
15088
0
                 MVT::i64, 3, 0, 2, 3, 
15089
0
  23, 
15090
0
   OPC_CheckChild0Type, MVT::v16i8,
15091
0
   OPC_RecordChild1,
15092
0
   OPC_CheckTypeI32,
15093
0
   OPC_CheckComplexPat6, /*#*/1,
15094
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVB),
15095
0
                 MVT::i64, 3, 0, 2, 3, 
15096
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
15097
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15098
0
                 MVT::i32, 2, 4, 5, 
15099
0
  23, 
15100
0
   OPC_CheckChild0Type, MVT::v8i16,
15101
0
   OPC_RecordChild1,
15102
0
   OPC_CheckTypeI32,
15103
0
   OPC_CheckComplexPat6, /*#*/1,
15104
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVH),
15105
0
                 MVT::i64, 3, 0, 2, 3, 
15106
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
15107
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15108
0
                 MVT::i32, 2, 4, 5, 
15109
0
  23, 
15110
0
   OPC_CheckChild0Type, MVT::v4i32,
15111
0
   OPC_RecordChild1,
15112
0
   OPC_CheckTypeI32,
15113
0
   OPC_CheckComplexPat6, /*#*/1,
15114
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
15115
0
                 MVT::i64, 3, 0, 2, 3, 
15116
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
15117
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15118
0
                 MVT::i32, 2, 4, 5, 
15119
0
  46, 
15120
0
   OPC_CheckChild0Type, MVT::v4f32,
15121
0
   OPC_Scope, 13, 
15122
0
    OPC_CheckChild1Integer, 0, 
15123
0
    OPC_CheckType, MVT::f32,
15124
0
    OPC_EmitStringInteger32, SystemZ::subreg_h32,
15125
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15126
0
                  MVT::f32, 2, 0, 1, 
15127
0
   27, 
15128
0
    OPC_RecordChild1,
15129
0
    OPC_MoveChild1,
15130
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15131
0
    OPC_CheckPredicate, 35,
15132
0
    OPC_MoveParent,
15133
0
    OPC_CheckType, MVT::f32,
15134
0
    OPC_EmitConvertToTarget1,
15135
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPF),
15136
0
                  MVT::i128, 2, 0, 2, 
15137
0
    OPC_EmitStringInteger32, SystemZ::subreg_h32,
15138
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15139
0
                  MVT::f32, 2, 3, 4, 
15140
0
   0, 
15141
0
  46, 
15142
0
   OPC_CheckChild0Type, MVT::v2f64,
15143
0
   OPC_Scope, 13, 
15144
0
    OPC_CheckChild1Integer, 0, 
15145
0
    OPC_CheckType, MVT::f64,
15146
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
15147
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15148
0
                  MVT::f64, 2, 0, 1, 
15149
0
   27, 
15150
0
    OPC_RecordChild1,
15151
0
    OPC_MoveChild1,
15152
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15153
0
    OPC_CheckPredicate, 38,
15154
0
    OPC_MoveParent,
15155
0
    OPC_CheckType, MVT::f64,
15156
0
    OPC_EmitConvertToTarget1,
15157
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPG),
15158
0
                  MVT::i128, 2, 0, 2, 
15159
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
15160
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15161
0
                  MVT::f64, 2, 3, 4, 
15162
0
   0, 
15163
0
  0, 
15164
0
 33, TARGET_VAL(SystemZISD::BR_CCMASK),
15165
0
  OPC_RecordNode,
15166
0
  OPC_RecordChild1,
15167
0
  OPC_MoveChild1,
15168
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15169
0
  OPC_CheckPredicate, 28,
15170
0
  OPC_MoveSibling2,
15171
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15172
0
  OPC_RecordNode,
15173
0
  OPC_CheckPredicate, 28,
15174
0
  OPC_MoveSibling3,
15175
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15176
0
  OPC_RecordNode,
15177
0
  OPC_MoveParent,
15178
0
  OPC_RecordChild4,
15179
0
  OPC_EmitMergeInputChains1_0,
15180
0
  OPC_EmitCopyToReg4, SystemZ::CC,
15181
0
  OPC_MorphNodeTo0, TARGET_VAL(SystemZ::BRC), 0|OPFL_Chain|OPFL_GlueInput,
15182
0
                3, 1, 2, 3, 
15183
0
 52|128,1, TARGET_VAL(ISD::TRUNCATE),
15184
0
  OPC_Scope, 118, 
15185
0
   OPC_MoveChild0,
15186
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
15187
0
   OPC_RecordChild0,
15188
0
   OPC_Scope, 49, 
15189
0
    OPC_CheckChild1Integer, 0|128,1, 
15190
0
    OPC_CheckChild1TypeI32,
15191
0
    OPC_Scope, 15, 
15192
0
     OPC_MoveParent,
15193
0
     OPC_CheckTypeI64,
15194
0
     OPC_CheckPatternPredicate0,
15195
0
     OPC_EmitRegisterI32, 0 ,
15196
0
     OPC_EmitInteger32, 0, 
15197
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLGVG),
15198
0
                   MVT::i64, 3, 0, 1, 2, 
15199
0
    26, 
15200
0
     OPC_CheckType, MVT::i128,
15201
0
     OPC_MoveParent,
15202
0
     OPC_CheckTypeI32,
15203
0
     OPC_CheckPatternPredicate0,
15204
0
     OPC_EmitRegisterI32, 0 ,
15205
0
     OPC_EmitInteger32, 2, 
15206
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
15207
0
                   MVT::i64, 3, 0, 1, 2, 
15208
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
15209
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15210
0
                   MVT::i32, 2, 3, 4, 
15211
0
    0, 
15212
0
   29, 
15213
0
    OPC_CheckChild1Integer, 64, 
15214
0
    OPC_CheckChild1TypeI32,
15215
0
    OPC_CheckType, MVT::i128,
15216
0
    OPC_MoveParent,
15217
0
    OPC_CheckTypeI32,
15218
0
    OPC_CheckPatternPredicate0,
15219
0
    OPC_EmitRegisterI32, 0 ,
15220
0
    OPC_EmitInteger32, 4, 
15221
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
15222
0
                  MVT::i64, 3, 0, 1, 2, 
15223
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
15224
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15225
0
                  MVT::i32, 2, 3, 4, 
15226
0
   30, 
15227
0
    OPC_CheckChild1Integer, 64|128,1, 
15228
0
    OPC_CheckChild1TypeI32,
15229
0
    OPC_CheckType, MVT::i128,
15230
0
    OPC_MoveParent,
15231
0
    OPC_CheckTypeI32,
15232
0
    OPC_CheckPatternPredicate0,
15233
0
    OPC_EmitRegisterI32, 0 ,
15234
0
    OPC_EmitInteger32, 0, 
15235
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
15236
0
                  MVT::i64, 3, 0, 1, 2, 
15237
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
15238
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15239
0
                  MVT::i32, 2, 3, 4, 
15240
0
   0, 
15241
0
  58, 
15242
0
   OPC_RecordChild0,
15243
0
   OPC_SwitchType , 38, MVT::i32,
15244
0
    OPC_Scope, 10, 
15245
0
     OPC_CheckChild0TypeI64,
15246
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
15247
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15248
0
                   MVT::i32, 2, 0, 1, 
15249
0
    24, 
15250
0
     OPC_CheckChild0Type, MVT::i128,
15251
0
     OPC_CheckPatternPredicate0,
15252
0
     OPC_EmitRegisterI32, 0 ,
15253
0
     OPC_EmitInteger32, 6, 
15254
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
15255
0
                   MVT::i64, 3, 0, 1, 2, 
15256
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
15257
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15258
0
                   MVT::i32, 2, 3, 4, 
15259
0
    0, 
15260
0
   13, MVT::i64,
15261
0
    OPC_CheckPatternPredicate0,
15262
0
    OPC_EmitRegisterI32, 0 ,
15263
0
    OPC_EmitInteger32, 2, 
15264
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLGVG),
15265
0
                  MVT::i64, 3, 0, 1, 2, 
15266
0
   0,
15267
0
  0, 
15268
0
 20, TARGET_VAL(ISD::CALLSEQ_START),
15269
0
  OPC_RecordNode,
15270
0
  OPC_RecordChild1,
15271
0
  OPC_MoveChild1,
15272
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15273
0
  OPC_MoveSibling2,
15274
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15275
0
  OPC_RecordNode,
15276
0
  OPC_MoveParent,
15277
0
  OPC_EmitMergeInputChains1_0,
15278
0
  OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
15279
0
                2, 1, 2, 
15280
0
 21, TARGET_VAL(ISD::CALLSEQ_END),
15281
0
  OPC_RecordNode,
15282
0
  OPC_CaptureGlueInput,
15283
0
  OPC_RecordChild1,
15284
0
  OPC_MoveChild1,
15285
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15286
0
  OPC_MoveSibling2,
15287
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15288
0
  OPC_RecordNode,
15289
0
  OPC_MoveParent,
15290
0
  OPC_EmitMergeInputChains1_0,
15291
0
  OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
15292
0
                2, 1, 2, 
15293
0
 50, TARGET_VAL(SystemZISD::CALL),
15294
0
  OPC_RecordNode,
15295
0
  OPC_CaptureGlueInput,
15296
0
  OPC_RecordChild1,
15297
0
  OPC_CheckChild1TypeI64,
15298
0
  OPC_Scope, 11, 
15299
0
   OPC_CheckPatternPredicate, 12,
15300
0
   OPC_CheckComplexPat7, /*#*/1,
15301
0
   OPC_EmitMergeInputChains1_0,
15302
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBRASL_XPLINK64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
15303
0
                 1, 2, 
15304
0
  11, 
15305
0
   OPC_CheckPatternPredicate, 14,
15306
0
   OPC_CheckComplexPat7, /*#*/1,
15307
0
   OPC_EmitMergeInputChains1_0,
15308
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBRASL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
15309
0
                 1, 2, 
15310
0
  9, 
15311
0
   OPC_CheckPatternPredicate, 12,
15312
0
   OPC_EmitMergeInputChains1_0,
15313
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBASR_XPLINK64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
15314
0
                 1, 1, 
15315
0
  9, 
15316
0
   OPC_CheckPatternPredicate, 14,
15317
0
   OPC_EmitMergeInputChains1_0,
15318
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBASR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
15319
0
                 1, 1, 
15320
0
  0, 
15321
0
 24, TARGET_VAL(SystemZISD::SIBCALL),
15322
0
  OPC_RecordNode,
15323
0
  OPC_CaptureGlueInput,
15324
0
  OPC_RecordChild1,
15325
0
  OPC_CheckChild1TypeI64,
15326
0
  OPC_Scope, 9, 
15327
0
   OPC_CheckComplexPat7, /*#*/1,
15328
0
   OPC_EmitMergeInputChains1_0,
15329
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallJG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
15330
0
                 1, 2, 
15331
0
  7, 
15332
0
   OPC_EmitMergeInputChains1_0,
15333
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
15334
0
                 1, 1, 
15335
0
  0, 
15336
0
 108, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
15337
0
  OPC_RecordNode,
15338
0
  OPC_Scope, 10, 
15339
0
   OPC_CheckChild1Integer, 0|128,36|128,1, 
15340
0
   OPC_EmitMergeInputChains1_0,
15341
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::EFPC),
15342
0
                 MVT::i32, 0, 
15343
0
  26, 
15344
0
   OPC_CheckChild1Integer, 102|128,37|128,1, 
15345
0
   OPC_RecordChild2,
15346
0
   OPC_CheckChild2TypeI64,
15347
0
   OPC_RecordChild3,
15348
0
   OPC_MoveChild3,
15349
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15350
0
   OPC_CheckPredicate3, 
15351
0
   OPC_MoveParent,
15352
0
   OPC_CheckPatternPredicate0,
15353
0
   OPC_CheckComplexPat1, /*#*/1,
15354
0
   OPC_EmitMergeInputChains1_0,
15355
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLBB),
15356
0
                 MVT::v16i8, 4, 3, 4, 5, 2, 
15357
0
  46, 
15358
0
   OPC_CheckChild1Integer, 106|128,37|128,1, 
15359
0
   OPC_RecordChild2,
15360
0
   OPC_Scope, 22, 
15361
0
    OPC_MoveChild2,
15362
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15363
0
    OPC_CheckPredicate3, 
15364
0
    OPC_MoveParent,
15365
0
    OPC_RecordChild3,
15366
0
    OPC_CheckChild3TypeI64,
15367
0
    OPC_CheckPatternPredicate, 16,
15368
0
    OPC_CheckComplexPat0, /*#*/2,
15369
0
    OPC_EmitMergeInputChains1_0,
15370
0
    OPC_EmitConvertToTarget1,
15371
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLRL),
15372
0
                  MVT::v16i8, 3, 3, 4, 5, 
15373
0
   15, 
15374
0
    OPC_RecordChild3,
15375
0
    OPC_CheckChild3TypeI64,
15376
0
    OPC_CheckPatternPredicate, 16,
15377
0
    OPC_CheckComplexPat0, /*#*/2,
15378
0
    OPC_EmitMergeInputChains1_0,
15379
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLRLR),
15380
0
                  MVT::v16i8, 3, 1, 3, 4, 
15381
0
   0, 
15382
0
  19, 
15383
0
   OPC_CheckChild1Integer, 104|128,37|128,1, 
15384
0
   OPC_RecordChild2,
15385
0
   OPC_RecordChild3,
15386
0
   OPC_CheckChild3TypeI64,
15387
0
   OPC_CheckPatternPredicate0,
15388
0
   OPC_CheckComplexPat0, /*#*/2,
15389
0
   OPC_EmitMergeInputChains1_0,
15390
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLL),
15391
0
                 MVT::v16i8, 3, 1, 3, 4, 
15392
0
  0, 
15393
0
 17, TARGET_VAL(SystemZISD::TLS_GDCALL),
15394
0
  OPC_RecordNode,
15395
0
  OPC_CaptureGlueInput,
15396
0
  OPC_RecordChild1,
15397
0
  OPC_MoveChild1,
15398
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
15399
0
  OPC_MoveParent,
15400
0
  OPC_CheckPatternPredicate, 14,
15401
0
  OPC_EmitMergeInputChains1_0,
15402
0
  OPC_MorphNodeTo0, TARGET_VAL(SystemZ::TLS_GDCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
15403
0
                1, 1, 
15404
0
 17, TARGET_VAL(SystemZISD::TLS_LDCALL),
15405
0
  OPC_RecordNode,
15406
0
  OPC_CaptureGlueInput,
15407
0
  OPC_RecordChild1,
15408
0
  OPC_MoveChild1,
15409
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
15410
0
  OPC_MoveParent,
15411
0
  OPC_CheckPatternPredicate, 14,
15412
0
  OPC_EmitMergeInputChains1_0,
15413
0
  OPC_MorphNodeTo0, TARGET_VAL(SystemZ::TLS_LDCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
15414
0
                1, 1, 
15415
0
 10, TARGET_VAL(SystemZISD::PCREL_WRAPPER),
15416
0
  OPC_RecordNode,
15417
0
  OPC_CheckTypeI64,
15418
0
  OPC_CheckComplexPat7, /*#*/0,
15419
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LARL),
15420
0
                MVT::i64, 1, 1, 
15421
0
 10, TARGET_VAL(SystemZISD::PCREL_OFFSET),
15422
0
  OPC_RecordNode,
15423
0
  OPC_CheckTypeI64,
15424
0
  OPC_CheckComplexPat7, /*#*/0,
15425
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LARL),
15426
0
                MVT::i64, 1, 1, 
15427
0
 103, TARGET_VAL(ISD::ABS),
15428
0
  OPC_Scope, 42, 
15429
0
   OPC_MoveChild0,
15430
0
   OPC_SwitchOpcode , 10, TARGET_VAL(ISD::SIGN_EXTEND),
15431
0
    OPC_RecordChild0,
15432
0
    OPC_MoveParent,
15433
0
    OPC_CheckTypeI64,
15434
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPGFR),
15435
0
                  MVT::i64, MVT::i32, 1, 0, 
15436
0
   23, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
15437
0
    OPC_RecordChild0,
15438
0
    OPC_MoveChild1,
15439
0
    OPC_CheckValueType, MVT::i32,
15440
0
    OPC_MoveParent,
15441
0
    OPC_MoveParent,
15442
0
    OPC_CheckTypeI64,
15443
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
15444
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15445
0
                  MVT::i32, 2, 0, 1, 
15446
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPGFR),
15447
0
                  MVT::i64, MVT::i32, 1, 2, 
15448
0
   0,
15449
0
  57, 
15450
0
   OPC_RecordChild0,
15451
0
   OPC_SwitchType , 7, MVT::i32,
15452
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPR),
15453
0
                  MVT::i32, MVT::i32, 1, 0, 
15454
0
   7, MVT::i64,
15455
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPGR),
15456
0
                  MVT::i64, MVT::i32, 1, 0, 
15457
0
   7, MVT::v16i8,
15458
0
    OPC_CheckPatternPredicate0,
15459
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
15460
0
                  MVT::v16i8, 1, 0, 
15461
0
   7, MVT::v8i16,
15462
0
    OPC_CheckPatternPredicate0,
15463
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
15464
0
                  MVT::v8i16, 1, 0, 
15465
0
   7, MVT::v4i32,
15466
0
    OPC_CheckPatternPredicate0,
15467
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
15468
0
                  MVT::v4i32, 1, 0, 
15469
0
   7, MVT::v2i64,
15470
0
    OPC_CheckPatternPredicate0,
15471
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
15472
0
                  MVT::v2i64, 1, 0, 
15473
0
   0,
15474
0
  0, 
15475
0
 82|128,2, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
15476
0
  OPC_Scope, 19|128,1, 
15477
0
   OPC_MoveChild0,
15478
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
15479
0
   OPC_RecordChild0,
15480
0
   OPC_CheckChild0TypeI32,
15481
0
   OPC_MoveSibling1,
15482
0
   OPC_Scope, 68, 
15483
0
    OPC_CheckValueType, MVT::i8,
15484
0
    OPC_MoveParent,
15485
0
    OPC_CheckType, MVT::i128,
15486
0
    OPC_CheckPatternPredicate0,
15487
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15488
0
                  MVT::i64, 0, 
15489
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
15490
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15491
0
                  MVT::i64, 3, 1, 0, 2, 
15492
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LGBR),
15493
0
                  MVT::i64, 1, 3, 
15494
0
    OPC_EmitRegisterI32, 0 ,
15495
0
    OPC_EmitInteger32, 126, 
15496
0
    OPC_EmitNode2None, TARGET_VAL(SystemZ::SRAG),
15497
0
                  MVT::i64, MVT::i32, 3, 4, 5, 6, 
15498
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15499
0
                  MVT::i64, 0, 
15500
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
15501
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15502
0
                  MVT::i64, 3, 9, 0, 10, 
15503
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LGBR),
15504
0
                  MVT::i64, 1, 11, 
15505
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
15506
0
                  MVT::i128, 2, 7, 12, 
15507
0
   68, 
15508
0
    OPC_CheckValueType, MVT::i16,
15509
0
    OPC_MoveParent,
15510
0
    OPC_CheckType, MVT::i128,
15511
0
    OPC_CheckPatternPredicate0,
15512
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15513
0
                  MVT::i64, 0, 
15514
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
15515
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15516
0
                  MVT::i64, 3, 1, 0, 2, 
15517
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LGHR),
15518
0
                  MVT::i64, 1, 3, 
15519
0
    OPC_EmitRegisterI32, 0 ,
15520
0
    OPC_EmitInteger32, 126, 
15521
0
    OPC_EmitNode2None, TARGET_VAL(SystemZ::SRAG),
15522
0
                  MVT::i64, MVT::i32, 3, 4, 5, 6, 
15523
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
15524
0
                  MVT::i64, 0, 
15525
0
    OPC_EmitStringInteger32, SystemZ::subreg_l32,
15526
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
15527
0
                  MVT::i64, 3, 9, 0, 10, 
15528
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LGHR),
15529
0
                  MVT::i64, 1, 11, 
15530
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
15531
0
                  MVT::i128, 2, 7, 12, 
15532
0
   0, 
15533
0
  57|128,1, 
15534
0
   OPC_RecordChild0,
15535
0
   OPC_MoveChild1,
15536
0
   OPC_Scope, 49, 
15537
0
    OPC_CheckValueType, MVT::i8,
15538
0
    OPC_MoveParent,
15539
0
    OPC_SwitchType , 6, MVT::i32,
15540
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LBR),
15541
0
                   MVT::i32, 1, 0, 
15542
0
    6, MVT::i64,
15543
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGBR),
15544
0
                   MVT::i64, 1, 0, 
15545
0
    26, MVT::i128,
15546
0
     OPC_CheckPatternPredicate0,
15547
0
     OPC_EmitInteger32, 30, 
15548
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15549
0
                   MVT::i128, 2, 0, 1, 
15550
0
     OPC_EmitInteger32, 112|128,1, 
15551
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15552
0
                   MVT::i128, 1, 3, 
15553
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
15554
0
                   MVT::i128, 2, 2, 4, 
15555
0
    0,
15556
0
   49, 
15557
0
    OPC_CheckValueType, MVT::i16,
15558
0
    OPC_MoveParent,
15559
0
    OPC_SwitchType , 6, MVT::i32,
15560
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LHR),
15561
0
                   MVT::i32, 1, 0, 
15562
0
    6, MVT::i64,
15563
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGHR),
15564
0
                   MVT::i64, 1, 0, 
15565
0
    26, MVT::i128,
15566
0
     OPC_CheckPatternPredicate0,
15567
0
     OPC_EmitInteger32, 14, 
15568
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPH),
15569
0
                   MVT::i128, 2, 0, 1, 
15570
0
     OPC_EmitInteger32, 96|128,1, 
15571
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15572
0
                   MVT::i128, 1, 3, 
15573
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
15574
0
                   MVT::i128, 2, 2, 4, 
15575
0
    0,
15576
0
   50, 
15577
0
    OPC_CheckValueType, MVT::i32,
15578
0
    OPC_MoveParent,
15579
0
    OPC_SwitchType , 15, MVT::i64,
15580
0
     OPC_EmitStringInteger32, SystemZ::subreg_l32,
15581
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15582
0
                   MVT::i32, 2, 0, 1, 
15583
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGFR),
15584
0
                   MVT::i64, 1, 2, 
15585
0
    26, MVT::i128,
15586
0
     OPC_CheckPatternPredicate0,
15587
0
     OPC_EmitInteger32, 6, 
15588
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPF),
15589
0
                   MVT::i128, 2, 0, 1, 
15590
0
     OPC_EmitInteger32, 64|128,1, 
15591
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15592
0
                   MVT::i128, 1, 3, 
15593
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
15594
0
                   MVT::i128, 2, 2, 4, 
15595
0
    0,
15596
0
   29, 
15597
0
    OPC_CheckValueType, MVT::i64,
15598
0
    OPC_MoveParent,
15599
0
    OPC_CheckPatternPredicate0,
15600
0
    OPC_EmitInteger32, 2, 
15601
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPG),
15602
0
                  MVT::i128, 2, 0, 1, 
15603
0
    OPC_EmitInteger32, 0|128,1, 
15604
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15605
0
                  MVT::i128, 1, 3, 
15606
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
15607
0
                  MVT::i128, 2, 2, 4, 
15608
0
   0, 
15609
0
  0, 
15610
0
 48|128,1, TARGET_VAL(ISD::Constant),
15611
0
  OPC_RecordNode,
15612
0
  OPC_SwitchType , 63, MVT::i32,
15613
0
   OPC_Scope, 27, 
15614
0
    OPC_CheckPredicate, 13,
15615
0
    OPC_Scope, 11, 
15616
0
     OPC_CheckPatternPredicate2,
15617
0
     OPC_EmitConvertToTarget0,
15618
0
     OPC_EmitNodeXForm, 2, 1,
15619
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LHIMux),
15620
0
                   MVT::i32, 1, 2, 
15621
0
    10, 
15622
0
     OPC_EmitConvertToTarget0,
15623
0
     OPC_EmitNodeXForm, 2, 1,
15624
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LHI),
15625
0
                   MVT::i32, 1, 2, 
15626
0
    0, 
15627
0
   11, 
15628
0
    OPC_CheckPatternPredicate2,
15629
0
    OPC_EmitConvertToTarget0,
15630
0
    OPC_EmitNodeXForm, 9, 1,
15631
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIFMux),
15632
0
                  MVT::i32, 1, 2, 
15633
0
   20, 
15634
0
    OPC_EmitConvertToTarget0,
15635
0
    OPC_EmitNodeXForm, 9, 1,
15636
0
    OPC_Scope, 6, 
15637
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILF),
15638
0
                   MVT::i32, 1, 2, 
15639
0
    6, 
15640
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHF),
15641
0
                   MVT::i32, 1, 2, 
15642
0
    0, 
15643
0
   0, 
15644
0
  106, MVT::i64,
15645
0
   OPC_Scope, 12, 
15646
0
    OPC_CheckPredicate, 13,
15647
0
    OPC_EmitConvertToTarget0,
15648
0
    OPC_EmitNodeXForm, 2, 1,
15649
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGHI),
15650
0
                  MVT::i64, 1, 2, 
15651
0
   12, 
15652
0
    OPC_CheckPredicate, 54,
15653
0
    OPC_EmitConvertToTarget0,
15654
0
    OPC_EmitNodeXForm, 3, 1,
15655
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLILL),
15656
0
                  MVT::i64, 1, 2, 
15657
0
   12, 
15658
0
    OPC_CheckPredicate, 60,
15659
0
    OPC_EmitConvertToTarget0,
15660
0
    OPC_EmitNodeXForm, 4, 1,
15661
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLILH),
15662
0
                  MVT::i64, 1, 2, 
15663
0
   12, 
15664
0
    OPC_CheckPredicate, 56,
15665
0
    OPC_EmitConvertToTarget0,
15666
0
    OPC_EmitNodeXForm, 5, 1,
15667
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLIHL),
15668
0
                  MVT::i64, 1, 2, 
15669
0
   12, 
15670
0
    OPC_CheckPredicate, 61,
15671
0
    OPC_EmitConvertToTarget0,
15672
0
    OPC_EmitNodeXForm, 6, 1,
15673
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLIHH),
15674
0
                  MVT::i64, 1, 2, 
15675
0
   12, 
15676
0
    OPC_CheckPredicate, 53,
15677
0
    OPC_EmitConvertToTarget0,
15678
0
    OPC_EmitNodeXForm, 11, 1,
15679
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGFI),
15680
0
                  MVT::i64, 1, 2, 
15681
0
   12, 
15682
0
    OPC_CheckPredicate, 59,
15683
0
    OPC_EmitConvertToTarget0,
15684
0
    OPC_EmitNodeXForm, 7, 1,
15685
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLILF),
15686
0
                  MVT::i64, 1, 2, 
15687
0
   12, 
15688
0
    OPC_CheckPredicate, 50,
15689
0
    OPC_EmitConvertToTarget0,
15690
0
    OPC_EmitNodeXForm, 8, 1,
15691
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLIHF),
15692
0
                  MVT::i64, 1, 2, 
15693
0
   0, 
15694
0
  0,
15695
0
 118|128,2, TARGET_VAL(ISD::BITCAST),
15696
0
  OPC_RecordChild0,
15697
0
  OPC_Scope, 39, 
15698
0
   OPC_CheckChild0Type, MVT::v16i8,
15699
0
   OPC_SwitchType , 3, MVT::i128,
15700
0
    OPC_CompleteMatch, 1, 0, 
15701
15702
0
   3, MVT::f128,
15703
0
    OPC_CompleteMatch, 1, 0, 
15704
15705
0
   3, MVT::v8i16,
15706
0
    OPC_CompleteMatch, 1, 0, 
15707
15708
0
   3, MVT::v4i32,
15709
0
    OPC_CompleteMatch, 1, 0, 
15710
15711
0
   3, MVT::v2i64,
15712
0
    OPC_CompleteMatch, 1, 0, 
15713
15714
0
   3, MVT::v4f32,
15715
0
    OPC_CompleteMatch, 1, 0, 
15716
15717
0
   3, MVT::v2f64,
15718
0
    OPC_CompleteMatch, 1, 0, 
15719
15720
0
   0,
15721
0
  39, 
15722
0
   OPC_CheckChild0Type, MVT::v8i16,
15723
0
   OPC_SwitchType , 3, MVT::i128,
15724
0
    OPC_CompleteMatch, 1, 0, 
15725
15726
0
   3, MVT::f128,
15727
0
    OPC_CompleteMatch, 1, 0, 
15728
15729
0
   3, MVT::v16i8,
15730
0
    OPC_CompleteMatch, 1, 0, 
15731
15732
0
   3, MVT::v4i32,
15733
0
    OPC_CompleteMatch, 1, 0, 
15734
15735
0
   3, MVT::v2i64,
15736
0
    OPC_CompleteMatch, 1, 0, 
15737
15738
0
   3, MVT::v4f32,
15739
0
    OPC_CompleteMatch, 1, 0, 
15740
15741
0
   3, MVT::v2f64,
15742
0
    OPC_CompleteMatch, 1, 0, 
15743
15744
0
   0,
15745
0
  39, 
15746
0
   OPC_CheckChild0Type, MVT::v4i32,
15747
0
   OPC_SwitchType , 3, MVT::i128,
15748
0
    OPC_CompleteMatch, 1, 0, 
15749
15750
0
   3, MVT::f128,
15751
0
    OPC_CompleteMatch, 1, 0, 
15752
15753
0
   3, MVT::v16i8,
15754
0
    OPC_CompleteMatch, 1, 0, 
15755
15756
0
   3, MVT::v8i16,
15757
0
    OPC_CompleteMatch, 1, 0, 
15758
15759
0
   3, MVT::v2i64,
15760
0
    OPC_CompleteMatch, 1, 0, 
15761
15762
0
   3, MVT::v4f32,
15763
0
    OPC_CompleteMatch, 1, 0, 
15764
15765
0
   3, MVT::v2f64,
15766
0
    OPC_CompleteMatch, 1, 0, 
15767
15768
0
   0,
15769
0
  39, 
15770
0
   OPC_CheckChild0Type, MVT::v2i64,
15771
0
   OPC_SwitchType , 3, MVT::i128,
15772
0
    OPC_CompleteMatch, 1, 0, 
15773
15774
0
   3, MVT::f128,
15775
0
    OPC_CompleteMatch, 1, 0, 
15776
15777
0
   3, MVT::v16i8,
15778
0
    OPC_CompleteMatch, 1, 0, 
15779
15780
0
   3, MVT::v8i16,
15781
0
    OPC_CompleteMatch, 1, 0, 
15782
15783
0
   3, MVT::v4i32,
15784
0
    OPC_CompleteMatch, 1, 0, 
15785
15786
0
   3, MVT::v4f32,
15787
0
    OPC_CompleteMatch, 1, 0, 
15788
15789
0
   3, MVT::v2f64,
15790
0
    OPC_CompleteMatch, 1, 0, 
15791
15792
0
   0,
15793
0
  39, 
15794
0
   OPC_CheckChild0Type, MVT::v4f32,
15795
0
   OPC_SwitchType , 3, MVT::i128,
15796
0
    OPC_CompleteMatch, 1, 0, 
15797
15798
0
   3, MVT::f128,
15799
0
    OPC_CompleteMatch, 1, 0, 
15800
15801
0
   3, MVT::v16i8,
15802
0
    OPC_CompleteMatch, 1, 0, 
15803
15804
0
   3, MVT::v8i16,
15805
0
    OPC_CompleteMatch, 1, 0, 
15806
15807
0
   3, MVT::v4i32,
15808
0
    OPC_CompleteMatch, 1, 0, 
15809
15810
0
   3, MVT::v2i64,
15811
0
    OPC_CompleteMatch, 1, 0, 
15812
15813
0
   3, MVT::v2f64,
15814
0
    OPC_CompleteMatch, 1, 0, 
15815
15816
0
   0,
15817
0
  39, 
15818
0
   OPC_CheckChild0Type, MVT::v2f64,
15819
0
   OPC_SwitchType , 3, MVT::i128,
15820
0
    OPC_CompleteMatch, 1, 0, 
15821
15822
0
   3, MVT::f128,
15823
0
    OPC_CompleteMatch, 1, 0, 
15824
15825
0
   3, MVT::v16i8,
15826
0
    OPC_CompleteMatch, 1, 0, 
15827
15828
0
   3, MVT::v8i16,
15829
0
    OPC_CompleteMatch, 1, 0, 
15830
15831
0
   3, MVT::v4i32,
15832
0
    OPC_CompleteMatch, 1, 0, 
15833
15834
0
   3, MVT::v2i64,
15835
0
    OPC_CompleteMatch, 1, 0, 
15836
15837
0
   3, MVT::v4f32,
15838
0
    OPC_CompleteMatch, 1, 0, 
15839
15840
0
   0,
15841
0
  39, 
15842
0
   OPC_CheckChild0Type, MVT::f128,
15843
0
   OPC_SwitchType , 3, MVT::i128,
15844
0
    OPC_CompleteMatch, 1, 0, 
15845
15846
0
   3, MVT::v16i8,
15847
0
    OPC_CompleteMatch, 1, 0, 
15848
15849
0
   3, MVT::v8i16,
15850
0
    OPC_CompleteMatch, 1, 0, 
15851
15852
0
   3, MVT::v4i32,
15853
0
    OPC_CompleteMatch, 1, 0, 
15854
15855
0
   3, MVT::v2i64,
15856
0
    OPC_CompleteMatch, 1, 0, 
15857
15858
0
   3, MVT::v4f32,
15859
0
    OPC_CompleteMatch, 1, 0, 
15860
15861
0
   3, MVT::v2f64,
15862
0
    OPC_CompleteMatch, 1, 0, 
15863
15864
0
   0,
15865
0
  9, 
15866
0
   OPC_CheckChild0Type, MVT::f64,
15867
0
   OPC_CheckTypeI64,
15868
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGDR),
15869
0
                 MVT::i64, 1, 0, 
15870
0
  19, 
15871
0
   OPC_CheckChild0Type, MVT::f32,
15872
0
   OPC_CheckTypeI32,
15873
0
   OPC_CheckPatternPredicate0,
15874
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::LFER),
15875
0
                 MVT::i64, 1, 0, 
15876
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
15877
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15878
0
                 MVT::i32, 2, 1, 2, 
15879
0
  39, 
15880
0
   OPC_CheckChild0Type, MVT::i128,
15881
0
   OPC_SwitchType , 3, MVT::f128,
15882
0
    OPC_CompleteMatch, 1, 0, 
15883
15884
0
   3, MVT::v16i8,
15885
0
    OPC_CompleteMatch, 1, 0, 
15886
15887
0
   3, MVT::v8i16,
15888
0
    OPC_CompleteMatch, 1, 0, 
15889
15890
0
   3, MVT::v4i32,
15891
0
    OPC_CompleteMatch, 1, 0, 
15892
15893
0
   3, MVT::v2i64,
15894
0
    OPC_CompleteMatch, 1, 0, 
15895
15896
0
   3, MVT::v4f32,
15897
0
    OPC_CompleteMatch, 1, 0, 
15898
15899
0
   3, MVT::v2f64,
15900
0
    OPC_CompleteMatch, 1, 0, 
15901
15902
0
   0,
15903
0
  10, 
15904
0
   OPC_CheckChild0TypeI32,
15905
0
   OPC_CheckType, MVT::f32,
15906
0
   OPC_CheckPatternPredicate0,
15907
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LEFR),
15908
0
                 MVT::f32, 1, 0, 
15909
0
  9, 
15910
0
   OPC_CheckChild0TypeI64,
15911
0
   OPC_CheckType, MVT::f64,
15912
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LDGR),
15913
0
                 MVT::f64, 1, 0, 
15914
0
  0, 
15915
0
 13, TARGET_VAL(ISD::BR),
15916
0
  OPC_RecordNode,
15917
0
  OPC_RecordChild1,
15918
0
  OPC_MoveChild1,
15919
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15920
0
  OPC_MoveParent,
15921
0
  OPC_EmitMergeInputChains1_0,
15922
0
  OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::J),
15923
0
                1, 1, 
15924
0
 6, TARGET_VAL(ISD::TRAP),
15925
0
  OPC_RecordNode,
15926
0
  OPC_EmitMergeInputChains1_0,
15927
0
  OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::Trap),
15928
0
                0, 
15929
0
 17, TARGET_VAL(SystemZISD::ADA_ENTRY),
15930
0
  OPC_RecordChild0,
15931
0
  OPC_CheckChild0TypeI64,
15932
0
  OPC_RecordChild1,
15933
0
  OPC_CheckChild1TypeI64,
15934
0
  OPC_RecordChild2,
15935
0
  OPC_CheckTypeI64,
15936
0
  OPC_CheckPatternPredicate, 12,
15937
0
  OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ADA_ENTRY),
15938
0
                MVT::i64, MVT::i32, 3, 0, 1, 2, 
15939
0
 22, TARGET_VAL(SystemZISD::RET_GLUE),
15940
0
  OPC_RecordNode,
15941
0
  OPC_CaptureGlueInput,
15942
0
  OPC_Scope, 8, 
15943
0
   OPC_CheckPatternPredicate, 12,
15944
0
   OPC_EmitMergeInputChains1_0,
15945
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::Return_XPLINK), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
15946
0
                 0, 
15947
0
  8, 
15948
0
   OPC_CheckPatternPredicate, 14,
15949
0
   OPC_EmitMergeInputChains1_0,
15950
0
   OPC_MorphNodeTo0, TARGET_VAL(SystemZ::Return), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
15951
0
                 0, 
15952
0
  0, 
15953
0
 73, TARGET_VAL(ISD::SIGN_EXTEND),
15954
0
  OPC_RecordChild0,
15955
0
  OPC_SwitchType , 6, MVT::i64,
15956
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGFR),
15957
0
                 MVT::i64, 1, 0, 
15958
0
  60, MVT::i128,
15959
0
   OPC_Scope, 22, 
15960
0
    OPC_CheckChild0TypeI64,
15961
0
    OPC_CheckPatternPredicate0,
15962
0
    OPC_EmitRegisterI32, 0 ,
15963
0
    OPC_EmitInteger32, 126, 
15964
0
    OPC_EmitNode2None, TARGET_VAL(SystemZ::SRAG),
15965
0
                  MVT::i64, MVT::i32, 3, 0, 1, 2, 
15966
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
15967
0
                  MVT::i128, 2, 3, 0, 
15968
0
   34, 
15969
0
    OPC_CheckChild0TypeI32,
15970
0
    OPC_CheckPatternPredicate0,
15971
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LGFR),
15972
0
                  MVT::i64, 1, 0, 
15973
0
    OPC_EmitRegisterI32, 0 ,
15974
0
    OPC_EmitInteger32, 126, 
15975
0
    OPC_EmitNode2None, TARGET_VAL(SystemZ::SRAG),
15976
0
                  MVT::i64, MVT::i32, 3, 1, 2, 3, 
15977
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LGFR),
15978
0
                  MVT::i64, 1, 0, 
15979
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
15980
0
                  MVT::i128, 2, 4, 6, 
15981
0
   0, 
15982
0
  0,
15983
0
 63, TARGET_VAL(ISD::ZERO_EXTEND),
15984
0
  OPC_RecordChild0,
15985
0
  OPC_SwitchType , 6, MVT::i64,
15986
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGFR),
15987
0
                 MVT::i64, 1, 0, 
15988
0
  50, MVT::i128,
15989
0
   OPC_Scope, 23, 
15990
0
    OPC_CheckChild0TypeI32,
15991
0
    OPC_CheckPatternPredicate0,
15992
0
    OPC_EmitInteger32, 0, 
15993
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
15994
0
                  MVT::i128, 1, 1, 
15995
0
    OPC_EmitRegisterI32, 0 ,
15996
0
    OPC_EmitInteger32, 6, 
15997
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGF),
15998
0
                  MVT::i128, 4, 2, 0, 3, 4, 
15999
0
   23, 
16000
0
    OPC_CheckChild0TypeI64,
16001
0
    OPC_CheckPatternPredicate0,
16002
0
    OPC_EmitInteger32, 0, 
16003
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
16004
0
                  MVT::i128, 1, 1, 
16005
0
    OPC_EmitRegisterI32, 0 ,
16006
0
    OPC_EmitInteger32, 2, 
16007
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGG),
16008
0
                  MVT::i128, 4, 2, 0, 3, 4, 
16009
0
   0, 
16010
0
  0,
16011
0
 19, TARGET_VAL(ISD::BSWAP),
16012
0
  OPC_RecordChild0,
16013
0
  OPC_SwitchType , 6, MVT::i32,
16014
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LRVR),
16015
0
                 MVT::i32, 1, 0, 
16016
0
  6, MVT::i64,
16017
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LRVGR),
16018
0
                 MVT::i64, 1, 0, 
16019
0
  0,
16020
0
 6, TARGET_VAL(ISD::GLOBAL_OFFSET_TABLE),
16021
0
  OPC_CheckTypeI64,
16022
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::GOT),
16023
0
                MVT::i64, 0, 
16024
0
 8, TARGET_VAL(SystemZISD::IPM),
16025
0
  OPC_RecordChild0,
16026
0
  OPC_EmitCopyToReg0, SystemZ::CC,
16027
0
  OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::IPM),
16028
0
                MVT::i32, 0, 
16029
0
 9, TARGET_VAL(SystemZISD::TEND),
16030
0
  OPC_RecordNode,
16031
0
  OPC_CheckPatternPredicate, 10,
16032
0
  OPC_EmitMergeInputChains1_0,
16033
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::TEND),
16034
0
                MVT::i32, 0, 
16035
0
 61, TARGET_VAL(ISD::CTPOP),
16036
0
  OPC_RecordChild0,
16037
0
  OPC_SwitchType , 12, MVT::i64,
16038
0
   OPC_CheckChild0TypeI64,
16039
0
   OPC_CheckPatternPredicate7,
16040
0
   OPC_EmitInteger32, 16, 
16041
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::POPCNTOpt),
16042
0
                 MVT::i64, MVT::i32, 2, 0, 1, 
16043
0
  9, MVT::v16i8,
16044
0
   OPC_CheckChild0Type, MVT::v16i8,
16045
0
   OPC_CheckPatternPredicate1,
16046
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCTB),
16047
0
                 MVT::v16i8, 1, 0, 
16048
0
  9, MVT::v8i16,
16049
0
   OPC_CheckChild0Type, MVT::v8i16,
16050
0
   OPC_CheckPatternPredicate1,
16051
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCTH),
16052
0
                 MVT::v8i16, 1, 0, 
16053
0
  9, MVT::v4i32,
16054
0
   OPC_CheckChild0Type, MVT::v4i32,
16055
0
   OPC_CheckPatternPredicate1,
16056
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCTF),
16057
0
                 MVT::v4i32, 1, 0, 
16058
0
  9, MVT::v2i64,
16059
0
   OPC_CheckChild0Type, MVT::v2i64,
16060
0
   OPC_CheckPatternPredicate1,
16061
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCTG),
16062
0
                 MVT::v2i64, 1, 0, 
16063
0
  0,
16064
0
 26, TARGET_VAL(SystemZISD::POPCNT),
16065
0
  OPC_RecordChild0,
16066
0
  OPC_SwitchType , 9, MVT::i64,
16067
0
   OPC_CheckPatternPredicate, 21,
16068
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::POPCNT),
16069
0
                 MVT::i64, MVT::i32, 1, 0, 
16070
0
  10, MVT::v16i8,
16071
0
   OPC_CheckPatternPredicate0,
16072
0
   OPC_EmitInteger32, 0, 
16073
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCT),
16074
0
                 MVT::v16i8, 2, 0, 1, 
16075
0
  0,
16076
0
 54, TARGET_VAL(SystemZISD::VACC),
16077
0
  OPC_RecordChild0,
16078
0
  OPC_RecordChild1,
16079
0
  OPC_SwitchType , 8, MVT::i128,
16080
0
   OPC_CheckPatternPredicate0,
16081
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCQ),
16082
0
                 MVT::i128, 2, 0, 1, 
16083
0
  8, MVT::v16i8,
16084
0
   OPC_CheckPatternPredicate0,
16085
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCB),
16086
0
                 MVT::v16i8, 2, 0, 1, 
16087
0
  8, MVT::v8i16,
16088
0
   OPC_CheckPatternPredicate0,
16089
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCH),
16090
0
                 MVT::v8i16, 2, 0, 1, 
16091
0
  8, MVT::v4i32,
16092
0
   OPC_CheckPatternPredicate0,
16093
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCF),
16094
0
                 MVT::v4i32, 2, 0, 1, 
16095
0
  8, MVT::v2i64,
16096
0
   OPC_CheckPatternPredicate0,
16097
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCG),
16098
0
                 MVT::v2i64, 2, 0, 1, 
16099
0
  0,
16100
0
 14, TARGET_VAL(SystemZISD::VAC),
16101
0
  OPC_RecordChild0,
16102
0
  OPC_RecordChild1,
16103
0
  OPC_RecordChild2,
16104
0
  OPC_CheckType, MVT::i128,
16105
0
  OPC_CheckPatternPredicate0,
16106
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACQ),
16107
0
                MVT::i128, 3, 0, 1, 2, 
16108
0
 14, TARGET_VAL(SystemZISD::VACCC),
16109
0
  OPC_RecordChild0,
16110
0
  OPC_RecordChild1,
16111
0
  OPC_RecordChild2,
16112
0
  OPC_CheckType, MVT::i128,
16113
0
  OPC_CheckPatternPredicate0,
16114
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCCQ),
16115
0
                MVT::i128, 3, 0, 1, 2, 
16116
0
 54, TARGET_VAL(SystemZISD::VSCBI),
16117
0
  OPC_RecordChild0,
16118
0
  OPC_RecordChild1,
16119
0
  OPC_SwitchType , 8, MVT::i128,
16120
0
   OPC_CheckPatternPredicate0,
16121
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIQ),
16122
0
                 MVT::i128, 2, 0, 1, 
16123
0
  8, MVT::v16i8,
16124
0
   OPC_CheckPatternPredicate0,
16125
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIB),
16126
0
                 MVT::v16i8, 2, 0, 1, 
16127
0
  8, MVT::v8i16,
16128
0
   OPC_CheckPatternPredicate0,
16129
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIH),
16130
0
                 MVT::v8i16, 2, 0, 1, 
16131
0
  8, MVT::v4i32,
16132
0
   OPC_CheckPatternPredicate0,
16133
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIF),
16134
0
                 MVT::v4i32, 2, 0, 1, 
16135
0
  8, MVT::v2i64,
16136
0
   OPC_CheckPatternPredicate0,
16137
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIG),
16138
0
                 MVT::v2i64, 2, 0, 1, 
16139
0
  0,
16140
0
 14, TARGET_VAL(SystemZISD::VSBI),
16141
0
  OPC_RecordChild0,
16142
0
  OPC_RecordChild1,
16143
0
  OPC_RecordChild2,
16144
0
  OPC_CheckType, MVT::i128,
16145
0
  OPC_CheckPatternPredicate0,
16146
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSBIQ),
16147
0
                MVT::i128, 3, 0, 1, 2, 
16148
0
 14, TARGET_VAL(SystemZISD::VSBCBI),
16149
0
  OPC_RecordChild0,
16150
0
  OPC_RecordChild1,
16151
0
  OPC_RecordChild2,
16152
0
  OPC_CheckType, MVT::i128,
16153
0
  OPC_CheckPatternPredicate0,
16154
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSBCBIQ),
16155
0
                MVT::i128, 3, 0, 1, 2, 
16156
0
 83, TARGET_VAL(SystemZISD::VSUM),
16157
0
  OPC_RecordChild0,
16158
0
  OPC_Scope, 25, 
16159
0
   OPC_CheckChild0Type, MVT::v4i32,
16160
0
   OPC_RecordChild1,
16161
0
   OPC_SwitchType , 8, MVT::i128,
16162
0
    OPC_CheckPatternPredicate0,
16163
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMQF),
16164
0
                  MVT::i128, 2, 0, 1, 
16165
0
   8, MVT::v2i64,
16166
0
    OPC_CheckPatternPredicate0,
16167
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMGF),
16168
0
                  MVT::v2i64, 2, 0, 1, 
16169
0
   0,
16170
0
  13, 
16171
0
   OPC_CheckChild0Type, MVT::v2i64,
16172
0
   OPC_RecordChild1,
16173
0
   OPC_CheckType, MVT::i128,
16174
0
   OPC_CheckPatternPredicate0,
16175
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMQG),
16176
0
                 MVT::i128, 2, 0, 1, 
16177
0
  25, 
16178
0
   OPC_CheckChild0Type, MVT::v8i16,
16179
0
   OPC_RecordChild1,
16180
0
   OPC_SwitchType , 8, MVT::v2i64,
16181
0
    OPC_CheckPatternPredicate0,
16182
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMGH),
16183
0
                  MVT::v2i64, 2, 0, 1, 
16184
0
   8, MVT::v4i32,
16185
0
    OPC_CheckPatternPredicate0,
16186
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMH),
16187
0
                  MVT::v4i32, 2, 0, 1, 
16188
0
   0,
16189
0
  13, 
16190
0
   OPC_CheckChild0Type, MVT::v16i8,
16191
0
   OPC_RecordChild1,
16192
0
   OPC_CheckType, MVT::v4i32,
16193
0
   OPC_CheckPatternPredicate0,
16194
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMB),
16195
0
                 MVT::v4i32, 2, 0, 1, 
16196
0
  0, 
16197
0
 12, TARGET_VAL(SystemZISD::VTM),
16198
0
  OPC_RecordChild0,
16199
0
  OPC_CheckChild0Type, MVT::v16i8,
16200
0
  OPC_RecordChild1,
16201
0
  OPC_CheckPatternPredicate0,
16202
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VTM),
16203
0
                MVT::i32, 2, 0, 1, 
16204
0
 44, TARGET_VAL(ISD::ANY_EXTEND),
16205
0
  OPC_RecordChild0,
16206
0
  OPC_SwitchType , 22, MVT::i128,
16207
0
   OPC_Scope, 9, 
16208
0
    OPC_CheckChild0TypeI32,
16209
0
    OPC_CheckPatternPredicate0,
16210
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP32),
16211
0
                  MVT::i128, 2, 0, 0, 
16212
0
   9, 
16213
0
    OPC_CheckChild0TypeI64,
16214
0
    OPC_CheckPatternPredicate0,
16215
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
16216
0
                  MVT::i128, 2, 0, 0, 
16217
0
   0, 
16218
0
  15, MVT::i64,
16219
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16220
0
                 MVT::i64, 0, 
16221
0
   OPC_EmitStringInteger32, SystemZ::subreg_l32,
16222
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16223
0
                 MVT::i64, 3, 1, 0, 2, 
16224
0
  0,
16225
0
 5|128,1, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
16226
0
  OPC_RecordNode,
16227
0
  OPC_RecordChild1,
16228
0
  OPC_Scope, 30, 
16229
0
   OPC_CheckChild1Type, MVT::f32,
16230
0
   OPC_SwitchType , 11, MVT::i32,
16231
0
    OPC_EmitMergeInputChains1_0,
16232
0
    OPC_EmitInteger32, 10, 
16233
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CFEBR),
16234
0
                  MVT::i32, MVT::i32, 2, 2, 1, 
16235
0
   11, MVT::i64,
16236
0
    OPC_EmitMergeInputChains1_0,
16237
0
    OPC_EmitInteger32, 10, 
16238
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CGEBR),
16239
0
                  MVT::i64, MVT::i32, 2, 2, 1, 
16240
0
   0,
16241
0
  30, 
16242
0
   OPC_CheckChild1Type, MVT::f64,
16243
0
   OPC_SwitchType , 11, MVT::i32,
16244
0
    OPC_EmitMergeInputChains1_0,
16245
0
    OPC_EmitInteger32, 10, 
16246
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CFDBR),
16247
0
                  MVT::i32, MVT::i32, 2, 2, 1, 
16248
0
   11, MVT::i64,
16249
0
    OPC_EmitMergeInputChains1_0,
16250
0
    OPC_EmitInteger32, 10, 
16251
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CGDBR),
16252
0
                  MVT::i64, MVT::i32, 2, 2, 1, 
16253
0
   0,
16254
0
  30, 
16255
0
   OPC_CheckChild1Type, MVT::f128,
16256
0
   OPC_SwitchType , 11, MVT::i32,
16257
0
    OPC_EmitMergeInputChains1_0,
16258
0
    OPC_EmitInteger32, 10, 
16259
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CFXBR),
16260
0
                  MVT::i32, MVT::i32, 2, 2, 1, 
16261
0
   11, MVT::i64,
16262
0
    OPC_EmitMergeInputChains1_0,
16263
0
    OPC_EmitInteger32, 10, 
16264
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CGXBR),
16265
0
                  MVT::i64, MVT::i32, 2, 2, 1, 
16266
0
   0,
16267
0
  18, 
16268
0
   OPC_CheckChild1Type, MVT::v2f64,
16269
0
   OPC_CheckType, MVT::v2i64,
16270
0
   OPC_CheckPatternPredicate0,
16271
0
   OPC_EmitMergeInputChains1_0,
16272
0
   OPC_EmitInteger32, 0, 
16273
0
   OPC_EmitInteger32, 10, 
16274
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCGDB),
16275
0
                 MVT::v2i64, 3, 1, 2, 3, 
16276
0
  16, 
16277
0
   OPC_CheckType, MVT::v4i32,
16278
0
   OPC_CheckPatternPredicate4,
16279
0
   OPC_EmitMergeInputChains1_0,
16280
0
   OPC_EmitInteger32, 0, 
16281
0
   OPC_EmitInteger32, 10, 
16282
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCFEB),
16283
0
                 MVT::v4i32, 3, 1, 2, 3, 
16284
0
  0, 
16285
0
 124, TARGET_VAL(ISD::FP_TO_SINT),
16286
0
  OPC_RecordChild0,
16287
0
  OPC_Scope, 28, 
16288
0
   OPC_CheckChild0Type, MVT::f32,
16289
0
   OPC_SwitchType , 10, MVT::i32,
16290
0
    OPC_EmitInteger32, 10, 
16291
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CFEBR),
16292
0
                  MVT::i32, MVT::i32, 2, 1, 0, 
16293
0
   10, MVT::i64,
16294
0
    OPC_EmitInteger32, 10, 
16295
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CGEBR),
16296
0
                  MVT::i64, MVT::i32, 2, 1, 0, 
16297
0
   0,
16298
0
  28, 
16299
0
   OPC_CheckChild0Type, MVT::f64,
16300
0
   OPC_SwitchType , 10, MVT::i32,
16301
0
    OPC_EmitInteger32, 10, 
16302
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CFDBR),
16303
0
                  MVT::i32, MVT::i32, 2, 1, 0, 
16304
0
   10, MVT::i64,
16305
0
    OPC_EmitInteger32, 10, 
16306
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CGDBR),
16307
0
                  MVT::i64, MVT::i32, 2, 1, 0, 
16308
0
   0,
16309
0
  28, 
16310
0
   OPC_CheckChild0Type, MVT::f128,
16311
0
   OPC_SwitchType , 10, MVT::i32,
16312
0
    OPC_EmitInteger32, 10, 
16313
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CFXBR),
16314
0
                  MVT::i32, MVT::i32, 2, 1, 0, 
16315
0
   10, MVT::i64,
16316
0
    OPC_EmitInteger32, 10, 
16317
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CGXBR),
16318
0
                  MVT::i64, MVT::i32, 2, 1, 0, 
16319
0
   0,
16320
0
  17, 
16321
0
   OPC_CheckChild0Type, MVT::v2f64,
16322
0
   OPC_CheckType, MVT::v2i64,
16323
0
   OPC_CheckPatternPredicate0,
16324
0
   OPC_EmitInteger32, 0, 
16325
0
   OPC_EmitInteger32, 10, 
16326
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCGDB),
16327
0
                 MVT::v2i64, 3, 0, 1, 2, 
16328
0
  15, 
16329
0
   OPC_CheckType, MVT::v4i32,
16330
0
   OPC_CheckPatternPredicate4,
16331
0
   OPC_EmitInteger32, 0, 
16332
0
   OPC_EmitInteger32, 10, 
16333
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCFEB),
16334
0
                 MVT::v4i32, 3, 0, 1, 2, 
16335
0
  0, 
16336
0
 29|128,1, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
16337
0
  OPC_RecordNode,
16338
0
  OPC_RecordChild1,
16339
0
  OPC_Scope, 38, 
16340
0
   OPC_CheckChild1Type, MVT::f32,
16341
0
   OPC_SwitchType , 15, MVT::i32,
16342
0
    OPC_CheckPatternPredicate3,
16343
0
    OPC_EmitMergeInputChains1_0,
16344
0
    OPC_EmitInteger32, 10, 
16345
0
    OPC_EmitInteger32, 0, 
16346
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLFEBR),
16347
0
                  MVT::i32, MVT::i32, 3, 2, 1, 3, 
16348
0
   15, MVT::i64,
16349
0
    OPC_CheckPatternPredicate3,
16350
0
    OPC_EmitMergeInputChains1_0,
16351
0
    OPC_EmitInteger32, 10, 
16352
0
    OPC_EmitInteger32, 0, 
16353
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLGEBR),
16354
0
                  MVT::i64, MVT::i32, 3, 2, 1, 3, 
16355
0
   0,
16356
0
  38, 
16357
0
   OPC_CheckChild1Type, MVT::f64,
16358
0
   OPC_SwitchType , 15, MVT::i32,
16359
0
    OPC_CheckPatternPredicate3,
16360
0
    OPC_EmitMergeInputChains1_0,
16361
0
    OPC_EmitInteger32, 10, 
16362
0
    OPC_EmitInteger32, 0, 
16363
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLFDBR),
16364
0
                  MVT::i32, MVT::i32, 3, 2, 1, 3, 
16365
0
   15, MVT::i64,
16366
0
    OPC_CheckPatternPredicate3,
16367
0
    OPC_EmitMergeInputChains1_0,
16368
0
    OPC_EmitInteger32, 10, 
16369
0
    OPC_EmitInteger32, 0, 
16370
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLGDBR),
16371
0
                  MVT::i64, MVT::i32, 3, 2, 1, 3, 
16372
0
   0,
16373
0
  38, 
16374
0
   OPC_CheckChild1Type, MVT::f128,
16375
0
   OPC_SwitchType , 15, MVT::i32,
16376
0
    OPC_CheckPatternPredicate3,
16377
0
    OPC_EmitMergeInputChains1_0,
16378
0
    OPC_EmitInteger32, 10, 
16379
0
    OPC_EmitInteger32, 0, 
16380
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLFXBR),
16381
0
                  MVT::i32, MVT::i32, 3, 2, 1, 3, 
16382
0
   15, MVT::i64,
16383
0
    OPC_CheckPatternPredicate3,
16384
0
    OPC_EmitMergeInputChains1_0,
16385
0
    OPC_EmitInteger32, 10, 
16386
0
    OPC_EmitInteger32, 0, 
16387
0
    OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLGXBR),
16388
0
                  MVT::i64, MVT::i32, 3, 2, 1, 3, 
16389
0
   0,
16390
0
  18, 
16391
0
   OPC_CheckChild1Type, MVT::v2f64,
16392
0
   OPC_CheckType, MVT::v2i64,
16393
0
   OPC_CheckPatternPredicate0,
16394
0
   OPC_EmitMergeInputChains1_0,
16395
0
   OPC_EmitInteger32, 0, 
16396
0
   OPC_EmitInteger32, 10, 
16397
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCLGDB),
16398
0
                 MVT::v2i64, 3, 1, 2, 3, 
16399
0
  16, 
16400
0
   OPC_CheckType, MVT::v4i32,
16401
0
   OPC_CheckPatternPredicate4,
16402
0
   OPC_EmitMergeInputChains1_0,
16403
0
   OPC_EmitInteger32, 0, 
16404
0
   OPC_EmitInteger32, 10, 
16405
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCLFEB),
16406
0
                 MVT::v4i32, 3, 1, 2, 3, 
16407
0
  0, 
16408
0
 20|128,1, TARGET_VAL(ISD::FP_TO_UINT),
16409
0
  OPC_RecordChild0,
16410
0
  OPC_Scope, 36, 
16411
0
   OPC_CheckChild0Type, MVT::f32,
16412
0
   OPC_SwitchType , 14, MVT::i32,
16413
0
    OPC_CheckPatternPredicate3,
16414
0
    OPC_EmitInteger32, 10, 
16415
0
    OPC_EmitInteger32, 0, 
16416
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLFEBR),
16417
0
                  MVT::i32, MVT::i32, 3, 1, 0, 2, 
16418
0
   14, MVT::i64,
16419
0
    OPC_CheckPatternPredicate3,
16420
0
    OPC_EmitInteger32, 10, 
16421
0
    OPC_EmitInteger32, 0, 
16422
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLGEBR),
16423
0
                  MVT::i64, MVT::i32, 3, 1, 0, 2, 
16424
0
   0,
16425
0
  36, 
16426
0
   OPC_CheckChild0Type, MVT::f64,
16427
0
   OPC_SwitchType , 14, MVT::i32,
16428
0
    OPC_CheckPatternPredicate3,
16429
0
    OPC_EmitInteger32, 10, 
16430
0
    OPC_EmitInteger32, 0, 
16431
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLFDBR),
16432
0
                  MVT::i32, MVT::i32, 3, 1, 0, 2, 
16433
0
   14, MVT::i64,
16434
0
    OPC_CheckPatternPredicate3,
16435
0
    OPC_EmitInteger32, 10, 
16436
0
    OPC_EmitInteger32, 0, 
16437
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLGDBR),
16438
0
                  MVT::i64, MVT::i32, 3, 1, 0, 2, 
16439
0
   0,
16440
0
  36, 
16441
0
   OPC_CheckChild0Type, MVT::f128,
16442
0
   OPC_SwitchType , 14, MVT::i32,
16443
0
    OPC_CheckPatternPredicate3,
16444
0
    OPC_EmitInteger32, 10, 
16445
0
    OPC_EmitInteger32, 0, 
16446
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLFXBR),
16447
0
                  MVT::i32, MVT::i32, 3, 1, 0, 2, 
16448
0
   14, MVT::i64,
16449
0
    OPC_CheckPatternPredicate3,
16450
0
    OPC_EmitInteger32, 10, 
16451
0
    OPC_EmitInteger32, 0, 
16452
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLGXBR),
16453
0
                  MVT::i64, MVT::i32, 3, 1, 0, 2, 
16454
0
   0,
16455
0
  17, 
16456
0
   OPC_CheckChild0Type, MVT::v2f64,
16457
0
   OPC_CheckType, MVT::v2i64,
16458
0
   OPC_CheckPatternPredicate0,
16459
0
   OPC_EmitInteger32, 0, 
16460
0
   OPC_EmitInteger32, 10, 
16461
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLGDB),
16462
0
                 MVT::v2i64, 3, 0, 1, 2, 
16463
0
  15, 
16464
0
   OPC_CheckType, MVT::v4i32,
16465
0
   OPC_CheckPatternPredicate4,
16466
0
   OPC_EmitInteger32, 0, 
16467
0
   OPC_EmitInteger32, 10, 
16468
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLFEB),
16469
0
                 MVT::v4i32, 3, 0, 1, 2, 
16470
0
  0, 
16471
0
 66, TARGET_VAL(ISD::CTLZ),
16472
0
  OPC_RecordChild0,
16473
0
  OPC_SwitchType , 17, MVT::i64,
16474
0
   OPC_CheckChild0TypeI64,
16475
0
   OPC_EmitNode2None, TARGET_VAL(SystemZ::FLOGR),
16476
0
                 MVT::Untyped, MVT::i32, 1, 0, 
16477
0
   OPC_EmitStringInteger32, SystemZ::subreg_h64,
16478
0
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16479
0
                 MVT::i64, 2, 1, 3, 
16480
0
  9, MVT::v16i8,
16481
0
   OPC_CheckChild0Type, MVT::v16i8,
16482
0
   OPC_CheckPatternPredicate0,
16483
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLZB),
16484
0
                 MVT::v16i8, 1, 0, 
16485
0
  9, MVT::v8i16,
16486
0
   OPC_CheckChild0Type, MVT::v8i16,
16487
0
   OPC_CheckPatternPredicate0,
16488
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLZH),
16489
0
                 MVT::v8i16, 1, 0, 
16490
0
  9, MVT::v4i32,
16491
0
   OPC_CheckChild0Type, MVT::v4i32,
16492
0
   OPC_CheckPatternPredicate0,
16493
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLZF),
16494
0
                 MVT::v4i32, 1, 0, 
16495
0
  9, MVT::v2i64,
16496
0
   OPC_CheckChild0Type, MVT::v2i64,
16497
0
   OPC_CheckPatternPredicate0,
16498
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLZG),
16499
0
                 MVT::v2i64, 1, 0, 
16500
0
  0,
16501
0
 12, TARGET_VAL(SystemZISD::PROBED_ALLOCA),
16502
0
  OPC_RecordNode,
16503
0
  OPC_RecordChild1,
16504
0
  OPC_RecordChild2,
16505
0
  OPC_CheckTypeI64,
16506
0
  OPC_EmitMergeInputChains1_0,
16507
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::PROBED_ALLOCA),
16508
0
                MVT::i64, 2, 1, 2, 
16509
0
 17, TARGET_VAL(SystemZISD::STPCPY),
16510
0
  OPC_RecordNode,
16511
0
  OPC_RecordChild1,
16512
0
  OPC_CheckChild1TypeI64,
16513
0
  OPC_RecordChild2,
16514
0
  OPC_CheckChild2TypeI64,
16515
0
  OPC_RecordChild3,
16516
0
  OPC_CheckTypeI64,
16517
0
  OPC_EmitMergeInputChains1_0,
16518
0
  OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::MVSTLoop),
16519
0
                MVT::i64, MVT::i32, 3, 1, 2, 3, 
16520
0
 17, TARGET_VAL(SystemZISD::STRCMP),
16521
0
  OPC_RecordNode,
16522
0
  OPC_RecordChild1,
16523
0
  OPC_CheckChild1TypeI64,
16524
0
  OPC_RecordChild2,
16525
0
  OPC_CheckChild2TypeI64,
16526
0
  OPC_RecordChild3,
16527
0
  OPC_CheckTypeI64,
16528
0
  OPC_EmitMergeInputChains1_0,
16529
0
  OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLSTLoop),
16530
0
                MVT::i64, MVT::i32, 3, 1, 2, 3, 
16531
0
 17, TARGET_VAL(SystemZISD::SEARCH_STRING),
16532
0
  OPC_RecordNode,
16533
0
  OPC_RecordChild1,
16534
0
  OPC_CheckChild1TypeI64,
16535
0
  OPC_RecordChild2,
16536
0
  OPC_CheckChild2TypeI64,
16537
0
  OPC_RecordChild3,
16538
0
  OPC_CheckTypeI64,
16539
0
  OPC_EmitMergeInputChains1_0,
16540
0
  OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::SRSTLoop),
16541
0
                MVT::i64, MVT::i32, 3, 1, 2, 3, 
16542
0
 12, TARGET_VAL(SystemZISD::SCMP128HI),
16543
0
  OPC_RecordChild0,
16544
0
  OPC_CheckChild0Type, MVT::i128,
16545
0
  OPC_RecordChild1,
16546
0
  OPC_CheckPatternPredicate0,
16547
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SCmp128Hi),
16548
0
                MVT::i32, 2, 0, 1, 
16549
0
 12, TARGET_VAL(SystemZISD::UCMP128HI),
16550
0
  OPC_RecordChild0,
16551
0
  OPC_CheckChild0Type, MVT::i128,
16552
0
  OPC_RecordChild1,
16553
0
  OPC_CheckPatternPredicate0,
16554
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::UCmp128Hi),
16555
0
                MVT::i32, 2, 0, 1, 
16556
0
 87|128,10, TARGET_VAL(ISD::STRICT_FMUL),
16557
0
  OPC_RecordNode,
16558
0
  OPC_Scope, 75|128,6, 
16559
0
   OPC_MoveChild1,
16560
0
   OPC_SwitchOpcode , 41|128,3, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16561
0
    OPC_RecordNode,
16562
0
    OPC_CheckFoldableChainNode,
16563
0
    OPC_Scope, 118, 
16564
0
     OPC_RecordChild1,
16565
0
     OPC_Scope, 54, 
16566
0
      OPC_MoveSibling2,
16567
0
      OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16568
0
      OPC_RecordNode,
16569
0
      OPC_CheckFoldableChainNode,
16570
0
      OPC_MoveChild1,
16571
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16572
0
      OPC_RecordMemRef,
16573
0
      OPC_RecordNode,
16574
0
      OPC_CheckFoldableChainNode,
16575
0
      OPC_RecordChild1,
16576
0
      OPC_CheckChild1TypeI64,
16577
0
      OPC_CheckPredicate0, 
16578
0
      OPC_CheckPredicate2, 
16579
0
      OPC_MoveParent,
16580
0
      OPC_MoveParent,
16581
0
      OPC_CheckType, MVT::f64,
16582
0
      OPC_CheckComplexPat1, /*#*/5,
16583
0
      OPC_EmitMergeInputChains, 4, 0, 1, 3, 4, 
16584
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16585
0
                    MVT::f64, 0, 
16586
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
16587
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16588
0
                    MVT::f64, 3, 9, 2, 10, 
16589
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
16590
0
                    MVT::f64, 4, 11, 6, 7, 8, 
16591
0
     59, 
16592
0
      OPC_CheckChild1Type, MVT::f64,
16593
0
      OPC_MoveSibling2,
16594
0
      OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16595
0
      OPC_RecordNode,
16596
0
      OPC_CheckFoldableChainNode,
16597
0
      OPC_MoveChild1,
16598
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16599
0
      OPC_RecordMemRef,
16600
0
      OPC_RecordNode,
16601
0
      OPC_CheckFoldableChainNode,
16602
0
      OPC_RecordChild1,
16603
0
      OPC_CheckChild1TypeI64,
16604
0
      OPC_CheckPredicate0, 
16605
0
      OPC_CheckPredicate2, 
16606
0
      OPC_CheckType, MVT::f64,
16607
0
      OPC_MoveParent,
16608
0
      OPC_MoveParent,
16609
0
      OPC_CheckType, MVT::f128,
16610
0
      OPC_CheckPatternPredicate5,
16611
0
      OPC_CheckComplexPat1, /*#*/5,
16612
0
      OPC_EmitMergeInputChains, 4, 0, 1, 3, 4, 
16613
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16614
0
                    MVT::f128, 0, 
16615
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
16616
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16617
0
                    MVT::f128, 3, 9, 2, 10, 
16618
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
16619
0
                    MVT::f128, 4, 11, 6, 7, 8, 
16620
0
     0, 
16621
0
    65|128,1, 
16622
0
     OPC_MoveChild1,
16623
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16624
0
     OPC_RecordMemRef,
16625
0
     OPC_RecordNode,
16626
0
     OPC_CheckFoldableChainNode,
16627
0
     OPC_RecordChild1,
16628
0
     OPC_CheckChild1TypeI64,
16629
0
     OPC_CheckPredicate0, 
16630
0
     OPC_CheckPredicate2, 
16631
0
     OPC_Scope, 85, 
16632
0
      OPC_MoveParent,
16633
0
      OPC_MoveSibling2,
16634
0
      OPC_SwitchOpcode , 39, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16635
0
       OPC_RecordNode,
16636
0
       OPC_CheckFoldableChainNode,
16637
0
       OPC_RecordChild1,
16638
0
       OPC_MoveParent,
16639
0
       OPC_CheckType, MVT::f64,
16640
0
       OPC_CheckComplexPat1, /*#*/3,
16641
0
       OPC_EmitMergeInputChains, 4, 0, 1, 2, 4, 
16642
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16643
0
                     MVT::f64, 0, 
16644
0
       OPC_EmitStringInteger32, SystemZ::subreg_h32,
16645
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16646
0
                     MVT::f64, 3, 9, 5, 10, 
16647
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
16648
0
                     MVT::f64, 4, 11, 6, 7, 8, 
16649
0
      36, TARGET_VAL(ISD::FP_EXTEND),
16650
0
       OPC_RecordChild0,
16651
0
       OPC_MoveParent,
16652
0
       OPC_CheckType, MVT::f64,
16653
0
       OPC_CheckComplexPat1, /*#*/3,
16654
0
       OPC_EmitMergeInputChains, 3, 0, 1, 2, 
16655
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16656
0
                     MVT::f64, 0, 
16657
0
       OPC_EmitStringInteger32, SystemZ::subreg_h32,
16658
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16659
0
                     MVT::f64, 3, 8, 4, 9, 
16660
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
16661
0
                     MVT::f64, 4, 10, 5, 6, 7, 
16662
0
      0,
16663
0
     93, 
16664
0
      OPC_CheckType, MVT::f64,
16665
0
      OPC_MoveParent,
16666
0
      OPC_MoveSibling2,
16667
0
      OPC_SwitchOpcode , 42, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16668
0
       OPC_RecordNode,
16669
0
       OPC_CheckFoldableChainNode,
16670
0
       OPC_RecordChild1,
16671
0
       OPC_CheckChild1Type, MVT::f64,
16672
0
       OPC_MoveParent,
16673
0
       OPC_CheckType, MVT::f128,
16674
0
       OPC_CheckPatternPredicate5,
16675
0
       OPC_CheckComplexPat1, /*#*/3,
16676
0
       OPC_EmitMergeInputChains, 4, 0, 1, 2, 4, 
16677
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16678
0
                     MVT::f128, 0, 
16679
0
       OPC_EmitStringInteger32, SystemZ::subreg_h64,
16680
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16681
0
                     MVT::f128, 3, 9, 5, 10, 
16682
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
16683
0
                     MVT::f128, 4, 11, 6, 7, 8, 
16684
0
      39, TARGET_VAL(ISD::FP_EXTEND),
16685
0
       OPC_RecordChild0,
16686
0
       OPC_CheckChild0Type, MVT::f64,
16687
0
       OPC_MoveParent,
16688
0
       OPC_CheckType, MVT::f128,
16689
0
       OPC_CheckPatternPredicate5,
16690
0
       OPC_CheckComplexPat1, /*#*/3,
16691
0
       OPC_EmitMergeInputChains, 3, 0, 1, 2, 
16692
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16693
0
                     MVT::f128, 0, 
16694
0
       OPC_EmitStringInteger32, SystemZ::subreg_h64,
16695
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16696
0
                     MVT::f128, 3, 8, 4, 9, 
16697
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
16698
0
                     MVT::f128, 4, 10, 5, 6, 7, 
16699
0
      0,
16700
0
     0, 
16701
0
    106, 
16702
0
     OPC_RecordChild1,
16703
0
     OPC_Scope, 49, 
16704
0
      OPC_MoveSibling2,
16705
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16706
0
      OPC_RecordMemRef,
16707
0
      OPC_RecordNode,
16708
0
      OPC_CheckFoldableChainNode,
16709
0
      OPC_RecordChild1,
16710
0
      OPC_CheckChild1TypeI64,
16711
0
      OPC_CheckPredicate0, 
16712
0
      OPC_CheckPredicate, 24,
16713
0
      OPC_CheckPredicate, 41,
16714
0
      OPC_MoveParent,
16715
0
      OPC_CheckType, MVT::f64,
16716
0
      OPC_CheckComplexPat1, /*#*/4,
16717
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
16718
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16719
0
                    MVT::f64, 0, 
16720
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
16721
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16722
0
                    MVT::f64, 3, 8, 2, 9, 
16723
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
16724
0
                    MVT::f64, 4, 10, 5, 6, 7, 
16725
0
     52, 
16726
0
      OPC_CheckChild1Type, MVT::f64,
16727
0
      OPC_MoveSibling2,
16728
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16729
0
      OPC_RecordMemRef,
16730
0
      OPC_RecordNode,
16731
0
      OPC_CheckFoldableChainNode,
16732
0
      OPC_RecordChild1,
16733
0
      OPC_CheckChild1TypeI64,
16734
0
      OPC_CheckPredicate0, 
16735
0
      OPC_CheckPredicate, 24,
16736
0
      OPC_CheckPredicate, 42,
16737
0
      OPC_MoveParent,
16738
0
      OPC_CheckType, MVT::f128,
16739
0
      OPC_CheckPatternPredicate5,
16740
0
      OPC_CheckComplexPat1, /*#*/4,
16741
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
16742
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16743
0
                    MVT::f128, 0, 
16744
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
16745
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16746
0
                    MVT::f128, 3, 8, 2, 9, 
16747
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
16748
0
                    MVT::f128, 4, 10, 5, 6, 7, 
16749
0
     0, 
16750
0
    0, 
16751
0
   89|128,1, TARGET_VAL(ISD::FP_EXTEND),
16752
0
    OPC_RecordChild0,
16753
0
    OPC_Scope, 53, 
16754
0
     OPC_MoveSibling2,
16755
0
     OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16756
0
     OPC_RecordNode,
16757
0
     OPC_CheckFoldableChainNode,
16758
0
     OPC_MoveChild1,
16759
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16760
0
     OPC_RecordMemRef,
16761
0
     OPC_RecordNode,
16762
0
     OPC_CheckFoldableChainNode,
16763
0
     OPC_RecordChild1,
16764
0
     OPC_CheckChild1TypeI64,
16765
0
     OPC_CheckPredicate0, 
16766
0
     OPC_CheckPredicate2, 
16767
0
     OPC_MoveParent,
16768
0
     OPC_MoveParent,
16769
0
     OPC_CheckType, MVT::f64,
16770
0
     OPC_CheckComplexPat1, /*#*/4,
16771
0
     OPC_EmitMergeInputChains, 3, 0, 2, 3, 
16772
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16773
0
                   MVT::f64, 0, 
16774
0
     OPC_EmitStringInteger32, SystemZ::subreg_h32,
16775
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16776
0
                   MVT::f64, 3, 8, 1, 9, 
16777
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
16778
0
                   MVT::f64, 4, 10, 5, 6, 7, 
16779
0
    58, 
16780
0
     OPC_CheckChild0Type, MVT::f64,
16781
0
     OPC_MoveSibling2,
16782
0
     OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16783
0
     OPC_RecordNode,
16784
0
     OPC_CheckFoldableChainNode,
16785
0
     OPC_MoveChild1,
16786
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16787
0
     OPC_RecordMemRef,
16788
0
     OPC_RecordNode,
16789
0
     OPC_CheckFoldableChainNode,
16790
0
     OPC_RecordChild1,
16791
0
     OPC_CheckChild1TypeI64,
16792
0
     OPC_CheckPredicate0, 
16793
0
     OPC_CheckPredicate2, 
16794
0
     OPC_CheckType, MVT::f64,
16795
0
     OPC_MoveParent,
16796
0
     OPC_MoveParent,
16797
0
     OPC_CheckType, MVT::f128,
16798
0
     OPC_CheckPatternPredicate5,
16799
0
     OPC_CheckComplexPat1, /*#*/4,
16800
0
     OPC_EmitMergeInputChains, 3, 0, 2, 3, 
16801
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16802
0
                   MVT::f128, 0, 
16803
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
16804
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16805
0
                   MVT::f128, 3, 8, 1, 9, 
16806
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
16807
0
                   MVT::f128, 4, 10, 5, 6, 7, 
16808
0
    48, 
16809
0
     OPC_MoveSibling2,
16810
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16811
0
     OPC_RecordMemRef,
16812
0
     OPC_RecordNode,
16813
0
     OPC_CheckFoldableChainNode,
16814
0
     OPC_RecordChild1,
16815
0
     OPC_CheckChild1TypeI64,
16816
0
     OPC_CheckPredicate0, 
16817
0
     OPC_CheckPredicate, 24,
16818
0
     OPC_CheckPredicate, 41,
16819
0
     OPC_MoveParent,
16820
0
     OPC_CheckType, MVT::f64,
16821
0
     OPC_CheckComplexPat1, /*#*/3,
16822
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
16823
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16824
0
                   MVT::f64, 0, 
16825
0
     OPC_EmitStringInteger32, SystemZ::subreg_h32,
16826
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16827
0
                   MVT::f64, 3, 7, 1, 8, 
16828
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
16829
0
                   MVT::f64, 4, 9, 4, 5, 6, 
16830
0
    51, 
16831
0
     OPC_CheckChild0Type, MVT::f64,
16832
0
     OPC_MoveSibling2,
16833
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16834
0
     OPC_RecordMemRef,
16835
0
     OPC_RecordNode,
16836
0
     OPC_CheckFoldableChainNode,
16837
0
     OPC_RecordChild1,
16838
0
     OPC_CheckChild1TypeI64,
16839
0
     OPC_CheckPredicate0, 
16840
0
     OPC_CheckPredicate, 24,
16841
0
     OPC_CheckPredicate, 42,
16842
0
     OPC_MoveParent,
16843
0
     OPC_CheckType, MVT::f128,
16844
0
     OPC_CheckPatternPredicate5,
16845
0
     OPC_CheckComplexPat1, /*#*/3,
16846
0
     OPC_EmitMergeInputChains, 2, 0, 2, 
16847
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16848
0
                   MVT::f128, 0, 
16849
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
16850
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16851
0
                   MVT::f128, 3, 7, 1, 8, 
16852
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
16853
0
                   MVT::f128, 4, 9, 4, 5, 6, 
16854
0
    0, 
16855
0
   58|128,1, TARGET_VAL(ISD::LOAD),
16856
0
    OPC_RecordMemRef,
16857
0
    OPC_RecordNode,
16858
0
    OPC_CheckFoldableChainNode,
16859
0
    OPC_RecordChild1,
16860
0
    OPC_CheckChild1TypeI64,
16861
0
    OPC_CheckPredicate0, 
16862
0
    OPC_CheckPredicate, 24,
16863
0
    OPC_Scope, 84, 
16864
0
     OPC_CheckPredicate, 41,
16865
0
     OPC_MoveSibling2,
16866
0
     OPC_SwitchOpcode , 38, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16867
0
      OPC_RecordNode,
16868
0
      OPC_CheckFoldableChainNode,
16869
0
      OPC_RecordChild1,
16870
0
      OPC_MoveParent,
16871
0
      OPC_CheckType, MVT::f64,
16872
0
      OPC_CheckComplexPat1, /*#*/2,
16873
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
16874
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16875
0
                    MVT::f64, 0, 
16876
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
16877
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16878
0
                    MVT::f64, 3, 8, 4, 9, 
16879
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
16880
0
                    MVT::f64, 4, 10, 5, 6, 7, 
16881
0
     35, TARGET_VAL(ISD::FP_EXTEND),
16882
0
      OPC_RecordChild0,
16883
0
      OPC_MoveParent,
16884
0
      OPC_CheckType, MVT::f64,
16885
0
      OPC_CheckComplexPat1, /*#*/2,
16886
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
16887
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16888
0
                    MVT::f64, 0, 
16889
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
16890
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16891
0
                    MVT::f64, 3, 7, 3, 8, 
16892
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
16893
0
                    MVT::f64, 4, 9, 4, 5, 6, 
16894
0
     0,
16895
0
    90, 
16896
0
     OPC_CheckPredicate, 42,
16897
0
     OPC_MoveSibling2,
16898
0
     OPC_SwitchOpcode , 41, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16899
0
      OPC_RecordNode,
16900
0
      OPC_CheckFoldableChainNode,
16901
0
      OPC_RecordChild1,
16902
0
      OPC_CheckChild1Type, MVT::f64,
16903
0
      OPC_MoveParent,
16904
0
      OPC_CheckType, MVT::f128,
16905
0
      OPC_CheckPatternPredicate5,
16906
0
      OPC_CheckComplexPat1, /*#*/2,
16907
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
16908
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16909
0
                    MVT::f128, 0, 
16910
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
16911
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16912
0
                    MVT::f128, 3, 8, 4, 9, 
16913
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
16914
0
                    MVT::f128, 4, 10, 5, 6, 7, 
16915
0
     38, TARGET_VAL(ISD::FP_EXTEND),
16916
0
      OPC_RecordChild0,
16917
0
      OPC_CheckChild0Type, MVT::f64,
16918
0
      OPC_MoveParent,
16919
0
      OPC_CheckType, MVT::f128,
16920
0
      OPC_CheckPatternPredicate5,
16921
0
      OPC_CheckComplexPat1, /*#*/2,
16922
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
16923
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16924
0
                    MVT::f128, 0, 
16925
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
16926
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16927
0
                    MVT::f128, 3, 7, 3, 8, 
16928
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
16929
0
                    MVT::f128, 4, 9, 4, 5, 6, 
16930
0
     0,
16931
0
    0, 
16932
0
   0,
16933
0
  51, 
16934
0
   OPC_RecordChild1,
16935
0
   OPC_MoveChild2,
16936
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
16937
0
   OPC_RecordMemRef,
16938
0
   OPC_RecordNode,
16939
0
   OPC_CheckFoldableChainNode,
16940
0
   OPC_RecordChild1,
16941
0
   OPC_CheckChild1TypeI64,
16942
0
   OPC_CheckPredicate0, 
16943
0
   OPC_CheckPredicate2, 
16944
0
   OPC_MoveParent,
16945
0
   OPC_SwitchType , 16, MVT::f32,
16946
0
    OPC_CheckComplexPat1, /*#*/3,
16947
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
16948
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
16949
0
                  MVT::f32, 4, 1, 4, 5, 6, 
16950
0
   16, MVT::f64,
16951
0
    OPC_CheckComplexPat1, /*#*/3,
16952
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
16953
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
16954
0
                  MVT::f64, 4, 1, 4, 5, 6, 
16955
0
   0,
16956
0
  113|128,2, 
16957
0
   OPC_MoveChild1,
16958
0
   OPC_SwitchOpcode , 47, TARGET_VAL(ISD::LOAD),
16959
0
    OPC_RecordMemRef,
16960
0
    OPC_RecordNode,
16961
0
    OPC_CheckFoldableChainNode,
16962
0
    OPC_RecordChild1,
16963
0
    OPC_CheckChild1TypeI64,
16964
0
    OPC_CheckPredicate0, 
16965
0
    OPC_CheckPredicate2, 
16966
0
    OPC_MoveParent,
16967
0
    OPC_RecordChild2,
16968
0
    OPC_SwitchType , 16, MVT::f32,
16969
0
     OPC_CheckComplexPat1, /*#*/2,
16970
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
16971
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
16972
0
                   MVT::f32, 4, 3, 4, 5, 6, 
16973
0
    16, MVT::f64,
16974
0
     OPC_CheckComplexPat1, /*#*/2,
16975
0
     OPC_EmitMergeInputChains, 2, 0, 1, 
16976
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
16977
0
                   MVT::f64, 4, 3, 4, 5, 6, 
16978
0
    0,
16979
0
   31|128,1, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16980
0
    OPC_RecordNode,
16981
0
    OPC_CheckFoldableChainNode,
16982
0
    OPC_RecordChild1,
16983
0
    OPC_Scope, 72, 
16984
0
     OPC_MoveSibling2,
16985
0
     OPC_SwitchOpcode , 33, TARGET_VAL(ISD::STRICT_FP_EXTEND),
16986
0
      OPC_RecordNode,
16987
0
      OPC_CheckFoldableChainNode,
16988
0
      OPC_RecordChild1,
16989
0
      OPC_MoveParent,
16990
0
      OPC_CheckType, MVT::f64,
16991
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
16992
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16993
0
                    MVT::f64, 0, 
16994
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
16995
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16996
0
                    MVT::f64, 3, 5, 2, 6, 
16997
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
16998
0
                    MVT::f64, 2, 7, 4, 
16999
0
     30, TARGET_VAL(ISD::FP_EXTEND),
17000
0
      OPC_RecordChild0,
17001
0
      OPC_MoveParent,
17002
0
      OPC_CheckType, MVT::f64,
17003
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
17004
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17005
0
                    MVT::f64, 0, 
17006
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17007
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17008
0
                    MVT::f64, 3, 4, 2, 5, 
17009
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
17010
0
                    MVT::f64, 2, 6, 3, 
17011
0
     0,
17012
0
    80, 
17013
0
     OPC_CheckChild1Type, MVT::f64,
17014
0
     OPC_MoveSibling2,
17015
0
     OPC_SwitchOpcode , 36, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17016
0
      OPC_RecordNode,
17017
0
      OPC_CheckFoldableChainNode,
17018
0
      OPC_RecordChild1,
17019
0
      OPC_CheckChild1Type, MVT::f64,
17020
0
      OPC_MoveParent,
17021
0
      OPC_CheckType, MVT::f128,
17022
0
      OPC_CheckPatternPredicate5,
17023
0
      OPC_EmitMergeInputChains, 3, 0, 1, 3, 
17024
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17025
0
                    MVT::f128, 0, 
17026
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17027
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17028
0
                    MVT::f128, 3, 5, 2, 6, 
17029
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
17030
0
                    MVT::f128, 2, 7, 4, 
17031
0
     33, TARGET_VAL(ISD::FP_EXTEND),
17032
0
      OPC_RecordChild0,
17033
0
      OPC_CheckChild0Type, MVT::f64,
17034
0
      OPC_MoveParent,
17035
0
      OPC_CheckType, MVT::f128,
17036
0
      OPC_CheckPatternPredicate5,
17037
0
      OPC_EmitMergeInputChains, 2, 0, 1, 
17038
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17039
0
                    MVT::f128, 0, 
17040
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17041
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17042
0
                    MVT::f128, 3, 4, 2, 5, 
17043
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
17044
0
                    MVT::f128, 2, 6, 3, 
17045
0
     0,
17046
0
    0, 
17047
0
   21|128,1, TARGET_VAL(ISD::FP_EXTEND),
17048
0
    OPC_RecordChild0,
17049
0
    OPC_Scope, 68, 
17050
0
     OPC_MoveSibling2,
17051
0
     OPC_SwitchOpcode , 32, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17052
0
      OPC_RecordNode,
17053
0
      OPC_CheckFoldableChainNode,
17054
0
      OPC_RecordChild1,
17055
0
      OPC_MoveParent,
17056
0
      OPC_CheckType, MVT::f64,
17057
0
      OPC_EmitMergeInputChains, 2, 0, 2, 
17058
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17059
0
                    MVT::f64, 0, 
17060
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17061
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17062
0
                    MVT::f64, 3, 4, 1, 5, 
17063
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
17064
0
                    MVT::f64, 2, 6, 3, 
17065
0
     27, TARGET_VAL(ISD::FP_EXTEND),
17066
0
      OPC_RecordChild0,
17067
0
      OPC_MoveParent,
17068
0
      OPC_CheckType, MVT::f64,
17069
0
      OPC_EmitMergeInputChains1_0,
17070
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17071
0
                    MVT::f64, 0, 
17072
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17073
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17074
0
                    MVT::f64, 3, 3, 1, 4, 
17075
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
17076
0
                    MVT::f64, 2, 5, 2, 
17077
0
     0,
17078
0
    76, 
17079
0
     OPC_CheckChild0Type, MVT::f64,
17080
0
     OPC_MoveSibling2,
17081
0
     OPC_SwitchOpcode , 35, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17082
0
      OPC_RecordNode,
17083
0
      OPC_CheckFoldableChainNode,
17084
0
      OPC_RecordChild1,
17085
0
      OPC_CheckChild1Type, MVT::f64,
17086
0
      OPC_MoveParent,
17087
0
      OPC_CheckType, MVT::f128,
17088
0
      OPC_CheckPatternPredicate5,
17089
0
      OPC_EmitMergeInputChains, 2, 0, 2, 
17090
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17091
0
                    MVT::f128, 0, 
17092
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17093
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17094
0
                    MVT::f128, 3, 4, 1, 5, 
17095
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
17096
0
                    MVT::f128, 2, 6, 3, 
17097
0
     30, TARGET_VAL(ISD::FP_EXTEND),
17098
0
      OPC_RecordChild0,
17099
0
      OPC_CheckChild0Type, MVT::f64,
17100
0
      OPC_MoveParent,
17101
0
      OPC_CheckType, MVT::f128,
17102
0
      OPC_CheckPatternPredicate5,
17103
0
      OPC_EmitMergeInputChains1_0,
17104
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17105
0
                    MVT::f128, 0, 
17106
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17107
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17108
0
                    MVT::f128, 3, 3, 1, 4, 
17109
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
17110
0
                    MVT::f128, 2, 5, 2, 
17111
0
     0,
17112
0
    0, 
17113
0
   0,
17114
0
  95, 
17115
0
   OPC_RecordChild1,
17116
0
   OPC_RecordChild2,
17117
0
   OPC_SwitchType , 21, MVT::f64,
17118
0
    OPC_Scope, 9, 
17119
0
     OPC_CheckPatternPredicate0,
17120
0
     OPC_EmitMergeInputChains1_0,
17121
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMDB),
17122
0
                   MVT::f64, 2, 1, 2, 
17123
0
    8, 
17124
0
     OPC_EmitMergeInputChains1_0,
17125
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDBR),
17126
0
                   MVT::f64, 2, 1, 2, 
17127
0
    0, 
17128
0
   21, MVT::f32,
17129
0
    OPC_Scope, 9, 
17130
0
     OPC_CheckPatternPredicate1,
17131
0
     OPC_EmitMergeInputChains1_0,
17132
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMSB),
17133
0
                   MVT::f32, 2, 1, 2, 
17134
0
    8, 
17135
0
     OPC_EmitMergeInputChains1_0,
17136
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MEEBR),
17137
0
                   MVT::f32, 2, 1, 2, 
17138
0
    0, 
17139
0
   21, MVT::f128,
17140
0
    OPC_Scope, 9, 
17141
0
     OPC_CheckPatternPredicate1,
17142
0
     OPC_EmitMergeInputChains1_0,
17143
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMXB),
17144
0
                   MVT::f128, 2, 1, 2, 
17145
0
    8, 
17146
0
     OPC_EmitMergeInputChains1_0,
17147
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXBR),
17148
0
                   MVT::f128, 2, 1, 2, 
17149
0
    0, 
17150
0
   9, MVT::v2f64,
17151
0
    OPC_CheckPatternPredicate0,
17152
0
    OPC_EmitMergeInputChains1_0,
17153
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMDB),
17154
0
                  MVT::v2f64, 2, 1, 2, 
17155
0
   9, MVT::v4f32,
17156
0
    OPC_CheckPatternPredicate1,
17157
0
    OPC_EmitMergeInputChains1_0,
17158
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMSB),
17159
0
                  MVT::v4f32, 2, 1, 2, 
17160
0
   0,
17161
0
  0, 
17162
0
 26|128,10, TARGET_VAL(ISD::FMUL),
17163
0
  OPC_Scope, 51|128,6, 
17164
0
   OPC_MoveChild0,
17165
0
   OPC_SwitchOpcode , 33|128,3, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17166
0
    OPC_RecordNode,
17167
0
    OPC_CheckFoldableChainNode,
17168
0
    OPC_Scope, 116, 
17169
0
     OPC_RecordChild1,
17170
0
     OPC_Scope, 53, 
17171
0
      OPC_MoveSibling1,
17172
0
      OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17173
0
      OPC_RecordNode,
17174
0
      OPC_CheckFoldableChainNode,
17175
0
      OPC_MoveChild1,
17176
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17177
0
      OPC_RecordMemRef,
17178
0
      OPC_RecordNode,
17179
0
      OPC_CheckFoldableChainNode,
17180
0
      OPC_RecordChild1,
17181
0
      OPC_CheckChild1TypeI64,
17182
0
      OPC_CheckPredicate0, 
17183
0
      OPC_CheckPredicate2, 
17184
0
      OPC_MoveParent,
17185
0
      OPC_MoveParent,
17186
0
      OPC_CheckType, MVT::f64,
17187
0
      OPC_CheckComplexPat1, /*#*/4,
17188
0
      OPC_EmitMergeInputChains, 3, 0, 2, 3, 
17189
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17190
0
                    MVT::f64, 0, 
17191
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17192
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17193
0
                    MVT::f64, 3, 8, 1, 9, 
17194
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
17195
0
                    MVT::f64, 4, 10, 5, 6, 7, 
17196
0
     58, 
17197
0
      OPC_CheckChild1Type, MVT::f64,
17198
0
      OPC_MoveSibling1,
17199
0
      OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17200
0
      OPC_RecordNode,
17201
0
      OPC_CheckFoldableChainNode,
17202
0
      OPC_MoveChild1,
17203
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17204
0
      OPC_RecordMemRef,
17205
0
      OPC_RecordNode,
17206
0
      OPC_CheckFoldableChainNode,
17207
0
      OPC_RecordChild1,
17208
0
      OPC_CheckChild1TypeI64,
17209
0
      OPC_CheckPredicate0, 
17210
0
      OPC_CheckPredicate2, 
17211
0
      OPC_CheckType, MVT::f64,
17212
0
      OPC_MoveParent,
17213
0
      OPC_MoveParent,
17214
0
      OPC_CheckType, MVT::f128,
17215
0
      OPC_CheckPatternPredicate5,
17216
0
      OPC_CheckComplexPat1, /*#*/4,
17217
0
      OPC_EmitMergeInputChains, 3, 0, 2, 3, 
17218
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17219
0
                    MVT::f128, 0, 
17220
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17221
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17222
0
                    MVT::f128, 3, 8, 1, 9, 
17223
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
17224
0
                    MVT::f128, 4, 10, 5, 6, 7, 
17225
0
     0, 
17226
0
    61|128,1, 
17227
0
     OPC_MoveChild1,
17228
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17229
0
     OPC_RecordMemRef,
17230
0
     OPC_RecordNode,
17231
0
     OPC_CheckFoldableChainNode,
17232
0
     OPC_RecordChild1,
17233
0
     OPC_CheckChild1TypeI64,
17234
0
     OPC_CheckPredicate0, 
17235
0
     OPC_CheckPredicate2, 
17236
0
     OPC_Scope, 83, 
17237
0
      OPC_MoveParent,
17238
0
      OPC_MoveSibling1,
17239
0
      OPC_SwitchOpcode , 38, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17240
0
       OPC_RecordNode,
17241
0
       OPC_CheckFoldableChainNode,
17242
0
       OPC_RecordChild1,
17243
0
       OPC_MoveParent,
17244
0
       OPC_CheckType, MVT::f64,
17245
0
       OPC_CheckComplexPat1, /*#*/2,
17246
0
       OPC_EmitMergeInputChains, 3, 0, 1, 3, 
17247
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17248
0
                     MVT::f64, 0, 
17249
0
       OPC_EmitStringInteger32, SystemZ::subreg_h32,
17250
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17251
0
                     MVT::f64, 3, 8, 4, 9, 
17252
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
17253
0
                     MVT::f64, 4, 10, 5, 6, 7, 
17254
0
      35, TARGET_VAL(ISD::FP_EXTEND),
17255
0
       OPC_RecordChild0,
17256
0
       OPC_MoveParent,
17257
0
       OPC_CheckType, MVT::f64,
17258
0
       OPC_CheckComplexPat1, /*#*/2,
17259
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
17260
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17261
0
                     MVT::f64, 0, 
17262
0
       OPC_EmitStringInteger32, SystemZ::subreg_h32,
17263
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17264
0
                     MVT::f64, 3, 7, 3, 8, 
17265
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
17266
0
                     MVT::f64, 4, 9, 4, 5, 6, 
17267
0
      0,
17268
0
     91, 
17269
0
      OPC_CheckType, MVT::f64,
17270
0
      OPC_MoveParent,
17271
0
      OPC_MoveSibling1,
17272
0
      OPC_SwitchOpcode , 41, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17273
0
       OPC_RecordNode,
17274
0
       OPC_CheckFoldableChainNode,
17275
0
       OPC_RecordChild1,
17276
0
       OPC_CheckChild1Type, MVT::f64,
17277
0
       OPC_MoveParent,
17278
0
       OPC_CheckType, MVT::f128,
17279
0
       OPC_CheckPatternPredicate5,
17280
0
       OPC_CheckComplexPat1, /*#*/2,
17281
0
       OPC_EmitMergeInputChains, 3, 0, 1, 3, 
17282
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17283
0
                     MVT::f128, 0, 
17284
0
       OPC_EmitStringInteger32, SystemZ::subreg_h64,
17285
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17286
0
                     MVT::f128, 3, 8, 4, 9, 
17287
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
17288
0
                     MVT::f128, 4, 10, 5, 6, 7, 
17289
0
      38, TARGET_VAL(ISD::FP_EXTEND),
17290
0
       OPC_RecordChild0,
17291
0
       OPC_CheckChild0Type, MVT::f64,
17292
0
       OPC_MoveParent,
17293
0
       OPC_CheckType, MVT::f128,
17294
0
       OPC_CheckPatternPredicate5,
17295
0
       OPC_CheckComplexPat1, /*#*/2,
17296
0
       OPC_EmitMergeInputChains, 2, 0, 1, 
17297
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17298
0
                     MVT::f128, 0, 
17299
0
       OPC_EmitStringInteger32, SystemZ::subreg_h64,
17300
0
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17301
0
                     MVT::f128, 3, 7, 3, 8, 
17302
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
17303
0
                     MVT::f128, 4, 9, 4, 5, 6, 
17304
0
      0,
17305
0
     0, 
17306
0
    104, 
17307
0
     OPC_RecordChild1,
17308
0
     OPC_Scope, 48, 
17309
0
      OPC_MoveSibling1,
17310
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17311
0
      OPC_RecordMemRef,
17312
0
      OPC_RecordNode,
17313
0
      OPC_CheckFoldableChainNode,
17314
0
      OPC_RecordChild1,
17315
0
      OPC_CheckChild1TypeI64,
17316
0
      OPC_CheckPredicate0, 
17317
0
      OPC_CheckPredicate, 24,
17318
0
      OPC_CheckPredicate, 41,
17319
0
      OPC_MoveParent,
17320
0
      OPC_CheckType, MVT::f64,
17321
0
      OPC_CheckComplexPat1, /*#*/3,
17322
0
      OPC_EmitMergeInputChains, 2, 0, 2, 
17323
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17324
0
                    MVT::f64, 0, 
17325
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17326
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17327
0
                    MVT::f64, 3, 7, 1, 8, 
17328
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
17329
0
                    MVT::f64, 4, 9, 4, 5, 6, 
17330
0
     51, 
17331
0
      OPC_CheckChild1Type, MVT::f64,
17332
0
      OPC_MoveSibling1,
17333
0
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17334
0
      OPC_RecordMemRef,
17335
0
      OPC_RecordNode,
17336
0
      OPC_CheckFoldableChainNode,
17337
0
      OPC_RecordChild1,
17338
0
      OPC_CheckChild1TypeI64,
17339
0
      OPC_CheckPredicate0, 
17340
0
      OPC_CheckPredicate, 24,
17341
0
      OPC_CheckPredicate, 42,
17342
0
      OPC_MoveParent,
17343
0
      OPC_CheckType, MVT::f128,
17344
0
      OPC_CheckPatternPredicate5,
17345
0
      OPC_CheckComplexPat1, /*#*/3,
17346
0
      OPC_EmitMergeInputChains, 2, 0, 2, 
17347
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17348
0
                    MVT::f128, 0, 
17349
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17350
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17351
0
                    MVT::f128, 3, 7, 1, 8, 
17352
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
17353
0
                    MVT::f128, 4, 9, 4, 5, 6, 
17354
0
     0, 
17355
0
    0, 
17356
0
   81|128,1, TARGET_VAL(ISD::FP_EXTEND),
17357
0
    OPC_RecordChild0,
17358
0
    OPC_Scope, 52, 
17359
0
     OPC_MoveSibling1,
17360
0
     OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17361
0
     OPC_RecordNode,
17362
0
     OPC_CheckFoldableChainNode,
17363
0
     OPC_MoveChild1,
17364
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17365
0
     OPC_RecordMemRef,
17366
0
     OPC_RecordNode,
17367
0
     OPC_CheckFoldableChainNode,
17368
0
     OPC_RecordChild1,
17369
0
     OPC_CheckChild1TypeI64,
17370
0
     OPC_CheckPredicate0, 
17371
0
     OPC_CheckPredicate2, 
17372
0
     OPC_MoveParent,
17373
0
     OPC_MoveParent,
17374
0
     OPC_CheckType, MVT::f64,
17375
0
     OPC_CheckComplexPat1, /*#*/3,
17376
0
     OPC_EmitMergeInputChains, 2, 1, 2, 
17377
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17378
0
                   MVT::f64, 0, 
17379
0
     OPC_EmitStringInteger32, SystemZ::subreg_h32,
17380
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17381
0
                   MVT::f64, 3, 7, 0, 8, 
17382
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
17383
0
                   MVT::f64, 4, 9, 4, 5, 6, 
17384
0
    57, 
17385
0
     OPC_CheckChild0Type, MVT::f64,
17386
0
     OPC_MoveSibling1,
17387
0
     OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17388
0
     OPC_RecordNode,
17389
0
     OPC_CheckFoldableChainNode,
17390
0
     OPC_MoveChild1,
17391
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17392
0
     OPC_RecordMemRef,
17393
0
     OPC_RecordNode,
17394
0
     OPC_CheckFoldableChainNode,
17395
0
     OPC_RecordChild1,
17396
0
     OPC_CheckChild1TypeI64,
17397
0
     OPC_CheckPredicate0, 
17398
0
     OPC_CheckPredicate2, 
17399
0
     OPC_CheckType, MVT::f64,
17400
0
     OPC_MoveParent,
17401
0
     OPC_MoveParent,
17402
0
     OPC_CheckType, MVT::f128,
17403
0
     OPC_CheckPatternPredicate5,
17404
0
     OPC_CheckComplexPat1, /*#*/3,
17405
0
     OPC_EmitMergeInputChains, 2, 1, 2, 
17406
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17407
0
                   MVT::f128, 0, 
17408
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
17409
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17410
0
                   MVT::f128, 3, 7, 0, 8, 
17411
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
17412
0
                   MVT::f128, 4, 9, 4, 5, 6, 
17413
0
    45, 
17414
0
     OPC_MoveSibling1,
17415
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17416
0
     OPC_RecordMemRef,
17417
0
     OPC_RecordNode,
17418
0
     OPC_CheckFoldableChainNode,
17419
0
     OPC_RecordChild1,
17420
0
     OPC_CheckChild1TypeI64,
17421
0
     OPC_CheckPredicate0, 
17422
0
     OPC_CheckPredicate, 24,
17423
0
     OPC_CheckPredicate, 41,
17424
0
     OPC_MoveParent,
17425
0
     OPC_CheckType, MVT::f64,
17426
0
     OPC_CheckComplexPat1, /*#*/2,
17427
0
     OPC_EmitMergeInputChains1_1,
17428
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17429
0
                   MVT::f64, 0, 
17430
0
     OPC_EmitStringInteger32, SystemZ::subreg_h32,
17431
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17432
0
                   MVT::f64, 3, 6, 0, 7, 
17433
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
17434
0
                   MVT::f64, 4, 8, 3, 4, 5, 
17435
0
    48, 
17436
0
     OPC_CheckChild0Type, MVT::f64,
17437
0
     OPC_MoveSibling1,
17438
0
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17439
0
     OPC_RecordMemRef,
17440
0
     OPC_RecordNode,
17441
0
     OPC_CheckFoldableChainNode,
17442
0
     OPC_RecordChild1,
17443
0
     OPC_CheckChild1TypeI64,
17444
0
     OPC_CheckPredicate0, 
17445
0
     OPC_CheckPredicate, 24,
17446
0
     OPC_CheckPredicate, 42,
17447
0
     OPC_MoveParent,
17448
0
     OPC_CheckType, MVT::f128,
17449
0
     OPC_CheckPatternPredicate5,
17450
0
     OPC_CheckComplexPat1, /*#*/2,
17451
0
     OPC_EmitMergeInputChains1_1,
17452
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17453
0
                   MVT::f128, 0, 
17454
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
17455
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17456
0
                   MVT::f128, 3, 6, 0, 7, 
17457
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
17458
0
                   MVT::f128, 4, 8, 3, 4, 5, 
17459
0
    0, 
17460
0
   50|128,1, TARGET_VAL(ISD::LOAD),
17461
0
    OPC_RecordMemRef,
17462
0
    OPC_RecordNode,
17463
0
    OPC_CheckFoldableChainNode,
17464
0
    OPC_RecordChild1,
17465
0
    OPC_CheckChild1TypeI64,
17466
0
    OPC_CheckPredicate0, 
17467
0
    OPC_CheckPredicate, 24,
17468
0
    OPC_Scope, 80, 
17469
0
     OPC_CheckPredicate, 41,
17470
0
     OPC_MoveSibling1,
17471
0
     OPC_SwitchOpcode , 37, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17472
0
      OPC_RecordNode,
17473
0
      OPC_CheckFoldableChainNode,
17474
0
      OPC_RecordChild1,
17475
0
      OPC_MoveParent,
17476
0
      OPC_CheckType, MVT::f64,
17477
0
      OPC_CheckComplexPat1, /*#*/1,
17478
0
      OPC_EmitMergeInputChains, 2, 0, 2, 
17479
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17480
0
                    MVT::f64, 0, 
17481
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17482
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17483
0
                    MVT::f64, 3, 7, 3, 8, 
17484
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
17485
0
                    MVT::f64, 4, 9, 4, 5, 6, 
17486
0
     32, TARGET_VAL(ISD::FP_EXTEND),
17487
0
      OPC_RecordChild0,
17488
0
      OPC_MoveParent,
17489
0
      OPC_CheckType, MVT::f64,
17490
0
      OPC_CheckComplexPat1, /*#*/1,
17491
0
      OPC_EmitMergeInputChains1_0,
17492
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17493
0
                    MVT::f64, 0, 
17494
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17495
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17496
0
                    MVT::f64, 3, 6, 2, 7, 
17497
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
17498
0
                    MVT::f64, 4, 8, 3, 4, 5, 
17499
0
     0,
17500
0
    86, 
17501
0
     OPC_CheckPredicate, 42,
17502
0
     OPC_MoveSibling1,
17503
0
     OPC_SwitchOpcode , 40, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17504
0
      OPC_RecordNode,
17505
0
      OPC_CheckFoldableChainNode,
17506
0
      OPC_RecordChild1,
17507
0
      OPC_CheckChild1Type, MVT::f64,
17508
0
      OPC_MoveParent,
17509
0
      OPC_CheckType, MVT::f128,
17510
0
      OPC_CheckPatternPredicate5,
17511
0
      OPC_CheckComplexPat1, /*#*/1,
17512
0
      OPC_EmitMergeInputChains, 2, 0, 2, 
17513
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17514
0
                    MVT::f128, 0, 
17515
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17516
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17517
0
                    MVT::f128, 3, 7, 3, 8, 
17518
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
17519
0
                    MVT::f128, 4, 9, 4, 5, 6, 
17520
0
     35, TARGET_VAL(ISD::FP_EXTEND),
17521
0
      OPC_RecordChild0,
17522
0
      OPC_CheckChild0Type, MVT::f64,
17523
0
      OPC_MoveParent,
17524
0
      OPC_CheckType, MVT::f128,
17525
0
      OPC_CheckPatternPredicate5,
17526
0
      OPC_CheckComplexPat1, /*#*/1,
17527
0
      OPC_EmitMergeInputChains1_0,
17528
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17529
0
                    MVT::f128, 0, 
17530
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17531
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17532
0
                    MVT::f128, 3, 6, 2, 7, 
17533
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
17534
0
                    MVT::f128, 4, 8, 3, 4, 5, 
17535
0
     0,
17536
0
    0, 
17537
0
   0,
17538
0
  45, 
17539
0
   OPC_RecordChild0,
17540
0
   OPC_MoveChild1,
17541
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17542
0
   OPC_RecordMemRef,
17543
0
   OPC_RecordNode,
17544
0
   OPC_CheckFoldableChainNode,
17545
0
   OPC_RecordChild1,
17546
0
   OPC_CheckChild1TypeI64,
17547
0
   OPC_CheckPredicate0, 
17548
0
   OPC_CheckPredicate2, 
17549
0
   OPC_MoveParent,
17550
0
   OPC_SwitchType , 13, MVT::f32,
17551
0
    OPC_CheckComplexPat1, /*#*/2,
17552
0
    OPC_EmitMergeInputChains1_1,
17553
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
17554
0
                  MVT::f32, 4, 0, 3, 4, 5, 
17555
0
   13, MVT::f64,
17556
0
    OPC_CheckComplexPat1, /*#*/2,
17557
0
    OPC_EmitMergeInputChains1_1,
17558
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
17559
0
                  MVT::f64, 4, 0, 3, 4, 5, 
17560
0
   0,
17561
0
  91|128,2, 
17562
0
   OPC_MoveChild0,
17563
0
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::LOAD),
17564
0
    OPC_RecordMemRef,
17565
0
    OPC_RecordNode,
17566
0
    OPC_CheckFoldableChainNode,
17567
0
    OPC_RecordChild1,
17568
0
    OPC_CheckChild1TypeI64,
17569
0
    OPC_CheckPredicate0, 
17570
0
    OPC_CheckPredicate2, 
17571
0
    OPC_MoveParent,
17572
0
    OPC_RecordChild1,
17573
0
    OPC_SwitchType , 13, MVT::f32,
17574
0
     OPC_CheckComplexPat1, /*#*/1,
17575
0
     OPC_EmitMergeInputChains1_0,
17576
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
17577
0
                   MVT::f32, 4, 2, 3, 4, 5, 
17578
0
    13, MVT::f64,
17579
0
     OPC_CheckComplexPat1, /*#*/1,
17580
0
     OPC_EmitMergeInputChains1_0,
17581
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
17582
0
                   MVT::f64, 4, 2, 3, 4, 5, 
17583
0
    0,
17584
0
   23|128,1, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17585
0
    OPC_RecordNode,
17586
0
    OPC_CheckFoldableChainNode,
17587
0
    OPC_RecordChild1,
17588
0
    OPC_Scope, 68, 
17589
0
     OPC_MoveSibling1,
17590
0
     OPC_SwitchOpcode , 32, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17591
0
      OPC_RecordNode,
17592
0
      OPC_CheckFoldableChainNode,
17593
0
      OPC_RecordChild1,
17594
0
      OPC_MoveParent,
17595
0
      OPC_CheckType, MVT::f64,
17596
0
      OPC_EmitMergeInputChains, 2, 0, 2, 
17597
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17598
0
                    MVT::f64, 0, 
17599
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17600
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17601
0
                    MVT::f64, 3, 4, 1, 5, 
17602
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
17603
0
                    MVT::f64, 2, 6, 3, 
17604
0
     27, TARGET_VAL(ISD::FP_EXTEND),
17605
0
      OPC_RecordChild0,
17606
0
      OPC_MoveParent,
17607
0
      OPC_CheckType, MVT::f64,
17608
0
      OPC_EmitMergeInputChains1_0,
17609
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17610
0
                    MVT::f64, 0, 
17611
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17612
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17613
0
                    MVT::f64, 3, 3, 1, 4, 
17614
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
17615
0
                    MVT::f64, 2, 5, 2, 
17616
0
     0,
17617
0
    76, 
17618
0
     OPC_CheckChild1Type, MVT::f64,
17619
0
     OPC_MoveSibling1,
17620
0
     OPC_SwitchOpcode , 35, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17621
0
      OPC_RecordNode,
17622
0
      OPC_CheckFoldableChainNode,
17623
0
      OPC_RecordChild1,
17624
0
      OPC_CheckChild1Type, MVT::f64,
17625
0
      OPC_MoveParent,
17626
0
      OPC_CheckType, MVT::f128,
17627
0
      OPC_CheckPatternPredicate5,
17628
0
      OPC_EmitMergeInputChains, 2, 0, 2, 
17629
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17630
0
                    MVT::f128, 0, 
17631
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17632
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17633
0
                    MVT::f128, 3, 4, 1, 5, 
17634
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
17635
0
                    MVT::f128, 2, 6, 3, 
17636
0
     30, TARGET_VAL(ISD::FP_EXTEND),
17637
0
      OPC_RecordChild0,
17638
0
      OPC_CheckChild0Type, MVT::f64,
17639
0
      OPC_MoveParent,
17640
0
      OPC_CheckType, MVT::f128,
17641
0
      OPC_CheckPatternPredicate5,
17642
0
      OPC_EmitMergeInputChains1_0,
17643
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17644
0
                    MVT::f128, 0, 
17645
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17646
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17647
0
                    MVT::f128, 3, 3, 1, 4, 
17648
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
17649
0
                    MVT::f128, 2, 5, 2, 
17650
0
     0,
17651
0
    0, 
17652
0
   13|128,1, TARGET_VAL(ISD::FP_EXTEND),
17653
0
    OPC_RecordChild0,
17654
0
    OPC_Scope, 64, 
17655
0
     OPC_MoveSibling1,
17656
0
     OPC_SwitchOpcode , 29, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17657
0
      OPC_RecordNode,
17658
0
      OPC_CheckFoldableChainNode,
17659
0
      OPC_RecordChild1,
17660
0
      OPC_MoveParent,
17661
0
      OPC_CheckType, MVT::f64,
17662
0
      OPC_EmitMergeInputChains1_1,
17663
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17664
0
                    MVT::f64, 0, 
17665
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17666
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17667
0
                    MVT::f64, 3, 3, 0, 4, 
17668
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
17669
0
                    MVT::f64, 2, 5, 2, 
17670
0
     26, TARGET_VAL(ISD::FP_EXTEND),
17671
0
      OPC_RecordChild0,
17672
0
      OPC_MoveParent,
17673
0
      OPC_CheckType, MVT::f64,
17674
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17675
0
                    MVT::f64, 0, 
17676
0
      OPC_EmitStringInteger32, SystemZ::subreg_h32,
17677
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17678
0
                    MVT::f64, 3, 2, 0, 3, 
17679
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MDEBR),
17680
0
                    MVT::f64, 2, 4, 1, 
17681
0
     0,
17682
0
    72, 
17683
0
     OPC_CheckChild0Type, MVT::f64,
17684
0
     OPC_MoveSibling1,
17685
0
     OPC_SwitchOpcode , 32, TARGET_VAL(ISD::STRICT_FP_EXTEND),
17686
0
      OPC_RecordNode,
17687
0
      OPC_CheckFoldableChainNode,
17688
0
      OPC_RecordChild1,
17689
0
      OPC_CheckChild1Type, MVT::f64,
17690
0
      OPC_MoveParent,
17691
0
      OPC_CheckType, MVT::f128,
17692
0
      OPC_CheckPatternPredicate5,
17693
0
      OPC_EmitMergeInputChains1_1,
17694
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17695
0
                    MVT::f128, 0, 
17696
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17697
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17698
0
                    MVT::f128, 3, 3, 0, 4, 
17699
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
17700
0
                    MVT::f128, 2, 5, 2, 
17701
0
     29, TARGET_VAL(ISD::FP_EXTEND),
17702
0
      OPC_RecordChild0,
17703
0
      OPC_CheckChild0Type, MVT::f64,
17704
0
      OPC_MoveParent,
17705
0
      OPC_CheckType, MVT::f128,
17706
0
      OPC_CheckPatternPredicate5,
17707
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17708
0
                    MVT::f128, 0, 
17709
0
      OPC_EmitStringInteger32, SystemZ::subreg_h64,
17710
0
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17711
0
                    MVT::f128, 3, 2, 0, 3, 
17712
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MXDBR),
17713
0
                    MVT::f128, 2, 4, 1, 
17714
0
     0,
17715
0
    0, 
17716
0
   0,
17717
0
  87, 
17718
0
   OPC_RecordChild0,
17719
0
   OPC_RecordChild1,
17720
0
   OPC_SwitchType , 19, MVT::f64,
17721
0
    OPC_Scope, 8, 
17722
0
     OPC_CheckPatternPredicate0,
17723
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMDB),
17724
0
                   MVT::f64, 2, 0, 1, 
17725
0
    7, 
17726
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MDBR),
17727
0
                   MVT::f64, 2, 0, 1, 
17728
0
    0, 
17729
0
   19, MVT::f32,
17730
0
    OPC_Scope, 8, 
17731
0
     OPC_CheckPatternPredicate1,
17732
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMSB),
17733
0
                   MVT::f32, 2, 0, 1, 
17734
0
    7, 
17735
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MEEBR),
17736
0
                   MVT::f32, 2, 0, 1, 
17737
0
    0, 
17738
0
   19, MVT::f128,
17739
0
    OPC_Scope, 8, 
17740
0
     OPC_CheckPatternPredicate1,
17741
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMXB),
17742
0
                   MVT::f128, 2, 0, 1, 
17743
0
    7, 
17744
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MXBR),
17745
0
                   MVT::f128, 2, 0, 1, 
17746
0
    0, 
17747
0
   8, MVT::v2f64,
17748
0
    OPC_CheckPatternPredicate0,
17749
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMDB),
17750
0
                  MVT::v2f64, 2, 0, 1, 
17751
0
   8, MVT::v4f32,
17752
0
    OPC_CheckPatternPredicate1,
17753
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMSB),
17754
0
                  MVT::v4f32, 2, 0, 1, 
17755
0
   0,
17756
0
  0, 
17757
0
 52|128,3, TARGET_VAL(ISD::STRICT_FMA),
17758
0
  OPC_RecordNode,
17759
0
  OPC_Scope, 58, 
17760
0
   OPC_RecordChild1,
17761
0
   OPC_MoveChild2,
17762
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17763
0
   OPC_RecordMemRef,
17764
0
   OPC_RecordNode,
17765
0
   OPC_CheckFoldableChainNode,
17766
0
   OPC_RecordChild1,
17767
0
   OPC_CheckChild1TypeI64,
17768
0
   OPC_CheckPredicate0, 
17769
0
   OPC_CheckPredicate2, 
17770
0
   OPC_MoveSibling3,
17771
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
17772
0
   OPC_RecordChild0,
17773
0
   OPC_MoveParent,
17774
0
   OPC_SwitchType , 17, MVT::f32,
17775
0
    OPC_CheckComplexPat1, /*#*/3,
17776
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
17777
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
17778
0
                  MVT::f32, 5, 4, 1, 5, 6, 7, 
17779
0
   17, MVT::f64,
17780
0
    OPC_CheckComplexPat1, /*#*/3,
17781
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
17782
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
17783
0
                  MVT::f64, 5, 4, 1, 5, 6, 7, 
17784
0
   0,
17785
0
  59, 
17786
0
   OPC_MoveChild1,
17787
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17788
0
   OPC_RecordMemRef,
17789
0
   OPC_RecordNode,
17790
0
   OPC_CheckFoldableChainNode,
17791
0
   OPC_RecordChild1,
17792
0
   OPC_CheckChild1TypeI64,
17793
0
   OPC_CheckPredicate0, 
17794
0
   OPC_CheckPredicate2, 
17795
0
   OPC_MoveParent,
17796
0
   OPC_RecordChild2,
17797
0
   OPC_MoveChild3,
17798
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
17799
0
   OPC_RecordChild0,
17800
0
   OPC_MoveParent,
17801
0
   OPC_SwitchType , 17, MVT::f32,
17802
0
    OPC_CheckComplexPat1, /*#*/2,
17803
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
17804
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
17805
0
                  MVT::f32, 5, 4, 3, 5, 6, 7, 
17806
0
   17, MVT::f64,
17807
0
    OPC_CheckComplexPat1, /*#*/2,
17808
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
17809
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
17810
0
                  MVT::f64, 5, 4, 3, 5, 6, 7, 
17811
0
   0,
17812
0
  54, 
17813
0
   OPC_RecordChild1,
17814
0
   OPC_MoveChild2,
17815
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17816
0
   OPC_RecordMemRef,
17817
0
   OPC_RecordNode,
17818
0
   OPC_CheckFoldableChainNode,
17819
0
   OPC_RecordChild1,
17820
0
   OPC_CheckChild1TypeI64,
17821
0
   OPC_CheckPredicate0, 
17822
0
   OPC_CheckPredicate2, 
17823
0
   OPC_MoveParent,
17824
0
   OPC_RecordChild3,
17825
0
   OPC_SwitchType , 17, MVT::f32,
17826
0
    OPC_CheckComplexPat1, /*#*/3,
17827
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
17828
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
17829
0
                  MVT::f32, 5, 4, 1, 5, 6, 7, 
17830
0
   17, MVT::f64,
17831
0
    OPC_CheckComplexPat1, /*#*/3,
17832
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
17833
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
17834
0
                  MVT::f64, 5, 4, 1, 5, 6, 7, 
17835
0
   0,
17836
0
  54, 
17837
0
   OPC_MoveChild1,
17838
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17839
0
   OPC_RecordMemRef,
17840
0
   OPC_RecordNode,
17841
0
   OPC_CheckFoldableChainNode,
17842
0
   OPC_RecordChild1,
17843
0
   OPC_CheckChild1TypeI64,
17844
0
   OPC_CheckPredicate0, 
17845
0
   OPC_CheckPredicate2, 
17846
0
   OPC_MoveParent,
17847
0
   OPC_RecordChild2,
17848
0
   OPC_RecordChild3,
17849
0
   OPC_SwitchType , 17, MVT::f32,
17850
0
    OPC_CheckComplexPat1, /*#*/2,
17851
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
17852
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
17853
0
                  MVT::f32, 5, 4, 3, 5, 6, 7, 
17854
0
   17, MVT::f64,
17855
0
    OPC_CheckComplexPat1, /*#*/2,
17856
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
17857
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
17858
0
                  MVT::f64, 5, 4, 3, 5, 6, 7, 
17859
0
   0,
17860
0
  74|128,1, 
17861
0
   OPC_RecordChild1,
17862
0
   OPC_RecordChild2,
17863
0
   OPC_Scope, 70, 
17864
0
    OPC_MoveChild3,
17865
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
17866
0
    OPC_RecordChild0,
17867
0
    OPC_MoveParent,
17868
0
    OPC_SwitchType , 23, MVT::f64,
17869
0
     OPC_Scope, 10, 
17870
0
      OPC_CheckPatternPredicate0,
17871
0
      OPC_EmitMergeInputChains1_0,
17872
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMSDB),
17873
0
                    MVT::f64, 3, 1, 2, 3, 
17874
0
     9, 
17875
0
      OPC_EmitMergeInputChains1_0,
17876
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MSDBR),
17877
0
                    MVT::f64, 3, 3, 1, 2, 
17878
0
     0, 
17879
0
    23, MVT::f32,
17880
0
     OPC_Scope, 10, 
17881
0
      OPC_CheckPatternPredicate1,
17882
0
      OPC_EmitMergeInputChains1_0,
17883
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMSSB),
17884
0
                    MVT::f32, 3, 1, 2, 3, 
17885
0
     9, 
17886
0
      OPC_EmitMergeInputChains1_0,
17887
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MSEBR),
17888
0
                    MVT::f32, 3, 3, 1, 2, 
17889
0
     0, 
17890
0
    10, MVT::f128,
17891
0
     OPC_CheckPatternPredicate1,
17892
0
     OPC_EmitMergeInputChains1_0,
17893
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMSXB),
17894
0
                   MVT::f128, 3, 1, 2, 3, 
17895
0
    0,
17896
0
   65, 
17897
0
    OPC_RecordChild3,
17898
0
    OPC_SwitchType , 23, MVT::f64,
17899
0
     OPC_Scope, 10, 
17900
0
      OPC_CheckPatternPredicate0,
17901
0
      OPC_EmitMergeInputChains1_0,
17902
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMADB),
17903
0
                    MVT::f64, 3, 1, 2, 3, 
17904
0
     9, 
17905
0
      OPC_EmitMergeInputChains1_0,
17906
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MADBR),
17907
0
                    MVT::f64, 3, 3, 1, 2, 
17908
0
     0, 
17909
0
    23, MVT::f32,
17910
0
     OPC_Scope, 10, 
17911
0
      OPC_CheckPatternPredicate1,
17912
0
      OPC_EmitMergeInputChains1_0,
17913
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMASB),
17914
0
                    MVT::f32, 3, 1, 2, 3, 
17915
0
     9, 
17916
0
      OPC_EmitMergeInputChains1_0,
17917
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MAEBR),
17918
0
                    MVT::f32, 3, 3, 1, 2, 
17919
0
     0, 
17920
0
    10, MVT::f128,
17921
0
     OPC_CheckPatternPredicate1,
17922
0
     OPC_EmitMergeInputChains1_0,
17923
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXB),
17924
0
                   MVT::f128, 3, 1, 2, 3, 
17925
0
    0,
17926
0
   32, 
17927
0
    OPC_MoveChild3,
17928
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
17929
0
    OPC_RecordChild0,
17930
0
    OPC_MoveParent,
17931
0
    OPC_SwitchType , 10, MVT::v2f64,
17932
0
     OPC_CheckPatternPredicate0,
17933
0
     OPC_EmitMergeInputChains1_0,
17934
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMSDB),
17935
0
                   MVT::v2f64, 3, 1, 2, 3, 
17936
0
    10, MVT::v4f32,
17937
0
     OPC_CheckPatternPredicate1,
17938
0
     OPC_EmitMergeInputChains1_0,
17939
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMSSB),
17940
0
                   MVT::v4f32, 3, 1, 2, 3, 
17941
0
    0,
17942
0
   27, 
17943
0
    OPC_RecordChild3,
17944
0
    OPC_SwitchType , 10, MVT::v2f64,
17945
0
     OPC_CheckPatternPredicate0,
17946
0
     OPC_EmitMergeInputChains1_0,
17947
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMADB),
17948
0
                   MVT::v2f64, 3, 1, 2, 3, 
17949
0
    10, MVT::v4f32,
17950
0
     OPC_CheckPatternPredicate1,
17951
0
     OPC_EmitMergeInputChains1_0,
17952
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMASB),
17953
0
                   MVT::v4f32, 3, 1, 2, 3, 
17954
0
    0,
17955
0
   0, 
17956
0
  0, 
17957
0
 13|128,3, TARGET_VAL(ISD::FMA),
17958
0
  OPC_Scope, 52, 
17959
0
   OPC_RecordChild0,
17960
0
   OPC_MoveChild1,
17961
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17962
0
   OPC_RecordMemRef,
17963
0
   OPC_RecordNode,
17964
0
   OPC_CheckFoldableChainNode,
17965
0
   OPC_RecordChild1,
17966
0
   OPC_CheckChild1TypeI64,
17967
0
   OPC_CheckPredicate0, 
17968
0
   OPC_CheckPredicate2, 
17969
0
   OPC_MoveSibling2,
17970
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
17971
0
   OPC_RecordChild0,
17972
0
   OPC_MoveParent,
17973
0
   OPC_SwitchType , 14, MVT::f32,
17974
0
    OPC_CheckComplexPat1, /*#*/2,
17975
0
    OPC_EmitMergeInputChains1_1,
17976
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
17977
0
                  MVT::f32, 5, 3, 0, 4, 5, 6, 
17978
0
   14, MVT::f64,
17979
0
    OPC_CheckComplexPat1, /*#*/2,
17980
0
    OPC_EmitMergeInputChains1_1,
17981
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
17982
0
                  MVT::f64, 5, 3, 0, 4, 5, 6, 
17983
0
   0,
17984
0
  53, 
17985
0
   OPC_MoveChild0,
17986
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
17987
0
   OPC_RecordMemRef,
17988
0
   OPC_RecordNode,
17989
0
   OPC_CheckFoldableChainNode,
17990
0
   OPC_RecordChild1,
17991
0
   OPC_CheckChild1TypeI64,
17992
0
   OPC_CheckPredicate0, 
17993
0
   OPC_CheckPredicate2, 
17994
0
   OPC_MoveParent,
17995
0
   OPC_RecordChild1,
17996
0
   OPC_MoveChild2,
17997
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
17998
0
   OPC_RecordChild0,
17999
0
   OPC_MoveParent,
18000
0
   OPC_SwitchType , 14, MVT::f32,
18001
0
    OPC_CheckComplexPat1, /*#*/1,
18002
0
    OPC_EmitMergeInputChains1_0,
18003
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
18004
0
                  MVT::f32, 5, 3, 2, 4, 5, 6, 
18005
0
   14, MVT::f64,
18006
0
    OPC_CheckComplexPat1, /*#*/1,
18007
0
    OPC_EmitMergeInputChains1_0,
18008
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
18009
0
                  MVT::f64, 5, 3, 2, 4, 5, 6, 
18010
0
   0,
18011
0
  48, 
18012
0
   OPC_RecordChild0,
18013
0
   OPC_MoveChild1,
18014
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18015
0
   OPC_RecordMemRef,
18016
0
   OPC_RecordNode,
18017
0
   OPC_CheckFoldableChainNode,
18018
0
   OPC_RecordChild1,
18019
0
   OPC_CheckChild1TypeI64,
18020
0
   OPC_CheckPredicate0, 
18021
0
   OPC_CheckPredicate2, 
18022
0
   OPC_MoveParent,
18023
0
   OPC_RecordChild2,
18024
0
   OPC_SwitchType , 14, MVT::f32,
18025
0
    OPC_CheckComplexPat1, /*#*/2,
18026
0
    OPC_EmitMergeInputChains1_1,
18027
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
18028
0
                  MVT::f32, 5, 3, 0, 4, 5, 6, 
18029
0
   14, MVT::f64,
18030
0
    OPC_CheckComplexPat1, /*#*/2,
18031
0
    OPC_EmitMergeInputChains1_1,
18032
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
18033
0
                  MVT::f64, 5, 3, 0, 4, 5, 6, 
18034
0
   0,
18035
0
  48, 
18036
0
   OPC_MoveChild0,
18037
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18038
0
   OPC_RecordMemRef,
18039
0
   OPC_RecordNode,
18040
0
   OPC_CheckFoldableChainNode,
18041
0
   OPC_RecordChild1,
18042
0
   OPC_CheckChild1TypeI64,
18043
0
   OPC_CheckPredicate0, 
18044
0
   OPC_CheckPredicate2, 
18045
0
   OPC_MoveParent,
18046
0
   OPC_RecordChild1,
18047
0
   OPC_RecordChild2,
18048
0
   OPC_SwitchType , 14, MVT::f32,
18049
0
    OPC_CheckComplexPat1, /*#*/1,
18050
0
    OPC_EmitMergeInputChains1_0,
18051
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
18052
0
                  MVT::f32, 5, 3, 2, 4, 5, 6, 
18053
0
   14, MVT::f64,
18054
0
    OPC_CheckComplexPat1, /*#*/1,
18055
0
    OPC_EmitMergeInputChains1_0,
18056
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
18057
0
                  MVT::f64, 5, 3, 2, 4, 5, 6, 
18058
0
   0,
18059
0
  60|128,1, 
18060
0
   OPC_RecordChild0,
18061
0
   OPC_RecordChild1,
18062
0
   OPC_Scope, 65, 
18063
0
    OPC_MoveChild2,
18064
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
18065
0
    OPC_RecordChild0,
18066
0
    OPC_MoveParent,
18067
0
    OPC_SwitchType , 21, MVT::f64,
18068
0
     OPC_Scope, 9, 
18069
0
      OPC_CheckPatternPredicate0,
18070
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMSDB),
18071
0
                    MVT::f64, 3, 0, 1, 2, 
18072
0
     8, 
18073
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSDBR),
18074
0
                    MVT::f64, 3, 2, 0, 1, 
18075
0
     0, 
18076
0
    21, MVT::f32,
18077
0
     OPC_Scope, 9, 
18078
0
      OPC_CheckPatternPredicate1,
18079
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMSSB),
18080
0
                    MVT::f32, 3, 0, 1, 2, 
18081
0
     8, 
18082
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSEBR),
18083
0
                    MVT::f32, 3, 2, 0, 1, 
18084
0
     0, 
18085
0
    9, MVT::f128,
18086
0
     OPC_CheckPatternPredicate1,
18087
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMSXB),
18088
0
                   MVT::f128, 3, 0, 1, 2, 
18089
0
    0,
18090
0
   60, 
18091
0
    OPC_RecordChild2,
18092
0
    OPC_SwitchType , 21, MVT::f64,
18093
0
     OPC_Scope, 9, 
18094
0
      OPC_CheckPatternPredicate0,
18095
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMADB),
18096
0
                    MVT::f64, 3, 0, 1, 2, 
18097
0
     8, 
18098
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MADBR),
18099
0
                    MVT::f64, 3, 2, 0, 1, 
18100
0
     0, 
18101
0
    21, MVT::f32,
18102
0
     OPC_Scope, 9, 
18103
0
      OPC_CheckPatternPredicate1,
18104
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMASB),
18105
0
                    MVT::f32, 3, 0, 1, 2, 
18106
0
     8, 
18107
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MAEBR),
18108
0
                    MVT::f32, 3, 2, 0, 1, 
18109
0
     0, 
18110
0
    9, MVT::f128,
18111
0
     OPC_CheckPatternPredicate1,
18112
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXB),
18113
0
                   MVT::f128, 3, 0, 1, 2, 
18114
0
    0,
18115
0
   30, 
18116
0
    OPC_MoveChild2,
18117
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
18118
0
    OPC_RecordChild0,
18119
0
    OPC_MoveParent,
18120
0
    OPC_SwitchType , 9, MVT::v2f64,
18121
0
     OPC_CheckPatternPredicate0,
18122
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMSDB),
18123
0
                   MVT::v2f64, 3, 0, 1, 2, 
18124
0
    9, MVT::v4f32,
18125
0
     OPC_CheckPatternPredicate1,
18126
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMSSB),
18127
0
                   MVT::v4f32, 3, 0, 1, 2, 
18128
0
    0,
18129
0
   25, 
18130
0
    OPC_RecordChild2,
18131
0
    OPC_SwitchType , 9, MVT::v2f64,
18132
0
     OPC_CheckPatternPredicate0,
18133
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMADB),
18134
0
                   MVT::v2f64, 3, 0, 1, 2, 
18135
0
    9, MVT::v4f32,
18136
0
     OPC_CheckPatternPredicate1,
18137
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMASB),
18138
0
                   MVT::v4f32, 3, 0, 1, 2, 
18139
0
    0,
18140
0
   0, 
18141
0
  0, 
18142
0
 33|128,1, TARGET_VAL(ISD::STRICT_FP_EXTEND),
18143
0
  OPC_RecordNode,
18144
0
  OPC_Scope, 76, 
18145
0
   OPC_MoveChild1,
18146
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18147
0
   OPC_RecordMemRef,
18148
0
   OPC_RecordNode,
18149
0
   OPC_CheckFoldableChainNode,
18150
0
   OPC_RecordChild1,
18151
0
   OPC_CheckChild1TypeI64,
18152
0
   OPC_CheckPredicate0, 
18153
0
   OPC_CheckPredicate2, 
18154
0
   OPC_Scope, 18, 
18155
0
    OPC_MoveParent,
18156
0
    OPC_CheckType, MVT::f64,
18157
0
    OPC_CheckComplexPat1, /*#*/2,
18158
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
18159
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDEB), 0|OPFL_Chain|OPFL_MemRefs,
18160
0
                  MVT::f64, 3, 3, 4, 5, 
18161
0
   21, 
18162
0
    OPC_CheckType, MVT::f32,
18163
0
    OPC_MoveParent,
18164
0
    OPC_CheckType, MVT::f128,
18165
0
    OPC_CheckPatternPredicate5,
18166
0
    OPC_CheckComplexPat1, /*#*/2,
18167
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
18168
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXEB), 0|OPFL_Chain|OPFL_MemRefs,
18169
0
                  MVT::f128, 3, 3, 4, 5, 
18170
0
   21, 
18171
0
    OPC_CheckType, MVT::f64,
18172
0
    OPC_MoveParent,
18173
0
    OPC_CheckType, MVT::f128,
18174
0
    OPC_CheckPatternPredicate5,
18175
0
    OPC_CheckComplexPat1, /*#*/2,
18176
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
18177
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXDB), 0|OPFL_Chain|OPFL_MemRefs,
18178
0
                  MVT::f128, 3, 3, 4, 5, 
18179
0
   0, 
18180
0
  80, 
18181
0
   OPC_RecordChild1,
18182
0
   OPC_SwitchType , 19, MVT::f64,
18183
0
    OPC_Scope, 8, 
18184
0
     OPC_CheckPatternPredicate0,
18185
0
     OPC_EmitMergeInputChains1_0,
18186
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WLDEB),
18187
0
                   MVT::f64, 1, 1, 
18188
0
    7, 
18189
0
     OPC_EmitMergeInputChains1_0,
18190
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LDEBR),
18191
0
                   MVT::f64, 1, 1, 
18192
0
    0, 
18193
0
   54, MVT::f128,
18194
0
    OPC_Scope, 22, 
18195
0
     OPC_CheckChild1Type, MVT::f64,
18196
0
     OPC_Scope, 8, 
18197
0
      OPC_CheckPatternPredicate1,
18198
0
      OPC_EmitMergeInputChains1_0,
18199
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFLLD),
18200
0
                    MVT::f128, 1, 1, 
18201
0
     8, 
18202
0
      OPC_CheckPatternPredicate5,
18203
0
      OPC_EmitMergeInputChains1_0,
18204
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LXDBR),
18205
0
                    MVT::f128, 1, 1, 
18206
0
     0, 
18207
0
    28, 
18208
0
     OPC_CheckChild1Type, MVT::f32,
18209
0
     OPC_Scope, 8, 
18210
0
      OPC_CheckPatternPredicate5,
18211
0
      OPC_EmitMergeInputChains1_0,
18212
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LXEBR),
18213
0
                    MVT::f128, 1, 1, 
18214
0
     14, 
18215
0
      OPC_CheckPatternPredicate1,
18216
0
      OPC_EmitMergeInputChains1_0,
18217
0
      OPC_EmitNode1Chain, TARGET_VAL(SystemZ::WLDEB),
18218
0
                    MVT::f64, 1, 1, 
18219
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFLLD),
18220
0
                    MVT::f128, 1, 2, 
18221
0
     0, 
18222
0
    0, 
18223
0
   0,
18224
0
  0, 
18225
0
 11|128,1, TARGET_VAL(ISD::STRICT_FSQRT),
18226
0
  OPC_RecordNode,
18227
0
  OPC_Scope, 48, 
18228
0
   OPC_MoveChild1,
18229
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18230
0
   OPC_RecordMemRef,
18231
0
   OPC_RecordNode,
18232
0
   OPC_CheckFoldableChainNode,
18233
0
   OPC_RecordChild1,
18234
0
   OPC_CheckChild1TypeI64,
18235
0
   OPC_CheckPredicate0, 
18236
0
   OPC_CheckPredicate2, 
18237
0
   OPC_MoveParent,
18238
0
   OPC_SwitchType , 15, MVT::f32,
18239
0
    OPC_CheckComplexPat1, /*#*/2,
18240
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
18241
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQEB), 0|OPFL_Chain|OPFL_MemRefs,
18242
0
                  MVT::f32, 3, 3, 4, 5, 
18243
0
   15, MVT::f64,
18244
0
    OPC_CheckComplexPat1, /*#*/2,
18245
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
18246
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQDB), 0|OPFL_Chain|OPFL_MemRefs,
18247
0
                  MVT::f64, 3, 3, 4, 5, 
18248
0
   0,
18249
0
  86, 
18250
0
   OPC_RecordChild1,
18251
0
   OPC_SwitchType , 19, MVT::f64,
18252
0
    OPC_Scope, 8, 
18253
0
     OPC_CheckPatternPredicate0,
18254
0
     OPC_EmitMergeInputChains1_0,
18255
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSQDB),
18256
0
                   MVT::f64, 1, 1, 
18257
0
    7, 
18258
0
     OPC_EmitMergeInputChains1_0,
18259
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::SQDBR),
18260
0
                   MVT::f64, 1, 1, 
18261
0
    0, 
18262
0
   19, MVT::f32,
18263
0
    OPC_Scope, 8, 
18264
0
     OPC_CheckPatternPredicate1,
18265
0
     OPC_EmitMergeInputChains1_0,
18266
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSQSB),
18267
0
                   MVT::f32, 1, 1, 
18268
0
    7, 
18269
0
     OPC_EmitMergeInputChains1_0,
18270
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::SQEBR),
18271
0
                   MVT::f32, 1, 1, 
18272
0
    0, 
18273
0
   19, MVT::f128,
18274
0
    OPC_Scope, 8, 
18275
0
     OPC_CheckPatternPredicate1,
18276
0
     OPC_EmitMergeInputChains1_0,
18277
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSQXB),
18278
0
                   MVT::f128, 1, 1, 
18279
0
    7, 
18280
0
     OPC_EmitMergeInputChains1_0,
18281
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::SQXBR),
18282
0
                   MVT::f128, 1, 1, 
18283
0
    0, 
18284
0
   8, MVT::v2f64,
18285
0
    OPC_CheckPatternPredicate0,
18286
0
    OPC_EmitMergeInputChains1_0,
18287
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFSQDB),
18288
0
                  MVT::v2f64, 1, 1, 
18289
0
   8, MVT::v4f32,
18290
0
    OPC_CheckPatternPredicate1,
18291
0
    OPC_EmitMergeInputChains1_0,
18292
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFSQSB),
18293
0
                  MVT::v4f32, 1, 1, 
18294
0
   0,
18295
0
  0, 
18296
0
 123, TARGET_VAL(ISD::FSQRT),
18297
0
  OPC_Scope, 41, 
18298
0
   OPC_MoveChild0,
18299
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18300
0
   OPC_RecordMemRef,
18301
0
   OPC_RecordNode,
18302
0
   OPC_RecordChild1,
18303
0
   OPC_CheckChild1TypeI64,
18304
0
   OPC_CheckPredicate0, 
18305
0
   OPC_CheckPredicate2, 
18306
0
   OPC_MoveParent,
18307
0
   OPC_SwitchType , 12, MVT::f32,
18308
0
    OPC_CheckComplexPat1, /*#*/1,
18309
0
    OPC_EmitMergeInputChains1_0,
18310
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQEB), 0|OPFL_Chain|OPFL_MemRefs,
18311
0
                  MVT::f32, 3, 2, 3, 4, 
18312
0
   12, MVT::f64,
18313
0
    OPC_CheckComplexPat1, /*#*/1,
18314
0
    OPC_EmitMergeInputChains1_0,
18315
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQDB), 0|OPFL_Chain|OPFL_MemRefs,
18316
0
                  MVT::f64, 3, 2, 3, 4, 
18317
0
   0,
18318
0
  78, 
18319
0
   OPC_RecordChild0,
18320
0
   OPC_SwitchType , 17, MVT::f64,
18321
0
    OPC_Scope, 7, 
18322
0
     OPC_CheckPatternPredicate0,
18323
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSQDB),
18324
0
                   MVT::f64, 1, 0, 
18325
0
    6, 
18326
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SQDBR),
18327
0
                   MVT::f64, 1, 0, 
18328
0
    0, 
18329
0
   17, MVT::f32,
18330
0
    OPC_Scope, 7, 
18331
0
     OPC_CheckPatternPredicate1,
18332
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSQSB),
18333
0
                   MVT::f32, 1, 0, 
18334
0
    6, 
18335
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SQEBR),
18336
0
                   MVT::f32, 1, 0, 
18337
0
    0, 
18338
0
   17, MVT::f128,
18339
0
    OPC_Scope, 7, 
18340
0
     OPC_CheckPatternPredicate1,
18341
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSQXB),
18342
0
                   MVT::f128, 1, 0, 
18343
0
    6, 
18344
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SQXBR),
18345
0
                   MVT::f128, 1, 0, 
18346
0
    0, 
18347
0
   7, MVT::v2f64,
18348
0
    OPC_CheckPatternPredicate0,
18349
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFSQDB),
18350
0
                  MVT::v2f64, 1, 0, 
18351
0
   7, MVT::v4f32,
18352
0
    OPC_CheckPatternPredicate1,
18353
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFSQSB),
18354
0
                  MVT::v4f32, 1, 0, 
18355
0
   0,
18356
0
  0, 
18357
0
 82|128,1, TARGET_VAL(ISD::STRICT_FADD),
18358
0
  OPC_RecordNode,
18359
0
  OPC_Scope, 53, 
18360
0
   OPC_RecordChild1,
18361
0
   OPC_MoveChild2,
18362
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18363
0
   OPC_RecordMemRef,
18364
0
   OPC_RecordNode,
18365
0
   OPC_CheckFoldableChainNode,
18366
0
   OPC_RecordChild1,
18367
0
   OPC_CheckChild1TypeI64,
18368
0
   OPC_CheckPredicate0, 
18369
0
   OPC_CheckPredicate2, 
18370
0
   OPC_MoveParent,
18371
0
   OPC_SwitchType , 17, MVT::f32,
18372
0
    OPC_CheckComplexPat1, /*#*/3,
18373
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
18374
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
18375
0
                  MVT::f32, MVT::i32, 4, 1, 4, 5, 6, 
18376
0
   17, MVT::f64,
18377
0
    OPC_CheckComplexPat1, /*#*/3,
18378
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
18379
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
18380
0
                  MVT::f64, MVT::i32, 4, 1, 4, 5, 6, 
18381
0
   0,
18382
0
  53, 
18383
0
   OPC_MoveChild1,
18384
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18385
0
   OPC_RecordMemRef,
18386
0
   OPC_RecordNode,
18387
0
   OPC_CheckFoldableChainNode,
18388
0
   OPC_RecordChild1,
18389
0
   OPC_CheckChild1TypeI64,
18390
0
   OPC_CheckPredicate0, 
18391
0
   OPC_CheckPredicate2, 
18392
0
   OPC_MoveParent,
18393
0
   OPC_RecordChild2,
18394
0
   OPC_SwitchType , 17, MVT::f32,
18395
0
    OPC_CheckComplexPat1, /*#*/2,
18396
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
18397
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
18398
0
                  MVT::f32, MVT::i32, 4, 3, 4, 5, 6, 
18399
0
   17, MVT::f64,
18400
0
    OPC_CheckComplexPat1, /*#*/2,
18401
0
    OPC_EmitMergeInputChains, 2, 0, 1, 
18402
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
18403
0
                  MVT::f64, MVT::i32, 4, 3, 4, 5, 6, 
18404
0
   0,
18405
0
  98, 
18406
0
   OPC_RecordChild1,
18407
0
   OPC_RecordChild2,
18408
0
   OPC_SwitchType , 22, MVT::f64,
18409
0
    OPC_Scope, 9, 
18410
0
     OPC_CheckPatternPredicate0,
18411
0
     OPC_EmitMergeInputChains1_0,
18412
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFADB),
18413
0
                   MVT::f64, 2, 1, 2, 
18414
0
    9, 
18415
0
     OPC_EmitMergeInputChains1_0,
18416
0
     OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::ADBR),
18417
0
                   MVT::f64, MVT::i32, 2, 1, 2, 
18418
0
    0, 
18419
0
   22, MVT::f32,
18420
0
    OPC_Scope, 9, 
18421
0
     OPC_CheckPatternPredicate1,
18422
0
     OPC_EmitMergeInputChains1_0,
18423
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFASB),
18424
0
                   MVT::f32, 2, 1, 2, 
18425
0
    9, 
18426
0
     OPC_EmitMergeInputChains1_0,
18427
0
     OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::AEBR),
18428
0
                   MVT::f32, MVT::i32, 2, 1, 2, 
18429
0
    0, 
18430
0
   22, MVT::f128,
18431
0
    OPC_Scope, 9, 
18432
0
     OPC_CheckPatternPredicate1,
18433
0
     OPC_EmitMergeInputChains1_0,
18434
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFAXB),
18435
0
                   MVT::f128, 2, 1, 2, 
18436
0
    9, 
18437
0
     OPC_EmitMergeInputChains1_0,
18438
0
     OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::AXBR),
18439
0
                   MVT::f128, MVT::i32, 2, 1, 2, 
18440
0
    0, 
18441
0
   9, MVT::v2f64,
18442
0
    OPC_CheckPatternPredicate0,
18443
0
    OPC_EmitMergeInputChains1_0,
18444
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFADB),
18445
0
                  MVT::v2f64, 2, 1, 2, 
18446
0
   9, MVT::v4f32,
18447
0
    OPC_CheckPatternPredicate1,
18448
0
    OPC_EmitMergeInputChains1_0,
18449
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFASB),
18450
0
                  MVT::v4f32, 2, 1, 2, 
18451
0
   0,
18452
0
  0, 
18453
0
 61|128,1, TARGET_VAL(ISD::FADD),
18454
0
  OPC_Scope, 47, 
18455
0
   OPC_RecordChild0,
18456
0
   OPC_MoveChild1,
18457
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18458
0
   OPC_RecordMemRef,
18459
0
   OPC_RecordNode,
18460
0
   OPC_CheckFoldableChainNode,
18461
0
   OPC_RecordChild1,
18462
0
   OPC_CheckChild1TypeI64,
18463
0
   OPC_CheckPredicate0, 
18464
0
   OPC_CheckPredicate2, 
18465
0
   OPC_MoveParent,
18466
0
   OPC_SwitchType , 14, MVT::f32,
18467
0
    OPC_CheckComplexPat1, /*#*/2,
18468
0
    OPC_EmitMergeInputChains1_1,
18469
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
18470
0
                  MVT::f32, MVT::i32, 4, 0, 3, 4, 5, 
18471
0
   14, MVT::f64,
18472
0
    OPC_CheckComplexPat1, /*#*/2,
18473
0
    OPC_EmitMergeInputChains1_1,
18474
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
18475
0
                  MVT::f64, MVT::i32, 4, 0, 3, 4, 5, 
18476
0
   0,
18477
0
  47, 
18478
0
   OPC_MoveChild0,
18479
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18480
0
   OPC_RecordMemRef,
18481
0
   OPC_RecordNode,
18482
0
   OPC_CheckFoldableChainNode,
18483
0
   OPC_RecordChild1,
18484
0
   OPC_CheckChild1TypeI64,
18485
0
   OPC_CheckPredicate0, 
18486
0
   OPC_CheckPredicate2, 
18487
0
   OPC_MoveParent,
18488
0
   OPC_RecordChild1,
18489
0
   OPC_SwitchType , 14, MVT::f32,
18490
0
    OPC_CheckComplexPat1, /*#*/1,
18491
0
    OPC_EmitMergeInputChains1_0,
18492
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
18493
0
                  MVT::f32, MVT::i32, 4, 2, 3, 4, 5, 
18494
0
   14, MVT::f64,
18495
0
    OPC_CheckComplexPat1, /*#*/1,
18496
0
    OPC_EmitMergeInputChains1_0,
18497
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
18498
0
                  MVT::f64, MVT::i32, 4, 2, 3, 4, 5, 
18499
0
   0,
18500
0
  90, 
18501
0
   OPC_RecordChild0,
18502
0
   OPC_RecordChild1,
18503
0
   OPC_SwitchType , 20, MVT::f64,
18504
0
    OPC_Scope, 8, 
18505
0
     OPC_CheckPatternPredicate0,
18506
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFADB),
18507
0
                   MVT::f64, 2, 0, 1, 
18508
0
    8, 
18509
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ADBR),
18510
0
                   MVT::f64, MVT::i32, 2, 0, 1, 
18511
0
    0, 
18512
0
   20, MVT::f32,
18513
0
    OPC_Scope, 8, 
18514
0
     OPC_CheckPatternPredicate1,
18515
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFASB),
18516
0
                   MVT::f32, 2, 0, 1, 
18517
0
    8, 
18518
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AEBR),
18519
0
                   MVT::f32, MVT::i32, 2, 0, 1, 
18520
0
    0, 
18521
0
   20, MVT::f128,
18522
0
    OPC_Scope, 8, 
18523
0
     OPC_CheckPatternPredicate1,
18524
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFAXB),
18525
0
                   MVT::f128, 2, 0, 1, 
18526
0
    8, 
18527
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AXBR),
18528
0
                   MVT::f128, MVT::i32, 2, 0, 1, 
18529
0
    0, 
18530
0
   8, MVT::v2f64,
18531
0
    OPC_CheckPatternPredicate0,
18532
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFADB),
18533
0
                  MVT::v2f64, 2, 0, 1, 
18534
0
   8, MVT::v4f32,
18535
0
    OPC_CheckPatternPredicate1,
18536
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFASB),
18537
0
                  MVT::v4f32, 2, 0, 1, 
18538
0
   0,
18539
0
  0, 
18540
0
 27|128,1, TARGET_VAL(ISD::STRICT_FSUB),
18541
0
  OPC_RecordNode,
18542
0
  OPC_RecordChild1,
18543
0
  OPC_Scope, 52, 
18544
0
   OPC_MoveChild2,
18545
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18546
0
   OPC_RecordMemRef,
18547
0
   OPC_RecordNode,
18548
0
   OPC_CheckFoldableChainNode,
18549
0
   OPC_RecordChild1,
18550
0
   OPC_CheckChild1TypeI64,
18551
0
   OPC_CheckPredicate0, 
18552
0
   OPC_CheckPredicate2, 
18553
0
   OPC_MoveParent,
18554
0
   OPC_SwitchType , 17, MVT::f32,
18555
0
    OPC_CheckComplexPat1, /*#*/3,
18556
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
18557
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SEB), 0|OPFL_Chain|OPFL_MemRefs,
18558
0
                  MVT::f32, MVT::i32, 4, 1, 4, 5, 6, 
18559
0
   17, MVT::f64,
18560
0
    OPC_CheckComplexPat1, /*#*/3,
18561
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
18562
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SDB), 0|OPFL_Chain|OPFL_MemRefs,
18563
0
                  MVT::f64, MVT::i32, 4, 1, 4, 5, 6, 
18564
0
   0,
18565
0
  97, 
18566
0
   OPC_RecordChild2,
18567
0
   OPC_SwitchType , 22, MVT::f64,
18568
0
    OPC_Scope, 9, 
18569
0
     OPC_CheckPatternPredicate0,
18570
0
     OPC_EmitMergeInputChains1_0,
18571
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSDB),
18572
0
                   MVT::f64, 2, 1, 2, 
18573
0
    9, 
18574
0
     OPC_EmitMergeInputChains1_0,
18575
0
     OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::SDBR),
18576
0
                   MVT::f64, MVT::i32, 2, 1, 2, 
18577
0
    0, 
18578
0
   22, MVT::f32,
18579
0
    OPC_Scope, 9, 
18580
0
     OPC_CheckPatternPredicate1,
18581
0
     OPC_EmitMergeInputChains1_0,
18582
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSSB),
18583
0
                   MVT::f32, 2, 1, 2, 
18584
0
    9, 
18585
0
     OPC_EmitMergeInputChains1_0,
18586
0
     OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::SEBR),
18587
0
                   MVT::f32, MVT::i32, 2, 1, 2, 
18588
0
    0, 
18589
0
   22, MVT::f128,
18590
0
    OPC_Scope, 9, 
18591
0
     OPC_CheckPatternPredicate1,
18592
0
     OPC_EmitMergeInputChains1_0,
18593
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSXB),
18594
0
                   MVT::f128, 2, 1, 2, 
18595
0
    9, 
18596
0
     OPC_EmitMergeInputChains1_0,
18597
0
     OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::SXBR),
18598
0
                   MVT::f128, MVT::i32, 2, 1, 2, 
18599
0
    0, 
18600
0
   9, MVT::v2f64,
18601
0
    OPC_CheckPatternPredicate0,
18602
0
    OPC_EmitMergeInputChains1_0,
18603
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFSDB),
18604
0
                  MVT::v2f64, 2, 1, 2, 
18605
0
   9, MVT::v4f32,
18606
0
    OPC_CheckPatternPredicate1,
18607
0
    OPC_EmitMergeInputChains1_0,
18608
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFSSB),
18609
0
                  MVT::v4f32, 2, 1, 2, 
18610
0
   0,
18611
0
  0, 
18612
0
 12|128,1, TARGET_VAL(ISD::FSUB),
18613
0
  OPC_RecordChild0,
18614
0
  OPC_Scope, 46, 
18615
0
   OPC_MoveChild1,
18616
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18617
0
   OPC_RecordMemRef,
18618
0
   OPC_RecordNode,
18619
0
   OPC_CheckFoldableChainNode,
18620
0
   OPC_RecordChild1,
18621
0
   OPC_CheckChild1TypeI64,
18622
0
   OPC_CheckPredicate0, 
18623
0
   OPC_CheckPredicate2, 
18624
0
   OPC_MoveParent,
18625
0
   OPC_SwitchType , 14, MVT::f32,
18626
0
    OPC_CheckComplexPat1, /*#*/2,
18627
0
    OPC_EmitMergeInputChains1_1,
18628
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SEB), 0|OPFL_Chain|OPFL_MemRefs,
18629
0
                  MVT::f32, MVT::i32, 4, 0, 3, 4, 5, 
18630
0
   14, MVT::f64,
18631
0
    OPC_CheckComplexPat1, /*#*/2,
18632
0
    OPC_EmitMergeInputChains1_1,
18633
0
    OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SDB), 0|OPFL_Chain|OPFL_MemRefs,
18634
0
                  MVT::f64, MVT::i32, 4, 0, 3, 4, 5, 
18635
0
   0,
18636
0
  89, 
18637
0
   OPC_RecordChild1,
18638
0
   OPC_SwitchType , 20, MVT::f64,
18639
0
    OPC_Scope, 8, 
18640
0
     OPC_CheckPatternPredicate0,
18641
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSDB),
18642
0
                   MVT::f64, 2, 0, 1, 
18643
0
    8, 
18644
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SDBR),
18645
0
                   MVT::f64, MVT::i32, 2, 0, 1, 
18646
0
    0, 
18647
0
   20, MVT::f32,
18648
0
    OPC_Scope, 8, 
18649
0
     OPC_CheckPatternPredicate1,
18650
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSSB),
18651
0
                   MVT::f32, 2, 0, 1, 
18652
0
    8, 
18653
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SEBR),
18654
0
                   MVT::f32, MVT::i32, 2, 0, 1, 
18655
0
    0, 
18656
0
   20, MVT::f128,
18657
0
    OPC_Scope, 8, 
18658
0
     OPC_CheckPatternPredicate1,
18659
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSXB),
18660
0
                   MVT::f128, 2, 0, 1, 
18661
0
    8, 
18662
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SXBR),
18663
0
                   MVT::f128, MVT::i32, 2, 0, 1, 
18664
0
    0, 
18665
0
   8, MVT::v2f64,
18666
0
    OPC_CheckPatternPredicate0,
18667
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFSDB),
18668
0
                  MVT::v2f64, 2, 0, 1, 
18669
0
   8, MVT::v4f32,
18670
0
    OPC_CheckPatternPredicate1,
18671
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFSSB),
18672
0
                  MVT::v4f32, 2, 0, 1, 
18673
0
   0,
18674
0
  0, 
18675
0
 22|128,1, TARGET_VAL(ISD::STRICT_FDIV),
18676
0
  OPC_RecordNode,
18677
0
  OPC_RecordChild1,
18678
0
  OPC_Scope, 50, 
18679
0
   OPC_MoveChild2,
18680
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18681
0
   OPC_RecordMemRef,
18682
0
   OPC_RecordNode,
18683
0
   OPC_CheckFoldableChainNode,
18684
0
   OPC_RecordChild1,
18685
0
   OPC_CheckChild1TypeI64,
18686
0
   OPC_CheckPredicate0, 
18687
0
   OPC_CheckPredicate2, 
18688
0
   OPC_MoveParent,
18689
0
   OPC_SwitchType , 16, MVT::f32,
18690
0
    OPC_CheckComplexPat1, /*#*/3,
18691
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
18692
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DEB), 0|OPFL_Chain|OPFL_MemRefs,
18693
0
                  MVT::f32, 4, 1, 4, 5, 6, 
18694
0
   16, MVT::f64,
18695
0
    OPC_CheckComplexPat1, /*#*/3,
18696
0
    OPC_EmitMergeInputChains, 2, 0, 2, 
18697
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DDB), 0|OPFL_Chain|OPFL_MemRefs,
18698
0
                  MVT::f64, 4, 1, 4, 5, 6, 
18699
0
   0,
18700
0
  94, 
18701
0
   OPC_RecordChild2,
18702
0
   OPC_SwitchType , 21, MVT::f64,
18703
0
    OPC_Scope, 9, 
18704
0
     OPC_CheckPatternPredicate0,
18705
0
     OPC_EmitMergeInputChains1_0,
18706
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFDDB),
18707
0
                   MVT::f64, 2, 1, 2, 
18708
0
    8, 
18709
0
     OPC_EmitMergeInputChains1_0,
18710
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::DDBR),
18711
0
                   MVT::f64, 2, 1, 2, 
18712
0
    0, 
18713
0
   21, MVT::f32,
18714
0
    OPC_Scope, 9, 
18715
0
     OPC_CheckPatternPredicate1,
18716
0
     OPC_EmitMergeInputChains1_0,
18717
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFDSB),
18718
0
                   MVT::f32, 2, 1, 2, 
18719
0
    8, 
18720
0
     OPC_EmitMergeInputChains1_0,
18721
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::DEBR),
18722
0
                   MVT::f32, 2, 1, 2, 
18723
0
    0, 
18724
0
   21, MVT::f128,
18725
0
    OPC_Scope, 9, 
18726
0
     OPC_CheckPatternPredicate1,
18727
0
     OPC_EmitMergeInputChains1_0,
18728
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFDXB),
18729
0
                   MVT::f128, 2, 1, 2, 
18730
0
    8, 
18731
0
     OPC_EmitMergeInputChains1_0,
18732
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::DXBR),
18733
0
                   MVT::f128, 2, 1, 2, 
18734
0
    0, 
18735
0
   9, MVT::v2f64,
18736
0
    OPC_CheckPatternPredicate0,
18737
0
    OPC_EmitMergeInputChains1_0,
18738
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFDDB),
18739
0
                  MVT::v2f64, 2, 1, 2, 
18740
0
   9, MVT::v4f32,
18741
0
    OPC_CheckPatternPredicate1,
18742
0
    OPC_EmitMergeInputChains1_0,
18743
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFDSB),
18744
0
                  MVT::v4f32, 2, 1, 2, 
18745
0
   0,
18746
0
  0, 
18747
0
 7|128,1, TARGET_VAL(ISD::FDIV),
18748
0
  OPC_RecordChild0,
18749
0
  OPC_Scope, 44, 
18750
0
   OPC_MoveChild1,
18751
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
18752
0
   OPC_RecordMemRef,
18753
0
   OPC_RecordNode,
18754
0
   OPC_CheckFoldableChainNode,
18755
0
   OPC_RecordChild1,
18756
0
   OPC_CheckChild1TypeI64,
18757
0
   OPC_CheckPredicate0, 
18758
0
   OPC_CheckPredicate2, 
18759
0
   OPC_MoveParent,
18760
0
   OPC_SwitchType , 13, MVT::f32,
18761
0
    OPC_CheckComplexPat1, /*#*/2,
18762
0
    OPC_EmitMergeInputChains1_1,
18763
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DEB), 0|OPFL_Chain|OPFL_MemRefs,
18764
0
                  MVT::f32, 4, 0, 3, 4, 5, 
18765
0
   13, MVT::f64,
18766
0
    OPC_CheckComplexPat1, /*#*/2,
18767
0
    OPC_EmitMergeInputChains1_1,
18768
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DDB), 0|OPFL_Chain|OPFL_MemRefs,
18769
0
                  MVT::f64, 4, 0, 3, 4, 5, 
18770
0
   0,
18771
0
  86, 
18772
0
   OPC_RecordChild1,
18773
0
   OPC_SwitchType , 19, MVT::f64,
18774
0
    OPC_Scope, 8, 
18775
0
     OPC_CheckPatternPredicate0,
18776
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFDDB),
18777
0
                   MVT::f64, 2, 0, 1, 
18778
0
    7, 
18779
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DDBR),
18780
0
                   MVT::f64, 2, 0, 1, 
18781
0
    0, 
18782
0
   19, MVT::f32,
18783
0
    OPC_Scope, 8, 
18784
0
     OPC_CheckPatternPredicate1,
18785
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFDSB),
18786
0
                   MVT::f32, 2, 0, 1, 
18787
0
    7, 
18788
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DEBR),
18789
0
                   MVT::f32, 2, 0, 1, 
18790
0
    0, 
18791
0
   19, MVT::f128,
18792
0
    OPC_Scope, 8, 
18793
0
     OPC_CheckPatternPredicate1,
18794
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFDXB),
18795
0
                   MVT::f128, 2, 0, 1, 
18796
0
    7, 
18797
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DXBR),
18798
0
                   MVT::f128, 2, 0, 1, 
18799
0
    0, 
18800
0
   8, MVT::v2f64,
18801
0
    OPC_CheckPatternPredicate0,
18802
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFDDB),
18803
0
                  MVT::v2f64, 2, 0, 1, 
18804
0
   8, MVT::v4f32,
18805
0
    OPC_CheckPatternPredicate1,
18806
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFDSB),
18807
0
                  MVT::v4f32, 2, 0, 1, 
18808
0
   0,
18809
0
  0, 
18810
0
 122|128,3, TARGET_VAL(ISD::FNEG),
18811
0
  OPC_Scope, 123|128,1, 
18812
0
   OPC_MoveChild0,
18813
0
   OPC_SwitchOpcode , 92, TARGET_VAL(ISD::STRICT_FMA),
18814
0
    OPC_RecordNode,
18815
0
    OPC_RecordChild1,
18816
0
    OPC_RecordChild2,
18817
0
    OPC_Scope, 45, 
18818
0
     OPC_MoveChild3,
18819
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
18820
0
     OPC_RecordChild0,
18821
0
     OPC_MoveParent,
18822
0
     OPC_MoveParent,
18823
0
     OPC_SwitchType , 10, MVT::f64,
18824
0
      OPC_CheckPatternPredicate1,
18825
0
      OPC_EmitMergeInputChains1_0,
18826
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMSDB),
18827
0
                    MVT::f64, 3, 1, 2, 3, 
18828
0
     10, MVT::f32,
18829
0
      OPC_CheckPatternPredicate1,
18830
0
      OPC_EmitMergeInputChains1_0,
18831
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMSSB),
18832
0
                    MVT::f32, 3, 1, 2, 3, 
18833
0
     10, MVT::f128,
18834
0
      OPC_CheckPatternPredicate1,
18835
0
      OPC_EmitMergeInputChains1_0,
18836
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMSXB),
18837
0
                    MVT::f128, 3, 1, 2, 3, 
18838
0
     0,
18839
0
    40, 
18840
0
     OPC_RecordChild3,
18841
0
     OPC_MoveParent,
18842
0
     OPC_SwitchType , 10, MVT::f64,
18843
0
      OPC_CheckPatternPredicate1,
18844
0
      OPC_EmitMergeInputChains1_0,
18845
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMADB),
18846
0
                    MVT::f64, 3, 1, 2, 3, 
18847
0
     10, MVT::f32,
18848
0
      OPC_CheckPatternPredicate1,
18849
0
      OPC_EmitMergeInputChains1_0,
18850
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMASB),
18851
0
                    MVT::f32, 3, 1, 2, 3, 
18852
0
     10, MVT::f128,
18853
0
      OPC_CheckPatternPredicate1,
18854
0
      OPC_EmitMergeInputChains1_0,
18855
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMAXB),
18856
0
                    MVT::f128, 3, 1, 2, 3, 
18857
0
     0,
18858
0
    0, 
18859
0
   85, TARGET_VAL(ISD::FMA),
18860
0
    OPC_RecordChild0,
18861
0
    OPC_RecordChild1,
18862
0
    OPC_Scope, 42, 
18863
0
     OPC_MoveChild2,
18864
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
18865
0
     OPC_RecordChild0,
18866
0
     OPC_MoveParent,
18867
0
     OPC_MoveParent,
18868
0
     OPC_SwitchType , 9, MVT::f64,
18869
0
      OPC_CheckPatternPredicate1,
18870
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMSDB),
18871
0
                    MVT::f64, 3, 0, 1, 2, 
18872
0
     9, MVT::f32,
18873
0
      OPC_CheckPatternPredicate1,
18874
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMSSB),
18875
0
                    MVT::f32, 3, 0, 1, 2, 
18876
0
     9, MVT::f128,
18877
0
      OPC_CheckPatternPredicate1,
18878
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMSXB),
18879
0
                    MVT::f128, 3, 0, 1, 2, 
18880
0
     0,
18881
0
    37, 
18882
0
     OPC_RecordChild2,
18883
0
     OPC_MoveParent,
18884
0
     OPC_SwitchType , 9, MVT::f64,
18885
0
      OPC_CheckPatternPredicate1,
18886
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMADB),
18887
0
                    MVT::f64, 3, 0, 1, 2, 
18888
0
     9, MVT::f32,
18889
0
      OPC_CheckPatternPredicate1,
18890
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMASB),
18891
0
                    MVT::f32, 3, 0, 1, 2, 
18892
0
     9, MVT::f128,
18893
0
      OPC_CheckPatternPredicate1,
18894
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMAXB),
18895
0
                    MVT::f128, 3, 0, 1, 2, 
18896
0
     0,
18897
0
    0, 
18898
0
   62, TARGET_VAL(ISD::FABS),
18899
0
    OPC_RecordChild0,
18900
0
    OPC_MoveParent,
18901
0
    OPC_SwitchType , 17, MVT::f64,
18902
0
     OPC_Scope, 7, 
18903
0
      OPC_CheckPatternPredicate0,
18904
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLNDB),
18905
0
                    MVT::f64, 1, 0, 
18906
0
     6, 
18907
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LNDFR),
18908
0
                    MVT::f64, 1, 0, 
18909
0
     0, 
18910
0
    17, MVT::f32,
18911
0
     OPC_Scope, 7, 
18912
0
      OPC_CheckPatternPredicate1,
18913
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLNSB),
18914
0
                    MVT::f32, 1, 0, 
18915
0
     6, 
18916
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LNDFR_32),
18917
0
                    MVT::f32, 1, 0, 
18918
0
     0, 
18919
0
    18, MVT::f128,
18920
0
     OPC_Scope, 7, 
18921
0
      OPC_CheckPatternPredicate1,
18922
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLNXB),
18923
0
                    MVT::f128, 1, 0, 
18924
0
     7, 
18925
0
      OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNXBR),
18926
0
                    MVT::f128, MVT::i32, 1, 0, 
18927
0
     0, 
18928
0
    0,
18929
0
   0,
18930
0
  61, 
18931
0
   OPC_RecordChild0,
18932
0
   OPC_SwitchType , 17, MVT::f64,
18933
0
    OPC_Scope, 7, 
18934
0
     OPC_CheckPatternPredicate0,
18935
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLCDB),
18936
0
                   MVT::f64, 1, 0, 
18937
0
    6, 
18938
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LCDFR),
18939
0
                   MVT::f64, 1, 0, 
18940
0
    0, 
18941
0
   17, MVT::f32,
18942
0
    OPC_Scope, 7, 
18943
0
     OPC_CheckPatternPredicate1,
18944
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLCSB),
18945
0
                   MVT::f32, 1, 0, 
18946
0
    6, 
18947
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LCDFR_32),
18948
0
                   MVT::f32, 1, 0, 
18949
0
    0, 
18950
0
   18, MVT::f128,
18951
0
    OPC_Scope, 7, 
18952
0
     OPC_CheckPatternPredicate1,
18953
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLCXB),
18954
0
                   MVT::f128, 1, 0, 
18955
0
    7, 
18956
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCXBR),
18957
0
                   MVT::f128, MVT::i32, 1, 0, 
18958
0
    0, 
18959
0
   0,
18960
0
  37|128,1, 
18961
0
   OPC_MoveChild0,
18962
0
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::STRICT_FMA),
18963
0
    OPC_RecordNode,
18964
0
    OPC_RecordChild1,
18965
0
    OPC_RecordChild2,
18966
0
    OPC_Scope, 33, 
18967
0
     OPC_MoveChild3,
18968
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
18969
0
     OPC_RecordChild0,
18970
0
     OPC_MoveParent,
18971
0
     OPC_MoveParent,
18972
0
     OPC_SwitchType , 10, MVT::v2f64,
18973
0
      OPC_CheckPatternPredicate1,
18974
0
      OPC_EmitMergeInputChains1_0,
18975
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFNMSDB),
18976
0
                    MVT::v2f64, 3, 1, 2, 3, 
18977
0
     10, MVT::v4f32,
18978
0
      OPC_CheckPatternPredicate1,
18979
0
      OPC_EmitMergeInputChains1_0,
18980
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFNMSSB),
18981
0
                    MVT::v4f32, 3, 1, 2, 3, 
18982
0
     0,
18983
0
    28, 
18984
0
     OPC_RecordChild3,
18985
0
     OPC_MoveParent,
18986
0
     OPC_SwitchType , 10, MVT::v2f64,
18987
0
      OPC_CheckPatternPredicate1,
18988
0
      OPC_EmitMergeInputChains1_0,
18989
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFNMADB),
18990
0
                    MVT::v2f64, 3, 1, 2, 3, 
18991
0
     10, MVT::v4f32,
18992
0
      OPC_CheckPatternPredicate1,
18993
0
      OPC_EmitMergeInputChains1_0,
18994
0
      OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFNMASB),
18995
0
                    MVT::v4f32, 3, 1, 2, 3, 
18996
0
     0,
18997
0
    0, 
18998
0
   63, TARGET_VAL(ISD::FMA),
18999
0
    OPC_RecordChild0,
19000
0
    OPC_RecordChild1,
19001
0
    OPC_Scope, 31, 
19002
0
     OPC_MoveChild2,
19003
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
19004
0
     OPC_RecordChild0,
19005
0
     OPC_MoveParent,
19006
0
     OPC_MoveParent,
19007
0
     OPC_SwitchType , 9, MVT::v2f64,
19008
0
      OPC_CheckPatternPredicate1,
19009
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFNMSDB),
19010
0
                    MVT::v2f64, 3, 0, 1, 2, 
19011
0
     9, MVT::v4f32,
19012
0
      OPC_CheckPatternPredicate1,
19013
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFNMSSB),
19014
0
                    MVT::v4f32, 3, 0, 1, 2, 
19015
0
     0,
19016
0
    26, 
19017
0
     OPC_RecordChild2,
19018
0
     OPC_MoveParent,
19019
0
     OPC_SwitchType , 9, MVT::v2f64,
19020
0
      OPC_CheckPatternPredicate1,
19021
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFNMADB),
19022
0
                    MVT::v2f64, 3, 0, 1, 2, 
19023
0
     9, MVT::v4f32,
19024
0
      OPC_CheckPatternPredicate1,
19025
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFNMASB),
19026
0
                    MVT::v4f32, 3, 0, 1, 2, 
19027
0
     0,
19028
0
    0, 
19029
0
   22, TARGET_VAL(ISD::FABS),
19030
0
    OPC_RecordChild0,
19031
0
    OPC_MoveParent,
19032
0
    OPC_SwitchType , 7, MVT::v2f64,
19033
0
     OPC_CheckPatternPredicate0,
19034
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLNDB),
19035
0
                   MVT::v2f64, 1, 0, 
19036
0
    7, MVT::v4f32,
19037
0
     OPC_CheckPatternPredicate1,
19038
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLNSB),
19039
0
                   MVT::v4f32, 1, 0, 
19040
0
    0,
19041
0
   0,
19042
0
  21, 
19043
0
   OPC_RecordChild0,
19044
0
   OPC_SwitchType , 7, MVT::v2f64,
19045
0
    OPC_CheckPatternPredicate0,
19046
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLCDB),
19047
0
                  MVT::v2f64, 1, 0, 
19048
0
   7, MVT::v4f32,
19049
0
    OPC_CheckPatternPredicate1,
19050
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLCSB),
19051
0
                  MVT::v4f32, 1, 0, 
19052
0
   0,
19053
0
  0, 
19054
0
 121|128,1, TARGET_VAL(ISD::FCOPYSIGN),
19055
0
  OPC_RecordChild0,
19056
0
  OPC_Scope, 95, 
19057
0
   OPC_MoveChild1,
19058
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
19059
0
   OPC_RecordChild0,
19060
0
   OPC_SwitchType , 43, MVT::f32,
19061
0
    OPC_CheckChild0Type, MVT::f128,
19062
0
    OPC_MoveParent,
19063
0
    OPC_CheckType, MVT::f32,
19064
0
    OPC_Scope, 17, 
19065
0
     OPC_CheckPatternPredicate5,
19066
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
19067
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19068
0
                   MVT::f64, 2, 1, 2, 
19069
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRsd),
19070
0
                   MVT::f32, 2, 0, 3, 
19071
0
    17, 
19072
0
     OPC_CheckPatternPredicate1,
19073
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
19074
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19075
0
                   MVT::f64, 2, 1, 2, 
19076
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRsd),
19077
0
                   MVT::f32, 2, 0, 3, 
19078
0
    0, 
19079
0
   41, MVT::f64,
19080
0
    OPC_MoveParent,
19081
0
    OPC_CheckType, MVT::f64,
19082
0
    OPC_Scope, 17, 
19083
0
     OPC_CheckPatternPredicate5,
19084
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
19085
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19086
0
                   MVT::f64, 2, 1, 2, 
19087
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRdd),
19088
0
                   MVT::f64, 2, 0, 3, 
19089
0
    17, 
19090
0
     OPC_CheckPatternPredicate1,
19091
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
19092
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19093
0
                   MVT::f64, 2, 1, 2, 
19094
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRdd),
19095
0
                   MVT::f64, 2, 0, 3, 
19096
0
    0, 
19097
0
   0,
19098
0
  20|128,1, 
19099
0
   OPC_RecordChild1,
19100
0
   OPC_Scope, 51, 
19101
0
    OPC_CheckChild1Type, MVT::f32,
19102
0
    OPC_SwitchType , 7, MVT::f32,
19103
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRss),
19104
0
                   MVT::f32, 2, 0, 1, 
19105
0
    7, MVT::f64,
19106
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRds),
19107
0
                   MVT::f64, 2, 0, 1, 
19108
0
    27, MVT::f128,
19109
0
     OPC_CheckPatternPredicate5,
19110
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
19111
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19112
0
                   MVT::f64, 2, 0, 2, 
19113
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::CPSDRds),
19114
0
                   MVT::f64, 2, 3, 1, 
19115
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
19116
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19117
0
                   MVT::f128, 3, 0, 4, 5, 
19118
0
    0,
19119
0
   51, 
19120
0
    OPC_CheckChild1Type, MVT::f64,
19121
0
    OPC_SwitchType , 7, MVT::f32,
19122
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRsd),
19123
0
                   MVT::f32, 2, 0, 1, 
19124
0
    7, MVT::f64,
19125
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRdd),
19126
0
                   MVT::f64, 2, 0, 1, 
19127
0
    27, MVT::f128,
19128
0
     OPC_CheckPatternPredicate5,
19129
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
19130
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19131
0
                   MVT::f64, 2, 0, 2, 
19132
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::CPSDRdd),
19133
0
                   MVT::f64, 2, 3, 1, 
19134
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
19135
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19136
0
                   MVT::f128, 3, 0, 4, 5, 
19137
0
    0,
19138
0
   40, 
19139
0
    OPC_CheckChild1Type, MVT::f128,
19140
0
    OPC_CheckType, MVT::f128,
19141
0
    OPC_CheckPatternPredicate5,
19142
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
19143
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19144
0
                  MVT::f64, 2, 0, 2, 
19145
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
19146
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19147
0
                  MVT::f64, 2, 1, 4, 
19148
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::CPSDRdd),
19149
0
                  MVT::f64, 2, 3, 5, 
19150
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
19151
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19152
0
                  MVT::f128, 3, 0, 6, 7, 
19153
0
   0, 
19154
0
  0, 
19155
0
 99, TARGET_VAL(ISD::ConstantFP),
19156
0
  OPC_Scope, 35, 
19157
0
   OPC_CheckPredicate, 44,
19158
0
   OPC_SwitchType , 15, MVT::f128,
19159
0
    OPC_Scope, 6, 
19160
0
     OPC_CheckPatternPredicate1,
19161
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VZERO),
19162
0
                   MVT::f128, 0, 
19163
0
    5, 
19164
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LZXR),
19165
0
                   MVT::f128, 0, 
19166
0
    0, 
19167
0
   5, MVT::f32,
19168
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LZER),
19169
0
                  MVT::f32, 0, 
19170
0
   5, MVT::f64,
19171
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LZDR),
19172
0
                  MVT::f64, 0, 
19173
0
   0,
19174
0
  60, 
19175
0
   OPC_CheckPredicate, 39,
19176
0
   OPC_SwitchType , 28, MVT::f128,
19177
0
    OPC_Scope, 12, 
19178
0
     OPC_CheckPatternPredicate1,
19179
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VZERO),
19180
0
                   MVT::i128, 0, 
19181
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLNXB),
19182
0
                   MVT::f128, 1, 0, 
19183
0
    12, 
19184
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::LZXR),
19185
0
                   MVT::f128, 0, 
19186
0
     OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCXBR),
19187
0
                   MVT::f128, MVT::i32, 1, 0, 
19188
0
    0, 
19189
0
   11, MVT::f32,
19190
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LZER),
19191
0
                  MVT::f32, 0, 
19192
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LCDFR_32),
19193
0
                  MVT::f32, 1, 0, 
19194
0
   11, MVT::f64,
19195
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LZDR),
19196
0
                  MVT::f64, 0, 
19197
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LCDFR),
19198
0
                  MVT::f64, 1, 0, 
19199
0
   0,
19200
0
  0, 
19201
0
 4|128,1, TARGET_VAL(ISD::STRICT_FRINT),
19202
0
  OPC_RecordNode,
19203
0
  OPC_RecordChild1,
19204
0
  OPC_SwitchType , 28, MVT::f64,
19205
0
   OPC_Scope, 14, 
19206
0
    OPC_CheckPatternPredicate0,
19207
0
    OPC_EmitMergeInputChains1_0,
19208
0
    OPC_EmitInteger32, 0, 
19209
0
    OPC_EmitInteger32, 0, 
19210
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
19211
0
                  MVT::f64, 3, 1, 2, 3, 
19212
0
   10, 
19213
0
    OPC_EmitMergeInputChains1_0,
19214
0
    OPC_EmitInteger32, 0, 
19215
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBR),
19216
0
                  MVT::f64, 2, 2, 1, 
19217
0
   0, 
19218
0
  28, MVT::f32,
19219
0
   OPC_Scope, 14, 
19220
0
    OPC_CheckPatternPredicate1,
19221
0
    OPC_EmitMergeInputChains1_0,
19222
0
    OPC_EmitInteger32, 0, 
19223
0
    OPC_EmitInteger32, 0, 
19224
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
19225
0
                  MVT::f32, 3, 1, 2, 3, 
19226
0
   10, 
19227
0
    OPC_EmitMergeInputChains1_0,
19228
0
    OPC_EmitInteger32, 0, 
19229
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBR),
19230
0
                  MVT::f32, 2, 2, 1, 
19231
0
   0, 
19232
0
  28, MVT::f128,
19233
0
   OPC_Scope, 14, 
19234
0
    OPC_CheckPatternPredicate1,
19235
0
    OPC_EmitMergeInputChains1_0,
19236
0
    OPC_EmitInteger32, 0, 
19237
0
    OPC_EmitInteger32, 0, 
19238
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
19239
0
                  MVT::f128, 3, 1, 2, 3, 
19240
0
   10, 
19241
0
    OPC_EmitMergeInputChains1_0,
19242
0
    OPC_EmitInteger32, 0, 
19243
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBR),
19244
0
                  MVT::f128, 2, 2, 1, 
19245
0
   0, 
19246
0
  17, MVT::v2f64,
19247
0
   OPC_CheckPatternPredicate0,
19248
0
   OPC_EmitMergeInputChains1_0,
19249
0
   OPC_EmitInteger32, 0, 
19250
0
   OPC_EmitInteger32, 0, 
19251
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
19252
0
                 MVT::v2f64, 3, 1, 2, 3, 
19253
0
   OPC_CompleteMatch, 1, 4, 
19254
19255
0
  17, MVT::v4f32,
19256
0
   OPC_CheckPatternPredicate1,
19257
0
   OPC_EmitMergeInputChains1_0,
19258
0
   OPC_EmitInteger32, 0, 
19259
0
   OPC_EmitInteger32, 0, 
19260
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
19261
0
                 MVT::v4f32, 3, 1, 2, 3, 
19262
0
   OPC_CompleteMatch, 1, 4, 
19263
19264
0
  0,
19265
0
 117, TARGET_VAL(ISD::FRINT),
19266
0
  OPC_RecordChild0,
19267
0
  OPC_SwitchType , 26, MVT::f64,
19268
0
   OPC_Scope, 13, 
19269
0
    OPC_CheckPatternPredicate0,
19270
0
    OPC_EmitInteger32, 0, 
19271
0
    OPC_EmitInteger32, 0, 
19272
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
19273
0
                  MVT::f64, 3, 0, 1, 2, 
19274
0
   9, 
19275
0
    OPC_EmitInteger32, 0, 
19276
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBR),
19277
0
                  MVT::f64, 2, 1, 0, 
19278
0
   0, 
19279
0
  26, MVT::f32,
19280
0
   OPC_Scope, 13, 
19281
0
    OPC_CheckPatternPredicate1,
19282
0
    OPC_EmitInteger32, 0, 
19283
0
    OPC_EmitInteger32, 0, 
19284
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
19285
0
                  MVT::f32, 3, 0, 1, 2, 
19286
0
   9, 
19287
0
    OPC_EmitInteger32, 0, 
19288
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBR),
19289
0
                  MVT::f32, 2, 1, 0, 
19290
0
   0, 
19291
0
  26, MVT::f128,
19292
0
   OPC_Scope, 13, 
19293
0
    OPC_CheckPatternPredicate1,
19294
0
    OPC_EmitInteger32, 0, 
19295
0
    OPC_EmitInteger32, 0, 
19296
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
19297
0
                  MVT::f128, 3, 0, 1, 2, 
19298
0
   9, 
19299
0
    OPC_EmitInteger32, 0, 
19300
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBR),
19301
0
                  MVT::f128, 2, 1, 0, 
19302
0
   0, 
19303
0
  13, MVT::v2f64,
19304
0
   OPC_CheckPatternPredicate0,
19305
0
   OPC_EmitInteger32, 0, 
19306
0
   OPC_EmitInteger32, 0, 
19307
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
19308
0
                 MVT::v2f64, 3, 0, 1, 2, 
19309
0
  13, MVT::v4f32,
19310
0
   OPC_CheckPatternPredicate1,
19311
0
   OPC_EmitInteger32, 0, 
19312
0
   OPC_EmitInteger32, 0, 
19313
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
19314
0
                 MVT::v4f32, 3, 0, 1, 2, 
19315
0
  0,
19316
0
 16|128,1, TARGET_VAL(ISD::STRICT_FNEARBYINT),
19317
0
  OPC_RecordNode,
19318
0
  OPC_RecordChild1,
19319
0
  OPC_SwitchType , 32, MVT::f64,
19320
0
   OPC_Scope, 14, 
19321
0
    OPC_CheckPatternPredicate0,
19322
0
    OPC_EmitMergeInputChains1_0,
19323
0
    OPC_EmitInteger32, 8, 
19324
0
    OPC_EmitInteger32, 0, 
19325
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
19326
0
                  MVT::f64, 3, 1, 2, 3, 
19327
0
   14, 
19328
0
    OPC_CheckPatternPredicate3,
19329
0
    OPC_EmitMergeInputChains1_0,
19330
0
    OPC_EmitInteger32, 0, 
19331
0
    OPC_EmitInteger32, 8, 
19332
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
19333
0
                  MVT::f64, 3, 2, 1, 3, 
19334
0
   0, 
19335
0
  32, MVT::f32,
19336
0
   OPC_Scope, 14, 
19337
0
    OPC_CheckPatternPredicate1,
19338
0
    OPC_EmitMergeInputChains1_0,
19339
0
    OPC_EmitInteger32, 8, 
19340
0
    OPC_EmitInteger32, 0, 
19341
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
19342
0
                  MVT::f32, 3, 1, 2, 3, 
19343
0
   14, 
19344
0
    OPC_CheckPatternPredicate3,
19345
0
    OPC_EmitMergeInputChains1_0,
19346
0
    OPC_EmitInteger32, 0, 
19347
0
    OPC_EmitInteger32, 8, 
19348
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
19349
0
                  MVT::f32, 3, 2, 1, 3, 
19350
0
   0, 
19351
0
  32, MVT::f128,
19352
0
   OPC_Scope, 14, 
19353
0
    OPC_CheckPatternPredicate1,
19354
0
    OPC_EmitMergeInputChains1_0,
19355
0
    OPC_EmitInteger32, 8, 
19356
0
    OPC_EmitInteger32, 0, 
19357
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
19358
0
                  MVT::f128, 3, 1, 2, 3, 
19359
0
   14, 
19360
0
    OPC_CheckPatternPredicate3,
19361
0
    OPC_EmitMergeInputChains1_0,
19362
0
    OPC_EmitInteger32, 0, 
19363
0
    OPC_EmitInteger32, 8, 
19364
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
19365
0
                  MVT::f128, 3, 2, 1, 3, 
19366
0
   0, 
19367
0
  17, MVT::v2f64,
19368
0
   OPC_CheckPatternPredicate0,
19369
0
   OPC_EmitMergeInputChains1_0,
19370
0
   OPC_EmitInteger32, 8, 
19371
0
   OPC_EmitInteger32, 0, 
19372
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
19373
0
                 MVT::v2f64, 3, 1, 2, 3, 
19374
0
   OPC_CompleteMatch, 1, 4, 
19375
19376
0
  17, MVT::v4f32,
19377
0
   OPC_CheckPatternPredicate1,
19378
0
   OPC_EmitMergeInputChains1_0,
19379
0
   OPC_EmitInteger32, 8, 
19380
0
   OPC_EmitInteger32, 0, 
19381
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
19382
0
                 MVT::v4f32, 3, 1, 2, 3, 
19383
0
   OPC_CompleteMatch, 1, 4, 
19384
19385
0
  0,
19386
0
 1|128,1, TARGET_VAL(ISD::FNEARBYINT),
19387
0
  OPC_RecordChild0,
19388
0
  OPC_SwitchType , 30, MVT::f64,
19389
0
   OPC_Scope, 13, 
19390
0
    OPC_CheckPatternPredicate0,
19391
0
    OPC_EmitInteger32, 8, 
19392
0
    OPC_EmitInteger32, 0, 
19393
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
19394
0
                  MVT::f64, 3, 0, 1, 2, 
19395
0
   13, 
19396
0
    OPC_CheckPatternPredicate3,
19397
0
    OPC_EmitInteger32, 0, 
19398
0
    OPC_EmitInteger32, 8, 
19399
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
19400
0
                  MVT::f64, 3, 1, 0, 2, 
19401
0
   0, 
19402
0
  30, MVT::f32,
19403
0
   OPC_Scope, 13, 
19404
0
    OPC_CheckPatternPredicate1,
19405
0
    OPC_EmitInteger32, 8, 
19406
0
    OPC_EmitInteger32, 0, 
19407
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
19408
0
                  MVT::f32, 3, 0, 1, 2, 
19409
0
   13, 
19410
0
    OPC_CheckPatternPredicate3,
19411
0
    OPC_EmitInteger32, 0, 
19412
0
    OPC_EmitInteger32, 8, 
19413
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
19414
0
                  MVT::f32, 3, 1, 0, 2, 
19415
0
   0, 
19416
0
  30, MVT::f128,
19417
0
   OPC_Scope, 13, 
19418
0
    OPC_CheckPatternPredicate1,
19419
0
    OPC_EmitInteger32, 8, 
19420
0
    OPC_EmitInteger32, 0, 
19421
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
19422
0
                  MVT::f128, 3, 0, 1, 2, 
19423
0
   13, 
19424
0
    OPC_CheckPatternPredicate3,
19425
0
    OPC_EmitInteger32, 0, 
19426
0
    OPC_EmitInteger32, 8, 
19427
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
19428
0
                  MVT::f128, 3, 1, 0, 2, 
19429
0
   0, 
19430
0
  13, MVT::v2f64,
19431
0
   OPC_CheckPatternPredicate0,
19432
0
   OPC_EmitInteger32, 8, 
19433
0
   OPC_EmitInteger32, 0, 
19434
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
19435
0
                 MVT::v2f64, 3, 0, 1, 2, 
19436
0
  13, MVT::v4f32,
19437
0
   OPC_CheckPatternPredicate1,
19438
0
   OPC_EmitInteger32, 8, 
19439
0
   OPC_EmitInteger32, 0, 
19440
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
19441
0
                 MVT::v4f32, 3, 0, 1, 2, 
19442
0
  0,
19443
0
 16|128,1, TARGET_VAL(ISD::STRICT_FFLOOR),
19444
0
  OPC_RecordNode,
19445
0
  OPC_RecordChild1,
19446
0
  OPC_SwitchType , 32, MVT::f64,
19447
0
   OPC_Scope, 14, 
19448
0
    OPC_CheckPatternPredicate0,
19449
0
    OPC_EmitMergeInputChains1_0,
19450
0
    OPC_EmitInteger32, 8, 
19451
0
    OPC_EmitInteger32, 14, 
19452
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
19453
0
                  MVT::f64, 3, 1, 2, 3, 
19454
0
   14, 
19455
0
    OPC_CheckPatternPredicate3,
19456
0
    OPC_EmitMergeInputChains1_0,
19457
0
    OPC_EmitInteger32, 14, 
19458
0
    OPC_EmitInteger32, 8, 
19459
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
19460
0
                  MVT::f64, 3, 2, 1, 3, 
19461
0
   0, 
19462
0
  32, MVT::f32,
19463
0
   OPC_Scope, 14, 
19464
0
    OPC_CheckPatternPredicate1,
19465
0
    OPC_EmitMergeInputChains1_0,
19466
0
    OPC_EmitInteger32, 8, 
19467
0
    OPC_EmitInteger32, 14, 
19468
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
19469
0
                  MVT::f32, 3, 1, 2, 3, 
19470
0
   14, 
19471
0
    OPC_CheckPatternPredicate3,
19472
0
    OPC_EmitMergeInputChains1_0,
19473
0
    OPC_EmitInteger32, 14, 
19474
0
    OPC_EmitInteger32, 8, 
19475
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
19476
0
                  MVT::f32, 3, 2, 1, 3, 
19477
0
   0, 
19478
0
  32, MVT::f128,
19479
0
   OPC_Scope, 14, 
19480
0
    OPC_CheckPatternPredicate1,
19481
0
    OPC_EmitMergeInputChains1_0,
19482
0
    OPC_EmitInteger32, 8, 
19483
0
    OPC_EmitInteger32, 14, 
19484
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
19485
0
                  MVT::f128, 3, 1, 2, 3, 
19486
0
   14, 
19487
0
    OPC_CheckPatternPredicate3,
19488
0
    OPC_EmitMergeInputChains1_0,
19489
0
    OPC_EmitInteger32, 14, 
19490
0
    OPC_EmitInteger32, 8, 
19491
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
19492
0
                  MVT::f128, 3, 2, 1, 3, 
19493
0
   0, 
19494
0
  17, MVT::v2f64,
19495
0
   OPC_CheckPatternPredicate0,
19496
0
   OPC_EmitMergeInputChains1_0,
19497
0
   OPC_EmitInteger32, 8, 
19498
0
   OPC_EmitInteger32, 14, 
19499
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
19500
0
                 MVT::v2f64, 3, 1, 2, 3, 
19501
0
   OPC_CompleteMatch, 1, 4, 
19502
19503
0
  17, MVT::v4f32,
19504
0
   OPC_CheckPatternPredicate1,
19505
0
   OPC_EmitMergeInputChains1_0,
19506
0
   OPC_EmitInteger32, 8, 
19507
0
   OPC_EmitInteger32, 14, 
19508
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
19509
0
                 MVT::v4f32, 3, 1, 2, 3, 
19510
0
   OPC_CompleteMatch, 1, 4, 
19511
19512
0
  0,
19513
0
 1|128,1, TARGET_VAL(ISD::FFLOOR),
19514
0
  OPC_RecordChild0,
19515
0
  OPC_SwitchType , 30, MVT::f64,
19516
0
   OPC_Scope, 13, 
19517
0
    OPC_CheckPatternPredicate0,
19518
0
    OPC_EmitInteger32, 8, 
19519
0
    OPC_EmitInteger32, 14, 
19520
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
19521
0
                  MVT::f64, 3, 0, 1, 2, 
19522
0
   13, 
19523
0
    OPC_CheckPatternPredicate3,
19524
0
    OPC_EmitInteger32, 14, 
19525
0
    OPC_EmitInteger32, 8, 
19526
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
19527
0
                  MVT::f64, 3, 1, 0, 2, 
19528
0
   0, 
19529
0
  30, MVT::f32,
19530
0
   OPC_Scope, 13, 
19531
0
    OPC_CheckPatternPredicate1,
19532
0
    OPC_EmitInteger32, 8, 
19533
0
    OPC_EmitInteger32, 14, 
19534
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
19535
0
                  MVT::f32, 3, 0, 1, 2, 
19536
0
   13, 
19537
0
    OPC_CheckPatternPredicate3,
19538
0
    OPC_EmitInteger32, 14, 
19539
0
    OPC_EmitInteger32, 8, 
19540
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
19541
0
                  MVT::f32, 3, 1, 0, 2, 
19542
0
   0, 
19543
0
  30, MVT::f128,
19544
0
   OPC_Scope, 13, 
19545
0
    OPC_CheckPatternPredicate1,
19546
0
    OPC_EmitInteger32, 8, 
19547
0
    OPC_EmitInteger32, 14, 
19548
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
19549
0
                  MVT::f128, 3, 0, 1, 2, 
19550
0
   13, 
19551
0
    OPC_CheckPatternPredicate3,
19552
0
    OPC_EmitInteger32, 14, 
19553
0
    OPC_EmitInteger32, 8, 
19554
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
19555
0
                  MVT::f128, 3, 1, 0, 2, 
19556
0
   0, 
19557
0
  13, MVT::v2f64,
19558
0
   OPC_CheckPatternPredicate0,
19559
0
   OPC_EmitInteger32, 8, 
19560
0
   OPC_EmitInteger32, 14, 
19561
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
19562
0
                 MVT::v2f64, 3, 0, 1, 2, 
19563
0
  13, MVT::v4f32,
19564
0
   OPC_CheckPatternPredicate1,
19565
0
   OPC_EmitInteger32, 8, 
19566
0
   OPC_EmitInteger32, 14, 
19567
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
19568
0
                 MVT::v4f32, 3, 0, 1, 2, 
19569
0
  0,
19570
0
 16|128,1, TARGET_VAL(ISD::STRICT_FCEIL),
19571
0
  OPC_RecordNode,
19572
0
  OPC_RecordChild1,
19573
0
  OPC_SwitchType , 32, MVT::f64,
19574
0
   OPC_Scope, 14, 
19575
0
    OPC_CheckPatternPredicate0,
19576
0
    OPC_EmitMergeInputChains1_0,
19577
0
    OPC_EmitInteger32, 8, 
19578
0
    OPC_EmitInteger32, 12, 
19579
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
19580
0
                  MVT::f64, 3, 1, 2, 3, 
19581
0
   14, 
19582
0
    OPC_CheckPatternPredicate3,
19583
0
    OPC_EmitMergeInputChains1_0,
19584
0
    OPC_EmitInteger32, 12, 
19585
0
    OPC_EmitInteger32, 8, 
19586
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
19587
0
                  MVT::f64, 3, 2, 1, 3, 
19588
0
   0, 
19589
0
  32, MVT::f32,
19590
0
   OPC_Scope, 14, 
19591
0
    OPC_CheckPatternPredicate1,
19592
0
    OPC_EmitMergeInputChains1_0,
19593
0
    OPC_EmitInteger32, 8, 
19594
0
    OPC_EmitInteger32, 12, 
19595
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
19596
0
                  MVT::f32, 3, 1, 2, 3, 
19597
0
   14, 
19598
0
    OPC_CheckPatternPredicate3,
19599
0
    OPC_EmitMergeInputChains1_0,
19600
0
    OPC_EmitInteger32, 12, 
19601
0
    OPC_EmitInteger32, 8, 
19602
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
19603
0
                  MVT::f32, 3, 2, 1, 3, 
19604
0
   0, 
19605
0
  32, MVT::f128,
19606
0
   OPC_Scope, 14, 
19607
0
    OPC_CheckPatternPredicate1,
19608
0
    OPC_EmitMergeInputChains1_0,
19609
0
    OPC_EmitInteger32, 8, 
19610
0
    OPC_EmitInteger32, 12, 
19611
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
19612
0
                  MVT::f128, 3, 1, 2, 3, 
19613
0
   14, 
19614
0
    OPC_CheckPatternPredicate3,
19615
0
    OPC_EmitMergeInputChains1_0,
19616
0
    OPC_EmitInteger32, 12, 
19617
0
    OPC_EmitInteger32, 8, 
19618
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
19619
0
                  MVT::f128, 3, 2, 1, 3, 
19620
0
   0, 
19621
0
  17, MVT::v2f64,
19622
0
   OPC_CheckPatternPredicate0,
19623
0
   OPC_EmitMergeInputChains1_0,
19624
0
   OPC_EmitInteger32, 8, 
19625
0
   OPC_EmitInteger32, 12, 
19626
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
19627
0
                 MVT::v2f64, 3, 1, 2, 3, 
19628
0
   OPC_CompleteMatch, 1, 4, 
19629
19630
0
  17, MVT::v4f32,
19631
0
   OPC_CheckPatternPredicate1,
19632
0
   OPC_EmitMergeInputChains1_0,
19633
0
   OPC_EmitInteger32, 8, 
19634
0
   OPC_EmitInteger32, 12, 
19635
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
19636
0
                 MVT::v4f32, 3, 1, 2, 3, 
19637
0
   OPC_CompleteMatch, 1, 4, 
19638
19639
0
  0,
19640
0
 1|128,1, TARGET_VAL(ISD::FCEIL),
19641
0
  OPC_RecordChild0,
19642
0
  OPC_SwitchType , 30, MVT::f64,
19643
0
   OPC_Scope, 13, 
19644
0
    OPC_CheckPatternPredicate0,
19645
0
    OPC_EmitInteger32, 8, 
19646
0
    OPC_EmitInteger32, 12, 
19647
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
19648
0
                  MVT::f64, 3, 0, 1, 2, 
19649
0
   13, 
19650
0
    OPC_CheckPatternPredicate3,
19651
0
    OPC_EmitInteger32, 12, 
19652
0
    OPC_EmitInteger32, 8, 
19653
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
19654
0
                  MVT::f64, 3, 1, 0, 2, 
19655
0
   0, 
19656
0
  30, MVT::f32,
19657
0
   OPC_Scope, 13, 
19658
0
    OPC_CheckPatternPredicate1,
19659
0
    OPC_EmitInteger32, 8, 
19660
0
    OPC_EmitInteger32, 12, 
19661
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
19662
0
                  MVT::f32, 3, 0, 1, 2, 
19663
0
   13, 
19664
0
    OPC_CheckPatternPredicate3,
19665
0
    OPC_EmitInteger32, 12, 
19666
0
    OPC_EmitInteger32, 8, 
19667
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
19668
0
                  MVT::f32, 3, 1, 0, 2, 
19669
0
   0, 
19670
0
  30, MVT::f128,
19671
0
   OPC_Scope, 13, 
19672
0
    OPC_CheckPatternPredicate1,
19673
0
    OPC_EmitInteger32, 8, 
19674
0
    OPC_EmitInteger32, 12, 
19675
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
19676
0
                  MVT::f128, 3, 0, 1, 2, 
19677
0
   13, 
19678
0
    OPC_CheckPatternPredicate3,
19679
0
    OPC_EmitInteger32, 12, 
19680
0
    OPC_EmitInteger32, 8, 
19681
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
19682
0
                  MVT::f128, 3, 1, 0, 2, 
19683
0
   0, 
19684
0
  13, MVT::v2f64,
19685
0
   OPC_CheckPatternPredicate0,
19686
0
   OPC_EmitInteger32, 8, 
19687
0
   OPC_EmitInteger32, 12, 
19688
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
19689
0
                 MVT::v2f64, 3, 0, 1, 2, 
19690
0
  13, MVT::v4f32,
19691
0
   OPC_CheckPatternPredicate1,
19692
0
   OPC_EmitInteger32, 8, 
19693
0
   OPC_EmitInteger32, 12, 
19694
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
19695
0
                 MVT::v4f32, 3, 0, 1, 2, 
19696
0
  0,
19697
0
 16|128,1, TARGET_VAL(ISD::STRICT_FTRUNC),
19698
0
  OPC_RecordNode,
19699
0
  OPC_RecordChild1,
19700
0
  OPC_SwitchType , 32, MVT::f64,
19701
0
   OPC_Scope, 14, 
19702
0
    OPC_CheckPatternPredicate0,
19703
0
    OPC_EmitMergeInputChains1_0,
19704
0
    OPC_EmitInteger32, 8, 
19705
0
    OPC_EmitInteger32, 10, 
19706
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
19707
0
                  MVT::f64, 3, 1, 2, 3, 
19708
0
   14, 
19709
0
    OPC_CheckPatternPredicate3,
19710
0
    OPC_EmitMergeInputChains1_0,
19711
0
    OPC_EmitInteger32, 10, 
19712
0
    OPC_EmitInteger32, 8, 
19713
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
19714
0
                  MVT::f64, 3, 2, 1, 3, 
19715
0
   0, 
19716
0
  32, MVT::f32,
19717
0
   OPC_Scope, 14, 
19718
0
    OPC_CheckPatternPredicate1,
19719
0
    OPC_EmitMergeInputChains1_0,
19720
0
    OPC_EmitInteger32, 8, 
19721
0
    OPC_EmitInteger32, 10, 
19722
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
19723
0
                  MVT::f32, 3, 1, 2, 3, 
19724
0
   14, 
19725
0
    OPC_CheckPatternPredicate3,
19726
0
    OPC_EmitMergeInputChains1_0,
19727
0
    OPC_EmitInteger32, 10, 
19728
0
    OPC_EmitInteger32, 8, 
19729
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
19730
0
                  MVT::f32, 3, 2, 1, 3, 
19731
0
   0, 
19732
0
  32, MVT::f128,
19733
0
   OPC_Scope, 14, 
19734
0
    OPC_CheckPatternPredicate1,
19735
0
    OPC_EmitMergeInputChains1_0,
19736
0
    OPC_EmitInteger32, 8, 
19737
0
    OPC_EmitInteger32, 10, 
19738
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
19739
0
                  MVT::f128, 3, 1, 2, 3, 
19740
0
   14, 
19741
0
    OPC_CheckPatternPredicate3,
19742
0
    OPC_EmitMergeInputChains1_0,
19743
0
    OPC_EmitInteger32, 10, 
19744
0
    OPC_EmitInteger32, 8, 
19745
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
19746
0
                  MVT::f128, 3, 2, 1, 3, 
19747
0
   0, 
19748
0
  17, MVT::v2f64,
19749
0
   OPC_CheckPatternPredicate0,
19750
0
   OPC_EmitMergeInputChains1_0,
19751
0
   OPC_EmitInteger32, 8, 
19752
0
   OPC_EmitInteger32, 10, 
19753
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
19754
0
                 MVT::v2f64, 3, 1, 2, 3, 
19755
0
   OPC_CompleteMatch, 1, 4, 
19756
19757
0
  17, MVT::v4f32,
19758
0
   OPC_CheckPatternPredicate1,
19759
0
   OPC_EmitMergeInputChains1_0,
19760
0
   OPC_EmitInteger32, 8, 
19761
0
   OPC_EmitInteger32, 10, 
19762
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
19763
0
                 MVT::v4f32, 3, 1, 2, 3, 
19764
0
   OPC_CompleteMatch, 1, 4, 
19765
19766
0
  0,
19767
0
 1|128,1, TARGET_VAL(ISD::FTRUNC),
19768
0
  OPC_RecordChild0,
19769
0
  OPC_SwitchType , 30, MVT::f64,
19770
0
   OPC_Scope, 13, 
19771
0
    OPC_CheckPatternPredicate0,
19772
0
    OPC_EmitInteger32, 8, 
19773
0
    OPC_EmitInteger32, 10, 
19774
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
19775
0
                  MVT::f64, 3, 0, 1, 2, 
19776
0
   13, 
19777
0
    OPC_CheckPatternPredicate3,
19778
0
    OPC_EmitInteger32, 10, 
19779
0
    OPC_EmitInteger32, 8, 
19780
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
19781
0
                  MVT::f64, 3, 1, 0, 2, 
19782
0
   0, 
19783
0
  30, MVT::f32,
19784
0
   OPC_Scope, 13, 
19785
0
    OPC_CheckPatternPredicate1,
19786
0
    OPC_EmitInteger32, 8, 
19787
0
    OPC_EmitInteger32, 10, 
19788
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
19789
0
                  MVT::f32, 3, 0, 1, 2, 
19790
0
   13, 
19791
0
    OPC_CheckPatternPredicate3,
19792
0
    OPC_EmitInteger32, 10, 
19793
0
    OPC_EmitInteger32, 8, 
19794
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
19795
0
                  MVT::f32, 3, 1, 0, 2, 
19796
0
   0, 
19797
0
  30, MVT::f128,
19798
0
   OPC_Scope, 13, 
19799
0
    OPC_CheckPatternPredicate1,
19800
0
    OPC_EmitInteger32, 8, 
19801
0
    OPC_EmitInteger32, 10, 
19802
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
19803
0
                  MVT::f128, 3, 0, 1, 2, 
19804
0
   13, 
19805
0
    OPC_CheckPatternPredicate3,
19806
0
    OPC_EmitInteger32, 10, 
19807
0
    OPC_EmitInteger32, 8, 
19808
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
19809
0
                  MVT::f128, 3, 1, 0, 2, 
19810
0
   0, 
19811
0
  13, MVT::v2f64,
19812
0
   OPC_CheckPatternPredicate0,
19813
0
   OPC_EmitInteger32, 8, 
19814
0
   OPC_EmitInteger32, 10, 
19815
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
19816
0
                 MVT::v2f64, 3, 0, 1, 2, 
19817
0
  13, MVT::v4f32,
19818
0
   OPC_CheckPatternPredicate1,
19819
0
   OPC_EmitInteger32, 8, 
19820
0
   OPC_EmitInteger32, 10, 
19821
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
19822
0
                 MVT::v4f32, 3, 0, 1, 2, 
19823
0
  0,
19824
0
 16|128,1, TARGET_VAL(ISD::STRICT_FROUND),
19825
0
  OPC_RecordNode,
19826
0
  OPC_RecordChild1,
19827
0
  OPC_SwitchType , 32, MVT::f64,
19828
0
   OPC_Scope, 14, 
19829
0
    OPC_CheckPatternPredicate0,
19830
0
    OPC_EmitMergeInputChains1_0,
19831
0
    OPC_EmitInteger32, 8, 
19832
0
    OPC_EmitInteger32, 2, 
19833
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
19834
0
                  MVT::f64, 3, 1, 2, 3, 
19835
0
   14, 
19836
0
    OPC_CheckPatternPredicate3,
19837
0
    OPC_EmitMergeInputChains1_0,
19838
0
    OPC_EmitInteger32, 2, 
19839
0
    OPC_EmitInteger32, 8, 
19840
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
19841
0
                  MVT::f64, 3, 2, 1, 3, 
19842
0
   0, 
19843
0
  32, MVT::f32,
19844
0
   OPC_Scope, 14, 
19845
0
    OPC_CheckPatternPredicate1,
19846
0
    OPC_EmitMergeInputChains1_0,
19847
0
    OPC_EmitInteger32, 8, 
19848
0
    OPC_EmitInteger32, 2, 
19849
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
19850
0
                  MVT::f32, 3, 1, 2, 3, 
19851
0
   14, 
19852
0
    OPC_CheckPatternPredicate3,
19853
0
    OPC_EmitMergeInputChains1_0,
19854
0
    OPC_EmitInteger32, 2, 
19855
0
    OPC_EmitInteger32, 8, 
19856
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
19857
0
                  MVT::f32, 3, 2, 1, 3, 
19858
0
   0, 
19859
0
  32, MVT::f128,
19860
0
   OPC_Scope, 14, 
19861
0
    OPC_CheckPatternPredicate1,
19862
0
    OPC_EmitMergeInputChains1_0,
19863
0
    OPC_EmitInteger32, 8, 
19864
0
    OPC_EmitInteger32, 2, 
19865
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
19866
0
                  MVT::f128, 3, 1, 2, 3, 
19867
0
   14, 
19868
0
    OPC_CheckPatternPredicate3,
19869
0
    OPC_EmitMergeInputChains1_0,
19870
0
    OPC_EmitInteger32, 2, 
19871
0
    OPC_EmitInteger32, 8, 
19872
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
19873
0
                  MVT::f128, 3, 2, 1, 3, 
19874
0
   0, 
19875
0
  17, MVT::v2f64,
19876
0
   OPC_CheckPatternPredicate0,
19877
0
   OPC_EmitMergeInputChains1_0,
19878
0
   OPC_EmitInteger32, 8, 
19879
0
   OPC_EmitInteger32, 2, 
19880
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
19881
0
                 MVT::v2f64, 3, 1, 2, 3, 
19882
0
   OPC_CompleteMatch, 1, 4, 
19883
19884
0
  17, MVT::v4f32,
19885
0
   OPC_CheckPatternPredicate1,
19886
0
   OPC_EmitMergeInputChains1_0,
19887
0
   OPC_EmitInteger32, 8, 
19888
0
   OPC_EmitInteger32, 2, 
19889
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
19890
0
                 MVT::v4f32, 3, 1, 2, 3, 
19891
0
   OPC_CompleteMatch, 1, 4, 
19892
19893
0
  0,
19894
0
 1|128,1, TARGET_VAL(ISD::FROUND),
19895
0
  OPC_RecordChild0,
19896
0
  OPC_SwitchType , 30, MVT::f64,
19897
0
   OPC_Scope, 13, 
19898
0
    OPC_CheckPatternPredicate0,
19899
0
    OPC_EmitInteger32, 8, 
19900
0
    OPC_EmitInteger32, 2, 
19901
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
19902
0
                  MVT::f64, 3, 0, 1, 2, 
19903
0
   13, 
19904
0
    OPC_CheckPatternPredicate3,
19905
0
    OPC_EmitInteger32, 2, 
19906
0
    OPC_EmitInteger32, 8, 
19907
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
19908
0
                  MVT::f64, 3, 1, 0, 2, 
19909
0
   0, 
19910
0
  30, MVT::f32,
19911
0
   OPC_Scope, 13, 
19912
0
    OPC_CheckPatternPredicate1,
19913
0
    OPC_EmitInteger32, 8, 
19914
0
    OPC_EmitInteger32, 2, 
19915
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
19916
0
                  MVT::f32, 3, 0, 1, 2, 
19917
0
   13, 
19918
0
    OPC_CheckPatternPredicate3,
19919
0
    OPC_EmitInteger32, 2, 
19920
0
    OPC_EmitInteger32, 8, 
19921
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
19922
0
                  MVT::f32, 3, 1, 0, 2, 
19923
0
   0, 
19924
0
  30, MVT::f128,
19925
0
   OPC_Scope, 13, 
19926
0
    OPC_CheckPatternPredicate1,
19927
0
    OPC_EmitInteger32, 8, 
19928
0
    OPC_EmitInteger32, 2, 
19929
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
19930
0
                  MVT::f128, 3, 0, 1, 2, 
19931
0
   13, 
19932
0
    OPC_CheckPatternPredicate3,
19933
0
    OPC_EmitInteger32, 2, 
19934
0
    OPC_EmitInteger32, 8, 
19935
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
19936
0
                  MVT::f128, 3, 1, 0, 2, 
19937
0
   0, 
19938
0
  13, MVT::v2f64,
19939
0
   OPC_CheckPatternPredicate0,
19940
0
   OPC_EmitInteger32, 8, 
19941
0
   OPC_EmitInteger32, 2, 
19942
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
19943
0
                 MVT::v2f64, 3, 0, 1, 2, 
19944
0
  13, MVT::v4f32,
19945
0
   OPC_CheckPatternPredicate1,
19946
0
   OPC_EmitInteger32, 8, 
19947
0
   OPC_EmitInteger32, 2, 
19948
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
19949
0
                 MVT::v4f32, 3, 0, 1, 2, 
19950
0
  0,
19951
0
 74, TARGET_VAL(ISD::FP_EXTEND),
19952
0
  OPC_RecordChild0,
19953
0
  OPC_SwitchType , 17, MVT::f64,
19954
0
   OPC_Scope, 7, 
19955
0
    OPC_CheckPatternPredicate0,
19956
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WLDEB),
19957
0
                  MVT::f64, 1, 0, 
19958
0
   6, 
19959
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LDEBR),
19960
0
                  MVT::f64, 1, 0, 
19961
0
   0, 
19962
0
  50, MVT::f128,
19963
0
   OPC_Scope, 20, 
19964
0
    OPC_CheckChild0Type, MVT::f64,
19965
0
    OPC_Scope, 7, 
19966
0
     OPC_CheckPatternPredicate1,
19967
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLLD),
19968
0
                   MVT::f128, 1, 0, 
19969
0
    7, 
19970
0
     OPC_CheckPatternPredicate5,
19971
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LXDBR),
19972
0
                   MVT::f128, 1, 0, 
19973
0
    0, 
19974
0
   26, 
19975
0
    OPC_CheckChild0Type, MVT::f32,
19976
0
    OPC_Scope, 7, 
19977
0
     OPC_CheckPatternPredicate5,
19978
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LXEBR),
19979
0
                   MVT::f128, 1, 0, 
19980
0
    13, 
19981
0
     OPC_CheckPatternPredicate1,
19982
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::WLDEB),
19983
0
                   MVT::f64, 1, 0, 
19984
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLLD),
19985
0
                   MVT::f128, 1, 1, 
19986
0
    0, 
19987
0
   0, 
19988
0
  0,
19989
0
 123, TARGET_VAL(ISD::STRICT_FP_ROUND),
19990
0
  OPC_RecordNode,
19991
0
  OPC_RecordChild1,
19992
0
  OPC_SwitchType , 80, MVT::f32,
19993
0
   OPC_Scope, 27, 
19994
0
    OPC_CheckChild1Type, MVT::f64,
19995
0
    OPC_Scope, 14, 
19996
0
     OPC_CheckPatternPredicate0,
19997
0
     OPC_EmitMergeInputChains1_0,
19998
0
     OPC_EmitInteger32, 0, 
19999
0
     OPC_EmitInteger32, 0, 
20000
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WLEDB),
20001
0
                   MVT::f32, 3, 1, 2, 3, 
20002
0
    7, 
20003
0
     OPC_EmitMergeInputChains1_0,
20004
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LEDBR),
20005
0
                   MVT::f32, 1, 1, 
20006
0
    0, 
20007
0
   49, 
20008
0
    OPC_CheckChild1Type, MVT::f128,
20009
0
    OPC_Scope, 26, 
20010
0
     OPC_CheckPatternPredicate1,
20011
0
     OPC_EmitMergeInputChains1_0,
20012
0
     OPC_EmitInteger32, 0, 
20013
0
     OPC_EmitInteger32, 6, 
20014
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::WFLRX),
20015
0
                   MVT::f64, 3, 1, 2, 3, 
20016
0
     OPC_EmitInteger32, 0, 
20017
0
     OPC_EmitInteger32, 0, 
20018
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WLEDB),
20019
0
                   MVT::f32, 3, 4, 5, 6, 
20020
0
    17, 
20021
0
     OPC_CheckPatternPredicate5,
20022
0
     OPC_EmitMergeInputChains1_0,
20023
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::LEXBR),
20024
0
                   MVT::f128, 1, 1, 
20025
0
     OPC_EmitStringInteger32, SystemZ::subreg_h32,
20026
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20027
0
                   MVT::f32, 2, 2, 3, 
20028
0
    0, 
20029
0
   0, 
20030
0
  35, MVT::f64,
20031
0
   OPC_Scope, 14, 
20032
0
    OPC_CheckPatternPredicate1,
20033
0
    OPC_EmitMergeInputChains1_0,
20034
0
    OPC_EmitInteger32, 0, 
20035
0
    OPC_EmitInteger32, 0, 
20036
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFLRX),
20037
0
                  MVT::f64, 3, 1, 2, 3, 
20038
0
   17, 
20039
0
    OPC_CheckPatternPredicate5,
20040
0
    OPC_EmitMergeInputChains1_0,
20041
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LDXBR),
20042
0
                  MVT::f128, 1, 1, 
20043
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
20044
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20045
0
                  MVT::f64, 2, 2, 3, 
20046
0
   0, 
20047
0
  0,
20048
0
 116, TARGET_VAL(ISD::FP_ROUND),
20049
0
  OPC_RecordChild0,
20050
0
  OPC_SwitchType , 76, MVT::f32,
20051
0
   OPC_Scope, 25, 
20052
0
    OPC_CheckChild0Type, MVT::f64,
20053
0
    OPC_Scope, 13, 
20054
0
     OPC_CheckPatternPredicate0,
20055
0
     OPC_EmitInteger32, 0, 
20056
0
     OPC_EmitInteger32, 0, 
20057
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WLEDB),
20058
0
                   MVT::f32, 3, 0, 1, 2, 
20059
0
    6, 
20060
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LEDBR),
20061
0
                   MVT::f32, 1, 0, 
20062
0
    0, 
20063
0
   47, 
20064
0
    OPC_CheckChild0Type, MVT::f128,
20065
0
    OPC_Scope, 25, 
20066
0
     OPC_CheckPatternPredicate1,
20067
0
     OPC_EmitInteger32, 0, 
20068
0
     OPC_EmitInteger32, 6, 
20069
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::WFLRX),
20070
0
                   MVT::f64, 3, 0, 1, 2, 
20071
0
     OPC_EmitInteger32, 0, 
20072
0
     OPC_EmitInteger32, 0, 
20073
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WLEDB),
20074
0
                   MVT::f32, 3, 3, 4, 5, 
20075
0
    16, 
20076
0
     OPC_CheckPatternPredicate5,
20077
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::LEXBR),
20078
0
                   MVT::f128, 1, 0, 
20079
0
     OPC_EmitStringInteger32, SystemZ::subreg_h32,
20080
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20081
0
                   MVT::f32, 2, 1, 2, 
20082
0
    0, 
20083
0
   0, 
20084
0
  33, MVT::f64,
20085
0
   OPC_Scope, 13, 
20086
0
    OPC_CheckPatternPredicate1,
20087
0
    OPC_EmitInteger32, 0, 
20088
0
    OPC_EmitInteger32, 0, 
20089
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLRX),
20090
0
                  MVT::f64, 3, 0, 1, 2, 
20091
0
   16, 
20092
0
    OPC_CheckPatternPredicate5,
20093
0
    OPC_EmitNode1None, TARGET_VAL(SystemZ::LDXBR),
20094
0
                  MVT::f128, 1, 0, 
20095
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
20096
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20097
0
                  MVT::f64, 2, 1, 2, 
20098
0
   0, 
20099
0
  0,
20100
0
 81, TARGET_VAL(ISD::STRICT_FMAXNUM),
20101
0
  OPC_RecordNode,
20102
0
  OPC_RecordChild1,
20103
0
  OPC_RecordChild2,
20104
0
  OPC_SwitchType , 12, MVT::f64,
20105
0
   OPC_CheckPatternPredicate1,
20106
0
   OPC_EmitMergeInputChains1_0,
20107
0
   OPC_EmitInteger32, 8, 
20108
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXDB),
20109
0
                 MVT::f64, 3, 1, 2, 3, 
20110
0
  12, MVT::f32,
20111
0
   OPC_CheckPatternPredicate1,
20112
0
   OPC_EmitMergeInputChains1_0,
20113
0
   OPC_EmitInteger32, 8, 
20114
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXSB),
20115
0
                 MVT::f32, 3, 1, 2, 3, 
20116
0
  12, MVT::f128,
20117
0
   OPC_CheckPatternPredicate1,
20118
0
   OPC_EmitMergeInputChains1_0,
20119
0
   OPC_EmitInteger32, 8, 
20120
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXXB),
20121
0
                 MVT::f128, 3, 1, 2, 3, 
20122
0
  15, MVT::v2f64,
20123
0
   OPC_CheckPatternPredicate1,
20124
0
   OPC_EmitMergeInputChains1_0,
20125
0
   OPC_EmitInteger32, 8, 
20126
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMAXDB),
20127
0
                 MVT::v2f64, 3, 1, 2, 3, 
20128
0
   OPC_CompleteMatch, 1, 4, 
20129
20130
0
  15, MVT::v4f32,
20131
0
   OPC_CheckPatternPredicate1,
20132
0
   OPC_EmitMergeInputChains1_0,
20133
0
   OPC_EmitInteger32, 8, 
20134
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMAXSB),
20135
0
                 MVT::v4f32, 3, 1, 2, 3, 
20136
0
   OPC_CompleteMatch, 1, 4, 
20137
20138
0
  0,
20139
0
 69, TARGET_VAL(ISD::FMAXNUM),
20140
0
  OPC_RecordChild0,
20141
0
  OPC_RecordChild1,
20142
0
  OPC_SwitchType , 11, MVT::f64,
20143
0
   OPC_CheckPatternPredicate1,
20144
0
   OPC_EmitInteger32, 8, 
20145
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXDB),
20146
0
                 MVT::f64, 3, 0, 1, 2, 
20147
0
  11, MVT::f32,
20148
0
   OPC_CheckPatternPredicate1,
20149
0
   OPC_EmitInteger32, 8, 
20150
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXSB),
20151
0
                 MVT::f32, 3, 0, 1, 2, 
20152
0
  11, MVT::f128,
20153
0
   OPC_CheckPatternPredicate1,
20154
0
   OPC_EmitInteger32, 8, 
20155
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXXB),
20156
0
                 MVT::f128, 3, 0, 1, 2, 
20157
0
  11, MVT::v2f64,
20158
0
   OPC_CheckPatternPredicate1,
20159
0
   OPC_EmitInteger32, 8, 
20160
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXDB),
20161
0
                 MVT::v2f64, 3, 0, 1, 2, 
20162
0
  11, MVT::v4f32,
20163
0
   OPC_CheckPatternPredicate1,
20164
0
   OPC_EmitInteger32, 8, 
20165
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXSB),
20166
0
                 MVT::v4f32, 3, 0, 1, 2, 
20167
0
  0,
20168
0
 81, TARGET_VAL(ISD::STRICT_FMAXIMUM),
20169
0
  OPC_RecordNode,
20170
0
  OPC_RecordChild1,
20171
0
  OPC_RecordChild2,
20172
0
  OPC_SwitchType , 12, MVT::f64,
20173
0
   OPC_CheckPatternPredicate1,
20174
0
   OPC_EmitMergeInputChains1_0,
20175
0
   OPC_EmitInteger32, 2, 
20176
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXDB),
20177
0
                 MVT::f64, 3, 1, 2, 3, 
20178
0
  12, MVT::f32,
20179
0
   OPC_CheckPatternPredicate1,
20180
0
   OPC_EmitMergeInputChains1_0,
20181
0
   OPC_EmitInteger32, 2, 
20182
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXSB),
20183
0
                 MVT::f32, 3, 1, 2, 3, 
20184
0
  12, MVT::f128,
20185
0
   OPC_CheckPatternPredicate1,
20186
0
   OPC_EmitMergeInputChains1_0,
20187
0
   OPC_EmitInteger32, 2, 
20188
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXXB),
20189
0
                 MVT::f128, 3, 1, 2, 3, 
20190
0
  15, MVT::v2f64,
20191
0
   OPC_CheckPatternPredicate1,
20192
0
   OPC_EmitMergeInputChains1_0,
20193
0
   OPC_EmitInteger32, 2, 
20194
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMAXDB),
20195
0
                 MVT::v2f64, 3, 1, 2, 3, 
20196
0
   OPC_CompleteMatch, 1, 4, 
20197
20198
0
  15, MVT::v4f32,
20199
0
   OPC_CheckPatternPredicate1,
20200
0
   OPC_EmitMergeInputChains1_0,
20201
0
   OPC_EmitInteger32, 2, 
20202
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMAXSB),
20203
0
                 MVT::v4f32, 3, 1, 2, 3, 
20204
0
   OPC_CompleteMatch, 1, 4, 
20205
20206
0
  0,
20207
0
 69, TARGET_VAL(ISD::FMAXIMUM),
20208
0
  OPC_RecordChild0,
20209
0
  OPC_RecordChild1,
20210
0
  OPC_SwitchType , 11, MVT::f64,
20211
0
   OPC_CheckPatternPredicate1,
20212
0
   OPC_EmitInteger32, 2, 
20213
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXDB),
20214
0
                 MVT::f64, 3, 0, 1, 2, 
20215
0
  11, MVT::f32,
20216
0
   OPC_CheckPatternPredicate1,
20217
0
   OPC_EmitInteger32, 2, 
20218
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXSB),
20219
0
                 MVT::f32, 3, 0, 1, 2, 
20220
0
  11, MVT::f128,
20221
0
   OPC_CheckPatternPredicate1,
20222
0
   OPC_EmitInteger32, 2, 
20223
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXXB),
20224
0
                 MVT::f128, 3, 0, 1, 2, 
20225
0
  11, MVT::v2f64,
20226
0
   OPC_CheckPatternPredicate1,
20227
0
   OPC_EmitInteger32, 2, 
20228
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXDB),
20229
0
                 MVT::v2f64, 3, 0, 1, 2, 
20230
0
  11, MVT::v4f32,
20231
0
   OPC_CheckPatternPredicate1,
20232
0
   OPC_EmitInteger32, 2, 
20233
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXSB),
20234
0
                 MVT::v4f32, 3, 0, 1, 2, 
20235
0
  0,
20236
0
 81, TARGET_VAL(ISD::STRICT_FMINNUM),
20237
0
  OPC_RecordNode,
20238
0
  OPC_RecordChild1,
20239
0
  OPC_RecordChild2,
20240
0
  OPC_SwitchType , 12, MVT::f64,
20241
0
   OPC_CheckPatternPredicate1,
20242
0
   OPC_EmitMergeInputChains1_0,
20243
0
   OPC_EmitInteger32, 8, 
20244
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINDB),
20245
0
                 MVT::f64, 3, 1, 2, 3, 
20246
0
  12, MVT::f32,
20247
0
   OPC_CheckPatternPredicate1,
20248
0
   OPC_EmitMergeInputChains1_0,
20249
0
   OPC_EmitInteger32, 8, 
20250
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINSB),
20251
0
                 MVT::f32, 3, 1, 2, 3, 
20252
0
  12, MVT::f128,
20253
0
   OPC_CheckPatternPredicate1,
20254
0
   OPC_EmitMergeInputChains1_0,
20255
0
   OPC_EmitInteger32, 8, 
20256
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINXB),
20257
0
                 MVT::f128, 3, 1, 2, 3, 
20258
0
  15, MVT::v2f64,
20259
0
   OPC_CheckPatternPredicate1,
20260
0
   OPC_EmitMergeInputChains1_0,
20261
0
   OPC_EmitInteger32, 8, 
20262
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMINDB),
20263
0
                 MVT::v2f64, 3, 1, 2, 3, 
20264
0
   OPC_CompleteMatch, 1, 4, 
20265
20266
0
  15, MVT::v4f32,
20267
0
   OPC_CheckPatternPredicate1,
20268
0
   OPC_EmitMergeInputChains1_0,
20269
0
   OPC_EmitInteger32, 8, 
20270
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMINSB),
20271
0
                 MVT::v4f32, 3, 1, 2, 3, 
20272
0
   OPC_CompleteMatch, 1, 4, 
20273
20274
0
  0,
20275
0
 69, TARGET_VAL(ISD::FMINNUM),
20276
0
  OPC_RecordChild0,
20277
0
  OPC_RecordChild1,
20278
0
  OPC_SwitchType , 11, MVT::f64,
20279
0
   OPC_CheckPatternPredicate1,
20280
0
   OPC_EmitInteger32, 8, 
20281
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINDB),
20282
0
                 MVT::f64, 3, 0, 1, 2, 
20283
0
  11, MVT::f32,
20284
0
   OPC_CheckPatternPredicate1,
20285
0
   OPC_EmitInteger32, 8, 
20286
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINSB),
20287
0
                 MVT::f32, 3, 0, 1, 2, 
20288
0
  11, MVT::f128,
20289
0
   OPC_CheckPatternPredicate1,
20290
0
   OPC_EmitInteger32, 8, 
20291
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINXB),
20292
0
                 MVT::f128, 3, 0, 1, 2, 
20293
0
  11, MVT::v2f64,
20294
0
   OPC_CheckPatternPredicate1,
20295
0
   OPC_EmitInteger32, 8, 
20296
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINDB),
20297
0
                 MVT::v2f64, 3, 0, 1, 2, 
20298
0
  11, MVT::v4f32,
20299
0
   OPC_CheckPatternPredicate1,
20300
0
   OPC_EmitInteger32, 8, 
20301
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINSB),
20302
0
                 MVT::v4f32, 3, 0, 1, 2, 
20303
0
  0,
20304
0
 81, TARGET_VAL(ISD::STRICT_FMINIMUM),
20305
0
  OPC_RecordNode,
20306
0
  OPC_RecordChild1,
20307
0
  OPC_RecordChild2,
20308
0
  OPC_SwitchType , 12, MVT::f64,
20309
0
   OPC_CheckPatternPredicate1,
20310
0
   OPC_EmitMergeInputChains1_0,
20311
0
   OPC_EmitInteger32, 2, 
20312
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINDB),
20313
0
                 MVT::f64, 3, 1, 2, 3, 
20314
0
  12, MVT::f32,
20315
0
   OPC_CheckPatternPredicate1,
20316
0
   OPC_EmitMergeInputChains1_0,
20317
0
   OPC_EmitInteger32, 2, 
20318
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINSB),
20319
0
                 MVT::f32, 3, 1, 2, 3, 
20320
0
  12, MVT::f128,
20321
0
   OPC_CheckPatternPredicate1,
20322
0
   OPC_EmitMergeInputChains1_0,
20323
0
   OPC_EmitInteger32, 2, 
20324
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINXB),
20325
0
                 MVT::f128, 3, 1, 2, 3, 
20326
0
  15, MVT::v2f64,
20327
0
   OPC_CheckPatternPredicate1,
20328
0
   OPC_EmitMergeInputChains1_0,
20329
0
   OPC_EmitInteger32, 2, 
20330
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMINDB),
20331
0
                 MVT::v2f64, 3, 1, 2, 3, 
20332
0
   OPC_CompleteMatch, 1, 4, 
20333
20334
0
  15, MVT::v4f32,
20335
0
   OPC_CheckPatternPredicate1,
20336
0
   OPC_EmitMergeInputChains1_0,
20337
0
   OPC_EmitInteger32, 2, 
20338
0
   OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMINSB),
20339
0
                 MVT::v4f32, 3, 1, 2, 3, 
20340
0
   OPC_CompleteMatch, 1, 4, 
20341
20342
0
  0,
20343
0
 69, TARGET_VAL(ISD::FMINIMUM),
20344
0
  OPC_RecordChild0,
20345
0
  OPC_RecordChild1,
20346
0
  OPC_SwitchType , 11, MVT::f64,
20347
0
   OPC_CheckPatternPredicate1,
20348
0
   OPC_EmitInteger32, 2, 
20349
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINDB),
20350
0
                 MVT::f64, 3, 0, 1, 2, 
20351
0
  11, MVT::f32,
20352
0
   OPC_CheckPatternPredicate1,
20353
0
   OPC_EmitInteger32, 2, 
20354
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINSB),
20355
0
                 MVT::f32, 3, 0, 1, 2, 
20356
0
  11, MVT::f128,
20357
0
   OPC_CheckPatternPredicate1,
20358
0
   OPC_EmitInteger32, 2, 
20359
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINXB),
20360
0
                 MVT::f128, 3, 0, 1, 2, 
20361
0
  11, MVT::v2f64,
20362
0
   OPC_CheckPatternPredicate1,
20363
0
   OPC_EmitInteger32, 2, 
20364
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINDB),
20365
0
                 MVT::v2f64, 3, 0, 1, 2, 
20366
0
  11, MVT::v4f32,
20367
0
   OPC_CheckPatternPredicate1,
20368
0
   OPC_EmitInteger32, 2, 
20369
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINSB),
20370
0
                 MVT::v4f32, 3, 0, 1, 2, 
20371
0
  0,
20372
0
 79, TARGET_VAL(ISD::FABS),
20373
0
  OPC_RecordChild0,
20374
0
  OPC_SwitchType , 17, MVT::f64,
20375
0
   OPC_Scope, 7, 
20376
0
    OPC_CheckPatternPredicate0,
20377
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLPDB),
20378
0
                  MVT::f64, 1, 0, 
20379
0
   6, 
20380
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LPDFR),
20381
0
                  MVT::f64, 1, 0, 
20382
0
   0, 
20383
0
  17, MVT::f32,
20384
0
   OPC_Scope, 7, 
20385
0
    OPC_CheckPatternPredicate1,
20386
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLPSB),
20387
0
                  MVT::f32, 1, 0, 
20388
0
   6, 
20389
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LPDFR_32),
20390
0
                  MVT::f32, 1, 0, 
20391
0
   0, 
20392
0
  18, MVT::f128,
20393
0
   OPC_Scope, 7, 
20394
0
    OPC_CheckPatternPredicate1,
20395
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLPXB),
20396
0
                  MVT::f128, 1, 0, 
20397
0
   7, 
20398
0
    OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPXBR),
20399
0
                  MVT::f128, MVT::i32, 1, 0, 
20400
0
   0, 
20401
0
  7, MVT::v2f64,
20402
0
   OPC_CheckPatternPredicate0,
20403
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLPDB),
20404
0
                 MVT::v2f64, 1, 0, 
20405
0
  7, MVT::v4f32,
20406
0
   OPC_CheckPatternPredicate1,
20407
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLPSB),
20408
0
                 MVT::v4f32, 1, 0, 
20409
0
  0,
20410
0
 104, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
20411
0
  OPC_RecordNode,
20412
0
  OPC_RecordChild1,
20413
0
  OPC_Scope, 30, 
20414
0
   OPC_CheckChild1TypeI32,
20415
0
   OPC_SwitchType , 7, MVT::f32,
20416
0
    OPC_EmitMergeInputChains1_0,
20417
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CEFBR),
20418
0
                  MVT::f32, 1, 1, 
20419
0
   7, MVT::f64,
20420
0
    OPC_EmitMergeInputChains1_0,
20421
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDFBR),
20422
0
                  MVT::f64, 1, 1, 
20423
0
   7, MVT::f128,
20424
0
    OPC_EmitMergeInputChains1_0,
20425
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXFBR),
20426
0
                  MVT::f128, 1, 1, 
20427
0
   0,
20428
0
  30, 
20429
0
   OPC_CheckChild1TypeI64,
20430
0
   OPC_SwitchType , 7, MVT::f32,
20431
0
    OPC_EmitMergeInputChains1_0,
20432
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CEGBR),
20433
0
                  MVT::f32, 1, 1, 
20434
0
   7, MVT::f64,
20435
0
    OPC_EmitMergeInputChains1_0,
20436
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDGBR),
20437
0
                  MVT::f64, 1, 1, 
20438
0
   7, MVT::f128,
20439
0
    OPC_EmitMergeInputChains1_0,
20440
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXGBR),
20441
0
                  MVT::f128, 1, 1, 
20442
0
   0,
20443
0
  18, 
20444
0
   OPC_CheckChild1Type, MVT::v2i64,
20445
0
   OPC_CheckType, MVT::v2f64,
20446
0
   OPC_CheckPatternPredicate0,
20447
0
   OPC_EmitMergeInputChains1_0,
20448
0
   OPC_EmitInteger32, 0, 
20449
0
   OPC_EmitInteger32, 0, 
20450
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCDGB),
20451
0
                 MVT::v2f64, 3, 1, 2, 3, 
20452
0
  18, 
20453
0
   OPC_CheckChild1Type, MVT::v4i32,
20454
0
   OPC_CheckType, MVT::v4f32,
20455
0
   OPC_CheckPatternPredicate4,
20456
0
   OPC_EmitMergeInputChains1_0,
20457
0
   OPC_EmitInteger32, 0, 
20458
0
   OPC_EmitInteger32, 0, 
20459
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCEFB),
20460
0
                 MVT::v4f32, 3, 1, 2, 3, 
20461
0
  0, 
20462
0
 95, TARGET_VAL(ISD::SINT_TO_FP),
20463
0
  OPC_RecordChild0,
20464
0
  OPC_Scope, 27, 
20465
0
   OPC_CheckChild0TypeI32,
20466
0
   OPC_SwitchType , 6, MVT::f32,
20467
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CEFBR),
20468
0
                  MVT::f32, 1, 0, 
20469
0
   6, MVT::f64,
20470
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDFBR),
20471
0
                  MVT::f64, 1, 0, 
20472
0
   6, MVT::f128,
20473
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXFBR),
20474
0
                  MVT::f128, 1, 0, 
20475
0
   0,
20476
0
  27, 
20477
0
   OPC_CheckChild0TypeI64,
20478
0
   OPC_SwitchType , 6, MVT::f32,
20479
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CEGBR),
20480
0
                  MVT::f32, 1, 0, 
20481
0
   6, MVT::f64,
20482
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDGBR),
20483
0
                  MVT::f64, 1, 0, 
20484
0
   6, MVT::f128,
20485
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXGBR),
20486
0
                  MVT::f128, 1, 0, 
20487
0
   0,
20488
0
  17, 
20489
0
   OPC_CheckChild0Type, MVT::v2i64,
20490
0
   OPC_CheckType, MVT::v2f64,
20491
0
   OPC_CheckPatternPredicate0,
20492
0
   OPC_EmitInteger32, 0, 
20493
0
   OPC_EmitInteger32, 0, 
20494
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCDGB),
20495
0
                 MVT::v2f64, 3, 0, 1, 2, 
20496
0
  17, 
20497
0
   OPC_CheckChild0Type, MVT::v4i32,
20498
0
   OPC_CheckType, MVT::v4f32,
20499
0
   OPC_CheckPatternPredicate4,
20500
0
   OPC_EmitInteger32, 0, 
20501
0
   OPC_EmitInteger32, 0, 
20502
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEFB),
20503
0
                 MVT::v4f32, 3, 0, 1, 2, 
20504
0
  0, 
20505
0
 18|128,1, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
20506
0
  OPC_RecordNode,
20507
0
  OPC_RecordChild1,
20508
0
  OPC_Scope, 51, 
20509
0
   OPC_CheckChild1TypeI32,
20510
0
   OPC_SwitchType , 14, MVT::f32,
20511
0
    OPC_CheckPatternPredicate3,
20512
0
    OPC_EmitMergeInputChains1_0,
20513
0
    OPC_EmitInteger32, 0, 
20514
0
    OPC_EmitInteger32, 0, 
20515
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CELFBR),
20516
0
                  MVT::f32, 3, 2, 1, 3, 
20517
0
   14, MVT::f64,
20518
0
    OPC_CheckPatternPredicate3,
20519
0
    OPC_EmitMergeInputChains1_0,
20520
0
    OPC_EmitInteger32, 0, 
20521
0
    OPC_EmitInteger32, 0, 
20522
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDLFBR),
20523
0
                  MVT::f64, 3, 2, 1, 3, 
20524
0
   14, MVT::f128,
20525
0
    OPC_CheckPatternPredicate3,
20526
0
    OPC_EmitMergeInputChains1_0,
20527
0
    OPC_EmitInteger32, 0, 
20528
0
    OPC_EmitInteger32, 0, 
20529
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXLFBR),
20530
0
                  MVT::f128, 3, 2, 1, 3, 
20531
0
   0,
20532
0
  51, 
20533
0
   OPC_CheckChild1TypeI64,
20534
0
   OPC_SwitchType , 14, MVT::f32,
20535
0
    OPC_CheckPatternPredicate3,
20536
0
    OPC_EmitMergeInputChains1_0,
20537
0
    OPC_EmitInteger32, 0, 
20538
0
    OPC_EmitInteger32, 0, 
20539
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CELGBR),
20540
0
                  MVT::f32, 3, 2, 1, 3, 
20541
0
   14, MVT::f64,
20542
0
    OPC_CheckPatternPredicate3,
20543
0
    OPC_EmitMergeInputChains1_0,
20544
0
    OPC_EmitInteger32, 0, 
20545
0
    OPC_EmitInteger32, 0, 
20546
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDLGBR),
20547
0
                  MVT::f64, 3, 2, 1, 3, 
20548
0
   14, MVT::f128,
20549
0
    OPC_CheckPatternPredicate3,
20550
0
    OPC_EmitMergeInputChains1_0,
20551
0
    OPC_EmitInteger32, 0, 
20552
0
    OPC_EmitInteger32, 0, 
20553
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXLGBR),
20554
0
                  MVT::f128, 3, 2, 1, 3, 
20555
0
   0,
20556
0
  18, 
20557
0
   OPC_CheckChild1Type, MVT::v2i64,
20558
0
   OPC_CheckType, MVT::v2f64,
20559
0
   OPC_CheckPatternPredicate0,
20560
0
   OPC_EmitMergeInputChains1_0,
20561
0
   OPC_EmitInteger32, 0, 
20562
0
   OPC_EmitInteger32, 0, 
20563
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCDLGB),
20564
0
                 MVT::v2f64, 3, 1, 2, 3, 
20565
0
  18, 
20566
0
   OPC_CheckChild1Type, MVT::v4i32,
20567
0
   OPC_CheckType, MVT::v4f32,
20568
0
   OPC_CheckPatternPredicate4,
20569
0
   OPC_EmitMergeInputChains1_0,
20570
0
   OPC_EmitInteger32, 0, 
20571
0
   OPC_EmitInteger32, 0, 
20572
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCELFB),
20573
0
                 MVT::v4f32, 3, 1, 2, 3, 
20574
0
  0, 
20575
0
 9|128,1, TARGET_VAL(ISD::UINT_TO_FP),
20576
0
  OPC_RecordChild0,
20577
0
  OPC_Scope, 48, 
20578
0
   OPC_CheckChild0TypeI32,
20579
0
   OPC_SwitchType , 13, MVT::f32,
20580
0
    OPC_CheckPatternPredicate3,
20581
0
    OPC_EmitInteger32, 0, 
20582
0
    OPC_EmitInteger32, 0, 
20583
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CELFBR),
20584
0
                  MVT::f32, 3, 1, 0, 2, 
20585
0
   13, MVT::f64,
20586
0
    OPC_CheckPatternPredicate3,
20587
0
    OPC_EmitInteger32, 0, 
20588
0
    OPC_EmitInteger32, 0, 
20589
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDLFBR),
20590
0
                  MVT::f64, 3, 1, 0, 2, 
20591
0
   13, MVT::f128,
20592
0
    OPC_CheckPatternPredicate3,
20593
0
    OPC_EmitInteger32, 0, 
20594
0
    OPC_EmitInteger32, 0, 
20595
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXLFBR),
20596
0
                  MVT::f128, 3, 1, 0, 2, 
20597
0
   0,
20598
0
  48, 
20599
0
   OPC_CheckChild0TypeI64,
20600
0
   OPC_SwitchType , 13, MVT::f32,
20601
0
    OPC_CheckPatternPredicate3,
20602
0
    OPC_EmitInteger32, 0, 
20603
0
    OPC_EmitInteger32, 0, 
20604
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CELGBR),
20605
0
                  MVT::f32, 3, 1, 0, 2, 
20606
0
   13, MVT::f64,
20607
0
    OPC_CheckPatternPredicate3,
20608
0
    OPC_EmitInteger32, 0, 
20609
0
    OPC_EmitInteger32, 0, 
20610
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDLGBR),
20611
0
                  MVT::f64, 3, 1, 0, 2, 
20612
0
   13, MVT::f128,
20613
0
    OPC_CheckPatternPredicate3,
20614
0
    OPC_EmitInteger32, 0, 
20615
0
    OPC_EmitInteger32, 0, 
20616
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXLGBR),
20617
0
                  MVT::f128, 3, 1, 0, 2, 
20618
0
   0,
20619
0
  17, 
20620
0
   OPC_CheckChild0Type, MVT::v2i64,
20621
0
   OPC_CheckType, MVT::v2f64,
20622
0
   OPC_CheckPatternPredicate0,
20623
0
   OPC_EmitInteger32, 0, 
20624
0
   OPC_EmitInteger32, 0, 
20625
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCDLGB),
20626
0
                 MVT::v2f64, 3, 0, 1, 2, 
20627
0
  17, 
20628
0
   OPC_CheckChild0Type, MVT::v4i32,
20629
0
   OPC_CheckType, MVT::v4f32,
20630
0
   OPC_CheckPatternPredicate4,
20631
0
   OPC_EmitInteger32, 0, 
20632
0
   OPC_EmitInteger32, 0, 
20633
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCELFB),
20634
0
                 MVT::v4f32, 3, 0, 1, 2, 
20635
0
  0, 
20636
0
 97|128,1, TARGET_VAL(SystemZISD::MERGE_HIGH),
20637
0
  OPC_Scope, 115, 
20638
0
   OPC_MoveChild0,
20639
0
   OPC_SwitchOpcode , 53, TARGET_VAL(ISD::BITCAST),
20640
0
    OPC_MoveChild0,
20641
0
    OPC_CheckOpcode, TARGET_VAL(SystemZISD::MERGE_HIGH),
20642
0
    OPC_MoveChild0,
20643
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
20644
0
    OPC_MoveChild0,
20645
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20646
0
    OPC_RecordMemRef,
20647
0
    OPC_RecordNode,
20648
0
    OPC_CheckFoldableChainNode,
20649
0
    OPC_RecordChild1,
20650
0
    OPC_CheckChild1TypeI64,
20651
0
    OPC_CheckPredicate0, 
20652
0
    OPC_CheckPredicate2, 
20653
0
    OPC_CheckType, MVT::f32,
20654
0
    OPC_MoveParent,
20655
0
    OPC_MoveSibling1,
20656
0
    OPC_CheckImmAllZerosV,
20657
0
    OPC_MoveParent,
20658
0
    OPC_CheckType, MVT::v4f32,
20659
0
    OPC_MoveParent,
20660
0
    OPC_MoveSibling1,
20661
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
20662
0
    OPC_MoveChild0,
20663
0
    OPC_CheckImmAllZerosV,
20664
0
    OPC_CheckType, MVT::v4f32,
20665
0
    OPC_MoveParent,
20666
0
    OPC_MoveParent,
20667
0
    OPC_CheckType, MVT::v2i64,
20668
0
    OPC_CheckPatternPredicate1,
20669
0
    OPC_CheckComplexPat1, /*#*/1,
20670
0
    OPC_EmitMergeInputChains1_0,
20671
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZLF), 0|OPFL_Chain|OPFL_MemRefs,
20672
0
                  MVT::v2i64, 3, 2, 3, 4, 
20673
0
   53, TARGET_VAL(SystemZISD::UNPACKL_HIGH),
20674
0
    OPC_MoveChild0,
20675
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
20676
0
    OPC_MoveChild0,
20677
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
20678
0
    OPC_MoveChild0,
20679
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20680
0
    OPC_RecordMemRef,
20681
0
    OPC_RecordNode,
20682
0
    OPC_CheckFoldableChainNode,
20683
0
    OPC_RecordChild1,
20684
0
    OPC_CheckChild1TypeI64,
20685
0
    OPC_CheckPredicate0, 
20686
0
    OPC_CheckPredicate2, 
20687
0
    OPC_CheckType, MVT::f32,
20688
0
    OPC_MoveParent,
20689
0
    OPC_CheckType, MVT::v4f32,
20690
0
    OPC_MoveParent,
20691
0
    OPC_CheckType, MVT::v4i32,
20692
0
    OPC_MoveParent,
20693
0
    OPC_MoveSibling1,
20694
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
20695
0
    OPC_MoveChild0,
20696
0
    OPC_CheckImmAllZerosV,
20697
0
    OPC_CheckType, MVT::v4f32,
20698
0
    OPC_MoveParent,
20699
0
    OPC_MoveParent,
20700
0
    OPC_CheckType, MVT::v2i64,
20701
0
    OPC_CheckPatternPredicate0,
20702
0
    OPC_CheckComplexPat1, /*#*/1,
20703
0
    OPC_EmitMergeInputChains1_0,
20704
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZF), 0|OPFL_Chain|OPFL_MemRefs,
20705
0
                  MVT::v2i64, 3, 2, 3, 4, 
20706
0
   0,
20707
0
  44, 
20708
0
   OPC_RecordChild0,
20709
0
   OPC_RecordChild1,
20710
0
   OPC_SwitchType , 8, MVT::v16i8,
20711
0
    OPC_CheckPatternPredicate0,
20712
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHB),
20713
0
                  MVT::v16i8, 2, 0, 1, 
20714
0
   8, MVT::v8i16,
20715
0
    OPC_CheckPatternPredicate0,
20716
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHH),
20717
0
                  MVT::v8i16, 2, 0, 1, 
20718
0
   8, MVT::v4i32,
20719
0
    OPC_CheckPatternPredicate0,
20720
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHF),
20721
0
                  MVT::v4i32, 2, 0, 1, 
20722
0
   8, MVT::v2i64,
20723
0
    OPC_CheckPatternPredicate0,
20724
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHG),
20725
0
                  MVT::v2i64, 2, 0, 1, 
20726
0
   0,
20727
0
  36, 
20728
0
   OPC_MoveChild0,
20729
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
20730
0
   OPC_MoveChild0,
20731
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20732
0
   OPC_RecordMemRef,
20733
0
   OPC_RecordNode,
20734
0
   OPC_CheckFoldableChainNode,
20735
0
   OPC_RecordChild1,
20736
0
   OPC_CheckChild1TypeI64,
20737
0
   OPC_CheckPredicate0, 
20738
0
   OPC_CheckPredicate2, 
20739
0
   OPC_CheckType, MVT::f64,
20740
0
   OPC_MoveParent,
20741
0
   OPC_MoveSibling1,
20742
0
   OPC_CheckImmAllZerosV,
20743
0
   OPC_MoveParent,
20744
0
   OPC_CheckType, MVT::v2f64,
20745
0
   OPC_CheckPatternPredicate0,
20746
0
   OPC_CheckComplexPat1, /*#*/1,
20747
0
   OPC_EmitMergeInputChains1_0,
20748
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
20749
0
                 MVT::v2f64, 3, 2, 3, 4, 
20750
0
  24, 
20751
0
   OPC_RecordChild0,
20752
0
   OPC_RecordChild1,
20753
0
   OPC_SwitchType , 8, MVT::v4f32,
20754
0
    OPC_CheckPatternPredicate0,
20755
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHF),
20756
0
                  MVT::v4f32, 2, 0, 1, 
20757
0
   8, MVT::v2f64,
20758
0
    OPC_CheckPatternPredicate0,
20759
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHG),
20760
0
                  MVT::v2f64, 2, 0, 1, 
20761
0
   0,
20762
0
  0, 
20763
0
 68|128,1, TARGET_VAL(SystemZISD::JOIN_DWORDS),
20764
0
  OPC_Scope, 53|128,1, 
20765
0
   OPC_MoveChild0,
20766
0
   OPC_SwitchOpcode , 89, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
20767
0
    OPC_MoveChild0,
20768
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
20769
0
    OPC_MoveChild0,
20770
0
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
20771
0
    OPC_RecordChild0,
20772
0
    OPC_Scope, 38, 
20773
0
     OPC_CheckChild0Type, MVT::v16i8,
20774
0
     OPC_CheckChild1Integer, 14, 
20775
0
     OPC_MoveParent,
20776
0
     OPC_MoveSibling1,
20777
0
     OPC_CheckValueType, MVT::i8,
20778
0
     OPC_MoveParent,
20779
0
     OPC_MoveSibling1,
20780
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
20781
0
     OPC_MoveChild0,
20782
0
     OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
20783
0
     OPC_MoveChild0,
20784
0
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
20785
0
     OPC_CheckChild0Same, 0,
20786
0
     OPC_CheckChild1Integer, 30, 
20787
0
     OPC_MoveParent,
20788
0
     OPC_MoveSibling1,
20789
0
     OPC_CheckValueType, MVT::i8,
20790
0
     OPC_MoveParent,
20791
0
     OPC_MoveParent,
20792
0
     OPC_CheckPatternPredicate0,
20793
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGB),
20794
0
                   MVT::v2i64, 1, 0, 
20795
0
    38, 
20796
0
     OPC_CheckChild0Type, MVT::v8i16,
20797
0
     OPC_CheckChild1Integer, 6, 
20798
0
     OPC_MoveParent,
20799
0
     OPC_MoveSibling1,
20800
0
     OPC_CheckValueType, MVT::i16,
20801
0
     OPC_MoveParent,
20802
0
     OPC_MoveSibling1,
20803
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
20804
0
     OPC_MoveChild0,
20805
0
     OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
20806
0
     OPC_MoveChild0,
20807
0
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
20808
0
     OPC_CheckChild0Same, 0,
20809
0
     OPC_CheckChild1Integer, 14, 
20810
0
     OPC_MoveParent,
20811
0
     OPC_MoveSibling1,
20812
0
     OPC_CheckValueType, MVT::i16,
20813
0
     OPC_MoveParent,
20814
0
     OPC_MoveParent,
20815
0
     OPC_CheckPatternPredicate0,
20816
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGH),
20817
0
                   MVT::v2i64, 1, 0, 
20818
0
    0, 
20819
0
   31, TARGET_VAL(ISD::SIGN_EXTEND),
20820
0
    OPC_MoveChild0,
20821
0
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
20822
0
    OPC_RecordChild0,
20823
0
    OPC_CheckChild0Type, MVT::v4i32,
20824
0
    OPC_CheckChild1Integer, 2, 
20825
0
    OPC_MoveParent,
20826
0
    OPC_MoveSibling1,
20827
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
20828
0
    OPC_MoveChild0,
20829
0
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
20830
0
    OPC_CheckChild0Same, 0,
20831
0
    OPC_CheckChild1Integer, 6, 
20832
0
    OPC_MoveParent,
20833
0
    OPC_MoveParent,
20834
0
    OPC_CheckPatternPredicate0,
20835
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGF),
20836
0
                  MVT::v2i64, 1, 0, 
20837
0
   23, TARGET_VAL(ISD::LOAD),
20838
0
    OPC_RecordMemRef,
20839
0
    OPC_RecordNode,
20840
0
    OPC_CheckFoldableChainNode,
20841
0
    OPC_RecordChild1,
20842
0
    OPC_CheckChild1TypeI64,
20843
0
    OPC_CheckPredicate0, 
20844
0
    OPC_CheckPredicate2, 
20845
0
    OPC_MoveParent,
20846
0
    OPC_CheckChild1Integer, 0, 
20847
0
    OPC_CheckPatternPredicate0,
20848
0
    OPC_CheckComplexPat1, /*#*/1,
20849
0
    OPC_EmitMergeInputChains1_0,
20850
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
20851
0
                  MVT::v2i64, 3, 2, 3, 4, 
20852
0
   23, TARGET_VAL(SystemZISD::LRV),
20853
0
    OPC_RecordMemRef,
20854
0
    OPC_RecordNode,
20855
0
    OPC_CheckFoldableChainNode,
20856
0
    OPC_RecordChild1,
20857
0
    OPC_CheckChild1TypeI64,
20858
0
    OPC_CheckPredicate, 40,
20859
0
    OPC_MoveParent,
20860
0
    OPC_CheckChild1Integer, 0, 
20861
0
    OPC_CheckPatternPredicate4,
20862
0
    OPC_CheckComplexPat1, /*#*/1,
20863
0
    OPC_EmitMergeInputChains1_0,
20864
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZG), 0|OPFL_Chain|OPFL_MemRefs,
20865
0
                  MVT::v2i64, 3, 2, 3, 4, 
20866
0
   0,
20867
0
  10, 
20868
0
   OPC_RecordChild0,
20869
0
   OPC_RecordChild1,
20870
0
   OPC_CheckPatternPredicate0,
20871
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
20872
0
                 MVT::v2i64, 2, 0, 1, 
20873
0
  0, 
20874
0
 55|128,7, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
20875
0
  OPC_Scope, 70|128,2, 
20876
0
   OPC_MoveChild0,
20877
0
   OPC_Scope, 92|128,1, 
20878
0
    OPC_CheckImmAllZerosV,
20879
0
    OPC_MoveSibling1,
20880
0
    OPC_SwitchOpcode , 116, TARGET_VAL(ISD::LOAD),
20881
0
     OPC_RecordMemRef,
20882
0
     OPC_RecordNode,
20883
0
     OPC_CheckFoldableChainNode,
20884
0
     OPC_RecordChild1,
20885
0
     OPC_CheckChild1TypeI64,
20886
0
     OPC_CheckPredicate0, 
20887
0
     OPC_Scope, 44, 
20888
0
      OPC_CheckPredicate4, 
20889
0
      OPC_CheckTypeI32,
20890
0
      OPC_Scope, 19, 
20891
0
       OPC_CheckPredicate6, 
20892
0
       OPC_MoveParent,
20893
0
       OPC_CheckChild2Integer, 14, 
20894
0
       OPC_CheckType, MVT::v16i8,
20895
0
       OPC_CheckPatternPredicate0,
20896
0
       OPC_CheckComplexPat1, /*#*/1,
20897
0
       OPC_EmitMergeInputChains1_0,
20898
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZB), 0|OPFL_Chain|OPFL_MemRefs,
20899
0
                     MVT::v16i8, 3, 2, 3, 4, 
20900
0
      19, 
20901
0
       OPC_CheckPredicate5, 
20902
0
       OPC_MoveParent,
20903
0
       OPC_CheckChild2Integer, 6, 
20904
0
       OPC_CheckType, MVT::v8i16,
20905
0
       OPC_CheckPatternPredicate0,
20906
0
       OPC_CheckComplexPat1, /*#*/1,
20907
0
       OPC_EmitMergeInputChains1_0,
20908
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZH), 0|OPFL_Chain|OPFL_MemRefs,
20909
0
                     MVT::v8i16, 3, 2, 3, 4, 
20910
0
      0, 
20911
0
     62, 
20912
0
      OPC_CheckPredicate2, 
20913
0
      OPC_SwitchType , 37, MVT::i32,
20914
0
       OPC_MoveParent,
20915
0
       OPC_CheckType, MVT::v4i32,
20916
0
       OPC_Scope, 15, 
20917
0
        OPC_CheckChild2Integer, 2, 
20918
0
        OPC_CheckPatternPredicate0,
20919
0
        OPC_CheckComplexPat1, /*#*/1,
20920
0
        OPC_EmitMergeInputChains1_0,
20921
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZF), 0|OPFL_Chain|OPFL_MemRefs,
20922
0
                      MVT::v4i32, 3, 2, 3, 4, 
20923
0
       15, 
20924
0
        OPC_CheckChild2Integer, 0, 
20925
0
        OPC_CheckPatternPredicate1,
20926
0
        OPC_CheckComplexPat1, /*#*/1,
20927
0
        OPC_EmitMergeInputChains1_0,
20928
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZLF), 0|OPFL_Chain|OPFL_MemRefs,
20929
0
                      MVT::v4i32, 3, 2, 3, 4, 
20930
0
       0, 
20931
0
      18, MVT::i64,
20932
0
       OPC_MoveParent,
20933
0
       OPC_CheckChild2Integer, 0, 
20934
0
       OPC_CheckType, MVT::v2i64,
20935
0
       OPC_CheckPatternPredicate0,
20936
0
       OPC_CheckComplexPat1, /*#*/1,
20937
0
       OPC_EmitMergeInputChains1_0,
20938
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
20939
0
                     MVT::v2i64, 3, 2, 3, 4, 
20940
0
      0,
20941
0
     0, 
20942
0
    94, TARGET_VAL(SystemZISD::LRV),
20943
0
     OPC_RecordMemRef,
20944
0
     OPC_RecordNode,
20945
0
     OPC_CheckFoldableChainNode,
20946
0
     OPC_RecordChild1,
20947
0
     OPC_CheckChild1TypeI64,
20948
0
     OPC_SwitchType , 63, MVT::i32,
20949
0
      OPC_Scope, 20, 
20950
0
       OPC_CheckPredicate, 48,
20951
0
       OPC_MoveParent,
20952
0
       OPC_CheckChild2Integer, 6, 
20953
0
       OPC_CheckType, MVT::v8i16,
20954
0
       OPC_CheckPatternPredicate4,
20955
0
       OPC_CheckComplexPat1, /*#*/1,
20956
0
       OPC_EmitMergeInputChains1_0,
20957
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZH), 0|OPFL_Chain|OPFL_MemRefs,
20958
0
                     MVT::v8i16, 3, 2, 3, 4, 
20959
0
      39, 
20960
0
       OPC_CheckPredicate, 47,
20961
0
       OPC_MoveParent,
20962
0
       OPC_CheckType, MVT::v4i32,
20963
0
       OPC_Scope, 15, 
20964
0
        OPC_CheckChild2Integer, 2, 
20965
0
        OPC_CheckPatternPredicate4,
20966
0
        OPC_CheckComplexPat1, /*#*/1,
20967
0
        OPC_EmitMergeInputChains1_0,
20968
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZF), 0|OPFL_Chain|OPFL_MemRefs,
20969
0
                      MVT::v4i32, 3, 2, 3, 4, 
20970
0
       15, 
20971
0
        OPC_CheckChild2Integer, 0, 
20972
0
        OPC_CheckPatternPredicate4,
20973
0
        OPC_CheckComplexPat1, /*#*/1,
20974
0
        OPC_EmitMergeInputChains1_0,
20975
0
        OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZE), 0|OPFL_Chain|OPFL_MemRefs,
20976
0
                      MVT::v4i32, 3, 2, 3, 4, 
20977
0
       0, 
20978
0
      0, 
20979
0
     20, MVT::i64,
20980
0
      OPC_CheckPredicate, 40,
20981
0
      OPC_MoveParent,
20982
0
      OPC_CheckChild2Integer, 0, 
20983
0
      OPC_CheckType, MVT::v2i64,
20984
0
      OPC_CheckPatternPredicate4,
20985
0
      OPC_CheckComplexPat1, /*#*/1,
20986
0
      OPC_EmitMergeInputChains1_0,
20987
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZG), 0|OPFL_Chain|OPFL_MemRefs,
20988
0
                    MVT::v2i64, 3, 2, 3, 4, 
20989
0
     0,
20990
0
    0,
20991
0
   100, 
20992
0
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
20993
0
    OPC_MoveSibling1,
20994
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20995
0
    OPC_RecordMemRef,
20996
0
    OPC_RecordNode,
20997
0
    OPC_CheckFoldableChainNode,
20998
0
    OPC_RecordChild1,
20999
0
    OPC_CheckChild1TypeI64,
21000
0
    OPC_CheckPredicate0, 
21001
0
    OPC_Scope, 42, 
21002
0
     OPC_CheckPredicate4, 
21003
0
     OPC_CheckTypeI32,
21004
0
     OPC_Scope, 18, 
21005
0
      OPC_CheckPredicate6, 
21006
0
      OPC_MoveParent,
21007
0
      OPC_CheckChild2Integer, 0, 
21008
0
      OPC_CheckType, MVT::v16i8,
21009
0
      OPC_CheckComplexPat1, /*#*/1,
21010
0
      OPC_EmitMergeInputChains1_0,
21011
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
21012
0
                    MVT::v16i8, 3, 2, 3, 4, 
21013
0
     18, 
21014
0
      OPC_CheckPredicate5, 
21015
0
      OPC_MoveParent,
21016
0
      OPC_CheckChild2Integer, 0, 
21017
0
      OPC_CheckType, MVT::v8i16,
21018
0
      OPC_CheckComplexPat1, /*#*/1,
21019
0
      OPC_EmitMergeInputChains1_0,
21020
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
21021
0
                    MVT::v8i16, 3, 2, 3, 4, 
21022
0
     0, 
21023
0
    41, 
21024
0
     OPC_CheckPredicate2, 
21025
0
     OPC_SwitchType , 17, MVT::i32,
21026
0
      OPC_MoveParent,
21027
0
      OPC_CheckChild2Integer, 0, 
21028
0
      OPC_CheckType, MVT::v4i32,
21029
0
      OPC_CheckComplexPat1, /*#*/1,
21030
0
      OPC_EmitMergeInputChains1_0,
21031
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
21032
0
                    MVT::v4i32, 3, 2, 3, 4, 
21033
0
     17, MVT::i64,
21034
0
      OPC_MoveParent,
21035
0
      OPC_CheckChild2Integer, 0, 
21036
0
      OPC_CheckType, MVT::v2i64,
21037
0
      OPC_CheckComplexPat1, /*#*/1,
21038
0
      OPC_EmitMergeInputChains1_0,
21039
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
21040
0
                    MVT::v2i64, 3, 2, 3, 4, 
21041
0
     0,
21042
0
    0, 
21043
0
   0, 
21044
0
  40|128,3, 
21045
0
   OPC_RecordChild0,
21046
0
   OPC_Scope, 109|128,1, 
21047
0
    OPC_MoveChild1,
21048
0
    OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::LOAD),
21049
0
     OPC_RecordMemRef,
21050
0
     OPC_RecordNode,
21051
0
     OPC_CheckFoldableChainNode,
21052
0
     OPC_RecordChild1,
21053
0
     OPC_CheckChild1TypeI64,
21054
0
     OPC_CheckPredicate0, 
21055
0
     OPC_Scope, 59, 
21056
0
      OPC_CheckPredicate4, 
21057
0
      OPC_CheckTypeI32,
21058
0
      OPC_Scope, 26, 
21059
0
       OPC_CheckPredicate6, 
21060
0
       OPC_MoveSibling2,
21061
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21062
0
       OPC_RecordNode,
21063
0
       OPC_CheckPredicate3, 
21064
0
       OPC_MoveParent,
21065
0
       OPC_CheckType, MVT::v16i8,
21066
0
       OPC_CheckPatternPredicate0,
21067
0
       OPC_CheckComplexPat1, /*#*/2,
21068
0
       OPC_EmitMergeInputChains1_1,
21069
0
       OPC_EmitConvertToTarget3,
21070
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEB), 0|OPFL_Chain|OPFL_MemRefs,
21071
0
                     MVT::v16i8, 5, 0, 4, 5, 6, 7, 
21072
0
      27, 
21073
0
       OPC_CheckPredicate5, 
21074
0
       OPC_MoveSibling2,
21075
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21076
0
       OPC_RecordNode,
21077
0
       OPC_CheckPredicate, 51,
21078
0
       OPC_MoveParent,
21079
0
       OPC_CheckType, MVT::v8i16,
21080
0
       OPC_CheckPatternPredicate0,
21081
0
       OPC_CheckComplexPat1, /*#*/2,
21082
0
       OPC_EmitMergeInputChains1_1,
21083
0
       OPC_EmitConvertToTarget3,
21084
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEH), 0|OPFL_Chain|OPFL_MemRefs,
21085
0
                     MVT::v8i16, 5, 0, 4, 5, 6, 7, 
21086
0
      0, 
21087
0
     59, 
21088
0
      OPC_CheckPredicate2, 
21089
0
      OPC_SwitchType , 26, MVT::i32,
21090
0
       OPC_MoveSibling2,
21091
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21092
0
       OPC_RecordNode,
21093
0
       OPC_CheckPredicate, 35,
21094
0
       OPC_MoveParent,
21095
0
       OPC_CheckType, MVT::v4i32,
21096
0
       OPC_CheckPatternPredicate0,
21097
0
       OPC_CheckComplexPat1, /*#*/2,
21098
0
       OPC_EmitMergeInputChains1_1,
21099
0
       OPC_EmitConvertToTarget3,
21100
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
21101
0
                     MVT::v4i32, 5, 0, 4, 5, 6, 7, 
21102
0
      26, MVT::i64,
21103
0
       OPC_MoveSibling2,
21104
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21105
0
       OPC_RecordNode,
21106
0
       OPC_CheckPredicate, 38,
21107
0
       OPC_MoveParent,
21108
0
       OPC_CheckType, MVT::v2i64,
21109
0
       OPC_CheckPatternPredicate0,
21110
0
       OPC_CheckComplexPat1, /*#*/2,
21111
0
       OPC_EmitMergeInputChains1_1,
21112
0
       OPC_EmitConvertToTarget3,
21113
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
21114
0
                     MVT::v2i64, 5, 0, 4, 5, 6, 7, 
21115
0
      0,
21116
0
     0, 
21117
0
    99, TARGET_VAL(SystemZISD::LRV),
21118
0
     OPC_RecordMemRef,
21119
0
     OPC_RecordNode,
21120
0
     OPC_CheckFoldableChainNode,
21121
0
     OPC_RecordChild1,
21122
0
     OPC_CheckChild1TypeI64,
21123
0
     OPC_SwitchType , 60, MVT::i32,
21124
0
      OPC_Scope, 28, 
21125
0
       OPC_CheckPredicate, 48,
21126
0
       OPC_MoveSibling2,
21127
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21128
0
       OPC_RecordNode,
21129
0
       OPC_CheckPredicate, 51,
21130
0
       OPC_MoveParent,
21131
0
       OPC_CheckType, MVT::v8i16,
21132
0
       OPC_CheckPatternPredicate4,
21133
0
       OPC_CheckComplexPat1, /*#*/2,
21134
0
       OPC_EmitMergeInputChains1_1,
21135
0
       OPC_EmitConvertToTarget3,
21136
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEBRH), 0|OPFL_Chain|OPFL_MemRefs,
21137
0
                     MVT::v8i16, 5, 0, 4, 5, 6, 7, 
21138
0
      28, 
21139
0
       OPC_CheckPredicate, 47,
21140
0
       OPC_MoveSibling2,
21141
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21142
0
       OPC_RecordNode,
21143
0
       OPC_CheckPredicate, 35,
21144
0
       OPC_MoveParent,
21145
0
       OPC_CheckType, MVT::v4i32,
21146
0
       OPC_CheckPatternPredicate4,
21147
0
       OPC_CheckComplexPat1, /*#*/2,
21148
0
       OPC_EmitMergeInputChains1_1,
21149
0
       OPC_EmitConvertToTarget3,
21150
0
       OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEBRF), 0|OPFL_Chain|OPFL_MemRefs,
21151
0
                     MVT::v4i32, 5, 0, 4, 5, 6, 7, 
21152
0
      0, 
21153
0
     28, MVT::i64,
21154
0
      OPC_CheckPredicate, 40,
21155
0
      OPC_MoveSibling2,
21156
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21157
0
      OPC_RecordNode,
21158
0
      OPC_CheckPredicate, 38,
21159
0
      OPC_MoveParent,
21160
0
      OPC_CheckType, MVT::v2i64,
21161
0
      OPC_CheckPatternPredicate4,
21162
0
      OPC_CheckComplexPat1, /*#*/2,
21163
0
      OPC_EmitMergeInputChains1_1,
21164
0
      OPC_EmitConvertToTarget3,
21165
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEBRG), 0|OPFL_Chain|OPFL_MemRefs,
21166
0
                    MVT::v2i64, 5, 0, 4, 5, 6, 7, 
21167
0
     0,
21168
0
    0,
21169
0
   52|128,1, 
21170
0
    OPC_RecordChild1,
21171
0
    OPC_Scope, 112, 
21172
0
     OPC_MoveChild1,
21173
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21174
0
     OPC_SwitchType , 76, MVT::i32,
21175
0
      OPC_Scope, 26, 
21176
0
       OPC_CheckPredicate, 13,
21177
0
       OPC_MoveSibling2,
21178
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21179
0
       OPC_RecordNode,
21180
0
       OPC_CheckPredicate, 35,
21181
0
       OPC_MoveParent,
21182
0
       OPC_CheckType, MVT::v4i32,
21183
0
       OPC_CheckPatternPredicate0,
21184
0
       OPC_EmitConvertToTarget1,
21185
0
       OPC_EmitNodeXForm, 2, 3,
21186
0
       OPC_EmitConvertToTarget2,
21187
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEIF),
21188
0
                     MVT::v4i32, 3, 0, 4, 5, 
21189
0
      46, 
21190
0
       OPC_MoveSibling2,
21191
0
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21192
0
       OPC_RecordNode,
21193
0
       OPC_Scope, 18, 
21194
0
        OPC_CheckPredicate3, 
21195
0
        OPC_MoveParent,
21196
0
        OPC_CheckType, MVT::v16i8,
21197
0
        OPC_CheckPatternPredicate0,
21198
0
        OPC_EmitConvertToTarget1,
21199
0
        OPC_EmitNodeXForm, 2, 3,
21200
0
        OPC_EmitConvertToTarget2,
21201
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEIB),
21202
0
                      MVT::v16i8, 3, 0, 4, 5, 
21203
0
       19, 
21204
0
        OPC_CheckPredicate, 51,
21205
0
        OPC_MoveParent,
21206
0
        OPC_CheckType, MVT::v8i16,
21207
0
        OPC_CheckPatternPredicate0,
21208
0
        OPC_EmitConvertToTarget1,
21209
0
        OPC_EmitNodeXForm, 2, 3,
21210
0
        OPC_EmitConvertToTarget2,
21211
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEIH),
21212
0
                      MVT::v8i16, 3, 0, 4, 5, 
21213
0
       0, 
21214
0
      0, 
21215
0
     26, MVT::i64,
21216
0
      OPC_CheckPredicate, 13,
21217
0
      OPC_MoveSibling2,
21218
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21219
0
      OPC_RecordNode,
21220
0
      OPC_CheckPredicate, 38,
21221
0
      OPC_MoveParent,
21222
0
      OPC_CheckType, MVT::v2i64,
21223
0
      OPC_CheckPatternPredicate0,
21224
0
      OPC_EmitConvertToTarget1,
21225
0
      OPC_EmitNodeXForm, 2, 3,
21226
0
      OPC_EmitConvertToTarget2,
21227
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEIG),
21228
0
                    MVT::v2i64, 3, 0, 4, 5, 
21229
0
     0,
21230
0
    46, 
21231
0
     OPC_CheckChild1TypeI32,
21232
0
     OPC_RecordChild2,
21233
0
     OPC_SwitchType , 12, MVT::v16i8,
21234
0
      OPC_CheckPatternPredicate0,
21235
0
      OPC_CheckComplexPat6, /*#*/2,
21236
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGB),
21237
0
                    MVT::v16i8, 4, 0, 1, 3, 4, 
21238
0
     12, MVT::v8i16,
21239
0
      OPC_CheckPatternPredicate0,
21240
0
      OPC_CheckComplexPat6, /*#*/2,
21241
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGH),
21242
0
                    MVT::v8i16, 4, 0, 1, 3, 4, 
21243
0
     12, MVT::v4i32,
21244
0
      OPC_CheckPatternPredicate0,
21245
0
      OPC_CheckComplexPat6, /*#*/2,
21246
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGF),
21247
0
                    MVT::v4i32, 4, 0, 1, 3, 4, 
21248
0
     0,
21249
0
    16, 
21250
0
     OPC_CheckChild1TypeI64,
21251
0
     OPC_RecordChild2,
21252
0
     OPC_CheckType, MVT::v2i64,
21253
0
     OPC_CheckPatternPredicate0,
21254
0
     OPC_CheckComplexPat6, /*#*/2,
21255
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGG),
21256
0
                   MVT::v2i64, 4, 0, 1, 3, 4, 
21257
0
    0, 
21258
0
   0, 
21259
0
  55, 
21260
0
   OPC_MoveChild0,
21261
0
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
21262
0
   OPC_MoveSibling1,
21263
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
21264
0
   OPC_RecordMemRef,
21265
0
   OPC_RecordNode,
21266
0
   OPC_CheckFoldableChainNode,
21267
0
   OPC_RecordChild1,
21268
0
   OPC_CheckChild1TypeI64,
21269
0
   OPC_CheckPredicate0, 
21270
0
   OPC_CheckPredicate2, 
21271
0
   OPC_SwitchType , 17, MVT::f32,
21272
0
    OPC_MoveParent,
21273
0
    OPC_CheckChild2Integer, 0, 
21274
0
    OPC_CheckType, MVT::v4f32,
21275
0
    OPC_CheckComplexPat1, /*#*/1,
21276
0
    OPC_EmitMergeInputChains1_0,
21277
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
21278
0
                  MVT::v4f32, 3, 2, 3, 4, 
21279
0
   17, MVT::f64,
21280
0
    OPC_MoveParent,
21281
0
    OPC_CheckChild2Integer, 0, 
21282
0
    OPC_CheckType, MVT::v2f64,
21283
0
    OPC_CheckComplexPat1, /*#*/1,
21284
0
    OPC_EmitMergeInputChains1_0,
21285
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
21286
0
                  MVT::v2f64, 3, 2, 3, 4, 
21287
0
   0,
21288
0
  9|128,1, 
21289
0
   OPC_RecordChild0,
21290
0
   OPC_Scope, 69, 
21291
0
    OPC_MoveChild1,
21292
0
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
21293
0
    OPC_RecordMemRef,
21294
0
    OPC_RecordNode,
21295
0
    OPC_CheckFoldableChainNode,
21296
0
    OPC_RecordChild1,
21297
0
    OPC_CheckChild1TypeI64,
21298
0
    OPC_CheckPredicate0, 
21299
0
    OPC_CheckPredicate2, 
21300
0
    OPC_SwitchType , 26, MVT::f32,
21301
0
     OPC_MoveSibling2,
21302
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21303
0
     OPC_RecordNode,
21304
0
     OPC_CheckPredicate, 35,
21305
0
     OPC_MoveParent,
21306
0
     OPC_CheckType, MVT::v4f32,
21307
0
     OPC_CheckPatternPredicate0,
21308
0
     OPC_CheckComplexPat1, /*#*/2,
21309
0
     OPC_EmitMergeInputChains1_1,
21310
0
     OPC_EmitConvertToTarget3,
21311
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
21312
0
                   MVT::v4f32, 5, 0, 4, 5, 6, 7, 
21313
0
    26, MVT::f64,
21314
0
     OPC_MoveSibling2,
21315
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21316
0
     OPC_RecordNode,
21317
0
     OPC_CheckPredicate, 38,
21318
0
     OPC_MoveParent,
21319
0
     OPC_CheckType, MVT::v2f64,
21320
0
     OPC_CheckPatternPredicate0,
21321
0
     OPC_CheckComplexPat1, /*#*/2,
21322
0
     OPC_EmitMergeInputChains1_1,
21323
0
     OPC_EmitConvertToTarget3,
21324
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
21325
0
                   MVT::v2f64, 5, 0, 4, 5, 6, 7, 
21326
0
    0,
21327
0
   63, 
21328
0
    OPC_RecordChild1,
21329
0
    OPC_CheckChild1Type, MVT::f64,
21330
0
    OPC_CheckType, MVT::v2f64,
21331
0
    OPC_Scope, 27, 
21332
0
     OPC_CheckChild2Integer, 0, 
21333
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21334
0
                   MVT::v2f64, 0, 
21335
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
21336
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21337
0
                   MVT::v2f64, 3, 2, 1, 3, 
21338
0
     OPC_EmitInteger32, 2, 
21339
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPDI),
21340
0
                   MVT::v2f64, 3, 4, 0, 5, 
21341
0
    27, 
21342
0
     OPC_CheckChild2Integer, 2, 
21343
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21344
0
                   MVT::v2f64, 0, 
21345
0
     OPC_EmitStringInteger32, SystemZ::subreg_h64,
21346
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21347
0
                   MVT::v2f64, 3, 2, 1, 3, 
21348
0
     OPC_EmitInteger32, 0, 
21349
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPDI),
21350
0
                   MVT::v2f64, 3, 0, 4, 5, 
21351
0
    0, 
21352
0
   0, 
21353
0
  0, 
21354
0
 100|128,10, TARGET_VAL(ISD::VSELECT),
21355
0
  OPC_Scope, 85|128,9, 
21356
0
   OPC_MoveChild0,
21357
0
   OPC_SwitchOpcode , 30|128,5, TARGET_VAL(ISD::XOR),
21358
0
    OPC_Scope, 81|128,4, 
21359
0
     OPC_MoveChild0,
21360
0
     OPC_SwitchOpcode , 57|128,3, TARGET_VAL(SystemZISD::VICMPH),
21361
0
      OPC_Scope, 35, 
21362
0
       OPC_RecordChild0,
21363
0
       OPC_MoveChild1,
21364
0
       OPC_CheckImmAllZerosV,
21365
0
       OPC_MoveParent,
21366
0
       OPC_MoveSibling1,
21367
0
       OPC_CheckImmAllOnesV,
21368
0
       OPC_MoveParent,
21369
0
       OPC_MoveParent,
21370
0
       OPC_CheckChild1Same, 0,
21371
0
       OPC_MoveChild2,
21372
0
       OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21373
0
       OPC_MoveChild0,
21374
0
       OPC_CheckImmAllZerosV,
21375
0
       OPC_MoveParent,
21376
0
       OPC_CheckChild1Same, 0,
21377
0
       OPC_MoveParent,
21378
0
       OPC_CheckType, MVT::v16i8,
21379
0
       OPC_CheckPatternPredicate0,
21380
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
21381
0
                     MVT::i128, 1, 0, 
21382
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
21383
0
                     MVT::v16i8, 1, 1, 
21384
0
      34, 
21385
0
       OPC_MoveChild0,
21386
0
       OPC_CheckImmAllZerosV,
21387
0
       OPC_MoveParent,
21388
0
       OPC_RecordChild1,
21389
0
       OPC_MoveSibling1,
21390
0
       OPC_CheckImmAllOnesV,
21391
0
       OPC_MoveParent,
21392
0
       OPC_MoveSibling1,
21393
0
       OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21394
0
       OPC_MoveChild0,
21395
0
       OPC_CheckImmAllZerosV,
21396
0
       OPC_MoveParent,
21397
0
       OPC_CheckChild1Same, 0,
21398
0
       OPC_MoveParent,
21399
0
       OPC_CheckChild2Same, 0,
21400
0
       OPC_CheckType, MVT::v16i8,
21401
0
       OPC_CheckPatternPredicate0,
21402
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
21403
0
                     MVT::i128, 1, 0, 
21404
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
21405
0
                     MVT::v16i8, 1, 1, 
21406
0
      37, 
21407
0
       OPC_RecordChild0,
21408
0
       OPC_MoveChild1,
21409
0
       OPC_CheckImmAllZerosV,
21410
0
       OPC_MoveParent,
21411
0
       OPC_MoveSibling1,
21412
0
       OPC_CheckImmAllOnesV,
21413
0
       OPC_MoveParent,
21414
0
       OPC_CheckType, MVT::v8i16,
21415
0
       OPC_MoveParent,
21416
0
       OPC_CheckChild1Same, 0,
21417
0
       OPC_MoveChild2,
21418
0
       OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21419
0
       OPC_MoveChild0,
21420
0
       OPC_CheckImmAllZerosV,
21421
0
       OPC_MoveParent,
21422
0
       OPC_CheckChild1Same, 0,
21423
0
       OPC_MoveParent,
21424
0
       OPC_CheckType, MVT::v8i16,
21425
0
       OPC_CheckPatternPredicate0,
21426
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
21427
0
                     MVT::i128, 1, 0, 
21428
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
21429
0
                     MVT::v8i16, 1, 1, 
21430
0
      36, 
21431
0
       OPC_MoveChild0,
21432
0
       OPC_CheckImmAllZerosV,
21433
0
       OPC_MoveParent,
21434
0
       OPC_RecordChild1,
21435
0
       OPC_MoveSibling1,
21436
0
       OPC_CheckImmAllOnesV,
21437
0
       OPC_MoveParent,
21438
0
       OPC_CheckType, MVT::v8i16,
21439
0
       OPC_MoveSibling1,
21440
0
       OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21441
0
       OPC_MoveChild0,
21442
0
       OPC_CheckImmAllZerosV,
21443
0
       OPC_MoveParent,
21444
0
       OPC_CheckChild1Same, 0,
21445
0
       OPC_MoveParent,
21446
0
       OPC_CheckChild2Same, 0,
21447
0
       OPC_CheckType, MVT::v8i16,
21448
0
       OPC_CheckPatternPredicate0,
21449
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
21450
0
                     MVT::i128, 1, 0, 
21451
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
21452
0
                     MVT::v8i16, 1, 1, 
21453
0
      37, 
21454
0
       OPC_RecordChild0,
21455
0
       OPC_MoveChild1,
21456
0
       OPC_CheckImmAllZerosV,
21457
0
       OPC_MoveParent,
21458
0
       OPC_MoveSibling1,
21459
0
       OPC_CheckImmAllOnesV,
21460
0
       OPC_MoveParent,
21461
0
       OPC_CheckType, MVT::v4i32,
21462
0
       OPC_MoveParent,
21463
0
       OPC_CheckChild1Same, 0,
21464
0
       OPC_MoveChild2,
21465
0
       OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21466
0
       OPC_MoveChild0,
21467
0
       OPC_CheckImmAllZerosV,
21468
0
       OPC_MoveParent,
21469
0
       OPC_CheckChild1Same, 0,
21470
0
       OPC_MoveParent,
21471
0
       OPC_CheckType, MVT::v4i32,
21472
0
       OPC_CheckPatternPredicate0,
21473
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
21474
0
                     MVT::i128, 1, 0, 
21475
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
21476
0
                     MVT::v4i32, 1, 1, 
21477
0
      36, 
21478
0
       OPC_MoveChild0,
21479
0
       OPC_CheckImmAllZerosV,
21480
0
       OPC_MoveParent,
21481
0
       OPC_RecordChild1,
21482
0
       OPC_MoveSibling1,
21483
0
       OPC_CheckImmAllOnesV,
21484
0
       OPC_MoveParent,
21485
0
       OPC_CheckType, MVT::v4i32,
21486
0
       OPC_MoveSibling1,
21487
0
       OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21488
0
       OPC_MoveChild0,
21489
0
       OPC_CheckImmAllZerosV,
21490
0
       OPC_MoveParent,
21491
0
       OPC_CheckChild1Same, 0,
21492
0
       OPC_MoveParent,
21493
0
       OPC_CheckChild2Same, 0,
21494
0
       OPC_CheckType, MVT::v4i32,
21495
0
       OPC_CheckPatternPredicate0,
21496
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
21497
0
                     MVT::i128, 1, 0, 
21498
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
21499
0
                     MVT::v4i32, 1, 1, 
21500
0
      37, 
21501
0
       OPC_RecordChild0,
21502
0
       OPC_MoveChild1,
21503
0
       OPC_CheckImmAllZerosV,
21504
0
       OPC_MoveParent,
21505
0
       OPC_MoveSibling1,
21506
0
       OPC_CheckImmAllOnesV,
21507
0
       OPC_MoveParent,
21508
0
       OPC_CheckType, MVT::v2i64,
21509
0
       OPC_MoveParent,
21510
0
       OPC_CheckChild1Same, 0,
21511
0
       OPC_MoveChild2,
21512
0
       OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21513
0
       OPC_MoveChild0,
21514
0
       OPC_CheckImmAllZerosV,
21515
0
       OPC_MoveParent,
21516
0
       OPC_CheckChild1Same, 0,
21517
0
       OPC_MoveParent,
21518
0
       OPC_CheckType, MVT::v2i64,
21519
0
       OPC_CheckPatternPredicate0,
21520
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
21521
0
                     MVT::i128, 1, 0, 
21522
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
21523
0
                     MVT::v2i64, 1, 1, 
21524
0
      36, 
21525
0
       OPC_MoveChild0,
21526
0
       OPC_CheckImmAllZerosV,
21527
0
       OPC_MoveParent,
21528
0
       OPC_RecordChild1,
21529
0
       OPC_MoveSibling1,
21530
0
       OPC_CheckImmAllOnesV,
21531
0
       OPC_MoveParent,
21532
0
       OPC_CheckType, MVT::v2i64,
21533
0
       OPC_MoveSibling1,
21534
0
       OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21535
0
       OPC_MoveChild0,
21536
0
       OPC_CheckImmAllZerosV,
21537
0
       OPC_MoveParent,
21538
0
       OPC_CheckChild1Same, 0,
21539
0
       OPC_MoveParent,
21540
0
       OPC_CheckChild2Same, 0,
21541
0
       OPC_CheckType, MVT::v2i64,
21542
0
       OPC_CheckPatternPredicate0,
21543
0
       OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
21544
0
                     MVT::i128, 1, 0, 
21545
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
21546
0
                     MVT::v2i64, 1, 1, 
21547
0
      13|128,1, 
21548
0
       OPC_RecordChild0,
21549
0
       OPC_RecordChild1,
21550
0
       OPC_MoveSibling1,
21551
0
       OPC_CheckImmAllOnesV,
21552
0
       OPC_MoveParent,
21553
0
       OPC_Scope, 31, 
21554
0
        OPC_MoveParent,
21555
0
        OPC_CheckType, MVT::v16i8,
21556
0
        OPC_Scope, 12, 
21557
0
         OPC_CheckChild1Same, 0,
21558
0
         OPC_CheckChild2Same, 1,
21559
0
         OPC_CheckPatternPredicate0,
21560
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNB),
21561
0
                       MVT::v16i8, 2, 0, 1, 
21562
0
        12, 
21563
0
         OPC_CheckChild1Same, 1,
21564
0
         OPC_CheckChild2Same, 0,
21565
0
         OPC_CheckPatternPredicate0,
21566
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXB),
21567
0
                       MVT::v16i8, 2, 0, 1, 
21568
0
        0, 
21569
0
       33, 
21570
0
        OPC_CheckType, MVT::v8i16,
21571
0
        OPC_MoveParent,
21572
0
        OPC_CheckType, MVT::v8i16,
21573
0
        OPC_Scope, 12, 
21574
0
         OPC_CheckChild1Same, 0,
21575
0
         OPC_CheckChild2Same, 1,
21576
0
         OPC_CheckPatternPredicate0,
21577
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNH),
21578
0
                       MVT::v8i16, 2, 0, 1, 
21579
0
        12, 
21580
0
         OPC_CheckChild1Same, 1,
21581
0
         OPC_CheckChild2Same, 0,
21582
0
         OPC_CheckPatternPredicate0,
21583
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXH),
21584
0
                       MVT::v8i16, 2, 0, 1, 
21585
0
        0, 
21586
0
       33, 
21587
0
        OPC_CheckType, MVT::v4i32,
21588
0
        OPC_MoveParent,
21589
0
        OPC_CheckType, MVT::v4i32,
21590
0
        OPC_Scope, 12, 
21591
0
         OPC_CheckChild1Same, 0,
21592
0
         OPC_CheckChild2Same, 1,
21593
0
         OPC_CheckPatternPredicate0,
21594
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNF),
21595
0
                       MVT::v4i32, 2, 0, 1, 
21596
0
        12, 
21597
0
         OPC_CheckChild1Same, 1,
21598
0
         OPC_CheckChild2Same, 0,
21599
0
         OPC_CheckPatternPredicate0,
21600
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXF),
21601
0
                       MVT::v4i32, 2, 0, 1, 
21602
0
        0, 
21603
0
       33, 
21604
0
        OPC_CheckType, MVT::v2i64,
21605
0
        OPC_MoveParent,
21606
0
        OPC_CheckType, MVT::v2i64,
21607
0
        OPC_Scope, 12, 
21608
0
         OPC_CheckChild1Same, 0,
21609
0
         OPC_CheckChild2Same, 1,
21610
0
         OPC_CheckPatternPredicate0,
21611
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNG),
21612
0
                       MVT::v2i64, 2, 0, 1, 
21613
0
        12, 
21614
0
         OPC_CheckChild1Same, 1,
21615
0
         OPC_CheckChild2Same, 0,
21616
0
         OPC_CheckPatternPredicate0,
21617
0
         OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXG),
21618
0
                       MVT::v2i64, 2, 0, 1, 
21619
0
        0, 
21620
0
       0, 
21621
0
      0, 
21622
0
     13|128,1, TARGET_VAL(SystemZISD::VICMPHL),
21623
0
      OPC_RecordChild0,
21624
0
      OPC_RecordChild1,
21625
0
      OPC_MoveSibling1,
21626
0
      OPC_CheckImmAllOnesV,
21627
0
      OPC_MoveParent,
21628
0
      OPC_Scope, 31, 
21629
0
       OPC_MoveParent,
21630
0
       OPC_CheckType, MVT::v16i8,
21631
0
       OPC_Scope, 12, 
21632
0
        OPC_CheckChild1Same, 0,
21633
0
        OPC_CheckChild2Same, 1,
21634
0
        OPC_CheckPatternPredicate0,
21635
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLB),
21636
0
                      MVT::v16i8, 2, 0, 1, 
21637
0
       12, 
21638
0
        OPC_CheckChild1Same, 1,
21639
0
        OPC_CheckChild2Same, 0,
21640
0
        OPC_CheckPatternPredicate0,
21641
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLB),
21642
0
                      MVT::v16i8, 2, 0, 1, 
21643
0
       0, 
21644
0
      33, 
21645
0
       OPC_CheckType, MVT::v8i16,
21646
0
       OPC_MoveParent,
21647
0
       OPC_CheckType, MVT::v8i16,
21648
0
       OPC_Scope, 12, 
21649
0
        OPC_CheckChild1Same, 0,
21650
0
        OPC_CheckChild2Same, 1,
21651
0
        OPC_CheckPatternPredicate0,
21652
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLH),
21653
0
                      MVT::v8i16, 2, 0, 1, 
21654
0
       12, 
21655
0
        OPC_CheckChild1Same, 1,
21656
0
        OPC_CheckChild2Same, 0,
21657
0
        OPC_CheckPatternPredicate0,
21658
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLH),
21659
0
                      MVT::v8i16, 2, 0, 1, 
21660
0
       0, 
21661
0
      33, 
21662
0
       OPC_CheckType, MVT::v4i32,
21663
0
       OPC_MoveParent,
21664
0
       OPC_CheckType, MVT::v4i32,
21665
0
       OPC_Scope, 12, 
21666
0
        OPC_CheckChild1Same, 0,
21667
0
        OPC_CheckChild2Same, 1,
21668
0
        OPC_CheckPatternPredicate0,
21669
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLF),
21670
0
                      MVT::v4i32, 2, 0, 1, 
21671
0
       12, 
21672
0
        OPC_CheckChild1Same, 1,
21673
0
        OPC_CheckChild2Same, 0,
21674
0
        OPC_CheckPatternPredicate0,
21675
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLF),
21676
0
                      MVT::v4i32, 2, 0, 1, 
21677
0
       0, 
21678
0
      33, 
21679
0
       OPC_CheckType, MVT::v2i64,
21680
0
       OPC_MoveParent,
21681
0
       OPC_CheckType, MVT::v2i64,
21682
0
       OPC_Scope, 12, 
21683
0
        OPC_CheckChild1Same, 0,
21684
0
        OPC_CheckChild2Same, 1,
21685
0
        OPC_CheckPatternPredicate0,
21686
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLG),
21687
0
                      MVT::v2i64, 2, 0, 1, 
21688
0
       12, 
21689
0
        OPC_CheckChild1Same, 1,
21690
0
        OPC_CheckChild2Same, 0,
21691
0
        OPC_CheckPatternPredicate0,
21692
0
        OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLG),
21693
0
                      MVT::v2i64, 2, 0, 1, 
21694
0
       0, 
21695
0
      0, 
21696
0
     0,
21697
0
    72, 
21698
0
     OPC_RecordChild0,
21699
0
     OPC_MoveChild1,
21700
0
     OPC_CheckImmAllOnesV,
21701
0
     OPC_MoveParent,
21702
0
     OPC_Scope, 14, 
21703
0
      OPC_MoveParent,
21704
0
      OPC_RecordChild1,
21705
0
      OPC_RecordChild2,
21706
0
      OPC_CheckType, MVT::v16i8,
21707
0
      OPC_CheckPatternPredicate0,
21708
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
21709
0
                    MVT::v16i8, 3, 2, 1, 0, 
21710
0
     16, 
21711
0
      OPC_CheckType, MVT::v8i16,
21712
0
      OPC_MoveParent,
21713
0
      OPC_RecordChild1,
21714
0
      OPC_RecordChild2,
21715
0
      OPC_CheckType, MVT::v8i16,
21716
0
      OPC_CheckPatternPredicate0,
21717
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
21718
0
                    MVT::v8i16, 3, 2, 1, 0, 
21719
0
     16, 
21720
0
      OPC_CheckType, MVT::v4i32,
21721
0
      OPC_MoveParent,
21722
0
      OPC_RecordChild1,
21723
0
      OPC_RecordChild2,
21724
0
      OPC_CheckType, MVT::v4i32,
21725
0
      OPC_CheckPatternPredicate0,
21726
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
21727
0
                    MVT::v4i32, 3, 2, 1, 0, 
21728
0
     16, 
21729
0
      OPC_CheckType, MVT::v2i64,
21730
0
      OPC_MoveParent,
21731
0
      OPC_RecordChild1,
21732
0
      OPC_RecordChild2,
21733
0
      OPC_CheckType, MVT::v2i64,
21734
0
      OPC_CheckPatternPredicate0,
21735
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
21736
0
                    MVT::v2i64, 3, 2, 1, 0, 
21737
0
     0, 
21738
0
    0, 
21739
0
   30|128,3, TARGET_VAL(SystemZISD::VICMPH),
21740
0
    OPC_Scope, 31, 
21741
0
     OPC_RecordChild0,
21742
0
     OPC_MoveChild1,
21743
0
     OPC_CheckImmAllZerosV,
21744
0
     OPC_MoveParent,
21745
0
     OPC_MoveSibling1,
21746
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21747
0
     OPC_MoveChild0,
21748
0
     OPC_CheckImmAllZerosV,
21749
0
     OPC_MoveParent,
21750
0
     OPC_CheckChild1Same, 0,
21751
0
     OPC_MoveParent,
21752
0
     OPC_CheckChild2Same, 0,
21753
0
     OPC_CheckType, MVT::v16i8,
21754
0
     OPC_CheckPatternPredicate0,
21755
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
21756
0
                   MVT::i128, 1, 0, 
21757
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
21758
0
                   MVT::v16i8, 1, 1, 
21759
0
    32, 
21760
0
     OPC_MoveChild0,
21761
0
     OPC_CheckImmAllZerosV,
21762
0
     OPC_MoveParent,
21763
0
     OPC_RecordChild1,
21764
0
     OPC_MoveParent,
21765
0
     OPC_CheckChild1Same, 0,
21766
0
     OPC_MoveChild2,
21767
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21768
0
     OPC_MoveChild0,
21769
0
     OPC_CheckImmAllZerosV,
21770
0
     OPC_MoveParent,
21771
0
     OPC_CheckChild1Same, 0,
21772
0
     OPC_MoveParent,
21773
0
     OPC_CheckType, MVT::v16i8,
21774
0
     OPC_CheckPatternPredicate0,
21775
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
21776
0
                   MVT::i128, 1, 0, 
21777
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
21778
0
                   MVT::v16i8, 1, 1, 
21779
0
    33, 
21780
0
     OPC_RecordChild0,
21781
0
     OPC_MoveChild1,
21782
0
     OPC_CheckImmAllZerosV,
21783
0
     OPC_MoveParent,
21784
0
     OPC_CheckType, MVT::v8i16,
21785
0
     OPC_MoveSibling1,
21786
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21787
0
     OPC_MoveChild0,
21788
0
     OPC_CheckImmAllZerosV,
21789
0
     OPC_MoveParent,
21790
0
     OPC_CheckChild1Same, 0,
21791
0
     OPC_MoveParent,
21792
0
     OPC_CheckChild2Same, 0,
21793
0
     OPC_CheckType, MVT::v8i16,
21794
0
     OPC_CheckPatternPredicate0,
21795
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
21796
0
                   MVT::i128, 1, 0, 
21797
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
21798
0
                   MVT::v8i16, 1, 1, 
21799
0
    34, 
21800
0
     OPC_MoveChild0,
21801
0
     OPC_CheckImmAllZerosV,
21802
0
     OPC_MoveParent,
21803
0
     OPC_RecordChild1,
21804
0
     OPC_CheckType, MVT::v8i16,
21805
0
     OPC_MoveParent,
21806
0
     OPC_CheckChild1Same, 0,
21807
0
     OPC_MoveChild2,
21808
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21809
0
     OPC_MoveChild0,
21810
0
     OPC_CheckImmAllZerosV,
21811
0
     OPC_MoveParent,
21812
0
     OPC_CheckChild1Same, 0,
21813
0
     OPC_MoveParent,
21814
0
     OPC_CheckType, MVT::v8i16,
21815
0
     OPC_CheckPatternPredicate0,
21816
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
21817
0
                   MVT::i128, 1, 0, 
21818
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
21819
0
                   MVT::v8i16, 1, 1, 
21820
0
    33, 
21821
0
     OPC_RecordChild0,
21822
0
     OPC_MoveChild1,
21823
0
     OPC_CheckImmAllZerosV,
21824
0
     OPC_MoveParent,
21825
0
     OPC_CheckType, MVT::v4i32,
21826
0
     OPC_MoveSibling1,
21827
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21828
0
     OPC_MoveChild0,
21829
0
     OPC_CheckImmAllZerosV,
21830
0
     OPC_MoveParent,
21831
0
     OPC_CheckChild1Same, 0,
21832
0
     OPC_MoveParent,
21833
0
     OPC_CheckChild2Same, 0,
21834
0
     OPC_CheckType, MVT::v4i32,
21835
0
     OPC_CheckPatternPredicate0,
21836
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
21837
0
                   MVT::i128, 1, 0, 
21838
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
21839
0
                   MVT::v4i32, 1, 1, 
21840
0
    34, 
21841
0
     OPC_MoveChild0,
21842
0
     OPC_CheckImmAllZerosV,
21843
0
     OPC_MoveParent,
21844
0
     OPC_RecordChild1,
21845
0
     OPC_CheckType, MVT::v4i32,
21846
0
     OPC_MoveParent,
21847
0
     OPC_CheckChild1Same, 0,
21848
0
     OPC_MoveChild2,
21849
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21850
0
     OPC_MoveChild0,
21851
0
     OPC_CheckImmAllZerosV,
21852
0
     OPC_MoveParent,
21853
0
     OPC_CheckChild1Same, 0,
21854
0
     OPC_MoveParent,
21855
0
     OPC_CheckType, MVT::v4i32,
21856
0
     OPC_CheckPatternPredicate0,
21857
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
21858
0
                   MVT::i128, 1, 0, 
21859
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
21860
0
                   MVT::v4i32, 1, 1, 
21861
0
    33, 
21862
0
     OPC_RecordChild0,
21863
0
     OPC_MoveChild1,
21864
0
     OPC_CheckImmAllZerosV,
21865
0
     OPC_MoveParent,
21866
0
     OPC_CheckType, MVT::v2i64,
21867
0
     OPC_MoveSibling1,
21868
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21869
0
     OPC_MoveChild0,
21870
0
     OPC_CheckImmAllZerosV,
21871
0
     OPC_MoveParent,
21872
0
     OPC_CheckChild1Same, 0,
21873
0
     OPC_MoveParent,
21874
0
     OPC_CheckChild2Same, 0,
21875
0
     OPC_CheckType, MVT::v2i64,
21876
0
     OPC_CheckPatternPredicate0,
21877
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
21878
0
                   MVT::i128, 1, 0, 
21879
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
21880
0
                   MVT::v2i64, 1, 1, 
21881
0
    34, 
21882
0
     OPC_MoveChild0,
21883
0
     OPC_CheckImmAllZerosV,
21884
0
     OPC_MoveParent,
21885
0
     OPC_RecordChild1,
21886
0
     OPC_CheckType, MVT::v2i64,
21887
0
     OPC_MoveParent,
21888
0
     OPC_CheckChild1Same, 0,
21889
0
     OPC_MoveChild2,
21890
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
21891
0
     OPC_MoveChild0,
21892
0
     OPC_CheckImmAllZerosV,
21893
0
     OPC_MoveParent,
21894
0
     OPC_CheckChild1Same, 0,
21895
0
     OPC_MoveParent,
21896
0
     OPC_CheckType, MVT::v2i64,
21897
0
     OPC_CheckPatternPredicate0,
21898
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
21899
0
                   MVT::i128, 1, 0, 
21900
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
21901
0
                   MVT::v2i64, 1, 1, 
21902
0
    10|128,1, 
21903
0
     OPC_RecordChild0,
21904
0
     OPC_RecordChild1,
21905
0
     OPC_Scope, 31, 
21906
0
      OPC_MoveParent,
21907
0
      OPC_CheckType, MVT::v16i8,
21908
0
      OPC_Scope, 12, 
21909
0
       OPC_CheckChild1Same, 0,
21910
0
       OPC_CheckChild2Same, 1,
21911
0
       OPC_CheckPatternPredicate0,
21912
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXB),
21913
0
                     MVT::v16i8, 2, 0, 1, 
21914
0
      12, 
21915
0
       OPC_CheckChild1Same, 1,
21916
0
       OPC_CheckChild2Same, 0,
21917
0
       OPC_CheckPatternPredicate0,
21918
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNB),
21919
0
                     MVT::v16i8, 2, 0, 1, 
21920
0
      0, 
21921
0
     33, 
21922
0
      OPC_CheckType, MVT::v8i16,
21923
0
      OPC_MoveParent,
21924
0
      OPC_CheckType, MVT::v8i16,
21925
0
      OPC_Scope, 12, 
21926
0
       OPC_CheckChild1Same, 0,
21927
0
       OPC_CheckChild2Same, 1,
21928
0
       OPC_CheckPatternPredicate0,
21929
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXH),
21930
0
                     MVT::v8i16, 2, 0, 1, 
21931
0
      12, 
21932
0
       OPC_CheckChild1Same, 1,
21933
0
       OPC_CheckChild2Same, 0,
21934
0
       OPC_CheckPatternPredicate0,
21935
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNH),
21936
0
                     MVT::v8i16, 2, 0, 1, 
21937
0
      0, 
21938
0
     33, 
21939
0
      OPC_CheckType, MVT::v4i32,
21940
0
      OPC_MoveParent,
21941
0
      OPC_CheckType, MVT::v4i32,
21942
0
      OPC_Scope, 12, 
21943
0
       OPC_CheckChild1Same, 0,
21944
0
       OPC_CheckChild2Same, 1,
21945
0
       OPC_CheckPatternPredicate0,
21946
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXF),
21947
0
                     MVT::v4i32, 2, 0, 1, 
21948
0
      12, 
21949
0
       OPC_CheckChild1Same, 1,
21950
0
       OPC_CheckChild2Same, 0,
21951
0
       OPC_CheckPatternPredicate0,
21952
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNF),
21953
0
                     MVT::v4i32, 2, 0, 1, 
21954
0
      0, 
21955
0
     33, 
21956
0
      OPC_CheckType, MVT::v2i64,
21957
0
      OPC_MoveParent,
21958
0
      OPC_CheckType, MVT::v2i64,
21959
0
      OPC_Scope, 12, 
21960
0
       OPC_CheckChild1Same, 0,
21961
0
       OPC_CheckChild2Same, 1,
21962
0
       OPC_CheckPatternPredicate0,
21963
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXG),
21964
0
                     MVT::v2i64, 2, 0, 1, 
21965
0
      12, 
21966
0
       OPC_CheckChild1Same, 1,
21967
0
       OPC_CheckChild2Same, 0,
21968
0
       OPC_CheckPatternPredicate0,
21969
0
       OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNG),
21970
0
                     MVT::v2i64, 2, 0, 1, 
21971
0
      0, 
21972
0
     0, 
21973
0
    0, 
21974
0
   10|128,1, TARGET_VAL(SystemZISD::VICMPHL),
21975
0
    OPC_RecordChild0,
21976
0
    OPC_RecordChild1,
21977
0
    OPC_Scope, 31, 
21978
0
     OPC_MoveParent,
21979
0
     OPC_CheckType, MVT::v16i8,
21980
0
     OPC_Scope, 12, 
21981
0
      OPC_CheckChild1Same, 0,
21982
0
      OPC_CheckChild2Same, 1,
21983
0
      OPC_CheckPatternPredicate0,
21984
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLB),
21985
0
                    MVT::v16i8, 2, 0, 1, 
21986
0
     12, 
21987
0
      OPC_CheckChild1Same, 1,
21988
0
      OPC_CheckChild2Same, 0,
21989
0
      OPC_CheckPatternPredicate0,
21990
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLB),
21991
0
                    MVT::v16i8, 2, 0, 1, 
21992
0
     0, 
21993
0
    33, 
21994
0
     OPC_CheckType, MVT::v8i16,
21995
0
     OPC_MoveParent,
21996
0
     OPC_CheckType, MVT::v8i16,
21997
0
     OPC_Scope, 12, 
21998
0
      OPC_CheckChild1Same, 0,
21999
0
      OPC_CheckChild2Same, 1,
22000
0
      OPC_CheckPatternPredicate0,
22001
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLH),
22002
0
                    MVT::v8i16, 2, 0, 1, 
22003
0
     12, 
22004
0
      OPC_CheckChild1Same, 1,
22005
0
      OPC_CheckChild2Same, 0,
22006
0
      OPC_CheckPatternPredicate0,
22007
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLH),
22008
0
                    MVT::v8i16, 2, 0, 1, 
22009
0
     0, 
22010
0
    33, 
22011
0
     OPC_CheckType, MVT::v4i32,
22012
0
     OPC_MoveParent,
22013
0
     OPC_CheckType, MVT::v4i32,
22014
0
     OPC_Scope, 12, 
22015
0
      OPC_CheckChild1Same, 0,
22016
0
      OPC_CheckChild2Same, 1,
22017
0
      OPC_CheckPatternPredicate0,
22018
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLF),
22019
0
                    MVT::v4i32, 2, 0, 1, 
22020
0
     12, 
22021
0
      OPC_CheckChild1Same, 1,
22022
0
      OPC_CheckChild2Same, 0,
22023
0
      OPC_CheckPatternPredicate0,
22024
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLF),
22025
0
                    MVT::v4i32, 2, 0, 1, 
22026
0
     0, 
22027
0
    33, 
22028
0
     OPC_CheckType, MVT::v2i64,
22029
0
     OPC_MoveParent,
22030
0
     OPC_CheckType, MVT::v2i64,
22031
0
     OPC_Scope, 12, 
22032
0
      OPC_CheckChild1Same, 0,
22033
0
      OPC_CheckChild2Same, 1,
22034
0
      OPC_CheckPatternPredicate0,
22035
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLG),
22036
0
                    MVT::v2i64, 2, 0, 1, 
22037
0
     12, 
22038
0
      OPC_CheckChild1Same, 1,
22039
0
      OPC_CheckChild2Same, 0,
22040
0
      OPC_CheckPatternPredicate0,
22041
0
      OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLG),
22042
0
                    MVT::v2i64, 2, 0, 1, 
22043
0
     0, 
22044
0
    0, 
22045
0
   0,
22046
0
  61, 
22047
0
   OPC_RecordChild0,
22048
0
   OPC_SwitchType , 11, MVT::v16i8,
22049
0
    OPC_RecordChild1,
22050
0
    OPC_RecordChild2,
22051
0
    OPC_CheckPatternPredicate0,
22052
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
22053
0
                  MVT::v16i8, 3, 1, 2, 0, 
22054
0
   13, MVT::v8i16,
22055
0
    OPC_CheckChild0Type, MVT::v8i16,
22056
0
    OPC_RecordChild1,
22057
0
    OPC_RecordChild2,
22058
0
    OPC_CheckPatternPredicate0,
22059
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
22060
0
                  MVT::v8i16, 3, 1, 2, 0, 
22061
0
   13, MVT::v4i32,
22062
0
    OPC_CheckChild0Type, MVT::v4i32,
22063
0
    OPC_RecordChild1,
22064
0
    OPC_RecordChild2,
22065
0
    OPC_CheckPatternPredicate0,
22066
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
22067
0
                  MVT::v4i32, 3, 1, 2, 0, 
22068
0
   13, MVT::v2i64,
22069
0
    OPC_CheckChild0Type, MVT::v2i64,
22070
0
    OPC_RecordChild1,
22071
0
    OPC_RecordChild2,
22072
0
    OPC_CheckPatternPredicate0,
22073
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
22074
0
                  MVT::v2i64, 3, 1, 2, 0, 
22075
0
   0,
22076
0
  42, 
22077
0
   OPC_MoveChild0,
22078
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
22079
0
   OPC_RecordChild0,
22080
0
   OPC_MoveChild1,
22081
0
   OPC_CheckImmAllOnesV,
22082
0
   OPC_MoveParent,
22083
0
   OPC_SwitchType , 14, MVT::v4i32,
22084
0
    OPC_MoveParent,
22085
0
    OPC_RecordChild1,
22086
0
    OPC_RecordChild2,
22087
0
    OPC_CheckType, MVT::v4f32,
22088
0
    OPC_CheckPatternPredicate0,
22089
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
22090
0
                  MVT::v4f32, 3, 2, 1, 0, 
22091
0
   14, MVT::v2i64,
22092
0
    OPC_MoveParent,
22093
0
    OPC_RecordChild1,
22094
0
    OPC_RecordChild2,
22095
0
    OPC_CheckType, MVT::v2f64,
22096
0
    OPC_CheckPatternPredicate0,
22097
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
22098
0
                  MVT::v2f64, 3, 2, 1, 0, 
22099
0
   0,
22100
0
  33, 
22101
0
   OPC_RecordChild0,
22102
0
   OPC_SwitchType , 13, MVT::v4f32,
22103
0
    OPC_CheckChild0Type, MVT::v4i32,
22104
0
    OPC_RecordChild1,
22105
0
    OPC_RecordChild2,
22106
0
    OPC_CheckPatternPredicate0,
22107
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
22108
0
                  MVT::v4f32, 3, 1, 2, 0, 
22109
0
   13, MVT::v2f64,
22110
0
    OPC_CheckChild0Type, MVT::v2i64,
22111
0
    OPC_RecordChild1,
22112
0
    OPC_RecordChild2,
22113
0
    OPC_CheckPatternPredicate0,
22114
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
22115
0
                  MVT::v2f64, 3, 1, 2, 0, 
22116
0
   0,
22117
0
  0, 
22118
0
 12|128,3, TARGET_VAL(SystemZISD::REPLICATE),
22119
0
  OPC_Scope, 37|128,1, 
22120
0
   OPC_MoveChild0,
22121
0
   OPC_SwitchOpcode , 88, TARGET_VAL(ISD::LOAD),
22122
0
    OPC_RecordMemRef,
22123
0
    OPC_RecordNode,
22124
0
    OPC_RecordChild1,
22125
0
    OPC_CheckChild1TypeI64,
22126
0
    OPC_CheckPredicate0, 
22127
0
    OPC_Scope, 40, 
22128
0
     OPC_CheckPredicate4, 
22129
0
     OPC_CheckTypeI32,
22130
0
     OPC_Scope, 17, 
22131
0
      OPC_CheckPredicate6, 
22132
0
      OPC_MoveParent,
22133
0
      OPC_CheckType, MVT::v16i8,
22134
0
      OPC_CheckPatternPredicate0,
22135
0
      OPC_CheckComplexPat1, /*#*/1,
22136
0
      OPC_EmitMergeInputChains1_0,
22137
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
22138
0
                    MVT::v16i8, 3, 2, 3, 4, 
22139
0
     17, 
22140
0
      OPC_CheckPredicate5, 
22141
0
      OPC_MoveParent,
22142
0
      OPC_CheckType, MVT::v8i16,
22143
0
      OPC_CheckPatternPredicate0,
22144
0
      OPC_CheckComplexPat1, /*#*/1,
22145
0
      OPC_EmitMergeInputChains1_0,
22146
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
22147
0
                    MVT::v8i16, 3, 2, 3, 4, 
22148
0
     0, 
22149
0
    39, 
22150
0
     OPC_CheckPredicate2, 
22151
0
     OPC_SwitchType , 16, MVT::i32,
22152
0
      OPC_MoveParent,
22153
0
      OPC_CheckType, MVT::v4i32,
22154
0
      OPC_CheckPatternPredicate0,
22155
0
      OPC_CheckComplexPat1, /*#*/1,
22156
0
      OPC_EmitMergeInputChains1_0,
22157
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
22158
0
                    MVT::v4i32, 3, 2, 3, 4, 
22159
0
     16, MVT::i64,
22160
0
      OPC_MoveParent,
22161
0
      OPC_CheckType, MVT::v2i64,
22162
0
      OPC_CheckPatternPredicate0,
22163
0
      OPC_CheckComplexPat1, /*#*/1,
22164
0
      OPC_EmitMergeInputChains1_0,
22165
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
22166
0
                    MVT::v2i64, 3, 2, 3, 4, 
22167
0
     0,
22168
0
    0, 
22169
0
   68, TARGET_VAL(SystemZISD::LRV),
22170
0
    OPC_RecordMemRef,
22171
0
    OPC_RecordNode,
22172
0
    OPC_RecordChild1,
22173
0
    OPC_CheckChild1TypeI64,
22174
0
    OPC_SwitchType , 40, MVT::i32,
22175
0
     OPC_Scope, 18, 
22176
0
      OPC_CheckPredicate, 48,
22177
0
      OPC_MoveParent,
22178
0
      OPC_CheckType, MVT::v8i16,
22179
0
      OPC_CheckPatternPredicate4,
22180
0
      OPC_CheckComplexPat1, /*#*/1,
22181
0
      OPC_EmitMergeInputChains1_0,
22182
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRREPH), 0|OPFL_Chain|OPFL_MemRefs,
22183
0
                    MVT::v8i16, 3, 2, 3, 4, 
22184
0
     18, 
22185
0
      OPC_CheckPredicate, 47,
22186
0
      OPC_MoveParent,
22187
0
      OPC_CheckType, MVT::v4i32,
22188
0
      OPC_CheckPatternPredicate4,
22189
0
      OPC_CheckComplexPat1, /*#*/1,
22190
0
      OPC_EmitMergeInputChains1_0,
22191
0
      OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRREPF), 0|OPFL_Chain|OPFL_MemRefs,
22192
0
                    MVT::v4i32, 3, 2, 3, 4, 
22193
0
     0, 
22194
0
    18, MVT::i64,
22195
0
     OPC_CheckPredicate, 40,
22196
0
     OPC_MoveParent,
22197
0
     OPC_CheckType, MVT::v2i64,
22198
0
     OPC_CheckPatternPredicate4,
22199
0
     OPC_CheckComplexPat1, /*#*/1,
22200
0
     OPC_EmitMergeInputChains1_0,
22201
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRREPG), 0|OPFL_Chain|OPFL_MemRefs,
22202
0
                   MVT::v2i64, 3, 2, 3, 4, 
22203
0
    0,
22204
0
   0,
22205
0
  117, 
22206
0
   OPC_RecordChild0,
22207
0
   OPC_Scope, 44, 
22208
0
    OPC_MoveChild0,
22209
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22210
0
    OPC_CheckTypeI32,
22211
0
    OPC_MoveParent,
22212
0
    OPC_SwitchType , 7, MVT::v16i8,
22213
0
     OPC_CheckPatternPredicate0,
22214
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPIB),
22215
0
                   MVT::v16i8, 1, 0, 
22216
0
    7, MVT::v8i16,
22217
0
     OPC_CheckPatternPredicate0,
22218
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPIH),
22219
0
                   MVT::v8i16, 1, 0, 
22220
0
    7, MVT::v4i32,
22221
0
     OPC_CheckPatternPredicate0,
22222
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPIF),
22223
0
                   MVT::v4i32, 1, 0, 
22224
0
    7, MVT::v2i64,
22225
0
     OPC_CheckPatternPredicate0,
22226
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPIG),
22227
0
                   MVT::v2i64, 1, 0, 
22228
0
    0,
22229
0
   10, 
22230
0
    OPC_CheckChild0TypeI64,
22231
0
    OPC_CheckType, MVT::v2i64,
22232
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
22233
0
                  MVT::v2i64, 2, 0, 0, 
22234
0
   57, 
22235
0
    OPC_CheckChild0TypeI32,
22236
0
    OPC_SwitchType , 16, MVT::v16i8,
22237
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
22238
0
                   MVT::i128, 2, 0, 0, 
22239
0
     OPC_EmitInteger32, 14, 
22240
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPB),
22241
0
                   MVT::v16i8, 2, 1, 2, 
22242
0
    16, MVT::v8i16,
22243
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
22244
0
                   MVT::i128, 2, 0, 0, 
22245
0
     OPC_EmitInteger32, 6, 
22246
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPH),
22247
0
                   MVT::v8i16, 2, 1, 2, 
22248
0
    16, MVT::v4i32,
22249
0
     OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
22250
0
                   MVT::i128, 2, 0, 0, 
22251
0
     OPC_EmitInteger32, 2, 
22252
0
     OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPF),
22253
0
                   MVT::v4i32, 2, 1, 2, 
22254
0
    0,
22255
0
   0, 
22256
0
  48, 
22257
0
   OPC_MoveChild0,
22258
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
22259
0
   OPC_RecordMemRef,
22260
0
   OPC_RecordNode,
22261
0
   OPC_RecordChild1,
22262
0
   OPC_CheckChild1TypeI64,
22263
0
   OPC_CheckPredicate0, 
22264
0
   OPC_CheckPredicate2, 
22265
0
   OPC_SwitchType , 16, MVT::f32,
22266
0
    OPC_MoveParent,
22267
0
    OPC_CheckType, MVT::v4f32,
22268
0
    OPC_CheckPatternPredicate0,
22269
0
    OPC_CheckComplexPat1, /*#*/1,
22270
0
    OPC_EmitMergeInputChains1_0,
22271
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
22272
0
                  MVT::v4f32, 3, 2, 3, 4, 
22273
0
   16, MVT::f64,
22274
0
    OPC_MoveParent,
22275
0
    OPC_CheckType, MVT::v2f64,
22276
0
    OPC_CheckPatternPredicate0,
22277
0
    OPC_CheckComplexPat1, /*#*/1,
22278
0
    OPC_EmitMergeInputChains1_0,
22279
0
    OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
22280
0
                  MVT::v2f64, 3, 2, 3, 4, 
22281
0
   0,
22282
0
  59, 
22283
0
   OPC_RecordChild0,
22284
0
   OPC_SwitchType , 26, MVT::v4f32,
22285
0
    OPC_CheckChild0Type, MVT::f32,
22286
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22287
0
                  MVT::v4f32, 0, 
22288
0
    OPC_EmitStringInteger32, SystemZ::subreg_h32,
22289
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22290
0
                  MVT::v4f32, 3, 1, 0, 2, 
22291
0
    OPC_EmitInteger32, 0, 
22292
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPF),
22293
0
                  MVT::v4f32, 2, 3, 4, 
22294
0
   26, MVT::v2f64,
22295
0
    OPC_CheckChild0Type, MVT::f64,
22296
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22297
0
                  MVT::v2f64, 0, 
22298
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
22299
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22300
0
                  MVT::v2f64, 3, 1, 0, 2, 
22301
0
    OPC_EmitInteger32, 0, 
22302
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPG),
22303
0
                  MVT::v2f64, 2, 3, 4, 
22304
0
   0,
22305
0
  0, 
22306
0
 39|128,1, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
22307
0
  OPC_Scope, 122, 
22308
0
   OPC_MoveChild0,
22309
0
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
22310
0
   OPC_RecordMemRef,
22311
0
   OPC_RecordNode,
22312
0
   OPC_RecordChild1,
22313
0
   OPC_CheckChild1TypeI64,
22314
0
   OPC_CheckPredicate0, 
22315
0
   OPC_Scope, 38, 
22316
0
    OPC_CheckPredicate4, 
22317
0
    OPC_CheckTypeI32,
22318
0
    OPC_Scope, 16, 
22319
0
     OPC_CheckPredicate6, 
22320
0
     OPC_MoveParent,
22321
0
     OPC_CheckType, MVT::v16i8,
22322
0
     OPC_CheckComplexPat1, /*#*/1,
22323
0
     OPC_EmitMergeInputChains1_0,
22324
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
22325
0
                   MVT::v16i8, 3, 2, 3, 4, 
22326
0
    16, 
22327
0
     OPC_CheckPredicate5, 
22328
0
     OPC_MoveParent,
22329
0
     OPC_CheckType, MVT::v8i16,
22330
0
     OPC_CheckComplexPat1, /*#*/1,
22331
0
     OPC_EmitMergeInputChains1_0,
22332
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
22333
0
                   MVT::v8i16, 3, 2, 3, 4, 
22334
0
    0, 
22335
0
   71, 
22336
0
    OPC_CheckPredicate2, 
22337
0
    OPC_SwitchType , 15, MVT::i32,
22338
0
     OPC_MoveParent,
22339
0
     OPC_CheckType, MVT::v4i32,
22340
0
     OPC_CheckComplexPat1, /*#*/1,
22341
0
     OPC_EmitMergeInputChains1_0,
22342
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
22343
0
                   MVT::v4i32, 3, 2, 3, 4, 
22344
0
    15, MVT::i64,
22345
0
     OPC_MoveParent,
22346
0
     OPC_CheckType, MVT::v2i64,
22347
0
     OPC_CheckComplexPat1, /*#*/1,
22348
0
     OPC_EmitMergeInputChains1_0,
22349
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
22350
0
                   MVT::v2i64, 3, 2, 3, 4, 
22351
0
    15, MVT::f32,
22352
0
     OPC_MoveParent,
22353
0
     OPC_CheckType, MVT::v4f32,
22354
0
     OPC_CheckComplexPat1, /*#*/1,
22355
0
     OPC_EmitMergeInputChains1_0,
22356
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
22357
0
                   MVT::v4f32, 3, 2, 3, 4, 
22358
0
    15, MVT::f64,
22359
0
     OPC_MoveParent,
22360
0
     OPC_CheckType, MVT::v2f64,
22361
0
     OPC_CheckComplexPat1, /*#*/1,
22362
0
     OPC_EmitMergeInputChains1_0,
22363
0
     OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
22364
0
                   MVT::v2f64, 3, 2, 3, 4, 
22365
0
    0,
22366
0
   0, 
22367
0
  41, 
22368
0
   OPC_RecordChild0,
22369
0
   OPC_SwitchType , 17, MVT::v4f32,
22370
0
    OPC_CheckChild0Type, MVT::f32,
22371
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22372
0
                  MVT::v4f32, 0, 
22373
0
    OPC_EmitStringInteger32, SystemZ::subreg_h32,
22374
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22375
0
                  MVT::v4f32, 3, 1, 0, 2, 
22376
0
   17, MVT::v2f64,
22377
0
    OPC_CheckChild0Type, MVT::f64,
22378
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22379
0
                  MVT::v2f64, 0, 
22380
0
    OPC_EmitStringInteger32, SystemZ::subreg_h64,
22381
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22382
0
                  MVT::v2f64, 3, 1, 0, 2, 
22383
0
   0,
22384
0
  0, 
22385
0
 112, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
22386
0
  OPC_Scope, 52, 
22387
0
   OPC_MoveChild0,
22388
0
   OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSHL_BY_SCALAR),
22389
0
   OPC_RecordChild0,
22390
0
   OPC_Scope, 14, 
22391
0
    OPC_CheckChild1Integer, 112, 
22392
0
    OPC_MoveParent,
22393
0
    OPC_CheckChild1Integer, 112, 
22394
0
    OPC_CheckType, MVT::v2i64,
22395
0
    OPC_CheckPatternPredicate0,
22396
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGB),
22397
0
                  MVT::v2i64, 1, 0, 
22398
0
   14, 
22399
0
    OPC_CheckChild1Integer, 96, 
22400
0
    OPC_MoveParent,
22401
0
    OPC_CheckChild1Integer, 96, 
22402
0
    OPC_CheckType, MVT::v2i64,
22403
0
    OPC_CheckPatternPredicate0,
22404
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGH),
22405
0
                  MVT::v2i64, 1, 0, 
22406
0
   14, 
22407
0
    OPC_CheckChild1Integer, 64, 
22408
0
    OPC_MoveParent,
22409
0
    OPC_CheckChild1Integer, 64, 
22410
0
    OPC_CheckType, MVT::v2i64,
22411
0
    OPC_CheckPatternPredicate0,
22412
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGF),
22413
0
                  MVT::v2i64, 1, 0, 
22414
0
   0, 
22415
0
  56, 
22416
0
   OPC_RecordChild0,
22417
0
   OPC_RecordChild1,
22418
0
   OPC_SwitchType , 11, MVT::v16i8,
22419
0
    OPC_CheckPatternPredicate0,
22420
0
    OPC_CheckComplexPat6, /*#*/1,
22421
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAB),
22422
0
                  MVT::v16i8, 3, 0, 2, 3, 
22423
0
   11, MVT::v8i16,
22424
0
    OPC_CheckPatternPredicate0,
22425
0
    OPC_CheckComplexPat6, /*#*/1,
22426
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAH),
22427
0
                  MVT::v8i16, 3, 0, 2, 3, 
22428
0
   11, MVT::v4i32,
22429
0
    OPC_CheckPatternPredicate0,
22430
0
    OPC_CheckComplexPat6, /*#*/1,
22431
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAF),
22432
0
                  MVT::v4i32, 3, 0, 2, 3, 
22433
0
   11, MVT::v2i64,
22434
0
    OPC_CheckPatternPredicate0,
22435
0
    OPC_CheckComplexPat6, /*#*/1,
22436
0
    OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAG),
22437
0
                  MVT::v2i64, 3, 0, 2, 3, 
22438
0
   0,
22439
0
  0, 
22440
0
 96, TARGET_VAL(SystemZISD::VLER),
22441
0
  OPC_RecordMemRef,
22442
0
  OPC_RecordNode,
22443
0
  OPC_RecordChild1,
22444
0
  OPC_CheckChild1TypeI64,
22445
0
  OPC_SwitchType , 13, MVT::v8i16,
22446
0
   OPC_CheckPatternPredicate4,
22447
0
   OPC_CheckComplexPat1, /*#*/1,
22448
0
   OPC_EmitMergeInputChains1_0,
22449
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERH), 0|OPFL_Chain|OPFL_MemRefs,
22450
0
                 MVT::v8i16, 3, 2, 3, 4, 
22451
0
  13, MVT::v4i32,
22452
0
   OPC_CheckPatternPredicate4,
22453
0
   OPC_CheckComplexPat1, /*#*/1,
22454
0
   OPC_EmitMergeInputChains1_0,
22455
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERF), 0|OPFL_Chain|OPFL_MemRefs,
22456
0
                 MVT::v4i32, 3, 2, 3, 4, 
22457
0
  13, MVT::v2i64,
22458
0
   OPC_CheckPatternPredicate4,
22459
0
   OPC_CheckComplexPat1, /*#*/1,
22460
0
   OPC_EmitMergeInputChains1_0,
22461
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERG), 0|OPFL_Chain|OPFL_MemRefs,
22462
0
                 MVT::v2i64, 3, 2, 3, 4, 
22463
0
  13, MVT::v16i8,
22464
0
   OPC_CheckPatternPredicate4,
22465
0
   OPC_CheckComplexPat1, /*#*/1,
22466
0
   OPC_EmitMergeInputChains1_0,
22467
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRQ), 0|OPFL_Chain|OPFL_MemRefs,
22468
0
                 MVT::v16i8, 3, 2, 3, 4, 
22469
0
  13, MVT::v4f32,
22470
0
   OPC_CheckPatternPredicate4,
22471
0
   OPC_CheckComplexPat1, /*#*/1,
22472
0
   OPC_EmitMergeInputChains1_0,
22473
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERF), 0|OPFL_Chain|OPFL_MemRefs,
22474
0
                 MVT::v4f32, 3, 2, 3, 4, 
22475
0
  13, MVT::v2f64,
22476
0
   OPC_CheckPatternPredicate4,
22477
0
   OPC_CheckComplexPat1, /*#*/1,
22478
0
   OPC_EmitMergeInputChains1_0,
22479
0
   OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERG), 0|OPFL_Chain|OPFL_MemRefs,
22480
0
                 MVT::v2f64, 3, 2, 3, 4, 
22481
0
  0,
22482
0
 56, TARGET_VAL(SystemZISD::VROTL_BY_SCALAR),
22483
0
  OPC_RecordChild0,
22484
0
  OPC_RecordChild1,
22485
0
  OPC_SwitchType , 11, MVT::v16i8,
22486
0
   OPC_CheckPatternPredicate0,
22487
0
   OPC_CheckComplexPat6, /*#*/1,
22488
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLB),
22489
0
                 MVT::v16i8, 3, 0, 2, 3, 
22490
0
  11, MVT::v8i16,
22491
0
   OPC_CheckPatternPredicate0,
22492
0
   OPC_CheckComplexPat6, /*#*/1,
22493
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLH),
22494
0
                 MVT::v8i16, 3, 0, 2, 3, 
22495
0
  11, MVT::v4i32,
22496
0
   OPC_CheckPatternPredicate0,
22497
0
   OPC_CheckComplexPat6, /*#*/1,
22498
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLF),
22499
0
                 MVT::v4i32, 3, 0, 2, 3, 
22500
0
  11, MVT::v2i64,
22501
0
   OPC_CheckPatternPredicate0,
22502
0
   OPC_CheckComplexPat6, /*#*/1,
22503
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLG),
22504
0
                 MVT::v2i64, 3, 0, 2, 3, 
22505
0
  0,
22506
0
 56, TARGET_VAL(SystemZISD::VSHL_BY_SCALAR),
22507
0
  OPC_RecordChild0,
22508
0
  OPC_RecordChild1,
22509
0
  OPC_SwitchType , 11, MVT::v16i8,
22510
0
   OPC_CheckPatternPredicate0,
22511
0
   OPC_CheckComplexPat6, /*#*/1,
22512
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLB),
22513
0
                 MVT::v16i8, 3, 0, 2, 3, 
22514
0
  11, MVT::v8i16,
22515
0
   OPC_CheckPatternPredicate0,
22516
0
   OPC_CheckComplexPat6, /*#*/1,
22517
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLH),
22518
0
                 MVT::v8i16, 3, 0, 2, 3, 
22519
0
  11, MVT::v4i32,
22520
0
   OPC_CheckPatternPredicate0,
22521
0
   OPC_CheckComplexPat6, /*#*/1,
22522
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLF),
22523
0
                 MVT::v4i32, 3, 0, 2, 3, 
22524
0
  11, MVT::v2i64,
22525
0
   OPC_CheckPatternPredicate0,
22526
0
   OPC_CheckComplexPat6, /*#*/1,
22527
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLG),
22528
0
                 MVT::v2i64, 3, 0, 2, 3, 
22529
0
  0,
22530
0
 56, TARGET_VAL(SystemZISD::VSRL_BY_SCALAR),
22531
0
  OPC_RecordChild0,
22532
0
  OPC_RecordChild1,
22533
0
  OPC_SwitchType , 11, MVT::v16i8,
22534
0
   OPC_CheckPatternPredicate0,
22535
0
   OPC_CheckComplexPat6, /*#*/1,
22536
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLB),
22537
0
                 MVT::v16i8, 3, 0, 2, 3, 
22538
0
  11, MVT::v8i16,
22539
0
   OPC_CheckPatternPredicate0,
22540
0
   OPC_CheckComplexPat6, /*#*/1,
22541
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLH),
22542
0
                 MVT::v8i16, 3, 0, 2, 3, 
22543
0
  11, MVT::v4i32,
22544
0
   OPC_CheckPatternPredicate0,
22545
0
   OPC_CheckComplexPat6, /*#*/1,
22546
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLF),
22547
0
                 MVT::v4i32, 3, 0, 2, 3, 
22548
0
  11, MVT::v2i64,
22549
0
   OPC_CheckPatternPredicate0,
22550
0
   OPC_CheckComplexPat6, /*#*/1,
22551
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLG),
22552
0
                 MVT::v2i64, 3, 0, 2, 3, 
22553
0
  0,
22554
0
 81, TARGET_VAL(SystemZISD::ROTATE_MASK),
22555
0
  OPC_RecordChild0,
22556
0
  OPC_MoveChild0,
22557
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22558
0
  OPC_CheckPredicate, 23,
22559
0
  OPC_MoveSibling1,
22560
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22561
0
  OPC_RecordNode,
22562
0
  OPC_CheckPredicate, 23,
22563
0
  OPC_MoveParent,
22564
0
  OPC_SwitchType , 14, MVT::v16i8,
22565
0
   OPC_CheckPatternPredicate0,
22566
0
   OPC_EmitNodeXForm, 0, 0,
22567
0
   OPC_EmitNodeXForm, 0, 1,
22568
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGMB),
22569
0
                 MVT::v16i8, 2, 2, 3, 
22570
0
  14, MVT::v8i16,
22571
0
   OPC_CheckPatternPredicate0,
22572
0
   OPC_EmitNodeXForm, 0, 0,
22573
0
   OPC_EmitNodeXForm, 0, 1,
22574
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGMH),
22575
0
                 MVT::v8i16, 2, 2, 3, 
22576
0
  14, MVT::v4i32,
22577
0
   OPC_CheckPatternPredicate0,
22578
0
   OPC_EmitNodeXForm, 0, 0,
22579
0
   OPC_EmitNodeXForm, 0, 1,
22580
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGMF),
22581
0
                 MVT::v4i32, 2, 2, 3, 
22582
0
  14, MVT::v2i64,
22583
0
   OPC_CheckPatternPredicate0,
22584
0
   OPC_EmitNodeXForm, 0, 0,
22585
0
   OPC_EmitNodeXForm, 0, 1,
22586
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGMG),
22587
0
                 MVT::v2i64, 2, 2, 3, 
22588
0
  0,
22589
0
 20, TARGET_VAL(SystemZISD::PERMUTE_DWORDS),
22590
0
  OPC_RecordChild0,
22591
0
  OPC_RecordChild1,
22592
0
  OPC_RecordChild2,
22593
0
  OPC_MoveChild2,
22594
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22595
0
  OPC_CheckPredicate3, 
22596
0
  OPC_MoveParent,
22597
0
  OPC_CheckType, MVT::v2i64,
22598
0
  OPC_CheckPatternPredicate0,
22599
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPDI),
22600
0
                MVT::v2i64, 3, 0, 1, 2, 
22601
0
 91, TARGET_VAL(SystemZISD::SPLAT),
22602
0
  OPC_RecordChild0,
22603
0
  OPC_RecordChild1,
22604
0
  OPC_MoveChild1,
22605
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22606
0
  OPC_CheckPredicate, 46,
22607
0
  OPC_MoveParent,
22608
0
  OPC_SwitchType , 11, MVT::v16i8,
22609
0
   OPC_CheckPatternPredicate0,
22610
0
   OPC_EmitNodeXForm, 10, 1,
22611
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPB),
22612
0
                 MVT::v16i8, 2, 0, 2, 
22613
0
  11, MVT::v8i16,
22614
0
   OPC_CheckPatternPredicate0,
22615
0
   OPC_EmitNodeXForm, 10, 1,
22616
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPH),
22617
0
                 MVT::v8i16, 2, 0, 2, 
22618
0
  11, MVT::v4i32,
22619
0
   OPC_CheckPatternPredicate0,
22620
0
   OPC_EmitNodeXForm, 10, 1,
22621
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPF),
22622
0
                 MVT::v4i32, 2, 0, 2, 
22623
0
  11, MVT::v2i64,
22624
0
   OPC_CheckPatternPredicate0,
22625
0
   OPC_EmitNodeXForm, 10, 1,
22626
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPG),
22627
0
                 MVT::v2i64, 2, 0, 2, 
22628
0
  12, MVT::v4f32,
22629
0
   OPC_CheckPatternPredicate0,
22630
0
   OPC_EmitConvertToTarget1,
22631
0
   OPC_EmitNodeXForm, 10, 2,
22632
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPF),
22633
0
                 MVT::v4f32, 2, 0, 3, 
22634
0
  12, MVT::v2f64,
22635
0
   OPC_CheckPatternPredicate0,
22636
0
   OPC_EmitConvertToTarget1,
22637
0
   OPC_EmitNodeXForm, 10, 2,
22638
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPG),
22639
0
                 MVT::v2f64, 2, 0, 3, 
22640
0
  0,
22641
0
 24, TARGET_VAL(SystemZISD::SHL_DOUBLE),
22642
0
  OPC_RecordChild0,
22643
0
  OPC_RecordChild1,
22644
0
  OPC_RecordChild2,
22645
0
  OPC_MoveChild2,
22646
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22647
0
  OPC_CheckPredicate, 23,
22648
0
  OPC_MoveParent,
22649
0
  OPC_CheckType, MVT::v16i8,
22650
0
  OPC_CheckPatternPredicate0,
22651
0
  OPC_EmitNodeXForm, 0, 2,
22652
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLDB),
22653
0
                MVT::v16i8, 3, 0, 1, 3, 
22654
0
 53, TARGET_VAL(SystemZISD::VFTCI),
22655
0
  OPC_RecordChild0,
22656
0
  OPC_Scope, 24, 
22657
0
   OPC_CheckChild0Type, MVT::v2f64,
22658
0
   OPC_RecordChild1,
22659
0
   OPC_MoveChild1,
22660
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22661
0
   OPC_CheckPredicate, 68,
22662
0
   OPC_MoveParent,
22663
0
   OPC_CheckType, MVT::v2i64,
22664
0
   OPC_CheckPatternPredicate0,
22665
0
   OPC_EmitNodeXForm, 18, 1,
22666
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFTCIDB),
22667
0
                 MVT::v2i64, MVT::i32, 2, 0, 2, 
22668
0
  24, 
22669
0
   OPC_CheckChild0Type, MVT::v4f32,
22670
0
   OPC_RecordChild1,
22671
0
   OPC_MoveChild1,
22672
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22673
0
   OPC_CheckPredicate, 68,
22674
0
   OPC_MoveParent,
22675
0
   OPC_CheckType, MVT::v4i32,
22676
0
   OPC_CheckPatternPredicate1,
22677
0
   OPC_EmitNodeXForm, 18, 1,
22678
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFTCISB),
22679
0
                 MVT::v4i32, MVT::i32, 2, 0, 2, 
22680
0
  0, 
22681
0
 56, TARGET_VAL(SystemZISD::VFAE_CC),
22682
0
  OPC_RecordChild0,
22683
0
  OPC_RecordChild1,
22684
0
  OPC_RecordChild2,
22685
0
  OPC_MoveChild2,
22686
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22687
0
  OPC_CheckPredicate3, 
22688
0
  OPC_MoveParent,
22689
0
  OPC_SwitchType , 13, MVT::v16i8,
22690
0
   OPC_CheckPatternPredicate0,
22691
0
   OPC_EmitNodeXForm, 12, 2,
22692
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEBS),
22693
0
                 MVT::v16i8, MVT::i32, 3, 0, 1, 3, 
22694
0
  13, MVT::v8i16,
22695
0
   OPC_CheckPatternPredicate0,
22696
0
   OPC_EmitNodeXForm, 12, 2,
22697
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEHS),
22698
0
                 MVT::v8i16, MVT::i32, 3, 0, 1, 3, 
22699
0
  13, MVT::v4i32,
22700
0
   OPC_CheckPatternPredicate0,
22701
0
   OPC_EmitNodeXForm, 12, 2,
22702
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEFS),
22703
0
                 MVT::v4i32, MVT::i32, 3, 0, 1, 3, 
22704
0
  0,
22705
0
 56, TARGET_VAL(SystemZISD::VFAEZ_CC),
22706
0
  OPC_RecordChild0,
22707
0
  OPC_RecordChild1,
22708
0
  OPC_RecordChild2,
22709
0
  OPC_MoveChild2,
22710
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22711
0
  OPC_CheckPredicate3, 
22712
0
  OPC_MoveParent,
22713
0
  OPC_SwitchType , 13, MVT::v16i8,
22714
0
   OPC_CheckPatternPredicate0,
22715
0
   OPC_EmitNodeXForm, 12, 2,
22716
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEZBS),
22717
0
                 MVT::v16i8, MVT::i32, 3, 0, 1, 3, 
22718
0
  13, MVT::v8i16,
22719
0
   OPC_CheckPatternPredicate0,
22720
0
   OPC_EmitNodeXForm, 12, 2,
22721
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEZHS),
22722
0
                 MVT::v8i16, MVT::i32, 3, 0, 1, 3, 
22723
0
  13, MVT::v4i32,
22724
0
   OPC_CheckPatternPredicate0,
22725
0
   OPC_EmitNodeXForm, 12, 2,
22726
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEZFS),
22727
0
                 MVT::v4i32, MVT::i32, 3, 0, 1, 3, 
22728
0
  0,
22729
0
 60, TARGET_VAL(SystemZISD::VSTRC_CC),
22730
0
  OPC_RecordChild0,
22731
0
  OPC_RecordChild1,
22732
0
  OPC_RecordChild2,
22733
0
  OPC_RecordChild3,
22734
0
  OPC_MoveChild3,
22735
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22736
0
  OPC_CheckPredicate3, 
22737
0
  OPC_MoveParent,
22738
0
  OPC_SwitchType , 14, MVT::v16i8,
22739
0
   OPC_CheckPatternPredicate0,
22740
0
   OPC_EmitNodeXForm, 12, 3,
22741
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCBS),
22742
0
                 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 4, 
22743
0
  14, MVT::v8i16,
22744
0
   OPC_CheckPatternPredicate0,
22745
0
   OPC_EmitNodeXForm, 12, 3,
22746
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCHS),
22747
0
                 MVT::v8i16, MVT::i32, 4, 0, 1, 2, 4, 
22748
0
  14, MVT::v4i32,
22749
0
   OPC_CheckPatternPredicate0,
22750
0
   OPC_EmitNodeXForm, 12, 3,
22751
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCFS),
22752
0
                 MVT::v4i32, MVT::i32, 4, 0, 1, 2, 4, 
22753
0
  0,
22754
0
 60, TARGET_VAL(SystemZISD::VSTRCZ_CC),
22755
0
  OPC_RecordChild0,
22756
0
  OPC_RecordChild1,
22757
0
  OPC_RecordChild2,
22758
0
  OPC_RecordChild3,
22759
0
  OPC_MoveChild3,
22760
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22761
0
  OPC_CheckPredicate3, 
22762
0
  OPC_MoveParent,
22763
0
  OPC_SwitchType , 14, MVT::v16i8,
22764
0
   OPC_CheckPatternPredicate0,
22765
0
   OPC_EmitNodeXForm, 12, 3,
22766
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCZBS),
22767
0
                 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 4, 
22768
0
  14, MVT::v8i16,
22769
0
   OPC_CheckPatternPredicate0,
22770
0
   OPC_EmitNodeXForm, 12, 3,
22771
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCZHS),
22772
0
                 MVT::v8i16, MVT::i32, 4, 0, 1, 2, 4, 
22773
0
  14, MVT::v4i32,
22774
0
   OPC_CheckPatternPredicate0,
22775
0
   OPC_EmitNodeXForm, 12, 3,
22776
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCZFS),
22777
0
                 MVT::v4i32, MVT::i32, 4, 0, 1, 2, 4, 
22778
0
  0,
22779
0
 16, TARGET_VAL(SystemZISD::BYTE_MASK),
22780
0
  OPC_RecordChild0,
22781
0
  OPC_MoveChild0,
22782
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22783
0
  OPC_CheckTypeI32,
22784
0
  OPC_MoveParent,
22785
0
  OPC_CheckType, MVT::v16i8,
22786
0
  OPC_CheckPatternPredicate0,
22787
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGBM),
22788
0
                MVT::v16i8, 1, 0, 
22789
0
 64, TARGET_VAL(SystemZISD::MERGE_LOW),
22790
0
  OPC_RecordChild0,
22791
0
  OPC_RecordChild1,
22792
0
  OPC_SwitchType , 8, MVT::v16i8,
22793
0
   OPC_CheckPatternPredicate0,
22794
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLB),
22795
0
                 MVT::v16i8, 2, 0, 1, 
22796
0
  8, MVT::v8i16,
22797
0
   OPC_CheckPatternPredicate0,
22798
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLH),
22799
0
                 MVT::v8i16, 2, 0, 1, 
22800
0
  8, MVT::v4i32,
22801
0
   OPC_CheckPatternPredicate0,
22802
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLF),
22803
0
                 MVT::v4i32, 2, 0, 1, 
22804
0
  8, MVT::v2i64,
22805
0
   OPC_CheckPatternPredicate0,
22806
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLG),
22807
0
                 MVT::v2i64, 2, 0, 1, 
22808
0
  8, MVT::v4f32,
22809
0
   OPC_CheckPatternPredicate0,
22810
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLF),
22811
0
                 MVT::v4f32, 2, 0, 1, 
22812
0
  8, MVT::v2f64,
22813
0
   OPC_CheckPatternPredicate0,
22814
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLG),
22815
0
                 MVT::v2f64, 2, 0, 1, 
22816
0
  0,
22817
0
 14, TARGET_VAL(SystemZISD::PERMUTE),
22818
0
  OPC_RecordChild0,
22819
0
  OPC_RecordChild1,
22820
0
  OPC_RecordChild2,
22821
0
  OPC_CheckType, MVT::v16i8,
22822
0
  OPC_CheckPatternPredicate0,
22823
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPERM),
22824
0
                MVT::v16i8, 3, 0, 1, 2, 
22825
0
 42, TARGET_VAL(SystemZISD::PACK),
22826
0
  OPC_RecordChild0,
22827
0
  OPC_SwitchType , 11, MVT::v16i8,
22828
0
   OPC_CheckChild0Type, MVT::v8i16,
22829
0
   OPC_RecordChild1,
22830
0
   OPC_CheckPatternPredicate0,
22831
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKH),
22832
0
                 MVT::v16i8, 2, 0, 1, 
22833
0
  11, MVT::v8i16,
22834
0
   OPC_CheckChild0Type, MVT::v4i32,
22835
0
   OPC_RecordChild1,
22836
0
   OPC_CheckPatternPredicate0,
22837
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKF),
22838
0
                 MVT::v8i16, 2, 0, 1, 
22839
0
  11, MVT::v4i32,
22840
0
   OPC_CheckChild0Type, MVT::v2i64,
22841
0
   OPC_RecordChild1,
22842
0
   OPC_CheckPatternPredicate0,
22843
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKG),
22844
0
                 MVT::v4i32, 2, 0, 1, 
22845
0
  0,
22846
0
 45, TARGET_VAL(SystemZISD::PACKS_CC),
22847
0
  OPC_RecordChild0,
22848
0
  OPC_SwitchType , 12, MVT::v16i8,
22849
0
   OPC_CheckChild0Type, MVT::v8i16,
22850
0
   OPC_RecordChild1,
22851
0
   OPC_CheckPatternPredicate0,
22852
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKSHS),
22853
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
22854
0
  12, MVT::v8i16,
22855
0
   OPC_CheckChild0Type, MVT::v4i32,
22856
0
   OPC_RecordChild1,
22857
0
   OPC_CheckPatternPredicate0,
22858
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKSFS),
22859
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
22860
0
  12, MVT::v4i32,
22861
0
   OPC_CheckChild0Type, MVT::v2i64,
22862
0
   OPC_RecordChild1,
22863
0
   OPC_CheckPatternPredicate0,
22864
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKSGS),
22865
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
22866
0
  0,
22867
0
 45, TARGET_VAL(SystemZISD::PACKLS_CC),
22868
0
  OPC_RecordChild0,
22869
0
  OPC_SwitchType , 12, MVT::v16i8,
22870
0
   OPC_CheckChild0Type, MVT::v8i16,
22871
0
   OPC_RecordChild1,
22872
0
   OPC_CheckPatternPredicate0,
22873
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKLSHS),
22874
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
22875
0
  12, MVT::v8i16,
22876
0
   OPC_CheckChild0Type, MVT::v4i32,
22877
0
   OPC_RecordChild1,
22878
0
   OPC_CheckPatternPredicate0,
22879
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKLSFS),
22880
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
22881
0
  12, MVT::v4i32,
22882
0
   OPC_CheckChild0Type, MVT::v2i64,
22883
0
   OPC_RecordChild1,
22884
0
   OPC_CheckPatternPredicate0,
22885
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKLSGS),
22886
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
22887
0
  0,
22888
0
 36, TARGET_VAL(SystemZISD::UNPACK_HIGH),
22889
0
  OPC_RecordChild0,
22890
0
  OPC_SwitchType , 9, MVT::v8i16,
22891
0
   OPC_CheckChild0Type, MVT::v16i8,
22892
0
   OPC_CheckPatternPredicate0,
22893
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPHB),
22894
0
                 MVT::v8i16, 1, 0, 
22895
0
  9, MVT::v4i32,
22896
0
   OPC_CheckChild0Type, MVT::v8i16,
22897
0
   OPC_CheckPatternPredicate0,
22898
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPHH),
22899
0
                 MVT::v4i32, 1, 0, 
22900
0
  9, MVT::v2i64,
22901
0
   OPC_CheckChild0Type, MVT::v4i32,
22902
0
   OPC_CheckPatternPredicate0,
22903
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPHF),
22904
0
                 MVT::v2i64, 1, 0, 
22905
0
  0,
22906
0
 36, TARGET_VAL(SystemZISD::UNPACKL_HIGH),
22907
0
  OPC_RecordChild0,
22908
0
  OPC_SwitchType , 9, MVT::v8i16,
22909
0
   OPC_CheckChild0Type, MVT::v16i8,
22910
0
   OPC_CheckPatternPredicate0,
22911
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLHB),
22912
0
                 MVT::v8i16, 1, 0, 
22913
0
  9, MVT::v4i32,
22914
0
   OPC_CheckChild0Type, MVT::v8i16,
22915
0
   OPC_CheckPatternPredicate0,
22916
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLHH),
22917
0
                 MVT::v4i32, 1, 0, 
22918
0
  9, MVT::v2i64,
22919
0
   OPC_CheckChild0Type, MVT::v4i32,
22920
0
   OPC_CheckPatternPredicate0,
22921
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLHF),
22922
0
                 MVT::v2i64, 1, 0, 
22923
0
  0,
22924
0
 36, TARGET_VAL(SystemZISD::UNPACK_LOW),
22925
0
  OPC_RecordChild0,
22926
0
  OPC_SwitchType , 9, MVT::v8i16,
22927
0
   OPC_CheckChild0Type, MVT::v16i8,
22928
0
   OPC_CheckPatternPredicate0,
22929
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLB),
22930
0
                 MVT::v8i16, 1, 0, 
22931
0
  9, MVT::v4i32,
22932
0
   OPC_CheckChild0Type, MVT::v8i16,
22933
0
   OPC_CheckPatternPredicate0,
22934
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLHW),
22935
0
                 MVT::v4i32, 1, 0, 
22936
0
  9, MVT::v2i64,
22937
0
   OPC_CheckChild0Type, MVT::v4i32,
22938
0
   OPC_CheckPatternPredicate0,
22939
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLF),
22940
0
                 MVT::v2i64, 1, 0, 
22941
0
  0,
22942
0
 36, TARGET_VAL(SystemZISD::UNPACKL_LOW),
22943
0
  OPC_RecordChild0,
22944
0
  OPC_SwitchType , 9, MVT::v8i16,
22945
0
   OPC_CheckChild0Type, MVT::v16i8,
22946
0
   OPC_CheckPatternPredicate0,
22947
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLLB),
22948
0
                 MVT::v8i16, 1, 0, 
22949
0
  9, MVT::v4i32,
22950
0
   OPC_CheckChild0Type, MVT::v8i16,
22951
0
   OPC_CheckPatternPredicate0,
22952
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLLH),
22953
0
                 MVT::v4i32, 1, 0, 
22954
0
  9, MVT::v2i64,
22955
0
   OPC_CheckChild0Type, MVT::v4i32,
22956
0
   OPC_CheckPatternPredicate0,
22957
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLLF),
22958
0
                 MVT::v2i64, 1, 0, 
22959
0
  0,
22960
0
 47, TARGET_VAL(ISD::CTTZ),
22961
0
  OPC_RecordChild0,
22962
0
  OPC_SwitchType , 9, MVT::v16i8,
22963
0
   OPC_CheckChild0Type, MVT::v16i8,
22964
0
   OPC_CheckPatternPredicate0,
22965
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCTZB),
22966
0
                 MVT::v16i8, 1, 0, 
22967
0
  9, MVT::v8i16,
22968
0
   OPC_CheckChild0Type, MVT::v8i16,
22969
0
   OPC_CheckPatternPredicate0,
22970
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCTZH),
22971
0
                 MVT::v8i16, 1, 0, 
22972
0
  9, MVT::v4i32,
22973
0
   OPC_CheckChild0Type, MVT::v4i32,
22974
0
   OPC_CheckPatternPredicate0,
22975
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCTZF),
22976
0
                 MVT::v4i32, 1, 0, 
22977
0
  9, MVT::v2i64,
22978
0
   OPC_CheckChild0Type, MVT::v2i64,
22979
0
   OPC_CheckPatternPredicate0,
22980
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCTZG),
22981
0
                 MVT::v2i64, 1, 0, 
22982
0
  0,
22983
0
 44, TARGET_VAL(SystemZISD::VICMPE),
22984
0
  OPC_RecordChild0,
22985
0
  OPC_RecordChild1,
22986
0
  OPC_SwitchType , 8, MVT::v16i8,
22987
0
   OPC_CheckPatternPredicate0,
22988
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEQB),
22989
0
                 MVT::v16i8, 2, 0, 1, 
22990
0
  8, MVT::v8i16,
22991
0
   OPC_CheckPatternPredicate0,
22992
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEQH),
22993
0
                 MVT::v8i16, 2, 0, 1, 
22994
0
  8, MVT::v4i32,
22995
0
   OPC_CheckPatternPredicate0,
22996
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEQF),
22997
0
                 MVT::v4i32, 2, 0, 1, 
22998
0
  8, MVT::v2i64,
22999
0
   OPC_CheckPatternPredicate0,
23000
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEQG),
23001
0
                 MVT::v2i64, 2, 0, 1, 
23002
0
  0,
23003
0
 56, TARGET_VAL(SystemZISD::VICMPES),
23004
0
  OPC_RecordChild0,
23005
0
  OPC_RecordChild1,
23006
0
  OPC_SwitchType , 11, MVT::v16i8,
23007
0
   OPC_CheckChild1Type, MVT::v16i8,
23008
0
   OPC_CheckPatternPredicate0,
23009
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCEQBS),
23010
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
23011
0
  11, MVT::v8i16,
23012
0
   OPC_CheckChild1Type, MVT::v8i16,
23013
0
   OPC_CheckPatternPredicate0,
23014
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCEQHS),
23015
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
23016
0
  11, MVT::v4i32,
23017
0
   OPC_CheckChild1Type, MVT::v4i32,
23018
0
   OPC_CheckPatternPredicate0,
23019
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCEQFS),
23020
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23021
0
  11, MVT::v2i64,
23022
0
   OPC_CheckChild1Type, MVT::v2i64,
23023
0
   OPC_CheckPatternPredicate0,
23024
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCEQGS),
23025
0
                 MVT::v2i64, MVT::i32, 2, 0, 1, 
23026
0
  0,
23027
0
 44, TARGET_VAL(SystemZISD::VICMPH),
23028
0
  OPC_RecordChild0,
23029
0
  OPC_RecordChild1,
23030
0
  OPC_SwitchType , 8, MVT::v16i8,
23031
0
   OPC_CheckPatternPredicate0,
23032
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHB),
23033
0
                 MVT::v16i8, 2, 0, 1, 
23034
0
  8, MVT::v8i16,
23035
0
   OPC_CheckPatternPredicate0,
23036
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHH),
23037
0
                 MVT::v8i16, 2, 0, 1, 
23038
0
  8, MVT::v4i32,
23039
0
   OPC_CheckPatternPredicate0,
23040
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHF),
23041
0
                 MVT::v4i32, 2, 0, 1, 
23042
0
  8, MVT::v2i64,
23043
0
   OPC_CheckPatternPredicate0,
23044
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHG),
23045
0
                 MVT::v2i64, 2, 0, 1, 
23046
0
  0,
23047
0
 56, TARGET_VAL(SystemZISD::VICMPHS),
23048
0
  OPC_RecordChild0,
23049
0
  OPC_RecordChild1,
23050
0
  OPC_SwitchType , 11, MVT::v16i8,
23051
0
   OPC_CheckChild1Type, MVT::v16i8,
23052
0
   OPC_CheckPatternPredicate0,
23053
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHBS),
23054
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
23055
0
  11, MVT::v8i16,
23056
0
   OPC_CheckChild1Type, MVT::v8i16,
23057
0
   OPC_CheckPatternPredicate0,
23058
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHHS),
23059
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
23060
0
  11, MVT::v4i32,
23061
0
   OPC_CheckChild1Type, MVT::v4i32,
23062
0
   OPC_CheckPatternPredicate0,
23063
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHFS),
23064
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23065
0
  11, MVT::v2i64,
23066
0
   OPC_CheckChild1Type, MVT::v2i64,
23067
0
   OPC_CheckPatternPredicate0,
23068
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHGS),
23069
0
                 MVT::v2i64, MVT::i32, 2, 0, 1, 
23070
0
  0,
23071
0
 44, TARGET_VAL(SystemZISD::VICMPHL),
23072
0
  OPC_RecordChild0,
23073
0
  OPC_RecordChild1,
23074
0
  OPC_SwitchType , 8, MVT::v16i8,
23075
0
   OPC_CheckPatternPredicate0,
23076
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHLB),
23077
0
                 MVT::v16i8, 2, 0, 1, 
23078
0
  8, MVT::v8i16,
23079
0
   OPC_CheckPatternPredicate0,
23080
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHLH),
23081
0
                 MVT::v8i16, 2, 0, 1, 
23082
0
  8, MVT::v4i32,
23083
0
   OPC_CheckPatternPredicate0,
23084
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHLF),
23085
0
                 MVT::v4i32, 2, 0, 1, 
23086
0
  8, MVT::v2i64,
23087
0
   OPC_CheckPatternPredicate0,
23088
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHLG),
23089
0
                 MVT::v2i64, 2, 0, 1, 
23090
0
  0,
23091
0
 56, TARGET_VAL(SystemZISD::VICMPHLS),
23092
0
  OPC_RecordChild0,
23093
0
  OPC_RecordChild1,
23094
0
  OPC_SwitchType , 11, MVT::v16i8,
23095
0
   OPC_CheckChild1Type, MVT::v16i8,
23096
0
   OPC_CheckPatternPredicate0,
23097
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHLBS),
23098
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
23099
0
  11, MVT::v8i16,
23100
0
   OPC_CheckChild1Type, MVT::v8i16,
23101
0
   OPC_CheckPatternPredicate0,
23102
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHLHS),
23103
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
23104
0
  11, MVT::v4i32,
23105
0
   OPC_CheckChild1Type, MVT::v4i32,
23106
0
   OPC_CheckPatternPredicate0,
23107
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHLFS),
23108
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23109
0
  11, MVT::v2i64,
23110
0
   OPC_CheckChild1Type, MVT::v2i64,
23111
0
   OPC_CheckPatternPredicate0,
23112
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHLGS),
23113
0
                 MVT::v2i64, MVT::i32, 2, 0, 1, 
23114
0
  0,
23115
0
 32, TARGET_VAL(SystemZISD::STRICT_VFCMPE),
23116
0
  OPC_RecordNode,
23117
0
  OPC_RecordChild1,
23118
0
  OPC_SwitchType , 12, MVT::v2i64,
23119
0
   OPC_CheckChild1Type, MVT::v2f64,
23120
0
   OPC_RecordChild2,
23121
0
   OPC_CheckPatternPredicate0,
23122
0
   OPC_EmitMergeInputChains1_0,
23123
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCEDB),
23124
0
                 MVT::v2i64, 2, 1, 2, 
23125
0
  12, MVT::v4i32,
23126
0
   OPC_CheckChild1Type, MVT::v4f32,
23127
0
   OPC_RecordChild2,
23128
0
   OPC_CheckPatternPredicate1,
23129
0
   OPC_EmitMergeInputChains1_0,
23130
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCESB),
23131
0
                 MVT::v4i32, 2, 1, 2, 
23132
0
  0,
23133
0
 29, TARGET_VAL(SystemZISD::VFCMPE),
23134
0
  OPC_RecordChild0,
23135
0
  OPC_SwitchType , 11, MVT::v2i64,
23136
0
   OPC_CheckChild0Type, MVT::v2f64,
23137
0
   OPC_RecordChild1,
23138
0
   OPC_CheckPatternPredicate0,
23139
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCEDB),
23140
0
                 MVT::v2i64, 2, 0, 1, 
23141
0
  11, MVT::v4i32,
23142
0
   OPC_CheckChild0Type, MVT::v4f32,
23143
0
   OPC_RecordChild1,
23144
0
   OPC_CheckPatternPredicate1,
23145
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCESB),
23146
0
                 MVT::v4i32, 2, 0, 1, 
23147
0
  0,
23148
0
 31, TARGET_VAL(SystemZISD::VFCMPES),
23149
0
  OPC_RecordChild0,
23150
0
  OPC_SwitchType , 12, MVT::v2i64,
23151
0
   OPC_CheckChild0Type, MVT::v2f64,
23152
0
   OPC_RecordChild1,
23153
0
   OPC_CheckPatternPredicate0,
23154
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCEDBS),
23155
0
                 MVT::v2i64, MVT::i32, 2, 0, 1, 
23156
0
  12, MVT::v4i32,
23157
0
   OPC_CheckChild0Type, MVT::v4f32,
23158
0
   OPC_RecordChild1,
23159
0
   OPC_CheckPatternPredicate1,
23160
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCESBS),
23161
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23162
0
  0,
23163
0
 32, TARGET_VAL(SystemZISD::STRICT_VFCMPES),
23164
0
  OPC_RecordNode,
23165
0
  OPC_RecordChild1,
23166
0
  OPC_SwitchType , 12, MVT::v2i64,
23167
0
   OPC_CheckChild1Type, MVT::v2f64,
23168
0
   OPC_RecordChild2,
23169
0
   OPC_CheckPatternPredicate1,
23170
0
   OPC_EmitMergeInputChains1_0,
23171
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKEDB),
23172
0
                 MVT::v2i64, 2, 1, 2, 
23173
0
  12, MVT::v4i32,
23174
0
   OPC_CheckChild1Type, MVT::v4f32,
23175
0
   OPC_RecordChild2,
23176
0
   OPC_CheckPatternPredicate1,
23177
0
   OPC_EmitMergeInputChains1_0,
23178
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKESB),
23179
0
                 MVT::v4i32, 2, 1, 2, 
23180
0
  0,
23181
0
 32, TARGET_VAL(SystemZISD::STRICT_VFCMPH),
23182
0
  OPC_RecordNode,
23183
0
  OPC_RecordChild1,
23184
0
  OPC_SwitchType , 12, MVT::v2i64,
23185
0
   OPC_CheckChild1Type, MVT::v2f64,
23186
0
   OPC_RecordChild2,
23187
0
   OPC_CheckPatternPredicate0,
23188
0
   OPC_EmitMergeInputChains1_0,
23189
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCHDB),
23190
0
                 MVT::v2i64, 2, 1, 2, 
23191
0
  12, MVT::v4i32,
23192
0
   OPC_CheckChild1Type, MVT::v4f32,
23193
0
   OPC_RecordChild2,
23194
0
   OPC_CheckPatternPredicate1,
23195
0
   OPC_EmitMergeInputChains1_0,
23196
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCHSB),
23197
0
                 MVT::v4i32, 2, 1, 2, 
23198
0
  0,
23199
0
 29, TARGET_VAL(SystemZISD::VFCMPH),
23200
0
  OPC_RecordChild0,
23201
0
  OPC_SwitchType , 11, MVT::v2i64,
23202
0
   OPC_CheckChild0Type, MVT::v2f64,
23203
0
   OPC_RecordChild1,
23204
0
   OPC_CheckPatternPredicate0,
23205
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCHDB),
23206
0
                 MVT::v2i64, 2, 0, 1, 
23207
0
  11, MVT::v4i32,
23208
0
   OPC_CheckChild0Type, MVT::v4f32,
23209
0
   OPC_RecordChild1,
23210
0
   OPC_CheckPatternPredicate1,
23211
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCHSB),
23212
0
                 MVT::v4i32, 2, 0, 1, 
23213
0
  0,
23214
0
 31, TARGET_VAL(SystemZISD::VFCMPHS),
23215
0
  OPC_RecordChild0,
23216
0
  OPC_SwitchType , 12, MVT::v2i64,
23217
0
   OPC_CheckChild0Type, MVT::v2f64,
23218
0
   OPC_RecordChild1,
23219
0
   OPC_CheckPatternPredicate0,
23220
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCHDBS),
23221
0
                 MVT::v2i64, MVT::i32, 2, 0, 1, 
23222
0
  12, MVT::v4i32,
23223
0
   OPC_CheckChild0Type, MVT::v4f32,
23224
0
   OPC_RecordChild1,
23225
0
   OPC_CheckPatternPredicate1,
23226
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCHSBS),
23227
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23228
0
  0,
23229
0
 32, TARGET_VAL(SystemZISD::STRICT_VFCMPHS),
23230
0
  OPC_RecordNode,
23231
0
  OPC_RecordChild1,
23232
0
  OPC_SwitchType , 12, MVT::v2i64,
23233
0
   OPC_CheckChild1Type, MVT::v2f64,
23234
0
   OPC_RecordChild2,
23235
0
   OPC_CheckPatternPredicate1,
23236
0
   OPC_EmitMergeInputChains1_0,
23237
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKHDB),
23238
0
                 MVT::v2i64, 2, 1, 2, 
23239
0
  12, MVT::v4i32,
23240
0
   OPC_CheckChild1Type, MVT::v4f32,
23241
0
   OPC_RecordChild2,
23242
0
   OPC_CheckPatternPredicate1,
23243
0
   OPC_EmitMergeInputChains1_0,
23244
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKHSB),
23245
0
                 MVT::v4i32, 2, 1, 2, 
23246
0
  0,
23247
0
 32, TARGET_VAL(SystemZISD::STRICT_VFCMPHE),
23248
0
  OPC_RecordNode,
23249
0
  OPC_RecordChild1,
23250
0
  OPC_SwitchType , 12, MVT::v2i64,
23251
0
   OPC_CheckChild1Type, MVT::v2f64,
23252
0
   OPC_RecordChild2,
23253
0
   OPC_CheckPatternPredicate0,
23254
0
   OPC_EmitMergeInputChains1_0,
23255
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCHEDB),
23256
0
                 MVT::v2i64, 2, 1, 2, 
23257
0
  12, MVT::v4i32,
23258
0
   OPC_CheckChild1Type, MVT::v4f32,
23259
0
   OPC_RecordChild2,
23260
0
   OPC_CheckPatternPredicate1,
23261
0
   OPC_EmitMergeInputChains1_0,
23262
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCHESB),
23263
0
                 MVT::v4i32, 2, 1, 2, 
23264
0
  0,
23265
0
 29, TARGET_VAL(SystemZISD::VFCMPHE),
23266
0
  OPC_RecordChild0,
23267
0
  OPC_SwitchType , 11, MVT::v2i64,
23268
0
   OPC_CheckChild0Type, MVT::v2f64,
23269
0
   OPC_RecordChild1,
23270
0
   OPC_CheckPatternPredicate0,
23271
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCHEDB),
23272
0
                 MVT::v2i64, 2, 0, 1, 
23273
0
  11, MVT::v4i32,
23274
0
   OPC_CheckChild0Type, MVT::v4f32,
23275
0
   OPC_RecordChild1,
23276
0
   OPC_CheckPatternPredicate1,
23277
0
   OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCHESB),
23278
0
                 MVT::v4i32, 2, 0, 1, 
23279
0
  0,
23280
0
 31, TARGET_VAL(SystemZISD::VFCMPHES),
23281
0
  OPC_RecordChild0,
23282
0
  OPC_SwitchType , 12, MVT::v2i64,
23283
0
   OPC_CheckChild0Type, MVT::v2f64,
23284
0
   OPC_RecordChild1,
23285
0
   OPC_CheckPatternPredicate0,
23286
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCHEDBS),
23287
0
                 MVT::v2i64, MVT::i32, 2, 0, 1, 
23288
0
  12, MVT::v4i32,
23289
0
   OPC_CheckChild0Type, MVT::v4f32,
23290
0
   OPC_RecordChild1,
23291
0
   OPC_CheckPatternPredicate1,
23292
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCHESBS),
23293
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23294
0
  0,
23295
0
 32, TARGET_VAL(SystemZISD::STRICT_VFCMPHES),
23296
0
  OPC_RecordNode,
23297
0
  OPC_RecordChild1,
23298
0
  OPC_SwitchType , 12, MVT::v2i64,
23299
0
   OPC_CheckChild1Type, MVT::v2f64,
23300
0
   OPC_RecordChild2,
23301
0
   OPC_CheckPatternPredicate1,
23302
0
   OPC_EmitMergeInputChains1_0,
23303
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKHEDB),
23304
0
                 MVT::v2i64, 2, 1, 2, 
23305
0
  12, MVT::v4i32,
23306
0
   OPC_CheckChild1Type, MVT::v4f32,
23307
0
   OPC_RecordChild2,
23308
0
   OPC_CheckPatternPredicate1,
23309
0
   OPC_EmitMergeInputChains1_0,
23310
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKHESB),
23311
0
                 MVT::v4i32, 2, 1, 2, 
23312
0
  0,
23313
0
 43, TARGET_VAL(SystemZISD::VFEE_CC),
23314
0
  OPC_RecordChild0,
23315
0
  OPC_RecordChild1,
23316
0
  OPC_SwitchType , 11, MVT::v16i8,
23317
0
   OPC_CheckChild1Type, MVT::v16i8,
23318
0
   OPC_CheckPatternPredicate0,
23319
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEBS),
23320
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
23321
0
  11, MVT::v8i16,
23322
0
   OPC_CheckChild1Type, MVT::v8i16,
23323
0
   OPC_CheckPatternPredicate0,
23324
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEHS),
23325
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
23326
0
  11, MVT::v4i32,
23327
0
   OPC_CheckChild1Type, MVT::v4i32,
23328
0
   OPC_CheckPatternPredicate0,
23329
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEFS),
23330
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23331
0
  0,
23332
0
 43, TARGET_VAL(SystemZISD::VFEEZ_CC),
23333
0
  OPC_RecordChild0,
23334
0
  OPC_RecordChild1,
23335
0
  OPC_SwitchType , 11, MVT::v16i8,
23336
0
   OPC_CheckChild1Type, MVT::v16i8,
23337
0
   OPC_CheckPatternPredicate0,
23338
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEZBS),
23339
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
23340
0
  11, MVT::v8i16,
23341
0
   OPC_CheckChild1Type, MVT::v8i16,
23342
0
   OPC_CheckPatternPredicate0,
23343
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEZHS),
23344
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
23345
0
  11, MVT::v4i32,
23346
0
   OPC_CheckChild1Type, MVT::v4i32,
23347
0
   OPC_CheckPatternPredicate0,
23348
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEZFS),
23349
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23350
0
  0,
23351
0
 43, TARGET_VAL(SystemZISD::VFENE_CC),
23352
0
  OPC_RecordChild0,
23353
0
  OPC_RecordChild1,
23354
0
  OPC_SwitchType , 11, MVT::v16i8,
23355
0
   OPC_CheckChild1Type, MVT::v16i8,
23356
0
   OPC_CheckPatternPredicate0,
23357
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEBS),
23358
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
23359
0
  11, MVT::v8i16,
23360
0
   OPC_CheckChild1Type, MVT::v8i16,
23361
0
   OPC_CheckPatternPredicate0,
23362
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEHS),
23363
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
23364
0
  11, MVT::v4i32,
23365
0
   OPC_CheckChild1Type, MVT::v4i32,
23366
0
   OPC_CheckPatternPredicate0,
23367
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEFS),
23368
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23369
0
  0,
23370
0
 43, TARGET_VAL(SystemZISD::VFENEZ_CC),
23371
0
  OPC_RecordChild0,
23372
0
  OPC_RecordChild1,
23373
0
  OPC_SwitchType , 11, MVT::v16i8,
23374
0
   OPC_CheckChild1Type, MVT::v16i8,
23375
0
   OPC_CheckPatternPredicate0,
23376
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEZBS),
23377
0
                 MVT::v16i8, MVT::i32, 2, 0, 1, 
23378
0
  11, MVT::v8i16,
23379
0
   OPC_CheckChild1Type, MVT::v8i16,
23380
0
   OPC_CheckPatternPredicate0,
23381
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEZHS),
23382
0
                 MVT::v8i16, MVT::i32, 2, 0, 1, 
23383
0
  11, MVT::v4i32,
23384
0
   OPC_CheckChild1Type, MVT::v4i32,
23385
0
   OPC_CheckPatternPredicate0,
23386
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEZFS),
23387
0
                 MVT::v4i32, MVT::i32, 2, 0, 1, 
23388
0
  0,
23389
0
 33, TARGET_VAL(SystemZISD::VISTR_CC),
23390
0
  OPC_RecordChild0,
23391
0
  OPC_SwitchType , 8, MVT::v16i8,
23392
0
   OPC_CheckPatternPredicate0,
23393
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VISTRBS),
23394
0
                 MVT::v16i8, MVT::i32, 1, 0, 
23395
0
  8, MVT::v8i16,
23396
0
   OPC_CheckPatternPredicate0,
23397
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VISTRHS),
23398
0
                 MVT::v8i16, MVT::i32, 1, 0, 
23399
0
  8, MVT::v4i32,
23400
0
   OPC_CheckPatternPredicate0,
23401
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VISTRFS),
23402
0
                 MVT::v4i32, MVT::i32, 1, 0, 
23403
0
  0,
23404
0
 59, TARGET_VAL(SystemZISD::VSTRS_CC),
23405
0
  OPC_RecordChild0,
23406
0
  OPC_CheckType, MVT::v16i8,
23407
0
  OPC_Scope, 17, 
23408
0
   OPC_CheckChild0Type, MVT::v16i8,
23409
0
   OPC_RecordChild1,
23410
0
   OPC_RecordChild2,
23411
0
   OPC_CheckPatternPredicate4,
23412
0
   OPC_EmitInteger32, 0, 
23413
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSB),
23414
0
                 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 3, 
23415
0
  17, 
23416
0
   OPC_CheckChild0Type, MVT::v8i16,
23417
0
   OPC_RecordChild1,
23418
0
   OPC_RecordChild2,
23419
0
   OPC_CheckPatternPredicate4,
23420
0
   OPC_EmitInteger32, 0, 
23421
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSH),
23422
0
                 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 3, 
23423
0
  17, 
23424
0
   OPC_CheckChild0Type, MVT::v4i32,
23425
0
   OPC_RecordChild1,
23426
0
   OPC_RecordChild2,
23427
0
   OPC_CheckPatternPredicate4,
23428
0
   OPC_EmitInteger32, 0, 
23429
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSF),
23430
0
                 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 3, 
23431
0
  0, 
23432
0
 50, TARGET_VAL(SystemZISD::VSTRSZ_CC),
23433
0
  OPC_RecordChild0,
23434
0
  OPC_CheckType, MVT::v16i8,
23435
0
  OPC_Scope, 14, 
23436
0
   OPC_CheckChild0Type, MVT::v16i8,
23437
0
   OPC_RecordChild1,
23438
0
   OPC_RecordChild2,
23439
0
   OPC_CheckPatternPredicate4,
23440
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSZB),
23441
0
                 MVT::v16i8, MVT::i32, 3, 0, 1, 2, 
23442
0
  14, 
23443
0
   OPC_CheckChild0Type, MVT::v8i16,
23444
0
   OPC_RecordChild1,
23445
0
   OPC_RecordChild2,
23446
0
   OPC_CheckPatternPredicate4,
23447
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSZH),
23448
0
                 MVT::v16i8, MVT::i32, 3, 0, 1, 2, 
23449
0
  14, 
23450
0
   OPC_CheckChild0Type, MVT::v4i32,
23451
0
   OPC_RecordChild1,
23452
0
   OPC_RecordChild2,
23453
0
   OPC_CheckPatternPredicate4,
23454
0
   OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSZF),
23455
0
                 MVT::v16i8, MVT::i32, 3, 0, 1, 2, 
23456
0
  0, 
23457
0
 14, TARGET_VAL(SystemZISD::STRICT_VEXTEND),
23458
0
  OPC_RecordNode,
23459
0
  OPC_RecordChild1,
23460
0
  OPC_CheckChild1Type, MVT::v4f32,
23461
0
  OPC_CheckType, MVT::v2f64,
23462
0
  OPC_CheckPatternPredicate0,
23463
0
  OPC_EmitMergeInputChains1_0,
23464
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLDEB),
23465
0
                MVT::v2f64, 1, 1, 
23466
0
 12, TARGET_VAL(SystemZISD::VEXTEND),
23467
0
  OPC_RecordChild0,
23468
0
  OPC_CheckChild0Type, MVT::v4f32,
23469
0
  OPC_CheckType, MVT::v2f64,
23470
0
  OPC_CheckPatternPredicate0,
23471
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLDEB),
23472
0
                MVT::v2f64, 1, 0, 
23473
0
 20, TARGET_VAL(SystemZISD::STRICT_VROUND),
23474
0
  OPC_RecordNode,
23475
0
  OPC_RecordChild1,
23476
0
  OPC_CheckChild1Type, MVT::v2f64,
23477
0
  OPC_CheckType, MVT::v4f32,
23478
0
  OPC_CheckPatternPredicate0,
23479
0
  OPC_EmitMergeInputChains1_0,
23480
0
  OPC_EmitInteger32, 0, 
23481
0
  OPC_EmitInteger32, 0, 
23482
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLEDB),
23483
0
                MVT::v4f32, 3, 1, 2, 3, 
23484
0
 18, TARGET_VAL(SystemZISD::VROUND),
23485
0
  OPC_RecordChild0,
23486
0
  OPC_CheckChild0Type, MVT::v2f64,
23487
0
  OPC_CheckType, MVT::v4f32,
23488
0
  OPC_CheckPatternPredicate0,
23489
0
  OPC_EmitInteger32, 0, 
23490
0
  OPC_EmitInteger32, 0, 
23491
0
  OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEDB),
23492
0
                MVT::v4f32, 3, 0, 1, 2, 
23493
0
 0,
23494
0
    0
23495
0
  }; // Total Array size is 48296 bytes
23496
23497
0
  #undef TARGET_VAL
23498
0
  SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
23499
0
}
23500
#endif // GET_DAGISEL_BODY
23501
23502
#ifdef GET_DAGISEL_DECL
23503
bool CheckPatternPredicate(unsigned PredNo) const override;
23504
#endif
23505
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23506
bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
23507
#if DAGISEL_INLINE
23508
  override
23509
#endif
23510
0
{
23511
0
  switch (PredNo) {
23512
0
  default: llvm_unreachable("Invalid predicate in table?");
23513
0
  case 0: return (Subtarget->hasVector());
23514
0
  case 1: return (Subtarget->hasVectorEnhancements1());
23515
0
  case 2: return (Subtarget->hasHighWord());
23516
0
  case 3: return (Subtarget->hasFPExtension());
23517
0
  case 4: return (Subtarget->hasVectorEnhancements2());
23518
0
  case 5: return (!Subtarget->hasVectorEnhancements1());
23519
0
  case 6: return (Subtarget->hasDistinctOps());
23520
0
  case 7: return (Subtarget->hasMiscellaneousExtensions3());
23521
0
  case 8: return (Subtarget->hasMiscellaneousExtensions2());
23522
0
  case 9: return (Subtarget->hasInterlockedAccess1());
23523
0
  case 10: return (Subtarget->hasTransactionalExecution());
23524
0
  case 11: return (Subtarget->hasLoadStoreOnCond2());
23525
0
  case 12: return (Subtarget->isTargetXPLINK64());
23526
0
  case 13: return (Subtarget->hasNNPAssist()) && (Subtarget->hasVector());
23527
0
  case 14: return (Subtarget->isTargetELF());
23528
0
  case 15: return (Subtarget->hasLoadStoreOnCond());
23529
0
  case 16: return (Subtarget->hasVectorPackedDecimal());
23530
0
  case 17: return (Subtarget->hasLoadAndZeroRightmostByte());
23531
0
  case 18: return (!Subtarget->hasLoadStoreOnCond());
23532
0
  case 19: return (Subtarget->hasDistinctOps()) && (Subtarget->hasHighWord());
23533
0
  case 20: return (Subtarget->hasProcessorAssist());
23534
0
  case 21: return (Subtarget->hasPopulationCount());
23535
0
  }
23536
0
}
23537
#endif // GET_DAGISEL_BODY
23538
23539
#ifdef GET_DAGISEL_DECL
23540
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
23541
#endif
23542
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23543
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
23544
#if DAGISEL_INLINE
23545
  override
23546
#endif
23547
0
{
23548
0
  switch (PredNo) {
23549
0
  default: llvm_unreachable("Invalid predicate in table?");
23550
0
  case 0: {
23551
    // Predicate_unindexedload
23552
0
    SDNode *N = Node;
23553
0
    (void)N;
23554
0
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
23555
0
return true;
23556
23557
0
  }
23558
0
  case 1: {
23559
    // Predicate_unindexedstore
23560
0
    SDNode *N = Node;
23561
0
    (void)N;
23562
0
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
23563
0
return true;
23564
23565
0
  }
23566
0
  case 2: {
23567
    // Predicate_load
23568
0
    SDNode *N = Node;
23569
0
    (void)N;
23570
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
23571
0
return true;
23572
23573
0
  }
23574
0
  case 3: {
23575
    // Predicate_imm32zx4
23576
    // Predicate_imm32zx4_timm
23577
    // Predicate_imm32zx4even_timm
23578
0
    auto *N = cast<ConstantSDNode>(Node);
23579
0
    (void)N;
23580
23581
0
  return N->getAPIntValue().isIntN(4);
23582
23583
0
  }
23584
0
  case 4: {
23585
    // Predicate_anyextload
23586
0
    SDNode *N = Node;
23587
0
    (void)N;
23588
23589
0
  return cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD;
23590
23591
0
  }
23592
0
  case 5: {
23593
    // Predicate_anyextloadi16
23594
    // Predicate_asextloadi16
23595
    // Predicate_azextloadi16
23596
0
    SDNode *N = Node;
23597
0
    (void)N;
23598
23599
0
  return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i16;
23600
23601
0
  }
23602
0
  case 6: {
23603
    // Predicate_anyextloadi8
23604
    // Predicate_asextloadi8
23605
    // Predicate_azextloadi8
23606
0
    SDNode *N = Node;
23607
0
    (void)N;
23608
23609
0
  return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i8;
23610
23611
0
  }
23612
0
  case 7: {
23613
    // Predicate_block_and2
23614
    // Predicate_block_or2
23615
    // Predicate_block_xor2
23616
0
    SDNode *N = Node;
23617
0
    (void)N;
23618
0
 return storeLoadCanUseBlockBinary(N, 1); 
23619
0
  }
23620
0
  case 8: {
23621
    // Predicate_block_and1
23622
    // Predicate_block_or1
23623
    // Predicate_block_xor1
23624
0
    SDNode *N = Node;
23625
0
    (void)N;
23626
0
 return storeLoadCanUseBlockBinary(N, 0); 
23627
0
  }
23628
0
  case 9: {
23629
    // Predicate_anyextloadi32
23630
    // Predicate_asextloadi32
23631
    // Predicate_azextloadi32
23632
0
    SDNode *N = Node;
23633
0
    (void)N;
23634
23635
0
  return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i32;
23636
23637
0
  }
23638
0
  case 10: {
23639
    // Predicate_store
23640
0
    SDNode *N = Node;
23641
0
    (void)N;
23642
0
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23643
0
return true;
23644
23645
0
  }
23646
0
  case 11: {
23647
    // Predicate_truncstore
23648
0
    SDNode *N = Node;
23649
0
    (void)N;
23650
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23651
0
return true;
23652
23653
0
  }
23654
0
  case 12: {
23655
    // Predicate_azextload
23656
0
    SDNode *N = Node;
23657
0
    (void)N;
23658
23659
0
  unsigned Type = cast<LoadSDNode>(N)->getExtensionType();
23660
0
  return Type == ISD::EXTLOAD || Type == ISD::ZEXTLOAD;
23661
23662
0
  }
23663
0
  case 13: {
23664
    // Predicate_imm32sx16
23665
    // Predicate_imm64sx16
23666
0
    auto *N = cast<ConstantSDNode>(Node);
23667
0
    (void)N;
23668
23669
0
  return N->getAPIntValue().isSignedIntN(16);
23670
23671
0
  }
23672
0
  case 14: {
23673
    // Predicate_asextload
23674
0
    SDNode *N = Node;
23675
0
    (void)N;
23676
23677
0
  unsigned Type = cast<LoadSDNode>(N)->getExtensionType();
23678
0
  return Type == ISD::EXTLOAD || Type == ISD::SEXTLOAD;
23679
23680
0
  }
23681
0
  case 15: {
23682
    // Predicate_z_scmp
23683
0
    SDNode *N = Node;
23684
0
    (void)N;
23685
23686
0
  unsigned Type = N->getConstantOperandVal(2);
23687
0
  return Type != SystemZICMP::UnsignedOnly;
23688
23689
0
  }
23690
0
  case 16: {
23691
    // Predicate_aligned_asextloadi16
23692
    // Predicate_aligned_asextloadi32
23693
    // Predicate_aligned_azextloadi16
23694
    // Predicate_aligned_azextloadi32
23695
    // Predicate_aligned_load
23696
    // Predicate_aligned_store
23697
    // Predicate_aligned_truncstorei16
23698
    // Predicate_aligned_truncstorei32
23699
0
    SDNode *N = Node;
23700
0
    (void)N;
23701
0
 return storeLoadIsAligned(N); 
23702
0
  }
23703
0
  case 17: {
23704
    // Predicate_z_ucmp
23705
0
    SDNode *N = Node;
23706
0
    (void)N;
23707
23708
0
  unsigned Type = N->getConstantOperandVal(2);
23709
0
  return Type != SystemZICMP::SignedOnly;
23710
23711
0
  }
23712
0
  case 18: {
23713
    // Predicate_imm32bottom7set
23714
0
    auto *N = cast<ConstantSDNode>(Node);
23715
0
    (void)N;
23716
23717
0
  return (N->getZExtValue() & 0x7f) == 0x7f;
23718
23719
0
  }
23720
0
  case 19: {
23721
    // Predicate_truncstorei8
23722
0
    SDNode *N = Node;
23723
0
    (void)N;
23724
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
23725
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23726
0
return true;
23727
23728
0
  }
23729
0
  case 20: {
23730
    // Predicate_nonvolatile_truncstorei16
23731
    // Predicate_nonvolatile_truncstorei32
23732
    // Predicate_nonvolatile_truncstorei8
23733
0
    SDNode *N = Node;
23734
0
    (void)N;
23735
23736
0
  auto *Store = cast<StoreSDNode>(N);
23737
0
  return !Store->isVolatile();
23738
23739
0
  }
23740
0
  case 21: {
23741
    // Predicate_nonvolatile_anyextloadi16
23742
    // Predicate_nonvolatile_anyextloadi32
23743
    // Predicate_nonvolatile_anyextloadi8
23744
0
    SDNode *N = Node;
23745
0
    (void)N;
23746
23747
0
  auto *Load = cast<LoadSDNode>(N);
23748
0
  return !Load->isVolatile();
23749
23750
0
  }
23751
0
  case 22: {
23752
    // Predicate_truncstorei16
23753
0
    SDNode *N = Node;
23754
0
    (void)N;
23755
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
23756
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23757
0
return true;
23758
23759
0
  }
23760
0
  case 23: {
23761
    // Predicate_imm32zx8
23762
    // Predicate_imm32zx8_timm
23763
0
    auto *N = cast<ConstantSDNode>(Node);
23764
0
    (void)N;
23765
23766
0
  return N->getAPIntValue().isIntN(8);
23767
23768
0
  }
23769
0
  case 24: {
23770
    // Predicate_extload
23771
0
    SDNode *N = Node;
23772
0
    (void)N;
23773
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
23774
0
return true;
23775
23776
0
  }
23777
0
  case 25: {
23778
    // Predicate_simple_load
23779
0
    SDNode *N = Node;
23780
0
    (void)N;
23781
23782
0
  return cast<LoadSDNode>(N)->isSimple();
23783
23784
0
  }
23785
0
  case 26: {
23786
    // Predicate_mvc_store
23787
0
    SDNode *N = Node;
23788
0
    (void)N;
23789
0
 return storeLoadCanUseMVC(N); 
23790
0
  }
23791
0
  case 27: {
23792
    // Predicate_imm32lh16
23793
0
    auto *N = cast<ConstantSDNode>(Node);
23794
0
    (void)N;
23795
23796
0
  return N->getAPIntValue().isIntN(32) && SystemZ::isImmLH(N->getZExtValue());
23797
23798
0
  }
23799
0
  case 28: {
23800
    // Predicate_cond4
23801
0
    auto *N = cast<ConstantSDNode>(Node);
23802
0
    (void)N;
23803
0
 return (N->getZExtValue() < 16); 
23804
0
  }
23805
0
  case 29: {
23806
    // Predicate_imm32sx16n
23807
    // Predicate_imm64sx16n
23808
0
    auto *N = cast<ConstantSDNode>(Node);
23809
0
    (void)N;
23810
23811
0
  return (-N->getAPIntValue()).isSignedIntN(16);
23812
23813
0
  }
23814
0
  case 30: {
23815
    // Predicate_simple_store
23816
0
    SDNode *N = Node;
23817
0
    (void)N;
23818
23819
0
  return cast<StoreSDNode>(N)->isSimple();
23820
23821
0
  }
23822
0
  case 31: {
23823
    // Predicate_imm32ll16
23824
0
    auto *N = cast<ConstantSDNode>(Node);
23825
0
    (void)N;
23826
23827
0
  return N->getAPIntValue().isIntN(32) && SystemZ::isImmLL(N->getZExtValue());
23828
23829
0
  }
23830
0
  case 32: {
23831
    // Predicate_imm32nobytes
23832
0
    auto *N = cast<ConstantSDNode>(Node);
23833
0
    (void)N;
23834
23835
0
  return (N->getZExtValue() & 0x78) == 0;
23836
23837
0
  }
23838
0
  case 33: {
23839
    // Predicate_imm32nobits
23840
0
    auto *N = cast<ConstantSDNode>(Node);
23841
0
    (void)N;
23842
23843
0
  return (N->getZExtValue() & 0x07) == 0;
23844
23845
0
  }
23846
0
  case 34: {
23847
    // Predicate_truncstorei32
23848
0
    SDNode *N = Node;
23849
0
    (void)N;
23850
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
23851
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23852
0
return true;
23853
23854
0
  }
23855
0
  case 35: {
23856
    // Predicate_imm32zx2
23857
0
    auto *N = cast<ConstantSDNode>(Node);
23858
0
    (void)N;
23859
23860
0
  return N->getAPIntValue().isIntN(2);
23861
23862
0
  }
23863
0
  case 36: {
23864
    // Predicate_or_as_revinserti8
23865
0
    SDNode *N = Node;
23866
0
    (void)N;
23867
23868
0
  unsigned BitWidth = N->getValueType(0).getScalarSizeInBits();
23869
0
  return CurDAG->MaskedValueIsZero(N->getOperand(1),
23870
0
                                   APInt::getLowBitsSet(BitWidth, 8));
23871
23872
0
  }
23873
0
  case 37: {
23874
    // Predicate_or_as_inserti8
23875
0
    SDNode *N = Node;
23876
0
    (void)N;
23877
23878
0
  unsigned BitWidth = N->getValueType(0).getScalarSizeInBits();
23879
0
  return CurDAG->MaskedValueIsZero(N->getOperand(0),
23880
0
                                   APInt::getLowBitsSet(BitWidth, 8));
23881
23882
0
  }
23883
0
  case 38: {
23884
    // Predicate_imm32zx1
23885
0
    auto *N = cast<ConstantSDNode>(Node);
23886
0
    (void)N;
23887
23888
0
  return N->getAPIntValue().isIntN(1);
23889
23890
0
  }
23891
0
  case 39: {
23892
    // Predicate_fpimmneg0
23893
0
    auto *N = cast<ConstantFPSDNode>(Node);
23894
0
    (void)N;
23895
0
 return N->isExactlyValue(-0.0); 
23896
0
  }
23897
0
  case 40: {
23898
    // Predicate_z_loadbswap64
23899
    // Predicate_z_storebswap64
23900
0
    SDNode *N = Node;
23901
0
    (void)N;
23902
23903
0
  return cast<MemIntrinsicSDNode>(N)->getMemoryVT() == MVT::i64;
23904
23905
0
  }
23906
0
  case 41: {
23907
    // Predicate_extloadf32
23908
0
    SDNode *N = Node;
23909
0
    (void)N;
23910
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::f32) return false;
23911
0
return true;
23912
23913
0
  }
23914
0
  case 42: {
23915
    // Predicate_extloadf64
23916
0
    SDNode *N = Node;
23917
0
    (void)N;
23918
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::f64) return false;
23919
0
return true;
23920
23921
0
  }
23922
0
  case 43: {
23923
    // Predicate_atomic_load_add_32
23924
    // Predicate_atomic_load_and_32
23925
    // Predicate_atomic_load_or_32
23926
    // Predicate_atomic_load_xor_32
23927
    // Predicate_extloadi32
23928
    // Predicate_sextloadi32
23929
    // Predicate_zextloadi32
23930
0
    SDNode *N = Node;
23931
0
    (void)N;
23932
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
23933
0
return true;
23934
23935
0
  }
23936
0
  case 44: {
23937
    // Predicate_fpimm0
23938
0
    auto *N = cast<ConstantFPSDNode>(Node);
23939
0
    (void)N;
23940
0
 return N->isExactlyValue(+0.0); 
23941
0
  }
23942
0
  case 45: {
23943
    // Predicate_atomic_load_add_64
23944
    // Predicate_atomic_load_and_64
23945
    // Predicate_atomic_load_or_64
23946
    // Predicate_atomic_load_xor_64
23947
    // Predicate_extloadi64
23948
    // Predicate_sextloadi64
23949
    // Predicate_zextloadi64
23950
0
    SDNode *N = Node;
23951
0
    (void)N;
23952
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
23953
0
return true;
23954
23955
0
  }
23956
0
  case 46: {
23957
    // Predicate_imm32zx16
23958
    // Predicate_imm32zx16_timm
23959
    // Predicate_imm64zx16
23960
0
    auto *N = cast<ConstantSDNode>(Node);
23961
0
    (void)N;
23962
23963
0
  return N->getAPIntValue().isIntN(16);
23964
23965
0
  }
23966
0
  case 47: {
23967
    // Predicate_z_loadbswap32
23968
    // Predicate_z_storebswap32
23969
0
    SDNode *N = Node;
23970
0
    (void)N;
23971
23972
0
  return cast<MemIntrinsicSDNode>(N)->getMemoryVT() == MVT::i32;
23973
23974
0
  }
23975
0
  case 48: {
23976
    // Predicate_z_loadbswap16
23977
    // Predicate_z_storebswap16
23978
0
    SDNode *N = Node;
23979
0
    (void)N;
23980
23981
0
  return cast<MemIntrinsicSDNode>(N)->getMemoryVT() == MVT::i16;
23982
23983
0
  }
23984
0
  case 49: {
23985
    // Predicate_imm32lh16c
23986
0
    auto *N = cast<ConstantSDNode>(Node);
23987
0
    (void)N;
23988
23989
0
  return N->getAPIntValue().isIntN(32) &&
23990
0
         SystemZ::isImmLH(uint32_t(~N->getZExtValue()));
23991
23992
0
  }
23993
0
  case 50: {
23994
    // Predicate_imm64hf32
23995
0
    auto *N = cast<ConstantSDNode>(Node);
23996
0
    (void)N;
23997
23998
0
  return N->getAPIntValue().isIntN(64) && SystemZ::isImmHF(N->getZExtValue());
23999
24000
0
  }
24001
0
  case 51: {
24002
    // Predicate_imm32zx3
24003
0
    auto *N = cast<ConstantSDNode>(Node);
24004
0
    (void)N;
24005
24006
0
  return N->getAPIntValue().isIntN(3);
24007
24008
0
  }
24009
0
  case 52: {
24010
    // Predicate_imm64zx32
24011
0
    auto *N = cast<ConstantSDNode>(Node);
24012
0
    (void)N;
24013
24014
0
  return N->getAPIntValue().isIntN(32);
24015
24016
0
  }
24017
0
  case 53: {
24018
    // Predicate_imm64sx32
24019
0
    auto *N = cast<ConstantSDNode>(Node);
24020
0
    (void)N;
24021
24022
0
  return N->getAPIntValue().isSignedIntN(32);
24023
24024
0
  }
24025
0
  case 54: {
24026
    // Predicate_imm64ll16
24027
0
    auto *N = cast<ConstantSDNode>(Node);
24028
0
    (void)N;
24029
24030
0
  return N->getAPIntValue().isIntN(64) && SystemZ::isImmLL(N->getZExtValue());
24031
24032
0
  }
24033
0
  case 55: {
24034
    // Predicate_simm32n
24035
0
    auto *N = cast<ConstantSDNode>(Node);
24036
0
    (void)N;
24037
24038
0
  auto SImm = N->getAPIntValue().trySExtValue();
24039
0
  return SImm.has_value() && isInt<32>(-*SImm);
24040
24041
0
  }
24042
0
  case 56: {
24043
    // Predicate_imm64hl16
24044
0
    auto *N = cast<ConstantSDNode>(Node);
24045
0
    (void)N;
24046
24047
0
  return N->getAPIntValue().isIntN(64) && SystemZ::isImmHL(N->getZExtValue());
24048
24049
0
  }
24050
0
  case 57: {
24051
    // Predicate_imm32bottom6set
24052
0
    auto *N = cast<ConstantSDNode>(Node);
24053
0
    (void)N;
24054
24055
0
  return (N->getZExtValue() & 0x3f) == 0x3f;
24056
24057
0
  }
24058
0
  case 58: {
24059
    // Predicate_imm32mod64
24060
0
    auto *N = cast<ConstantSDNode>(Node);
24061
0
    (void)N;
24062
24063
0
  return (N->getZExtValue() % 64 == 0);
24064
24065
0
  }
24066
0
  case 59: {
24067
    // Predicate_imm64lf32
24068
0
    auto *N = cast<ConstantSDNode>(Node);
24069
0
    (void)N;
24070
24071
0
  return N->getAPIntValue().isIntN(64) && SystemZ::isImmLF(N->getZExtValue());
24072
24073
0
  }
24074
0
  case 60: {
24075
    // Predicate_imm64lh16
24076
0
    auto *N = cast<ConstantSDNode>(Node);
24077
0
    (void)N;
24078
24079
0
  return N->getAPIntValue().isIntN(64) && SystemZ::isImmLH(N->getZExtValue());
24080
24081
0
  }
24082
0
  case 61: {
24083
    // Predicate_imm64hh16
24084
0
    auto *N = cast<ConstantSDNode>(Node);
24085
0
    (void)N;
24086
24087
0
  return N->getAPIntValue().isIntN(64) && SystemZ::isImmHH(N->getZExtValue());
24088
24089
0
  }
24090
0
  case 62: {
24091
    // Predicate_extloadi16
24092
    // Predicate_sextloadi16
24093
    // Predicate_zextloadi16
24094
0
    SDNode *N = Node;
24095
0
    (void)N;
24096
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
24097
0
return true;
24098
24099
0
  }
24100
0
  case 63: {
24101
    // Predicate_imm32ll16c
24102
0
    auto *N = cast<ConstantSDNode>(Node);
24103
0
    (void)N;
24104
24105
0
  return N->getAPIntValue().isIntN(32) &&
24106
0
         SystemZ::isImmLL(uint32_t(~N->getZExtValue()));
24107
24108
0
  }
24109
0
  case 64: {
24110
    // Predicate_extloadi8
24111
    // Predicate_sextloadi8
24112
    // Predicate_zextloadi8
24113
0
    SDNode *N = Node;
24114
0
    (void)N;
24115
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
24116
0
return true;
24117
24118
0
  }
24119
0
  case 65: {
24120
    // Predicate_imm64sx32n
24121
0
    auto *N = cast<ConstantSDNode>(Node);
24122
0
    (void)N;
24123
24124
0
  return (-N->getAPIntValue()).isSignedIntN(32);
24125
24126
0
  }
24127
0
  case 66: {
24128
    // Predicate_imm32sx8
24129
    // Predicate_imm64sx8
24130
0
    auto *N = cast<ConstantSDNode>(Node);
24131
0
    (void)N;
24132
24133
0
  return N->getAPIntValue().isSignedIntN(8);
24134
24135
0
  }
24136
0
  case 67: {
24137
    // Predicate_truncstorei64
24138
0
    SDNode *N = Node;
24139
0
    (void)N;
24140
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
24141
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
24142
0
return true;
24143
24144
0
  }
24145
0
  case 68: {
24146
    // Predicate_imm32zx12_timm
24147
0
    auto *N = cast<ConstantSDNode>(Node);
24148
0
    (void)N;
24149
24150
0
  return N->getAPIntValue().isIntN(12);
24151
24152
0
  }
24153
0
  case 69: {
24154
    // Predicate_imm64lh16c
24155
0
    auto *N = cast<ConstantSDNode>(Node);
24156
0
    (void)N;
24157
24158
0
  return N->getAPIntValue().isIntN(64) &&
24159
0
         SystemZ::isImmLH(uint64_t(~N->getZExtValue()));
24160
24161
0
  }
24162
0
  case 70: {
24163
    // Predicate_imm64lh16n
24164
0
    auto *N = cast<ConstantSDNode>(Node);
24165
0
    (void)N;
24166
24167
0
  return N->getAPIntValue().isIntN(64) &&
24168
0
         SystemZ::isImmLH(uint64_t(-N->getZExtValue()));
24169
24170
0
  }
24171
0
  case 71: {
24172
    // Predicate_imm64hl16c
24173
0
    auto *N = cast<ConstantSDNode>(Node);
24174
0
    (void)N;
24175
24176
0
  return N->getAPIntValue().isIntN(64) &&
24177
0
         SystemZ::isImmHL(uint64_t(~N->getZExtValue()));
24178
24179
0
  }
24180
0
  case 72: {
24181
    // Predicate_imm64zx32n
24182
0
    auto *N = cast<ConstantSDNode>(Node);
24183
0
    (void)N;
24184
24185
0
  return (-N->getAPIntValue()).isIntN(32);
24186
24187
0
  }
24188
0
  case 73: {
24189
    // Predicate_imm64lf32c
24190
0
    auto *N = cast<ConstantSDNode>(Node);
24191
0
    (void)N;
24192
24193
0
  return N->getAPIntValue().isIntN(64) &&
24194
0
         SystemZ::isImmLF(uint64_t(~N->getZExtValue()));
24195
24196
0
  }
24197
0
  case 74: {
24198
    // Predicate_imm64hh16c
24199
0
    auto *N = cast<ConstantSDNode>(Node);
24200
0
    (void)N;
24201
24202
0
  return N->getAPIntValue().isIntN(64) &&
24203
0
         SystemZ::isImmHH(uint64_t(~N->getZExtValue()));
24204
24205
0
  }
24206
0
  case 75: {
24207
    // Predicate_imm64hf32c
24208
0
    auto *N = cast<ConstantSDNode>(Node);
24209
0
    (void)N;
24210
24211
0
  return N->getAPIntValue().isIntN(64) &&
24212
0
         SystemZ::isImmHF(uint64_t(~N->getZExtValue()));
24213
24214
0
  }
24215
0
  case 76: {
24216
    // Predicate_sextload
24217
0
    SDNode *N = Node;
24218
0
    (void)N;
24219
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
24220
0
return true;
24221
24222
0
  }
24223
0
  case 77: {
24224
    // Predicate_imm64lf32n
24225
0
    auto *N = cast<ConstantSDNode>(Node);
24226
0
    (void)N;
24227
24228
0
  return N->getAPIntValue().isIntN(64) &&
24229
0
         SystemZ::isImmLF(uint64_t(-N->getZExtValue()));
24230
24231
0
  }
24232
0
  case 78: {
24233
    // Predicate_zextload
24234
0
    SDNode *N = Node;
24235
0
    (void)N;
24236
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
24237
0
return true;
24238
24239
0
  }
24240
0
  case 79: {
24241
    // Predicate_imm64ll16c
24242
0
    auto *N = cast<ConstantSDNode>(Node);
24243
0
    (void)N;
24244
24245
0
  return N->getAPIntValue().isIntN(64) &&
24246
0
         SystemZ::isImmLL(uint64_t(~N->getZExtValue()));
24247
24248
0
  }
24249
0
  }
24250
0
}
24251
#endif // GET_DAGISEL_BODY
24252
24253
#ifdef GET_DAGISEL_DECL
24254
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
24255
      SDValue N, unsigned PatternNo,
24256
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
24257
#endif
24258
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
24259
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
24260
      SDValue N, unsigned PatternNo,
24261
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
24262
#if DAGISEL_INLINE
24263
  override
24264
#endif
24265
0
{
24266
0
  unsigned NextRes = Result.size();
24267
0
  switch (PatternNo) {
24268
0
  default: llvm_unreachable("Invalid pattern # in table?");
24269
0
  case 0:
24270
0
    Result.resize(NextRes+2);
24271
0
  return selectBDAddr12Only(N, Result[NextRes+0].first, Result[NextRes+1].first);
24272
0
  case 1:
24273
0
    Result.resize(NextRes+3);
24274
0
  return selectBDXAddr12Only(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
24275
0
  case 2:
24276
0
    Result.resize(NextRes+3);
24277
0
  return selectBDXAddr20Only(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
24278
0
  case 3:
24279
0
    Result.resize(NextRes+3);
24280
0
  return selectBDXAddr12Pair(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
24281
0
  case 4:
24282
0
    Result.resize(NextRes+3);
24283
0
  return selectBDXAddr20Pair(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
24284
0
  case 5:
24285
0
    Result.resize(NextRes+2);
24286
0
  return selectBDAddr20Only(N, Result[NextRes+0].first, Result[NextRes+1].first);
24287
0
  case 6:
24288
0
    Result.resize(NextRes+2);
24289
0
  return selectBDAddr12Only(N, Result[NextRes+0].first, Result[NextRes+1].first);
24290
0
  case 7:
24291
0
    Result.resize(NextRes+1);
24292
0
  return selectPCRelAddress(N, Result[NextRes+0].first);
24293
0
  case 8:
24294
0
    Result.resize(NextRes+2);
24295
0
  return selectBDAddr20Only(N, Result[NextRes+0].first, Result[NextRes+1].first);
24296
0
  case 9:
24297
0
    Result.resize(NextRes+2);
24298
0
  return selectBDAddr12Pair(N, Result[NextRes+0].first, Result[NextRes+1].first);
24299
0
  case 10:
24300
0
    Result.resize(NextRes+2);
24301
0
  return selectBDAddr20Pair(N, Result[NextRes+0].first, Result[NextRes+1].first);
24302
0
  case 11:
24303
0
    Result.resize(NextRes+3);
24304
0
  return selectDynAlloc12Only(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
24305
0
  case 12:
24306
0
    Result.resize(NextRes+3);
24307
0
  return selectLAAddr12Pair(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
24308
0
  case 13:
24309
0
    Result.resize(NextRes+3);
24310
0
  return selectLAAddr20Pair(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
24311
0
  case 14:
24312
0
    Result.resize(NextRes+2);
24313
0
  return selectMVIAddr12Pair(N, Result[NextRes+0].first, Result[NextRes+1].first);
24314
0
  case 15:
24315
0
    Result.resize(NextRes+3);
24316
0
  return selectBDXAddr20Only128(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
24317
0
  case 16:
24318
0
    Result.resize(NextRes+2);
24319
0
  return selectMVIAddr20Pair(N, Result[NextRes+0].first, Result[NextRes+1].first);
24320
0
  }
24321
0
}
24322
#endif // GET_DAGISEL_BODY
24323
24324
#ifdef GET_DAGISEL_DECL
24325
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
24326
#endif
24327
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
24328
SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
24329
#if DAGISEL_INLINE
24330
  override
24331
#endif
24332
0
{
24333
0
  switch (XFormNo) {
24334
0
  default: llvm_unreachable("Invalid xform # in table?");
24335
0
  case 0: {  
24336
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24337
24338
0
  return CurDAG->getTargetConstant(uint8_t(N->getZExtValue()), SDLoc(N),
24339
0
                                   MVT::i64);
24340
24341
0
  }
24342
0
  case 1: {  
24343
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24344
24345
0
  return CurDAG->getTargetConstant(int8_t(N->getZExtValue()), SDLoc(N),
24346
0
                                   MVT::i64);
24347
24348
0
  }
24349
0
  case 2: {  
24350
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24351
24352
0
  return CurDAG->getTargetConstant(int16_t(N->getZExtValue()), SDLoc(N),
24353
0
                                   MVT::i64);
24354
24355
0
  }
24356
0
  case 3: {  
24357
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24358
24359
0
  uint64_t Value = N->getZExtValue() & 0x000000000000FFFFULL;
24360
0
  return CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i64);
24361
24362
0
  }
24363
0
  case 4: {  
24364
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24365
24366
0
  uint64_t Value = (N->getZExtValue() & 0x00000000FFFF0000ULL) >> 16;
24367
0
  return CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i64);
24368
24369
0
  }
24370
0
  case 5: {  
24371
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24372
24373
0
  uint64_t Value = (N->getZExtValue() & 0x0000FFFF00000000ULL) >> 32;
24374
0
  return CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i64);
24375
24376
0
  }
24377
0
  case 6: {  
24378
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24379
24380
0
  uint64_t Value = (N->getZExtValue() & 0xFFFF000000000000ULL) >> 48;
24381
0
  return CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i64);
24382
24383
0
  }
24384
0
  case 7: {  
24385
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24386
24387
0
  uint64_t Value = N->getZExtValue() & 0x00000000FFFFFFFFULL;
24388
0
  return CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i64);
24389
24390
0
  }
24391
0
  case 8: {  
24392
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24393
24394
0
  uint64_t Value = N->getZExtValue() >> 32;
24395
0
  return CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i64);
24396
24397
0
  }
24398
0
  case 9: {  
24399
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24400
24401
0
  return CurDAG->getTargetConstant(uint32_t(N->getZExtValue()), SDLoc(N),
24402
0
                                   MVT::i64);
24403
24404
0
  }
24405
0
  case 10: {  
24406
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24407
24408
0
  return CurDAG->getTargetConstant(uint16_t(N->getZExtValue()), SDLoc(N),
24409
0
                                   MVT::i64);
24410
24411
0
  }
24412
0
  case 11: {  
24413
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24414
24415
0
  return CurDAG->getTargetConstant(int32_t(N->getZExtValue()), SDLoc(N),
24416
0
                                   MVT::i64);
24417
24418
0
  }
24419
0
  case 12: {  
24420
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24421
24422
0
  return CurDAG->getTargetConstant(N->getZExtValue() & 0xfe, SDLoc(N),
24423
0
                                   MVT::i64);
24424
24425
0
  }
24426
0
  case 13: {  
24427
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24428
24429
0
  uint64_t Value = (-N->getZExtValue() & 0x00000000FFFF0000ULL) >> 16;
24430
0
  return CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i64);
24431
24432
0
  }
24433
0
  case 14: {  
24434
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24435
24436
0
  uint64_t Value = -N->getZExtValue() & 0x00000000FFFFFFFFULL;
24437
0
  return CurDAG->getTargetConstant(Value, SDLoc(N), MVT::i64);
24438
24439
0
  }
24440
0
  case 15: {  
24441
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24442
24443
0
  return CurDAG->getTargetConstant(uint32_t(-N->getZExtValue()), SDLoc(N),
24444
0
                                   MVT::i64);
24445
24446
0
  }
24447
0
  case 16: {  
24448
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24449
24450
0
  return CurDAG->getTargetConstant(int16_t(-N->getZExtValue()), SDLoc(N),
24451
0
                                   MVT::i64);
24452
24453
0
  }
24454
0
  case 17: {  
24455
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24456
24457
0
  return CurDAG->getTargetConstant(int32_t(-N->getZExtValue()), SDLoc(N),
24458
0
                                   MVT::i64);
24459
24460
0
  }
24461
0
  case 18: {  
24462
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
24463
24464
0
  return CurDAG->getTargetConstant(N->getZExtValue() & 0xfff, SDLoc(N),
24465
0
                                   MVT::i64);
24466
24467
0
  }
24468
0
  }
24469
0
}
24470
#endif // GET_DAGISEL_BODY
24471
24472
24473
#ifdef DAGISEL_INLINE
24474
#undef DAGISEL_INLINE
24475
#endif
24476
#ifdef DAGISEL_CLASS_COLONCOLON
24477
#undef DAGISEL_CLASS_COLONCOLON
24478
#endif
24479
#ifdef GET_DAGISEL_DECL
24480
#undef GET_DAGISEL_DECL
24481
#endif
24482
#ifdef GET_DAGISEL_BODY
24483
#undef GET_DAGISEL_BODY
24484
#endif