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
29static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
30 "GET_DAGISEL_BODY is empty: it should be defined with the class name");
31#undef LOCAL_DAGISEL_STRINGIZE_
32#undef LOCAL_DAGISEL_STRINGIZE
33#endif
34
35#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
36#define DAGISEL_INLINE 1
37#else
38#define DAGISEL_INLINE 0
39#endif
40
41#if !DAGISEL_INLINE
42#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
43#else
44#define DAGISEL_CLASS_COLONCOLON
45#endif
46
47#ifdef GET_DAGISEL_DECL
48void SelectCode(SDNode *N);
49#endif
50#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52{
53 // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 // this.
55 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56 static const unsigned char MatcherTable[] = {
57 OPC_SwitchOpcode , 117|128,60, TARGET_VAL(ISD::STORE),
58 OPC_RecordMemRef,
59 OPC_RecordNode,
60 OPC_Scope, 1|128,53,
61 OPC_MoveChild1,
62 OPC_SwitchOpcode , 108|128,11, TARGET_VAL(SystemZISD::SELECT_CCMASK),
63 OPC_Scope, 61,
64 OPC_RecordChild0,
65 OPC_MoveChild1,
66 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
67 OPC_RecordMemRef,
68 OPC_RecordNode,
69 OPC_CheckFoldableChainNode,
70 OPC_RecordChild1,
71 OPC_CheckChild1TypeI64,
72 OPC_CheckPredicate0,
73 OPC_CheckPredicate5,
74 OPC_CheckPredicate, 17,
75 OPC_CheckPredicate, 28,
76 OPC_MoveSibling2,
77 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
78 OPC_RecordNode,
79 OPC_CheckPredicate4,
80 OPC_MoveSibling3,
81 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
82 OPC_RecordNode,
83 OPC_CheckPredicate4,
84 OPC_MoveParent,
85 OPC_RecordChild4,
86 OPC_CheckTypeI32,
87 OPC_MoveParent,
88 OPC_CheckChild2Same, 3,
89 OPC_CheckPredicate2,
90 OPC_CheckPredicate, 13,
91 OPC_CheckPredicate, 21,
92 OPC_CheckPredicate, 29,
93 OPC_CheckPatternPredicate2,
94 OPC_CheckComplexPat2, /*#*/3,
95 OPC_EmitMergeInputChains, 2, 0, 2,
96 OPC_EmitCopyToReg6, SystemZ::CC,
97 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8Mux), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
98 6, 1, 7, 8, 9, 4, 5,
99 62,
100 OPC_MoveChild0,
101 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
102 OPC_RecordMemRef,
103 OPC_RecordNode,
104 OPC_CheckFoldableChainNode,
105 OPC_RecordChild1,
106 OPC_CheckChild1TypeI64,
107 OPC_CheckPredicate0,
108 OPC_CheckPredicate5,
109 OPC_CheckPredicate, 17,
110 OPC_CheckPredicate, 28,
111 OPC_MoveParent,
112 OPC_RecordChild1,
113 OPC_RecordChild2,
114 OPC_MoveChild2,
115 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
116 OPC_CheckPredicate4,
117 OPC_MoveSibling3,
118 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
119 OPC_RecordNode,
120 OPC_CheckPredicate4,
121 OPC_MoveParent,
122 OPC_RecordChild4,
123 OPC_CheckTypeI32,
124 OPC_MoveParent,
125 OPC_CheckChild2Same, 2,
126 OPC_CheckPredicate2,
127 OPC_CheckPredicate, 13,
128 OPC_CheckPredicate, 21,
129 OPC_CheckPredicate, 29,
130 OPC_CheckPatternPredicate2,
131 OPC_CheckComplexPat2, /*#*/2,
132 OPC_EmitMergeInputChains, 2, 0, 1,
133 OPC_EmitCopyToReg6, SystemZ::CC,
134 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8MuxInv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
135 6, 3, 7, 8, 9, 4, 5,
136 61,
137 OPC_RecordChild0,
138 OPC_MoveChild1,
139 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
140 OPC_RecordMemRef,
141 OPC_RecordNode,
142 OPC_CheckFoldableChainNode,
143 OPC_RecordChild1,
144 OPC_CheckChild1TypeI64,
145 OPC_CheckPredicate0,
146 OPC_CheckPredicate5,
147 OPC_CheckPredicate, 18,
148 OPC_CheckPredicate, 28,
149 OPC_MoveSibling2,
150 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
151 OPC_RecordNode,
152 OPC_CheckPredicate4,
153 OPC_MoveSibling3,
154 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
155 OPC_RecordNode,
156 OPC_CheckPredicate4,
157 OPC_MoveParent,
158 OPC_RecordChild4,
159 OPC_CheckTypeI32,
160 OPC_MoveParent,
161 OPC_CheckChild2Same, 3,
162 OPC_CheckPredicate2,
163 OPC_CheckPredicate, 13,
164 OPC_CheckPredicate, 31,
165 OPC_CheckPredicate, 29,
166 OPC_CheckPatternPredicate2,
167 OPC_CheckComplexPat2, /*#*/3,
168 OPC_EmitMergeInputChains, 2, 0, 2,
169 OPC_EmitCopyToReg6, SystemZ::CC,
170 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16Mux), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
171 6, 1, 7, 8, 9, 4, 5,
172 62,
173 OPC_MoveChild0,
174 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
175 OPC_RecordMemRef,
176 OPC_RecordNode,
177 OPC_CheckFoldableChainNode,
178 OPC_RecordChild1,
179 OPC_CheckChild1TypeI64,
180 OPC_CheckPredicate0,
181 OPC_CheckPredicate5,
182 OPC_CheckPredicate, 18,
183 OPC_CheckPredicate, 28,
184 OPC_MoveParent,
185 OPC_RecordChild1,
186 OPC_RecordChild2,
187 OPC_MoveChild2,
188 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
189 OPC_CheckPredicate4,
190 OPC_MoveSibling3,
191 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
192 OPC_RecordNode,
193 OPC_CheckPredicate4,
194 OPC_MoveParent,
195 OPC_RecordChild4,
196 OPC_CheckTypeI32,
197 OPC_MoveParent,
198 OPC_CheckChild2Same, 2,
199 OPC_CheckPredicate2,
200 OPC_CheckPredicate, 13,
201 OPC_CheckPredicate, 31,
202 OPC_CheckPredicate, 29,
203 OPC_CheckPatternPredicate2,
204 OPC_CheckComplexPat2, /*#*/2,
205 OPC_EmitMergeInputChains, 2, 0, 1,
206 OPC_EmitCopyToReg6, SystemZ::CC,
207 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16MuxInv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
208 6, 3, 7, 8, 9, 4, 5,
209 58,
210 OPC_RecordChild0,
211 OPC_MoveChild1,
212 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
213 OPC_RecordMemRef,
214 OPC_RecordNode,
215 OPC_CheckFoldableChainNode,
216 OPC_RecordChild1,
217 OPC_CheckChild1TypeI64,
218 OPC_CheckPredicate0,
219 OPC_CheckPredicate3,
220 OPC_CheckPredicate, 33,
221 OPC_MoveSibling2,
222 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
223 OPC_RecordNode,
224 OPC_CheckPredicate4,
225 OPC_MoveSibling3,
226 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
227 OPC_RecordNode,
228 OPC_CheckPredicate4,
229 OPC_MoveParent,
230 OPC_RecordChild4,
231 OPC_CheckTypeI32,
232 OPC_MoveParent,
233 OPC_CheckChild2Same, 3,
234 OPC_CheckPredicate2,
235 OPC_CheckPredicate, 14,
236 OPC_CheckPredicate, 34,
237 OPC_CheckPatternPredicate, 11,
238 OPC_CheckComplexPat2, /*#*/3,
239 OPC_EmitMergeInputChains, 2, 0, 2,
240 OPC_EmitCopyToReg6, SystemZ::CC,
241 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32Mux), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
242 6, 1, 7, 8, 9, 4, 5,
243 59,
244 OPC_MoveChild0,
245 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
246 OPC_RecordMemRef,
247 OPC_RecordNode,
248 OPC_CheckFoldableChainNode,
249 OPC_RecordChild1,
250 OPC_CheckChild1TypeI64,
251 OPC_CheckPredicate0,
252 OPC_CheckPredicate3,
253 OPC_CheckPredicate, 33,
254 OPC_MoveParent,
255 OPC_RecordChild1,
256 OPC_RecordChild2,
257 OPC_MoveChild2,
258 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
259 OPC_CheckPredicate4,
260 OPC_MoveSibling3,
261 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
262 OPC_RecordNode,
263 OPC_CheckPredicate4,
264 OPC_MoveParent,
265 OPC_RecordChild4,
266 OPC_CheckTypeI32,
267 OPC_MoveParent,
268 OPC_CheckChild2Same, 2,
269 OPC_CheckPredicate2,
270 OPC_CheckPredicate, 14,
271 OPC_CheckPredicate, 34,
272 OPC_CheckPatternPredicate, 11,
273 OPC_CheckComplexPat2, /*#*/2,
274 OPC_EmitMergeInputChains, 2, 0, 1,
275 OPC_EmitCopyToReg6, SystemZ::CC,
276 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32MuxInv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
277 6, 3, 7, 8, 9, 4, 5,
278 60,
279 OPC_RecordChild0,
280 OPC_MoveChild1,
281 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
282 OPC_RecordMemRef,
283 OPC_RecordNode,
284 OPC_CheckFoldableChainNode,
285 OPC_RecordChild1,
286 OPC_CheckChild1TypeI64,
287 OPC_CheckPredicate0,
288 OPC_CheckPredicate5,
289 OPC_CheckPredicate, 17,
290 OPC_CheckPredicate, 28,
291 OPC_MoveSibling2,
292 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
293 OPC_RecordNode,
294 OPC_CheckPredicate4,
295 OPC_MoveSibling3,
296 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
297 OPC_RecordNode,
298 OPC_CheckPredicate4,
299 OPC_MoveParent,
300 OPC_RecordChild4,
301 OPC_CheckTypeI32,
302 OPC_MoveParent,
303 OPC_CheckChild2Same, 3,
304 OPC_CheckPredicate2,
305 OPC_CheckPredicate, 13,
306 OPC_CheckPredicate, 21,
307 OPC_CheckPredicate, 29,
308 OPC_CheckComplexPat2, /*#*/3,
309 OPC_EmitMergeInputChains, 2, 0, 2,
310 OPC_EmitCopyToReg6, SystemZ::CC,
311 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
312 6, 1, 7, 8, 9, 4, 5,
313 61,
314 OPC_MoveChild0,
315 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
316 OPC_RecordMemRef,
317 OPC_RecordNode,
318 OPC_CheckFoldableChainNode,
319 OPC_RecordChild1,
320 OPC_CheckChild1TypeI64,
321 OPC_CheckPredicate0,
322 OPC_CheckPredicate5,
323 OPC_CheckPredicate, 17,
324 OPC_CheckPredicate, 28,
325 OPC_MoveParent,
326 OPC_RecordChild1,
327 OPC_RecordChild2,
328 OPC_MoveChild2,
329 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
330 OPC_CheckPredicate4,
331 OPC_MoveSibling3,
332 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
333 OPC_RecordNode,
334 OPC_CheckPredicate4,
335 OPC_MoveParent,
336 OPC_RecordChild4,
337 OPC_CheckTypeI32,
338 OPC_MoveParent,
339 OPC_CheckChild2Same, 2,
340 OPC_CheckPredicate2,
341 OPC_CheckPredicate, 13,
342 OPC_CheckPredicate, 21,
343 OPC_CheckPredicate, 29,
344 OPC_CheckComplexPat2, /*#*/2,
345 OPC_EmitMergeInputChains, 2, 0, 1,
346 OPC_EmitCopyToReg6, SystemZ::CC,
347 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
348 6, 3, 7, 8, 9, 4, 5,
349 60,
350 OPC_RecordChild0,
351 OPC_MoveChild1,
352 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
353 OPC_RecordMemRef,
354 OPC_RecordNode,
355 OPC_CheckFoldableChainNode,
356 OPC_RecordChild1,
357 OPC_CheckChild1TypeI64,
358 OPC_CheckPredicate0,
359 OPC_CheckPredicate5,
360 OPC_CheckPredicate, 18,
361 OPC_CheckPredicate, 28,
362 OPC_MoveSibling2,
363 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
364 OPC_RecordNode,
365 OPC_CheckPredicate4,
366 OPC_MoveSibling3,
367 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
368 OPC_RecordNode,
369 OPC_CheckPredicate4,
370 OPC_MoveParent,
371 OPC_RecordChild4,
372 OPC_CheckTypeI32,
373 OPC_MoveParent,
374 OPC_CheckChild2Same, 3,
375 OPC_CheckPredicate2,
376 OPC_CheckPredicate, 13,
377 OPC_CheckPredicate, 31,
378 OPC_CheckPredicate, 29,
379 OPC_CheckComplexPat2, /*#*/3,
380 OPC_EmitMergeInputChains, 2, 0, 2,
381 OPC_EmitCopyToReg6, SystemZ::CC,
382 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
383 6, 1, 7, 8, 9, 4, 5,
384 61,
385 OPC_MoveChild0,
386 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
387 OPC_RecordMemRef,
388 OPC_RecordNode,
389 OPC_CheckFoldableChainNode,
390 OPC_RecordChild1,
391 OPC_CheckChild1TypeI64,
392 OPC_CheckPredicate0,
393 OPC_CheckPredicate5,
394 OPC_CheckPredicate, 18,
395 OPC_CheckPredicate, 28,
396 OPC_MoveParent,
397 OPC_RecordChild1,
398 OPC_RecordChild2,
399 OPC_MoveChild2,
400 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
401 OPC_CheckPredicate4,
402 OPC_MoveSibling3,
403 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
404 OPC_RecordNode,
405 OPC_CheckPredicate4,
406 OPC_MoveParent,
407 OPC_RecordChild4,
408 OPC_CheckTypeI32,
409 OPC_MoveParent,
410 OPC_CheckChild2Same, 2,
411 OPC_CheckPredicate2,
412 OPC_CheckPredicate, 13,
413 OPC_CheckPredicate, 31,
414 OPC_CheckPredicate, 29,
415 OPC_CheckComplexPat2, /*#*/2,
416 OPC_EmitMergeInputChains, 2, 0, 1,
417 OPC_EmitCopyToReg6, SystemZ::CC,
418 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
419 6, 3, 7, 8, 9, 4, 5,
420 56,
421 OPC_RecordChild0,
422 OPC_MoveChild1,
423 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
424 OPC_RecordMemRef,
425 OPC_RecordNode,
426 OPC_CheckFoldableChainNode,
427 OPC_RecordChild1,
428 OPC_CheckChild1TypeI64,
429 OPC_CheckPredicate0,
430 OPC_CheckPredicate3,
431 OPC_CheckPredicate, 33,
432 OPC_MoveSibling2,
433 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
434 OPC_RecordNode,
435 OPC_CheckPredicate4,
436 OPC_MoveSibling3,
437 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
438 OPC_RecordNode,
439 OPC_CheckPredicate4,
440 OPC_MoveParent,
441 OPC_RecordChild4,
442 OPC_CheckTypeI32,
443 OPC_MoveParent,
444 OPC_CheckChild2Same, 3,
445 OPC_CheckPredicate2,
446 OPC_CheckPredicate, 14,
447 OPC_CheckPredicate, 34,
448 OPC_CheckComplexPat2, /*#*/3,
449 OPC_EmitMergeInputChains, 2, 0, 2,
450 OPC_EmitCopyToReg6, SystemZ::CC,
451 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
452 6, 1, 7, 8, 9, 4, 5,
453 57,
454 OPC_MoveChild0,
455 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
456 OPC_RecordMemRef,
457 OPC_RecordNode,
458 OPC_CheckFoldableChainNode,
459 OPC_RecordChild1,
460 OPC_CheckChild1TypeI64,
461 OPC_CheckPredicate0,
462 OPC_CheckPredicate3,
463 OPC_CheckPredicate, 33,
464 OPC_MoveParent,
465 OPC_RecordChild1,
466 OPC_RecordChild2,
467 OPC_MoveChild2,
468 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
469 OPC_CheckPredicate4,
470 OPC_MoveSibling3,
471 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
472 OPC_RecordNode,
473 OPC_CheckPredicate4,
474 OPC_MoveParent,
475 OPC_RecordChild4,
476 OPC_CheckTypeI32,
477 OPC_MoveParent,
478 OPC_CheckChild2Same, 2,
479 OPC_CheckPredicate2,
480 OPC_CheckPredicate, 14,
481 OPC_CheckPredicate, 34,
482 OPC_CheckComplexPat2, /*#*/2,
483 OPC_EmitMergeInputChains, 2, 0, 1,
484 OPC_EmitCopyToReg6, SystemZ::CC,
485 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
486 6, 3, 7, 8, 9, 4, 5,
487 56,
488 OPC_RecordChild0,
489 OPC_MoveChild1,
490 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
491 OPC_RecordMemRef,
492 OPC_RecordNode,
493 OPC_CheckFoldableChainNode,
494 OPC_RecordChild1,
495 OPC_CheckChild1TypeI64,
496 OPC_CheckPredicate0,
497 OPC_CheckPredicate3,
498 OPC_CheckPredicate, 33,
499 OPC_MoveSibling2,
500 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
501 OPC_RecordNode,
502 OPC_CheckPredicate4,
503 OPC_MoveSibling3,
504 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
505 OPC_RecordNode,
506 OPC_CheckPredicate4,
507 OPC_MoveParent,
508 OPC_RecordChild4,
509 OPC_CheckTypeI64,
510 OPC_MoveParent,
511 OPC_CheckChild2Same, 3,
512 OPC_CheckPredicate2,
513 OPC_CheckPredicate, 14,
514 OPC_CheckPredicate, 34,
515 OPC_CheckComplexPat2, /*#*/3,
516 OPC_EmitMergeInputChains, 2, 0, 2,
517 OPC_EmitCopyToReg6, SystemZ::CC,
518 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
519 6, 1, 7, 8, 9, 4, 5,
520 57,
521 OPC_MoveChild0,
522 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
523 OPC_RecordMemRef,
524 OPC_RecordNode,
525 OPC_CheckFoldableChainNode,
526 OPC_RecordChild1,
527 OPC_CheckChild1TypeI64,
528 OPC_CheckPredicate0,
529 OPC_CheckPredicate3,
530 OPC_CheckPredicate, 33,
531 OPC_MoveParent,
532 OPC_RecordChild1,
533 OPC_RecordChild2,
534 OPC_MoveChild2,
535 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
536 OPC_CheckPredicate4,
537 OPC_MoveSibling3,
538 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
539 OPC_RecordNode,
540 OPC_CheckPredicate4,
541 OPC_MoveParent,
542 OPC_RecordChild4,
543 OPC_CheckTypeI64,
544 OPC_MoveParent,
545 OPC_CheckChild2Same, 2,
546 OPC_CheckPredicate2,
547 OPC_CheckPredicate, 14,
548 OPC_CheckPredicate, 34,
549 OPC_CheckComplexPat2, /*#*/2,
550 OPC_EmitMergeInputChains, 2, 0, 1,
551 OPC_EmitCopyToReg6, SystemZ::CC,
552 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore64Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
553 6, 3, 7, 8, 9, 4, 5,
554 57,
555 OPC_RecordChild0,
556 OPC_MoveChild1,
557 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
558 OPC_RecordMemRef,
559 OPC_RecordNode,
560 OPC_CheckFoldableChainNode,
561 OPC_RecordChild1,
562 OPC_CheckChild1TypeI64,
563 OPC_CheckPredicate0,
564 OPC_CheckPredicate3,
565 OPC_CheckPredicate, 33,
566 OPC_MoveSibling2,
567 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
568 OPC_RecordNode,
569 OPC_CheckPredicate4,
570 OPC_MoveSibling3,
571 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
572 OPC_RecordNode,
573 OPC_CheckPredicate4,
574 OPC_MoveParent,
575 OPC_RecordChild4,
576 OPC_CheckType, MVT::f32,
577 OPC_MoveParent,
578 OPC_CheckChild2Same, 3,
579 OPC_CheckPredicate2,
580 OPC_CheckPredicate, 14,
581 OPC_CheckPredicate, 34,
582 OPC_CheckComplexPat2, /*#*/3,
583 OPC_EmitMergeInputChains, 2, 0, 2,
584 OPC_EmitCopyToReg6, SystemZ::CC,
585 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStoreF32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
586 6, 1, 7, 8, 9, 4, 5,
587 58,
588 OPC_MoveChild0,
589 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
590 OPC_RecordMemRef,
591 OPC_RecordNode,
592 OPC_CheckFoldableChainNode,
593 OPC_RecordChild1,
594 OPC_CheckChild1TypeI64,
595 OPC_CheckPredicate0,
596 OPC_CheckPredicate3,
597 OPC_CheckPredicate, 33,
598 OPC_MoveParent,
599 OPC_RecordChild1,
600 OPC_RecordChild2,
601 OPC_MoveChild2,
602 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
603 OPC_CheckPredicate4,
604 OPC_MoveSibling3,
605 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
606 OPC_RecordNode,
607 OPC_CheckPredicate4,
608 OPC_MoveParent,
609 OPC_RecordChild4,
610 OPC_CheckType, MVT::f32,
611 OPC_MoveParent,
612 OPC_CheckChild2Same, 2,
613 OPC_CheckPredicate2,
614 OPC_CheckPredicate, 14,
615 OPC_CheckPredicate, 34,
616 OPC_CheckComplexPat2, /*#*/2,
617 OPC_EmitMergeInputChains, 2, 0, 1,
618 OPC_EmitCopyToReg6, SystemZ::CC,
619 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStoreF32Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
620 6, 3, 7, 8, 9, 4, 5,
621 57,
622 OPC_RecordChild0,
623 OPC_MoveChild1,
624 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
625 OPC_RecordMemRef,
626 OPC_RecordNode,
627 OPC_CheckFoldableChainNode,
628 OPC_RecordChild1,
629 OPC_CheckChild1TypeI64,
630 OPC_CheckPredicate0,
631 OPC_CheckPredicate3,
632 OPC_CheckPredicate, 33,
633 OPC_MoveSibling2,
634 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
635 OPC_RecordNode,
636 OPC_CheckPredicate4,
637 OPC_MoveSibling3,
638 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
639 OPC_RecordNode,
640 OPC_CheckPredicate4,
641 OPC_MoveParent,
642 OPC_RecordChild4,
643 OPC_CheckType, MVT::f64,
644 OPC_MoveParent,
645 OPC_CheckChild2Same, 3,
646 OPC_CheckPredicate2,
647 OPC_CheckPredicate, 14,
648 OPC_CheckPredicate, 34,
649 OPC_CheckComplexPat2, /*#*/3,
650 OPC_EmitMergeInputChains, 2, 0, 2,
651 OPC_EmitCopyToReg6, SystemZ::CC,
652 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStoreF64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
653 6, 1, 7, 8, 9, 4, 5,
654 58,
655 OPC_MoveChild0,
656 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
657 OPC_RecordMemRef,
658 OPC_RecordNode,
659 OPC_CheckFoldableChainNode,
660 OPC_RecordChild1,
661 OPC_CheckChild1TypeI64,
662 OPC_CheckPredicate0,
663 OPC_CheckPredicate3,
664 OPC_CheckPredicate, 33,
665 OPC_MoveParent,
666 OPC_RecordChild1,
667 OPC_RecordChild2,
668 OPC_MoveChild2,
669 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
670 OPC_CheckPredicate4,
671 OPC_MoveSibling3,
672 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
673 OPC_RecordNode,
674 OPC_CheckPredicate4,
675 OPC_MoveParent,
676 OPC_RecordChild4,
677 OPC_CheckType, MVT::f64,
678 OPC_MoveParent,
679 OPC_CheckChild2Same, 2,
680 OPC_CheckPredicate2,
681 OPC_CheckPredicate, 14,
682 OPC_CheckPredicate, 34,
683 OPC_CheckComplexPat2, /*#*/2,
684 OPC_EmitMergeInputChains, 2, 0, 1,
685 OPC_EmitCopyToReg6, SystemZ::CC,
686 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStoreF64Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
687 6, 3, 7, 8, 9, 4, 5,
688 71,
689 OPC_RecordChild0,
690 OPC_MoveChild1,
691 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
692 OPC_RecordMemRef,
693 OPC_RecordNode,
694 OPC_CheckFoldableChainNode,
695 OPC_RecordChild1,
696 OPC_CheckChild1TypeI64,
697 OPC_CheckPredicate0,
698 OPC_CheckPredicate5,
699 OPC_CheckPredicate, 17,
700 OPC_CheckPredicate, 28,
701 OPC_MoveSibling2,
702 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
703 OPC_RecordNode,
704 OPC_CheckPredicate4,
705 OPC_MoveSibling3,
706 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
707 OPC_RecordNode,
708 OPC_CheckPredicate4,
709 OPC_MoveParent,
710 OPC_RecordChild4,
711 OPC_CheckTypeI64,
712 OPC_MoveParent,
713 OPC_CheckChild2Same, 3,
714 OPC_CheckPredicate2,
715 OPC_CheckPredicate, 13,
716 OPC_CheckPredicate, 21,
717 OPC_CheckPredicate, 29,
718 OPC_CheckComplexPat2, /*#*/3,
719 OPC_EmitMergeInputChains, 2, 0, 2,
720 OPC_EmitStringInteger32, SystemZ::subreg_l32,
721 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
722 MVT::i32, 2, 1, 10,
723 OPC_EmitConvertToTarget4,
724 OPC_EmitConvertToTarget5,
725 OPC_EmitCopyToReg6, SystemZ::CC,
726 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
727 6, 11, 7, 8, 9, 12, 13,
728 72,
729 OPC_MoveChild0,
730 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
731 OPC_RecordMemRef,
732 OPC_RecordNode,
733 OPC_CheckFoldableChainNode,
734 OPC_RecordChild1,
735 OPC_CheckChild1TypeI64,
736 OPC_CheckPredicate0,
737 OPC_CheckPredicate5,
738 OPC_CheckPredicate, 17,
739 OPC_CheckPredicate, 28,
740 OPC_MoveParent,
741 OPC_RecordChild1,
742 OPC_RecordChild2,
743 OPC_MoveChild2,
744 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
745 OPC_CheckPredicate4,
746 OPC_MoveSibling3,
747 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
748 OPC_RecordNode,
749 OPC_CheckPredicate4,
750 OPC_MoveParent,
751 OPC_RecordChild4,
752 OPC_CheckTypeI64,
753 OPC_MoveParent,
754 OPC_CheckChild2Same, 2,
755 OPC_CheckPredicate2,
756 OPC_CheckPredicate, 13,
757 OPC_CheckPredicate, 21,
758 OPC_CheckPredicate, 29,
759 OPC_CheckComplexPat2, /*#*/2,
760 OPC_EmitMergeInputChains, 2, 0, 1,
761 OPC_EmitStringInteger32, SystemZ::subreg_l32,
762 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
763 MVT::i32, 2, 3, 10,
764 OPC_EmitConvertToTarget4,
765 OPC_EmitConvertToTarget5,
766 OPC_EmitCopyToReg6, SystemZ::CC,
767 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore8Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
768 6, 11, 7, 8, 9, 12, 13,
769 71,
770 OPC_RecordChild0,
771 OPC_MoveChild1,
772 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
773 OPC_RecordMemRef,
774 OPC_RecordNode,
775 OPC_CheckFoldableChainNode,
776 OPC_RecordChild1,
777 OPC_CheckChild1TypeI64,
778 OPC_CheckPredicate0,
779 OPC_CheckPredicate5,
780 OPC_CheckPredicate, 18,
781 OPC_CheckPredicate, 28,
782 OPC_MoveSibling2,
783 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
784 OPC_RecordNode,
785 OPC_CheckPredicate4,
786 OPC_MoveSibling3,
787 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
788 OPC_RecordNode,
789 OPC_CheckPredicate4,
790 OPC_MoveParent,
791 OPC_RecordChild4,
792 OPC_CheckTypeI64,
793 OPC_MoveParent,
794 OPC_CheckChild2Same, 3,
795 OPC_CheckPredicate2,
796 OPC_CheckPredicate, 13,
797 OPC_CheckPredicate, 31,
798 OPC_CheckPredicate, 29,
799 OPC_CheckComplexPat2, /*#*/3,
800 OPC_EmitMergeInputChains, 2, 0, 2,
801 OPC_EmitStringInteger32, SystemZ::subreg_l32,
802 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
803 MVT::i32, 2, 1, 10,
804 OPC_EmitConvertToTarget4,
805 OPC_EmitConvertToTarget5,
806 OPC_EmitCopyToReg6, SystemZ::CC,
807 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
808 6, 11, 7, 8, 9, 12, 13,
809 72,
810 OPC_MoveChild0,
811 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
812 OPC_RecordMemRef,
813 OPC_RecordNode,
814 OPC_CheckFoldableChainNode,
815 OPC_RecordChild1,
816 OPC_CheckChild1TypeI64,
817 OPC_CheckPredicate0,
818 OPC_CheckPredicate5,
819 OPC_CheckPredicate, 18,
820 OPC_CheckPredicate, 28,
821 OPC_MoveParent,
822 OPC_RecordChild1,
823 OPC_RecordChild2,
824 OPC_MoveChild2,
825 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
826 OPC_CheckPredicate4,
827 OPC_MoveSibling3,
828 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
829 OPC_RecordNode,
830 OPC_CheckPredicate4,
831 OPC_MoveParent,
832 OPC_RecordChild4,
833 OPC_CheckTypeI64,
834 OPC_MoveParent,
835 OPC_CheckChild2Same, 2,
836 OPC_CheckPredicate2,
837 OPC_CheckPredicate, 13,
838 OPC_CheckPredicate, 31,
839 OPC_CheckPredicate, 29,
840 OPC_CheckComplexPat2, /*#*/2,
841 OPC_EmitMergeInputChains, 2, 0, 1,
842 OPC_EmitStringInteger32, SystemZ::subreg_l32,
843 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
844 MVT::i32, 2, 3, 10,
845 OPC_EmitConvertToTarget4,
846 OPC_EmitConvertToTarget5,
847 OPC_EmitCopyToReg6, SystemZ::CC,
848 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore16Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
849 6, 11, 7, 8, 9, 12, 13,
850 71,
851 OPC_RecordChild0,
852 OPC_MoveChild1,
853 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
854 OPC_RecordMemRef,
855 OPC_RecordNode,
856 OPC_CheckFoldableChainNode,
857 OPC_RecordChild1,
858 OPC_CheckChild1TypeI64,
859 OPC_CheckPredicate0,
860 OPC_CheckPredicate5,
861 OPC_CheckPredicate, 27,
862 OPC_CheckPredicate, 28,
863 OPC_MoveSibling2,
864 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
865 OPC_RecordNode,
866 OPC_CheckPredicate4,
867 OPC_MoveSibling3,
868 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
869 OPC_RecordNode,
870 OPC_CheckPredicate4,
871 OPC_MoveParent,
872 OPC_RecordChild4,
873 OPC_CheckTypeI64,
874 OPC_MoveParent,
875 OPC_CheckChild2Same, 3,
876 OPC_CheckPredicate2,
877 OPC_CheckPredicate, 13,
878 OPC_CheckPredicate, 45,
879 OPC_CheckPredicate, 29,
880 OPC_CheckComplexPat2, /*#*/3,
881 OPC_EmitMergeInputChains, 2, 0, 2,
882 OPC_EmitStringInteger32, SystemZ::subreg_l32,
883 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
884 MVT::i32, 2, 1, 10,
885 OPC_EmitConvertToTarget4,
886 OPC_EmitConvertToTarget5,
887 OPC_EmitCopyToReg6, SystemZ::CC,
888 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
889 6, 11, 7, 8, 9, 12, 13,
890 72,
891 OPC_MoveChild0,
892 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
893 OPC_RecordMemRef,
894 OPC_RecordNode,
895 OPC_CheckFoldableChainNode,
896 OPC_RecordChild1,
897 OPC_CheckChild1TypeI64,
898 OPC_CheckPredicate0,
899 OPC_CheckPredicate5,
900 OPC_CheckPredicate, 27,
901 OPC_CheckPredicate, 28,
902 OPC_MoveParent,
903 OPC_RecordChild1,
904 OPC_RecordChild2,
905 OPC_MoveChild2,
906 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
907 OPC_CheckPredicate4,
908 OPC_MoveSibling3,
909 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
910 OPC_RecordNode,
911 OPC_CheckPredicate4,
912 OPC_MoveParent,
913 OPC_RecordChild4,
914 OPC_CheckTypeI64,
915 OPC_MoveParent,
916 OPC_CheckChild2Same, 2,
917 OPC_CheckPredicate2,
918 OPC_CheckPredicate, 13,
919 OPC_CheckPredicate, 45,
920 OPC_CheckPredicate, 29,
921 OPC_CheckComplexPat2, /*#*/2,
922 OPC_EmitMergeInputChains, 2, 0, 1,
923 OPC_EmitStringInteger32, SystemZ::subreg_l32,
924 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
925 MVT::i32, 2, 3, 10,
926 OPC_EmitConvertToTarget4,
927 OPC_EmitConvertToTarget5,
928 OPC_EmitCopyToReg6, SystemZ::CC,
929 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CondStore32Inv), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
930 6, 11, 7, 8, 9, 12, 13,
931 0,
932 63|128,11, TARGET_VAL(ISD::AND),
933 OPC_MoveChild0,
934 OPC_SwitchOpcode , 57|128,10, TARGET_VAL(ISD::LOAD),
935 OPC_RecordMemRef,
936 OPC_RecordNode,
937 OPC_CheckFoldableChainNode,
938 OPC_RecordChild1,
939 OPC_CheckChild1TypeI64,
940 OPC_CheckPredicate0,
941 OPC_Scope, 43,
942 OPC_CheckPredicate5,
943 OPC_CheckPredicate, 17,
944 OPC_MoveSibling1,
945 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
946 OPC_RecordMemRef,
947 OPC_RecordNode,
948 OPC_CheckFoldableChainNode,
949 OPC_RecordChild1,
950 OPC_CheckChild1TypeI64,
951 OPC_CheckPredicate0,
952 OPC_MoveParent,
953 OPC_CheckTypeI32,
954 OPC_MoveParent,
955 OPC_CheckChild2Same, 4,
956 OPC_CheckPredicate2,
957 OPC_CheckPredicate, 10,
958 OPC_CheckComplexPat1, /*#*/2,
959 OPC_CheckComplexPat1, /*#*/4,
960 OPC_EmitMergeInputChains, 3, 0, 1, 3,
961 OPC_EmitInteger64, 0,
962 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
963 MVT::i32, 5, 7, 8, 5, 6, 9,
964 43,
965 OPC_MoveSibling1,
966 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
967 OPC_RecordMemRef,
968 OPC_RecordNode,
969 OPC_CheckFoldableChainNode,
970 OPC_RecordChild1,
971 OPC_CheckChild1TypeI64,
972 OPC_CheckPredicate0,
973 OPC_CheckPredicate5,
974 OPC_CheckPredicate, 17,
975 OPC_MoveParent,
976 OPC_CheckTypeI32,
977 OPC_MoveParent,
978 OPC_CheckChild2Same, 2,
979 OPC_CheckPredicate2,
980 OPC_CheckPredicate, 11,
981 OPC_CheckComplexPat1, /*#*/2,
982 OPC_CheckComplexPat1, /*#*/4,
983 OPC_EmitMergeInputChains, 3, 0, 1, 3,
984 OPC_EmitInteger64, 0,
985 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
986 MVT::i32, 5, 5, 6, 7, 8, 9,
987 43,
988 OPC_CheckPredicate5,
989 OPC_CheckPredicate, 18,
990 OPC_MoveSibling1,
991 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
992 OPC_RecordMemRef,
993 OPC_RecordNode,
994 OPC_CheckFoldableChainNode,
995 OPC_RecordChild1,
996 OPC_CheckChild1TypeI64,
997 OPC_CheckPredicate0,
998 OPC_MoveParent,
999 OPC_CheckTypeI32,
1000 OPC_MoveParent,
1001 OPC_CheckChild2Same, 4,
1002 OPC_CheckPredicate2,
1003 OPC_CheckPredicate, 10,
1004 OPC_CheckComplexPat1, /*#*/2,
1005 OPC_CheckComplexPat1, /*#*/4,
1006 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1007 OPC_EmitInteger64, 2,
1008 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1009 MVT::i32, 5, 7, 8, 5, 6, 9,
1010 43,
1011 OPC_MoveSibling1,
1012 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1013 OPC_RecordMemRef,
1014 OPC_RecordNode,
1015 OPC_CheckFoldableChainNode,
1016 OPC_RecordChild1,
1017 OPC_CheckChild1TypeI64,
1018 OPC_CheckPredicate0,
1019 OPC_CheckPredicate5,
1020 OPC_CheckPredicate, 18,
1021 OPC_MoveParent,
1022 OPC_CheckTypeI32,
1023 OPC_MoveParent,
1024 OPC_CheckChild2Same, 2,
1025 OPC_CheckPredicate2,
1026 OPC_CheckPredicate, 11,
1027 OPC_CheckComplexPat1, /*#*/2,
1028 OPC_CheckComplexPat1, /*#*/4,
1029 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1030 OPC_EmitInteger64, 2,
1031 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1032 MVT::i32, 5, 5, 6, 7, 8, 9,
1033 41,
1034 OPC_CheckPredicate3,
1035 OPC_MoveSibling1,
1036 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1037 OPC_RecordMemRef,
1038 OPC_RecordNode,
1039 OPC_CheckFoldableChainNode,
1040 OPC_RecordChild1,
1041 OPC_CheckChild1TypeI64,
1042 OPC_CheckPredicate0,
1043 OPC_MoveParent,
1044 OPC_CheckTypeI32,
1045 OPC_MoveParent,
1046 OPC_CheckChild2Same, 4,
1047 OPC_CheckPredicate2,
1048 OPC_CheckPredicate, 10,
1049 OPC_CheckComplexPat1, /*#*/2,
1050 OPC_CheckComplexPat1, /*#*/4,
1051 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1052 OPC_EmitInteger64, 6,
1053 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1054 MVT::i32, 5, 7, 8, 5, 6, 9,
1055 41,
1056 OPC_MoveSibling1,
1057 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1058 OPC_RecordMemRef,
1059 OPC_RecordNode,
1060 OPC_CheckFoldableChainNode,
1061 OPC_RecordChild1,
1062 OPC_CheckChild1TypeI64,
1063 OPC_CheckPredicate0,
1064 OPC_CheckPredicate3,
1065 OPC_MoveParent,
1066 OPC_CheckTypeI32,
1067 OPC_MoveParent,
1068 OPC_CheckChild2Same, 2,
1069 OPC_CheckPredicate2,
1070 OPC_CheckPredicate, 11,
1071 OPC_CheckComplexPat1, /*#*/2,
1072 OPC_CheckComplexPat1, /*#*/4,
1073 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1074 OPC_EmitInteger64, 6,
1075 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1076 MVT::i32, 5, 5, 6, 7, 8, 9,
1077 43,
1078 OPC_CheckPredicate5,
1079 OPC_CheckPredicate, 17,
1080 OPC_MoveSibling1,
1081 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1082 OPC_RecordMemRef,
1083 OPC_RecordNode,
1084 OPC_CheckFoldableChainNode,
1085 OPC_RecordChild1,
1086 OPC_CheckChild1TypeI64,
1087 OPC_CheckPredicate0,
1088 OPC_MoveParent,
1089 OPC_CheckTypeI64,
1090 OPC_MoveParent,
1091 OPC_CheckChild2Same, 4,
1092 OPC_CheckPredicate2,
1093 OPC_CheckPredicate, 10,
1094 OPC_CheckComplexPat1, /*#*/2,
1095 OPC_CheckComplexPat1, /*#*/4,
1096 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1097 OPC_EmitInteger64, 0,
1098 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1099 MVT::i32, 5, 7, 8, 5, 6, 9,
1100 43,
1101 OPC_MoveSibling1,
1102 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1103 OPC_RecordMemRef,
1104 OPC_RecordNode,
1105 OPC_CheckFoldableChainNode,
1106 OPC_RecordChild1,
1107 OPC_CheckChild1TypeI64,
1108 OPC_CheckPredicate0,
1109 OPC_CheckPredicate5,
1110 OPC_CheckPredicate, 17,
1111 OPC_MoveParent,
1112 OPC_CheckTypeI64,
1113 OPC_MoveParent,
1114 OPC_CheckChild2Same, 2,
1115 OPC_CheckPredicate2,
1116 OPC_CheckPredicate, 11,
1117 OPC_CheckComplexPat1, /*#*/2,
1118 OPC_CheckComplexPat1, /*#*/4,
1119 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1120 OPC_EmitInteger64, 0,
1121 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1122 MVT::i32, 5, 5, 6, 7, 8, 9,
1123 43,
1124 OPC_CheckPredicate5,
1125 OPC_CheckPredicate, 18,
1126 OPC_MoveSibling1,
1127 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1128 OPC_RecordMemRef,
1129 OPC_RecordNode,
1130 OPC_CheckFoldableChainNode,
1131 OPC_RecordChild1,
1132 OPC_CheckChild1TypeI64,
1133 OPC_CheckPredicate0,
1134 OPC_MoveParent,
1135 OPC_CheckTypeI64,
1136 OPC_MoveParent,
1137 OPC_CheckChild2Same, 4,
1138 OPC_CheckPredicate2,
1139 OPC_CheckPredicate, 10,
1140 OPC_CheckComplexPat1, /*#*/2,
1141 OPC_CheckComplexPat1, /*#*/4,
1142 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1143 OPC_EmitInteger64, 2,
1144 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1145 MVT::i32, 5, 7, 8, 5, 6, 9,
1146 43,
1147 OPC_MoveSibling1,
1148 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1149 OPC_RecordMemRef,
1150 OPC_RecordNode,
1151 OPC_CheckFoldableChainNode,
1152 OPC_RecordChild1,
1153 OPC_CheckChild1TypeI64,
1154 OPC_CheckPredicate0,
1155 OPC_CheckPredicate5,
1156 OPC_CheckPredicate, 18,
1157 OPC_MoveParent,
1158 OPC_CheckTypeI64,
1159 OPC_MoveParent,
1160 OPC_CheckChild2Same, 2,
1161 OPC_CheckPredicate2,
1162 OPC_CheckPredicate, 11,
1163 OPC_CheckComplexPat1, /*#*/2,
1164 OPC_CheckComplexPat1, /*#*/4,
1165 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1166 OPC_EmitInteger64, 2,
1167 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1168 MVT::i32, 5, 5, 6, 7, 8, 9,
1169 43,
1170 OPC_CheckPredicate5,
1171 OPC_CheckPredicate, 27,
1172 OPC_MoveSibling1,
1173 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1174 OPC_RecordMemRef,
1175 OPC_RecordNode,
1176 OPC_CheckFoldableChainNode,
1177 OPC_RecordChild1,
1178 OPC_CheckChild1TypeI64,
1179 OPC_CheckPredicate0,
1180 OPC_MoveParent,
1181 OPC_CheckTypeI64,
1182 OPC_MoveParent,
1183 OPC_CheckChild2Same, 4,
1184 OPC_CheckPredicate2,
1185 OPC_CheckPredicate, 10,
1186 OPC_CheckComplexPat1, /*#*/2,
1187 OPC_CheckComplexPat1, /*#*/4,
1188 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1189 OPC_EmitInteger64, 6,
1190 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1191 MVT::i32, 5, 7, 8, 5, 6, 9,
1192 43,
1193 OPC_MoveSibling1,
1194 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1195 OPC_RecordMemRef,
1196 OPC_RecordNode,
1197 OPC_CheckFoldableChainNode,
1198 OPC_RecordChild1,
1199 OPC_CheckChild1TypeI64,
1200 OPC_CheckPredicate0,
1201 OPC_CheckPredicate5,
1202 OPC_CheckPredicate, 27,
1203 OPC_MoveParent,
1204 OPC_CheckTypeI64,
1205 OPC_MoveParent,
1206 OPC_CheckChild2Same, 2,
1207 OPC_CheckPredicate2,
1208 OPC_CheckPredicate, 11,
1209 OPC_CheckComplexPat1, /*#*/2,
1210 OPC_CheckComplexPat1, /*#*/4,
1211 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1212 OPC_EmitInteger64, 6,
1213 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1214 MVT::i32, 5, 5, 6, 7, 8, 9,
1215 41,
1216 OPC_CheckPredicate3,
1217 OPC_MoveSibling1,
1218 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1219 OPC_RecordMemRef,
1220 OPC_RecordNode,
1221 OPC_CheckFoldableChainNode,
1222 OPC_RecordChild1,
1223 OPC_CheckChild1TypeI64,
1224 OPC_CheckPredicate0,
1225 OPC_MoveParent,
1226 OPC_CheckTypeI64,
1227 OPC_MoveParent,
1228 OPC_CheckChild2Same, 4,
1229 OPC_CheckPredicate2,
1230 OPC_CheckPredicate, 10,
1231 OPC_CheckComplexPat1, /*#*/2,
1232 OPC_CheckComplexPat1, /*#*/4,
1233 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1234 OPC_EmitInteger64, 14,
1235 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1236 MVT::i32, 5, 7, 8, 5, 6, 9,
1237 78,
1238 OPC_MoveSibling1,
1239 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1240 OPC_RecordMemRef,
1241 OPC_RecordNode,
1242 OPC_CheckFoldableChainNode,
1243 OPC_RecordChild1,
1244 OPC_CheckChild1TypeI64,
1245 OPC_CheckPredicate0,
1246 OPC_Scope, 31,
1247 OPC_CheckPredicate3,
1248 OPC_MoveParent,
1249 OPC_CheckTypeI64,
1250 OPC_MoveParent,
1251 OPC_CheckChild2Same, 2,
1252 OPC_CheckPredicate2,
1253 OPC_CheckPredicate, 11,
1254 OPC_CheckComplexPat1, /*#*/2,
1255 OPC_CheckComplexPat1, /*#*/4,
1256 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1257 OPC_EmitInteger64, 14,
1258 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1259 MVT::i32, 5, 5, 6, 7, 8, 9,
1260 33,
1261 OPC_CheckPredicate5,
1262 OPC_CheckPredicate, 17,
1263 OPC_MoveParent,
1264 OPC_CheckTypeI32,
1265 OPC_MoveParent,
1266 OPC_CheckChild2Same, 2,
1267 OPC_CheckPredicate2,
1268 OPC_CheckPredicate, 10,
1269 OPC_CheckComplexPat1, /*#*/2,
1270 OPC_CheckComplexPat1, /*#*/4,
1271 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1272 OPC_EmitInteger64, 0,
1273 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1274 MVT::i32, 5, 5, 6, 7, 8, 9,
1275 0,
1276 43,
1277 OPC_CheckPredicate5,
1278 OPC_CheckPredicate, 17,
1279 OPC_MoveSibling1,
1280 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1281 OPC_RecordMemRef,
1282 OPC_RecordNode,
1283 OPC_CheckFoldableChainNode,
1284 OPC_RecordChild1,
1285 OPC_CheckChild1TypeI64,
1286 OPC_CheckPredicate0,
1287 OPC_MoveParent,
1288 OPC_CheckTypeI32,
1289 OPC_MoveParent,
1290 OPC_CheckChild2Same, 4,
1291 OPC_CheckPredicate2,
1292 OPC_CheckPredicate, 11,
1293 OPC_CheckComplexPat1, /*#*/2,
1294 OPC_CheckComplexPat1, /*#*/4,
1295 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1296 OPC_EmitInteger64, 0,
1297 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1298 MVT::i32, 5, 7, 8, 5, 6, 9,
1299 43,
1300 OPC_MoveSibling1,
1301 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1302 OPC_RecordMemRef,
1303 OPC_RecordNode,
1304 OPC_CheckFoldableChainNode,
1305 OPC_RecordChild1,
1306 OPC_CheckChild1TypeI64,
1307 OPC_CheckPredicate0,
1308 OPC_CheckPredicate5,
1309 OPC_CheckPredicate, 18,
1310 OPC_MoveParent,
1311 OPC_CheckTypeI32,
1312 OPC_MoveParent,
1313 OPC_CheckChild2Same, 2,
1314 OPC_CheckPredicate2,
1315 OPC_CheckPredicate, 10,
1316 OPC_CheckComplexPat1, /*#*/2,
1317 OPC_CheckComplexPat1, /*#*/4,
1318 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1319 OPC_EmitInteger64, 2,
1320 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1321 MVT::i32, 5, 5, 6, 7, 8, 9,
1322 43,
1323 OPC_CheckPredicate5,
1324 OPC_CheckPredicate, 18,
1325 OPC_MoveSibling1,
1326 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1327 OPC_RecordMemRef,
1328 OPC_RecordNode,
1329 OPC_CheckFoldableChainNode,
1330 OPC_RecordChild1,
1331 OPC_CheckChild1TypeI64,
1332 OPC_CheckPredicate0,
1333 OPC_MoveParent,
1334 OPC_CheckTypeI32,
1335 OPC_MoveParent,
1336 OPC_CheckChild2Same, 4,
1337 OPC_CheckPredicate2,
1338 OPC_CheckPredicate, 11,
1339 OPC_CheckComplexPat1, /*#*/2,
1340 OPC_CheckComplexPat1, /*#*/4,
1341 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1342 OPC_EmitInteger64, 2,
1343 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1344 MVT::i32, 5, 7, 8, 5, 6, 9,
1345 41,
1346 OPC_MoveSibling1,
1347 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1348 OPC_RecordMemRef,
1349 OPC_RecordNode,
1350 OPC_CheckFoldableChainNode,
1351 OPC_RecordChild1,
1352 OPC_CheckChild1TypeI64,
1353 OPC_CheckPredicate0,
1354 OPC_CheckPredicate3,
1355 OPC_MoveParent,
1356 OPC_CheckTypeI32,
1357 OPC_MoveParent,
1358 OPC_CheckChild2Same, 2,
1359 OPC_CheckPredicate2,
1360 OPC_CheckPredicate, 10,
1361 OPC_CheckComplexPat1, /*#*/2,
1362 OPC_CheckComplexPat1, /*#*/4,
1363 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1364 OPC_EmitInteger64, 6,
1365 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1366 MVT::i32, 5, 5, 6, 7, 8, 9,
1367 41,
1368 OPC_CheckPredicate3,
1369 OPC_MoveSibling1,
1370 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1371 OPC_RecordMemRef,
1372 OPC_RecordNode,
1373 OPC_CheckFoldableChainNode,
1374 OPC_RecordChild1,
1375 OPC_CheckChild1TypeI64,
1376 OPC_CheckPredicate0,
1377 OPC_MoveParent,
1378 OPC_CheckTypeI32,
1379 OPC_MoveParent,
1380 OPC_CheckChild2Same, 4,
1381 OPC_CheckPredicate2,
1382 OPC_CheckPredicate, 11,
1383 OPC_CheckComplexPat1, /*#*/2,
1384 OPC_CheckComplexPat1, /*#*/4,
1385 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1386 OPC_EmitInteger64, 6,
1387 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1388 MVT::i32, 5, 7, 8, 5, 6, 9,
1389 43,
1390 OPC_MoveSibling1,
1391 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1392 OPC_RecordMemRef,
1393 OPC_RecordNode,
1394 OPC_CheckFoldableChainNode,
1395 OPC_RecordChild1,
1396 OPC_CheckChild1TypeI64,
1397 OPC_CheckPredicate0,
1398 OPC_CheckPredicate5,
1399 OPC_CheckPredicate, 17,
1400 OPC_MoveParent,
1401 OPC_CheckTypeI64,
1402 OPC_MoveParent,
1403 OPC_CheckChild2Same, 2,
1404 OPC_CheckPredicate2,
1405 OPC_CheckPredicate, 10,
1406 OPC_CheckComplexPat1, /*#*/2,
1407 OPC_CheckComplexPat1, /*#*/4,
1408 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1409 OPC_EmitInteger64, 0,
1410 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1411 MVT::i32, 5, 5, 6, 7, 8, 9,
1412 43,
1413 OPC_CheckPredicate5,
1414 OPC_CheckPredicate, 17,
1415 OPC_MoveSibling1,
1416 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1417 OPC_RecordMemRef,
1418 OPC_RecordNode,
1419 OPC_CheckFoldableChainNode,
1420 OPC_RecordChild1,
1421 OPC_CheckChild1TypeI64,
1422 OPC_CheckPredicate0,
1423 OPC_MoveParent,
1424 OPC_CheckTypeI64,
1425 OPC_MoveParent,
1426 OPC_CheckChild2Same, 4,
1427 OPC_CheckPredicate2,
1428 OPC_CheckPredicate, 11,
1429 OPC_CheckComplexPat1, /*#*/2,
1430 OPC_CheckComplexPat1, /*#*/4,
1431 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1432 OPC_EmitInteger64, 0,
1433 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1434 MVT::i32, 5, 7, 8, 5, 6, 9,
1435 43,
1436 OPC_MoveSibling1,
1437 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1438 OPC_RecordMemRef,
1439 OPC_RecordNode,
1440 OPC_CheckFoldableChainNode,
1441 OPC_RecordChild1,
1442 OPC_CheckChild1TypeI64,
1443 OPC_CheckPredicate0,
1444 OPC_CheckPredicate5,
1445 OPC_CheckPredicate, 18,
1446 OPC_MoveParent,
1447 OPC_CheckTypeI64,
1448 OPC_MoveParent,
1449 OPC_CheckChild2Same, 2,
1450 OPC_CheckPredicate2,
1451 OPC_CheckPredicate, 10,
1452 OPC_CheckComplexPat1, /*#*/2,
1453 OPC_CheckComplexPat1, /*#*/4,
1454 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1455 OPC_EmitInteger64, 2,
1456 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1457 MVT::i32, 5, 5, 6, 7, 8, 9,
1458 43,
1459 OPC_CheckPredicate5,
1460 OPC_CheckPredicate, 18,
1461 OPC_MoveSibling1,
1462 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1463 OPC_RecordMemRef,
1464 OPC_RecordNode,
1465 OPC_CheckFoldableChainNode,
1466 OPC_RecordChild1,
1467 OPC_CheckChild1TypeI64,
1468 OPC_CheckPredicate0,
1469 OPC_MoveParent,
1470 OPC_CheckTypeI64,
1471 OPC_MoveParent,
1472 OPC_CheckChild2Same, 4,
1473 OPC_CheckPredicate2,
1474 OPC_CheckPredicate, 11,
1475 OPC_CheckComplexPat1, /*#*/2,
1476 OPC_CheckComplexPat1, /*#*/4,
1477 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1478 OPC_EmitInteger64, 2,
1479 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1480 MVT::i32, 5, 7, 8, 5, 6, 9,
1481 43,
1482 OPC_MoveSibling1,
1483 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1484 OPC_RecordMemRef,
1485 OPC_RecordNode,
1486 OPC_CheckFoldableChainNode,
1487 OPC_RecordChild1,
1488 OPC_CheckChild1TypeI64,
1489 OPC_CheckPredicate0,
1490 OPC_CheckPredicate5,
1491 OPC_CheckPredicate, 27,
1492 OPC_MoveParent,
1493 OPC_CheckTypeI64,
1494 OPC_MoveParent,
1495 OPC_CheckChild2Same, 2,
1496 OPC_CheckPredicate2,
1497 OPC_CheckPredicate, 10,
1498 OPC_CheckComplexPat1, /*#*/2,
1499 OPC_CheckComplexPat1, /*#*/4,
1500 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1501 OPC_EmitInteger64, 6,
1502 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1503 MVT::i32, 5, 5, 6, 7, 8, 9,
1504 43,
1505 OPC_CheckPredicate5,
1506 OPC_CheckPredicate, 27,
1507 OPC_MoveSibling1,
1508 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1509 OPC_RecordMemRef,
1510 OPC_RecordNode,
1511 OPC_CheckFoldableChainNode,
1512 OPC_RecordChild1,
1513 OPC_CheckChild1TypeI64,
1514 OPC_CheckPredicate0,
1515 OPC_MoveParent,
1516 OPC_CheckTypeI64,
1517 OPC_MoveParent,
1518 OPC_CheckChild2Same, 4,
1519 OPC_CheckPredicate2,
1520 OPC_CheckPredicate, 11,
1521 OPC_CheckComplexPat1, /*#*/2,
1522 OPC_CheckComplexPat1, /*#*/4,
1523 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1524 OPC_EmitInteger64, 6,
1525 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1526 MVT::i32, 5, 7, 8, 5, 6, 9,
1527 41,
1528 OPC_MoveSibling1,
1529 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1530 OPC_RecordMemRef,
1531 OPC_RecordNode,
1532 OPC_CheckFoldableChainNode,
1533 OPC_RecordChild1,
1534 OPC_CheckChild1TypeI64,
1535 OPC_CheckPredicate0,
1536 OPC_CheckPredicate3,
1537 OPC_MoveParent,
1538 OPC_CheckTypeI64,
1539 OPC_MoveParent,
1540 OPC_CheckChild2Same, 2,
1541 OPC_CheckPredicate2,
1542 OPC_CheckPredicate, 10,
1543 OPC_CheckComplexPat1, /*#*/2,
1544 OPC_CheckComplexPat1, /*#*/4,
1545 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1546 OPC_EmitInteger64, 14,
1547 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1548 MVT::i32, 5, 5, 6, 7, 8, 9,
1549 41,
1550 OPC_CheckPredicate3,
1551 OPC_MoveSibling1,
1552 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1553 OPC_RecordMemRef,
1554 OPC_RecordNode,
1555 OPC_CheckFoldableChainNode,
1556 OPC_RecordChild1,
1557 OPC_CheckChild1TypeI64,
1558 OPC_CheckPredicate0,
1559 OPC_MoveParent,
1560 OPC_CheckTypeI64,
1561 OPC_MoveParent,
1562 OPC_CheckChild2Same, 4,
1563 OPC_CheckPredicate2,
1564 OPC_CheckPredicate, 11,
1565 OPC_CheckComplexPat1, /*#*/2,
1566 OPC_CheckComplexPat1, /*#*/4,
1567 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1568 OPC_EmitInteger64, 14,
1569 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NCImm), 0|OPFL_Chain|OPFL_MemRefs,
1570 MVT::i32, 5, 7, 8, 5, 6, 9,
1571 119,
1572 OPC_CheckPredicate, 23,
1573 OPC_CheckPredicate7,
1574 OPC_MoveSibling1,
1575 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1576 OPC_RecordNode,
1577 OPC_MoveParent,
1578 OPC_SwitchType , 52, MVT::i32,
1579 OPC_MoveParent,
1580 OPC_CheckChild2Same, 2,
1581 OPC_CheckPredicate2,
1582 OPC_CheckPredicate, 13,
1583 OPC_CheckPredicate, 21,
1584 OPC_Scope, 20,
1585 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
1586 OPC_EmitMergeInputChains, 2, 0, 1,
1587 OPC_EmitConvertToTarget3,
1588 OPC_EmitNodeXForm, 0, 6,
1589 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NI), 0|OPFL_Chain|OPFL_MemRefs,
1590 MVT::i32, 3, 4, 5, 7,
1591 20,
1592 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
1593 OPC_EmitMergeInputChains, 2, 0, 1,
1594 OPC_EmitConvertToTarget3,
1595 OPC_EmitNodeXForm, 0, 6,
1596 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NIY), 0|OPFL_Chain|OPFL_MemRefs,
1597 MVT::i32, 3, 4, 5, 7,
1598 0,
1599 52, MVT::i64,
1600 OPC_MoveParent,
1601 OPC_CheckChild2Same, 2,
1602 OPC_CheckPredicate2,
1603 OPC_CheckPredicate, 13,
1604 OPC_CheckPredicate, 21,
1605 OPC_Scope, 20,
1606 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
1607 OPC_EmitMergeInputChains, 2, 0, 1,
1608 OPC_EmitConvertToTarget3,
1609 OPC_EmitNodeXForm, 0, 6,
1610 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NI), 0|OPFL_Chain|OPFL_MemRefs,
1611 MVT::i32, 3, 4, 5, 7,
1612 20,
1613 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
1614 OPC_EmitMergeInputChains, 2, 0, 1,
1615 OPC_EmitConvertToTarget3,
1616 OPC_EmitNodeXForm, 0, 6,
1617 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NIY), 0|OPFL_Chain|OPFL_MemRefs,
1618 MVT::i32, 3, 4, 5, 7,
1619 0,
1620 0,
1621 0,
1622 124, TARGET_VAL(ISD::ATOMIC_LOAD),
1623 OPC_RecordMemRef,
1624 OPC_RecordNode,
1625 OPC_CheckFoldableChainNode,
1626 OPC_RecordChild1,
1627 OPC_CheckChild1TypeI64,
1628 OPC_CheckPredicate, 23,
1629 OPC_CheckPredicate7,
1630 OPC_MoveSibling1,
1631 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1632 OPC_RecordNode,
1633 OPC_MoveParent,
1634 OPC_SwitchType , 52, MVT::i32,
1635 OPC_MoveParent,
1636 OPC_CheckChild2Same, 2,
1637 OPC_CheckPredicate2,
1638 OPC_CheckPredicate, 13,
1639 OPC_CheckPredicate, 21,
1640 OPC_Scope, 20,
1641 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
1642 OPC_EmitMergeInputChains, 2, 0, 1,
1643 OPC_EmitConvertToTarget3,
1644 OPC_EmitNodeXForm, 0, 6,
1645 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NI), 0|OPFL_Chain|OPFL_MemRefs,
1646 MVT::i32, 3, 4, 5, 7,
1647 20,
1648 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
1649 OPC_EmitMergeInputChains, 2, 0, 1,
1650 OPC_EmitConvertToTarget3,
1651 OPC_EmitNodeXForm, 0, 6,
1652 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NIY), 0|OPFL_Chain|OPFL_MemRefs,
1653 MVT::i32, 3, 4, 5, 7,
1654 0,
1655 52, MVT::i64,
1656 OPC_MoveParent,
1657 OPC_CheckChild2Same, 2,
1658 OPC_CheckPredicate2,
1659 OPC_CheckPredicate, 13,
1660 OPC_CheckPredicate, 21,
1661 OPC_Scope, 20,
1662 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
1663 OPC_EmitMergeInputChains, 2, 0, 1,
1664 OPC_EmitConvertToTarget3,
1665 OPC_EmitNodeXForm, 0, 6,
1666 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NI), 0|OPFL_Chain|OPFL_MemRefs,
1667 MVT::i32, 3, 4, 5, 7,
1668 20,
1669 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
1670 OPC_EmitMergeInputChains, 2, 0, 1,
1671 OPC_EmitConvertToTarget3,
1672 OPC_EmitNodeXForm, 0, 6,
1673 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::NIY), 0|OPFL_Chain|OPFL_MemRefs,
1674 MVT::i32, 3, 4, 5, 7,
1675 0,
1676 0,
1677 0,
1678 63|128,11, TARGET_VAL(ISD::OR),
1679 OPC_MoveChild0,
1680 OPC_SwitchOpcode , 57|128,10, TARGET_VAL(ISD::LOAD),
1681 OPC_RecordMemRef,
1682 OPC_RecordNode,
1683 OPC_CheckFoldableChainNode,
1684 OPC_RecordChild1,
1685 OPC_CheckChild1TypeI64,
1686 OPC_CheckPredicate0,
1687 OPC_Scope, 43,
1688 OPC_CheckPredicate5,
1689 OPC_CheckPredicate, 17,
1690 OPC_MoveSibling1,
1691 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1692 OPC_RecordMemRef,
1693 OPC_RecordNode,
1694 OPC_CheckFoldableChainNode,
1695 OPC_RecordChild1,
1696 OPC_CheckChild1TypeI64,
1697 OPC_CheckPredicate0,
1698 OPC_MoveParent,
1699 OPC_CheckTypeI32,
1700 OPC_MoveParent,
1701 OPC_CheckChild2Same, 4,
1702 OPC_CheckPredicate2,
1703 OPC_CheckPredicate, 10,
1704 OPC_CheckComplexPat1, /*#*/2,
1705 OPC_CheckComplexPat1, /*#*/4,
1706 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1707 OPC_EmitInteger64, 0,
1708 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1709 MVT::i32, 5, 7, 8, 5, 6, 9,
1710 43,
1711 OPC_MoveSibling1,
1712 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1713 OPC_RecordMemRef,
1714 OPC_RecordNode,
1715 OPC_CheckFoldableChainNode,
1716 OPC_RecordChild1,
1717 OPC_CheckChild1TypeI64,
1718 OPC_CheckPredicate0,
1719 OPC_CheckPredicate5,
1720 OPC_CheckPredicate, 17,
1721 OPC_MoveParent,
1722 OPC_CheckTypeI32,
1723 OPC_MoveParent,
1724 OPC_CheckChild2Same, 2,
1725 OPC_CheckPredicate2,
1726 OPC_CheckPredicate, 11,
1727 OPC_CheckComplexPat1, /*#*/2,
1728 OPC_CheckComplexPat1, /*#*/4,
1729 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1730 OPC_EmitInteger64, 0,
1731 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1732 MVT::i32, 5, 5, 6, 7, 8, 9,
1733 43,
1734 OPC_CheckPredicate5,
1735 OPC_CheckPredicate, 18,
1736 OPC_MoveSibling1,
1737 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1738 OPC_RecordMemRef,
1739 OPC_RecordNode,
1740 OPC_CheckFoldableChainNode,
1741 OPC_RecordChild1,
1742 OPC_CheckChild1TypeI64,
1743 OPC_CheckPredicate0,
1744 OPC_MoveParent,
1745 OPC_CheckTypeI32,
1746 OPC_MoveParent,
1747 OPC_CheckChild2Same, 4,
1748 OPC_CheckPredicate2,
1749 OPC_CheckPredicate, 10,
1750 OPC_CheckComplexPat1, /*#*/2,
1751 OPC_CheckComplexPat1, /*#*/4,
1752 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1753 OPC_EmitInteger64, 2,
1754 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1755 MVT::i32, 5, 7, 8, 5, 6, 9,
1756 43,
1757 OPC_MoveSibling1,
1758 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1759 OPC_RecordMemRef,
1760 OPC_RecordNode,
1761 OPC_CheckFoldableChainNode,
1762 OPC_RecordChild1,
1763 OPC_CheckChild1TypeI64,
1764 OPC_CheckPredicate0,
1765 OPC_CheckPredicate5,
1766 OPC_CheckPredicate, 18,
1767 OPC_MoveParent,
1768 OPC_CheckTypeI32,
1769 OPC_MoveParent,
1770 OPC_CheckChild2Same, 2,
1771 OPC_CheckPredicate2,
1772 OPC_CheckPredicate, 11,
1773 OPC_CheckComplexPat1, /*#*/2,
1774 OPC_CheckComplexPat1, /*#*/4,
1775 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1776 OPC_EmitInteger64, 2,
1777 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1778 MVT::i32, 5, 5, 6, 7, 8, 9,
1779 41,
1780 OPC_CheckPredicate3,
1781 OPC_MoveSibling1,
1782 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1783 OPC_RecordMemRef,
1784 OPC_RecordNode,
1785 OPC_CheckFoldableChainNode,
1786 OPC_RecordChild1,
1787 OPC_CheckChild1TypeI64,
1788 OPC_CheckPredicate0,
1789 OPC_MoveParent,
1790 OPC_CheckTypeI32,
1791 OPC_MoveParent,
1792 OPC_CheckChild2Same, 4,
1793 OPC_CheckPredicate2,
1794 OPC_CheckPredicate, 10,
1795 OPC_CheckComplexPat1, /*#*/2,
1796 OPC_CheckComplexPat1, /*#*/4,
1797 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1798 OPC_EmitInteger64, 6,
1799 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1800 MVT::i32, 5, 7, 8, 5, 6, 9,
1801 41,
1802 OPC_MoveSibling1,
1803 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1804 OPC_RecordMemRef,
1805 OPC_RecordNode,
1806 OPC_CheckFoldableChainNode,
1807 OPC_RecordChild1,
1808 OPC_CheckChild1TypeI64,
1809 OPC_CheckPredicate0,
1810 OPC_CheckPredicate3,
1811 OPC_MoveParent,
1812 OPC_CheckTypeI32,
1813 OPC_MoveParent,
1814 OPC_CheckChild2Same, 2,
1815 OPC_CheckPredicate2,
1816 OPC_CheckPredicate, 11,
1817 OPC_CheckComplexPat1, /*#*/2,
1818 OPC_CheckComplexPat1, /*#*/4,
1819 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1820 OPC_EmitInteger64, 6,
1821 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1822 MVT::i32, 5, 5, 6, 7, 8, 9,
1823 43,
1824 OPC_CheckPredicate5,
1825 OPC_CheckPredicate, 17,
1826 OPC_MoveSibling1,
1827 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1828 OPC_RecordMemRef,
1829 OPC_RecordNode,
1830 OPC_CheckFoldableChainNode,
1831 OPC_RecordChild1,
1832 OPC_CheckChild1TypeI64,
1833 OPC_CheckPredicate0,
1834 OPC_MoveParent,
1835 OPC_CheckTypeI64,
1836 OPC_MoveParent,
1837 OPC_CheckChild2Same, 4,
1838 OPC_CheckPredicate2,
1839 OPC_CheckPredicate, 10,
1840 OPC_CheckComplexPat1, /*#*/2,
1841 OPC_CheckComplexPat1, /*#*/4,
1842 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1843 OPC_EmitInteger64, 0,
1844 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1845 MVT::i32, 5, 7, 8, 5, 6, 9,
1846 43,
1847 OPC_MoveSibling1,
1848 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1849 OPC_RecordMemRef,
1850 OPC_RecordNode,
1851 OPC_CheckFoldableChainNode,
1852 OPC_RecordChild1,
1853 OPC_CheckChild1TypeI64,
1854 OPC_CheckPredicate0,
1855 OPC_CheckPredicate5,
1856 OPC_CheckPredicate, 17,
1857 OPC_MoveParent,
1858 OPC_CheckTypeI64,
1859 OPC_MoveParent,
1860 OPC_CheckChild2Same, 2,
1861 OPC_CheckPredicate2,
1862 OPC_CheckPredicate, 11,
1863 OPC_CheckComplexPat1, /*#*/2,
1864 OPC_CheckComplexPat1, /*#*/4,
1865 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1866 OPC_EmitInteger64, 0,
1867 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1868 MVT::i32, 5, 5, 6, 7, 8, 9,
1869 43,
1870 OPC_CheckPredicate5,
1871 OPC_CheckPredicate, 18,
1872 OPC_MoveSibling1,
1873 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1874 OPC_RecordMemRef,
1875 OPC_RecordNode,
1876 OPC_CheckFoldableChainNode,
1877 OPC_RecordChild1,
1878 OPC_CheckChild1TypeI64,
1879 OPC_CheckPredicate0,
1880 OPC_MoveParent,
1881 OPC_CheckTypeI64,
1882 OPC_MoveParent,
1883 OPC_CheckChild2Same, 4,
1884 OPC_CheckPredicate2,
1885 OPC_CheckPredicate, 10,
1886 OPC_CheckComplexPat1, /*#*/2,
1887 OPC_CheckComplexPat1, /*#*/4,
1888 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1889 OPC_EmitInteger64, 2,
1890 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1891 MVT::i32, 5, 7, 8, 5, 6, 9,
1892 43,
1893 OPC_MoveSibling1,
1894 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1895 OPC_RecordMemRef,
1896 OPC_RecordNode,
1897 OPC_CheckFoldableChainNode,
1898 OPC_RecordChild1,
1899 OPC_CheckChild1TypeI64,
1900 OPC_CheckPredicate0,
1901 OPC_CheckPredicate5,
1902 OPC_CheckPredicate, 18,
1903 OPC_MoveParent,
1904 OPC_CheckTypeI64,
1905 OPC_MoveParent,
1906 OPC_CheckChild2Same, 2,
1907 OPC_CheckPredicate2,
1908 OPC_CheckPredicate, 11,
1909 OPC_CheckComplexPat1, /*#*/2,
1910 OPC_CheckComplexPat1, /*#*/4,
1911 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1912 OPC_EmitInteger64, 2,
1913 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1914 MVT::i32, 5, 5, 6, 7, 8, 9,
1915 43,
1916 OPC_CheckPredicate5,
1917 OPC_CheckPredicate, 27,
1918 OPC_MoveSibling1,
1919 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1920 OPC_RecordMemRef,
1921 OPC_RecordNode,
1922 OPC_CheckFoldableChainNode,
1923 OPC_RecordChild1,
1924 OPC_CheckChild1TypeI64,
1925 OPC_CheckPredicate0,
1926 OPC_MoveParent,
1927 OPC_CheckTypeI64,
1928 OPC_MoveParent,
1929 OPC_CheckChild2Same, 4,
1930 OPC_CheckPredicate2,
1931 OPC_CheckPredicate, 10,
1932 OPC_CheckComplexPat1, /*#*/2,
1933 OPC_CheckComplexPat1, /*#*/4,
1934 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1935 OPC_EmitInteger64, 6,
1936 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1937 MVT::i32, 5, 7, 8, 5, 6, 9,
1938 43,
1939 OPC_MoveSibling1,
1940 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1941 OPC_RecordMemRef,
1942 OPC_RecordNode,
1943 OPC_CheckFoldableChainNode,
1944 OPC_RecordChild1,
1945 OPC_CheckChild1TypeI64,
1946 OPC_CheckPredicate0,
1947 OPC_CheckPredicate5,
1948 OPC_CheckPredicate, 27,
1949 OPC_MoveParent,
1950 OPC_CheckTypeI64,
1951 OPC_MoveParent,
1952 OPC_CheckChild2Same, 2,
1953 OPC_CheckPredicate2,
1954 OPC_CheckPredicate, 11,
1955 OPC_CheckComplexPat1, /*#*/2,
1956 OPC_CheckComplexPat1, /*#*/4,
1957 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1958 OPC_EmitInteger64, 6,
1959 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1960 MVT::i32, 5, 5, 6, 7, 8, 9,
1961 41,
1962 OPC_CheckPredicate3,
1963 OPC_MoveSibling1,
1964 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1965 OPC_RecordMemRef,
1966 OPC_RecordNode,
1967 OPC_CheckFoldableChainNode,
1968 OPC_RecordChild1,
1969 OPC_CheckChild1TypeI64,
1970 OPC_CheckPredicate0,
1971 OPC_MoveParent,
1972 OPC_CheckTypeI64,
1973 OPC_MoveParent,
1974 OPC_CheckChild2Same, 4,
1975 OPC_CheckPredicate2,
1976 OPC_CheckPredicate, 10,
1977 OPC_CheckComplexPat1, /*#*/2,
1978 OPC_CheckComplexPat1, /*#*/4,
1979 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1980 OPC_EmitInteger64, 14,
1981 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
1982 MVT::i32, 5, 7, 8, 5, 6, 9,
1983 78,
1984 OPC_MoveSibling1,
1985 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1986 OPC_RecordMemRef,
1987 OPC_RecordNode,
1988 OPC_CheckFoldableChainNode,
1989 OPC_RecordChild1,
1990 OPC_CheckChild1TypeI64,
1991 OPC_CheckPredicate0,
1992 OPC_Scope, 31,
1993 OPC_CheckPredicate3,
1994 OPC_MoveParent,
1995 OPC_CheckTypeI64,
1996 OPC_MoveParent,
1997 OPC_CheckChild2Same, 2,
1998 OPC_CheckPredicate2,
1999 OPC_CheckPredicate, 11,
2000 OPC_CheckComplexPat1, /*#*/2,
2001 OPC_CheckComplexPat1, /*#*/4,
2002 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2003 OPC_EmitInteger64, 14,
2004 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2005 MVT::i32, 5, 5, 6, 7, 8, 9,
2006 33,
2007 OPC_CheckPredicate5,
2008 OPC_CheckPredicate, 17,
2009 OPC_MoveParent,
2010 OPC_CheckTypeI32,
2011 OPC_MoveParent,
2012 OPC_CheckChild2Same, 2,
2013 OPC_CheckPredicate2,
2014 OPC_CheckPredicate, 10,
2015 OPC_CheckComplexPat1, /*#*/2,
2016 OPC_CheckComplexPat1, /*#*/4,
2017 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2018 OPC_EmitInteger64, 0,
2019 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2020 MVT::i32, 5, 5, 6, 7, 8, 9,
2021 0,
2022 43,
2023 OPC_CheckPredicate5,
2024 OPC_CheckPredicate, 17,
2025 OPC_MoveSibling1,
2026 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2027 OPC_RecordMemRef,
2028 OPC_RecordNode,
2029 OPC_CheckFoldableChainNode,
2030 OPC_RecordChild1,
2031 OPC_CheckChild1TypeI64,
2032 OPC_CheckPredicate0,
2033 OPC_MoveParent,
2034 OPC_CheckTypeI32,
2035 OPC_MoveParent,
2036 OPC_CheckChild2Same, 4,
2037 OPC_CheckPredicate2,
2038 OPC_CheckPredicate, 11,
2039 OPC_CheckComplexPat1, /*#*/2,
2040 OPC_CheckComplexPat1, /*#*/4,
2041 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2042 OPC_EmitInteger64, 0,
2043 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2044 MVT::i32, 5, 7, 8, 5, 6, 9,
2045 43,
2046 OPC_MoveSibling1,
2047 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2048 OPC_RecordMemRef,
2049 OPC_RecordNode,
2050 OPC_CheckFoldableChainNode,
2051 OPC_RecordChild1,
2052 OPC_CheckChild1TypeI64,
2053 OPC_CheckPredicate0,
2054 OPC_CheckPredicate5,
2055 OPC_CheckPredicate, 18,
2056 OPC_MoveParent,
2057 OPC_CheckTypeI32,
2058 OPC_MoveParent,
2059 OPC_CheckChild2Same, 2,
2060 OPC_CheckPredicate2,
2061 OPC_CheckPredicate, 10,
2062 OPC_CheckComplexPat1, /*#*/2,
2063 OPC_CheckComplexPat1, /*#*/4,
2064 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2065 OPC_EmitInteger64, 2,
2066 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2067 MVT::i32, 5, 5, 6, 7, 8, 9,
2068 43,
2069 OPC_CheckPredicate5,
2070 OPC_CheckPredicate, 18,
2071 OPC_MoveSibling1,
2072 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2073 OPC_RecordMemRef,
2074 OPC_RecordNode,
2075 OPC_CheckFoldableChainNode,
2076 OPC_RecordChild1,
2077 OPC_CheckChild1TypeI64,
2078 OPC_CheckPredicate0,
2079 OPC_MoveParent,
2080 OPC_CheckTypeI32,
2081 OPC_MoveParent,
2082 OPC_CheckChild2Same, 4,
2083 OPC_CheckPredicate2,
2084 OPC_CheckPredicate, 11,
2085 OPC_CheckComplexPat1, /*#*/2,
2086 OPC_CheckComplexPat1, /*#*/4,
2087 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2088 OPC_EmitInteger64, 2,
2089 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2090 MVT::i32, 5, 7, 8, 5, 6, 9,
2091 41,
2092 OPC_MoveSibling1,
2093 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2094 OPC_RecordMemRef,
2095 OPC_RecordNode,
2096 OPC_CheckFoldableChainNode,
2097 OPC_RecordChild1,
2098 OPC_CheckChild1TypeI64,
2099 OPC_CheckPredicate0,
2100 OPC_CheckPredicate3,
2101 OPC_MoveParent,
2102 OPC_CheckTypeI32,
2103 OPC_MoveParent,
2104 OPC_CheckChild2Same, 2,
2105 OPC_CheckPredicate2,
2106 OPC_CheckPredicate, 10,
2107 OPC_CheckComplexPat1, /*#*/2,
2108 OPC_CheckComplexPat1, /*#*/4,
2109 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2110 OPC_EmitInteger64, 6,
2111 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2112 MVT::i32, 5, 5, 6, 7, 8, 9,
2113 41,
2114 OPC_CheckPredicate3,
2115 OPC_MoveSibling1,
2116 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2117 OPC_RecordMemRef,
2118 OPC_RecordNode,
2119 OPC_CheckFoldableChainNode,
2120 OPC_RecordChild1,
2121 OPC_CheckChild1TypeI64,
2122 OPC_CheckPredicate0,
2123 OPC_MoveParent,
2124 OPC_CheckTypeI32,
2125 OPC_MoveParent,
2126 OPC_CheckChild2Same, 4,
2127 OPC_CheckPredicate2,
2128 OPC_CheckPredicate, 11,
2129 OPC_CheckComplexPat1, /*#*/2,
2130 OPC_CheckComplexPat1, /*#*/4,
2131 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2132 OPC_EmitInteger64, 6,
2133 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2134 MVT::i32, 5, 7, 8, 5, 6, 9,
2135 43,
2136 OPC_MoveSibling1,
2137 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2138 OPC_RecordMemRef,
2139 OPC_RecordNode,
2140 OPC_CheckFoldableChainNode,
2141 OPC_RecordChild1,
2142 OPC_CheckChild1TypeI64,
2143 OPC_CheckPredicate0,
2144 OPC_CheckPredicate5,
2145 OPC_CheckPredicate, 17,
2146 OPC_MoveParent,
2147 OPC_CheckTypeI64,
2148 OPC_MoveParent,
2149 OPC_CheckChild2Same, 2,
2150 OPC_CheckPredicate2,
2151 OPC_CheckPredicate, 10,
2152 OPC_CheckComplexPat1, /*#*/2,
2153 OPC_CheckComplexPat1, /*#*/4,
2154 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2155 OPC_EmitInteger64, 0,
2156 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2157 MVT::i32, 5, 5, 6, 7, 8, 9,
2158 43,
2159 OPC_CheckPredicate5,
2160 OPC_CheckPredicate, 17,
2161 OPC_MoveSibling1,
2162 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2163 OPC_RecordMemRef,
2164 OPC_RecordNode,
2165 OPC_CheckFoldableChainNode,
2166 OPC_RecordChild1,
2167 OPC_CheckChild1TypeI64,
2168 OPC_CheckPredicate0,
2169 OPC_MoveParent,
2170 OPC_CheckTypeI64,
2171 OPC_MoveParent,
2172 OPC_CheckChild2Same, 4,
2173 OPC_CheckPredicate2,
2174 OPC_CheckPredicate, 11,
2175 OPC_CheckComplexPat1, /*#*/2,
2176 OPC_CheckComplexPat1, /*#*/4,
2177 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2178 OPC_EmitInteger64, 0,
2179 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2180 MVT::i32, 5, 7, 8, 5, 6, 9,
2181 43,
2182 OPC_MoveSibling1,
2183 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2184 OPC_RecordMemRef,
2185 OPC_RecordNode,
2186 OPC_CheckFoldableChainNode,
2187 OPC_RecordChild1,
2188 OPC_CheckChild1TypeI64,
2189 OPC_CheckPredicate0,
2190 OPC_CheckPredicate5,
2191 OPC_CheckPredicate, 18,
2192 OPC_MoveParent,
2193 OPC_CheckTypeI64,
2194 OPC_MoveParent,
2195 OPC_CheckChild2Same, 2,
2196 OPC_CheckPredicate2,
2197 OPC_CheckPredicate, 10,
2198 OPC_CheckComplexPat1, /*#*/2,
2199 OPC_CheckComplexPat1, /*#*/4,
2200 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2201 OPC_EmitInteger64, 2,
2202 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2203 MVT::i32, 5, 5, 6, 7, 8, 9,
2204 43,
2205 OPC_CheckPredicate5,
2206 OPC_CheckPredicate, 18,
2207 OPC_MoveSibling1,
2208 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2209 OPC_RecordMemRef,
2210 OPC_RecordNode,
2211 OPC_CheckFoldableChainNode,
2212 OPC_RecordChild1,
2213 OPC_CheckChild1TypeI64,
2214 OPC_CheckPredicate0,
2215 OPC_MoveParent,
2216 OPC_CheckTypeI64,
2217 OPC_MoveParent,
2218 OPC_CheckChild2Same, 4,
2219 OPC_CheckPredicate2,
2220 OPC_CheckPredicate, 11,
2221 OPC_CheckComplexPat1, /*#*/2,
2222 OPC_CheckComplexPat1, /*#*/4,
2223 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2224 OPC_EmitInteger64, 2,
2225 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2226 MVT::i32, 5, 7, 8, 5, 6, 9,
2227 43,
2228 OPC_MoveSibling1,
2229 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2230 OPC_RecordMemRef,
2231 OPC_RecordNode,
2232 OPC_CheckFoldableChainNode,
2233 OPC_RecordChild1,
2234 OPC_CheckChild1TypeI64,
2235 OPC_CheckPredicate0,
2236 OPC_CheckPredicate5,
2237 OPC_CheckPredicate, 27,
2238 OPC_MoveParent,
2239 OPC_CheckTypeI64,
2240 OPC_MoveParent,
2241 OPC_CheckChild2Same, 2,
2242 OPC_CheckPredicate2,
2243 OPC_CheckPredicate, 10,
2244 OPC_CheckComplexPat1, /*#*/2,
2245 OPC_CheckComplexPat1, /*#*/4,
2246 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2247 OPC_EmitInteger64, 6,
2248 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2249 MVT::i32, 5, 5, 6, 7, 8, 9,
2250 43,
2251 OPC_CheckPredicate5,
2252 OPC_CheckPredicate, 27,
2253 OPC_MoveSibling1,
2254 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2255 OPC_RecordMemRef,
2256 OPC_RecordNode,
2257 OPC_CheckFoldableChainNode,
2258 OPC_RecordChild1,
2259 OPC_CheckChild1TypeI64,
2260 OPC_CheckPredicate0,
2261 OPC_MoveParent,
2262 OPC_CheckTypeI64,
2263 OPC_MoveParent,
2264 OPC_CheckChild2Same, 4,
2265 OPC_CheckPredicate2,
2266 OPC_CheckPredicate, 11,
2267 OPC_CheckComplexPat1, /*#*/2,
2268 OPC_CheckComplexPat1, /*#*/4,
2269 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2270 OPC_EmitInteger64, 6,
2271 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2272 MVT::i32, 5, 7, 8, 5, 6, 9,
2273 41,
2274 OPC_MoveSibling1,
2275 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2276 OPC_RecordMemRef,
2277 OPC_RecordNode,
2278 OPC_CheckFoldableChainNode,
2279 OPC_RecordChild1,
2280 OPC_CheckChild1TypeI64,
2281 OPC_CheckPredicate0,
2282 OPC_CheckPredicate3,
2283 OPC_MoveParent,
2284 OPC_CheckTypeI64,
2285 OPC_MoveParent,
2286 OPC_CheckChild2Same, 2,
2287 OPC_CheckPredicate2,
2288 OPC_CheckPredicate, 10,
2289 OPC_CheckComplexPat1, /*#*/2,
2290 OPC_CheckComplexPat1, /*#*/4,
2291 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2292 OPC_EmitInteger64, 14,
2293 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2294 MVT::i32, 5, 5, 6, 7, 8, 9,
2295 41,
2296 OPC_CheckPredicate3,
2297 OPC_MoveSibling1,
2298 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2299 OPC_RecordMemRef,
2300 OPC_RecordNode,
2301 OPC_CheckFoldableChainNode,
2302 OPC_RecordChild1,
2303 OPC_CheckChild1TypeI64,
2304 OPC_CheckPredicate0,
2305 OPC_MoveParent,
2306 OPC_CheckTypeI64,
2307 OPC_MoveParent,
2308 OPC_CheckChild2Same, 4,
2309 OPC_CheckPredicate2,
2310 OPC_CheckPredicate, 11,
2311 OPC_CheckComplexPat1, /*#*/2,
2312 OPC_CheckComplexPat1, /*#*/4,
2313 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2314 OPC_EmitInteger64, 14,
2315 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OCImm), 0|OPFL_Chain|OPFL_MemRefs,
2316 MVT::i32, 5, 7, 8, 5, 6, 9,
2317 119,
2318 OPC_CheckPredicate, 23,
2319 OPC_CheckPredicate7,
2320 OPC_MoveSibling1,
2321 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2322 OPC_RecordNode,
2323 OPC_MoveParent,
2324 OPC_SwitchType , 52, MVT::i32,
2325 OPC_MoveParent,
2326 OPC_CheckChild2Same, 2,
2327 OPC_CheckPredicate2,
2328 OPC_CheckPredicate, 13,
2329 OPC_CheckPredicate, 21,
2330 OPC_Scope, 20,
2331 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
2332 OPC_EmitMergeInputChains, 2, 0, 1,
2333 OPC_EmitConvertToTarget3,
2334 OPC_EmitNodeXForm, 0, 6,
2335 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OI), 0|OPFL_Chain|OPFL_MemRefs,
2336 MVT::i32, 3, 4, 5, 7,
2337 20,
2338 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
2339 OPC_EmitMergeInputChains, 2, 0, 1,
2340 OPC_EmitConvertToTarget3,
2341 OPC_EmitNodeXForm, 0, 6,
2342 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OIY), 0|OPFL_Chain|OPFL_MemRefs,
2343 MVT::i32, 3, 4, 5, 7,
2344 0,
2345 52, MVT::i64,
2346 OPC_MoveParent,
2347 OPC_CheckChild2Same, 2,
2348 OPC_CheckPredicate2,
2349 OPC_CheckPredicate, 13,
2350 OPC_CheckPredicate, 21,
2351 OPC_Scope, 20,
2352 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
2353 OPC_EmitMergeInputChains, 2, 0, 1,
2354 OPC_EmitConvertToTarget3,
2355 OPC_EmitNodeXForm, 0, 6,
2356 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OI), 0|OPFL_Chain|OPFL_MemRefs,
2357 MVT::i32, 3, 4, 5, 7,
2358 20,
2359 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
2360 OPC_EmitMergeInputChains, 2, 0, 1,
2361 OPC_EmitConvertToTarget3,
2362 OPC_EmitNodeXForm, 0, 6,
2363 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OIY), 0|OPFL_Chain|OPFL_MemRefs,
2364 MVT::i32, 3, 4, 5, 7,
2365 0,
2366 0,
2367 0,
2368 124, TARGET_VAL(ISD::ATOMIC_LOAD),
2369 OPC_RecordMemRef,
2370 OPC_RecordNode,
2371 OPC_CheckFoldableChainNode,
2372 OPC_RecordChild1,
2373 OPC_CheckChild1TypeI64,
2374 OPC_CheckPredicate, 23,
2375 OPC_CheckPredicate7,
2376 OPC_MoveSibling1,
2377 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2378 OPC_RecordNode,
2379 OPC_MoveParent,
2380 OPC_SwitchType , 52, MVT::i32,
2381 OPC_MoveParent,
2382 OPC_CheckChild2Same, 2,
2383 OPC_CheckPredicate2,
2384 OPC_CheckPredicate, 13,
2385 OPC_CheckPredicate, 21,
2386 OPC_Scope, 20,
2387 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
2388 OPC_EmitMergeInputChains, 2, 0, 1,
2389 OPC_EmitConvertToTarget3,
2390 OPC_EmitNodeXForm, 0, 6,
2391 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OI), 0|OPFL_Chain|OPFL_MemRefs,
2392 MVT::i32, 3, 4, 5, 7,
2393 20,
2394 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
2395 OPC_EmitMergeInputChains, 2, 0, 1,
2396 OPC_EmitConvertToTarget3,
2397 OPC_EmitNodeXForm, 0, 6,
2398 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OIY), 0|OPFL_Chain|OPFL_MemRefs,
2399 MVT::i32, 3, 4, 5, 7,
2400 0,
2401 52, MVT::i64,
2402 OPC_MoveParent,
2403 OPC_CheckChild2Same, 2,
2404 OPC_CheckPredicate2,
2405 OPC_CheckPredicate, 13,
2406 OPC_CheckPredicate, 21,
2407 OPC_Scope, 20,
2408 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
2409 OPC_EmitMergeInputChains, 2, 0, 1,
2410 OPC_EmitConvertToTarget3,
2411 OPC_EmitNodeXForm, 0, 6,
2412 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OI), 0|OPFL_Chain|OPFL_MemRefs,
2413 MVT::i32, 3, 4, 5, 7,
2414 20,
2415 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
2416 OPC_EmitMergeInputChains, 2, 0, 1,
2417 OPC_EmitConvertToTarget3,
2418 OPC_EmitNodeXForm, 0, 6,
2419 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::OIY), 0|OPFL_Chain|OPFL_MemRefs,
2420 MVT::i32, 3, 4, 5, 7,
2421 0,
2422 0,
2423 0,
2424 63|128,11, TARGET_VAL(ISD::XOR),
2425 OPC_MoveChild0,
2426 OPC_SwitchOpcode , 57|128,10, TARGET_VAL(ISD::LOAD),
2427 OPC_RecordMemRef,
2428 OPC_RecordNode,
2429 OPC_CheckFoldableChainNode,
2430 OPC_RecordChild1,
2431 OPC_CheckChild1TypeI64,
2432 OPC_CheckPredicate0,
2433 OPC_Scope, 43,
2434 OPC_CheckPredicate5,
2435 OPC_CheckPredicate, 17,
2436 OPC_MoveSibling1,
2437 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2438 OPC_RecordMemRef,
2439 OPC_RecordNode,
2440 OPC_CheckFoldableChainNode,
2441 OPC_RecordChild1,
2442 OPC_CheckChild1TypeI64,
2443 OPC_CheckPredicate0,
2444 OPC_MoveParent,
2445 OPC_CheckTypeI32,
2446 OPC_MoveParent,
2447 OPC_CheckChild2Same, 4,
2448 OPC_CheckPredicate2,
2449 OPC_CheckPredicate, 10,
2450 OPC_CheckComplexPat1, /*#*/2,
2451 OPC_CheckComplexPat1, /*#*/4,
2452 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2453 OPC_EmitInteger64, 0,
2454 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2455 MVT::i32, 5, 7, 8, 5, 6, 9,
2456 43,
2457 OPC_MoveSibling1,
2458 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2459 OPC_RecordMemRef,
2460 OPC_RecordNode,
2461 OPC_CheckFoldableChainNode,
2462 OPC_RecordChild1,
2463 OPC_CheckChild1TypeI64,
2464 OPC_CheckPredicate0,
2465 OPC_CheckPredicate5,
2466 OPC_CheckPredicate, 17,
2467 OPC_MoveParent,
2468 OPC_CheckTypeI32,
2469 OPC_MoveParent,
2470 OPC_CheckChild2Same, 2,
2471 OPC_CheckPredicate2,
2472 OPC_CheckPredicate, 11,
2473 OPC_CheckComplexPat1, /*#*/2,
2474 OPC_CheckComplexPat1, /*#*/4,
2475 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2476 OPC_EmitInteger64, 0,
2477 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2478 MVT::i32, 5, 5, 6, 7, 8, 9,
2479 43,
2480 OPC_CheckPredicate5,
2481 OPC_CheckPredicate, 18,
2482 OPC_MoveSibling1,
2483 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2484 OPC_RecordMemRef,
2485 OPC_RecordNode,
2486 OPC_CheckFoldableChainNode,
2487 OPC_RecordChild1,
2488 OPC_CheckChild1TypeI64,
2489 OPC_CheckPredicate0,
2490 OPC_MoveParent,
2491 OPC_CheckTypeI32,
2492 OPC_MoveParent,
2493 OPC_CheckChild2Same, 4,
2494 OPC_CheckPredicate2,
2495 OPC_CheckPredicate, 10,
2496 OPC_CheckComplexPat1, /*#*/2,
2497 OPC_CheckComplexPat1, /*#*/4,
2498 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2499 OPC_EmitInteger64, 2,
2500 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2501 MVT::i32, 5, 7, 8, 5, 6, 9,
2502 43,
2503 OPC_MoveSibling1,
2504 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2505 OPC_RecordMemRef,
2506 OPC_RecordNode,
2507 OPC_CheckFoldableChainNode,
2508 OPC_RecordChild1,
2509 OPC_CheckChild1TypeI64,
2510 OPC_CheckPredicate0,
2511 OPC_CheckPredicate5,
2512 OPC_CheckPredicate, 18,
2513 OPC_MoveParent,
2514 OPC_CheckTypeI32,
2515 OPC_MoveParent,
2516 OPC_CheckChild2Same, 2,
2517 OPC_CheckPredicate2,
2518 OPC_CheckPredicate, 11,
2519 OPC_CheckComplexPat1, /*#*/2,
2520 OPC_CheckComplexPat1, /*#*/4,
2521 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2522 OPC_EmitInteger64, 2,
2523 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2524 MVT::i32, 5, 5, 6, 7, 8, 9,
2525 41,
2526 OPC_CheckPredicate3,
2527 OPC_MoveSibling1,
2528 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2529 OPC_RecordMemRef,
2530 OPC_RecordNode,
2531 OPC_CheckFoldableChainNode,
2532 OPC_RecordChild1,
2533 OPC_CheckChild1TypeI64,
2534 OPC_CheckPredicate0,
2535 OPC_MoveParent,
2536 OPC_CheckTypeI32,
2537 OPC_MoveParent,
2538 OPC_CheckChild2Same, 4,
2539 OPC_CheckPredicate2,
2540 OPC_CheckPredicate, 10,
2541 OPC_CheckComplexPat1, /*#*/2,
2542 OPC_CheckComplexPat1, /*#*/4,
2543 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2544 OPC_EmitInteger64, 6,
2545 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2546 MVT::i32, 5, 7, 8, 5, 6, 9,
2547 41,
2548 OPC_MoveSibling1,
2549 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2550 OPC_RecordMemRef,
2551 OPC_RecordNode,
2552 OPC_CheckFoldableChainNode,
2553 OPC_RecordChild1,
2554 OPC_CheckChild1TypeI64,
2555 OPC_CheckPredicate0,
2556 OPC_CheckPredicate3,
2557 OPC_MoveParent,
2558 OPC_CheckTypeI32,
2559 OPC_MoveParent,
2560 OPC_CheckChild2Same, 2,
2561 OPC_CheckPredicate2,
2562 OPC_CheckPredicate, 11,
2563 OPC_CheckComplexPat1, /*#*/2,
2564 OPC_CheckComplexPat1, /*#*/4,
2565 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2566 OPC_EmitInteger64, 6,
2567 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2568 MVT::i32, 5, 5, 6, 7, 8, 9,
2569 43,
2570 OPC_CheckPredicate5,
2571 OPC_CheckPredicate, 17,
2572 OPC_MoveSibling1,
2573 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2574 OPC_RecordMemRef,
2575 OPC_RecordNode,
2576 OPC_CheckFoldableChainNode,
2577 OPC_RecordChild1,
2578 OPC_CheckChild1TypeI64,
2579 OPC_CheckPredicate0,
2580 OPC_MoveParent,
2581 OPC_CheckTypeI64,
2582 OPC_MoveParent,
2583 OPC_CheckChild2Same, 4,
2584 OPC_CheckPredicate2,
2585 OPC_CheckPredicate, 10,
2586 OPC_CheckComplexPat1, /*#*/2,
2587 OPC_CheckComplexPat1, /*#*/4,
2588 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2589 OPC_EmitInteger64, 0,
2590 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2591 MVT::i32, 5, 7, 8, 5, 6, 9,
2592 43,
2593 OPC_MoveSibling1,
2594 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2595 OPC_RecordMemRef,
2596 OPC_RecordNode,
2597 OPC_CheckFoldableChainNode,
2598 OPC_RecordChild1,
2599 OPC_CheckChild1TypeI64,
2600 OPC_CheckPredicate0,
2601 OPC_CheckPredicate5,
2602 OPC_CheckPredicate, 17,
2603 OPC_MoveParent,
2604 OPC_CheckTypeI64,
2605 OPC_MoveParent,
2606 OPC_CheckChild2Same, 2,
2607 OPC_CheckPredicate2,
2608 OPC_CheckPredicate, 11,
2609 OPC_CheckComplexPat1, /*#*/2,
2610 OPC_CheckComplexPat1, /*#*/4,
2611 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2612 OPC_EmitInteger64, 0,
2613 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2614 MVT::i32, 5, 5, 6, 7, 8, 9,
2615 43,
2616 OPC_CheckPredicate5,
2617 OPC_CheckPredicate, 18,
2618 OPC_MoveSibling1,
2619 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2620 OPC_RecordMemRef,
2621 OPC_RecordNode,
2622 OPC_CheckFoldableChainNode,
2623 OPC_RecordChild1,
2624 OPC_CheckChild1TypeI64,
2625 OPC_CheckPredicate0,
2626 OPC_MoveParent,
2627 OPC_CheckTypeI64,
2628 OPC_MoveParent,
2629 OPC_CheckChild2Same, 4,
2630 OPC_CheckPredicate2,
2631 OPC_CheckPredicate, 10,
2632 OPC_CheckComplexPat1, /*#*/2,
2633 OPC_CheckComplexPat1, /*#*/4,
2634 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2635 OPC_EmitInteger64, 2,
2636 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2637 MVT::i32, 5, 7, 8, 5, 6, 9,
2638 43,
2639 OPC_MoveSibling1,
2640 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2641 OPC_RecordMemRef,
2642 OPC_RecordNode,
2643 OPC_CheckFoldableChainNode,
2644 OPC_RecordChild1,
2645 OPC_CheckChild1TypeI64,
2646 OPC_CheckPredicate0,
2647 OPC_CheckPredicate5,
2648 OPC_CheckPredicate, 18,
2649 OPC_MoveParent,
2650 OPC_CheckTypeI64,
2651 OPC_MoveParent,
2652 OPC_CheckChild2Same, 2,
2653 OPC_CheckPredicate2,
2654 OPC_CheckPredicate, 11,
2655 OPC_CheckComplexPat1, /*#*/2,
2656 OPC_CheckComplexPat1, /*#*/4,
2657 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2658 OPC_EmitInteger64, 2,
2659 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2660 MVT::i32, 5, 5, 6, 7, 8, 9,
2661 43,
2662 OPC_CheckPredicate5,
2663 OPC_CheckPredicate, 27,
2664 OPC_MoveSibling1,
2665 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2666 OPC_RecordMemRef,
2667 OPC_RecordNode,
2668 OPC_CheckFoldableChainNode,
2669 OPC_RecordChild1,
2670 OPC_CheckChild1TypeI64,
2671 OPC_CheckPredicate0,
2672 OPC_MoveParent,
2673 OPC_CheckTypeI64,
2674 OPC_MoveParent,
2675 OPC_CheckChild2Same, 4,
2676 OPC_CheckPredicate2,
2677 OPC_CheckPredicate, 10,
2678 OPC_CheckComplexPat1, /*#*/2,
2679 OPC_CheckComplexPat1, /*#*/4,
2680 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2681 OPC_EmitInteger64, 6,
2682 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2683 MVT::i32, 5, 7, 8, 5, 6, 9,
2684 43,
2685 OPC_MoveSibling1,
2686 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2687 OPC_RecordMemRef,
2688 OPC_RecordNode,
2689 OPC_CheckFoldableChainNode,
2690 OPC_RecordChild1,
2691 OPC_CheckChild1TypeI64,
2692 OPC_CheckPredicate0,
2693 OPC_CheckPredicate5,
2694 OPC_CheckPredicate, 27,
2695 OPC_MoveParent,
2696 OPC_CheckTypeI64,
2697 OPC_MoveParent,
2698 OPC_CheckChild2Same, 2,
2699 OPC_CheckPredicate2,
2700 OPC_CheckPredicate, 11,
2701 OPC_CheckComplexPat1, /*#*/2,
2702 OPC_CheckComplexPat1, /*#*/4,
2703 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2704 OPC_EmitInteger64, 6,
2705 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2706 MVT::i32, 5, 5, 6, 7, 8, 9,
2707 41,
2708 OPC_CheckPredicate3,
2709 OPC_MoveSibling1,
2710 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2711 OPC_RecordMemRef,
2712 OPC_RecordNode,
2713 OPC_CheckFoldableChainNode,
2714 OPC_RecordChild1,
2715 OPC_CheckChild1TypeI64,
2716 OPC_CheckPredicate0,
2717 OPC_MoveParent,
2718 OPC_CheckTypeI64,
2719 OPC_MoveParent,
2720 OPC_CheckChild2Same, 4,
2721 OPC_CheckPredicate2,
2722 OPC_CheckPredicate, 10,
2723 OPC_CheckComplexPat1, /*#*/2,
2724 OPC_CheckComplexPat1, /*#*/4,
2725 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2726 OPC_EmitInteger64, 14,
2727 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2728 MVT::i32, 5, 7, 8, 5, 6, 9,
2729 78,
2730 OPC_MoveSibling1,
2731 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2732 OPC_RecordMemRef,
2733 OPC_RecordNode,
2734 OPC_CheckFoldableChainNode,
2735 OPC_RecordChild1,
2736 OPC_CheckChild1TypeI64,
2737 OPC_CheckPredicate0,
2738 OPC_Scope, 31,
2739 OPC_CheckPredicate3,
2740 OPC_MoveParent,
2741 OPC_CheckTypeI64,
2742 OPC_MoveParent,
2743 OPC_CheckChild2Same, 2,
2744 OPC_CheckPredicate2,
2745 OPC_CheckPredicate, 11,
2746 OPC_CheckComplexPat1, /*#*/2,
2747 OPC_CheckComplexPat1, /*#*/4,
2748 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2749 OPC_EmitInteger64, 14,
2750 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2751 MVT::i32, 5, 5, 6, 7, 8, 9,
2752 33,
2753 OPC_CheckPredicate5,
2754 OPC_CheckPredicate, 17,
2755 OPC_MoveParent,
2756 OPC_CheckTypeI32,
2757 OPC_MoveParent,
2758 OPC_CheckChild2Same, 2,
2759 OPC_CheckPredicate2,
2760 OPC_CheckPredicate, 10,
2761 OPC_CheckComplexPat1, /*#*/2,
2762 OPC_CheckComplexPat1, /*#*/4,
2763 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2764 OPC_EmitInteger64, 0,
2765 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2766 MVT::i32, 5, 5, 6, 7, 8, 9,
2767 0,
2768 43,
2769 OPC_CheckPredicate5,
2770 OPC_CheckPredicate, 17,
2771 OPC_MoveSibling1,
2772 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2773 OPC_RecordMemRef,
2774 OPC_RecordNode,
2775 OPC_CheckFoldableChainNode,
2776 OPC_RecordChild1,
2777 OPC_CheckChild1TypeI64,
2778 OPC_CheckPredicate0,
2779 OPC_MoveParent,
2780 OPC_CheckTypeI32,
2781 OPC_MoveParent,
2782 OPC_CheckChild2Same, 4,
2783 OPC_CheckPredicate2,
2784 OPC_CheckPredicate, 11,
2785 OPC_CheckComplexPat1, /*#*/2,
2786 OPC_CheckComplexPat1, /*#*/4,
2787 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2788 OPC_EmitInteger64, 0,
2789 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2790 MVT::i32, 5, 7, 8, 5, 6, 9,
2791 43,
2792 OPC_MoveSibling1,
2793 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2794 OPC_RecordMemRef,
2795 OPC_RecordNode,
2796 OPC_CheckFoldableChainNode,
2797 OPC_RecordChild1,
2798 OPC_CheckChild1TypeI64,
2799 OPC_CheckPredicate0,
2800 OPC_CheckPredicate5,
2801 OPC_CheckPredicate, 18,
2802 OPC_MoveParent,
2803 OPC_CheckTypeI32,
2804 OPC_MoveParent,
2805 OPC_CheckChild2Same, 2,
2806 OPC_CheckPredicate2,
2807 OPC_CheckPredicate, 10,
2808 OPC_CheckComplexPat1, /*#*/2,
2809 OPC_CheckComplexPat1, /*#*/4,
2810 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2811 OPC_EmitInteger64, 2,
2812 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2813 MVT::i32, 5, 5, 6, 7, 8, 9,
2814 43,
2815 OPC_CheckPredicate5,
2816 OPC_CheckPredicate, 18,
2817 OPC_MoveSibling1,
2818 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2819 OPC_RecordMemRef,
2820 OPC_RecordNode,
2821 OPC_CheckFoldableChainNode,
2822 OPC_RecordChild1,
2823 OPC_CheckChild1TypeI64,
2824 OPC_CheckPredicate0,
2825 OPC_MoveParent,
2826 OPC_CheckTypeI32,
2827 OPC_MoveParent,
2828 OPC_CheckChild2Same, 4,
2829 OPC_CheckPredicate2,
2830 OPC_CheckPredicate, 11,
2831 OPC_CheckComplexPat1, /*#*/2,
2832 OPC_CheckComplexPat1, /*#*/4,
2833 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2834 OPC_EmitInteger64, 2,
2835 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2836 MVT::i32, 5, 7, 8, 5, 6, 9,
2837 41,
2838 OPC_MoveSibling1,
2839 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2840 OPC_RecordMemRef,
2841 OPC_RecordNode,
2842 OPC_CheckFoldableChainNode,
2843 OPC_RecordChild1,
2844 OPC_CheckChild1TypeI64,
2845 OPC_CheckPredicate0,
2846 OPC_CheckPredicate3,
2847 OPC_MoveParent,
2848 OPC_CheckTypeI32,
2849 OPC_MoveParent,
2850 OPC_CheckChild2Same, 2,
2851 OPC_CheckPredicate2,
2852 OPC_CheckPredicate, 10,
2853 OPC_CheckComplexPat1, /*#*/2,
2854 OPC_CheckComplexPat1, /*#*/4,
2855 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2856 OPC_EmitInteger64, 6,
2857 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2858 MVT::i32, 5, 5, 6, 7, 8, 9,
2859 41,
2860 OPC_CheckPredicate3,
2861 OPC_MoveSibling1,
2862 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2863 OPC_RecordMemRef,
2864 OPC_RecordNode,
2865 OPC_CheckFoldableChainNode,
2866 OPC_RecordChild1,
2867 OPC_CheckChild1TypeI64,
2868 OPC_CheckPredicate0,
2869 OPC_MoveParent,
2870 OPC_CheckTypeI32,
2871 OPC_MoveParent,
2872 OPC_CheckChild2Same, 4,
2873 OPC_CheckPredicate2,
2874 OPC_CheckPredicate, 11,
2875 OPC_CheckComplexPat1, /*#*/2,
2876 OPC_CheckComplexPat1, /*#*/4,
2877 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2878 OPC_EmitInteger64, 6,
2879 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2880 MVT::i32, 5, 7, 8, 5, 6, 9,
2881 43,
2882 OPC_MoveSibling1,
2883 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2884 OPC_RecordMemRef,
2885 OPC_RecordNode,
2886 OPC_CheckFoldableChainNode,
2887 OPC_RecordChild1,
2888 OPC_CheckChild1TypeI64,
2889 OPC_CheckPredicate0,
2890 OPC_CheckPredicate5,
2891 OPC_CheckPredicate, 17,
2892 OPC_MoveParent,
2893 OPC_CheckTypeI64,
2894 OPC_MoveParent,
2895 OPC_CheckChild2Same, 2,
2896 OPC_CheckPredicate2,
2897 OPC_CheckPredicate, 10,
2898 OPC_CheckComplexPat1, /*#*/2,
2899 OPC_CheckComplexPat1, /*#*/4,
2900 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2901 OPC_EmitInteger64, 0,
2902 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2903 MVT::i32, 5, 5, 6, 7, 8, 9,
2904 43,
2905 OPC_CheckPredicate5,
2906 OPC_CheckPredicate, 17,
2907 OPC_MoveSibling1,
2908 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2909 OPC_RecordMemRef,
2910 OPC_RecordNode,
2911 OPC_CheckFoldableChainNode,
2912 OPC_RecordChild1,
2913 OPC_CheckChild1TypeI64,
2914 OPC_CheckPredicate0,
2915 OPC_MoveParent,
2916 OPC_CheckTypeI64,
2917 OPC_MoveParent,
2918 OPC_CheckChild2Same, 4,
2919 OPC_CheckPredicate2,
2920 OPC_CheckPredicate, 11,
2921 OPC_CheckComplexPat1, /*#*/2,
2922 OPC_CheckComplexPat1, /*#*/4,
2923 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2924 OPC_EmitInteger64, 0,
2925 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2926 MVT::i32, 5, 7, 8, 5, 6, 9,
2927 43,
2928 OPC_MoveSibling1,
2929 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2930 OPC_RecordMemRef,
2931 OPC_RecordNode,
2932 OPC_CheckFoldableChainNode,
2933 OPC_RecordChild1,
2934 OPC_CheckChild1TypeI64,
2935 OPC_CheckPredicate0,
2936 OPC_CheckPredicate5,
2937 OPC_CheckPredicate, 18,
2938 OPC_MoveParent,
2939 OPC_CheckTypeI64,
2940 OPC_MoveParent,
2941 OPC_CheckChild2Same, 2,
2942 OPC_CheckPredicate2,
2943 OPC_CheckPredicate, 10,
2944 OPC_CheckComplexPat1, /*#*/2,
2945 OPC_CheckComplexPat1, /*#*/4,
2946 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2947 OPC_EmitInteger64, 2,
2948 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2949 MVT::i32, 5, 5, 6, 7, 8, 9,
2950 43,
2951 OPC_CheckPredicate5,
2952 OPC_CheckPredicate, 18,
2953 OPC_MoveSibling1,
2954 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2955 OPC_RecordMemRef,
2956 OPC_RecordNode,
2957 OPC_CheckFoldableChainNode,
2958 OPC_RecordChild1,
2959 OPC_CheckChild1TypeI64,
2960 OPC_CheckPredicate0,
2961 OPC_MoveParent,
2962 OPC_CheckTypeI64,
2963 OPC_MoveParent,
2964 OPC_CheckChild2Same, 4,
2965 OPC_CheckPredicate2,
2966 OPC_CheckPredicate, 11,
2967 OPC_CheckComplexPat1, /*#*/2,
2968 OPC_CheckComplexPat1, /*#*/4,
2969 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2970 OPC_EmitInteger64, 2,
2971 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2972 MVT::i32, 5, 7, 8, 5, 6, 9,
2973 43,
2974 OPC_MoveSibling1,
2975 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2976 OPC_RecordMemRef,
2977 OPC_RecordNode,
2978 OPC_CheckFoldableChainNode,
2979 OPC_RecordChild1,
2980 OPC_CheckChild1TypeI64,
2981 OPC_CheckPredicate0,
2982 OPC_CheckPredicate5,
2983 OPC_CheckPredicate, 27,
2984 OPC_MoveParent,
2985 OPC_CheckTypeI64,
2986 OPC_MoveParent,
2987 OPC_CheckChild2Same, 2,
2988 OPC_CheckPredicate2,
2989 OPC_CheckPredicate, 10,
2990 OPC_CheckComplexPat1, /*#*/2,
2991 OPC_CheckComplexPat1, /*#*/4,
2992 OPC_EmitMergeInputChains, 3, 0, 1, 3,
2993 OPC_EmitInteger64, 6,
2994 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
2995 MVT::i32, 5, 5, 6, 7, 8, 9,
2996 43,
2997 OPC_CheckPredicate5,
2998 OPC_CheckPredicate, 27,
2999 OPC_MoveSibling1,
3000 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3001 OPC_RecordMemRef,
3002 OPC_RecordNode,
3003 OPC_CheckFoldableChainNode,
3004 OPC_RecordChild1,
3005 OPC_CheckChild1TypeI64,
3006 OPC_CheckPredicate0,
3007 OPC_MoveParent,
3008 OPC_CheckTypeI64,
3009 OPC_MoveParent,
3010 OPC_CheckChild2Same, 4,
3011 OPC_CheckPredicate2,
3012 OPC_CheckPredicate, 11,
3013 OPC_CheckComplexPat1, /*#*/2,
3014 OPC_CheckComplexPat1, /*#*/4,
3015 OPC_EmitMergeInputChains, 3, 0, 1, 3,
3016 OPC_EmitInteger64, 6,
3017 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
3018 MVT::i32, 5, 7, 8, 5, 6, 9,
3019 41,
3020 OPC_MoveSibling1,
3021 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3022 OPC_RecordMemRef,
3023 OPC_RecordNode,
3024 OPC_CheckFoldableChainNode,
3025 OPC_RecordChild1,
3026 OPC_CheckChild1TypeI64,
3027 OPC_CheckPredicate0,
3028 OPC_CheckPredicate3,
3029 OPC_MoveParent,
3030 OPC_CheckTypeI64,
3031 OPC_MoveParent,
3032 OPC_CheckChild2Same, 2,
3033 OPC_CheckPredicate2,
3034 OPC_CheckPredicate, 10,
3035 OPC_CheckComplexPat1, /*#*/2,
3036 OPC_CheckComplexPat1, /*#*/4,
3037 OPC_EmitMergeInputChains, 3, 0, 1, 3,
3038 OPC_EmitInteger64, 14,
3039 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
3040 MVT::i32, 5, 5, 6, 7, 8, 9,
3041 41,
3042 OPC_CheckPredicate3,
3043 OPC_MoveSibling1,
3044 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3045 OPC_RecordMemRef,
3046 OPC_RecordNode,
3047 OPC_CheckFoldableChainNode,
3048 OPC_RecordChild1,
3049 OPC_CheckChild1TypeI64,
3050 OPC_CheckPredicate0,
3051 OPC_MoveParent,
3052 OPC_CheckTypeI64,
3053 OPC_MoveParent,
3054 OPC_CheckChild2Same, 4,
3055 OPC_CheckPredicate2,
3056 OPC_CheckPredicate, 11,
3057 OPC_CheckComplexPat1, /*#*/2,
3058 OPC_CheckComplexPat1, /*#*/4,
3059 OPC_EmitMergeInputChains, 3, 0, 1, 3,
3060 OPC_EmitInteger64, 14,
3061 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XCImm), 0|OPFL_Chain|OPFL_MemRefs,
3062 MVT::i32, 5, 7, 8, 5, 6, 9,
3063 119,
3064 OPC_CheckPredicate, 23,
3065 OPC_CheckPredicate7,
3066 OPC_MoveSibling1,
3067 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3068 OPC_RecordNode,
3069 OPC_MoveParent,
3070 OPC_SwitchType , 52, MVT::i32,
3071 OPC_MoveParent,
3072 OPC_CheckChild2Same, 2,
3073 OPC_CheckPredicate2,
3074 OPC_CheckPredicate, 13,
3075 OPC_CheckPredicate, 21,
3076 OPC_Scope, 20,
3077 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
3078 OPC_EmitMergeInputChains, 2, 0, 1,
3079 OPC_EmitConvertToTarget3,
3080 OPC_EmitNodeXForm, 0, 6,
3081 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XI), 0|OPFL_Chain|OPFL_MemRefs,
3082 MVT::i32, 3, 4, 5, 7,
3083 20,
3084 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
3085 OPC_EmitMergeInputChains, 2, 0, 1,
3086 OPC_EmitConvertToTarget3,
3087 OPC_EmitNodeXForm, 0, 6,
3088 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XIY), 0|OPFL_Chain|OPFL_MemRefs,
3089 MVT::i32, 3, 4, 5, 7,
3090 0,
3091 52, MVT::i64,
3092 OPC_MoveParent,
3093 OPC_CheckChild2Same, 2,
3094 OPC_CheckPredicate2,
3095 OPC_CheckPredicate, 13,
3096 OPC_CheckPredicate, 21,
3097 OPC_Scope, 20,
3098 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
3099 OPC_EmitMergeInputChains, 2, 0, 1,
3100 OPC_EmitConvertToTarget3,
3101 OPC_EmitNodeXForm, 0, 6,
3102 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XI), 0|OPFL_Chain|OPFL_MemRefs,
3103 MVT::i32, 3, 4, 5, 7,
3104 20,
3105 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
3106 OPC_EmitMergeInputChains, 2, 0, 1,
3107 OPC_EmitConvertToTarget3,
3108 OPC_EmitNodeXForm, 0, 6,
3109 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XIY), 0|OPFL_Chain|OPFL_MemRefs,
3110 MVT::i32, 3, 4, 5, 7,
3111 0,
3112 0,
3113 0,
3114 124, TARGET_VAL(ISD::ATOMIC_LOAD),
3115 OPC_RecordMemRef,
3116 OPC_RecordNode,
3117 OPC_CheckFoldableChainNode,
3118 OPC_RecordChild1,
3119 OPC_CheckChild1TypeI64,
3120 OPC_CheckPredicate, 23,
3121 OPC_CheckPredicate7,
3122 OPC_MoveSibling1,
3123 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3124 OPC_RecordNode,
3125 OPC_MoveParent,
3126 OPC_SwitchType , 52, MVT::i32,
3127 OPC_MoveParent,
3128 OPC_CheckChild2Same, 2,
3129 OPC_CheckPredicate2,
3130 OPC_CheckPredicate, 13,
3131 OPC_CheckPredicate, 21,
3132 OPC_Scope, 20,
3133 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
3134 OPC_EmitMergeInputChains, 2, 0, 1,
3135 OPC_EmitConvertToTarget3,
3136 OPC_EmitNodeXForm, 0, 6,
3137 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XI), 0|OPFL_Chain|OPFL_MemRefs,
3138 MVT::i32, 3, 4, 5, 7,
3139 20,
3140 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
3141 OPC_EmitMergeInputChains, 2, 0, 1,
3142 OPC_EmitConvertToTarget3,
3143 OPC_EmitNodeXForm, 0, 6,
3144 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XIY), 0|OPFL_Chain|OPFL_MemRefs,
3145 MVT::i32, 3, 4, 5, 7,
3146 0,
3147 52, MVT::i64,
3148 OPC_MoveParent,
3149 OPC_CheckChild2Same, 2,
3150 OPC_CheckPredicate2,
3151 OPC_CheckPredicate, 13,
3152 OPC_CheckPredicate, 21,
3153 OPC_Scope, 20,
3154 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
3155 OPC_EmitMergeInputChains, 2, 0, 1,
3156 OPC_EmitConvertToTarget3,
3157 OPC_EmitNodeXForm, 0, 6,
3158 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XI), 0|OPFL_Chain|OPFL_MemRefs,
3159 MVT::i32, 3, 4, 5, 7,
3160 20,
3161 OPC_CheckComplexPat, /*CP*/9, /*#*/2,
3162 OPC_EmitMergeInputChains, 2, 0, 1,
3163 OPC_EmitConvertToTarget3,
3164 OPC_EmitNodeXForm, 0, 6,
3165 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::XIY), 0|OPFL_Chain|OPFL_MemRefs,
3166 MVT::i32, 3, 4, 5, 7,
3167 0,
3168 0,
3169 0,
3170 29|128,1, TARGET_VAL(ISD::ADD),
3171 OPC_MoveChild0,
3172 OPC_SwitchOpcode , 75, TARGET_VAL(ISD::LOAD),
3173 OPC_RecordMemRef,
3174 OPC_RecordNode,
3175 OPC_CheckFoldableChainNode,
3176 OPC_RecordChild1,
3177 OPC_CheckChild1TypeI64,
3178 OPC_CheckPredicate0,
3179 OPC_CheckPredicate3,
3180 OPC_CheckPredicate1,
3181 OPC_MoveSibling1,
3182 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3183 OPC_RecordNode,
3184 OPC_Scope, 29,
3185 OPC_CheckPredicate, 59,
3186 OPC_MoveParent,
3187 OPC_CheckTypeI32,
3188 OPC_MoveParent,
3189 OPC_CheckChild2Same, 2,
3190 OPC_CheckPredicate2,
3191 OPC_CheckPredicate, 14,
3192 OPC_CheckComplexPat6, /*#*/2,
3193 OPC_EmitMergeInputChains, 2, 0, 1,
3194 OPC_EmitConvertToTarget3,
3195 OPC_EmitNodeXForm, 1, 6,
3196 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ASI), 0|OPFL_Chain|OPFL_MemRefs,
3197 MVT::i32, 3, 4, 5, 7,
3198 29,
3199 OPC_CheckPredicate, 59,
3200 OPC_MoveParent,
3201 OPC_CheckTypeI64,
3202 OPC_MoveParent,
3203 OPC_CheckChild2Same, 2,
3204 OPC_CheckPredicate2,
3205 OPC_CheckPredicate, 14,
3206 OPC_CheckComplexPat6, /*#*/2,
3207 OPC_EmitMergeInputChains, 2, 0, 1,
3208 OPC_EmitConvertToTarget3,
3209 OPC_EmitNodeXForm, 1, 6,
3210 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::AGSI), 0|OPFL_Chain|OPFL_MemRefs,
3211 MVT::i32, 3, 4, 5, 7,
3212 0,
3213 73, TARGET_VAL(ISD::ATOMIC_LOAD),
3214 OPC_RecordMemRef,
3215 OPC_RecordNode,
3216 OPC_CheckFoldableChainNode,
3217 OPC_RecordChild1,
3218 OPC_CheckChild1TypeI64,
3219 OPC_CheckPredicate1,
3220 OPC_MoveSibling1,
3221 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3222 OPC_RecordNode,
3223 OPC_Scope, 29,
3224 OPC_CheckPredicate, 59,
3225 OPC_MoveParent,
3226 OPC_CheckTypeI32,
3227 OPC_MoveParent,
3228 OPC_CheckChild2Same, 2,
3229 OPC_CheckPredicate2,
3230 OPC_CheckPredicate, 14,
3231 OPC_CheckComplexPat6, /*#*/2,
3232 OPC_EmitMergeInputChains, 2, 0, 1,
3233 OPC_EmitConvertToTarget3,
3234 OPC_EmitNodeXForm, 1, 6,
3235 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ASI), 0|OPFL_Chain|OPFL_MemRefs,
3236 MVT::i32, 3, 4, 5, 7,
3237 29,
3238 OPC_CheckPredicate, 59,
3239 OPC_MoveParent,
3240 OPC_CheckTypeI64,
3241 OPC_MoveParent,
3242 OPC_CheckChild2Same, 2,
3243 OPC_CheckPredicate2,
3244 OPC_CheckPredicate, 14,
3245 OPC_CheckComplexPat6, /*#*/2,
3246 OPC_EmitMergeInputChains, 2, 0, 1,
3247 OPC_EmitConvertToTarget3,
3248 OPC_EmitNodeXForm, 1, 6,
3249 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::AGSI), 0|OPFL_Chain|OPFL_MemRefs,
3250 MVT::i32, 3, 4, 5, 7,
3251 0,
3252 0,
3253 62|128,2, TARGET_VAL(ISD::LOAD),
3254 OPC_RecordMemRef,
3255 OPC_RecordNode,
3256 OPC_CheckFoldableChainNode,
3257 OPC_RecordChild1,
3258 OPC_CheckChild1TypeI64,
3259 OPC_CheckPredicate0,
3260 OPC_Scope, 64,
3261 OPC_CheckPredicate5,
3262 OPC_CheckTypeI32,
3263 OPC_Scope, 29,
3264 OPC_CheckPredicate, 17,
3265 OPC_MoveParent,
3266 OPC_RecordChild2,
3267 OPC_CheckChild2TypeI64,
3268 OPC_CheckPredicate2,
3269 OPC_CheckPredicate, 35,
3270 OPC_CheckComplexPat1, /*#*/2,
3271 OPC_CheckComplexPat1, /*#*/3,
3272 OPC_EmitMergeInputChains, 2, 0, 1,
3273 OPC_EmitInteger64, 0,
3274 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3275 MVT::i32, 5, 6, 7, 4, 5, 8,
3276 29,
3277 OPC_CheckPredicate, 18,
3278 OPC_MoveParent,
3279 OPC_RecordChild2,
3280 OPC_CheckChild2TypeI64,
3281 OPC_CheckPredicate2,
3282 OPC_CheckPredicate, 35,
3283 OPC_CheckComplexPat1, /*#*/2,
3284 OPC_CheckComplexPat1, /*#*/3,
3285 OPC_EmitMergeInputChains, 2, 0, 1,
3286 OPC_EmitInteger64, 2,
3287 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3288 MVT::i32, 5, 6, 7, 4, 5, 8,
3289 0,
3290 29,
3291 OPC_CheckPredicate3,
3292 OPC_CheckTypeI32,
3293 OPC_MoveParent,
3294 OPC_RecordChild2,
3295 OPC_CheckChild2TypeI64,
3296 OPC_CheckPredicate2,
3297 OPC_CheckPredicate, 35,
3298 OPC_CheckComplexPat1, /*#*/2,
3299 OPC_CheckComplexPat1, /*#*/3,
3300 OPC_EmitMergeInputChains, 2, 0, 1,
3301 OPC_EmitInteger64, 6,
3302 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3303 MVT::i32, 5, 6, 7, 4, 5, 8,
3304 94,
3305 OPC_CheckPredicate5,
3306 OPC_CheckTypeI64,
3307 OPC_Scope, 29,
3308 OPC_CheckPredicate, 17,
3309 OPC_MoveParent,
3310 OPC_RecordChild2,
3311 OPC_CheckChild2TypeI64,
3312 OPC_CheckPredicate2,
3313 OPC_CheckPredicate, 35,
3314 OPC_CheckComplexPat1, /*#*/2,
3315 OPC_CheckComplexPat1, /*#*/3,
3316 OPC_EmitMergeInputChains, 2, 0, 1,
3317 OPC_EmitInteger64, 0,
3318 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3319 MVT::i32, 5, 6, 7, 4, 5, 8,
3320 29,
3321 OPC_CheckPredicate, 18,
3322 OPC_MoveParent,
3323 OPC_RecordChild2,
3324 OPC_CheckChild2TypeI64,
3325 OPC_CheckPredicate2,
3326 OPC_CheckPredicate, 35,
3327 OPC_CheckComplexPat1, /*#*/2,
3328 OPC_CheckComplexPat1, /*#*/3,
3329 OPC_EmitMergeInputChains, 2, 0, 1,
3330 OPC_EmitInteger64, 2,
3331 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3332 MVT::i32, 5, 6, 7, 4, 5, 8,
3333 29,
3334 OPC_CheckPredicate, 27,
3335 OPC_MoveParent,
3336 OPC_RecordChild2,
3337 OPC_CheckChild2TypeI64,
3338 OPC_CheckPredicate2,
3339 OPC_CheckPredicate, 35,
3340 OPC_CheckComplexPat1, /*#*/2,
3341 OPC_CheckComplexPat1, /*#*/3,
3342 OPC_EmitMergeInputChains, 2, 0, 1,
3343 OPC_EmitInteger64, 6,
3344 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3345 MVT::i32, 5, 6, 7, 4, 5, 8,
3346 0,
3347 119,
3348 OPC_CheckPredicate3,
3349 OPC_SwitchType , 27, MVT::i64,
3350 OPC_MoveParent,
3351 OPC_RecordChild2,
3352 OPC_CheckChild2TypeI64,
3353 OPC_CheckPredicate2,
3354 OPC_CheckPredicate, 35,
3355 OPC_CheckComplexPat1, /*#*/2,
3356 OPC_CheckComplexPat1, /*#*/3,
3357 OPC_EmitMergeInputChains, 2, 0, 1,
3358 OPC_EmitInteger64, 14,
3359 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3360 MVT::i32, 5, 6, 7, 4, 5, 8,
3361 27, MVT::f32,
3362 OPC_MoveParent,
3363 OPC_RecordChild2,
3364 OPC_CheckChild2TypeI64,
3365 OPC_CheckPredicate2,
3366 OPC_CheckPredicate, 35,
3367 OPC_CheckComplexPat1, /*#*/2,
3368 OPC_CheckComplexPat1, /*#*/3,
3369 OPC_EmitMergeInputChains, 2, 0, 1,
3370 OPC_EmitInteger64, 6,
3371 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3372 MVT::i32, 5, 6, 7, 4, 5, 8,
3373 27, MVT::f64,
3374 OPC_MoveParent,
3375 OPC_RecordChild2,
3376 OPC_CheckChild2TypeI64,
3377 OPC_CheckPredicate2,
3378 OPC_CheckPredicate, 35,
3379 OPC_CheckComplexPat1, /*#*/2,
3380 OPC_CheckComplexPat1, /*#*/3,
3381 OPC_EmitMergeInputChains, 2, 0, 1,
3382 OPC_EmitInteger64, 14,
3383 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3384 MVT::i32, 5, 6, 7, 4, 5, 8,
3385 27, MVT::f128,
3386 OPC_MoveParent,
3387 OPC_RecordChild2,
3388 OPC_CheckChild2TypeI64,
3389 OPC_CheckPredicate2,
3390 OPC_CheckPredicate, 35,
3391 OPC_CheckComplexPat1, /*#*/2,
3392 OPC_CheckComplexPat1, /*#*/3,
3393 OPC_EmitMergeInputChains, 2, 0, 1,
3394 OPC_EmitInteger64, 30,
3395 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MVCImm), 0|OPFL_Chain|OPFL_MemRefs,
3396 MVT::i32, 5, 6, 7, 4, 5, 8,
3397 0,
3398 0,
3399 113, TARGET_VAL(ISD::SRL),
3400 OPC_RecordChild0,
3401 OPC_CheckType, MVT::i128,
3402 OPC_Scope, 27,
3403 OPC_CheckChild1Integer, 64,
3404 OPC_CheckChild1TypeI32,
3405 OPC_MoveParent,
3406 OPC_RecordChild2,
3407 OPC_CheckChild2TypeI64,
3408 OPC_CheckPredicate2,
3409 OPC_CheckPredicate, 13,
3410 OPC_CheckPredicate, 45,
3411 OPC_CheckPatternPredicate0,
3412 OPC_CheckComplexPat0, /*#*/2,
3413 OPC_EmitMergeInputChains1_0,
3414 OPC_EmitInteger32, 4,
3415 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3416 5, 1, 3, 4, 5, 6,
3417 50,
3418 OPC_CheckChild1Integer, 0|128,1,
3419 OPC_CheckChild1TypeI32,
3420 OPC_MoveParent,
3421 OPC_RecordChild2,
3422 OPC_CheckChild2TypeI64,
3423 OPC_CheckPredicate2,
3424 OPC_CheckPredicate, 13,
3425 OPC_Scope, 18,
3426 OPC_CheckPredicate, 45,
3427 OPC_CheckPatternPredicate0,
3428 OPC_CheckComplexPat0, /*#*/2,
3429 OPC_EmitMergeInputChains1_0,
3430 OPC_EmitInteger32, 2,
3431 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3432 5, 1, 3, 4, 5, 6,
3433 18,
3434 OPC_CheckPredicate, 71,
3435 OPC_CheckPatternPredicate0,
3436 OPC_CheckComplexPat0, /*#*/2,
3437 OPC_EmitMergeInputChains1_0,
3438 OPC_EmitInteger32, 0,
3439 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEG), 0|OPFL_Chain|OPFL_MemRefs,
3440 5, 1, 3, 4, 5, 6,
3441 0,
3442 28,
3443 OPC_CheckChild1Integer, 64|128,1,
3444 OPC_CheckChild1TypeI32,
3445 OPC_MoveParent,
3446 OPC_RecordChild2,
3447 OPC_CheckChild2TypeI64,
3448 OPC_CheckPredicate2,
3449 OPC_CheckPredicate, 13,
3450 OPC_CheckPredicate, 45,
3451 OPC_CheckPatternPredicate0,
3452 OPC_CheckComplexPat0, /*#*/2,
3453 OPC_EmitMergeInputChains1_0,
3454 OPC_EmitInteger32, 0,
3455 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3456 5, 1, 3, 4, 5, 6,
3457 0,
3458 78|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
3459 OPC_RecordChild0,
3460 OPC_Scope, 33,
3461 OPC_CheckChild0Type, MVT::v16i8,
3462 OPC_RecordChild1,
3463 OPC_MoveChild1,
3464 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3465 OPC_CheckPredicate4,
3466 OPC_MoveParent,
3467 OPC_CheckTypeI32,
3468 OPC_MoveParent,
3469 OPC_RecordChild2,
3470 OPC_CheckChild2TypeI64,
3471 OPC_CheckPredicate2,
3472 OPC_CheckPredicate, 13,
3473 OPC_CheckPredicate, 21,
3474 OPC_CheckPatternPredicate0,
3475 OPC_CheckComplexPat0, /*#*/3,
3476 OPC_EmitMergeInputChains1_0,
3477 OPC_EmitConvertToTarget2,
3478 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEB), 0|OPFL_Chain|OPFL_MemRefs,
3479 5, 1, 4, 5, 6, 7,
3480 34,
3481 OPC_CheckChild0Type, MVT::v8i16,
3482 OPC_RecordChild1,
3483 OPC_MoveChild1,
3484 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3485 OPC_CheckPredicate, 51,
3486 OPC_MoveParent,
3487 OPC_CheckTypeI32,
3488 OPC_MoveParent,
3489 OPC_RecordChild2,
3490 OPC_CheckChild2TypeI64,
3491 OPC_CheckPredicate2,
3492 OPC_CheckPredicate, 13,
3493 OPC_CheckPredicate, 31,
3494 OPC_CheckPatternPredicate0,
3495 OPC_CheckComplexPat0, /*#*/3,
3496 OPC_EmitMergeInputChains1_0,
3497 OPC_EmitConvertToTarget2,
3498 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEH), 0|OPFL_Chain|OPFL_MemRefs,
3499 5, 1, 4, 5, 6, 7,
3500 32,
3501 OPC_CheckChild0Type, MVT::v4i32,
3502 OPC_RecordChild1,
3503 OPC_MoveChild1,
3504 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3505 OPC_CheckPredicate, 36,
3506 OPC_MoveParent,
3507 OPC_CheckTypeI32,
3508 OPC_MoveParent,
3509 OPC_RecordChild2,
3510 OPC_CheckChild2TypeI64,
3511 OPC_CheckPredicate2,
3512 OPC_CheckPredicate, 14,
3513 OPC_CheckPatternPredicate0,
3514 OPC_CheckComplexPat0, /*#*/3,
3515 OPC_EmitMergeInputChains1_0,
3516 OPC_EmitConvertToTarget2,
3517 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3518 5, 1, 4, 5, 6, 7,
3519 32,
3520 OPC_CheckChild0Type, MVT::v2i64,
3521 OPC_RecordChild1,
3522 OPC_MoveChild1,
3523 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3524 OPC_CheckPredicate, 37,
3525 OPC_MoveParent,
3526 OPC_CheckTypeI64,
3527 OPC_MoveParent,
3528 OPC_RecordChild2,
3529 OPC_CheckChild2TypeI64,
3530 OPC_CheckPredicate2,
3531 OPC_CheckPredicate, 14,
3532 OPC_CheckPatternPredicate0,
3533 OPC_CheckComplexPat0, /*#*/3,
3534 OPC_EmitMergeInputChains1_0,
3535 OPC_EmitConvertToTarget2,
3536 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEG), 0|OPFL_Chain|OPFL_MemRefs,
3537 5, 1, 4, 5, 6, 7,
3538 33,
3539 OPC_CheckChild0Type, MVT::v4f32,
3540 OPC_RecordChild1,
3541 OPC_MoveChild1,
3542 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3543 OPC_CheckPredicate, 36,
3544 OPC_MoveParent,
3545 OPC_CheckType, MVT::f32,
3546 OPC_MoveParent,
3547 OPC_RecordChild2,
3548 OPC_CheckChild2TypeI64,
3549 OPC_CheckPredicate2,
3550 OPC_CheckPredicate, 14,
3551 OPC_CheckPatternPredicate0,
3552 OPC_CheckComplexPat0, /*#*/3,
3553 OPC_EmitMergeInputChains1_0,
3554 OPC_EmitConvertToTarget2,
3555 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3556 5, 1, 4, 5, 6, 7,
3557 33,
3558 OPC_CheckChild0Type, MVT::v2f64,
3559 OPC_RecordChild1,
3560 OPC_MoveChild1,
3561 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3562 OPC_CheckPredicate, 37,
3563 OPC_MoveParent,
3564 OPC_CheckType, MVT::f64,
3565 OPC_MoveParent,
3566 OPC_RecordChild2,
3567 OPC_CheckChild2TypeI64,
3568 OPC_CheckPredicate2,
3569 OPC_CheckPredicate, 14,
3570 OPC_CheckPatternPredicate0,
3571 OPC_CheckComplexPat0, /*#*/3,
3572 OPC_EmitMergeInputChains1_0,
3573 OPC_EmitConvertToTarget2,
3574 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEG), 0|OPFL_Chain|OPFL_MemRefs,
3575 5, 1, 4, 5, 6, 7,
3576 0,
3577 25, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
3578 OPC_RecordNode,
3579 OPC_CheckFoldableChainNode,
3580 OPC_CheckChild1Integer, 12|128,42|128,1,
3581 OPC_MoveParent,
3582 OPC_RecordChild2,
3583 OPC_CheckChild2TypeI64,
3584 OPC_CheckPredicate2,
3585 OPC_CheckPredicate, 14,
3586 OPC_CheckComplexPat1, /*#*/2,
3587 OPC_EmitMergeInputChains, 2, 0, 1,
3588 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STFPC), 0|OPFL_Chain|OPFL_MemRefs,
3589 2, 3, 4,
3590 0,
3591 108|128,7,
3592 OPC_RecordChild1,
3593 OPC_Scope, 18,
3594 OPC_CheckChild1TypeI32,
3595 OPC_RecordChild2,
3596 OPC_CheckChild2TypeI64,
3597 OPC_CheckPredicate2,
3598 OPC_CheckPredicate, 14,
3599 OPC_CheckPredicate, 15,
3600 OPC_CheckComplexPat5, /*#*/2,
3601 OPC_EmitMergeInputChains1_0,
3602 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRL), 0|OPFL_Chain|OPFL_MemRefs,
3603 2, 1, 3,
3604 18,
3605 OPC_CheckChild1TypeI64,
3606 OPC_RecordChild2,
3607 OPC_CheckChild2TypeI64,
3608 OPC_CheckPredicate2,
3609 OPC_CheckPredicate, 14,
3610 OPC_CheckPredicate, 15,
3611 OPC_CheckComplexPat5, /*#*/2,
3612 OPC_EmitMergeInputChains1_0,
3613 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STGRL), 0|OPFL_Chain|OPFL_MemRefs,
3614 2, 1, 3,
3615 58,
3616 OPC_MoveChild1,
3617 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3618 OPC_SwitchType , 24, MVT::i32,
3619 OPC_CheckPredicate, 20,
3620 OPC_MoveParent,
3621 OPC_RecordChild2,
3622 OPC_CheckChild2TypeI64,
3623 OPC_CheckPredicate2,
3624 OPC_CheckPredicate, 14,
3625 OPC_CheckComplexPat, /*CP*/14, /*#*/2,
3626 OPC_EmitMergeInputChains1_0,
3627 OPC_EmitConvertToTarget1,
3628 OPC_EmitNodeXForm, 2, 5,
3629 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVHI), 0|OPFL_Chain|OPFL_MemRefs,
3630 3, 3, 4, 6,
3631 24, MVT::i64,
3632 OPC_CheckPredicate, 20,
3633 OPC_MoveParent,
3634 OPC_RecordChild2,
3635 OPC_CheckChild2TypeI64,
3636 OPC_CheckPredicate2,
3637 OPC_CheckPredicate, 14,
3638 OPC_CheckComplexPat, /*CP*/14, /*#*/2,
3639 OPC_EmitMergeInputChains1_0,
3640 OPC_EmitConvertToTarget1,
3641 OPC_EmitNodeXForm, 2, 5,
3642 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVGHI), 0|OPFL_Chain|OPFL_MemRefs,
3643 3, 3, 4, 6,
3644 0,
3645 82,
3646 OPC_CheckChild1TypeI32,
3647 OPC_RecordChild2,
3648 OPC_CheckChild2TypeI64,
3649 OPC_CheckPredicate2,
3650 OPC_Scope, 16,
3651 OPC_CheckPredicate, 13,
3652 OPC_CheckPredicate, 31,
3653 OPC_CheckPredicate, 15,
3654 OPC_CheckComplexPat5, /*#*/2,
3655 OPC_EmitMergeInputChains1_0,
3656 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHRL), 0|OPFL_Chain|OPFL_MemRefs,
3657 2, 1, 3,
3658 58,
3659 OPC_CheckPredicate, 14,
3660 OPC_Scope, 13,
3661 OPC_CheckPatternPredicate2,
3662 OPC_CheckComplexPat2, /*#*/2,
3663 OPC_EmitMergeInputChains1_0,
3664 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STMux), 0|OPFL_Chain|OPFL_MemRefs,
3665 4, 1, 3, 4, 5,
3666 12,
3667 OPC_CheckComplexPat3, /*#*/2,
3668 OPC_EmitMergeInputChains1_0,
3669 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ST), 0|OPFL_Chain|OPFL_MemRefs,
3670 4, 1, 3, 4, 5,
3671 12,
3672 OPC_CheckComplexPat4, /*#*/2,
3673 OPC_EmitMergeInputChains1_0,
3674 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STY), 0|OPFL_Chain|OPFL_MemRefs,
3675 4, 1, 3, 4, 5,
3676 13,
3677 OPC_CheckPatternPredicate2,
3678 OPC_CheckComplexPat2, /*#*/2,
3679 OPC_EmitMergeInputChains1_0,
3680 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STFH), 0|OPFL_Chain|OPFL_MemRefs,
3681 4, 1, 3, 4, 5,
3682 0,
3683 0,
3684 74,
3685 OPC_CheckChild1TypeI64,
3686 OPC_RecordChild2,
3687 OPC_CheckChild2TypeI64,
3688 OPC_CheckPredicate2,
3689 OPC_Scope, 52,
3690 OPC_CheckPredicate, 13,
3691 OPC_Scope, 23,
3692 OPC_CheckPredicate, 31,
3693 OPC_CheckPredicate, 15,
3694 OPC_CheckComplexPat5, /*#*/2,
3695 OPC_EmitMergeInputChains1_0,
3696 OPC_EmitStringInteger32, SystemZ::subreg_l32,
3697 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3698 MVT::i32, 2, 1, 4,
3699 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHRL), 0|OPFL_Chain|OPFL_MemRefs,
3700 2, 5, 3,
3701 23,
3702 OPC_CheckPredicate, 45,
3703 OPC_CheckPredicate, 15,
3704 OPC_CheckComplexPat5, /*#*/2,
3705 OPC_EmitMergeInputChains1_0,
3706 OPC_EmitStringInteger32, SystemZ::subreg_l32,
3707 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3708 MVT::i32, 2, 1, 4,
3709 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRL), 0|OPFL_Chain|OPFL_MemRefs,
3710 2, 5, 3,
3711 0,
3712 14,
3713 OPC_CheckPredicate, 14,
3714 OPC_CheckComplexPat2, /*#*/2,
3715 OPC_EmitMergeInputChains1_0,
3716 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STG), 0|OPFL_Chain|OPFL_MemRefs,
3717 4, 1, 3, 4, 5,
3718 0,
3719 20,
3720 OPC_CheckChild1Type, MVT::Untyped,
3721 OPC_RecordChild2,
3722 OPC_CheckChild2TypeI64,
3723 OPC_CheckPredicate2,
3724 OPC_CheckPredicate, 14,
3725 OPC_CheckComplexPat, /*CP*/15, /*#*/2,
3726 OPC_EmitMergeInputChains1_0,
3727 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ST128), 0|OPFL_Chain|OPFL_MemRefs,
3728 4, 1, 3, 4, 5,
3729 71,
3730 OPC_MoveChild1,
3731 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3732 OPC_CheckTypeI32,
3733 OPC_MoveParent,
3734 OPC_RecordChild2,
3735 OPC_CheckChild2TypeI64,
3736 OPC_CheckPredicate2,
3737 OPC_CheckPredicate, 13,
3738 OPC_Scope, 38,
3739 OPC_CheckPredicate, 21,
3740 OPC_Scope, 16,
3741 OPC_CheckComplexPat, /*CP*/14, /*#*/2,
3742 OPC_EmitMergeInputChains1_0,
3743 OPC_EmitConvertToTarget1,
3744 OPC_EmitNodeXForm, 0, 5,
3745 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVI), 0|OPFL_Chain|OPFL_MemRefs,
3746 3, 3, 4, 6,
3747 16,
3748 OPC_CheckComplexPat, /*CP*/16, /*#*/2,
3749 OPC_EmitMergeInputChains1_0,
3750 OPC_EmitConvertToTarget1,
3751 OPC_EmitNodeXForm, 0, 5,
3752 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVIY), 0|OPFL_Chain|OPFL_MemRefs,
3753 3, 3, 4, 6,
3754 0,
3755 18,
3756 OPC_CheckPredicate, 31,
3757 OPC_CheckComplexPat, /*CP*/14, /*#*/2,
3758 OPC_EmitMergeInputChains1_0,
3759 OPC_EmitConvertToTarget1,
3760 OPC_EmitNodeXForm, 2, 5,
3761 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::MVHHI), 0|OPFL_Chain|OPFL_MemRefs,
3762 3, 3, 4, 6,
3763 0,
3764 126,
3765 OPC_CheckChild1TypeI32,
3766 OPC_RecordChild2,
3767 OPC_CheckChild2TypeI64,
3768 OPC_CheckPredicate2,
3769 OPC_CheckPredicate, 13,
3770 OPC_Scope, 58,
3771 OPC_CheckPredicate, 21,
3772 OPC_Scope, 13,
3773 OPC_CheckPatternPredicate2,
3774 OPC_CheckComplexPat2, /*#*/2,
3775 OPC_EmitMergeInputChains1_0,
3776 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STCMux), 0|OPFL_Chain|OPFL_MemRefs,
3777 4, 1, 3, 4, 5,
3778 12,
3779 OPC_CheckComplexPat3, /*#*/2,
3780 OPC_EmitMergeInputChains1_0,
3781 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STC), 0|OPFL_Chain|OPFL_MemRefs,
3782 4, 1, 3, 4, 5,
3783 12,
3784 OPC_CheckComplexPat4, /*#*/2,
3785 OPC_EmitMergeInputChains1_0,
3786 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STCY), 0|OPFL_Chain|OPFL_MemRefs,
3787 4, 1, 3, 4, 5,
3788 13,
3789 OPC_CheckPatternPredicate2,
3790 OPC_CheckComplexPat2, /*#*/2,
3791 OPC_EmitMergeInputChains1_0,
3792 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STCH), 0|OPFL_Chain|OPFL_MemRefs,
3793 4, 1, 3, 4, 5,
3794 0,
3795 58,
3796 OPC_CheckPredicate, 31,
3797 OPC_Scope, 13,
3798 OPC_CheckPatternPredicate2,
3799 OPC_CheckComplexPat2, /*#*/2,
3800 OPC_EmitMergeInputChains1_0,
3801 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHMux), 0|OPFL_Chain|OPFL_MemRefs,
3802 4, 1, 3, 4, 5,
3803 12,
3804 OPC_CheckComplexPat3, /*#*/2,
3805 OPC_EmitMergeInputChains1_0,
3806 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STH), 0|OPFL_Chain|OPFL_MemRefs,
3807 4, 1, 3, 4, 5,
3808 12,
3809 OPC_CheckComplexPat4, /*#*/2,
3810 OPC_EmitMergeInputChains1_0,
3811 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHY), 0|OPFL_Chain|OPFL_MemRefs,
3812 4, 1, 3, 4, 5,
3813 13,
3814 OPC_CheckPatternPredicate2,
3815 OPC_CheckComplexPat2, /*#*/2,
3816 OPC_EmitMergeInputChains1_0,
3817 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHH), 0|OPFL_Chain|OPFL_MemRefs,
3818 4, 1, 3, 4, 5,
3819 0,
3820 0,
3821 49,
3822 OPC_CheckChild1Type, MVT::f32,
3823 OPC_RecordChild2,
3824 OPC_CheckChild2TypeI64,
3825 OPC_CheckPredicate2,
3826 OPC_CheckPredicate, 14,
3827 OPC_Scope, 13,
3828 OPC_CheckPatternPredicate0,
3829 OPC_CheckComplexPat3, /*#*/2,
3830 OPC_EmitMergeInputChains1_0,
3831 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST32), 0|OPFL_Chain|OPFL_MemRefs,
3832 4, 1, 3, 4, 5,
3833 12,
3834 OPC_CheckComplexPat3, /*#*/2,
3835 OPC_EmitMergeInputChains1_0,
3836 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STE), 0|OPFL_Chain|OPFL_MemRefs,
3837 4, 1, 3, 4, 5,
3838 12,
3839 OPC_CheckComplexPat4, /*#*/2,
3840 OPC_EmitMergeInputChains1_0,
3841 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STEY), 0|OPFL_Chain|OPFL_MemRefs,
3842 4, 1, 3, 4, 5,
3843 0,
3844 49,
3845 OPC_CheckChild1Type, MVT::f64,
3846 OPC_RecordChild2,
3847 OPC_CheckChild2TypeI64,
3848 OPC_CheckPredicate2,
3849 OPC_CheckPredicate, 14,
3850 OPC_Scope, 13,
3851 OPC_CheckPatternPredicate0,
3852 OPC_CheckComplexPat3, /*#*/2,
3853 OPC_EmitMergeInputChains1_0,
3854 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST64), 0|OPFL_Chain|OPFL_MemRefs,
3855 4, 1, 3, 4, 5,
3856 12,
3857 OPC_CheckComplexPat3, /*#*/2,
3858 OPC_EmitMergeInputChains1_0,
3859 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STD), 0|OPFL_Chain|OPFL_MemRefs,
3860 4, 1, 3, 4, 5,
3861 12,
3862 OPC_CheckComplexPat4, /*#*/2,
3863 OPC_EmitMergeInputChains1_0,
3864 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STDY), 0|OPFL_Chain|OPFL_MemRefs,
3865 4, 1, 3, 4, 5,
3866 0,
3867 20,
3868 OPC_CheckChild1Type, MVT::v16i8,
3869 OPC_RecordChild2,
3870 OPC_CheckChild2TypeI64,
3871 OPC_CheckPredicate2,
3872 OPC_CheckPredicate, 14,
3873 OPC_CheckPatternPredicate0,
3874 OPC_CheckComplexPat0, /*#*/2,
3875 OPC_EmitMergeInputChains1_0,
3876 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3877 4, 1, 3, 4, 5,
3878 20,
3879 OPC_CheckChild1Type, MVT::v8i16,
3880 OPC_RecordChild2,
3881 OPC_CheckChild2TypeI64,
3882 OPC_CheckPredicate2,
3883 OPC_CheckPredicate, 14,
3884 OPC_CheckPatternPredicate0,
3885 OPC_CheckComplexPat0, /*#*/2,
3886 OPC_EmitMergeInputChains1_0,
3887 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3888 4, 1, 3, 4, 5,
3889 20,
3890 OPC_CheckChild1Type, MVT::v4i32,
3891 OPC_RecordChild2,
3892 OPC_CheckChild2TypeI64,
3893 OPC_CheckPredicate2,
3894 OPC_CheckPredicate, 14,
3895 OPC_CheckPatternPredicate0,
3896 OPC_CheckComplexPat0, /*#*/2,
3897 OPC_EmitMergeInputChains1_0,
3898 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3899 4, 1, 3, 4, 5,
3900 20,
3901 OPC_CheckChild1Type, MVT::v2i64,
3902 OPC_RecordChild2,
3903 OPC_CheckChild2TypeI64,
3904 OPC_CheckPredicate2,
3905 OPC_CheckPredicate, 14,
3906 OPC_CheckPatternPredicate0,
3907 OPC_CheckComplexPat0, /*#*/2,
3908 OPC_EmitMergeInputChains1_0,
3909 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3910 4, 1, 3, 4, 5,
3911 20,
3912 OPC_CheckChild1Type, MVT::v4f32,
3913 OPC_RecordChild2,
3914 OPC_CheckChild2TypeI64,
3915 OPC_CheckPredicate2,
3916 OPC_CheckPredicate, 14,
3917 OPC_CheckPatternPredicate0,
3918 OPC_CheckComplexPat0, /*#*/2,
3919 OPC_EmitMergeInputChains1_0,
3920 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3921 4, 1, 3, 4, 5,
3922 20,
3923 OPC_CheckChild1Type, MVT::v2f64,
3924 OPC_RecordChild2,
3925 OPC_CheckChild2TypeI64,
3926 OPC_CheckPredicate2,
3927 OPC_CheckPredicate, 14,
3928 OPC_CheckPatternPredicate0,
3929 OPC_CheckComplexPat0, /*#*/2,
3930 OPC_EmitMergeInputChains1_0,
3931 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3932 4, 1, 3, 4, 5,
3933 104,
3934 OPC_CheckChild1Type, MVT::i128,
3935 OPC_RecordChild2,
3936 OPC_CheckChild2TypeI64,
3937 OPC_CheckPredicate2,
3938 OPC_Scope, 15,
3939 OPC_CheckPredicate, 14,
3940 OPC_CheckPatternPredicate0,
3941 OPC_CheckComplexPat0, /*#*/2,
3942 OPC_EmitMergeInputChains1_0,
3943 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3944 4, 1, 3, 4, 5,
3945 80,
3946 OPC_CheckPredicate, 13,
3947 OPC_Scope, 18,
3948 OPC_CheckPredicate, 21,
3949 OPC_CheckPatternPredicate0,
3950 OPC_CheckComplexPat0, /*#*/2,
3951 OPC_EmitMergeInputChains1_0,
3952 OPC_EmitInteger32, 30,
3953 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEB), 0|OPFL_Chain|OPFL_MemRefs,
3954 5, 1, 3, 4, 5, 6,
3955 18,
3956 OPC_CheckPredicate, 31,
3957 OPC_CheckPatternPredicate0,
3958 OPC_CheckComplexPat0, /*#*/2,
3959 OPC_EmitMergeInputChains1_0,
3960 OPC_EmitInteger32, 14,
3961 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEH), 0|OPFL_Chain|OPFL_MemRefs,
3962 5, 1, 3, 4, 5, 6,
3963 18,
3964 OPC_CheckPredicate, 45,
3965 OPC_CheckPatternPredicate0,
3966 OPC_CheckComplexPat0, /*#*/2,
3967 OPC_EmitMergeInputChains1_0,
3968 OPC_EmitInteger32, 6,
3969 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEF), 0|OPFL_Chain|OPFL_MemRefs,
3970 5, 1, 3, 4, 5, 6,
3971 18,
3972 OPC_CheckPredicate, 71,
3973 OPC_CheckPatternPredicate0,
3974 OPC_CheckComplexPat0, /*#*/2,
3975 OPC_EmitMergeInputChains1_0,
3976 OPC_EmitInteger32, 2,
3977 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEG), 0|OPFL_Chain|OPFL_MemRefs,
3978 5, 1, 3, 4, 5, 6,
3979 0,
3980 0,
3981 37,
3982 OPC_CheckChild1Type, MVT::f128,
3983 OPC_RecordChild2,
3984 OPC_CheckChild2TypeI64,
3985 OPC_CheckPredicate2,
3986 OPC_CheckPredicate, 14,
3987 OPC_Scope, 13,
3988 OPC_CheckPatternPredicate1,
3989 OPC_CheckComplexPat0, /*#*/2,
3990 OPC_EmitMergeInputChains1_0,
3991 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VST), 0|OPFL_Chain|OPFL_MemRefs,
3992 4, 1, 3, 4, 5,
3993 13,
3994 OPC_CheckComplexPat, /*CP*/15, /*#*/2,
3995 OPC_EmitMergeInputChains1_0,
3996 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STX), 0|OPFL_Chain|OPFL_MemRefs,
3997 4, 1, 3, 4, 5,
3998 0,
3999 27|128,1,
4000 OPC_CheckChild1TypeI64,
4001 OPC_RecordChild2,
4002 OPC_CheckChild2TypeI64,
4003 OPC_CheckPredicate2,
4004 OPC_CheckPredicate, 13,
4005 OPC_Scope, 48,
4006 OPC_CheckPredicate, 21,
4007 OPC_Scope, 21,
4008 OPC_CheckComplexPat3, /*#*/2,
4009 OPC_EmitMergeInputChains1_0,
4010 OPC_EmitStringInteger32, SystemZ::subreg_l32,
4011 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4012 MVT::i32, 2, 1, 6,
4013 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STC), 0|OPFL_Chain|OPFL_MemRefs,
4014 4, 7, 3, 4, 5,
4015 21,
4016 OPC_CheckComplexPat4, /*#*/2,
4017 OPC_EmitMergeInputChains1_0,
4018 OPC_EmitStringInteger32, SystemZ::subreg_l32,
4019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4020 MVT::i32, 2, 1, 6,
4021 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STCY), 0|OPFL_Chain|OPFL_MemRefs,
4022 4, 7, 3, 4, 5,
4023 0,
4024 48,
4025 OPC_CheckPredicate, 31,
4026 OPC_Scope, 21,
4027 OPC_CheckComplexPat3, /*#*/2,
4028 OPC_EmitMergeInputChains1_0,
4029 OPC_EmitStringInteger32, SystemZ::subreg_l32,
4030 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4031 MVT::i32, 2, 1, 6,
4032 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STH), 0|OPFL_Chain|OPFL_MemRefs,
4033 4, 7, 3, 4, 5,
4034 21,
4035 OPC_CheckComplexPat4, /*#*/2,
4036 OPC_EmitMergeInputChains1_0,
4037 OPC_EmitStringInteger32, SystemZ::subreg_l32,
4038 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4039 MVT::i32, 2, 1, 6,
4040 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STHY), 0|OPFL_Chain|OPFL_MemRefs,
4041 4, 7, 3, 4, 5,
4042 0,
4043 48,
4044 OPC_CheckPredicate, 45,
4045 OPC_Scope, 21,
4046 OPC_CheckComplexPat3, /*#*/2,
4047 OPC_EmitMergeInputChains1_0,
4048 OPC_EmitStringInteger32, SystemZ::subreg_l32,
4049 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4050 MVT::i32, 2, 1, 6,
4051 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ST), 0|OPFL_Chain|OPFL_MemRefs,
4052 4, 7, 3, 4, 5,
4053 21,
4054 OPC_CheckComplexPat4, /*#*/2,
4055 OPC_EmitMergeInputChains1_0,
4056 OPC_EmitStringInteger32, SystemZ::subreg_l32,
4057 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4058 MVT::i32, 2, 1, 6,
4059 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STY), 0|OPFL_Chain|OPFL_MemRefs,
4060 4, 7, 3, 4, 5,
4061 0,
4062 0,
4063 0,
4064 0,
4065 105|128,9, TARGET_VAL(ISD::LOAD),
4066 OPC_RecordMemRef,
4067 OPC_RecordNode,
4068 OPC_Scope, 25,
4069 OPC_MoveChild1,
4070 OPC_CheckOpcode, TARGET_VAL(SystemZISD::ADA_ENTRY),
4071 OPC_RecordChild0,
4072 OPC_RecordChild1,
4073 OPC_RecordChild2,
4074 OPC_MoveParent,
4075 OPC_CheckPredicate0,
4076 OPC_CheckPredicate3,
4077 OPC_CheckPredicate1,
4078 OPC_CheckTypeI64,
4079 OPC_CheckPatternPredicate, 12,
4080 OPC_EmitMergeInputChains1_0,
4081 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADA_ENTRY_VALUE), 0|OPFL_Chain|OPFL_MemRefs,
4082 MVT::i64, MVT::i32, 3, 1, 2, 3,
4083 73|128,9,
4084 OPC_RecordChild1,
4085 OPC_CheckChild1TypeI64,
4086 OPC_CheckPredicate0,
4087 OPC_Scope, 30,
4088 OPC_CheckPredicate3,
4089 OPC_CheckPredicate1,
4090 OPC_CheckPredicate, 15,
4091 OPC_SwitchType , 10, MVT::i32,
4092 OPC_CheckComplexPat5, /*#*/1,
4093 OPC_EmitMergeInputChains1_0,
4094 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRL), 0|OPFL_Chain|OPFL_MemRefs,
4095 MVT::i32, 1, 2,
4096 10, MVT::i64,
4097 OPC_CheckComplexPat5, /*#*/1,
4098 OPC_EmitMergeInputChains1_0,
4099 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGRL), 0|OPFL_Chain|OPFL_MemRefs,
4100 MVT::i64, 1, 2,
4101 0,
4102 50,
4103 OPC_CheckPredicate, 12,
4104 OPC_Scope, 29,
4105 OPC_CheckPredicate6,
4106 OPC_CheckPredicate, 15,
4107 OPC_SwitchType , 10, MVT::i32,
4108 OPC_CheckComplexPat5, /*#*/1,
4109 OPC_EmitMergeInputChains1_0,
4110 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHRL), 0|OPFL_Chain|OPFL_MemRefs,
4111 MVT::i32, 1, 2,
4112 10, MVT::i64,
4113 OPC_CheckComplexPat5, /*#*/1,
4114 OPC_EmitMergeInputChains1_0,
4115 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGHRL), 0|OPFL_Chain|OPFL_MemRefs,
4116 MVT::i64, 1, 2,
4117 0,
4118 15,
4119 OPC_CheckPredicate, 9,
4120 OPC_CheckPredicate, 15,
4121 OPC_CheckTypeI64,
4122 OPC_CheckComplexPat5, /*#*/1,
4123 OPC_EmitMergeInputChains1_0,
4124 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGFRL), 0|OPFL_Chain|OPFL_MemRefs,
4125 MVT::i64, 1, 2,
4126 0,
4127 50,
4128 OPC_CheckPredicate, 8,
4129 OPC_Scope, 29,
4130 OPC_CheckPredicate6,
4131 OPC_CheckPredicate, 15,
4132 OPC_SwitchType , 10, MVT::i32,
4133 OPC_CheckComplexPat5, /*#*/1,
4134 OPC_EmitMergeInputChains1_0,
4135 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHRL), 0|OPFL_Chain|OPFL_MemRefs,
4136 MVT::i32, 1, 2,
4137 10, MVT::i64,
4138 OPC_CheckComplexPat5, /*#*/1,
4139 OPC_EmitMergeInputChains1_0,
4140 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGHRL), 0|OPFL_Chain|OPFL_MemRefs,
4141 MVT::i64, 1, 2,
4142 0,
4143 15,
4144 OPC_CheckPredicate, 9,
4145 OPC_CheckPredicate, 15,
4146 OPC_CheckTypeI64,
4147 OPC_CheckComplexPat5, /*#*/1,
4148 OPC_EmitMergeInputChains1_0,
4149 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGFRL), 0|OPFL_Chain|OPFL_MemRefs,
4150 MVT::i64, 1, 2,
4151 0,
4152 127,
4153 OPC_CheckPredicate3,
4154 OPC_Scope, 75,
4155 OPC_CheckPredicate1,
4156 OPC_SwitchType , 56, MVT::i32,
4157 OPC_Scope, 13,
4158 OPC_CheckPatternPredicate2,
4159 OPC_CheckComplexPat2, /*#*/1,
4160 OPC_EmitMergeInputChains1_0,
4161 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LMux), 0|OPFL_Chain|OPFL_MemRefs,
4162 MVT::i32, 3, 2, 3, 4,
4163 12,
4164 OPC_CheckComplexPat3, /*#*/1,
4165 OPC_EmitMergeInputChains1_0,
4166 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::L), 0|OPFL_Chain|OPFL_MemRefs,
4167 MVT::i32, 3, 2, 3, 4,
4168 12,
4169 OPC_CheckComplexPat4, /*#*/1,
4170 OPC_EmitMergeInputChains1_0,
4171 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LY), 0|OPFL_Chain|OPFL_MemRefs,
4172 MVT::i32, 3, 2, 3, 4,
4173 13,
4174 OPC_CheckPatternPredicate2,
4175 OPC_CheckComplexPat2, /*#*/1,
4176 OPC_EmitMergeInputChains1_0,
4177 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LFH), 0|OPFL_Chain|OPFL_MemRefs,
4178 MVT::i32, 3, 2, 3, 4,
4179 0,
4180 12, MVT::i64,
4181 OPC_CheckComplexPat2, /*#*/1,
4182 OPC_EmitMergeInputChains1_0,
4183 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LG), 0|OPFL_Chain|OPFL_MemRefs,
4184 MVT::i64, 3, 2, 3, 4,
4185 0,
4186 15,
4187 OPC_CheckType, MVT::Untyped,
4188 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
4189 OPC_EmitMergeInputChains1_0,
4190 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::L128), 0|OPFL_Chain|OPFL_MemRefs,
4191 MVT::Untyped, 3, 2, 3, 4,
4192 15,
4193 OPC_CheckTypeI32,
4194 OPC_CheckPredicate1,
4195 OPC_CheckComplexPat2, /*#*/1,
4196 OPC_EmitMergeInputChains1_0,
4197 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LT), 0|OPFL_Chain|OPFL_MemRefs,
4198 MVT::i32, MVT::i32, 3, 2, 3, 4,
4199 15,
4200 OPC_CheckTypeI64,
4201 OPC_CheckPredicate1,
4202 OPC_CheckComplexPat2, /*#*/1,
4203 OPC_EmitMergeInputChains1_0,
4204 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LTG), 0|OPFL_Chain|OPFL_MemRefs,
4205 MVT::i64, MVT::i32, 3, 2, 3, 4,
4206 0,
4207 44|128,1,
4208 OPC_CheckPredicate, 12,
4209 OPC_SwitchType , 105, MVT::i32,
4210 OPC_Scope, 44,
4211 OPC_CheckPredicate7,
4212 OPC_Scope, 13,
4213 OPC_CheckPatternPredicate2,
4214 OPC_CheckComplexPat2, /*#*/1,
4215 OPC_EmitMergeInputChains1_0,
4216 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LBMux), 0|OPFL_Chain|OPFL_MemRefs,
4217 MVT::i32, 3, 2, 3, 4,
4218 12,
4219 OPC_CheckComplexPat2, /*#*/1,
4220 OPC_EmitMergeInputChains1_0,
4221 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LB), 0|OPFL_Chain|OPFL_MemRefs,
4222 MVT::i32, 3, 2, 3, 4,
4223 13,
4224 OPC_CheckPatternPredicate2,
4225 OPC_CheckComplexPat2, /*#*/1,
4226 OPC_EmitMergeInputChains1_0,
4227 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LBH), 0|OPFL_Chain|OPFL_MemRefs,
4228 MVT::i32, 3, 2, 3, 4,
4229 0,
4230 57,
4231 OPC_CheckPredicate6,
4232 OPC_Scope, 13,
4233 OPC_CheckPatternPredicate2,
4234 OPC_CheckComplexPat2, /*#*/1,
4235 OPC_EmitMergeInputChains1_0,
4236 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHMux), 0|OPFL_Chain|OPFL_MemRefs,
4237 MVT::i32, 3, 2, 3, 4,
4238 12,
4239 OPC_CheckComplexPat3, /*#*/1,
4240 OPC_EmitMergeInputChains1_0,
4241 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LH), 0|OPFL_Chain|OPFL_MemRefs,
4242 MVT::i32, 3, 2, 3, 4,
4243 12,
4244 OPC_CheckComplexPat4, /*#*/1,
4245 OPC_EmitMergeInputChains1_0,
4246 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHY), 0|OPFL_Chain|OPFL_MemRefs,
4247 MVT::i32, 3, 2, 3, 4,
4248 13,
4249 OPC_CheckPatternPredicate2,
4250 OPC_CheckComplexPat2, /*#*/1,
4251 OPC_EmitMergeInputChains1_0,
4252 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHH), 0|OPFL_Chain|OPFL_MemRefs,
4253 MVT::i32, 3, 2, 3, 4,
4254 0,
4255 0,
4256 59, MVT::i64,
4257 OPC_Scope, 13,
4258 OPC_CheckPredicate7,
4259 OPC_CheckComplexPat2, /*#*/1,
4260 OPC_EmitMergeInputChains1_0,
4261 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGB), 0|OPFL_Chain|OPFL_MemRefs,
4262 MVT::i64, 3, 2, 3, 4,
4263 13,
4264 OPC_CheckPredicate6,
4265 OPC_CheckComplexPat2, /*#*/1,
4266 OPC_EmitMergeInputChains1_0,
4267 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGH), 0|OPFL_Chain|OPFL_MemRefs,
4268 MVT::i64, 3, 2, 3, 4,
4269 28,
4270 OPC_CheckPredicate, 9,
4271 OPC_CheckComplexPat2, /*#*/1,
4272 OPC_EmitMergeInputChains1_0,
4273 OPC_Scope, 9,
4274 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGF), 0|OPFL_Chain|OPFL_MemRefs,
4275 MVT::i64, 3, 2, 3, 4,
4276 10,
4277 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LTGF), 0|OPFL_Chain|OPFL_MemRefs,
4278 MVT::i64, MVT::i32, 3, 2, 3, 4,
4279 0,
4280 0,
4281 0,
4282 17|128,1,
4283 OPC_CheckPredicate, 8,
4284 OPC_SwitchType , 92, MVT::i32,
4285 OPC_Scope, 44,
4286 OPC_CheckPredicate7,
4287 OPC_Scope, 13,
4288 OPC_CheckPatternPredicate2,
4289 OPC_CheckComplexPat2, /*#*/1,
4290 OPC_EmitMergeInputChains1_0,
4291 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLCMux), 0|OPFL_Chain|OPFL_MemRefs,
4292 MVT::i32, 3, 2, 3, 4,
4293 12,
4294 OPC_CheckComplexPat2, /*#*/1,
4295 OPC_EmitMergeInputChains1_0,
4296 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLC), 0|OPFL_Chain|OPFL_MemRefs,
4297 MVT::i32, 3, 2, 3, 4,
4298 13,
4299 OPC_CheckPatternPredicate2,
4300 OPC_CheckComplexPat2, /*#*/1,
4301 OPC_EmitMergeInputChains1_0,
4302 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLCH), 0|OPFL_Chain|OPFL_MemRefs,
4303 MVT::i32, 3, 2, 3, 4,
4304 0,
4305 44,
4306 OPC_CheckPredicate6,
4307 OPC_Scope, 13,
4308 OPC_CheckPatternPredicate2,
4309 OPC_CheckComplexPat2, /*#*/1,
4310 OPC_EmitMergeInputChains1_0,
4311 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHMux), 0|OPFL_Chain|OPFL_MemRefs,
4312 MVT::i32, 3, 2, 3, 4,
4313 12,
4314 OPC_CheckComplexPat2, /*#*/1,
4315 OPC_EmitMergeInputChains1_0,
4316 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLH), 0|OPFL_Chain|OPFL_MemRefs,
4317 MVT::i32, 3, 2, 3, 4,
4318 13,
4319 OPC_CheckPatternPredicate2,
4320 OPC_CheckComplexPat2, /*#*/1,
4321 OPC_EmitMergeInputChains1_0,
4322 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHH), 0|OPFL_Chain|OPFL_MemRefs,
4323 MVT::i32, 3, 2, 3, 4,
4324 0,
4325 0,
4326 45, MVT::i64,
4327 OPC_Scope, 13,
4328 OPC_CheckPredicate7,
4329 OPC_CheckComplexPat2, /*#*/1,
4330 OPC_EmitMergeInputChains1_0,
4331 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGC), 0|OPFL_Chain|OPFL_MemRefs,
4332 MVT::i64, 3, 2, 3, 4,
4333 13,
4334 OPC_CheckPredicate6,
4335 OPC_CheckComplexPat2, /*#*/1,
4336 OPC_EmitMergeInputChains1_0,
4337 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGH), 0|OPFL_Chain|OPFL_MemRefs,
4338 MVT::i64, 3, 2, 3, 4,
4339 14,
4340 OPC_CheckPredicate, 9,
4341 OPC_CheckComplexPat2, /*#*/1,
4342 OPC_EmitMergeInputChains1_0,
4343 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGF), 0|OPFL_Chain|OPFL_MemRefs,
4344 MVT::i64, 3, 2, 3, 4,
4345 0,
4346 0,
4347 16,
4348 OPC_CheckPredicate3,
4349 OPC_CheckType, MVT::i128,
4350 OPC_CheckPatternPredicate0,
4351 OPC_CheckComplexPat0, /*#*/1,
4352 OPC_EmitMergeInputChains1_0,
4353 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4354 MVT::i128, 3, 2, 3, 4,
4355 70,
4356 OPC_CheckPredicate, 32,
4357 OPC_CheckPredicate, 72,
4358 OPC_CheckType, MVT::i128,
4359 OPC_Scope, 14,
4360 OPC_CheckPredicate7,
4361 OPC_CheckPatternPredicate0,
4362 OPC_CheckComplexPat0, /*#*/1,
4363 OPC_EmitMergeInputChains1_0,
4364 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
4365 MVT::i128, 3, 2, 3, 4,
4366 14,
4367 OPC_CheckPredicate6,
4368 OPC_CheckPatternPredicate0,
4369 OPC_CheckComplexPat0, /*#*/1,
4370 OPC_EmitMergeInputChains1_0,
4371 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
4372 MVT::i128, 3, 2, 3, 4,
4373 15,
4374 OPC_CheckPredicate, 9,
4375 OPC_CheckPatternPredicate0,
4376 OPC_CheckComplexPat0, /*#*/1,
4377 OPC_EmitMergeInputChains1_0,
4378 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
4379 MVT::i128, 3, 2, 3, 4,
4380 15,
4381 OPC_CheckPredicate, 52,
4382 OPC_CheckPatternPredicate0,
4383 OPC_CheckComplexPat0, /*#*/1,
4384 OPC_EmitMergeInputChains1_0,
4385 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
4386 MVT::i128, 3, 2, 3, 4,
4387 0,
4388 116,
4389 OPC_CheckPredicate, 73,
4390 OPC_CheckType, MVT::i128,
4391 OPC_Scope, 26,
4392 OPC_CheckPredicate7,
4393 OPC_CheckPatternPredicate0,
4394 OPC_CheckComplexPat0, /*#*/1,
4395 OPC_EmitMergeInputChains1_0,
4396 OPC_EmitInteger32, 0,
4397 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4398 MVT::i128, 1, 5,
4399 OPC_EmitInteger32, 30,
4400 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEB), 0|OPFL_Chain|OPFL_MemRefs,
4401 MVT::i128, 5, 6, 2, 3, 4, 7,
4402 26,
4403 OPC_CheckPredicate6,
4404 OPC_CheckPatternPredicate0,
4405 OPC_CheckComplexPat0, /*#*/1,
4406 OPC_EmitMergeInputChains1_0,
4407 OPC_EmitInteger32, 0,
4408 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4409 MVT::i128, 1, 5,
4410 OPC_EmitInteger32, 14,
4411 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEH), 0|OPFL_Chain|OPFL_MemRefs,
4412 MVT::i128, 5, 6, 2, 3, 4, 7,
4413 27,
4414 OPC_CheckPredicate, 9,
4415 OPC_CheckPatternPredicate0,
4416 OPC_CheckComplexPat0, /*#*/1,
4417 OPC_EmitMergeInputChains1_0,
4418 OPC_EmitInteger32, 0,
4419 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4420 MVT::i128, 1, 5,
4421 OPC_EmitInteger32, 6,
4422 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
4423 MVT::i128, 5, 6, 2, 3, 4, 7,
4424 27,
4425 OPC_CheckPredicate, 52,
4426 OPC_CheckPatternPredicate0,
4427 OPC_CheckComplexPat0, /*#*/1,
4428 OPC_EmitMergeInputChains1_0,
4429 OPC_EmitInteger32, 0,
4430 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4431 MVT::i128, 1, 5,
4432 OPC_EmitInteger32, 2,
4433 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
4434 MVT::i128, 5, 6, 2, 3, 4, 7,
4435 0,
4436 16|128,1,
4437 OPC_CheckPredicate, 74,
4438 OPC_CheckType, MVT::i128,
4439 OPC_Scope, 33,
4440 OPC_CheckPredicate7,
4441 OPC_CheckPatternPredicate0,
4442 OPC_CheckComplexPat0, /*#*/1,
4443 OPC_EmitMergeInputChains1_0,
4444 OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
4445 MVT::i128, 3, 2, 3, 4,
4446 OPC_EmitInteger32, 112|128,1,
4447 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4448 MVT::i128, 1, 6,
4449 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4450 MVT::i128, 2, 5, 7,
4451 OPC_CompleteMatch, 1, 8,
4452
4453 33,
4454 OPC_CheckPredicate6,
4455 OPC_CheckPatternPredicate0,
4456 OPC_CheckComplexPat0, /*#*/1,
4457 OPC_EmitMergeInputChains1_0,
4458 OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
4459 MVT::i128, 3, 2, 3, 4,
4460 OPC_EmitInteger32, 96|128,1,
4461 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4462 MVT::i128, 1, 6,
4463 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4464 MVT::i128, 2, 5, 7,
4465 OPC_CompleteMatch, 1, 8,
4466
4467 34,
4468 OPC_CheckPredicate, 9,
4469 OPC_CheckPatternPredicate0,
4470 OPC_CheckComplexPat0, /*#*/1,
4471 OPC_EmitMergeInputChains1_0,
4472 OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
4473 MVT::i128, 3, 2, 3, 4,
4474 OPC_EmitInteger32, 64|128,1,
4475 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4476 MVT::i128, 1, 6,
4477 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4478 MVT::i128, 2, 5, 7,
4479 OPC_CompleteMatch, 1, 8,
4480
4481 34,
4482 OPC_CheckPredicate, 52,
4483 OPC_CheckPatternPredicate0,
4484 OPC_CheckComplexPat0, /*#*/1,
4485 OPC_EmitMergeInputChains1_0,
4486 OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
4487 MVT::i128, 3, 2, 3, 4,
4488 OPC_EmitInteger32, 0|128,1,
4489 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4490 MVT::i128, 1, 6,
4491 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4492 MVT::i128, 2, 5, 7,
4493 OPC_CompleteMatch, 1, 8,
4494
4495 0,
4496 6|128,1,
4497 OPC_CheckPredicate3,
4498 OPC_Scope, 33,
4499 OPC_CheckPredicate1,
4500 OPC_SwitchType , 13, MVT::f32,
4501 OPC_CheckPatternPredicate0,
4502 OPC_CheckComplexPat3, /*#*/1,
4503 OPC_EmitMergeInputChains1_0,
4504 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL32), 0|OPFL_Chain|OPFL_MemRefs,
4505 MVT::f32, 3, 2, 3, 4,
4506 13, MVT::f64,
4507 OPC_CheckPatternPredicate0,
4508 OPC_CheckComplexPat3, /*#*/1,
4509 OPC_EmitMergeInputChains1_0,
4510 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL64), 0|OPFL_Chain|OPFL_MemRefs,
4511 MVT::f64, 3, 2, 3, 4,
4512 0,
4513 32,
4514 OPC_CheckType, MVT::f128,
4515 OPC_Scope, 13,
4516 OPC_CheckPatternPredicate1,
4517 OPC_CheckComplexPat0, /*#*/1,
4518 OPC_EmitMergeInputChains1_0,
4519 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4520 MVT::f128, 3, 2, 3, 4,
4521 13,
4522 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
4523 OPC_EmitMergeInputChains1_0,
4524 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LX), 0|OPFL_Chain|OPFL_MemRefs,
4525 MVT::f128, 3, 2, 3, 4,
4526 0,
4527 31,
4528 OPC_CheckType, MVT::f32,
4529 OPC_CheckPredicate1,
4530 OPC_Scope, 12,
4531 OPC_CheckComplexPat3, /*#*/1,
4532 OPC_EmitMergeInputChains1_0,
4533 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LE), 0|OPFL_Chain|OPFL_MemRefs,
4534 MVT::f32, 3, 2, 3, 4,
4535 12,
4536 OPC_CheckComplexPat4, /*#*/1,
4537 OPC_EmitMergeInputChains1_0,
4538 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LEY), 0|OPFL_Chain|OPFL_MemRefs,
4539 MVT::f32, 3, 2, 3, 4,
4540 0,
4541 31,
4542 OPC_CheckType, MVT::f64,
4543 OPC_CheckPredicate1,
4544 OPC_Scope, 12,
4545 OPC_CheckComplexPat3, /*#*/1,
4546 OPC_EmitMergeInputChains1_0,
4547 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LD), 0|OPFL_Chain|OPFL_MemRefs,
4548 MVT::f64, 3, 2, 3, 4,
4549 12,
4550 OPC_CheckComplexPat4, /*#*/1,
4551 OPC_EmitMergeInputChains1_0,
4552 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDY), 0|OPFL_Chain|OPFL_MemRefs,
4553 MVT::f64, 3, 2, 3, 4,
4554 0,
4555 0,
4556 56,
4557 OPC_CheckPredicate, 32,
4558 OPC_Scope, 33,
4559 OPC_CheckPredicate, 46,
4560 OPC_SwitchType , 12, MVT::f64,
4561 OPC_CheckComplexPat0, /*#*/1,
4562 OPC_EmitMergeInputChains1_0,
4563 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDEB), 0|OPFL_Chain|OPFL_MemRefs,
4564 MVT::f64, 3, 2, 3, 4,
4565 13, MVT::f128,
4566 OPC_CheckPatternPredicate4,
4567 OPC_CheckComplexPat0, /*#*/1,
4568 OPC_EmitMergeInputChains1_0,
4569 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXEB), 0|OPFL_Chain|OPFL_MemRefs,
4570 MVT::f128, 3, 2, 3, 4,
4571 0,
4572 17,
4573 OPC_CheckPredicate, 47,
4574 OPC_CheckType, MVT::f128,
4575 OPC_CheckPatternPredicate4,
4576 OPC_CheckComplexPat0, /*#*/1,
4577 OPC_EmitMergeInputChains1_0,
4578 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXDB), 0|OPFL_Chain|OPFL_MemRefs,
4579 MVT::f128, 3, 2, 3, 4,
4580 0,
4581 93,
4582 OPC_CheckPredicate3,
4583 OPC_SwitchType , 13, MVT::v16i8,
4584 OPC_CheckPatternPredicate0,
4585 OPC_CheckComplexPat0, /*#*/1,
4586 OPC_EmitMergeInputChains1_0,
4587 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4588 MVT::v16i8, 3, 2, 3, 4,
4589 13, MVT::v8i16,
4590 OPC_CheckPatternPredicate0,
4591 OPC_CheckComplexPat0, /*#*/1,
4592 OPC_EmitMergeInputChains1_0,
4593 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4594 MVT::v8i16, 3, 2, 3, 4,
4595 13, MVT::v4i32,
4596 OPC_CheckPatternPredicate0,
4597 OPC_CheckComplexPat0, /*#*/1,
4598 OPC_EmitMergeInputChains1_0,
4599 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4600 MVT::v4i32, 3, 2, 3, 4,
4601 13, MVT::v2i64,
4602 OPC_CheckPatternPredicate0,
4603 OPC_CheckComplexPat0, /*#*/1,
4604 OPC_EmitMergeInputChains1_0,
4605 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4606 MVT::v2i64, 3, 2, 3, 4,
4607 13, MVT::v4f32,
4608 OPC_CheckPatternPredicate0,
4609 OPC_CheckComplexPat0, /*#*/1,
4610 OPC_EmitMergeInputChains1_0,
4611 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4612 MVT::v4f32, 3, 2, 3, 4,
4613 13, MVT::v2f64,
4614 OPC_CheckPatternPredicate0,
4615 OPC_CheckComplexPat0, /*#*/1,
4616 OPC_EmitMergeInputChains1_0,
4617 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL), 0|OPFL_Chain|OPFL_MemRefs,
4618 MVT::v2f64, 3, 2, 3, 4,
4619 0,
4620 0,
4621 0,
4622 119|128,7, TARGET_VAL(ISD::ATOMIC_LOAD),
4623 OPC_RecordMemRef,
4624 OPC_RecordNode,
4625 OPC_Scope, 23,
4626 OPC_MoveChild1,
4627 OPC_CheckOpcode, TARGET_VAL(SystemZISD::ADA_ENTRY),
4628 OPC_RecordChild0,
4629 OPC_RecordChild1,
4630 OPC_RecordChild2,
4631 OPC_MoveParent,
4632 OPC_CheckPredicate1,
4633 OPC_CheckTypeI64,
4634 OPC_CheckPatternPredicate, 12,
4635 OPC_EmitMergeInputChains1_0,
4636 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADA_ENTRY_VALUE), 0|OPFL_Chain|OPFL_MemRefs,
4637 MVT::i64, MVT::i32, 3, 1, 2, 3,
4638 89|128,7,
4639 OPC_RecordChild1,
4640 OPC_CheckChild1TypeI64,
4641 OPC_Scope, 29,
4642 OPC_CheckPredicate1,
4643 OPC_CheckPredicate, 15,
4644 OPC_SwitchType , 10, MVT::i32,
4645 OPC_CheckComplexPat5, /*#*/1,
4646 OPC_EmitMergeInputChains1_0,
4647 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRL), 0|OPFL_Chain|OPFL_MemRefs,
4648 MVT::i32, 1, 2,
4649 10, MVT::i64,
4650 OPC_CheckComplexPat5, /*#*/1,
4651 OPC_EmitMergeInputChains1_0,
4652 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGRL), 0|OPFL_Chain|OPFL_MemRefs,
4653 MVT::i64, 1, 2,
4654 0,
4655 50,
4656 OPC_CheckPredicate, 12,
4657 OPC_Scope, 29,
4658 OPC_CheckPredicate6,
4659 OPC_CheckPredicate, 15,
4660 OPC_SwitchType , 10, MVT::i32,
4661 OPC_CheckComplexPat5, /*#*/1,
4662 OPC_EmitMergeInputChains1_0,
4663 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHRL), 0|OPFL_Chain|OPFL_MemRefs,
4664 MVT::i32, 1, 2,
4665 10, MVT::i64,
4666 OPC_CheckComplexPat5, /*#*/1,
4667 OPC_EmitMergeInputChains1_0,
4668 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGHRL), 0|OPFL_Chain|OPFL_MemRefs,
4669 MVT::i64, 1, 2,
4670 0,
4671 15,
4672 OPC_CheckPredicate, 9,
4673 OPC_CheckPredicate, 15,
4674 OPC_CheckTypeI64,
4675 OPC_CheckComplexPat5, /*#*/1,
4676 OPC_EmitMergeInputChains1_0,
4677 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGFRL), 0|OPFL_Chain|OPFL_MemRefs,
4678 MVT::i64, 1, 2,
4679 0,
4680 50,
4681 OPC_CheckPredicate, 8,
4682 OPC_Scope, 29,
4683 OPC_CheckPredicate6,
4684 OPC_CheckPredicate, 15,
4685 OPC_SwitchType , 10, MVT::i32,
4686 OPC_CheckComplexPat5, /*#*/1,
4687 OPC_EmitMergeInputChains1_0,
4688 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHRL), 0|OPFL_Chain|OPFL_MemRefs,
4689 MVT::i32, 1, 2,
4690 10, MVT::i64,
4691 OPC_CheckComplexPat5, /*#*/1,
4692 OPC_EmitMergeInputChains1_0,
4693 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGHRL), 0|OPFL_Chain|OPFL_MemRefs,
4694 MVT::i64, 1, 2,
4695 0,
4696 15,
4697 OPC_CheckPredicate, 9,
4698 OPC_CheckPredicate, 15,
4699 OPC_CheckTypeI64,
4700 OPC_CheckComplexPat5, /*#*/1,
4701 OPC_EmitMergeInputChains1_0,
4702 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGFRL), 0|OPFL_Chain|OPFL_MemRefs,
4703 MVT::i64, 1, 2,
4704 0,
4705 103,
4706 OPC_CheckPredicate1,
4707 OPC_SwitchType , 70, MVT::i32,
4708 OPC_Scope, 13,
4709 OPC_CheckPatternPredicate2,
4710 OPC_CheckComplexPat2, /*#*/1,
4711 OPC_EmitMergeInputChains1_0,
4712 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LMux), 0|OPFL_Chain|OPFL_MemRefs,
4713 MVT::i32, 3, 2, 3, 4,
4714 12,
4715 OPC_CheckComplexPat3, /*#*/1,
4716 OPC_EmitMergeInputChains1_0,
4717 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::L), 0|OPFL_Chain|OPFL_MemRefs,
4718 MVT::i32, 3, 2, 3, 4,
4719 12,
4720 OPC_CheckComplexPat4, /*#*/1,
4721 OPC_EmitMergeInputChains1_0,
4722 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LY), 0|OPFL_Chain|OPFL_MemRefs,
4723 MVT::i32, 3, 2, 3, 4,
4724 13,
4725 OPC_CheckPatternPredicate2,
4726 OPC_CheckComplexPat2, /*#*/1,
4727 OPC_EmitMergeInputChains1_0,
4728 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LFH), 0|OPFL_Chain|OPFL_MemRefs,
4729 MVT::i32, 3, 2, 3, 4,
4730 13,
4731 OPC_CheckComplexPat2, /*#*/1,
4732 OPC_EmitMergeInputChains1_0,
4733 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LT), 0|OPFL_Chain|OPFL_MemRefs,
4734 MVT::i32, MVT::i32, 3, 2, 3, 4,
4735 0,
4736 26, MVT::i64,
4737 OPC_CheckComplexPat2, /*#*/1,
4738 OPC_EmitMergeInputChains1_0,
4739 OPC_Scope, 9,
4740 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LG), 0|OPFL_Chain|OPFL_MemRefs,
4741 MVT::i64, 3, 2, 3, 4,
4742 10,
4743 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LTG), 0|OPFL_Chain|OPFL_MemRefs,
4744 MVT::i64, MVT::i32, 3, 2, 3, 4,
4745 0,
4746 0,
4747 44|128,1,
4748 OPC_CheckPredicate, 12,
4749 OPC_SwitchType , 105, MVT::i32,
4750 OPC_Scope, 44,
4751 OPC_CheckPredicate7,
4752 OPC_Scope, 13,
4753 OPC_CheckPatternPredicate2,
4754 OPC_CheckComplexPat2, /*#*/1,
4755 OPC_EmitMergeInputChains1_0,
4756 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LBMux), 0|OPFL_Chain|OPFL_MemRefs,
4757 MVT::i32, 3, 2, 3, 4,
4758 12,
4759 OPC_CheckComplexPat2, /*#*/1,
4760 OPC_EmitMergeInputChains1_0,
4761 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LB), 0|OPFL_Chain|OPFL_MemRefs,
4762 MVT::i32, 3, 2, 3, 4,
4763 13,
4764 OPC_CheckPatternPredicate2,
4765 OPC_CheckComplexPat2, /*#*/1,
4766 OPC_EmitMergeInputChains1_0,
4767 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LBH), 0|OPFL_Chain|OPFL_MemRefs,
4768 MVT::i32, 3, 2, 3, 4,
4769 0,
4770 57,
4771 OPC_CheckPredicate6,
4772 OPC_Scope, 13,
4773 OPC_CheckPatternPredicate2,
4774 OPC_CheckComplexPat2, /*#*/1,
4775 OPC_EmitMergeInputChains1_0,
4776 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHMux), 0|OPFL_Chain|OPFL_MemRefs,
4777 MVT::i32, 3, 2, 3, 4,
4778 12,
4779 OPC_CheckComplexPat3, /*#*/1,
4780 OPC_EmitMergeInputChains1_0,
4781 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LH), 0|OPFL_Chain|OPFL_MemRefs,
4782 MVT::i32, 3, 2, 3, 4,
4783 12,
4784 OPC_CheckComplexPat4, /*#*/1,
4785 OPC_EmitMergeInputChains1_0,
4786 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHY), 0|OPFL_Chain|OPFL_MemRefs,
4787 MVT::i32, 3, 2, 3, 4,
4788 13,
4789 OPC_CheckPatternPredicate2,
4790 OPC_CheckComplexPat2, /*#*/1,
4791 OPC_EmitMergeInputChains1_0,
4792 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LHH), 0|OPFL_Chain|OPFL_MemRefs,
4793 MVT::i32, 3, 2, 3, 4,
4794 0,
4795 0,
4796 59, MVT::i64,
4797 OPC_Scope, 13,
4798 OPC_CheckPredicate7,
4799 OPC_CheckComplexPat2, /*#*/1,
4800 OPC_EmitMergeInputChains1_0,
4801 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGB), 0|OPFL_Chain|OPFL_MemRefs,
4802 MVT::i64, 3, 2, 3, 4,
4803 13,
4804 OPC_CheckPredicate6,
4805 OPC_CheckComplexPat2, /*#*/1,
4806 OPC_EmitMergeInputChains1_0,
4807 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGH), 0|OPFL_Chain|OPFL_MemRefs,
4808 MVT::i64, 3, 2, 3, 4,
4809 28,
4810 OPC_CheckPredicate, 9,
4811 OPC_CheckComplexPat2, /*#*/1,
4812 OPC_EmitMergeInputChains1_0,
4813 OPC_Scope, 9,
4814 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LGF), 0|OPFL_Chain|OPFL_MemRefs,
4815 MVT::i64, 3, 2, 3, 4,
4816 10,
4817 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LTGF), 0|OPFL_Chain|OPFL_MemRefs,
4818 MVT::i64, MVT::i32, 3, 2, 3, 4,
4819 0,
4820 0,
4821 0,
4822 17|128,1,
4823 OPC_CheckPredicate, 8,
4824 OPC_SwitchType , 92, MVT::i32,
4825 OPC_Scope, 44,
4826 OPC_CheckPredicate7,
4827 OPC_Scope, 13,
4828 OPC_CheckPatternPredicate2,
4829 OPC_CheckComplexPat2, /*#*/1,
4830 OPC_EmitMergeInputChains1_0,
4831 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLCMux), 0|OPFL_Chain|OPFL_MemRefs,
4832 MVT::i32, 3, 2, 3, 4,
4833 12,
4834 OPC_CheckComplexPat2, /*#*/1,
4835 OPC_EmitMergeInputChains1_0,
4836 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLC), 0|OPFL_Chain|OPFL_MemRefs,
4837 MVT::i32, 3, 2, 3, 4,
4838 13,
4839 OPC_CheckPatternPredicate2,
4840 OPC_CheckComplexPat2, /*#*/1,
4841 OPC_EmitMergeInputChains1_0,
4842 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLCH), 0|OPFL_Chain|OPFL_MemRefs,
4843 MVT::i32, 3, 2, 3, 4,
4844 0,
4845 44,
4846 OPC_CheckPredicate6,
4847 OPC_Scope, 13,
4848 OPC_CheckPatternPredicate2,
4849 OPC_CheckComplexPat2, /*#*/1,
4850 OPC_EmitMergeInputChains1_0,
4851 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHMux), 0|OPFL_Chain|OPFL_MemRefs,
4852 MVT::i32, 3, 2, 3, 4,
4853 12,
4854 OPC_CheckComplexPat2, /*#*/1,
4855 OPC_EmitMergeInputChains1_0,
4856 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLH), 0|OPFL_Chain|OPFL_MemRefs,
4857 MVT::i32, 3, 2, 3, 4,
4858 13,
4859 OPC_CheckPatternPredicate2,
4860 OPC_CheckComplexPat2, /*#*/1,
4861 OPC_EmitMergeInputChains1_0,
4862 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLHH), 0|OPFL_Chain|OPFL_MemRefs,
4863 MVT::i32, 3, 2, 3, 4,
4864 0,
4865 0,
4866 45, MVT::i64,
4867 OPC_Scope, 13,
4868 OPC_CheckPredicate7,
4869 OPC_CheckComplexPat2, /*#*/1,
4870 OPC_EmitMergeInputChains1_0,
4871 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGC), 0|OPFL_Chain|OPFL_MemRefs,
4872 MVT::i64, 3, 2, 3, 4,
4873 13,
4874 OPC_CheckPredicate6,
4875 OPC_CheckComplexPat2, /*#*/1,
4876 OPC_EmitMergeInputChains1_0,
4877 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGH), 0|OPFL_Chain|OPFL_MemRefs,
4878 MVT::i64, 3, 2, 3, 4,
4879 14,
4880 OPC_CheckPredicate, 9,
4881 OPC_CheckComplexPat2, /*#*/1,
4882 OPC_EmitMergeInputChains1_0,
4883 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGF), 0|OPFL_Chain|OPFL_MemRefs,
4884 MVT::i64, 3, 2, 3, 4,
4885 0,
4886 0,
4887 68,
4888 OPC_CheckPredicate, 72,
4889 OPC_CheckType, MVT::i128,
4890 OPC_Scope, 14,
4891 OPC_CheckPredicate7,
4892 OPC_CheckPatternPredicate0,
4893 OPC_CheckComplexPat0, /*#*/1,
4894 OPC_EmitMergeInputChains1_0,
4895 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
4896 MVT::i128, 3, 2, 3, 4,
4897 14,
4898 OPC_CheckPredicate6,
4899 OPC_CheckPatternPredicate0,
4900 OPC_CheckComplexPat0, /*#*/1,
4901 OPC_EmitMergeInputChains1_0,
4902 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
4903 MVT::i128, 3, 2, 3, 4,
4904 15,
4905 OPC_CheckPredicate, 9,
4906 OPC_CheckPatternPredicate0,
4907 OPC_CheckComplexPat0, /*#*/1,
4908 OPC_EmitMergeInputChains1_0,
4909 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
4910 MVT::i128, 3, 2, 3, 4,
4911 15,
4912 OPC_CheckPredicate, 52,
4913 OPC_CheckPatternPredicate0,
4914 OPC_CheckComplexPat0, /*#*/1,
4915 OPC_EmitMergeInputChains1_0,
4916 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
4917 MVT::i128, 3, 2, 3, 4,
4918 0,
4919 116,
4920 OPC_CheckPredicate, 73,
4921 OPC_CheckType, MVT::i128,
4922 OPC_Scope, 26,
4923 OPC_CheckPredicate7,
4924 OPC_CheckPatternPredicate0,
4925 OPC_CheckComplexPat0, /*#*/1,
4926 OPC_EmitMergeInputChains1_0,
4927 OPC_EmitInteger32, 0,
4928 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4929 MVT::i128, 1, 5,
4930 OPC_EmitInteger32, 30,
4931 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEB), 0|OPFL_Chain|OPFL_MemRefs,
4932 MVT::i128, 5, 6, 2, 3, 4, 7,
4933 26,
4934 OPC_CheckPredicate6,
4935 OPC_CheckPatternPredicate0,
4936 OPC_CheckComplexPat0, /*#*/1,
4937 OPC_EmitMergeInputChains1_0,
4938 OPC_EmitInteger32, 0,
4939 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4940 MVT::i128, 1, 5,
4941 OPC_EmitInteger32, 14,
4942 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEH), 0|OPFL_Chain|OPFL_MemRefs,
4943 MVT::i128, 5, 6, 2, 3, 4, 7,
4944 27,
4945 OPC_CheckPredicate, 9,
4946 OPC_CheckPatternPredicate0,
4947 OPC_CheckComplexPat0, /*#*/1,
4948 OPC_EmitMergeInputChains1_0,
4949 OPC_EmitInteger32, 0,
4950 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4951 MVT::i128, 1, 5,
4952 OPC_EmitInteger32, 6,
4953 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
4954 MVT::i128, 5, 6, 2, 3, 4, 7,
4955 27,
4956 OPC_CheckPredicate, 52,
4957 OPC_CheckPatternPredicate0,
4958 OPC_CheckComplexPat0, /*#*/1,
4959 OPC_EmitMergeInputChains1_0,
4960 OPC_EmitInteger32, 0,
4961 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
4962 MVT::i128, 1, 5,
4963 OPC_EmitInteger32, 2,
4964 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
4965 MVT::i128, 5, 6, 2, 3, 4, 7,
4966 0,
4967 16|128,1,
4968 OPC_CheckPredicate, 74,
4969 OPC_CheckType, MVT::i128,
4970 OPC_Scope, 33,
4971 OPC_CheckPredicate7,
4972 OPC_CheckPatternPredicate0,
4973 OPC_CheckComplexPat0, /*#*/1,
4974 OPC_EmitMergeInputChains1_0,
4975 OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
4976 MVT::i128, 3, 2, 3, 4,
4977 OPC_EmitInteger32, 112|128,1,
4978 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4979 MVT::i128, 1, 6,
4980 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4981 MVT::i128, 2, 5, 7,
4982 OPC_CompleteMatch, 1, 8,
4983
4984 33,
4985 OPC_CheckPredicate6,
4986 OPC_CheckPatternPredicate0,
4987 OPC_CheckComplexPat0, /*#*/1,
4988 OPC_EmitMergeInputChains1_0,
4989 OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
4990 MVT::i128, 3, 2, 3, 4,
4991 OPC_EmitInteger32, 96|128,1,
4992 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
4993 MVT::i128, 1, 6,
4994 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
4995 MVT::i128, 2, 5, 7,
4996 OPC_CompleteMatch, 1, 8,
4997
4998 34,
4999 OPC_CheckPredicate, 9,
5000 OPC_CheckPatternPredicate0,
5001 OPC_CheckComplexPat0, /*#*/1,
5002 OPC_EmitMergeInputChains1_0,
5003 OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
5004 MVT::i128, 3, 2, 3, 4,
5005 OPC_EmitInteger32, 64|128,1,
5006 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
5007 MVT::i128, 1, 6,
5008 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
5009 MVT::i128, 2, 5, 7,
5010 OPC_CompleteMatch, 1, 8,
5011
5012 34,
5013 OPC_CheckPredicate, 52,
5014 OPC_CheckPatternPredicate0,
5015 OPC_CheckComplexPat0, /*#*/1,
5016 OPC_EmitMergeInputChains1_0,
5017 OPC_EmitNode1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
5018 MVT::i128, 3, 2, 3, 4,
5019 OPC_EmitInteger32, 0|128,1,
5020 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
5021 MVT::i128, 1, 6,
5022 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
5023 MVT::i128, 2, 5, 7,
5024 OPC_CompleteMatch, 1, 8,
5025
5026 0,
5027 91,
5028 OPC_CheckPredicate1,
5029 OPC_SwitchType , 42, MVT::f32,
5030 OPC_Scope, 13,
5031 OPC_CheckPatternPredicate0,
5032 OPC_CheckComplexPat3, /*#*/1,
5033 OPC_EmitMergeInputChains1_0,
5034 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL32), 0|OPFL_Chain|OPFL_MemRefs,
5035 MVT::f32, 3, 2, 3, 4,
5036 12,
5037 OPC_CheckComplexPat3, /*#*/1,
5038 OPC_EmitMergeInputChains1_0,
5039 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LE), 0|OPFL_Chain|OPFL_MemRefs,
5040 MVT::f32, 3, 2, 3, 4,
5041 12,
5042 OPC_CheckComplexPat4, /*#*/1,
5043 OPC_EmitMergeInputChains1_0,
5044 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LEY), 0|OPFL_Chain|OPFL_MemRefs,
5045 MVT::f32, 3, 2, 3, 4,
5046 0,
5047 42, MVT::f64,
5048 OPC_Scope, 13,
5049 OPC_CheckPatternPredicate0,
5050 OPC_CheckComplexPat3, /*#*/1,
5051 OPC_EmitMergeInputChains1_0,
5052 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VL64), 0|OPFL_Chain|OPFL_MemRefs,
5053 MVT::f64, 3, 2, 3, 4,
5054 12,
5055 OPC_CheckComplexPat3, /*#*/1,
5056 OPC_EmitMergeInputChains1_0,
5057 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LD), 0|OPFL_Chain|OPFL_MemRefs,
5058 MVT::f64, 3, 2, 3, 4,
5059 12,
5060 OPC_CheckComplexPat4, /*#*/1,
5061 OPC_EmitMergeInputChains1_0,
5062 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDY), 0|OPFL_Chain|OPFL_MemRefs,
5063 MVT::f64, 3, 2, 3, 4,
5064 0,
5065 0,
5066 0,
5067 0,
5068 3|128,51, TARGET_VAL(ISD::OR),
5069 OPC_Scope, 106|128,2,
5070 OPC_MoveChild0,
5071 OPC_Scope, 44|128,1,
5072 OPC_CheckAndImm, 0|128,126|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
5073 OPC_RecordChild0,
5074 OPC_MoveSibling1,
5075 OPC_SwitchOpcode , 76, TARGET_VAL(ISD::LOAD),
5076 OPC_RecordMemRef,
5077 OPC_RecordNode,
5078 OPC_CheckFoldableChainNode,
5079 OPC_RecordChild1,
5080 OPC_CheckChild1TypeI64,
5081 OPC_CheckPredicate0,
5082 OPC_CheckPredicate, 8,
5083 OPC_CheckPredicate7,
5084 OPC_MoveParent,
5085 OPC_SwitchType , 30, MVT::i32,
5086 OPC_Scope, 13,
5087 OPC_CheckComplexPat3, /*#*/2,
5088 OPC_EmitMergeInputChains1_1,
5089 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5090 MVT::i32, 4, 0, 3, 4, 5,
5091 13,
5092 OPC_CheckComplexPat4, /*#*/2,
5093 OPC_EmitMergeInputChains1_1,
5094 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5095 MVT::i32, 4, 0, 3, 4, 5,
5096 0,
5097 30, MVT::i64,
5098 OPC_Scope, 13,
5099 OPC_CheckComplexPat3, /*#*/2,
5100 OPC_EmitMergeInputChains1_1,
5101 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5102 MVT::i64, 4, 0, 3, 4, 5,
5103 13,
5104 OPC_CheckComplexPat4, /*#*/2,
5105 OPC_EmitMergeInputChains1_1,
5106 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5107 MVT::i64, 4, 0, 3, 4, 5,
5108 0,
5109 0,
5110 75, TARGET_VAL(ISD::ATOMIC_LOAD),
5111 OPC_RecordMemRef,
5112 OPC_RecordNode,
5113 OPC_CheckFoldableChainNode,
5114 OPC_RecordChild1,
5115 OPC_CheckChild1TypeI64,
5116 OPC_CheckPredicate, 8,
5117 OPC_CheckPredicate7,
5118 OPC_MoveParent,
5119 OPC_SwitchType , 30, MVT::i32,
5120 OPC_Scope, 13,
5121 OPC_CheckComplexPat3, /*#*/2,
5122 OPC_EmitMergeInputChains1_1,
5123 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5124 MVT::i32, 4, 0, 3, 4, 5,
5125 13,
5126 OPC_CheckComplexPat4, /*#*/2,
5127 OPC_EmitMergeInputChains1_1,
5128 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5129 MVT::i32, 4, 0, 3, 4, 5,
5130 0,
5131 30, MVT::i64,
5132 OPC_Scope, 13,
5133 OPC_CheckComplexPat3, /*#*/2,
5134 OPC_EmitMergeInputChains1_1,
5135 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5136 MVT::i64, 4, 0, 3, 4, 5,
5137 13,
5138 OPC_CheckComplexPat4, /*#*/2,
5139 OPC_EmitMergeInputChains1_1,
5140 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5141 MVT::i64, 4, 0, 3, 4, 5,
5142 0,
5143 0,
5144 0,
5145 92,
5146 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
5147 OPC_RecordMemRef,
5148 OPC_RecordNode,
5149 OPC_CheckFoldableChainNode,
5150 OPC_RecordChild1,
5151 OPC_CheckChild1TypeI64,
5152 OPC_CheckPredicate0,
5153 OPC_CheckPredicate, 8,
5154 OPC_CheckPredicate7,
5155 OPC_MoveSibling1,
5156 OPC_CheckAndImm, 0|128,126|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
5157 OPC_RecordChild0,
5158 OPC_MoveParent,
5159 OPC_SwitchType , 30, MVT::i32,
5160 OPC_Scope, 13,
5161 OPC_CheckComplexPat3, /*#*/1,
5162 OPC_EmitMergeInputChains1_0,
5163 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5164 MVT::i32, 4, 2, 3, 4, 5,
5165 13,
5166 OPC_CheckComplexPat4, /*#*/1,
5167 OPC_EmitMergeInputChains1_0,
5168 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5169 MVT::i32, 4, 2, 3, 4, 5,
5170 0,
5171 30, MVT::i64,
5172 OPC_Scope, 13,
5173 OPC_CheckComplexPat3, /*#*/1,
5174 OPC_EmitMergeInputChains1_0,
5175 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5176 MVT::i64, 4, 2, 3, 4, 5,
5177 13,
5178 OPC_CheckComplexPat4, /*#*/1,
5179 OPC_EmitMergeInputChains1_0,
5180 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5181 MVT::i64, 4, 2, 3, 4, 5,
5182 0,
5183 0,
5184 91,
5185 OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5186 OPC_RecordMemRef,
5187 OPC_RecordNode,
5188 OPC_CheckFoldableChainNode,
5189 OPC_RecordChild1,
5190 OPC_CheckChild1TypeI64,
5191 OPC_CheckPredicate, 8,
5192 OPC_CheckPredicate7,
5193 OPC_MoveSibling1,
5194 OPC_CheckAndImm, 0|128,126|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
5195 OPC_RecordChild0,
5196 OPC_MoveParent,
5197 OPC_SwitchType , 30, MVT::i32,
5198 OPC_Scope, 13,
5199 OPC_CheckComplexPat3, /*#*/1,
5200 OPC_EmitMergeInputChains1_0,
5201 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5202 MVT::i32, 4, 2, 3, 4, 5,
5203 13,
5204 OPC_CheckComplexPat4, /*#*/1,
5205 OPC_EmitMergeInputChains1_0,
5206 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5207 MVT::i32, 4, 2, 3, 4, 5,
5208 0,
5209 30, MVT::i64,
5210 OPC_Scope, 13,
5211 OPC_CheckComplexPat3, /*#*/1,
5212 OPC_EmitMergeInputChains1_0,
5213 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5214 MVT::i64, 4, 2, 3, 4, 5,
5215 13,
5216 OPC_CheckComplexPat4, /*#*/1,
5217 OPC_EmitMergeInputChains1_0,
5218 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5219 MVT::i64, 4, 2, 3, 4, 5,
5220 0,
5221 0,
5222 0,
5223 61,
5224 OPC_RecordChild0,
5225 OPC_MoveChild1,
5226 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::LOAD),
5227 OPC_RecordMemRef,
5228 OPC_RecordNode,
5229 OPC_CheckFoldableChainNode,
5230 OPC_RecordChild1,
5231 OPC_CheckChild1TypeI64,
5232 OPC_CheckPredicate0,
5233 OPC_CheckPredicate, 8,
5234 OPC_CheckPredicate7,
5235 OPC_MoveParent,
5236 OPC_CheckPredicate, 25,
5237 OPC_CheckTypeI32,
5238 OPC_CheckComplexPat3, /*#*/2,
5239 OPC_EmitMergeInputChains1_1,
5240 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5241 MVT::i32, 4, 0, 3, 4, 5,
5242 25, TARGET_VAL(ISD::ATOMIC_LOAD),
5243 OPC_RecordMemRef,
5244 OPC_RecordNode,
5245 OPC_CheckFoldableChainNode,
5246 OPC_RecordChild1,
5247 OPC_CheckChild1TypeI64,
5248 OPC_CheckPredicate, 8,
5249 OPC_CheckPredicate7,
5250 OPC_MoveParent,
5251 OPC_CheckPredicate, 25,
5252 OPC_CheckTypeI32,
5253 OPC_CheckComplexPat3, /*#*/2,
5254 OPC_EmitMergeInputChains1_1,
5255 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5256 MVT::i32, 4, 0, 3, 4, 5,
5257 0,
5258 62,
5259 OPC_MoveChild0,
5260 OPC_SwitchOpcode , 27, TARGET_VAL(ISD::LOAD),
5261 OPC_RecordMemRef,
5262 OPC_RecordNode,
5263 OPC_CheckFoldableChainNode,
5264 OPC_RecordChild1,
5265 OPC_CheckChild1TypeI64,
5266 OPC_CheckPredicate0,
5267 OPC_CheckPredicate, 8,
5268 OPC_CheckPredicate7,
5269 OPC_MoveParent,
5270 OPC_RecordChild1,
5271 OPC_CheckPredicate, 26,
5272 OPC_CheckTypeI32,
5273 OPC_CheckComplexPat3, /*#*/1,
5274 OPC_EmitMergeInputChains1_0,
5275 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5276 MVT::i32, 4, 2, 3, 4, 5,
5277 26, TARGET_VAL(ISD::ATOMIC_LOAD),
5278 OPC_RecordMemRef,
5279 OPC_RecordNode,
5280 OPC_CheckFoldableChainNode,
5281 OPC_RecordChild1,
5282 OPC_CheckChild1TypeI64,
5283 OPC_CheckPredicate, 8,
5284 OPC_CheckPredicate7,
5285 OPC_MoveParent,
5286 OPC_RecordChild1,
5287 OPC_CheckPredicate, 26,
5288 OPC_CheckTypeI32,
5289 OPC_CheckComplexPat3, /*#*/1,
5290 OPC_EmitMergeInputChains1_0,
5291 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5292 MVT::i32, 4, 2, 3, 4, 5,
5293 0,
5294 61,
5295 OPC_RecordChild0,
5296 OPC_MoveChild1,
5297 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::LOAD),
5298 OPC_RecordMemRef,
5299 OPC_RecordNode,
5300 OPC_CheckFoldableChainNode,
5301 OPC_RecordChild1,
5302 OPC_CheckChild1TypeI64,
5303 OPC_CheckPredicate0,
5304 OPC_CheckPredicate, 8,
5305 OPC_CheckPredicate7,
5306 OPC_MoveParent,
5307 OPC_CheckPredicate, 25,
5308 OPC_CheckTypeI32,
5309 OPC_CheckComplexPat4, /*#*/2,
5310 OPC_EmitMergeInputChains1_1,
5311 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5312 MVT::i32, 4, 0, 3, 4, 5,
5313 25, TARGET_VAL(ISD::ATOMIC_LOAD),
5314 OPC_RecordMemRef,
5315 OPC_RecordNode,
5316 OPC_CheckFoldableChainNode,
5317 OPC_RecordChild1,
5318 OPC_CheckChild1TypeI64,
5319 OPC_CheckPredicate, 8,
5320 OPC_CheckPredicate7,
5321 OPC_MoveParent,
5322 OPC_CheckPredicate, 25,
5323 OPC_CheckTypeI32,
5324 OPC_CheckComplexPat4, /*#*/2,
5325 OPC_EmitMergeInputChains1_1,
5326 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5327 MVT::i32, 4, 0, 3, 4, 5,
5328 0,
5329 62,
5330 OPC_MoveChild0,
5331 OPC_SwitchOpcode , 27, TARGET_VAL(ISD::LOAD),
5332 OPC_RecordMemRef,
5333 OPC_RecordNode,
5334 OPC_CheckFoldableChainNode,
5335 OPC_RecordChild1,
5336 OPC_CheckChild1TypeI64,
5337 OPC_CheckPredicate0,
5338 OPC_CheckPredicate, 8,
5339 OPC_CheckPredicate7,
5340 OPC_MoveParent,
5341 OPC_RecordChild1,
5342 OPC_CheckPredicate, 26,
5343 OPC_CheckTypeI32,
5344 OPC_CheckComplexPat4, /*#*/1,
5345 OPC_EmitMergeInputChains1_0,
5346 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5347 MVT::i32, 4, 2, 3, 4, 5,
5348 26, TARGET_VAL(ISD::ATOMIC_LOAD),
5349 OPC_RecordMemRef,
5350 OPC_RecordNode,
5351 OPC_CheckFoldableChainNode,
5352 OPC_RecordChild1,
5353 OPC_CheckChild1TypeI64,
5354 OPC_CheckPredicate, 8,
5355 OPC_CheckPredicate7,
5356 OPC_MoveParent,
5357 OPC_RecordChild1,
5358 OPC_CheckPredicate, 26,
5359 OPC_CheckTypeI32,
5360 OPC_CheckComplexPat4, /*#*/1,
5361 OPC_EmitMergeInputChains1_0,
5362 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5363 MVT::i32, 4, 2, 3, 4, 5,
5364 0,
5365 61,
5366 OPC_RecordChild0,
5367 OPC_MoveChild1,
5368 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::LOAD),
5369 OPC_RecordMemRef,
5370 OPC_RecordNode,
5371 OPC_CheckFoldableChainNode,
5372 OPC_RecordChild1,
5373 OPC_CheckChild1TypeI64,
5374 OPC_CheckPredicate0,
5375 OPC_CheckPredicate, 8,
5376 OPC_CheckPredicate7,
5377 OPC_MoveParent,
5378 OPC_CheckPredicate, 25,
5379 OPC_CheckTypeI64,
5380 OPC_CheckComplexPat3, /*#*/2,
5381 OPC_EmitMergeInputChains1_1,
5382 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5383 MVT::i64, 4, 0, 3, 4, 5,
5384 25, TARGET_VAL(ISD::ATOMIC_LOAD),
5385 OPC_RecordMemRef,
5386 OPC_RecordNode,
5387 OPC_CheckFoldableChainNode,
5388 OPC_RecordChild1,
5389 OPC_CheckChild1TypeI64,
5390 OPC_CheckPredicate, 8,
5391 OPC_CheckPredicate7,
5392 OPC_MoveParent,
5393 OPC_CheckPredicate, 25,
5394 OPC_CheckTypeI64,
5395 OPC_CheckComplexPat3, /*#*/2,
5396 OPC_EmitMergeInputChains1_1,
5397 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5398 MVT::i64, 4, 0, 3, 4, 5,
5399 0,
5400 62,
5401 OPC_MoveChild0,
5402 OPC_SwitchOpcode , 27, TARGET_VAL(ISD::LOAD),
5403 OPC_RecordMemRef,
5404 OPC_RecordNode,
5405 OPC_CheckFoldableChainNode,
5406 OPC_RecordChild1,
5407 OPC_CheckChild1TypeI64,
5408 OPC_CheckPredicate0,
5409 OPC_CheckPredicate, 8,
5410 OPC_CheckPredicate7,
5411 OPC_MoveParent,
5412 OPC_RecordChild1,
5413 OPC_CheckPredicate, 26,
5414 OPC_CheckTypeI64,
5415 OPC_CheckComplexPat3, /*#*/1,
5416 OPC_EmitMergeInputChains1_0,
5417 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5418 MVT::i64, 4, 2, 3, 4, 5,
5419 26, TARGET_VAL(ISD::ATOMIC_LOAD),
5420 OPC_RecordMemRef,
5421 OPC_RecordNode,
5422 OPC_CheckFoldableChainNode,
5423 OPC_RecordChild1,
5424 OPC_CheckChild1TypeI64,
5425 OPC_CheckPredicate, 8,
5426 OPC_CheckPredicate7,
5427 OPC_MoveParent,
5428 OPC_RecordChild1,
5429 OPC_CheckPredicate, 26,
5430 OPC_CheckTypeI64,
5431 OPC_CheckComplexPat3, /*#*/1,
5432 OPC_EmitMergeInputChains1_0,
5433 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5434 MVT::i64, 4, 2, 3, 4, 5,
5435 0,
5436 61,
5437 OPC_RecordChild0,
5438 OPC_MoveChild1,
5439 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::LOAD),
5440 OPC_RecordMemRef,
5441 OPC_RecordNode,
5442 OPC_CheckFoldableChainNode,
5443 OPC_RecordChild1,
5444 OPC_CheckChild1TypeI64,
5445 OPC_CheckPredicate0,
5446 OPC_CheckPredicate, 8,
5447 OPC_CheckPredicate7,
5448 OPC_MoveParent,
5449 OPC_CheckPredicate, 25,
5450 OPC_CheckTypeI64,
5451 OPC_CheckComplexPat4, /*#*/2,
5452 OPC_EmitMergeInputChains1_1,
5453 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5454 MVT::i64, 4, 0, 3, 4, 5,
5455 25, TARGET_VAL(ISD::ATOMIC_LOAD),
5456 OPC_RecordMemRef,
5457 OPC_RecordNode,
5458 OPC_CheckFoldableChainNode,
5459 OPC_RecordChild1,
5460 OPC_CheckChild1TypeI64,
5461 OPC_CheckPredicate, 8,
5462 OPC_CheckPredicate7,
5463 OPC_MoveParent,
5464 OPC_CheckPredicate, 25,
5465 OPC_CheckTypeI64,
5466 OPC_CheckComplexPat4, /*#*/2,
5467 OPC_EmitMergeInputChains1_1,
5468 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5469 MVT::i64, 4, 0, 3, 4, 5,
5470 0,
5471 102,
5472 OPC_MoveChild0,
5473 OPC_SwitchOpcode , 47, TARGET_VAL(ISD::LOAD),
5474 OPC_RecordMemRef,
5475 OPC_RecordNode,
5476 OPC_CheckFoldableChainNode,
5477 OPC_RecordChild1,
5478 OPC_CheckChild1TypeI64,
5479 OPC_CheckPredicate0,
5480 OPC_CheckPredicate, 8,
5481 OPC_CheckPredicate7,
5482 OPC_MoveParent,
5483 OPC_RecordChild1,
5484 OPC_SwitchType , 15, MVT::i64,
5485 OPC_CheckPredicate, 26,
5486 OPC_CheckComplexPat4, /*#*/1,
5487 OPC_EmitMergeInputChains1_0,
5488 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5489 MVT::i64, 4, 2, 3, 4, 5,
5490 15, MVT::i32,
5491 OPC_CheckPredicate, 25,
5492 OPC_CheckComplexPat3, /*#*/1,
5493 OPC_EmitMergeInputChains1_0,
5494 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5495 MVT::i32, 4, 2, 3, 4, 5,
5496 0,
5497 46, TARGET_VAL(ISD::ATOMIC_LOAD),
5498 OPC_RecordMemRef,
5499 OPC_RecordNode,
5500 OPC_CheckFoldableChainNode,
5501 OPC_RecordChild1,
5502 OPC_CheckChild1TypeI64,
5503 OPC_CheckPredicate, 8,
5504 OPC_CheckPredicate7,
5505 OPC_MoveParent,
5506 OPC_RecordChild1,
5507 OPC_SwitchType , 15, MVT::i64,
5508 OPC_CheckPredicate, 26,
5509 OPC_CheckComplexPat4, /*#*/1,
5510 OPC_EmitMergeInputChains1_0,
5511 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5512 MVT::i64, 4, 2, 3, 4, 5,
5513 15, MVT::i32,
5514 OPC_CheckPredicate, 25,
5515 OPC_CheckComplexPat3, /*#*/1,
5516 OPC_EmitMergeInputChains1_0,
5517 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5518 MVT::i32, 4, 2, 3, 4, 5,
5519 0,
5520 0,
5521 61,
5522 OPC_RecordChild0,
5523 OPC_MoveChild1,
5524 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::LOAD),
5525 OPC_RecordMemRef,
5526 OPC_RecordNode,
5527 OPC_CheckFoldableChainNode,
5528 OPC_RecordChild1,
5529 OPC_CheckChild1TypeI64,
5530 OPC_CheckPredicate0,
5531 OPC_CheckPredicate, 8,
5532 OPC_CheckPredicate7,
5533 OPC_MoveParent,
5534 OPC_CheckPredicate, 26,
5535 OPC_CheckTypeI32,
5536 OPC_CheckComplexPat3, /*#*/2,
5537 OPC_EmitMergeInputChains1_1,
5538 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5539 MVT::i32, 4, 0, 3, 4, 5,
5540 25, TARGET_VAL(ISD::ATOMIC_LOAD),
5541 OPC_RecordMemRef,
5542 OPC_RecordNode,
5543 OPC_CheckFoldableChainNode,
5544 OPC_RecordChild1,
5545 OPC_CheckChild1TypeI64,
5546 OPC_CheckPredicate, 8,
5547 OPC_CheckPredicate7,
5548 OPC_MoveParent,
5549 OPC_CheckPredicate, 26,
5550 OPC_CheckTypeI32,
5551 OPC_CheckComplexPat3, /*#*/2,
5552 OPC_EmitMergeInputChains1_1,
5553 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32), 0|OPFL_Chain|OPFL_MemRefs,
5554 MVT::i32, 4, 0, 3, 4, 5,
5555 0,
5556 62,
5557 OPC_MoveChild0,
5558 OPC_SwitchOpcode , 27, TARGET_VAL(ISD::LOAD),
5559 OPC_RecordMemRef,
5560 OPC_RecordNode,
5561 OPC_CheckFoldableChainNode,
5562 OPC_RecordChild1,
5563 OPC_CheckChild1TypeI64,
5564 OPC_CheckPredicate0,
5565 OPC_CheckPredicate, 8,
5566 OPC_CheckPredicate7,
5567 OPC_MoveParent,
5568 OPC_RecordChild1,
5569 OPC_CheckPredicate, 25,
5570 OPC_CheckTypeI32,
5571 OPC_CheckComplexPat4, /*#*/1,
5572 OPC_EmitMergeInputChains1_0,
5573 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5574 MVT::i32, 4, 2, 3, 4, 5,
5575 26, TARGET_VAL(ISD::ATOMIC_LOAD),
5576 OPC_RecordMemRef,
5577 OPC_RecordNode,
5578 OPC_CheckFoldableChainNode,
5579 OPC_RecordChild1,
5580 OPC_CheckChild1TypeI64,
5581 OPC_CheckPredicate, 8,
5582 OPC_CheckPredicate7,
5583 OPC_MoveParent,
5584 OPC_RecordChild1,
5585 OPC_CheckPredicate, 25,
5586 OPC_CheckTypeI32,
5587 OPC_CheckComplexPat4, /*#*/1,
5588 OPC_EmitMergeInputChains1_0,
5589 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5590 MVT::i32, 4, 2, 3, 4, 5,
5591 0,
5592 61,
5593 OPC_RecordChild0,
5594 OPC_MoveChild1,
5595 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::LOAD),
5596 OPC_RecordMemRef,
5597 OPC_RecordNode,
5598 OPC_CheckFoldableChainNode,
5599 OPC_RecordChild1,
5600 OPC_CheckChild1TypeI64,
5601 OPC_CheckPredicate0,
5602 OPC_CheckPredicate, 8,
5603 OPC_CheckPredicate7,
5604 OPC_MoveParent,
5605 OPC_CheckPredicate, 26,
5606 OPC_CheckTypeI32,
5607 OPC_CheckComplexPat4, /*#*/2,
5608 OPC_EmitMergeInputChains1_1,
5609 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5610 MVT::i32, 4, 0, 3, 4, 5,
5611 25, TARGET_VAL(ISD::ATOMIC_LOAD),
5612 OPC_RecordMemRef,
5613 OPC_RecordNode,
5614 OPC_CheckFoldableChainNode,
5615 OPC_RecordChild1,
5616 OPC_CheckChild1TypeI64,
5617 OPC_CheckPredicate, 8,
5618 OPC_CheckPredicate7,
5619 OPC_MoveParent,
5620 OPC_CheckPredicate, 26,
5621 OPC_CheckTypeI32,
5622 OPC_CheckComplexPat4, /*#*/2,
5623 OPC_EmitMergeInputChains1_1,
5624 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC32Y), 0|OPFL_Chain|OPFL_MemRefs,
5625 MVT::i32, 4, 0, 3, 4, 5,
5626 0,
5627 62,
5628 OPC_MoveChild0,
5629 OPC_SwitchOpcode , 27, TARGET_VAL(ISD::LOAD),
5630 OPC_RecordMemRef,
5631 OPC_RecordNode,
5632 OPC_CheckFoldableChainNode,
5633 OPC_RecordChild1,
5634 OPC_CheckChild1TypeI64,
5635 OPC_CheckPredicate0,
5636 OPC_CheckPredicate, 8,
5637 OPC_CheckPredicate7,
5638 OPC_MoveParent,
5639 OPC_RecordChild1,
5640 OPC_CheckPredicate, 25,
5641 OPC_CheckTypeI64,
5642 OPC_CheckComplexPat3, /*#*/1,
5643 OPC_EmitMergeInputChains1_0,
5644 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5645 MVT::i64, 4, 2, 3, 4, 5,
5646 26, TARGET_VAL(ISD::ATOMIC_LOAD),
5647 OPC_RecordMemRef,
5648 OPC_RecordNode,
5649 OPC_CheckFoldableChainNode,
5650 OPC_RecordChild1,
5651 OPC_CheckChild1TypeI64,
5652 OPC_CheckPredicate, 8,
5653 OPC_CheckPredicate7,
5654 OPC_MoveParent,
5655 OPC_RecordChild1,
5656 OPC_CheckPredicate, 25,
5657 OPC_CheckTypeI64,
5658 OPC_CheckComplexPat3, /*#*/1,
5659 OPC_EmitMergeInputChains1_0,
5660 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5661 MVT::i64, 4, 2, 3, 4, 5,
5662 0,
5663 61,
5664 OPC_RecordChild0,
5665 OPC_MoveChild1,
5666 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::LOAD),
5667 OPC_RecordMemRef,
5668 OPC_RecordNode,
5669 OPC_CheckFoldableChainNode,
5670 OPC_RecordChild1,
5671 OPC_CheckChild1TypeI64,
5672 OPC_CheckPredicate0,
5673 OPC_CheckPredicate, 8,
5674 OPC_CheckPredicate7,
5675 OPC_MoveParent,
5676 OPC_CheckPredicate, 26,
5677 OPC_CheckTypeI64,
5678 OPC_CheckComplexPat3, /*#*/2,
5679 OPC_EmitMergeInputChains1_1,
5680 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5681 MVT::i64, 4, 0, 3, 4, 5,
5682 25, TARGET_VAL(ISD::ATOMIC_LOAD),
5683 OPC_RecordMemRef,
5684 OPC_RecordNode,
5685 OPC_CheckFoldableChainNode,
5686 OPC_RecordChild1,
5687 OPC_CheckChild1TypeI64,
5688 OPC_CheckPredicate, 8,
5689 OPC_CheckPredicate7,
5690 OPC_MoveParent,
5691 OPC_CheckPredicate, 26,
5692 OPC_CheckTypeI64,
5693 OPC_CheckComplexPat3, /*#*/2,
5694 OPC_EmitMergeInputChains1_1,
5695 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::IC), 0|OPFL_Chain|OPFL_MemRefs,
5696 MVT::i64, 4, 0, 3, 4, 5,
5697 0,
5698 62,
5699 OPC_MoveChild0,
5700 OPC_SwitchOpcode , 27, TARGET_VAL(ISD::LOAD),
5701 OPC_RecordMemRef,
5702 OPC_RecordNode,
5703 OPC_CheckFoldableChainNode,
5704 OPC_RecordChild1,
5705 OPC_CheckChild1TypeI64,
5706 OPC_CheckPredicate0,
5707 OPC_CheckPredicate, 8,
5708 OPC_CheckPredicate7,
5709 OPC_MoveParent,
5710 OPC_RecordChild1,
5711 OPC_CheckPredicate, 25,
5712 OPC_CheckTypeI64,
5713 OPC_CheckComplexPat4, /*#*/1,
5714 OPC_EmitMergeInputChains1_0,
5715 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5716 MVT::i64, 4, 2, 3, 4, 5,
5717 26, TARGET_VAL(ISD::ATOMIC_LOAD),
5718 OPC_RecordMemRef,
5719 OPC_RecordNode,
5720 OPC_CheckFoldableChainNode,
5721 OPC_RecordChild1,
5722 OPC_CheckChild1TypeI64,
5723 OPC_CheckPredicate, 8,
5724 OPC_CheckPredicate7,
5725 OPC_MoveParent,
5726 OPC_RecordChild1,
5727 OPC_CheckPredicate, 25,
5728 OPC_CheckTypeI64,
5729 OPC_CheckComplexPat4, /*#*/1,
5730 OPC_EmitMergeInputChains1_0,
5731 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5732 MVT::i64, 4, 2, 3, 4, 5,
5733 0,
5734 50|128,1,
5735 OPC_RecordChild0,
5736 OPC_MoveChild1,
5737 OPC_SwitchOpcode , 85, TARGET_VAL(ISD::LOAD),
5738 OPC_RecordMemRef,
5739 OPC_RecordNode,
5740 OPC_CheckFoldableChainNode,
5741 OPC_RecordChild1,
5742 OPC_CheckChild1TypeI64,
5743 OPC_CheckPredicate0,
5744 OPC_Scope, 20,
5745 OPC_CheckPredicate, 8,
5746 OPC_CheckPredicate7,
5747 OPC_MoveParent,
5748 OPC_CheckPredicate, 26,
5749 OPC_CheckTypeI64,
5750 OPC_CheckComplexPat4, /*#*/2,
5751 OPC_EmitMergeInputChains1_1,
5752 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5753 MVT::i64, 4, 0, 3, 4, 5,
5754 55,
5755 OPC_CheckPredicate3,
5756 OPC_CheckPredicate1,
5757 OPC_MoveParent,
5758 OPC_SwitchType , 32, MVT::i32,
5759 OPC_Scope, 14,
5760 OPC_CheckComplexPat3, /*#*/2,
5761 OPC_EmitMergeInputChains1_1,
5762 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::O), 0|OPFL_Chain|OPFL_MemRefs,
5763 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
5764 14,
5765 OPC_CheckComplexPat4, /*#*/2,
5766 OPC_EmitMergeInputChains1_1,
5767 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OY), 0|OPFL_Chain|OPFL_MemRefs,
5768 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
5769 0,
5770 14, MVT::i64,
5771 OPC_CheckComplexPat2, /*#*/2,
5772 OPC_EmitMergeInputChains1_1,
5773 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OG), 0|OPFL_Chain|OPFL_MemRefs,
5774 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
5775 0,
5776 0,
5777 83, TARGET_VAL(ISD::ATOMIC_LOAD),
5778 OPC_RecordMemRef,
5779 OPC_RecordNode,
5780 OPC_CheckFoldableChainNode,
5781 OPC_RecordChild1,
5782 OPC_CheckChild1TypeI64,
5783 OPC_Scope, 20,
5784 OPC_CheckPredicate, 8,
5785 OPC_CheckPredicate7,
5786 OPC_MoveParent,
5787 OPC_CheckPredicate, 26,
5788 OPC_CheckTypeI64,
5789 OPC_CheckComplexPat4, /*#*/2,
5790 OPC_EmitMergeInputChains1_1,
5791 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::ICY), 0|OPFL_Chain|OPFL_MemRefs,
5792 MVT::i64, 4, 0, 3, 4, 5,
5793 54,
5794 OPC_CheckPredicate1,
5795 OPC_MoveParent,
5796 OPC_SwitchType , 32, MVT::i32,
5797 OPC_Scope, 14,
5798 OPC_CheckComplexPat3, /*#*/2,
5799 OPC_EmitMergeInputChains1_1,
5800 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::O), 0|OPFL_Chain|OPFL_MemRefs,
5801 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
5802 14,
5803 OPC_CheckComplexPat4, /*#*/2,
5804 OPC_EmitMergeInputChains1_1,
5805 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OY), 0|OPFL_Chain|OPFL_MemRefs,
5806 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
5807 0,
5808 14, MVT::i64,
5809 OPC_CheckComplexPat2, /*#*/2,
5810 OPC_EmitMergeInputChains1_1,
5811 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OG), 0|OPFL_Chain|OPFL_MemRefs,
5812 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
5813 0,
5814 0,
5815 0,
5816 26|128,6,
5817 OPC_MoveChild0,
5818 OPC_Scope, 65,
5819 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
5820 OPC_RecordMemRef,
5821 OPC_RecordNode,
5822 OPC_CheckFoldableChainNode,
5823 OPC_RecordChild1,
5824 OPC_CheckChild1TypeI64,
5825 OPC_CheckPredicate0,
5826 OPC_CheckPredicate3,
5827 OPC_CheckPredicate1,
5828 OPC_MoveParent,
5829 OPC_RecordChild1,
5830 OPC_SwitchType , 32, MVT::i32,
5831 OPC_Scope, 14,
5832 OPC_CheckComplexPat3, /*#*/1,
5833 OPC_EmitMergeInputChains1_0,
5834 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::O), 0|OPFL_Chain|OPFL_MemRefs,
5835 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
5836 14,
5837 OPC_CheckComplexPat4, /*#*/1,
5838 OPC_EmitMergeInputChains1_0,
5839 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OY), 0|OPFL_Chain|OPFL_MemRefs,
5840 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
5841 0,
5842 14, MVT::i64,
5843 OPC_CheckComplexPat2, /*#*/1,
5844 OPC_EmitMergeInputChains1_0,
5845 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OG), 0|OPFL_Chain|OPFL_MemRefs,
5846 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
5847 0,
5848 63,
5849 OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5850 OPC_RecordMemRef,
5851 OPC_RecordNode,
5852 OPC_CheckFoldableChainNode,
5853 OPC_RecordChild1,
5854 OPC_CheckChild1TypeI64,
5855 OPC_CheckPredicate1,
5856 OPC_MoveParent,
5857 OPC_RecordChild1,
5858 OPC_SwitchType , 32, MVT::i32,
5859 OPC_Scope, 14,
5860 OPC_CheckComplexPat3, /*#*/1,
5861 OPC_EmitMergeInputChains1_0,
5862 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::O), 0|OPFL_Chain|OPFL_MemRefs,
5863 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
5864 14,
5865 OPC_CheckComplexPat4, /*#*/1,
5866 OPC_EmitMergeInputChains1_0,
5867 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OY), 0|OPFL_Chain|OPFL_MemRefs,
5868 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
5869 0,
5870 14, MVT::i64,
5871 OPC_CheckComplexPat2, /*#*/1,
5872 OPC_EmitMergeInputChains1_0,
5873 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::OG), 0|OPFL_Chain|OPFL_MemRefs,
5874 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
5875 0,
5876 77|128,1,
5877 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5878 OPC_Scope, 22|128,1,
5879 OPC_RecordChild0,
5880 OPC_Scope, 99,
5881 OPC_RecordChild1,
5882 OPC_MoveSibling1,
5883 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5884 OPC_Scope, 22,
5885 OPC_RecordChild0,
5886 OPC_MoveChild1,
5887 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5888 OPC_CheckChild0Same, 1,
5889 OPC_CheckChild1Integer, 3,
5890 OPC_MoveParent,
5891 OPC_MoveParent,
5892 OPC_CheckType, MVT::i128,
5893 OPC_CheckPatternPredicate0,
5894 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
5895 MVT::i128, 3, 0, 2, 1,
5896 22,
5897 OPC_MoveChild0,
5898 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5899 OPC_CheckChild0Same, 1,
5900 OPC_CheckChild1Integer, 3,
5901 OPC_MoveParent,
5902 OPC_RecordChild1,
5903 OPC_MoveParent,
5904 OPC_CheckType, MVT::i128,
5905 OPC_CheckPatternPredicate0,
5906 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
5907 MVT::i128, 3, 0, 2, 1,
5908 22,
5909 OPC_RecordChild0,
5910 OPC_MoveChild1,
5911 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5912 OPC_CheckChild0Same, 0,
5913 OPC_CheckChild1Integer, 3,
5914 OPC_MoveParent,
5915 OPC_MoveParent,
5916 OPC_CheckType, MVT::i128,
5917 OPC_CheckPatternPredicate0,
5918 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
5919 MVT::i128, 3, 1, 2, 0,
5920 22,
5921 OPC_MoveChild0,
5922 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5923 OPC_CheckChild0Same, 0,
5924 OPC_CheckChild1Integer, 3,
5925 OPC_MoveParent,
5926 OPC_RecordChild1,
5927 OPC_MoveParent,
5928 OPC_CheckType, MVT::i128,
5929 OPC_CheckPatternPredicate0,
5930 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
5931 MVT::i128, 3, 1, 2, 0,
5932 0,
5933 46,
5934 OPC_MoveChild1,
5935 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5936 OPC_RecordChild0,
5937 OPC_CheckChild1Integer, 3,
5938 OPC_MoveParent,
5939 OPC_MoveSibling1,
5940 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5941 OPC_Scope, 15,
5942 OPC_RecordChild0,
5943 OPC_CheckChild1Same, 1,
5944 OPC_MoveParent,
5945 OPC_CheckType, MVT::i128,
5946 OPC_CheckPatternPredicate0,
5947 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
5948 MVT::i128, 3, 2, 0, 1,
5949 15,
5950 OPC_CheckChild0Same, 1,
5951 OPC_RecordChild1,
5952 OPC_MoveParent,
5953 OPC_CheckType, MVT::i128,
5954 OPC_CheckPatternPredicate0,
5955 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
5956 MVT::i128, 3, 2, 0, 1,
5957 0,
5958 0,
5959 47,
5960 OPC_MoveChild0,
5961 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5962 OPC_RecordChild0,
5963 OPC_CheckChild1Integer, 3,
5964 OPC_MoveParent,
5965 OPC_RecordChild1,
5966 OPC_MoveSibling1,
5967 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5968 OPC_Scope, 15,
5969 OPC_RecordChild0,
5970 OPC_CheckChild1Same, 0,
5971 OPC_MoveParent,
5972 OPC_CheckType, MVT::i128,
5973 OPC_CheckPatternPredicate0,
5974 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
5975 MVT::i128, 3, 2, 1, 0,
5976 15,
5977 OPC_CheckChild0Same, 0,
5978 OPC_RecordChild1,
5979 OPC_MoveParent,
5980 OPC_CheckType, MVT::i128,
5981 OPC_CheckPatternPredicate0,
5982 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
5983 MVT::i128, 3, 2, 1, 0,
5984 0,
5985 0,
5986 31,
5987 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
5988 OPC_RecordChild0,
5989 OPC_CheckChild0TypeI64,
5990 OPC_MoveSibling1,
5991 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5992 OPC_MoveChild0,
5993 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5994 OPC_RecordChild0,
5995 OPC_CheckChild0TypeI64,
5996 OPC_MoveParent,
5997 OPC_CheckChild1Integer, 0|128,1,
5998 OPC_CheckChild1TypeI32,
5999 OPC_MoveParent,
6000 OPC_CheckType, MVT::i128,
6001 OPC_CheckPatternPredicate0,
6002 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
6003 MVT::i128, 2, 1, 0,
6004 31,
6005 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
6006 OPC_MoveChild0,
6007 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
6008 OPC_RecordChild0,
6009 OPC_CheckChild0TypeI64,
6010 OPC_MoveParent,
6011 OPC_CheckChild1Integer, 0|128,1,
6012 OPC_CheckChild1TypeI32,
6013 OPC_MoveSibling1,
6014 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
6015 OPC_RecordChild0,
6016 OPC_CheckChild0TypeI64,
6017 OPC_MoveParent,
6018 OPC_CheckType, MVT::i128,
6019 OPC_CheckPatternPredicate0,
6020 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
6021 MVT::i128, 2, 0, 1,
6022 33,
6023 OPC_CheckAndImm, 0|128,0|128,124|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
6024 OPC_RecordChild0,
6025 OPC_MoveSibling1,
6026 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6027 OPC_RecordNode,
6028 OPC_CheckPredicate, 42,
6029 OPC_MoveParent,
6030 OPC_CheckTypeI32,
6031 OPC_CheckPatternPredicate2,
6032 OPC_EmitConvertToTarget1,
6033 OPC_EmitNodeXForm, 3, 2,
6034 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILMux),
6035 MVT::i32, 2, 0, 3,
6036 33,
6037 OPC_CheckAndImm, 127|128,127|128,3|128,0|128,112|128,127|128,127|128,127|128,127|128,1,
6038 OPC_RecordChild0,
6039 OPC_MoveSibling1,
6040 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6041 OPC_RecordNode,
6042 OPC_CheckPredicate, 38,
6043 OPC_MoveParent,
6044 OPC_CheckTypeI32,
6045 OPC_CheckPatternPredicate2,
6046 OPC_EmitConvertToTarget1,
6047 OPC_EmitNodeXForm, 4, 2,
6048 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHMux),
6049 MVT::i32, 2, 0, 3,
6050 32,
6051 OPC_CheckAndImm, 0|128,0|128,124|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
6052 OPC_RecordChild0,
6053 OPC_MoveSibling1,
6054 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6055 OPC_RecordNode,
6056 OPC_CheckPredicate, 42,
6057 OPC_MoveParent,
6058 OPC_CheckTypeI32,
6059 OPC_EmitConvertToTarget1,
6060 OPC_EmitNodeXForm, 3, 2,
6061 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILL),
6062 MVT::i32, 2, 0, 3,
6063 32,
6064 OPC_CheckAndImm, 127|128,127|128,3|128,0|128,112|128,127|128,127|128,127|128,127|128,1,
6065 OPC_RecordChild0,
6066 OPC_MoveSibling1,
6067 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6068 OPC_RecordNode,
6069 OPC_CheckPredicate, 38,
6070 OPC_MoveParent,
6071 OPC_CheckTypeI32,
6072 OPC_EmitConvertToTarget1,
6073 OPC_EmitNodeXForm, 4, 2,
6074 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILH),
6075 MVT::i32, 2, 0, 3,
6076 32,
6077 OPC_CheckAndImm, 0|128,0|128,124|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
6078 OPC_RecordChild0,
6079 OPC_MoveSibling1,
6080 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6081 OPC_RecordNode,
6082 OPC_CheckPredicate, 42,
6083 OPC_MoveParent,
6084 OPC_CheckTypeI32,
6085 OPC_EmitConvertToTarget1,
6086 OPC_EmitNodeXForm, 3, 2,
6087 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHL),
6088 MVT::i32, 2, 0, 3,
6089 32,
6090 OPC_CheckAndImm, 127|128,127|128,3|128,0|128,112|128,127|128,127|128,127|128,127|128,1,
6091 OPC_RecordChild0,
6092 OPC_MoveSibling1,
6093 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6094 OPC_RecordNode,
6095 OPC_CheckPredicate, 38,
6096 OPC_MoveParent,
6097 OPC_CheckTypeI32,
6098 OPC_EmitConvertToTarget1,
6099 OPC_EmitNodeXForm, 4, 2,
6100 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHH),
6101 MVT::i32, 2, 0, 3,
6102 32,
6103 OPC_CheckAndImm, 0|128,0|128,124|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
6104 OPC_RecordChild0,
6105 OPC_MoveSibling1,
6106 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6107 OPC_RecordNode,
6108 OPC_CheckPredicate, 60,
6109 OPC_MoveParent,
6110 OPC_CheckTypeI64,
6111 OPC_EmitConvertToTarget1,
6112 OPC_EmitNodeXForm, 3, 2,
6113 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILL64),
6114 MVT::i64, 2, 0, 3,
6115 32,
6116 OPC_CheckAndImm, 127|128,127|128,3|128,0|128,112|128,127|128,127|128,127|128,127|128,1,
6117 OPC_RecordChild0,
6118 OPC_MoveSibling1,
6119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6120 OPC_RecordNode,
6121 OPC_CheckPredicate, 61,
6122 OPC_MoveParent,
6123 OPC_CheckTypeI64,
6124 OPC_EmitConvertToTarget1,
6125 OPC_EmitNodeXForm, 4, 2,
6126 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILH64),
6127 MVT::i64, 2, 0, 3,
6128 32,
6129 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15|128,0|128,64|128,127|128,127|128,1,
6130 OPC_RecordChild0,
6131 OPC_MoveSibling1,
6132 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6133 OPC_RecordNode,
6134 OPC_CheckPredicate, 62,
6135 OPC_MoveParent,
6136 OPC_CheckTypeI64,
6137 OPC_EmitConvertToTarget1,
6138 OPC_EmitNodeXForm, 5, 2,
6139 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHL64),
6140 MVT::i64, 2, 0, 3,
6141 29,
6142 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,127|128,127|128,63,
6143 OPC_RecordChild0,
6144 OPC_MoveSibling1,
6145 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6146 OPC_RecordNode,
6147 OPC_CheckPredicate, 63,
6148 OPC_MoveParent,
6149 OPC_CheckTypeI64,
6150 OPC_EmitConvertToTarget1,
6151 OPC_EmitNodeXForm, 6, 2,
6152 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHH64),
6153 MVT::i64, 2, 0, 3,
6154 32,
6155 OPC_CheckAndImm, 0|128,0|128,0|128,0|128,112|128,127|128,127|128,127|128,127|128,1,
6156 OPC_RecordChild0,
6157 OPC_MoveSibling1,
6158 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6159 OPC_RecordNode,
6160 OPC_CheckPredicate, 64,
6161 OPC_MoveParent,
6162 OPC_CheckTypeI64,
6163 OPC_EmitConvertToTarget1,
6164 OPC_EmitNodeXForm, 7, 2,
6165 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILF64),
6166 MVT::i64, 2, 0, 3,
6167 27,
6168 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
6169 OPC_RecordChild0,
6170 OPC_MoveSibling1,
6171 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6172 OPC_RecordNode,
6173 OPC_CheckPredicate, 55,
6174 OPC_MoveParent,
6175 OPC_CheckTypeI64,
6176 OPC_EmitConvertToTarget1,
6177 OPC_EmitNodeXForm, 8, 2,
6178 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHF64),
6179 MVT::i64, 2, 0, 3,
6180 0,
6181 40,
6182 OPC_RecordNode,
6183 OPC_CheckTypeI64,
6184 OPC_Scope, 11,
6185 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
6186 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
6187 MVT::i64, 3, 1, 2, 3,
6188 11,
6189 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
6190 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
6191 MVT::i64, 3, 1, 2, 3,
6192 11,
6193 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
6194 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
6195 MVT::i64, 3, 1, 2, 3,
6196 0,
6197 43,
6198 OPC_RecordChild0,
6199 OPC_MoveChild1,
6200 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6201 OPC_RecordChild0,
6202 OPC_CheckChild1Integer, 3,
6203 OPC_MoveParent,
6204 OPC_SwitchType , 9, MVT::i32,
6205 OPC_CheckPatternPredicate7,
6206 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OCRK),
6207 MVT::i32, MVT::i32, 2, 0, 1,
6208 9, MVT::i64,
6209 OPC_CheckPatternPredicate7,
6210 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OCGRK),
6211 MVT::i64, MVT::i32, 2, 0, 1,
6212 8, MVT::i128,
6213 OPC_CheckPatternPredicate1,
6214 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
6215 MVT::i128, 2, 0, 1,
6216 0,
6217 84,
6218 OPC_MoveChild0,
6219 OPC_SwitchOpcode , 39, TARGET_VAL(ISD::XOR),
6220 OPC_RecordChild0,
6221 OPC_CheckChild1Integer, 3,
6222 OPC_MoveParent,
6223 OPC_RecordChild1,
6224 OPC_SwitchType , 9, MVT::i32,
6225 OPC_CheckPatternPredicate7,
6226 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OCRK),
6227 MVT::i32, MVT::i32, 2, 1, 0,
6228 9, MVT::i64,
6229 OPC_CheckPatternPredicate7,
6230 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OCGRK),
6231 MVT::i64, MVT::i32, 2, 1, 0,
6232 8, MVT::i128,
6233 OPC_CheckPatternPredicate1,
6234 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
6235 MVT::i128, 2, 1, 0,
6236 0,
6237 36, TARGET_VAL(ISD::ZERO_EXTEND),
6238 OPC_RecordChild0,
6239 OPC_MoveSibling1,
6240 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6241 OPC_RecordNode,
6242 OPC_CheckPredicate, 55,
6243 OPC_MoveParent,
6244 OPC_CheckTypeI64,
6245 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
6246 MVT::i64, 0,
6247 OPC_EmitStringInteger32, SystemZ::subreg_l32,
6248 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
6249 MVT::i64, 3, 2, 0, 3,
6250 OPC_EmitConvertToTarget1,
6251 OPC_EmitNodeXForm, 8, 5,
6252 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHF64),
6253 MVT::i64, 2, 4, 6,
6254 0,
6255 63|128,2,
6256 OPC_RecordChild0,
6257 OPC_RecordChild1,
6258 OPC_Scope, 0|128,2,
6259 OPC_MoveChild1,
6260 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6261 OPC_Scope, 17,
6262 OPC_CheckPredicate, 42,
6263 OPC_MoveParent,
6264 OPC_CheckTypeI32,
6265 OPC_CheckPatternPredicate2,
6266 OPC_EmitConvertToTarget1,
6267 OPC_EmitNodeXForm, 3, 2,
6268 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILMux),
6269 MVT::i32, MVT::i32, 2, 0, 3,
6270 17,
6271 OPC_CheckPredicate, 38,
6272 OPC_MoveParent,
6273 OPC_CheckTypeI32,
6274 OPC_CheckPatternPredicate2,
6275 OPC_EmitConvertToTarget1,
6276 OPC_EmitNodeXForm, 4, 2,
6277 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHMux),
6278 MVT::i32, MVT::i32, 2, 0, 3,
6279 16,
6280 OPC_CheckPredicate, 42,
6281 OPC_MoveParent,
6282 OPC_CheckTypeI32,
6283 OPC_EmitConvertToTarget1,
6284 OPC_EmitNodeXForm, 3, 2,
6285 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILL),
6286 MVT::i32, MVT::i32, 2, 0, 3,
6287 16,
6288 OPC_CheckPredicate, 38,
6289 OPC_MoveParent,
6290 OPC_CheckTypeI32,
6291 OPC_EmitConvertToTarget1,
6292 OPC_EmitNodeXForm, 4, 2,
6293 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILH),
6294 MVT::i32, MVT::i32, 2, 0, 3,
6295 16,
6296 OPC_CheckPredicate, 42,
6297 OPC_MoveParent,
6298 OPC_CheckTypeI32,
6299 OPC_EmitConvertToTarget1,
6300 OPC_EmitNodeXForm, 3, 2,
6301 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHL),
6302 MVT::i32, MVT::i32, 2, 0, 3,
6303 16,
6304 OPC_CheckPredicate, 38,
6305 OPC_MoveParent,
6306 OPC_CheckTypeI32,
6307 OPC_EmitConvertToTarget1,
6308 OPC_EmitNodeXForm, 4, 2,
6309 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHH),
6310 MVT::i32, MVT::i32, 2, 0, 3,
6311 16,
6312 OPC_CheckPredicate, 60,
6313 OPC_MoveParent,
6314 OPC_CheckTypeI64,
6315 OPC_EmitConvertToTarget1,
6316 OPC_EmitNodeXForm, 3, 2,
6317 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILL64),
6318 MVT::i64, MVT::i32, 2, 0, 3,
6319 16,
6320 OPC_CheckPredicate, 61,
6321 OPC_MoveParent,
6322 OPC_CheckTypeI64,
6323 OPC_EmitConvertToTarget1,
6324 OPC_EmitNodeXForm, 4, 2,
6325 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILH64),
6326 MVT::i64, MVT::i32, 2, 0, 3,
6327 16,
6328 OPC_CheckPredicate, 62,
6329 OPC_MoveParent,
6330 OPC_CheckTypeI64,
6331 OPC_EmitConvertToTarget1,
6332 OPC_EmitNodeXForm, 5, 2,
6333 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHL64),
6334 MVT::i64, MVT::i32, 2, 0, 3,
6335 16,
6336 OPC_CheckPredicate, 63,
6337 OPC_MoveParent,
6338 OPC_CheckTypeI64,
6339 OPC_EmitConvertToTarget1,
6340 OPC_EmitNodeXForm, 6, 2,
6341 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHH64),
6342 MVT::i64, MVT::i32, 2, 0, 3,
6343 16,
6344 OPC_CheckPredicate, 64,
6345 OPC_MoveParent,
6346 OPC_CheckTypeI64,
6347 OPC_EmitConvertToTarget1,
6348 OPC_EmitNodeXForm, 7, 2,
6349 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILF64),
6350 MVT::i64, MVT::i32, 2, 0, 3,
6351 16,
6352 OPC_CheckPredicate, 55,
6353 OPC_MoveParent,
6354 OPC_CheckTypeI64,
6355 OPC_EmitConvertToTarget1,
6356 OPC_EmitNodeXForm, 8, 2,
6357 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHF64),
6358 MVT::i64, MVT::i32, 2, 0, 3,
6359 43,
6360 OPC_MoveParent,
6361 OPC_CheckTypeI32,
6362 OPC_Scope, 13,
6363 OPC_CheckPatternPredicate2,
6364 OPC_EmitConvertToTarget1,
6365 OPC_EmitNodeXForm, 9, 2,
6366 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIFMux),
6367 MVT::i32, MVT::i32, 2, 0, 3,
6368 24,
6369 OPC_EmitConvertToTarget1,
6370 OPC_EmitNodeXForm, 9, 2,
6371 OPC_Scope, 8,
6372 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OILF),
6373 MVT::i32, MVT::i32, 2, 0, 3,
6374 8,
6375 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OIHF),
6376 MVT::i32, MVT::i32, 2, 0, 3,
6377 0,
6378 0,
6379 0,
6380 22,
6381 OPC_CheckTypeI32,
6382 OPC_Scope, 9,
6383 OPC_CheckPatternPredicate6,
6384 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ORK),
6385 MVT::i32, MVT::i32, 2, 0, 1,
6386 8,
6387 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OR),
6388 MVT::i32, MVT::i32, 2, 0, 1,
6389 0,
6390 22,
6391 OPC_CheckTypeI64,
6392 OPC_Scope, 9,
6393 OPC_CheckPatternPredicate6,
6394 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OGRK),
6395 MVT::i64, MVT::i32, 2, 0, 1,
6396 8,
6397 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::OGR),
6398 MVT::i64, MVT::i32, 2, 0, 1,
6399 0,
6400 10,
6401 OPC_CheckType, MVT::i128,
6402 OPC_CheckPatternPredicate0,
6403 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
6404 MVT::i128, 2, 0, 1,
6405 0,
6406 46|128,28,
6407 OPC_MoveChild0,
6408 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6409 OPC_Scope, 123|128,2,
6410 OPC_MoveChild0,
6411 OPC_SwitchOpcode , 87|128,1, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6412 OPC_RecordChild0,
6413 OPC_Scope, 76,
6414 OPC_CheckChild1Integer, 14,
6415 OPC_MoveSibling1,
6416 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6417 OPC_MoveChild0,
6418 OPC_CheckImmAllZerosV,
6419 OPC_MoveParent,
6420 OPC_CheckChild1Same, 0,
6421 OPC_MoveParent,
6422 OPC_MoveSibling1,
6423 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6424 OPC_Scope, 28,
6425 OPC_MoveChild0,
6426 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6427 OPC_MoveChild0,
6428 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6429 OPC_CheckChild0Same, 0,
6430 OPC_CheckChild1Integer, 14,
6431 OPC_MoveSibling1,
6432 OPC_CheckImmAllOnesV,
6433 OPC_MoveParent,
6434 OPC_MoveParent,
6435 OPC_CheckChild1Same, 0,
6436 OPC_MoveParent,
6437 OPC_CheckType, MVT::v16i8,
6438 OPC_CheckPatternPredicate0,
6439 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
6440 MVT::v16i8, 1, 0,
6441 28,
6442 OPC_CheckChild0Same, 0,
6443 OPC_MoveChild1,
6444 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6445 OPC_MoveChild0,
6446 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6447 OPC_CheckChild0Same, 0,
6448 OPC_CheckChild1Integer, 14,
6449 OPC_MoveSibling1,
6450 OPC_CheckImmAllOnesV,
6451 OPC_MoveParent,
6452 OPC_MoveParent,
6453 OPC_MoveParent,
6454 OPC_CheckType, MVT::v16i8,
6455 OPC_CheckPatternPredicate0,
6456 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
6457 MVT::v16i8, 1, 0,
6458 0,
6459 44,
6460 OPC_CheckChild1Integer, 30,
6461 OPC_MoveSibling1,
6462 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6463 OPC_MoveChild0,
6464 OPC_CheckImmAllZerosV,
6465 OPC_MoveParent,
6466 OPC_CheckChild1Same, 0,
6467 OPC_MoveParent,
6468 OPC_MoveSibling1,
6469 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6470 OPC_MoveChild0,
6471 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6472 OPC_MoveChild0,
6473 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6474 OPC_CheckChild0Same, 0,
6475 OPC_CheckChild1Integer, 30,
6476 OPC_MoveSibling1,
6477 OPC_CheckImmAllOnesV,
6478 OPC_MoveParent,
6479 OPC_MoveParent,
6480 OPC_CheckChild1Same, 0,
6481 OPC_MoveParent,
6482 OPC_CheckType, MVT::v8i16,
6483 OPC_CheckPatternPredicate0,
6484 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
6485 MVT::v8i16, 1, 0,
6486 44,
6487 OPC_CheckChild1Integer, 62,
6488 OPC_MoveSibling1,
6489 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6490 OPC_MoveChild0,
6491 OPC_CheckImmAllZerosV,
6492 OPC_MoveParent,
6493 OPC_CheckChild1Same, 0,
6494 OPC_MoveParent,
6495 OPC_MoveSibling1,
6496 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6497 OPC_MoveChild0,
6498 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6499 OPC_MoveChild0,
6500 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6501 OPC_CheckChild0Same, 0,
6502 OPC_CheckChild1Integer, 62,
6503 OPC_MoveSibling1,
6504 OPC_CheckImmAllOnesV,
6505 OPC_MoveParent,
6506 OPC_MoveParent,
6507 OPC_CheckChild1Same, 0,
6508 OPC_MoveParent,
6509 OPC_CheckType, MVT::v4i32,
6510 OPC_CheckPatternPredicate0,
6511 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
6512 MVT::v4i32, 1, 0,
6513 44,
6514 OPC_CheckChild1Integer, 126,
6515 OPC_MoveSibling1,
6516 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6517 OPC_MoveChild0,
6518 OPC_CheckImmAllZerosV,
6519 OPC_MoveParent,
6520 OPC_CheckChild1Same, 0,
6521 OPC_MoveParent,
6522 OPC_MoveSibling1,
6523 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6524 OPC_MoveChild0,
6525 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6526 OPC_MoveChild0,
6527 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6528 OPC_CheckChild0Same, 0,
6529 OPC_CheckChild1Integer, 126,
6530 OPC_MoveSibling1,
6531 OPC_CheckImmAllOnesV,
6532 OPC_MoveParent,
6533 OPC_MoveParent,
6534 OPC_CheckChild1Same, 0,
6535 OPC_MoveParent,
6536 OPC_CheckType, MVT::v2i64,
6537 OPC_CheckPatternPredicate0,
6538 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
6539 MVT::v2i64, 1, 0,
6540 0,
6541 77, TARGET_VAL(ISD::SUB),
6542 OPC_MoveChild0,
6543 OPC_CheckImmAllZerosV,
6544 OPC_MoveParent,
6545 OPC_RecordChild1,
6546 OPC_MoveSibling1,
6547 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6548 OPC_CheckChild0Same, 0,
6549 OPC_CheckChild1Integer, 14,
6550 OPC_MoveParent,
6551 OPC_MoveSibling1,
6552 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6553 OPC_Scope, 28,
6554 OPC_MoveChild0,
6555 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6556 OPC_MoveChild0,
6557 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6558 OPC_CheckChild0Same, 0,
6559 OPC_CheckChild1Integer, 14,
6560 OPC_MoveSibling1,
6561 OPC_CheckImmAllOnesV,
6562 OPC_MoveParent,
6563 OPC_MoveParent,
6564 OPC_CheckChild1Same, 0,
6565 OPC_MoveParent,
6566 OPC_CheckType, MVT::v16i8,
6567 OPC_CheckPatternPredicate0,
6568 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
6569 MVT::v16i8, 1, 0,
6570 28,
6571 OPC_CheckChild0Same, 0,
6572 OPC_MoveChild1,
6573 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6574 OPC_MoveChild0,
6575 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6576 OPC_CheckChild0Same, 0,
6577 OPC_CheckChild1Integer, 14,
6578 OPC_MoveSibling1,
6579 OPC_CheckImmAllOnesV,
6580 OPC_MoveParent,
6581 OPC_MoveParent,
6582 OPC_MoveParent,
6583 OPC_CheckType, MVT::v16i8,
6584 OPC_CheckPatternPredicate0,
6585 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
6586 MVT::v16i8, 1, 0,
6587 0,
6588 74, TARGET_VAL(ISD::XOR),
6589 OPC_MoveChild0,
6590 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6591 OPC_RecordChild0,
6592 OPC_CheckChild1Integer, 14,
6593 OPC_MoveSibling1,
6594 OPC_CheckImmAllOnesV,
6595 OPC_MoveParent,
6596 OPC_MoveParent,
6597 OPC_CheckChild1Same, 0,
6598 OPC_MoveSibling1,
6599 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6600 OPC_MoveChild0,
6601 OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6602 OPC_CheckChild0Same, 0,
6603 OPC_CheckChild1Integer, 14,
6604 OPC_MoveSibling1,
6605 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6606 OPC_MoveChild0,
6607 OPC_CheckImmAllZerosV,
6608 OPC_MoveParent,
6609 OPC_CheckChild1Same, 0,
6610 OPC_MoveParent,
6611 OPC_MoveParent,
6612 OPC_CheckType, MVT::v16i8,
6613 OPC_CheckPatternPredicate0,
6614 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
6615 MVT::v16i8, 1, 0,
6616 24, TARGET_VAL(ISD::SUB),
6617 OPC_MoveChild0,
6618 OPC_CheckImmAllZerosV,
6619 OPC_MoveParent,
6620 OPC_CheckChild1Same, 0,
6621 OPC_MoveSibling1,
6622 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6623 OPC_CheckChild0Same, 0,
6624 OPC_CheckChild1Integer, 14,
6625 OPC_MoveParent,
6626 OPC_MoveParent,
6627 OPC_CheckType, MVT::v16i8,
6628 OPC_CheckPatternPredicate0,
6629 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
6630 MVT::v16i8, 1, 0,
6631 0,
6632 0,
6633 78,
6634 OPC_RecordChild0,
6635 OPC_MoveChild1,
6636 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6637 OPC_MoveChild0,
6638 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6639 OPC_CheckChild0Same, 0,
6640 OPC_CheckChild1Integer, 14,
6641 OPC_MoveSibling1,
6642 OPC_CheckImmAllOnesV,
6643 OPC_MoveParent,
6644 OPC_MoveParent,
6645 OPC_MoveSibling1,
6646 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6647 OPC_MoveChild0,
6648 OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6649 OPC_CheckChild0Same, 0,
6650 OPC_CheckChild1Integer, 14,
6651 OPC_MoveSibling1,
6652 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6653 OPC_MoveChild0,
6654 OPC_CheckImmAllZerosV,
6655 OPC_MoveParent,
6656 OPC_CheckChild1Same, 0,
6657 OPC_MoveParent,
6658 OPC_MoveParent,
6659 OPC_CheckType, MVT::v16i8,
6660 OPC_CheckPatternPredicate0,
6661 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
6662 MVT::v16i8, 1, 0,
6663 24, TARGET_VAL(ISD::SUB),
6664 OPC_MoveChild0,
6665 OPC_CheckImmAllZerosV,
6666 OPC_MoveParent,
6667 OPC_CheckChild1Same, 0,
6668 OPC_MoveSibling1,
6669 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6670 OPC_CheckChild0Same, 0,
6671 OPC_CheckChild1Integer, 14,
6672 OPC_MoveParent,
6673 OPC_MoveParent,
6674 OPC_CheckType, MVT::v16i8,
6675 OPC_CheckPatternPredicate0,
6676 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
6677 MVT::v16i8, 1, 0,
6678 0,
6679 80|128,1,
6680 OPC_MoveChild0,
6681 OPC_SwitchOpcode , 45, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6682 OPC_RecordChild0,
6683 OPC_CheckChild1Integer, 30,
6684 OPC_MoveSibling1,
6685 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6686 OPC_MoveChild0,
6687 OPC_CheckImmAllZerosV,
6688 OPC_MoveParent,
6689 OPC_CheckChild1Same, 0,
6690 OPC_MoveParent,
6691 OPC_MoveSibling1,
6692 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6693 OPC_CheckChild0Same, 0,
6694 OPC_MoveChild1,
6695 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6696 OPC_MoveChild0,
6697 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6698 OPC_CheckChild0Same, 0,
6699 OPC_CheckChild1Integer, 30,
6700 OPC_MoveSibling1,
6701 OPC_CheckImmAllOnesV,
6702 OPC_MoveParent,
6703 OPC_MoveParent,
6704 OPC_MoveParent,
6705 OPC_CheckType, MVT::v8i16,
6706 OPC_CheckPatternPredicate0,
6707 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
6708 MVT::v8i16, 1, 0,
6709 77, TARGET_VAL(ISD::SUB),
6710 OPC_MoveChild0,
6711 OPC_CheckImmAllZerosV,
6712 OPC_MoveParent,
6713 OPC_RecordChild1,
6714 OPC_MoveSibling1,
6715 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6716 OPC_CheckChild0Same, 0,
6717 OPC_CheckChild1Integer, 30,
6718 OPC_MoveParent,
6719 OPC_MoveSibling1,
6720 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6721 OPC_Scope, 28,
6722 OPC_MoveChild0,
6723 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6724 OPC_MoveChild0,
6725 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6726 OPC_CheckChild0Same, 0,
6727 OPC_CheckChild1Integer, 30,
6728 OPC_MoveSibling1,
6729 OPC_CheckImmAllOnesV,
6730 OPC_MoveParent,
6731 OPC_MoveParent,
6732 OPC_CheckChild1Same, 0,
6733 OPC_MoveParent,
6734 OPC_CheckType, MVT::v8i16,
6735 OPC_CheckPatternPredicate0,
6736 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
6737 MVT::v8i16, 1, 0,
6738 28,
6739 OPC_CheckChild0Same, 0,
6740 OPC_MoveChild1,
6741 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6742 OPC_MoveChild0,
6743 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6744 OPC_CheckChild0Same, 0,
6745 OPC_CheckChild1Integer, 30,
6746 OPC_MoveSibling1,
6747 OPC_CheckImmAllOnesV,
6748 OPC_MoveParent,
6749 OPC_MoveParent,
6750 OPC_MoveParent,
6751 OPC_CheckType, MVT::v8i16,
6752 OPC_CheckPatternPredicate0,
6753 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
6754 MVT::v8i16, 1, 0,
6755 0,
6756 74, TARGET_VAL(ISD::XOR),
6757 OPC_MoveChild0,
6758 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6759 OPC_RecordChild0,
6760 OPC_CheckChild1Integer, 30,
6761 OPC_MoveSibling1,
6762 OPC_CheckImmAllOnesV,
6763 OPC_MoveParent,
6764 OPC_MoveParent,
6765 OPC_CheckChild1Same, 0,
6766 OPC_MoveSibling1,
6767 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6768 OPC_MoveChild0,
6769 OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6770 OPC_CheckChild0Same, 0,
6771 OPC_CheckChild1Integer, 30,
6772 OPC_MoveSibling1,
6773 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6774 OPC_MoveChild0,
6775 OPC_CheckImmAllZerosV,
6776 OPC_MoveParent,
6777 OPC_CheckChild1Same, 0,
6778 OPC_MoveParent,
6779 OPC_MoveParent,
6780 OPC_CheckType, MVT::v8i16,
6781 OPC_CheckPatternPredicate0,
6782 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
6783 MVT::v8i16, 1, 0,
6784 24, TARGET_VAL(ISD::SUB),
6785 OPC_MoveChild0,
6786 OPC_CheckImmAllZerosV,
6787 OPC_MoveParent,
6788 OPC_CheckChild1Same, 0,
6789 OPC_MoveSibling1,
6790 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6791 OPC_CheckChild0Same, 0,
6792 OPC_CheckChild1Integer, 30,
6793 OPC_MoveParent,
6794 OPC_MoveParent,
6795 OPC_CheckType, MVT::v8i16,
6796 OPC_CheckPatternPredicate0,
6797 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
6798 MVT::v8i16, 1, 0,
6799 0,
6800 0,
6801 78,
6802 OPC_RecordChild0,
6803 OPC_MoveChild1,
6804 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6805 OPC_MoveChild0,
6806 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6807 OPC_CheckChild0Same, 0,
6808 OPC_CheckChild1Integer, 30,
6809 OPC_MoveSibling1,
6810 OPC_CheckImmAllOnesV,
6811 OPC_MoveParent,
6812 OPC_MoveParent,
6813 OPC_MoveSibling1,
6814 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6815 OPC_MoveChild0,
6816 OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6817 OPC_CheckChild0Same, 0,
6818 OPC_CheckChild1Integer, 30,
6819 OPC_MoveSibling1,
6820 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6821 OPC_MoveChild0,
6822 OPC_CheckImmAllZerosV,
6823 OPC_MoveParent,
6824 OPC_CheckChild1Same, 0,
6825 OPC_MoveParent,
6826 OPC_MoveParent,
6827 OPC_CheckType, MVT::v8i16,
6828 OPC_CheckPatternPredicate0,
6829 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
6830 MVT::v8i16, 1, 0,
6831 24, TARGET_VAL(ISD::SUB),
6832 OPC_MoveChild0,
6833 OPC_CheckImmAllZerosV,
6834 OPC_MoveParent,
6835 OPC_CheckChild1Same, 0,
6836 OPC_MoveSibling1,
6837 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6838 OPC_CheckChild0Same, 0,
6839 OPC_CheckChild1Integer, 30,
6840 OPC_MoveParent,
6841 OPC_MoveParent,
6842 OPC_CheckType, MVT::v8i16,
6843 OPC_CheckPatternPredicate0,
6844 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
6845 MVT::v8i16, 1, 0,
6846 0,
6847 80|128,1,
6848 OPC_MoveChild0,
6849 OPC_SwitchOpcode , 45, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6850 OPC_RecordChild0,
6851 OPC_CheckChild1Integer, 62,
6852 OPC_MoveSibling1,
6853 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6854 OPC_MoveChild0,
6855 OPC_CheckImmAllZerosV,
6856 OPC_MoveParent,
6857 OPC_CheckChild1Same, 0,
6858 OPC_MoveParent,
6859 OPC_MoveSibling1,
6860 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6861 OPC_CheckChild0Same, 0,
6862 OPC_MoveChild1,
6863 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6864 OPC_MoveChild0,
6865 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6866 OPC_CheckChild0Same, 0,
6867 OPC_CheckChild1Integer, 62,
6868 OPC_MoveSibling1,
6869 OPC_CheckImmAllOnesV,
6870 OPC_MoveParent,
6871 OPC_MoveParent,
6872 OPC_MoveParent,
6873 OPC_CheckType, MVT::v4i32,
6874 OPC_CheckPatternPredicate0,
6875 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
6876 MVT::v4i32, 1, 0,
6877 77, TARGET_VAL(ISD::SUB),
6878 OPC_MoveChild0,
6879 OPC_CheckImmAllZerosV,
6880 OPC_MoveParent,
6881 OPC_RecordChild1,
6882 OPC_MoveSibling1,
6883 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6884 OPC_CheckChild0Same, 0,
6885 OPC_CheckChild1Integer, 62,
6886 OPC_MoveParent,
6887 OPC_MoveSibling1,
6888 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6889 OPC_Scope, 28,
6890 OPC_MoveChild0,
6891 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6892 OPC_MoveChild0,
6893 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6894 OPC_CheckChild0Same, 0,
6895 OPC_CheckChild1Integer, 62,
6896 OPC_MoveSibling1,
6897 OPC_CheckImmAllOnesV,
6898 OPC_MoveParent,
6899 OPC_MoveParent,
6900 OPC_CheckChild1Same, 0,
6901 OPC_MoveParent,
6902 OPC_CheckType, MVT::v4i32,
6903 OPC_CheckPatternPredicate0,
6904 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
6905 MVT::v4i32, 1, 0,
6906 28,
6907 OPC_CheckChild0Same, 0,
6908 OPC_MoveChild1,
6909 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6910 OPC_MoveChild0,
6911 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6912 OPC_CheckChild0Same, 0,
6913 OPC_CheckChild1Integer, 62,
6914 OPC_MoveSibling1,
6915 OPC_CheckImmAllOnesV,
6916 OPC_MoveParent,
6917 OPC_MoveParent,
6918 OPC_MoveParent,
6919 OPC_CheckType, MVT::v4i32,
6920 OPC_CheckPatternPredicate0,
6921 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
6922 MVT::v4i32, 1, 0,
6923 0,
6924 74, TARGET_VAL(ISD::XOR),
6925 OPC_MoveChild0,
6926 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6927 OPC_RecordChild0,
6928 OPC_CheckChild1Integer, 62,
6929 OPC_MoveSibling1,
6930 OPC_CheckImmAllOnesV,
6931 OPC_MoveParent,
6932 OPC_MoveParent,
6933 OPC_CheckChild1Same, 0,
6934 OPC_MoveSibling1,
6935 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6936 OPC_MoveChild0,
6937 OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6938 OPC_CheckChild0Same, 0,
6939 OPC_CheckChild1Integer, 62,
6940 OPC_MoveSibling1,
6941 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6942 OPC_MoveChild0,
6943 OPC_CheckImmAllZerosV,
6944 OPC_MoveParent,
6945 OPC_CheckChild1Same, 0,
6946 OPC_MoveParent,
6947 OPC_MoveParent,
6948 OPC_CheckType, MVT::v4i32,
6949 OPC_CheckPatternPredicate0,
6950 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
6951 MVT::v4i32, 1, 0,
6952 24, TARGET_VAL(ISD::SUB),
6953 OPC_MoveChild0,
6954 OPC_CheckImmAllZerosV,
6955 OPC_MoveParent,
6956 OPC_CheckChild1Same, 0,
6957 OPC_MoveSibling1,
6958 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6959 OPC_CheckChild0Same, 0,
6960 OPC_CheckChild1Integer, 62,
6961 OPC_MoveParent,
6962 OPC_MoveParent,
6963 OPC_CheckType, MVT::v4i32,
6964 OPC_CheckPatternPredicate0,
6965 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
6966 MVT::v4i32, 1, 0,
6967 0,
6968 0,
6969 78,
6970 OPC_RecordChild0,
6971 OPC_MoveChild1,
6972 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6973 OPC_MoveChild0,
6974 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6975 OPC_CheckChild0Same, 0,
6976 OPC_CheckChild1Integer, 62,
6977 OPC_MoveSibling1,
6978 OPC_CheckImmAllOnesV,
6979 OPC_MoveParent,
6980 OPC_MoveParent,
6981 OPC_MoveSibling1,
6982 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6983 OPC_MoveChild0,
6984 OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
6985 OPC_CheckChild0Same, 0,
6986 OPC_CheckChild1Integer, 62,
6987 OPC_MoveSibling1,
6988 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
6989 OPC_MoveChild0,
6990 OPC_CheckImmAllZerosV,
6991 OPC_MoveParent,
6992 OPC_CheckChild1Same, 0,
6993 OPC_MoveParent,
6994 OPC_MoveParent,
6995 OPC_CheckType, MVT::v4i32,
6996 OPC_CheckPatternPredicate0,
6997 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
6998 MVT::v4i32, 1, 0,
6999 24, TARGET_VAL(ISD::SUB),
7000 OPC_MoveChild0,
7001 OPC_CheckImmAllZerosV,
7002 OPC_MoveParent,
7003 OPC_CheckChild1Same, 0,
7004 OPC_MoveSibling1,
7005 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7006 OPC_CheckChild0Same, 0,
7007 OPC_CheckChild1Integer, 62,
7008 OPC_MoveParent,
7009 OPC_MoveParent,
7010 OPC_CheckType, MVT::v4i32,
7011 OPC_CheckPatternPredicate0,
7012 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
7013 MVT::v4i32, 1, 0,
7014 0,
7015 80|128,1,
7016 OPC_MoveChild0,
7017 OPC_SwitchOpcode , 45, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7018 OPC_RecordChild0,
7019 OPC_CheckChild1Integer, 126,
7020 OPC_MoveSibling1,
7021 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7022 OPC_MoveChild0,
7023 OPC_CheckImmAllZerosV,
7024 OPC_MoveParent,
7025 OPC_CheckChild1Same, 0,
7026 OPC_MoveParent,
7027 OPC_MoveSibling1,
7028 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7029 OPC_CheckChild0Same, 0,
7030 OPC_MoveChild1,
7031 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7032 OPC_MoveChild0,
7033 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7034 OPC_CheckChild0Same, 0,
7035 OPC_CheckChild1Integer, 126,
7036 OPC_MoveSibling1,
7037 OPC_CheckImmAllOnesV,
7038 OPC_MoveParent,
7039 OPC_MoveParent,
7040 OPC_MoveParent,
7041 OPC_CheckType, MVT::v2i64,
7042 OPC_CheckPatternPredicate0,
7043 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
7044 MVT::v2i64, 1, 0,
7045 77, TARGET_VAL(ISD::SUB),
7046 OPC_MoveChild0,
7047 OPC_CheckImmAllZerosV,
7048 OPC_MoveParent,
7049 OPC_RecordChild1,
7050 OPC_MoveSibling1,
7051 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7052 OPC_CheckChild0Same, 0,
7053 OPC_CheckChild1Integer, 126,
7054 OPC_MoveParent,
7055 OPC_MoveSibling1,
7056 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7057 OPC_Scope, 28,
7058 OPC_MoveChild0,
7059 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7060 OPC_MoveChild0,
7061 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7062 OPC_CheckChild0Same, 0,
7063 OPC_CheckChild1Integer, 126,
7064 OPC_MoveSibling1,
7065 OPC_CheckImmAllOnesV,
7066 OPC_MoveParent,
7067 OPC_MoveParent,
7068 OPC_CheckChild1Same, 0,
7069 OPC_MoveParent,
7070 OPC_CheckType, MVT::v2i64,
7071 OPC_CheckPatternPredicate0,
7072 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
7073 MVT::v2i64, 1, 0,
7074 28,
7075 OPC_CheckChild0Same, 0,
7076 OPC_MoveChild1,
7077 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7078 OPC_MoveChild0,
7079 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7080 OPC_CheckChild0Same, 0,
7081 OPC_CheckChild1Integer, 126,
7082 OPC_MoveSibling1,
7083 OPC_CheckImmAllOnesV,
7084 OPC_MoveParent,
7085 OPC_MoveParent,
7086 OPC_MoveParent,
7087 OPC_CheckType, MVT::v2i64,
7088 OPC_CheckPatternPredicate0,
7089 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
7090 MVT::v2i64, 1, 0,
7091 0,
7092 74, TARGET_VAL(ISD::XOR),
7093 OPC_MoveChild0,
7094 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7095 OPC_RecordChild0,
7096 OPC_CheckChild1Integer, 126,
7097 OPC_MoveSibling1,
7098 OPC_CheckImmAllOnesV,
7099 OPC_MoveParent,
7100 OPC_MoveParent,
7101 OPC_CheckChild1Same, 0,
7102 OPC_MoveSibling1,
7103 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7104 OPC_MoveChild0,
7105 OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7106 OPC_CheckChild0Same, 0,
7107 OPC_CheckChild1Integer, 126,
7108 OPC_MoveSibling1,
7109 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7110 OPC_MoveChild0,
7111 OPC_CheckImmAllZerosV,
7112 OPC_MoveParent,
7113 OPC_CheckChild1Same, 0,
7114 OPC_MoveParent,
7115 OPC_MoveParent,
7116 OPC_CheckType, MVT::v2i64,
7117 OPC_CheckPatternPredicate0,
7118 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
7119 MVT::v2i64, 1, 0,
7120 24, TARGET_VAL(ISD::SUB),
7121 OPC_MoveChild0,
7122 OPC_CheckImmAllZerosV,
7123 OPC_MoveParent,
7124 OPC_CheckChild1Same, 0,
7125 OPC_MoveSibling1,
7126 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7127 OPC_CheckChild0Same, 0,
7128 OPC_CheckChild1Integer, 126,
7129 OPC_MoveParent,
7130 OPC_MoveParent,
7131 OPC_CheckType, MVT::v2i64,
7132 OPC_CheckPatternPredicate0,
7133 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
7134 MVT::v2i64, 1, 0,
7135 0,
7136 0,
7137 78,
7138 OPC_RecordChild0,
7139 OPC_MoveChild1,
7140 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7141 OPC_MoveChild0,
7142 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7143 OPC_CheckChild0Same, 0,
7144 OPC_CheckChild1Integer, 126,
7145 OPC_MoveSibling1,
7146 OPC_CheckImmAllOnesV,
7147 OPC_MoveParent,
7148 OPC_MoveParent,
7149 OPC_MoveSibling1,
7150 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7151 OPC_MoveChild0,
7152 OPC_SwitchOpcode , 24, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7153 OPC_CheckChild0Same, 0,
7154 OPC_CheckChild1Integer, 126,
7155 OPC_MoveSibling1,
7156 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7157 OPC_MoveChild0,
7158 OPC_CheckImmAllZerosV,
7159 OPC_MoveParent,
7160 OPC_CheckChild1Same, 0,
7161 OPC_MoveParent,
7162 OPC_MoveParent,
7163 OPC_CheckType, MVT::v2i64,
7164 OPC_CheckPatternPredicate0,
7165 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
7166 MVT::v2i64, 1, 0,
7167 24, TARGET_VAL(ISD::SUB),
7168 OPC_MoveChild0,
7169 OPC_CheckImmAllZerosV,
7170 OPC_MoveParent,
7171 OPC_CheckChild1Same, 0,
7172 OPC_MoveSibling1,
7173 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7174 OPC_CheckChild0Same, 0,
7175 OPC_CheckChild1Integer, 126,
7176 OPC_MoveParent,
7177 OPC_MoveParent,
7178 OPC_CheckType, MVT::v2i64,
7179 OPC_CheckPatternPredicate0,
7180 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
7181 MVT::v2i64, 1, 0,
7182 0,
7183 125|128,1,
7184 OPC_MoveChild0,
7185 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7186 OPC_RecordChild0,
7187 OPC_Scope, 92,
7188 OPC_CheckChild1Integer, 14,
7189 OPC_MoveParent,
7190 OPC_CheckChild1Same, 0,
7191 OPC_MoveSibling1,
7192 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7193 OPC_MoveChild0,
7194 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
7195 OPC_MoveChild0,
7196 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7197 OPC_CheckChild0Same, 0,
7198 OPC_CheckChild1Integer, 14,
7199 OPC_MoveSibling1,
7200 OPC_CheckImmAllOnesV,
7201 OPC_MoveParent,
7202 OPC_MoveSibling1,
7203 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7204 OPC_MoveChild0,
7205 OPC_CheckImmAllZerosV,
7206 OPC_MoveParent,
7207 OPC_CheckChild1Same, 0,
7208 OPC_MoveParent,
7209 OPC_MoveParent,
7210 OPC_CheckType, MVT::v16i8,
7211 OPC_CheckPatternPredicate0,
7212 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
7213 MVT::i128, 1, 0,
7214 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
7215 MVT::v16i8, 1, 1,
7216 37, TARGET_VAL(ISD::SUB),
7217 OPC_MoveChild0,
7218 OPC_CheckImmAllZerosV,
7219 OPC_MoveParent,
7220 OPC_CheckChild1Same, 0,
7221 OPC_MoveSibling1,
7222 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7223 OPC_MoveChild0,
7224 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7225 OPC_CheckChild0Same, 0,
7226 OPC_CheckChild1Integer, 14,
7227 OPC_MoveSibling1,
7228 OPC_CheckImmAllOnesV,
7229 OPC_MoveParent,
7230 OPC_MoveParent,
7231 OPC_MoveParent,
7232 OPC_CheckType, MVT::v16i8,
7233 OPC_CheckPatternPredicate0,
7234 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
7235 MVT::i128, 1, 0,
7236 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
7237 MVT::v16i8, 1, 1,
7238 0,
7239 50,
7240 OPC_CheckChild1Integer, 30,
7241 OPC_MoveParent,
7242 OPC_CheckChild1Same, 0,
7243 OPC_MoveSibling1,
7244 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7245 OPC_MoveChild0,
7246 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7247 OPC_MoveChild0,
7248 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7249 OPC_CheckChild0Same, 0,
7250 OPC_CheckChild1Integer, 30,
7251 OPC_MoveSibling1,
7252 OPC_CheckImmAllOnesV,
7253 OPC_MoveParent,
7254 OPC_MoveSibling1,
7255 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7256 OPC_MoveChild0,
7257 OPC_CheckImmAllZerosV,
7258 OPC_MoveParent,
7259 OPC_CheckChild1Same, 0,
7260 OPC_MoveParent,
7261 OPC_MoveParent,
7262 OPC_CheckType, MVT::v8i16,
7263 OPC_CheckPatternPredicate0,
7264 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
7265 MVT::i128, 1, 0,
7266 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
7267 MVT::v8i16, 1, 1,
7268 50,
7269 OPC_CheckChild1Integer, 62,
7270 OPC_MoveParent,
7271 OPC_CheckChild1Same, 0,
7272 OPC_MoveSibling1,
7273 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7274 OPC_MoveChild0,
7275 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7276 OPC_MoveChild0,
7277 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7278 OPC_CheckChild0Same, 0,
7279 OPC_CheckChild1Integer, 62,
7280 OPC_MoveSibling1,
7281 OPC_CheckImmAllOnesV,
7282 OPC_MoveParent,
7283 OPC_MoveSibling1,
7284 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7285 OPC_MoveChild0,
7286 OPC_CheckImmAllZerosV,
7287 OPC_MoveParent,
7288 OPC_CheckChild1Same, 0,
7289 OPC_MoveParent,
7290 OPC_MoveParent,
7291 OPC_CheckType, MVT::v4i32,
7292 OPC_CheckPatternPredicate0,
7293 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
7294 MVT::i128, 1, 0,
7295 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
7296 MVT::v4i32, 1, 1,
7297 50,
7298 OPC_CheckChild1Integer, 126,
7299 OPC_MoveParent,
7300 OPC_CheckChild1Same, 0,
7301 OPC_MoveSibling1,
7302 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7303 OPC_MoveChild0,
7304 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7305 OPC_MoveChild0,
7306 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7307 OPC_CheckChild0Same, 0,
7308 OPC_CheckChild1Integer, 126,
7309 OPC_MoveSibling1,
7310 OPC_CheckImmAllOnesV,
7311 OPC_MoveParent,
7312 OPC_MoveSibling1,
7313 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7314 OPC_MoveChild0,
7315 OPC_CheckImmAllZerosV,
7316 OPC_MoveParent,
7317 OPC_CheckChild1Same, 0,
7318 OPC_MoveParent,
7319 OPC_MoveParent,
7320 OPC_CheckType, MVT::v2i64,
7321 OPC_CheckPatternPredicate0,
7322 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
7323 MVT::i128, 1, 0,
7324 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
7325 MVT::v2i64, 1, 1,
7326 0,
7327 97,
7328 OPC_RecordChild0,
7329 OPC_MoveChild1,
7330 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7331 OPC_CheckChild0Same, 0,
7332 OPC_CheckChild1Integer, 14,
7333 OPC_MoveParent,
7334 OPC_MoveSibling1,
7335 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7336 OPC_MoveChild0,
7337 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
7338 OPC_MoveChild0,
7339 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7340 OPC_CheckChild0Same, 0,
7341 OPC_CheckChild1Integer, 14,
7342 OPC_MoveSibling1,
7343 OPC_CheckImmAllOnesV,
7344 OPC_MoveParent,
7345 OPC_MoveSibling1,
7346 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7347 OPC_MoveChild0,
7348 OPC_CheckImmAllZerosV,
7349 OPC_MoveParent,
7350 OPC_CheckChild1Same, 0,
7351 OPC_MoveParent,
7352 OPC_MoveParent,
7353 OPC_CheckType, MVT::v16i8,
7354 OPC_CheckPatternPredicate0,
7355 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
7356 MVT::i128, 1, 0,
7357 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
7358 MVT::v16i8, 1, 1,
7359 37, TARGET_VAL(ISD::SUB),
7360 OPC_MoveChild0,
7361 OPC_CheckImmAllZerosV,
7362 OPC_MoveParent,
7363 OPC_CheckChild1Same, 0,
7364 OPC_MoveSibling1,
7365 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7366 OPC_MoveChild0,
7367 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7368 OPC_CheckChild0Same, 0,
7369 OPC_CheckChild1Integer, 14,
7370 OPC_MoveSibling1,
7371 OPC_CheckImmAllOnesV,
7372 OPC_MoveParent,
7373 OPC_MoveParent,
7374 OPC_MoveParent,
7375 OPC_CheckType, MVT::v16i8,
7376 OPC_CheckPatternPredicate0,
7377 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
7378 MVT::i128, 1, 0,
7379 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
7380 MVT::v16i8, 1, 1,
7381 0,
7382 99|128,1,
7383 OPC_MoveChild0,
7384 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::XOR),
7385 OPC_MoveChild0,
7386 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7387 OPC_RecordChild0,
7388 OPC_CheckChild1Integer, 14,
7389 OPC_MoveSibling1,
7390 OPC_CheckImmAllOnesV,
7391 OPC_MoveParent,
7392 OPC_MoveSibling1,
7393 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7394 OPC_MoveChild0,
7395 OPC_CheckImmAllZerosV,
7396 OPC_MoveParent,
7397 OPC_CheckChild1Same, 0,
7398 OPC_MoveParent,
7399 OPC_MoveSibling1,
7400 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7401 OPC_Scope, 27,
7402 OPC_MoveChild0,
7403 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7404 OPC_CheckChild0Same, 0,
7405 OPC_CheckChild1Integer, 14,
7406 OPC_MoveParent,
7407 OPC_CheckChild1Same, 0,
7408 OPC_MoveParent,
7409 OPC_CheckType, MVT::v16i8,
7410 OPC_CheckPatternPredicate0,
7411 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
7412 MVT::i128, 1, 0,
7413 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
7414 MVT::v16i8, 1, 1,
7415 27,
7416 OPC_CheckChild0Same, 0,
7417 OPC_MoveChild1,
7418 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7419 OPC_CheckChild0Same, 0,
7420 OPC_CheckChild1Integer, 14,
7421 OPC_MoveParent,
7422 OPC_MoveParent,
7423 OPC_CheckType, MVT::v16i8,
7424 OPC_CheckPatternPredicate0,
7425 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
7426 MVT::i128, 1, 0,
7427 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
7428 MVT::v16i8, 1, 1,
7429 0,
7430 82, TARGET_VAL(ISD::SUB),
7431 OPC_MoveChild0,
7432 OPC_CheckImmAllZerosV,
7433 OPC_MoveParent,
7434 OPC_RecordChild1,
7435 OPC_MoveSibling1,
7436 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7437 OPC_MoveChild0,
7438 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7439 OPC_CheckChild0Same, 0,
7440 OPC_CheckChild1Integer, 14,
7441 OPC_MoveSibling1,
7442 OPC_CheckImmAllOnesV,
7443 OPC_MoveParent,
7444 OPC_MoveParent,
7445 OPC_MoveSibling1,
7446 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7447 OPC_Scope, 27,
7448 OPC_MoveChild0,
7449 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7450 OPC_CheckChild0Same, 0,
7451 OPC_CheckChild1Integer, 14,
7452 OPC_MoveParent,
7453 OPC_CheckChild1Same, 0,
7454 OPC_MoveParent,
7455 OPC_CheckType, MVT::v16i8,
7456 OPC_CheckPatternPredicate0,
7457 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
7458 MVT::i128, 1, 0,
7459 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
7460 MVT::v16i8, 1, 1,
7461 27,
7462 OPC_CheckChild0Same, 0,
7463 OPC_MoveChild1,
7464 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7465 OPC_CheckChild0Same, 0,
7466 OPC_CheckChild1Integer, 14,
7467 OPC_MoveParent,
7468 OPC_MoveParent,
7469 OPC_CheckType, MVT::v16i8,
7470 OPC_CheckPatternPredicate0,
7471 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
7472 MVT::i128, 1, 0,
7473 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
7474 MVT::v16i8, 1, 1,
7475 0,
7476 51, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7477 OPC_RecordChild0,
7478 OPC_CheckChild1Integer, 30,
7479 OPC_MoveParent,
7480 OPC_CheckChild1Same, 0,
7481 OPC_MoveSibling1,
7482 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7483 OPC_MoveChild0,
7484 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7485 OPC_MoveChild0,
7486 OPC_CheckImmAllZerosV,
7487 OPC_MoveParent,
7488 OPC_CheckChild1Same, 0,
7489 OPC_MoveSibling1,
7490 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7491 OPC_MoveChild0,
7492 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7493 OPC_CheckChild0Same, 0,
7494 OPC_CheckChild1Integer, 30,
7495 OPC_MoveSibling1,
7496 OPC_CheckImmAllOnesV,
7497 OPC_MoveParent,
7498 OPC_MoveParent,
7499 OPC_MoveParent,
7500 OPC_CheckType, MVT::v8i16,
7501 OPC_CheckPatternPredicate0,
7502 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
7503 MVT::i128, 1, 0,
7504 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
7505 MVT::v8i16, 1, 1,
7506 0,
7507 97,
7508 OPC_RecordChild0,
7509 OPC_MoveChild1,
7510 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7511 OPC_CheckChild0Same, 0,
7512 OPC_CheckChild1Integer, 30,
7513 OPC_MoveParent,
7514 OPC_MoveSibling1,
7515 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7516 OPC_MoveChild0,
7517 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
7518 OPC_MoveChild0,
7519 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7520 OPC_CheckChild0Same, 0,
7521 OPC_CheckChild1Integer, 30,
7522 OPC_MoveSibling1,
7523 OPC_CheckImmAllOnesV,
7524 OPC_MoveParent,
7525 OPC_MoveSibling1,
7526 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7527 OPC_MoveChild0,
7528 OPC_CheckImmAllZerosV,
7529 OPC_MoveParent,
7530 OPC_CheckChild1Same, 0,
7531 OPC_MoveParent,
7532 OPC_MoveParent,
7533 OPC_CheckType, MVT::v8i16,
7534 OPC_CheckPatternPredicate0,
7535 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
7536 MVT::i128, 1, 0,
7537 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
7538 MVT::v8i16, 1, 1,
7539 37, TARGET_VAL(ISD::SUB),
7540 OPC_MoveChild0,
7541 OPC_CheckImmAllZerosV,
7542 OPC_MoveParent,
7543 OPC_CheckChild1Same, 0,
7544 OPC_MoveSibling1,
7545 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7546 OPC_MoveChild0,
7547 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7548 OPC_CheckChild0Same, 0,
7549 OPC_CheckChild1Integer, 30,
7550 OPC_MoveSibling1,
7551 OPC_CheckImmAllOnesV,
7552 OPC_MoveParent,
7553 OPC_MoveParent,
7554 OPC_MoveParent,
7555 OPC_CheckType, MVT::v8i16,
7556 OPC_CheckPatternPredicate0,
7557 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
7558 MVT::i128, 1, 0,
7559 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
7560 MVT::v8i16, 1, 1,
7561 0,
7562 99|128,1,
7563 OPC_MoveChild0,
7564 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::XOR),
7565 OPC_MoveChild0,
7566 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7567 OPC_RecordChild0,
7568 OPC_CheckChild1Integer, 30,
7569 OPC_MoveSibling1,
7570 OPC_CheckImmAllOnesV,
7571 OPC_MoveParent,
7572 OPC_MoveSibling1,
7573 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7574 OPC_MoveChild0,
7575 OPC_CheckImmAllZerosV,
7576 OPC_MoveParent,
7577 OPC_CheckChild1Same, 0,
7578 OPC_MoveParent,
7579 OPC_MoveSibling1,
7580 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7581 OPC_Scope, 27,
7582 OPC_MoveChild0,
7583 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7584 OPC_CheckChild0Same, 0,
7585 OPC_CheckChild1Integer, 30,
7586 OPC_MoveParent,
7587 OPC_CheckChild1Same, 0,
7588 OPC_MoveParent,
7589 OPC_CheckType, MVT::v8i16,
7590 OPC_CheckPatternPredicate0,
7591 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
7592 MVT::i128, 1, 0,
7593 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
7594 MVT::v8i16, 1, 1,
7595 27,
7596 OPC_CheckChild0Same, 0,
7597 OPC_MoveChild1,
7598 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7599 OPC_CheckChild0Same, 0,
7600 OPC_CheckChild1Integer, 30,
7601 OPC_MoveParent,
7602 OPC_MoveParent,
7603 OPC_CheckType, MVT::v8i16,
7604 OPC_CheckPatternPredicate0,
7605 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
7606 MVT::i128, 1, 0,
7607 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
7608 MVT::v8i16, 1, 1,
7609 0,
7610 82, TARGET_VAL(ISD::SUB),
7611 OPC_MoveChild0,
7612 OPC_CheckImmAllZerosV,
7613 OPC_MoveParent,
7614 OPC_RecordChild1,
7615 OPC_MoveSibling1,
7616 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7617 OPC_MoveChild0,
7618 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7619 OPC_CheckChild0Same, 0,
7620 OPC_CheckChild1Integer, 30,
7621 OPC_MoveSibling1,
7622 OPC_CheckImmAllOnesV,
7623 OPC_MoveParent,
7624 OPC_MoveParent,
7625 OPC_MoveSibling1,
7626 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7627 OPC_Scope, 27,
7628 OPC_MoveChild0,
7629 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7630 OPC_CheckChild0Same, 0,
7631 OPC_CheckChild1Integer, 30,
7632 OPC_MoveParent,
7633 OPC_CheckChild1Same, 0,
7634 OPC_MoveParent,
7635 OPC_CheckType, MVT::v8i16,
7636 OPC_CheckPatternPredicate0,
7637 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
7638 MVT::i128, 1, 0,
7639 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
7640 MVT::v8i16, 1, 1,
7641 27,
7642 OPC_CheckChild0Same, 0,
7643 OPC_MoveChild1,
7644 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7645 OPC_CheckChild0Same, 0,
7646 OPC_CheckChild1Integer, 30,
7647 OPC_MoveParent,
7648 OPC_MoveParent,
7649 OPC_CheckType, MVT::v8i16,
7650 OPC_CheckPatternPredicate0,
7651 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
7652 MVT::i128, 1, 0,
7653 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
7654 MVT::v8i16, 1, 1,
7655 0,
7656 51, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7657 OPC_RecordChild0,
7658 OPC_CheckChild1Integer, 62,
7659 OPC_MoveParent,
7660 OPC_CheckChild1Same, 0,
7661 OPC_MoveSibling1,
7662 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7663 OPC_MoveChild0,
7664 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7665 OPC_MoveChild0,
7666 OPC_CheckImmAllZerosV,
7667 OPC_MoveParent,
7668 OPC_CheckChild1Same, 0,
7669 OPC_MoveSibling1,
7670 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7671 OPC_MoveChild0,
7672 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7673 OPC_CheckChild0Same, 0,
7674 OPC_CheckChild1Integer, 62,
7675 OPC_MoveSibling1,
7676 OPC_CheckImmAllOnesV,
7677 OPC_MoveParent,
7678 OPC_MoveParent,
7679 OPC_MoveParent,
7680 OPC_CheckType, MVT::v4i32,
7681 OPC_CheckPatternPredicate0,
7682 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
7683 MVT::i128, 1, 0,
7684 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
7685 MVT::v4i32, 1, 1,
7686 0,
7687 97,
7688 OPC_RecordChild0,
7689 OPC_MoveChild1,
7690 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7691 OPC_CheckChild0Same, 0,
7692 OPC_CheckChild1Integer, 62,
7693 OPC_MoveParent,
7694 OPC_MoveSibling1,
7695 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7696 OPC_MoveChild0,
7697 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
7698 OPC_MoveChild0,
7699 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7700 OPC_CheckChild0Same, 0,
7701 OPC_CheckChild1Integer, 62,
7702 OPC_MoveSibling1,
7703 OPC_CheckImmAllOnesV,
7704 OPC_MoveParent,
7705 OPC_MoveSibling1,
7706 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7707 OPC_MoveChild0,
7708 OPC_CheckImmAllZerosV,
7709 OPC_MoveParent,
7710 OPC_CheckChild1Same, 0,
7711 OPC_MoveParent,
7712 OPC_MoveParent,
7713 OPC_CheckType, MVT::v4i32,
7714 OPC_CheckPatternPredicate0,
7715 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
7716 MVT::i128, 1, 0,
7717 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
7718 MVT::v4i32, 1, 1,
7719 37, TARGET_VAL(ISD::SUB),
7720 OPC_MoveChild0,
7721 OPC_CheckImmAllZerosV,
7722 OPC_MoveParent,
7723 OPC_CheckChild1Same, 0,
7724 OPC_MoveSibling1,
7725 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7726 OPC_MoveChild0,
7727 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7728 OPC_CheckChild0Same, 0,
7729 OPC_CheckChild1Integer, 62,
7730 OPC_MoveSibling1,
7731 OPC_CheckImmAllOnesV,
7732 OPC_MoveParent,
7733 OPC_MoveParent,
7734 OPC_MoveParent,
7735 OPC_CheckType, MVT::v4i32,
7736 OPC_CheckPatternPredicate0,
7737 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
7738 MVT::i128, 1, 0,
7739 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
7740 MVT::v4i32, 1, 1,
7741 0,
7742 99|128,1,
7743 OPC_MoveChild0,
7744 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::XOR),
7745 OPC_MoveChild0,
7746 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7747 OPC_RecordChild0,
7748 OPC_CheckChild1Integer, 62,
7749 OPC_MoveSibling1,
7750 OPC_CheckImmAllOnesV,
7751 OPC_MoveParent,
7752 OPC_MoveSibling1,
7753 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7754 OPC_MoveChild0,
7755 OPC_CheckImmAllZerosV,
7756 OPC_MoveParent,
7757 OPC_CheckChild1Same, 0,
7758 OPC_MoveParent,
7759 OPC_MoveSibling1,
7760 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7761 OPC_Scope, 27,
7762 OPC_MoveChild0,
7763 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7764 OPC_CheckChild0Same, 0,
7765 OPC_CheckChild1Integer, 62,
7766 OPC_MoveParent,
7767 OPC_CheckChild1Same, 0,
7768 OPC_MoveParent,
7769 OPC_CheckType, MVT::v4i32,
7770 OPC_CheckPatternPredicate0,
7771 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
7772 MVT::i128, 1, 0,
7773 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
7774 MVT::v4i32, 1, 1,
7775 27,
7776 OPC_CheckChild0Same, 0,
7777 OPC_MoveChild1,
7778 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7779 OPC_CheckChild0Same, 0,
7780 OPC_CheckChild1Integer, 62,
7781 OPC_MoveParent,
7782 OPC_MoveParent,
7783 OPC_CheckType, MVT::v4i32,
7784 OPC_CheckPatternPredicate0,
7785 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
7786 MVT::i128, 1, 0,
7787 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
7788 MVT::v4i32, 1, 1,
7789 0,
7790 82, TARGET_VAL(ISD::SUB),
7791 OPC_MoveChild0,
7792 OPC_CheckImmAllZerosV,
7793 OPC_MoveParent,
7794 OPC_RecordChild1,
7795 OPC_MoveSibling1,
7796 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7797 OPC_MoveChild0,
7798 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7799 OPC_CheckChild0Same, 0,
7800 OPC_CheckChild1Integer, 62,
7801 OPC_MoveSibling1,
7802 OPC_CheckImmAllOnesV,
7803 OPC_MoveParent,
7804 OPC_MoveParent,
7805 OPC_MoveSibling1,
7806 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7807 OPC_Scope, 27,
7808 OPC_MoveChild0,
7809 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7810 OPC_CheckChild0Same, 0,
7811 OPC_CheckChild1Integer, 62,
7812 OPC_MoveParent,
7813 OPC_CheckChild1Same, 0,
7814 OPC_MoveParent,
7815 OPC_CheckType, MVT::v4i32,
7816 OPC_CheckPatternPredicate0,
7817 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
7818 MVT::i128, 1, 0,
7819 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
7820 MVT::v4i32, 1, 1,
7821 27,
7822 OPC_CheckChild0Same, 0,
7823 OPC_MoveChild1,
7824 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7825 OPC_CheckChild0Same, 0,
7826 OPC_CheckChild1Integer, 62,
7827 OPC_MoveParent,
7828 OPC_MoveParent,
7829 OPC_CheckType, MVT::v4i32,
7830 OPC_CheckPatternPredicate0,
7831 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
7832 MVT::i128, 1, 0,
7833 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
7834 MVT::v4i32, 1, 1,
7835 0,
7836 51, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7837 OPC_RecordChild0,
7838 OPC_CheckChild1Integer, 126,
7839 OPC_MoveParent,
7840 OPC_CheckChild1Same, 0,
7841 OPC_MoveSibling1,
7842 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7843 OPC_MoveChild0,
7844 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7845 OPC_MoveChild0,
7846 OPC_CheckImmAllZerosV,
7847 OPC_MoveParent,
7848 OPC_CheckChild1Same, 0,
7849 OPC_MoveSibling1,
7850 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7851 OPC_MoveChild0,
7852 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7853 OPC_CheckChild0Same, 0,
7854 OPC_CheckChild1Integer, 126,
7855 OPC_MoveSibling1,
7856 OPC_CheckImmAllOnesV,
7857 OPC_MoveParent,
7858 OPC_MoveParent,
7859 OPC_MoveParent,
7860 OPC_CheckType, MVT::v2i64,
7861 OPC_CheckPatternPredicate0,
7862 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
7863 MVT::i128, 1, 0,
7864 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
7865 MVT::v2i64, 1, 1,
7866 0,
7867 97,
7868 OPC_RecordChild0,
7869 OPC_MoveChild1,
7870 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7871 OPC_CheckChild0Same, 0,
7872 OPC_CheckChild1Integer, 126,
7873 OPC_MoveParent,
7874 OPC_MoveSibling1,
7875 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7876 OPC_MoveChild0,
7877 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
7878 OPC_MoveChild0,
7879 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7880 OPC_CheckChild0Same, 0,
7881 OPC_CheckChild1Integer, 126,
7882 OPC_MoveSibling1,
7883 OPC_CheckImmAllOnesV,
7884 OPC_MoveParent,
7885 OPC_MoveSibling1,
7886 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7887 OPC_MoveChild0,
7888 OPC_CheckImmAllZerosV,
7889 OPC_MoveParent,
7890 OPC_CheckChild1Same, 0,
7891 OPC_MoveParent,
7892 OPC_MoveParent,
7893 OPC_CheckType, MVT::v2i64,
7894 OPC_CheckPatternPredicate0,
7895 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
7896 MVT::i128, 1, 0,
7897 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
7898 MVT::v2i64, 1, 1,
7899 37, TARGET_VAL(ISD::SUB),
7900 OPC_MoveChild0,
7901 OPC_CheckImmAllZerosV,
7902 OPC_MoveParent,
7903 OPC_CheckChild1Same, 0,
7904 OPC_MoveSibling1,
7905 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7906 OPC_MoveChild0,
7907 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7908 OPC_CheckChild0Same, 0,
7909 OPC_CheckChild1Integer, 126,
7910 OPC_MoveSibling1,
7911 OPC_CheckImmAllOnesV,
7912 OPC_MoveParent,
7913 OPC_MoveParent,
7914 OPC_MoveParent,
7915 OPC_CheckType, MVT::v2i64,
7916 OPC_CheckPatternPredicate0,
7917 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
7918 MVT::i128, 1, 0,
7919 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
7920 MVT::v2i64, 1, 1,
7921 0,
7922 45|128,1,
7923 OPC_MoveChild0,
7924 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::XOR),
7925 OPC_MoveChild0,
7926 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7927 OPC_RecordChild0,
7928 OPC_CheckChild1Integer, 126,
7929 OPC_MoveSibling1,
7930 OPC_CheckImmAllOnesV,
7931 OPC_MoveParent,
7932 OPC_MoveSibling1,
7933 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
7934 OPC_MoveChild0,
7935 OPC_CheckImmAllZerosV,
7936 OPC_MoveParent,
7937 OPC_CheckChild1Same, 0,
7938 OPC_MoveParent,
7939 OPC_MoveSibling1,
7940 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7941 OPC_Scope, 27,
7942 OPC_MoveChild0,
7943 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7944 OPC_CheckChild0Same, 0,
7945 OPC_CheckChild1Integer, 126,
7946 OPC_MoveParent,
7947 OPC_CheckChild1Same, 0,
7948 OPC_MoveParent,
7949 OPC_CheckType, MVT::v2i64,
7950 OPC_CheckPatternPredicate0,
7951 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
7952 MVT::i128, 1, 0,
7953 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
7954 MVT::v2i64, 1, 1,
7955 27,
7956 OPC_CheckChild0Same, 0,
7957 OPC_MoveChild1,
7958 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7959 OPC_CheckChild0Same, 0,
7960 OPC_CheckChild1Integer, 126,
7961 OPC_MoveParent,
7962 OPC_MoveParent,
7963 OPC_CheckType, MVT::v2i64,
7964 OPC_CheckPatternPredicate0,
7965 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
7966 MVT::i128, 1, 0,
7967 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
7968 MVT::v2i64, 1, 1,
7969 0,
7970 82, TARGET_VAL(ISD::SUB),
7971 OPC_MoveChild0,
7972 OPC_CheckImmAllZerosV,
7973 OPC_MoveParent,
7974 OPC_RecordChild1,
7975 OPC_MoveSibling1,
7976 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7977 OPC_MoveChild0,
7978 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7979 OPC_CheckChild0Same, 0,
7980 OPC_CheckChild1Integer, 126,
7981 OPC_MoveSibling1,
7982 OPC_CheckImmAllOnesV,
7983 OPC_MoveParent,
7984 OPC_MoveParent,
7985 OPC_MoveSibling1,
7986 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7987 OPC_Scope, 27,
7988 OPC_MoveChild0,
7989 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
7990 OPC_CheckChild0Same, 0,
7991 OPC_CheckChild1Integer, 126,
7992 OPC_MoveParent,
7993 OPC_CheckChild1Same, 0,
7994 OPC_MoveParent,
7995 OPC_CheckType, MVT::v2i64,
7996 OPC_CheckPatternPredicate0,
7997 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
7998 MVT::i128, 1, 0,
7999 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
8000 MVT::v2i64, 1, 1,
8001 27,
8002 OPC_CheckChild0Same, 0,
8003 OPC_MoveChild1,
8004 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
8005 OPC_CheckChild0Same, 0,
8006 OPC_CheckChild1Integer, 126,
8007 OPC_MoveParent,
8008 OPC_MoveParent,
8009 OPC_CheckType, MVT::v2i64,
8010 OPC_CheckPatternPredicate0,
8011 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
8012 MVT::i128, 1, 0,
8013 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
8014 MVT::v2i64, 1, 1,
8015 0,
8016 0,
8017 63|128,1,
8018 OPC_RecordChild0,
8019 OPC_Scope, 10|128,1,
8020 OPC_RecordChild1,
8021 OPC_MoveSibling1,
8022 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8023 OPC_Scope, 58,
8024 OPC_RecordChild0,
8025 OPC_MoveChild1,
8026 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8027 OPC_CheckChild0Same, 1,
8028 OPC_MoveChild1,
8029 OPC_CheckImmAllOnesV,
8030 OPC_MoveParent,
8031 OPC_MoveParent,
8032 OPC_MoveParent,
8033 OPC_SwitchType , 9, MVT::v16i8,
8034 OPC_CheckPatternPredicate0,
8035 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8036 MVT::v16i8, 3, 0, 2, 1,
8037 9, MVT::v8i16,
8038 OPC_CheckPatternPredicate0,
8039 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8040 MVT::v8i16, 3, 0, 2, 1,
8041 9, MVT::v4i32,
8042 OPC_CheckPatternPredicate0,
8043 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8044 MVT::v4i32, 3, 0, 2, 1,
8045 9, MVT::v2i64,
8046 OPC_CheckPatternPredicate0,
8047 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8048 MVT::v2i64, 3, 0, 2, 1,
8049 0,
8050 23,
8051 OPC_MoveChild0,
8052 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8053 OPC_CheckChild0Same, 1,
8054 OPC_MoveChild1,
8055 OPC_CheckImmAllOnesV,
8056 OPC_MoveParent,
8057 OPC_MoveParent,
8058 OPC_RecordChild1,
8059 OPC_MoveParent,
8060 OPC_CheckType, MVT::v16i8,
8061 OPC_CheckPatternPredicate0,
8062 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8063 MVT::v16i8, 3, 0, 2, 1,
8064 23,
8065 OPC_RecordChild0,
8066 OPC_MoveChild1,
8067 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8068 OPC_CheckChild0Same, 0,
8069 OPC_MoveChild1,
8070 OPC_CheckImmAllOnesV,
8071 OPC_MoveParent,
8072 OPC_MoveParent,
8073 OPC_MoveParent,
8074 OPC_CheckType, MVT::v16i8,
8075 OPC_CheckPatternPredicate0,
8076 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8077 MVT::v16i8, 3, 1, 2, 0,
8078 23,
8079 OPC_MoveChild0,
8080 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8081 OPC_CheckChild0Same, 0,
8082 OPC_MoveChild1,
8083 OPC_CheckImmAllOnesV,
8084 OPC_MoveParent,
8085 OPC_MoveParent,
8086 OPC_RecordChild1,
8087 OPC_MoveParent,
8088 OPC_CheckType, MVT::v16i8,
8089 OPC_CheckPatternPredicate0,
8090 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8091 MVT::v16i8, 3, 1, 2, 0,
8092 0,
8093 47,
8094 OPC_MoveChild1,
8095 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8096 OPC_RecordChild0,
8097 OPC_MoveChild1,
8098 OPC_CheckImmAllOnesV,
8099 OPC_MoveParent,
8100 OPC_MoveParent,
8101 OPC_MoveSibling1,
8102 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8103 OPC_Scope, 15,
8104 OPC_RecordChild0,
8105 OPC_CheckChild1Same, 1,
8106 OPC_MoveParent,
8107 OPC_CheckType, MVT::v16i8,
8108 OPC_CheckPatternPredicate0,
8109 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8110 MVT::v16i8, 3, 2, 0, 1,
8111 15,
8112 OPC_CheckChild0Same, 1,
8113 OPC_RecordChild1,
8114 OPC_MoveParent,
8115 OPC_CheckType, MVT::v16i8,
8116 OPC_CheckPatternPredicate0,
8117 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8118 MVT::v16i8, 3, 2, 0, 1,
8119 0,
8120 0,
8121 48,
8122 OPC_MoveChild0,
8123 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8124 OPC_RecordChild0,
8125 OPC_MoveChild1,
8126 OPC_CheckImmAllOnesV,
8127 OPC_MoveParent,
8128 OPC_MoveParent,
8129 OPC_RecordChild1,
8130 OPC_MoveSibling1,
8131 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8132 OPC_Scope, 15,
8133 OPC_RecordChild0,
8134 OPC_CheckChild1Same, 0,
8135 OPC_MoveParent,
8136 OPC_CheckType, MVT::v16i8,
8137 OPC_CheckPatternPredicate0,
8138 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8139 MVT::v16i8, 3, 2, 1, 0,
8140 15,
8141 OPC_CheckChild0Same, 0,
8142 OPC_RecordChild1,
8143 OPC_MoveParent,
8144 OPC_CheckType, MVT::v16i8,
8145 OPC_CheckPatternPredicate0,
8146 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8147 MVT::v16i8, 3, 2, 1, 0,
8148 0,
8149 3|128,1,
8150 OPC_RecordChild0,
8151 OPC_Scope, 79,
8152 OPC_RecordChild1,
8153 OPC_MoveSibling1,
8154 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8155 OPC_Scope, 23,
8156 OPC_MoveChild0,
8157 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8158 OPC_CheckChild0Same, 1,
8159 OPC_MoveChild1,
8160 OPC_CheckImmAllOnesV,
8161 OPC_MoveParent,
8162 OPC_MoveParent,
8163 OPC_RecordChild1,
8164 OPC_MoveParent,
8165 OPC_CheckType, MVT::v8i16,
8166 OPC_CheckPatternPredicate0,
8167 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8168 MVT::v8i16, 3, 0, 2, 1,
8169 23,
8170 OPC_RecordChild0,
8171 OPC_MoveChild1,
8172 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8173 OPC_CheckChild0Same, 0,
8174 OPC_MoveChild1,
8175 OPC_CheckImmAllOnesV,
8176 OPC_MoveParent,
8177 OPC_MoveParent,
8178 OPC_MoveParent,
8179 OPC_CheckType, MVT::v8i16,
8180 OPC_CheckPatternPredicate0,
8181 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8182 MVT::v8i16, 3, 1, 2, 0,
8183 23,
8184 OPC_MoveChild0,
8185 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8186 OPC_CheckChild0Same, 0,
8187 OPC_MoveChild1,
8188 OPC_CheckImmAllOnesV,
8189 OPC_MoveParent,
8190 OPC_MoveParent,
8191 OPC_RecordChild1,
8192 OPC_MoveParent,
8193 OPC_CheckType, MVT::v8i16,
8194 OPC_CheckPatternPredicate0,
8195 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8196 MVT::v8i16, 3, 1, 2, 0,
8197 0,
8198 47,
8199 OPC_MoveChild1,
8200 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8201 OPC_RecordChild0,
8202 OPC_MoveChild1,
8203 OPC_CheckImmAllOnesV,
8204 OPC_MoveParent,
8205 OPC_MoveParent,
8206 OPC_MoveSibling1,
8207 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8208 OPC_Scope, 15,
8209 OPC_RecordChild0,
8210 OPC_CheckChild1Same, 1,
8211 OPC_MoveParent,
8212 OPC_CheckType, MVT::v8i16,
8213 OPC_CheckPatternPredicate0,
8214 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8215 MVT::v8i16, 3, 2, 0, 1,
8216 15,
8217 OPC_CheckChild0Same, 1,
8218 OPC_RecordChild1,
8219 OPC_MoveParent,
8220 OPC_CheckType, MVT::v8i16,
8221 OPC_CheckPatternPredicate0,
8222 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8223 MVT::v8i16, 3, 2, 0, 1,
8224 0,
8225 0,
8226 48,
8227 OPC_MoveChild0,
8228 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8229 OPC_RecordChild0,
8230 OPC_MoveChild1,
8231 OPC_CheckImmAllOnesV,
8232 OPC_MoveParent,
8233 OPC_MoveParent,
8234 OPC_RecordChild1,
8235 OPC_MoveSibling1,
8236 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8237 OPC_Scope, 15,
8238 OPC_RecordChild0,
8239 OPC_CheckChild1Same, 0,
8240 OPC_MoveParent,
8241 OPC_CheckType, MVT::v8i16,
8242 OPC_CheckPatternPredicate0,
8243 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8244 MVT::v8i16, 3, 2, 1, 0,
8245 15,
8246 OPC_CheckChild0Same, 0,
8247 OPC_RecordChild1,
8248 OPC_MoveParent,
8249 OPC_CheckType, MVT::v8i16,
8250 OPC_CheckPatternPredicate0,
8251 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8252 MVT::v8i16, 3, 2, 1, 0,
8253 0,
8254 3|128,1,
8255 OPC_RecordChild0,
8256 OPC_Scope, 79,
8257 OPC_RecordChild1,
8258 OPC_MoveSibling1,
8259 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8260 OPC_Scope, 23,
8261 OPC_MoveChild0,
8262 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8263 OPC_CheckChild0Same, 1,
8264 OPC_MoveChild1,
8265 OPC_CheckImmAllOnesV,
8266 OPC_MoveParent,
8267 OPC_MoveParent,
8268 OPC_RecordChild1,
8269 OPC_MoveParent,
8270 OPC_CheckType, MVT::v4i32,
8271 OPC_CheckPatternPredicate0,
8272 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8273 MVT::v4i32, 3, 0, 2, 1,
8274 23,
8275 OPC_RecordChild0,
8276 OPC_MoveChild1,
8277 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8278 OPC_CheckChild0Same, 0,
8279 OPC_MoveChild1,
8280 OPC_CheckImmAllOnesV,
8281 OPC_MoveParent,
8282 OPC_MoveParent,
8283 OPC_MoveParent,
8284 OPC_CheckType, MVT::v4i32,
8285 OPC_CheckPatternPredicate0,
8286 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8287 MVT::v4i32, 3, 1, 2, 0,
8288 23,
8289 OPC_MoveChild0,
8290 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8291 OPC_CheckChild0Same, 0,
8292 OPC_MoveChild1,
8293 OPC_CheckImmAllOnesV,
8294 OPC_MoveParent,
8295 OPC_MoveParent,
8296 OPC_RecordChild1,
8297 OPC_MoveParent,
8298 OPC_CheckType, MVT::v4i32,
8299 OPC_CheckPatternPredicate0,
8300 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8301 MVT::v4i32, 3, 1, 2, 0,
8302 0,
8303 47,
8304 OPC_MoveChild1,
8305 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8306 OPC_RecordChild0,
8307 OPC_MoveChild1,
8308 OPC_CheckImmAllOnesV,
8309 OPC_MoveParent,
8310 OPC_MoveParent,
8311 OPC_MoveSibling1,
8312 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8313 OPC_Scope, 15,
8314 OPC_RecordChild0,
8315 OPC_CheckChild1Same, 1,
8316 OPC_MoveParent,
8317 OPC_CheckType, MVT::v4i32,
8318 OPC_CheckPatternPredicate0,
8319 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8320 MVT::v4i32, 3, 2, 0, 1,
8321 15,
8322 OPC_CheckChild0Same, 1,
8323 OPC_RecordChild1,
8324 OPC_MoveParent,
8325 OPC_CheckType, MVT::v4i32,
8326 OPC_CheckPatternPredicate0,
8327 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8328 MVT::v4i32, 3, 2, 0, 1,
8329 0,
8330 0,
8331 48,
8332 OPC_MoveChild0,
8333 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8334 OPC_RecordChild0,
8335 OPC_MoveChild1,
8336 OPC_CheckImmAllOnesV,
8337 OPC_MoveParent,
8338 OPC_MoveParent,
8339 OPC_RecordChild1,
8340 OPC_MoveSibling1,
8341 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8342 OPC_Scope, 15,
8343 OPC_RecordChild0,
8344 OPC_CheckChild1Same, 0,
8345 OPC_MoveParent,
8346 OPC_CheckType, MVT::v4i32,
8347 OPC_CheckPatternPredicate0,
8348 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8349 MVT::v4i32, 3, 2, 1, 0,
8350 15,
8351 OPC_CheckChild0Same, 0,
8352 OPC_RecordChild1,
8353 OPC_MoveParent,
8354 OPC_CheckType, MVT::v4i32,
8355 OPC_CheckPatternPredicate0,
8356 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8357 MVT::v4i32, 3, 2, 1, 0,
8358 0,
8359 3|128,1,
8360 OPC_RecordChild0,
8361 OPC_Scope, 79,
8362 OPC_RecordChild1,
8363 OPC_MoveSibling1,
8364 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8365 OPC_Scope, 23,
8366 OPC_MoveChild0,
8367 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8368 OPC_CheckChild0Same, 1,
8369 OPC_MoveChild1,
8370 OPC_CheckImmAllOnesV,
8371 OPC_MoveParent,
8372 OPC_MoveParent,
8373 OPC_RecordChild1,
8374 OPC_MoveParent,
8375 OPC_CheckType, MVT::v2i64,
8376 OPC_CheckPatternPredicate0,
8377 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8378 MVT::v2i64, 3, 0, 2, 1,
8379 23,
8380 OPC_RecordChild0,
8381 OPC_MoveChild1,
8382 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8383 OPC_CheckChild0Same, 0,
8384 OPC_MoveChild1,
8385 OPC_CheckImmAllOnesV,
8386 OPC_MoveParent,
8387 OPC_MoveParent,
8388 OPC_MoveParent,
8389 OPC_CheckType, MVT::v2i64,
8390 OPC_CheckPatternPredicate0,
8391 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8392 MVT::v2i64, 3, 1, 2, 0,
8393 23,
8394 OPC_MoveChild0,
8395 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8396 OPC_CheckChild0Same, 0,
8397 OPC_MoveChild1,
8398 OPC_CheckImmAllOnesV,
8399 OPC_MoveParent,
8400 OPC_MoveParent,
8401 OPC_RecordChild1,
8402 OPC_MoveParent,
8403 OPC_CheckType, MVT::v2i64,
8404 OPC_CheckPatternPredicate0,
8405 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8406 MVT::v2i64, 3, 1, 2, 0,
8407 0,
8408 47,
8409 OPC_MoveChild1,
8410 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8411 OPC_RecordChild0,
8412 OPC_MoveChild1,
8413 OPC_CheckImmAllOnesV,
8414 OPC_MoveParent,
8415 OPC_MoveParent,
8416 OPC_MoveSibling1,
8417 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8418 OPC_Scope, 15,
8419 OPC_RecordChild0,
8420 OPC_CheckChild1Same, 1,
8421 OPC_MoveParent,
8422 OPC_CheckType, MVT::v2i64,
8423 OPC_CheckPatternPredicate0,
8424 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8425 MVT::v2i64, 3, 2, 0, 1,
8426 15,
8427 OPC_CheckChild0Same, 1,
8428 OPC_RecordChild1,
8429 OPC_MoveParent,
8430 OPC_CheckType, MVT::v2i64,
8431 OPC_CheckPatternPredicate0,
8432 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8433 MVT::v2i64, 3, 2, 0, 1,
8434 0,
8435 0,
8436 48,
8437 OPC_MoveChild0,
8438 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8439 OPC_RecordChild0,
8440 OPC_MoveChild1,
8441 OPC_CheckImmAllOnesV,
8442 OPC_MoveParent,
8443 OPC_MoveParent,
8444 OPC_RecordChild1,
8445 OPC_MoveSibling1,
8446 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8447 OPC_Scope, 15,
8448 OPC_RecordChild0,
8449 OPC_CheckChild1Same, 0,
8450 OPC_MoveParent,
8451 OPC_CheckType, MVT::v2i64,
8452 OPC_CheckPatternPredicate0,
8453 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8454 MVT::v2i64, 3, 2, 1, 0,
8455 15,
8456 OPC_CheckChild0Same, 0,
8457 OPC_RecordChild1,
8458 OPC_MoveParent,
8459 OPC_CheckType, MVT::v2i64,
8460 OPC_CheckPatternPredicate0,
8461 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
8462 MVT::v2i64, 3, 2, 1, 0,
8463 0,
8464 0,
8465 52,
8466 OPC_RecordChild0,
8467 OPC_MoveChild1,
8468 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8469 OPC_RecordChild0,
8470 OPC_MoveChild1,
8471 OPC_CheckImmAllOnesV,
8472 OPC_MoveParent,
8473 OPC_MoveParent,
8474 OPC_SwitchType , 8, MVT::v16i8,
8475 OPC_CheckPatternPredicate1,
8476 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
8477 MVT::v16i8, 2, 0, 1,
8478 8, MVT::v8i16,
8479 OPC_CheckPatternPredicate1,
8480 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
8481 MVT::v8i16, 2, 0, 1,
8482 8, MVT::v4i32,
8483 OPC_CheckPatternPredicate1,
8484 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
8485 MVT::v4i32, 2, 0, 1,
8486 8, MVT::v2i64,
8487 OPC_CheckPatternPredicate1,
8488 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
8489 MVT::v2i64, 2, 0, 1,
8490 0,
8491 52,
8492 OPC_MoveChild0,
8493 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8494 OPC_RecordChild0,
8495 OPC_MoveChild1,
8496 OPC_CheckImmAllOnesV,
8497 OPC_MoveParent,
8498 OPC_MoveParent,
8499 OPC_RecordChild1,
8500 OPC_SwitchType , 8, MVT::v16i8,
8501 OPC_CheckPatternPredicate1,
8502 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
8503 MVT::v16i8, 2, 1, 0,
8504 8, MVT::v8i16,
8505 OPC_CheckPatternPredicate1,
8506 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
8507 MVT::v8i16, 2, 1, 0,
8508 8, MVT::v4i32,
8509 OPC_CheckPatternPredicate1,
8510 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
8511 MVT::v4i32, 2, 1, 0,
8512 8, MVT::v2i64,
8513 OPC_CheckPatternPredicate1,
8514 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VOC),
8515 MVT::v2i64, 2, 1, 0,
8516 0,
8517 44,
8518 OPC_RecordChild0,
8519 OPC_RecordChild1,
8520 OPC_SwitchType , 8, MVT::v16i8,
8521 OPC_CheckPatternPredicate0,
8522 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
8523 MVT::v16i8, 2, 0, 1,
8524 8, MVT::v8i16,
8525 OPC_CheckPatternPredicate0,
8526 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
8527 MVT::v8i16, 2, 0, 1,
8528 8, MVT::v4i32,
8529 OPC_CheckPatternPredicate0,
8530 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
8531 MVT::v4i32, 2, 0, 1,
8532 8, MVT::v2i64,
8533 OPC_CheckPatternPredicate0,
8534 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VO),
8535 MVT::v2i64, 2, 0, 1,
8536 0,
8537 0,
8538 86|128,2, TARGET_VAL(SystemZISD::TM),
8539 OPC_Scope, 124,
8540 OPC_MoveChild0,
8541 OPC_SwitchOpcode , 58, TARGET_VAL(ISD::LOAD),
8542 OPC_RecordMemRef,
8543 OPC_RecordNode,
8544 OPC_CheckFoldableChainNode,
8545 OPC_RecordChild1,
8546 OPC_CheckChild1TypeI64,
8547 OPC_CheckPredicate0,
8548 OPC_CheckPredicate, 23,
8549 OPC_CheckPredicate7,
8550 OPC_CheckTypeI32,
8551 OPC_MoveSibling1,
8552 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8553 OPC_RecordNode,
8554 OPC_CheckPredicate, 30,
8555 OPC_MoveParent,
8556 OPC_CheckChild2Integer, 0,
8557 OPC_Scope, 17,
8558 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
8559 OPC_EmitMergeInputChains1_0,
8560 OPC_EmitConvertToTarget2,
8561 OPC_EmitNodeXForm, 0, 5,
8562 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::TM), 0|OPFL_Chain|OPFL_MemRefs,
8563 MVT::i32, 3, 3, 4, 6,
8564 17,
8565 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
8566 OPC_EmitMergeInputChains1_0,
8567 OPC_EmitConvertToTarget2,
8568 OPC_EmitNodeXForm, 0, 5,
8569 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::TMY), 0|OPFL_Chain|OPFL_MemRefs,
8570 MVT::i32, 3, 3, 4, 6,
8571 0,
8572 57, TARGET_VAL(ISD::ATOMIC_LOAD),
8573 OPC_RecordMemRef,
8574 OPC_RecordNode,
8575 OPC_CheckFoldableChainNode,
8576 OPC_RecordChild1,
8577 OPC_CheckChild1TypeI64,
8578 OPC_CheckPredicate, 23,
8579 OPC_CheckPredicate7,
8580 OPC_CheckTypeI32,
8581 OPC_MoveSibling1,
8582 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8583 OPC_RecordNode,
8584 OPC_CheckPredicate, 30,
8585 OPC_MoveParent,
8586 OPC_CheckChild2Integer, 0,
8587 OPC_Scope, 17,
8588 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
8589 OPC_EmitMergeInputChains1_0,
8590 OPC_EmitConvertToTarget2,
8591 OPC_EmitNodeXForm, 0, 5,
8592 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::TM), 0|OPFL_Chain|OPFL_MemRefs,
8593 MVT::i32, 3, 3, 4, 6,
8594 17,
8595 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
8596 OPC_EmitMergeInputChains1_0,
8597 OPC_EmitConvertToTarget2,
8598 OPC_EmitNodeXForm, 0, 5,
8599 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::TMY), 0|OPFL_Chain|OPFL_MemRefs,
8600 MVT::i32, 3, 3, 4, 6,
8601 0,
8602 0,
8603 85|128,1,
8604 OPC_RecordChild0,
8605 OPC_Scope, 124,
8606 OPC_CheckChild0TypeI32,
8607 OPC_RecordChild1,
8608 OPC_MoveChild1,
8609 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8610 OPC_Scope, 19,
8611 OPC_CheckPredicate, 42,
8612 OPC_MoveSibling2,
8613 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8614 OPC_MoveParent,
8615 OPC_CheckPatternPredicate2,
8616 OPC_EmitConvertToTarget1,
8617 OPC_EmitNodeXForm, 3, 2,
8618 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLMux),
8619 MVT::i32, 2, 0, 3,
8620 19,
8621 OPC_CheckPredicate, 38,
8622 OPC_MoveSibling2,
8623 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8624 OPC_MoveParent,
8625 OPC_CheckPatternPredicate2,
8626 OPC_EmitConvertToTarget1,
8627 OPC_EmitNodeXForm, 4, 2,
8628 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHMux),
8629 MVT::i32, 2, 0, 3,
8630 18,
8631 OPC_CheckPredicate, 42,
8632 OPC_MoveSibling2,
8633 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8634 OPC_MoveParent,
8635 OPC_EmitConvertToTarget1,
8636 OPC_EmitNodeXForm, 3, 2,
8637 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLL),
8638 MVT::i32, 2, 0, 3,
8639 18,
8640 OPC_CheckPredicate, 38,
8641 OPC_MoveSibling2,
8642 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8643 OPC_MoveParent,
8644 OPC_EmitConvertToTarget1,
8645 OPC_EmitNodeXForm, 4, 2,
8646 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLH),
8647 MVT::i32, 2, 0, 3,
8648 18,
8649 OPC_CheckPredicate, 42,
8650 OPC_MoveSibling2,
8651 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8652 OPC_MoveParent,
8653 OPC_EmitConvertToTarget1,
8654 OPC_EmitNodeXForm, 3, 2,
8655 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHL),
8656 MVT::i32, 2, 0, 3,
8657 18,
8658 OPC_CheckPredicate, 38,
8659 OPC_MoveSibling2,
8660 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8661 OPC_MoveParent,
8662 OPC_EmitConvertToTarget1,
8663 OPC_EmitNodeXForm, 4, 2,
8664 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHH),
8665 MVT::i32, 2, 0, 3,
8666 0,
8667 84,
8668 OPC_CheckChild0TypeI64,
8669 OPC_RecordChild1,
8670 OPC_MoveChild1,
8671 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8672 OPC_Scope, 18,
8673 OPC_CheckPredicate, 60,
8674 OPC_MoveSibling2,
8675 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8676 OPC_MoveParent,
8677 OPC_EmitConvertToTarget1,
8678 OPC_EmitNodeXForm, 3, 2,
8679 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLL64),
8680 MVT::i32, 2, 0, 3,
8681 18,
8682 OPC_CheckPredicate, 61,
8683 OPC_MoveSibling2,
8684 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8685 OPC_MoveParent,
8686 OPC_EmitConvertToTarget1,
8687 OPC_EmitNodeXForm, 4, 2,
8688 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMLH64),
8689 MVT::i32, 2, 0, 3,
8690 18,
8691 OPC_CheckPredicate, 62,
8692 OPC_MoveSibling2,
8693 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8694 OPC_MoveParent,
8695 OPC_EmitConvertToTarget1,
8696 OPC_EmitNodeXForm, 5, 2,
8697 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHL64),
8698 MVT::i32, 2, 0, 3,
8699 18,
8700 OPC_CheckPredicate, 63,
8701 OPC_MoveSibling2,
8702 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8703 OPC_MoveParent,
8704 OPC_EmitConvertToTarget1,
8705 OPC_EmitNodeXForm, 6, 2,
8706 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TMHH64),
8707 MVT::i32, 2, 0, 3,
8708 0,
8709 0,
8710 0,
8711 38|128,10, TARGET_VAL(ISD::AND),
8712 OPC_Scope, 61,
8713 OPC_CheckAndImm, 0|128,126|128,127|128,127|128,15,
8714 OPC_MoveChild0,
8715 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::LOAD),
8716 OPC_RecordMemRef,
8717 OPC_RecordNode,
8718 OPC_CheckFoldableChainNode,
8719 OPC_RecordChild1,
8720 OPC_CheckChild1TypeI64,
8721 OPC_CheckPredicate0,
8722 OPC_CheckPredicate3,
8723 OPC_CheckPredicate1,
8724 OPC_MoveParent,
8725 OPC_CheckTypeI32,
8726 OPC_CheckPatternPredicate, 13,
8727 OPC_CheckComplexPat2, /*#*/1,
8728 OPC_EmitMergeInputChains1_0,
8729 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LZRF), 0|OPFL_Chain|OPFL_MemRefs,
8730 MVT::i32, 3, 2, 3, 4,
8731 22, TARGET_VAL(ISD::ATOMIC_LOAD),
8732 OPC_RecordMemRef,
8733 OPC_RecordNode,
8734 OPC_CheckFoldableChainNode,
8735 OPC_RecordChild1,
8736 OPC_CheckChild1TypeI64,
8737 OPC_CheckPredicate1,
8738 OPC_MoveParent,
8739 OPC_CheckTypeI32,
8740 OPC_CheckPatternPredicate, 13,
8741 OPC_CheckComplexPat2, /*#*/1,
8742 OPC_EmitMergeInputChains1_0,
8743 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LZRF), 0|OPFL_Chain|OPFL_MemRefs,
8744 MVT::i32, 3, 2, 3, 4,
8745 0,
8746 66,
8747 OPC_CheckAndImm, 0|128,126|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
8748 OPC_MoveChild0,
8749 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::LOAD),
8750 OPC_RecordMemRef,
8751 OPC_RecordNode,
8752 OPC_CheckFoldableChainNode,
8753 OPC_RecordChild1,
8754 OPC_CheckChild1TypeI64,
8755 OPC_CheckPredicate0,
8756 OPC_CheckPredicate3,
8757 OPC_CheckPredicate1,
8758 OPC_MoveParent,
8759 OPC_CheckTypeI64,
8760 OPC_CheckPatternPredicate, 13,
8761 OPC_CheckComplexPat2, /*#*/1,
8762 OPC_EmitMergeInputChains1_0,
8763 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LZRG), 0|OPFL_Chain|OPFL_MemRefs,
8764 MVT::i64, 3, 2, 3, 4,
8765 22, TARGET_VAL(ISD::ATOMIC_LOAD),
8766 OPC_RecordMemRef,
8767 OPC_RecordNode,
8768 OPC_CheckFoldableChainNode,
8769 OPC_RecordChild1,
8770 OPC_CheckChild1TypeI64,
8771 OPC_CheckPredicate1,
8772 OPC_MoveParent,
8773 OPC_CheckTypeI64,
8774 OPC_CheckPatternPredicate, 13,
8775 OPC_CheckComplexPat2, /*#*/1,
8776 OPC_EmitMergeInputChains1_0,
8777 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LZRG), 0|OPFL_Chain|OPFL_MemRefs,
8778 MVT::i64, 3, 2, 3, 4,
8779 0,
8780 62,
8781 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,7,
8782 OPC_MoveChild0,
8783 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::LOAD),
8784 OPC_RecordMemRef,
8785 OPC_RecordNode,
8786 OPC_CheckFoldableChainNode,
8787 OPC_RecordChild1,
8788 OPC_CheckChild1TypeI64,
8789 OPC_CheckPredicate0,
8790 OPC_CheckPredicate, 8,
8791 OPC_CheckPredicate, 9,
8792 OPC_MoveParent,
8793 OPC_CheckTypeI64,
8794 OPC_CheckComplexPat2, /*#*/1,
8795 OPC_EmitMergeInputChains1_0,
8796 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGT), 0|OPFL_Chain|OPFL_MemRefs,
8797 MVT::i64, 3, 2, 3, 4,
8798 23, TARGET_VAL(ISD::ATOMIC_LOAD),
8799 OPC_RecordMemRef,
8800 OPC_RecordNode,
8801 OPC_CheckFoldableChainNode,
8802 OPC_RecordChild1,
8803 OPC_CheckChild1TypeI64,
8804 OPC_CheckPredicate, 8,
8805 OPC_CheckPredicate, 9,
8806 OPC_MoveParent,
8807 OPC_CheckTypeI64,
8808 OPC_CheckComplexPat2, /*#*/1,
8809 OPC_EmitMergeInputChains1_0,
8810 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLGT), 0|OPFL_Chain|OPFL_MemRefs,
8811 MVT::i64, 3, 2, 3, 4,
8812 0,
8813 66,
8814 OPC_CheckAndImm, 0|128,126|128,127|128,127|128,15,
8815 OPC_MoveChild0,
8816 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::LOAD),
8817 OPC_RecordMemRef,
8818 OPC_RecordNode,
8819 OPC_CheckFoldableChainNode,
8820 OPC_RecordChild1,
8821 OPC_CheckChild1TypeI64,
8822 OPC_CheckPredicate0,
8823 OPC_CheckPredicate, 8,
8824 OPC_CheckPredicate, 9,
8825 OPC_MoveParent,
8826 OPC_CheckTypeI64,
8827 OPC_CheckPatternPredicate, 13,
8828 OPC_CheckComplexPat2, /*#*/1,
8829 OPC_EmitMergeInputChains1_0,
8830 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLZRGF), 0|OPFL_Chain|OPFL_MemRefs,
8831 MVT::i64, 3, 2, 3, 4,
8832 25, TARGET_VAL(ISD::ATOMIC_LOAD),
8833 OPC_RecordMemRef,
8834 OPC_RecordNode,
8835 OPC_CheckFoldableChainNode,
8836 OPC_RecordChild1,
8837 OPC_CheckChild1TypeI64,
8838 OPC_CheckPredicate, 8,
8839 OPC_CheckPredicate, 9,
8840 OPC_MoveParent,
8841 OPC_CheckTypeI64,
8842 OPC_CheckPatternPredicate, 13,
8843 OPC_CheckComplexPat2, /*#*/1,
8844 OPC_EmitMergeInputChains1_0,
8845 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LLZRGF), 0|OPFL_Chain|OPFL_MemRefs,
8846 MVT::i64, 3, 2, 3, 4,
8847 0,
8848 2|128,1,
8849 OPC_RecordChild0,
8850 OPC_MoveChild1,
8851 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
8852 OPC_RecordMemRef,
8853 OPC_RecordNode,
8854 OPC_CheckFoldableChainNode,
8855 OPC_RecordChild1,
8856 OPC_CheckChild1TypeI64,
8857 OPC_CheckPredicate0,
8858 OPC_CheckPredicate3,
8859 OPC_CheckPredicate1,
8860 OPC_MoveParent,
8861 OPC_SwitchType , 32, MVT::i32,
8862 OPC_Scope, 14,
8863 OPC_CheckComplexPat3, /*#*/2,
8864 OPC_EmitMergeInputChains1_1,
8865 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::N), 0|OPFL_Chain|OPFL_MemRefs,
8866 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
8867 14,
8868 OPC_CheckComplexPat4, /*#*/2,
8869 OPC_EmitMergeInputChains1_1,
8870 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NY), 0|OPFL_Chain|OPFL_MemRefs,
8871 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
8872 0,
8873 14, MVT::i64,
8874 OPC_CheckComplexPat2, /*#*/2,
8875 OPC_EmitMergeInputChains1_1,
8876 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NG), 0|OPFL_Chain|OPFL_MemRefs,
8877 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
8878 0,
8879 59, TARGET_VAL(ISD::ATOMIC_LOAD),
8880 OPC_RecordMemRef,
8881 OPC_RecordNode,
8882 OPC_CheckFoldableChainNode,
8883 OPC_RecordChild1,
8884 OPC_CheckChild1TypeI64,
8885 OPC_CheckPredicate1,
8886 OPC_MoveParent,
8887 OPC_SwitchType , 32, MVT::i32,
8888 OPC_Scope, 14,
8889 OPC_CheckComplexPat3, /*#*/2,
8890 OPC_EmitMergeInputChains1_1,
8891 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::N), 0|OPFL_Chain|OPFL_MemRefs,
8892 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
8893 14,
8894 OPC_CheckComplexPat4, /*#*/2,
8895 OPC_EmitMergeInputChains1_1,
8896 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NY), 0|OPFL_Chain|OPFL_MemRefs,
8897 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
8898 0,
8899 14, MVT::i64,
8900 OPC_CheckComplexPat2, /*#*/2,
8901 OPC_EmitMergeInputChains1_1,
8902 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NG), 0|OPFL_Chain|OPFL_MemRefs,
8903 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
8904 0,
8905 0,
8906 3|128,1,
8907 OPC_MoveChild0,
8908 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::LOAD),
8909 OPC_RecordMemRef,
8910 OPC_RecordNode,
8911 OPC_CheckFoldableChainNode,
8912 OPC_RecordChild1,
8913 OPC_CheckChild1TypeI64,
8914 OPC_CheckPredicate0,
8915 OPC_CheckPredicate3,
8916 OPC_CheckPredicate1,
8917 OPC_MoveParent,
8918 OPC_RecordChild1,
8919 OPC_SwitchType , 32, MVT::i32,
8920 OPC_Scope, 14,
8921 OPC_CheckComplexPat3, /*#*/1,
8922 OPC_EmitMergeInputChains1_0,
8923 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::N), 0|OPFL_Chain|OPFL_MemRefs,
8924 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
8925 14,
8926 OPC_CheckComplexPat4, /*#*/1,
8927 OPC_EmitMergeInputChains1_0,
8928 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NY), 0|OPFL_Chain|OPFL_MemRefs,
8929 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
8930 0,
8931 14, MVT::i64,
8932 OPC_CheckComplexPat2, /*#*/1,
8933 OPC_EmitMergeInputChains1_0,
8934 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NG), 0|OPFL_Chain|OPFL_MemRefs,
8935 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
8936 0,
8937 60, TARGET_VAL(ISD::ATOMIC_LOAD),
8938 OPC_RecordMemRef,
8939 OPC_RecordNode,
8940 OPC_CheckFoldableChainNode,
8941 OPC_RecordChild1,
8942 OPC_CheckChild1TypeI64,
8943 OPC_CheckPredicate1,
8944 OPC_MoveParent,
8945 OPC_RecordChild1,
8946 OPC_SwitchType , 32, MVT::i32,
8947 OPC_Scope, 14,
8948 OPC_CheckComplexPat3, /*#*/1,
8949 OPC_EmitMergeInputChains1_0,
8950 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::N), 0|OPFL_Chain|OPFL_MemRefs,
8951 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
8952 14,
8953 OPC_CheckComplexPat4, /*#*/1,
8954 OPC_EmitMergeInputChains1_0,
8955 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NY), 0|OPFL_Chain|OPFL_MemRefs,
8956 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
8957 0,
8958 14, MVT::i64,
8959 OPC_CheckComplexPat2, /*#*/1,
8960 OPC_EmitMergeInputChains1_0,
8961 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::NG), 0|OPFL_Chain|OPFL_MemRefs,
8962 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
8963 0,
8964 0,
8965 43,
8966 OPC_RecordChild0,
8967 OPC_MoveChild1,
8968 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8969 OPC_RecordChild0,
8970 OPC_CheckChild1Integer, 3,
8971 OPC_MoveParent,
8972 OPC_SwitchType , 9, MVT::i32,
8973 OPC_CheckPatternPredicate7,
8974 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NCRK),
8975 MVT::i32, MVT::i32, 2, 0, 1,
8976 9, MVT::i64,
8977 OPC_CheckPatternPredicate7,
8978 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NCGRK),
8979 MVT::i64, MVT::i32, 2, 0, 1,
8980 8, MVT::i128,
8981 OPC_CheckPatternPredicate0,
8982 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
8983 MVT::i128, 2, 0, 1,
8984 0,
8985 63,
8986 OPC_MoveChild0,
8987 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8988 OPC_RecordChild0,
8989 OPC_CheckChild1Integer, 3,
8990 OPC_MoveParent,
8991 OPC_RecordChild1,
8992 OPC_SwitchType , 9, MVT::i32,
8993 OPC_CheckPatternPredicate7,
8994 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NCRK),
8995 MVT::i32, MVT::i32, 2, 1, 0,
8996 29, MVT::i64,
8997 OPC_Scope, 9,
8998 OPC_CheckPatternPredicate7,
8999 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NCGRK),
9000 MVT::i64, MVT::i32, 2, 1, 0,
9001 16,
9002 OPC_EmitNode2None, TARGET_VAL(SystemZ::NGR),
9003 MVT::i64, MVT::i32, 2, 1, 0,
9004 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XGR),
9005 MVT::i64, MVT::i32, 2, 1, 2,
9006 0,
9007 8, MVT::i128,
9008 OPC_CheckPatternPredicate0,
9009 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9010 MVT::i128, 2, 1, 0,
9011 0,
9012 34,
9013 OPC_CheckAndImm, 127|128,1,
9014 OPC_MoveChild0,
9015 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
9016 OPC_RecordChild0,
9017 OPC_CheckChild0TypeI32,
9018 OPC_MoveParent,
9019 OPC_CheckType, MVT::i128,
9020 OPC_CheckPatternPredicate0,
9021 OPC_EmitInteger32, 0,
9022 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
9023 MVT::i128, 1, 1,
9024 OPC_EmitRegisterI32, 0 ,
9025 OPC_EmitInteger32, 30,
9026 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGB),
9027 MVT::i128, 4, 2, 0, 3, 4,
9028 35,
9029 OPC_CheckAndImm, 127|128,127|128,3,
9030 OPC_MoveChild0,
9031 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
9032 OPC_RecordChild0,
9033 OPC_CheckChild0TypeI32,
9034 OPC_MoveParent,
9035 OPC_CheckType, MVT::i128,
9036 OPC_CheckPatternPredicate0,
9037 OPC_EmitInteger32, 0,
9038 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
9039 MVT::i128, 1, 1,
9040 OPC_EmitRegisterI32, 0 ,
9041 OPC_EmitInteger32, 14,
9042 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGH),
9043 MVT::i128, 4, 2, 0, 3, 4,
9044 26,
9045 OPC_RecordChild0,
9046 OPC_MoveChild1,
9047 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
9048 OPC_RecordChild0,
9049 OPC_CheckChild1Integer, 3,
9050 OPC_MoveParent,
9051 OPC_CheckTypeI64,
9052 OPC_EmitNode2None, TARGET_VAL(SystemZ::NGR),
9053 MVT::i64, MVT::i32, 2, 0, 1,
9054 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XGR),
9055 MVT::i64, MVT::i32, 2, 0, 2,
9056 22,
9057 OPC_CheckAndImm, 127|128,1,
9058 OPC_RecordChild0,
9059 OPC_CheckTypeI32,
9060 OPC_Scope, 7,
9061 OPC_CheckPatternPredicate2,
9062 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLCRMux),
9063 MVT::i32, 1, 0,
9064 6,
9065 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLCR),
9066 MVT::i32, 1, 0,
9067 0,
9068 23,
9069 OPC_CheckAndImm, 127|128,127|128,3,
9070 OPC_RecordChild0,
9071 OPC_CheckTypeI32,
9072 OPC_Scope, 7,
9073 OPC_CheckPatternPredicate2,
9074 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLHRMux),
9075 MVT::i32, 1, 0,
9076 6,
9077 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLHR),
9078 MVT::i32, 1, 0,
9079 0,
9080 11,
9081 OPC_CheckAndImm, 127|128,1,
9082 OPC_RecordChild0,
9083 OPC_CheckTypeI64,
9084 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGCR),
9085 MVT::i64, 1, 0,
9086 12,
9087 OPC_CheckAndImm, 127|128,127|128,3,
9088 OPC_RecordChild0,
9089 OPC_CheckTypeI64,
9090 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGHR),
9091 MVT::i64, 1, 0,
9092 14,
9093 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,7,
9094 OPC_RecordChild0,
9095 OPC_CheckTypeI64,
9096 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGTR),
9097 MVT::i64, 1, 0,
9098 23,
9099 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
9100 OPC_RecordChild0,
9101 OPC_CheckTypeI64,
9102 OPC_EmitStringInteger32, SystemZ::subreg_l32,
9103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9104 MVT::i32, 2, 0, 1,
9105 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGFR),
9106 MVT::i64, 1, 2,
9107 119|128,2,
9108 OPC_RecordChild0,
9109 OPC_Scope, 62|128,2,
9110 OPC_RecordChild1,
9111 OPC_Scope, 0|128,2,
9112 OPC_MoveChild1,
9113 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9114 OPC_Scope, 17,
9115 OPC_CheckPredicate, 70,
9116 OPC_MoveParent,
9117 OPC_CheckTypeI32,
9118 OPC_CheckPatternPredicate2,
9119 OPC_EmitConvertToTarget1,
9120 OPC_EmitNodeXForm, 3, 2,
9121 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILMux),
9122 MVT::i32, MVT::i32, 2, 0, 3,
9123 17,
9124 OPC_CheckPredicate, 56,
9125 OPC_MoveParent,
9126 OPC_CheckTypeI32,
9127 OPC_CheckPatternPredicate2,
9128 OPC_EmitConvertToTarget1,
9129 OPC_EmitNodeXForm, 4, 2,
9130 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHMux),
9131 MVT::i32, MVT::i32, 2, 0, 3,
9132 16,
9133 OPC_CheckPredicate, 70,
9134 OPC_MoveParent,
9135 OPC_CheckTypeI32,
9136 OPC_EmitConvertToTarget1,
9137 OPC_EmitNodeXForm, 3, 2,
9138 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILL),
9139 MVT::i32, MVT::i32, 2, 0, 3,
9140 16,
9141 OPC_CheckPredicate, 56,
9142 OPC_MoveParent,
9143 OPC_CheckTypeI32,
9144 OPC_EmitConvertToTarget1,
9145 OPC_EmitNodeXForm, 4, 2,
9146 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILH),
9147 MVT::i32, MVT::i32, 2, 0, 3,
9148 16,
9149 OPC_CheckPredicate, 70,
9150 OPC_MoveParent,
9151 OPC_CheckTypeI32,
9152 OPC_EmitConvertToTarget1,
9153 OPC_EmitNodeXForm, 3, 2,
9154 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHL),
9155 MVT::i32, MVT::i32, 2, 0, 3,
9156 16,
9157 OPC_CheckPredicate, 56,
9158 OPC_MoveParent,
9159 OPC_CheckTypeI32,
9160 OPC_EmitConvertToTarget1,
9161 OPC_EmitNodeXForm, 4, 2,
9162 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHH),
9163 MVT::i32, MVT::i32, 2, 0, 3,
9164 16,
9165 OPC_CheckPredicate, 77,
9166 OPC_MoveParent,
9167 OPC_CheckTypeI64,
9168 OPC_EmitConvertToTarget1,
9169 OPC_EmitNodeXForm, 3, 2,
9170 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILL64),
9171 MVT::i64, MVT::i32, 2, 0, 3,
9172 16,
9173 OPC_CheckPredicate, 78,
9174 OPC_MoveParent,
9175 OPC_CheckTypeI64,
9176 OPC_EmitConvertToTarget1,
9177 OPC_EmitNodeXForm, 4, 2,
9178 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILH64),
9179 MVT::i64, MVT::i32, 2, 0, 3,
9180 16,
9181 OPC_CheckPredicate, 79,
9182 OPC_MoveParent,
9183 OPC_CheckTypeI64,
9184 OPC_EmitConvertToTarget1,
9185 OPC_EmitNodeXForm, 5, 2,
9186 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHL64),
9187 MVT::i64, MVT::i32, 2, 0, 3,
9188 16,
9189 OPC_CheckPredicate, 80,
9190 OPC_MoveParent,
9191 OPC_CheckTypeI64,
9192 OPC_EmitConvertToTarget1,
9193 OPC_EmitNodeXForm, 6, 2,
9194 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHH64),
9195 MVT::i64, MVT::i32, 2, 0, 3,
9196 16,
9197 OPC_CheckPredicate, 81,
9198 OPC_MoveParent,
9199 OPC_CheckTypeI64,
9200 OPC_EmitConvertToTarget1,
9201 OPC_EmitNodeXForm, 7, 2,
9202 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILF64),
9203 MVT::i64, MVT::i32, 2, 0, 3,
9204 16,
9205 OPC_CheckPredicate, 82,
9206 OPC_MoveParent,
9207 OPC_CheckTypeI64,
9208 OPC_EmitConvertToTarget1,
9209 OPC_EmitNodeXForm, 8, 2,
9210 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHF64),
9211 MVT::i64, MVT::i32, 2, 0, 3,
9212 43,
9213 OPC_MoveParent,
9214 OPC_CheckTypeI32,
9215 OPC_Scope, 13,
9216 OPC_CheckPatternPredicate2,
9217 OPC_EmitConvertToTarget1,
9218 OPC_EmitNodeXForm, 9, 2,
9219 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIFMux),
9220 MVT::i32, MVT::i32, 2, 0, 3,
9221 24,
9222 OPC_EmitConvertToTarget1,
9223 OPC_EmitNodeXForm, 9, 2,
9224 OPC_Scope, 8,
9225 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NILF),
9226 MVT::i32, MVT::i32, 2, 0, 3,
9227 8,
9228 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NIHF),
9229 MVT::i32, MVT::i32, 2, 0, 3,
9230 0,
9231 0,
9232 0,
9233 22,
9234 OPC_CheckTypeI32,
9235 OPC_Scope, 9,
9236 OPC_CheckPatternPredicate6,
9237 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NRK),
9238 MVT::i32, MVT::i32, 2, 0, 1,
9239 8,
9240 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NR),
9241 MVT::i32, MVT::i32, 2, 0, 1,
9242 0,
9243 22,
9244 OPC_CheckTypeI64,
9245 OPC_Scope, 9,
9246 OPC_CheckPatternPredicate6,
9247 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NGRK),
9248 MVT::i64, MVT::i32, 2, 0, 1,
9249 8,
9250 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NGR),
9251 MVT::i64, MVT::i32, 2, 0, 1,
9252 0,
9253 10,
9254 OPC_CheckType, MVT::i128,
9255 OPC_CheckPatternPredicate0,
9256 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
9257 MVT::i128, 2, 0, 1,
9258 0,
9259 51,
9260 OPC_MoveChild1,
9261 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
9262 OPC_RecordChild0,
9263 OPC_MoveChild1,
9264 OPC_CheckImmAllOnesV,
9265 OPC_MoveParent,
9266 OPC_MoveParent,
9267 OPC_SwitchType , 8, MVT::v16i8,
9268 OPC_CheckPatternPredicate0,
9269 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9270 MVT::v16i8, 2, 0, 1,
9271 8, MVT::v8i16,
9272 OPC_CheckPatternPredicate0,
9273 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9274 MVT::v8i16, 2, 0, 1,
9275 8, MVT::v4i32,
9276 OPC_CheckPatternPredicate0,
9277 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9278 MVT::v4i32, 2, 0, 1,
9279 8, MVT::v2i64,
9280 OPC_CheckPatternPredicate0,
9281 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9282 MVT::v2i64, 2, 0, 1,
9283 0,
9284 0,
9285 52,
9286 OPC_MoveChild0,
9287 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
9288 OPC_RecordChild0,
9289 OPC_MoveChild1,
9290 OPC_CheckImmAllOnesV,
9291 OPC_MoveParent,
9292 OPC_MoveParent,
9293 OPC_RecordChild1,
9294 OPC_SwitchType , 8, MVT::v16i8,
9295 OPC_CheckPatternPredicate0,
9296 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9297 MVT::v16i8, 2, 1, 0,
9298 8, MVT::v8i16,
9299 OPC_CheckPatternPredicate0,
9300 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9301 MVT::v8i16, 2, 1, 0,
9302 8, MVT::v4i32,
9303 OPC_CheckPatternPredicate0,
9304 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9305 MVT::v4i32, 2, 1, 0,
9306 8, MVT::v2i64,
9307 OPC_CheckPatternPredicate0,
9308 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNC),
9309 MVT::v2i64, 2, 1, 0,
9310 0,
9311 44,
9312 OPC_RecordChild0,
9313 OPC_RecordChild1,
9314 OPC_SwitchType , 8, MVT::v16i8,
9315 OPC_CheckPatternPredicate0,
9316 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
9317 MVT::v16i8, 2, 0, 1,
9318 8, MVT::v8i16,
9319 OPC_CheckPatternPredicate0,
9320 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
9321 MVT::v8i16, 2, 0, 1,
9322 8, MVT::v4i32,
9323 OPC_CheckPatternPredicate0,
9324 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
9325 MVT::v4i32, 2, 0, 1,
9326 8, MVT::v2i64,
9327 OPC_CheckPatternPredicate0,
9328 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VN),
9329 MVT::v2i64, 2, 0, 1,
9330 0,
9331 0,
9332 123|128,3, TARGET_VAL(SystemZISD::SELECT_CCMASK),
9333 OPC_Scope, 110,
9334 OPC_MoveChild0,
9335 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
9336 OPC_RecordMemRef,
9337 OPC_RecordNode,
9338 OPC_CheckFoldableChainNode,
9339 OPC_RecordChild1,
9340 OPC_CheckChild1TypeI64,
9341 OPC_CheckPredicate0,
9342 OPC_CheckPredicate3,
9343 OPC_CheckPredicate, 33,
9344 OPC_MoveParent,
9345 OPC_RecordChild1,
9346 OPC_RecordChild2,
9347 OPC_MoveChild2,
9348 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9349 OPC_CheckPredicate, 39,
9350 OPC_MoveSibling3,
9351 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9352 OPC_RecordNode,
9353 OPC_CheckPredicate, 39,
9354 OPC_MoveParent,
9355 OPC_RecordChild4,
9356 OPC_SwitchType , 55, MVT::i32,
9357 OPC_Scope, 33,
9358 OPC_CheckPatternPredicate, 11,
9359 OPC_CheckComplexPat6, /*#*/1,
9360 OPC_EmitMergeInputChains1_0,
9361 OPC_EmitCopyToReg5, SystemZ::CC,
9362 OPC_Scope, 11,
9363 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LOCMux), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
9364 MVT::i32, 5, 2, 6, 7, 3, 4,
9365 11,
9366 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LOCFH), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
9367 MVT::i32, 5, 2, 6, 7, 3, 4,
9368 0,
9369 18,
9370 OPC_CheckPatternPredicate, 16,
9371 OPC_CheckComplexPat6, /*#*/1,
9372 OPC_EmitMergeInputChains1_0,
9373 OPC_EmitCopyToReg5, SystemZ::CC,
9374 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LOC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
9375 MVT::i32, 5, 2, 6, 7, 3, 4,
9376 0,
9377 18, MVT::i64,
9378 OPC_CheckPatternPredicate, 16,
9379 OPC_CheckComplexPat6, /*#*/1,
9380 OPC_EmitMergeInputChains1_0,
9381 OPC_EmitCopyToReg5, SystemZ::CC,
9382 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LOCG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
9383 MVT::i64, 5, 2, 6, 7, 3, 4,
9384 0,
9385 8|128,3,
9386 OPC_RecordChild0,
9387 OPC_Scope, 107,
9388 OPC_MoveChild0,
9389 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9390 OPC_Scope, 61,
9391 OPC_CheckPredicate, 20,
9392 OPC_MoveParent,
9393 OPC_RecordChild1,
9394 OPC_RecordChild2,
9395 OPC_MoveChild2,
9396 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9397 OPC_CheckPredicate, 39,
9398 OPC_MoveSibling3,
9399 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9400 OPC_RecordNode,
9401 OPC_CheckPredicate, 39,
9402 OPC_MoveParent,
9403 OPC_RecordChild4,
9404 OPC_CheckTypeI32,
9405 OPC_CheckPatternPredicate, 11,
9406 OPC_EmitConvertToTarget0,
9407 OPC_EmitNodeXForm, 2, 5,
9408 OPC_EmitCopyToReg4, SystemZ::CC,
9409 OPC_Scope, 9,
9410 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCHIMux),
9411 MVT::i32, 4, 1, 6, 2, 3,
9412 9,
9413 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCHHI),
9414 MVT::i32, 4, 1, 6, 2, 3,
9415 9,
9416 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCHI),
9417 MVT::i32, 4, 1, 6, 2, 3,
9418 0,
9419 38,
9420 OPC_CheckPredicate, 20,
9421 OPC_MoveParent,
9422 OPC_RecordChild1,
9423 OPC_RecordChild2,
9424 OPC_MoveChild2,
9425 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9426 OPC_CheckPredicate, 39,
9427 OPC_MoveSibling3,
9428 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9429 OPC_RecordNode,
9430 OPC_CheckPredicate, 39,
9431 OPC_MoveParent,
9432 OPC_RecordChild4,
9433 OPC_CheckTypeI64,
9434 OPC_CheckPatternPredicate, 11,
9435 OPC_EmitConvertToTarget0,
9436 OPC_EmitNodeXForm, 2, 5,
9437 OPC_EmitCopyToReg4, SystemZ::CC,
9438 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCGHI),
9439 MVT::i64, 4, 1, 6, 2, 3,
9440 0,
9441 23|128,2,
9442 OPC_RecordChild1,
9443 OPC_RecordChild2,
9444 OPC_MoveChild2,
9445 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9446 OPC_Scope, 125,
9447 OPC_CheckPredicate, 39,
9448 OPC_MoveSibling3,
9449 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9450 OPC_RecordNode,
9451 OPC_CheckPredicate, 39,
9452 OPC_MoveParent,
9453 OPC_RecordChild4,
9454 OPC_SwitchType , 79, MVT::i32,
9455 OPC_Scope, 35,
9456 OPC_CheckPatternPredicate7,
9457 OPC_EmitCopyToReg4, SystemZ::CC,
9458 OPC_Scope, 9,
9459 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SELRMux),
9460 MVT::i32, 4, 1, 0, 2, 3,
9461 9,
9462 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SELFHR),
9463 MVT::i32, 4, 1, 0, 2, 3,
9464 9,
9465 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SELR),
9466 MVT::i32, 4, 1, 0, 2, 3,
9467 0,
9468 26,
9469 OPC_CheckPatternPredicate, 11,
9470 OPC_EmitCopyToReg4, SystemZ::CC,
9471 OPC_Scope, 9,
9472 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCRMux),
9473 MVT::i32, 4, 1, 0, 2, 3,
9474 9,
9475 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCFHR),
9476 MVT::i32, 4, 1, 0, 2, 3,
9477 0,
9478 13,
9479 OPC_CheckPatternPredicate, 16,
9480 OPC_EmitCopyToReg4, SystemZ::CC,
9481 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCR),
9482 MVT::i32, 4, 1, 0, 2, 3,
9483 0,
9484 29, MVT::i64,
9485 OPC_Scope, 12,
9486 OPC_CheckPatternPredicate7,
9487 OPC_EmitCopyToReg4, SystemZ::CC,
9488 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SELGR),
9489 MVT::i64, 4, 1, 0, 2, 3,
9490 13,
9491 OPC_CheckPatternPredicate, 16,
9492 OPC_EmitCopyToReg4, SystemZ::CC,
9493 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::LOCGR),
9494 MVT::i64, 4, 1, 0, 2, 3,
9495 0,
9496 0,
9497 15|128,1,
9498 OPC_CheckPredicate4,
9499 OPC_MoveSibling3,
9500 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9501 OPC_RecordNode,
9502 OPC_CheckPredicate4,
9503 OPC_MoveParent,
9504 OPC_RecordChild4,
9505 OPC_SwitchType , 13, MVT::i32,
9506 OPC_CheckPatternPredicate, 18,
9507 OPC_EmitCopyToReg4, SystemZ::CC,
9508 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::Select32),
9509 MVT::i32, 4, 0, 1, 2, 3,
9510 13, MVT::i64,
9511 OPC_CheckPatternPredicate, 18,
9512 OPC_EmitCopyToReg4, SystemZ::CC,
9513 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::Select64),
9514 MVT::i64, 4, 0, 1, 2, 3,
9515 12, MVT::i128,
9516 OPC_CheckPatternPredicate0,
9517 OPC_EmitCopyToReg4, SystemZ::CC,
9518 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::Select128),
9519 MVT::i128, 4, 0, 1, 2, 3,
9520 27, MVT::f32,
9521 OPC_Scope, 12,
9522 OPC_CheckPatternPredicate0,
9523 OPC_EmitCopyToReg4, SystemZ::CC,
9524 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectVR32),
9525 MVT::f32, 4, 0, 1, 2, 3,
9526 11,
9527 OPC_EmitCopyToReg4, SystemZ::CC,
9528 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectF32),
9529 MVT::f32, 4, 0, 1, 2, 3,
9530 0,
9531 27, MVT::f64,
9532 OPC_Scope, 12,
9533 OPC_CheckPatternPredicate0,
9534 OPC_EmitCopyToReg4, SystemZ::CC,
9535 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectVR64),
9536 MVT::f64, 4, 0, 1, 2, 3,
9537 11,
9538 OPC_EmitCopyToReg4, SystemZ::CC,
9539 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectF64),
9540 MVT::f64, 4, 0, 1, 2, 3,
9541 0,
9542 28, MVT::f128,
9543 OPC_Scope, 12,
9544 OPC_CheckPatternPredicate4,
9545 OPC_EmitCopyToReg4, SystemZ::CC,
9546 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectF128),
9547 MVT::f128, 4, 0, 1, 2, 3,
9548 12,
9549 OPC_CheckPatternPredicate1,
9550 OPC_EmitCopyToReg4, SystemZ::CC,
9551 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::SelectVR128),
9552 MVT::f128, 4, 0, 1, 2, 3,
9553 0,
9554 0,
9555 0,
9556 0,
9557 0,
9558 42|128,17, TARGET_VAL(SystemZISD::ICMP),
9559 OPC_Scope, 38|128,2,
9560 OPC_RecordChild0,
9561 OPC_Scope, 118,
9562 OPC_CheckChild0TypeI32,
9563 OPC_MoveChild1,
9564 OPC_SwitchOpcode , 55, TARGET_VAL(ISD::LOAD),
9565 OPC_RecordMemRef,
9566 OPC_RecordNode,
9567 OPC_CheckFoldableChainNode,
9568 OPC_RecordChild1,
9569 OPC_CheckChild1TypeI64,
9570 OPC_CheckPredicate0,
9571 OPC_Scope, 23,
9572 OPC_CheckPredicate, 12,
9573 OPC_CheckPredicate6,
9574 OPC_CheckPredicate, 15,
9575 OPC_MoveSibling2,
9576 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9577 OPC_MoveParent,
9578 OPC_CheckPredicate, 16,
9579 OPC_CheckComplexPat5, /*#*/2,
9580 OPC_EmitMergeInputChains1_1,
9581 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHRL), 0|OPFL_Chain|OPFL_MemRefs,
9582 MVT::i32, 2, 0, 3,
9583 22,
9584 OPC_CheckPredicate3,
9585 OPC_CheckPredicate1,
9586 OPC_CheckPredicate, 15,
9587 OPC_MoveSibling2,
9588 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9589 OPC_MoveParent,
9590 OPC_CheckPredicate, 16,
9591 OPC_CheckComplexPat5, /*#*/2,
9592 OPC_EmitMergeInputChains1_1,
9593 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CRL), 0|OPFL_Chain|OPFL_MemRefs,
9594 MVT::i32, 2, 0, 3,
9595 0,
9596 53, TARGET_VAL(ISD::ATOMIC_LOAD),
9597 OPC_RecordMemRef,
9598 OPC_RecordNode,
9599 OPC_CheckFoldableChainNode,
9600 OPC_RecordChild1,
9601 OPC_CheckChild1TypeI64,
9602 OPC_Scope, 23,
9603 OPC_CheckPredicate, 12,
9604 OPC_CheckPredicate6,
9605 OPC_CheckPredicate, 15,
9606 OPC_MoveSibling2,
9607 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9608 OPC_MoveParent,
9609 OPC_CheckPredicate, 16,
9610 OPC_CheckComplexPat5, /*#*/2,
9611 OPC_EmitMergeInputChains1_1,
9612 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHRL), 0|OPFL_Chain|OPFL_MemRefs,
9613 MVT::i32, 2, 0, 3,
9614 21,
9615 OPC_CheckPredicate1,
9616 OPC_CheckPredicate, 15,
9617 OPC_MoveSibling2,
9618 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9619 OPC_MoveParent,
9620 OPC_CheckPredicate, 16,
9621 OPC_CheckComplexPat5, /*#*/2,
9622 OPC_EmitMergeInputChains1_1,
9623 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CRL), 0|OPFL_Chain|OPFL_MemRefs,
9624 MVT::i32, 2, 0, 3,
9625 0,
9626 0,
9627 42|128,1,
9628 OPC_CheckChild0TypeI64,
9629 OPC_MoveChild1,
9630 OPC_SwitchOpcode , 81, TARGET_VAL(ISD::LOAD),
9631 OPC_RecordMemRef,
9632 OPC_RecordNode,
9633 OPC_CheckFoldableChainNode,
9634 OPC_RecordChild1,
9635 OPC_CheckChild1TypeI64,
9636 OPC_CheckPredicate0,
9637 OPC_Scope, 49,
9638 OPC_CheckPredicate, 12,
9639 OPC_Scope, 21,
9640 OPC_CheckPredicate6,
9641 OPC_CheckPredicate, 15,
9642 OPC_MoveSibling2,
9643 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9644 OPC_MoveParent,
9645 OPC_CheckPredicate, 16,
9646 OPC_CheckComplexPat5, /*#*/2,
9647 OPC_EmitMergeInputChains1_1,
9648 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGHRL), 0|OPFL_Chain|OPFL_MemRefs,
9649 MVT::i32, 2, 0, 3,
9650 22,
9651 OPC_CheckPredicate, 9,
9652 OPC_CheckPredicate, 15,
9653 OPC_MoveSibling2,
9654 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9655 OPC_MoveParent,
9656 OPC_CheckPredicate, 16,
9657 OPC_CheckComplexPat5, /*#*/2,
9658 OPC_EmitMergeInputChains1_1,
9659 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGFRL), 0|OPFL_Chain|OPFL_MemRefs,
9660 MVT::i32, 2, 0, 3,
9661 0,
9662 22,
9663 OPC_CheckPredicate3,
9664 OPC_CheckPredicate1,
9665 OPC_CheckPredicate, 15,
9666 OPC_MoveSibling2,
9667 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9668 OPC_MoveParent,
9669 OPC_CheckPredicate, 16,
9670 OPC_CheckComplexPat5, /*#*/2,
9671 OPC_EmitMergeInputChains1_1,
9672 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGRL), 0|OPFL_Chain|OPFL_MemRefs,
9673 MVT::i32, 2, 0, 3,
9674 0,
9675 79, TARGET_VAL(ISD::ATOMIC_LOAD),
9676 OPC_RecordMemRef,
9677 OPC_RecordNode,
9678 OPC_CheckFoldableChainNode,
9679 OPC_RecordChild1,
9680 OPC_CheckChild1TypeI64,
9681 OPC_Scope, 49,
9682 OPC_CheckPredicate, 12,
9683 OPC_Scope, 21,
9684 OPC_CheckPredicate6,
9685 OPC_CheckPredicate, 15,
9686 OPC_MoveSibling2,
9687 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9688 OPC_MoveParent,
9689 OPC_CheckPredicate, 16,
9690 OPC_CheckComplexPat5, /*#*/2,
9691 OPC_EmitMergeInputChains1_1,
9692 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGHRL), 0|OPFL_Chain|OPFL_MemRefs,
9693 MVT::i32, 2, 0, 3,
9694 22,
9695 OPC_CheckPredicate, 9,
9696 OPC_CheckPredicate, 15,
9697 OPC_MoveSibling2,
9698 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9699 OPC_MoveParent,
9700 OPC_CheckPredicate, 16,
9701 OPC_CheckComplexPat5, /*#*/2,
9702 OPC_EmitMergeInputChains1_1,
9703 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGFRL), 0|OPFL_Chain|OPFL_MemRefs,
9704 MVT::i32, 2, 0, 3,
9705 0,
9706 21,
9707 OPC_CheckPredicate1,
9708 OPC_CheckPredicate, 15,
9709 OPC_MoveSibling2,
9710 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9711 OPC_MoveParent,
9712 OPC_CheckPredicate, 16,
9713 OPC_CheckComplexPat5, /*#*/2,
9714 OPC_EmitMergeInputChains1_1,
9715 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGRL), 0|OPFL_Chain|OPFL_MemRefs,
9716 MVT::i32, 2, 0, 3,
9717 0,
9718 0,
9719 0,
9720 103|128,1,
9721 OPC_MoveChild0,
9722 OPC_SwitchOpcode , 112, TARGET_VAL(ISD::LOAD),
9723 OPC_RecordMemRef,
9724 OPC_RecordNode,
9725 OPC_CheckFoldableChainNode,
9726 OPC_RecordChild1,
9727 OPC_CheckChild1TypeI64,
9728 OPC_CheckPredicate0,
9729 OPC_Scope, 34,
9730 OPC_CheckPredicate, 12,
9731 OPC_CheckPredicate6,
9732 OPC_CheckTypeI32,
9733 OPC_MoveSibling1,
9734 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9735 OPC_RecordNode,
9736 OPC_CheckPredicate, 20,
9737 OPC_MoveSibling2,
9738 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9739 OPC_MoveParent,
9740 OPC_CheckPredicate, 16,
9741 OPC_CheckComplexPat1, /*#*/1,
9742 OPC_EmitMergeInputChains1_0,
9743 OPC_EmitConvertToTarget2,
9744 OPC_EmitNodeXForm, 2, 5,
9745 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHHSI), 0|OPFL_Chain|OPFL_MemRefs,
9746 MVT::i32, 3, 3, 4, 6,
9747 68,
9748 OPC_CheckPredicate3,
9749 OPC_CheckPredicate1,
9750 OPC_SwitchType , 30, MVT::i32,
9751 OPC_MoveSibling1,
9752 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9753 OPC_RecordNode,
9754 OPC_CheckPredicate, 20,
9755 OPC_MoveSibling2,
9756 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9757 OPC_MoveParent,
9758 OPC_CheckPredicate, 16,
9759 OPC_CheckComplexPat1, /*#*/1,
9760 OPC_EmitMergeInputChains1_0,
9761 OPC_EmitConvertToTarget2,
9762 OPC_EmitNodeXForm, 2, 5,
9763 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHSI), 0|OPFL_Chain|OPFL_MemRefs,
9764 MVT::i32, 3, 3, 4, 6,
9765 30, MVT::i64,
9766 OPC_MoveSibling1,
9767 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9768 OPC_RecordNode,
9769 OPC_CheckPredicate, 20,
9770 OPC_MoveSibling2,
9771 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9772 OPC_MoveParent,
9773 OPC_CheckPredicate, 16,
9774 OPC_CheckComplexPat1, /*#*/1,
9775 OPC_EmitMergeInputChains1_0,
9776 OPC_EmitConvertToTarget2,
9777 OPC_EmitNodeXForm, 2, 5,
9778 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGHSI), 0|OPFL_Chain|OPFL_MemRefs,
9779 MVT::i32, 3, 3, 4, 6,
9780 0,
9781 0,
9782 110, TARGET_VAL(ISD::ATOMIC_LOAD),
9783 OPC_RecordMemRef,
9784 OPC_RecordNode,
9785 OPC_CheckFoldableChainNode,
9786 OPC_RecordChild1,
9787 OPC_CheckChild1TypeI64,
9788 OPC_Scope, 34,
9789 OPC_CheckPredicate, 12,
9790 OPC_CheckPredicate6,
9791 OPC_CheckTypeI32,
9792 OPC_MoveSibling1,
9793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9794 OPC_RecordNode,
9795 OPC_CheckPredicate, 20,
9796 OPC_MoveSibling2,
9797 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9798 OPC_MoveParent,
9799 OPC_CheckPredicate, 16,
9800 OPC_CheckComplexPat1, /*#*/1,
9801 OPC_EmitMergeInputChains1_0,
9802 OPC_EmitConvertToTarget2,
9803 OPC_EmitNodeXForm, 2, 5,
9804 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHHSI), 0|OPFL_Chain|OPFL_MemRefs,
9805 MVT::i32, 3, 3, 4, 6,
9806 67,
9807 OPC_CheckPredicate1,
9808 OPC_SwitchType , 30, MVT::i32,
9809 OPC_MoveSibling1,
9810 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9811 OPC_RecordNode,
9812 OPC_CheckPredicate, 20,
9813 OPC_MoveSibling2,
9814 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9815 OPC_MoveParent,
9816 OPC_CheckPredicate, 16,
9817 OPC_CheckComplexPat1, /*#*/1,
9818 OPC_EmitMergeInputChains1_0,
9819 OPC_EmitConvertToTarget2,
9820 OPC_EmitNodeXForm, 2, 5,
9821 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHSI), 0|OPFL_Chain|OPFL_MemRefs,
9822 MVT::i32, 3, 3, 4, 6,
9823 30, MVT::i64,
9824 OPC_MoveSibling1,
9825 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9826 OPC_RecordNode,
9827 OPC_CheckPredicate, 20,
9828 OPC_MoveSibling2,
9829 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9830 OPC_MoveParent,
9831 OPC_CheckPredicate, 16,
9832 OPC_CheckComplexPat1, /*#*/1,
9833 OPC_EmitMergeInputChains1_0,
9834 OPC_EmitConvertToTarget2,
9835 OPC_EmitNodeXForm, 2, 5,
9836 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGHSI), 0|OPFL_Chain|OPFL_MemRefs,
9837 MVT::i32, 3, 3, 4, 6,
9838 0,
9839 0,
9840 0,
9841 38|128,2,
9842 OPC_RecordChild0,
9843 OPC_Scope, 118,
9844 OPC_CheckChild0TypeI32,
9845 OPC_MoveChild1,
9846 OPC_SwitchOpcode , 55, TARGET_VAL(ISD::LOAD),
9847 OPC_RecordMemRef,
9848 OPC_RecordNode,
9849 OPC_CheckFoldableChainNode,
9850 OPC_RecordChild1,
9851 OPC_CheckChild1TypeI64,
9852 OPC_CheckPredicate0,
9853 OPC_Scope, 23,
9854 OPC_CheckPredicate, 8,
9855 OPC_CheckPredicate6,
9856 OPC_CheckPredicate, 15,
9857 OPC_MoveSibling2,
9858 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9859 OPC_MoveParent,
9860 OPC_CheckPredicate, 19,
9861 OPC_CheckComplexPat5, /*#*/2,
9862 OPC_EmitMergeInputChains1_1,
9863 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHRL), 0|OPFL_Chain|OPFL_MemRefs,
9864 MVT::i32, 2, 0, 3,
9865 22,
9866 OPC_CheckPredicate3,
9867 OPC_CheckPredicate1,
9868 OPC_CheckPredicate, 15,
9869 OPC_MoveSibling2,
9870 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9871 OPC_MoveParent,
9872 OPC_CheckPredicate, 19,
9873 OPC_CheckComplexPat5, /*#*/2,
9874 OPC_EmitMergeInputChains1_1,
9875 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLRL), 0|OPFL_Chain|OPFL_MemRefs,
9876 MVT::i32, 2, 0, 3,
9877 0,
9878 53, TARGET_VAL(ISD::ATOMIC_LOAD),
9879 OPC_RecordMemRef,
9880 OPC_RecordNode,
9881 OPC_CheckFoldableChainNode,
9882 OPC_RecordChild1,
9883 OPC_CheckChild1TypeI64,
9884 OPC_Scope, 23,
9885 OPC_CheckPredicate, 8,
9886 OPC_CheckPredicate6,
9887 OPC_CheckPredicate, 15,
9888 OPC_MoveSibling2,
9889 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9890 OPC_MoveParent,
9891 OPC_CheckPredicate, 19,
9892 OPC_CheckComplexPat5, /*#*/2,
9893 OPC_EmitMergeInputChains1_1,
9894 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHRL), 0|OPFL_Chain|OPFL_MemRefs,
9895 MVT::i32, 2, 0, 3,
9896 21,
9897 OPC_CheckPredicate1,
9898 OPC_CheckPredicate, 15,
9899 OPC_MoveSibling2,
9900 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9901 OPC_MoveParent,
9902 OPC_CheckPredicate, 19,
9903 OPC_CheckComplexPat5, /*#*/2,
9904 OPC_EmitMergeInputChains1_1,
9905 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLRL), 0|OPFL_Chain|OPFL_MemRefs,
9906 MVT::i32, 2, 0, 3,
9907 0,
9908 0,
9909 42|128,1,
9910 OPC_CheckChild0TypeI64,
9911 OPC_MoveChild1,
9912 OPC_SwitchOpcode , 81, TARGET_VAL(ISD::LOAD),
9913 OPC_RecordMemRef,
9914 OPC_RecordNode,
9915 OPC_CheckFoldableChainNode,
9916 OPC_RecordChild1,
9917 OPC_CheckChild1TypeI64,
9918 OPC_CheckPredicate0,
9919 OPC_Scope, 49,
9920 OPC_CheckPredicate, 8,
9921 OPC_Scope, 21,
9922 OPC_CheckPredicate6,
9923 OPC_CheckPredicate, 15,
9924 OPC_MoveSibling2,
9925 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9926 OPC_MoveParent,
9927 OPC_CheckPredicate, 19,
9928 OPC_CheckComplexPat5, /*#*/2,
9929 OPC_EmitMergeInputChains1_1,
9930 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGHRL), 0|OPFL_Chain|OPFL_MemRefs,
9931 MVT::i32, 2, 0, 3,
9932 22,
9933 OPC_CheckPredicate, 9,
9934 OPC_CheckPredicate, 15,
9935 OPC_MoveSibling2,
9936 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9937 OPC_MoveParent,
9938 OPC_CheckPredicate, 19,
9939 OPC_CheckComplexPat5, /*#*/2,
9940 OPC_EmitMergeInputChains1_1,
9941 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGFRL), 0|OPFL_Chain|OPFL_MemRefs,
9942 MVT::i32, 2, 0, 3,
9943 0,
9944 22,
9945 OPC_CheckPredicate3,
9946 OPC_CheckPredicate1,
9947 OPC_CheckPredicate, 15,
9948 OPC_MoveSibling2,
9949 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9950 OPC_MoveParent,
9951 OPC_CheckPredicate, 19,
9952 OPC_CheckComplexPat5, /*#*/2,
9953 OPC_EmitMergeInputChains1_1,
9954 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGRL), 0|OPFL_Chain|OPFL_MemRefs,
9955 MVT::i32, 2, 0, 3,
9956 0,
9957 79, TARGET_VAL(ISD::ATOMIC_LOAD),
9958 OPC_RecordMemRef,
9959 OPC_RecordNode,
9960 OPC_CheckFoldableChainNode,
9961 OPC_RecordChild1,
9962 OPC_CheckChild1TypeI64,
9963 OPC_Scope, 49,
9964 OPC_CheckPredicate, 8,
9965 OPC_Scope, 21,
9966 OPC_CheckPredicate6,
9967 OPC_CheckPredicate, 15,
9968 OPC_MoveSibling2,
9969 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9970 OPC_MoveParent,
9971 OPC_CheckPredicate, 19,
9972 OPC_CheckComplexPat5, /*#*/2,
9973 OPC_EmitMergeInputChains1_1,
9974 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGHRL), 0|OPFL_Chain|OPFL_MemRefs,
9975 MVT::i32, 2, 0, 3,
9976 22,
9977 OPC_CheckPredicate, 9,
9978 OPC_CheckPredicate, 15,
9979 OPC_MoveSibling2,
9980 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9981 OPC_MoveParent,
9982 OPC_CheckPredicate, 19,
9983 OPC_CheckComplexPat5, /*#*/2,
9984 OPC_EmitMergeInputChains1_1,
9985 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGFRL), 0|OPFL_Chain|OPFL_MemRefs,
9986 MVT::i32, 2, 0, 3,
9987 0,
9988 21,
9989 OPC_CheckPredicate1,
9990 OPC_CheckPredicate, 15,
9991 OPC_MoveSibling2,
9992 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9993 OPC_MoveParent,
9994 OPC_CheckPredicate, 19,
9995 OPC_CheckComplexPat5, /*#*/2,
9996 OPC_EmitMergeInputChains1_1,
9997 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGRL), 0|OPFL_Chain|OPFL_MemRefs,
9998 MVT::i32, 2, 0, 3,
9999 0,
10000 0,
10001 0,
10002 91|128,2,
10003 OPC_MoveChild0,
10004 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::LOAD),
10005 OPC_RecordMemRef,
10006 OPC_RecordNode,
10007 OPC_CheckFoldableChainNode,
10008 OPC_RecordChild1,
10009 OPC_CheckChild1TypeI64,
10010 OPC_CheckPredicate0,
10011 OPC_Scope, 91,
10012 OPC_CheckPredicate, 8,
10013 OPC_CheckTypeI32,
10014 OPC_Scope, 53,
10015 OPC_CheckPredicate7,
10016 OPC_MoveSibling1,
10017 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10018 OPC_RecordNode,
10019 OPC_CheckPredicate, 30,
10020 OPC_MoveSibling2,
10021 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10022 OPC_MoveParent,
10023 OPC_CheckPredicate, 19,
10024 OPC_Scope, 17,
10025 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
10026 OPC_EmitMergeInputChains1_0,
10027 OPC_EmitConvertToTarget2,
10028 OPC_EmitNodeXForm, 0, 5,
10029 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLI), 0|OPFL_Chain|OPFL_MemRefs,
10030 MVT::i32, 3, 3, 4, 6,
10031 17,
10032 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
10033 OPC_EmitMergeInputChains1_0,
10034 OPC_EmitConvertToTarget2,
10035 OPC_EmitNodeXForm, 0, 5,
10036 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLIY), 0|OPFL_Chain|OPFL_MemRefs,
10037 MVT::i32, 3, 3, 4, 6,
10038 0,
10039 31,
10040 OPC_CheckPredicate6,
10041 OPC_MoveSibling1,
10042 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10043 OPC_RecordNode,
10044 OPC_CheckPredicate, 40,
10045 OPC_MoveSibling2,
10046 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10047 OPC_MoveParent,
10048 OPC_CheckPredicate, 19,
10049 OPC_CheckComplexPat1, /*#*/1,
10050 OPC_EmitMergeInputChains1_0,
10051 OPC_EmitConvertToTarget2,
10052 OPC_EmitNodeXForm, 10, 5,
10053 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHHSI), 0|OPFL_Chain|OPFL_MemRefs,
10054 MVT::i32, 3, 3, 4, 6,
10055 0,
10056 68,
10057 OPC_CheckPredicate3,
10058 OPC_CheckPredicate1,
10059 OPC_SwitchType , 30, MVT::i32,
10060 OPC_MoveSibling1,
10061 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10062 OPC_RecordNode,
10063 OPC_CheckPredicate, 40,
10064 OPC_MoveSibling2,
10065 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10066 OPC_MoveParent,
10067 OPC_CheckPredicate, 19,
10068 OPC_CheckComplexPat1, /*#*/1,
10069 OPC_EmitMergeInputChains1_0,
10070 OPC_EmitConvertToTarget2,
10071 OPC_EmitNodeXForm, 10, 5,
10072 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLFHSI), 0|OPFL_Chain|OPFL_MemRefs,
10073 MVT::i32, 3, 3, 4, 6,
10074 30, MVT::i64,
10075 OPC_MoveSibling1,
10076 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10077 OPC_RecordNode,
10078 OPC_CheckPredicate, 40,
10079 OPC_MoveSibling2,
10080 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10081 OPC_MoveParent,
10082 OPC_CheckPredicate, 19,
10083 OPC_CheckComplexPat1, /*#*/1,
10084 OPC_EmitMergeInputChains1_0,
10085 OPC_EmitConvertToTarget2,
10086 OPC_EmitNodeXForm, 10, 5,
10087 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGHSI), 0|OPFL_Chain|OPFL_MemRefs,
10088 MVT::i32, 3, 3, 4, 6,
10089 0,
10090 0,
10091 39|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
10092 OPC_RecordMemRef,
10093 OPC_RecordNode,
10094 OPC_CheckFoldableChainNode,
10095 OPC_RecordChild1,
10096 OPC_CheckChild1TypeI64,
10097 OPC_Scope, 91,
10098 OPC_CheckPredicate, 8,
10099 OPC_CheckTypeI32,
10100 OPC_Scope, 53,
10101 OPC_CheckPredicate7,
10102 OPC_MoveSibling1,
10103 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10104 OPC_RecordNode,
10105 OPC_CheckPredicate, 30,
10106 OPC_MoveSibling2,
10107 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10108 OPC_MoveParent,
10109 OPC_CheckPredicate, 19,
10110 OPC_Scope, 17,
10111 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
10112 OPC_EmitMergeInputChains1_0,
10113 OPC_EmitConvertToTarget2,
10114 OPC_EmitNodeXForm, 0, 5,
10115 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLI), 0|OPFL_Chain|OPFL_MemRefs,
10116 MVT::i32, 3, 3, 4, 6,
10117 17,
10118 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
10119 OPC_EmitMergeInputChains1_0,
10120 OPC_EmitConvertToTarget2,
10121 OPC_EmitNodeXForm, 0, 5,
10122 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLIY), 0|OPFL_Chain|OPFL_MemRefs,
10123 MVT::i32, 3, 3, 4, 6,
10124 0,
10125 31,
10126 OPC_CheckPredicate6,
10127 OPC_MoveSibling1,
10128 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10129 OPC_RecordNode,
10130 OPC_CheckPredicate, 40,
10131 OPC_MoveSibling2,
10132 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10133 OPC_MoveParent,
10134 OPC_CheckPredicate, 19,
10135 OPC_CheckComplexPat1, /*#*/1,
10136 OPC_EmitMergeInputChains1_0,
10137 OPC_EmitConvertToTarget2,
10138 OPC_EmitNodeXForm, 10, 5,
10139 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHHSI), 0|OPFL_Chain|OPFL_MemRefs,
10140 MVT::i32, 3, 3, 4, 6,
10141 0,
10142 67,
10143 OPC_CheckPredicate1,
10144 OPC_SwitchType , 30, MVT::i32,
10145 OPC_MoveSibling1,
10146 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10147 OPC_RecordNode,
10148 OPC_CheckPredicate, 40,
10149 OPC_MoveSibling2,
10150 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10151 OPC_MoveParent,
10152 OPC_CheckPredicate, 19,
10153 OPC_CheckComplexPat1, /*#*/1,
10154 OPC_EmitMergeInputChains1_0,
10155 OPC_EmitConvertToTarget2,
10156 OPC_EmitNodeXForm, 10, 5,
10157 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLFHSI), 0|OPFL_Chain|OPFL_MemRefs,
10158 MVT::i32, 3, 3, 4, 6,
10159 30, MVT::i64,
10160 OPC_MoveSibling1,
10161 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10162 OPC_RecordNode,
10163 OPC_CheckPredicate, 40,
10164 OPC_MoveSibling2,
10165 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10166 OPC_MoveParent,
10167 OPC_CheckPredicate, 19,
10168 OPC_CheckComplexPat1, /*#*/1,
10169 OPC_EmitMergeInputChains1_0,
10170 OPC_EmitConvertToTarget2,
10171 OPC_EmitNodeXForm, 10, 5,
10172 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGHSI), 0|OPFL_Chain|OPFL_MemRefs,
10173 MVT::i32, 3, 3, 4, 6,
10174 0,
10175 0,
10176 0,
10177 16|128,8,
10178 OPC_RecordChild0,
10179 OPC_Scope, 46|128,4,
10180 OPC_CheckChild0TypeI32,
10181 OPC_Scope, 125|128,2,
10182 OPC_MoveChild1,
10183 OPC_SwitchOpcode , 58|128,1, TARGET_VAL(ISD::LOAD),
10184 OPC_RecordMemRef,
10185 OPC_RecordNode,
10186 OPC_CheckFoldableChainNode,
10187 OPC_RecordChild1,
10188 OPC_CheckChild1TypeI64,
10189 OPC_CheckPredicate0,
10190 OPC_Scope, 40,
10191 OPC_CheckPredicate, 12,
10192 OPC_CheckPredicate6,
10193 OPC_MoveSibling2,
10194 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10195 OPC_MoveParent,
10196 OPC_CheckPredicate, 16,
10197 OPC_Scope, 13,
10198 OPC_CheckComplexPat3, /*#*/2,
10199 OPC_EmitMergeInputChains1_1,
10200 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CH), 0|OPFL_Chain|OPFL_MemRefs,
10201 MVT::i32, 4, 0, 3, 4, 5,
10202 13,
10203 OPC_CheckComplexPat4, /*#*/2,
10204 OPC_EmitMergeInputChains1_1,
10205 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHY), 0|OPFL_Chain|OPFL_MemRefs,
10206 MVT::i32, 4, 0, 3, 4, 5,
10207 0,
10208 7|128,1,
10209 OPC_CheckPredicate3,
10210 OPC_CheckPredicate1,
10211 OPC_MoveSibling2,
10212 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10213 OPC_MoveParent,
10214 OPC_Scope, 62,
10215 OPC_CheckPredicate, 16,
10216 OPC_Scope, 14,
10217 OPC_CheckPatternPredicate2,
10218 OPC_CheckComplexPat2, /*#*/2,
10219 OPC_EmitMergeInputChains1_1,
10220 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CMux), 0|OPFL_Chain|OPFL_MemRefs,
10221 MVT::i32, 4, 0, 3, 4, 5,
10222 13,
10223 OPC_CheckComplexPat3, /*#*/2,
10224 OPC_EmitMergeInputChains1_1,
10225 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::C), 0|OPFL_Chain|OPFL_MemRefs,
10226 MVT::i32, 4, 0, 3, 4, 5,
10227 13,
10228 OPC_CheckComplexPat4, /*#*/2,
10229 OPC_EmitMergeInputChains1_1,
10230 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CY), 0|OPFL_Chain|OPFL_MemRefs,
10231 MVT::i32, 4, 0, 3, 4, 5,
10232 14,
10233 OPC_CheckPatternPredicate2,
10234 OPC_CheckComplexPat2, /*#*/2,
10235 OPC_EmitMergeInputChains1_1,
10236 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHF), 0|OPFL_Chain|OPFL_MemRefs,
10237 MVT::i32, 4, 0, 3, 4, 5,
10238 0,
10239 62,
10240 OPC_CheckPredicate, 19,
10241 OPC_Scope, 14,
10242 OPC_CheckPatternPredicate2,
10243 OPC_CheckComplexPat2, /*#*/2,
10244 OPC_EmitMergeInputChains1_1,
10245 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLMux), 0|OPFL_Chain|OPFL_MemRefs,
10246 MVT::i32, 4, 0, 3, 4, 5,
10247 13,
10248 OPC_CheckComplexPat3, /*#*/2,
10249 OPC_EmitMergeInputChains1_1,
10250 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CL), 0|OPFL_Chain|OPFL_MemRefs,
10251 MVT::i32, 4, 0, 3, 4, 5,
10252 13,
10253 OPC_CheckComplexPat4, /*#*/2,
10254 OPC_EmitMergeInputChains1_1,
10255 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLY), 0|OPFL_Chain|OPFL_MemRefs,
10256 MVT::i32, 4, 0, 3, 4, 5,
10257 14,
10258 OPC_CheckPatternPredicate2,
10259 OPC_CheckComplexPat2, /*#*/2,
10260 OPC_EmitMergeInputChains1_1,
10261 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHF), 0|OPFL_Chain|OPFL_MemRefs,
10262 MVT::i32, 4, 0, 3, 4, 5,
10263 0,
10264 0,
10265 0,
10266 56|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
10267 OPC_RecordMemRef,
10268 OPC_RecordNode,
10269 OPC_CheckFoldableChainNode,
10270 OPC_RecordChild1,
10271 OPC_CheckChild1TypeI64,
10272 OPC_Scope, 40,
10273 OPC_CheckPredicate, 12,
10274 OPC_CheckPredicate6,
10275 OPC_MoveSibling2,
10276 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10277 OPC_MoveParent,
10278 OPC_CheckPredicate, 16,
10279 OPC_Scope, 13,
10280 OPC_CheckComplexPat3, /*#*/2,
10281 OPC_EmitMergeInputChains1_1,
10282 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CH), 0|OPFL_Chain|OPFL_MemRefs,
10283 MVT::i32, 4, 0, 3, 4, 5,
10284 13,
10285 OPC_CheckComplexPat4, /*#*/2,
10286 OPC_EmitMergeInputChains1_1,
10287 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHY), 0|OPFL_Chain|OPFL_MemRefs,
10288 MVT::i32, 4, 0, 3, 4, 5,
10289 0,
10290 6|128,1,
10291 OPC_CheckPredicate1,
10292 OPC_MoveSibling2,
10293 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10294 OPC_MoveParent,
10295 OPC_Scope, 62,
10296 OPC_CheckPredicate, 16,
10297 OPC_Scope, 14,
10298 OPC_CheckPatternPredicate2,
10299 OPC_CheckComplexPat2, /*#*/2,
10300 OPC_EmitMergeInputChains1_1,
10301 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CMux), 0|OPFL_Chain|OPFL_MemRefs,
10302 MVT::i32, 4, 0, 3, 4, 5,
10303 13,
10304 OPC_CheckComplexPat3, /*#*/2,
10305 OPC_EmitMergeInputChains1_1,
10306 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::C), 0|OPFL_Chain|OPFL_MemRefs,
10307 MVT::i32, 4, 0, 3, 4, 5,
10308 13,
10309 OPC_CheckComplexPat4, /*#*/2,
10310 OPC_EmitMergeInputChains1_1,
10311 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CY), 0|OPFL_Chain|OPFL_MemRefs,
10312 MVT::i32, 4, 0, 3, 4, 5,
10313 14,
10314 OPC_CheckPatternPredicate2,
10315 OPC_CheckComplexPat2, /*#*/2,
10316 OPC_EmitMergeInputChains1_1,
10317 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CHF), 0|OPFL_Chain|OPFL_MemRefs,
10318 MVT::i32, 4, 0, 3, 4, 5,
10319 0,
10320 62,
10321 OPC_CheckPredicate, 19,
10322 OPC_Scope, 14,
10323 OPC_CheckPatternPredicate2,
10324 OPC_CheckComplexPat2, /*#*/2,
10325 OPC_EmitMergeInputChains1_1,
10326 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLMux), 0|OPFL_Chain|OPFL_MemRefs,
10327 MVT::i32, 4, 0, 3, 4, 5,
10328 13,
10329 OPC_CheckComplexPat3, /*#*/2,
10330 OPC_EmitMergeInputChains1_1,
10331 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CL), 0|OPFL_Chain|OPFL_MemRefs,
10332 MVT::i32, 4, 0, 3, 4, 5,
10333 13,
10334 OPC_CheckComplexPat4, /*#*/2,
10335 OPC_EmitMergeInputChains1_1,
10336 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLY), 0|OPFL_Chain|OPFL_MemRefs,
10337 MVT::i32, 4, 0, 3, 4, 5,
10338 14,
10339 OPC_CheckPatternPredicate2,
10340 OPC_CheckComplexPat2, /*#*/2,
10341 OPC_EmitMergeInputChains1_1,
10342 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLHF), 0|OPFL_Chain|OPFL_MemRefs,
10343 MVT::i32, 4, 0, 3, 4, 5,
10344 0,
10345 0,
10346 0,
10347 0,
10348 42|128,1,
10349 OPC_RecordChild1,
10350 OPC_Scope, 9|128,1,
10351 OPC_MoveChild1,
10352 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10353 OPC_Scope, 36,
10354 OPC_CheckPredicate, 20,
10355 OPC_MoveSibling2,
10356 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10357 OPC_MoveParent,
10358 OPC_CheckPredicate, 16,
10359 OPC_Scope, 12,
10360 OPC_CheckPatternPredicate2,
10361 OPC_EmitConvertToTarget1,
10362 OPC_EmitNodeXForm, 2, 2,
10363 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CHIMux),
10364 MVT::i32, 2, 0, 3,
10365 11,
10366 OPC_EmitConvertToTarget1,
10367 OPC_EmitNodeXForm, 2, 2,
10368 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CHI),
10369 MVT::i32, 2, 0, 3,
10370 0,
10371 93,
10372 OPC_MoveSibling2,
10373 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10374 OPC_MoveParent,
10375 OPC_Scope, 42,
10376 OPC_CheckPredicate, 16,
10377 OPC_Scope, 12,
10378 OPC_CheckPatternPredicate2,
10379 OPC_EmitConvertToTarget1,
10380 OPC_EmitNodeXForm, 11, 2,
10381 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CFIMux),
10382 MVT::i32, 2, 0, 3,
10383 11,
10384 OPC_EmitConvertToTarget1,
10385 OPC_EmitNodeXForm, 11, 2,
10386 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CFI),
10387 MVT::i32, 2, 0, 3,
10388 12,
10389 OPC_CheckPatternPredicate2,
10390 OPC_EmitConvertToTarget1,
10391 OPC_EmitNodeXForm, 11, 2,
10392 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CIH),
10393 MVT::i32, 2, 0, 3,
10394 0,
10395 42,
10396 OPC_CheckPredicate, 19,
10397 OPC_Scope, 12,
10398 OPC_CheckPatternPredicate2,
10399 OPC_EmitConvertToTarget1,
10400 OPC_EmitNodeXForm, 9, 2,
10401 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLFIMux),
10402 MVT::i32, 2, 0, 3,
10403 11,
10404 OPC_EmitConvertToTarget1,
10405 OPC_EmitNodeXForm, 9, 2,
10406 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLFI),
10407 MVT::i32, 2, 0, 3,
10408 12,
10409 OPC_CheckPatternPredicate2,
10410 OPC_EmitConvertToTarget1,
10411 OPC_EmitNodeXForm, 9, 2,
10412 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLIH),
10413 MVT::i32, 2, 0, 3,
10414 0,
10415 0,
10416 0,
10417 27,
10418 OPC_MoveChild2,
10419 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10420 OPC_MoveParent,
10421 OPC_Scope, 9,
10422 OPC_CheckPredicate, 16,
10423 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CR),
10424 MVT::i32, 2, 0, 1,
10425 9,
10426 OPC_CheckPredicate, 19,
10427 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLR),
10428 MVT::i32, 2, 0, 1,
10429 0,
10430 0,
10431 0,
10432 91|128,3,
10433 OPC_CheckChild0TypeI64,
10434 OPC_Scope, 43|128,2,
10435 OPC_MoveChild1,
10436 OPC_Scope, 4|128,1,
10437 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10438 OPC_RecordMemRef,
10439 OPC_RecordNode,
10440 OPC_CheckFoldableChainNode,
10441 OPC_RecordChild1,
10442 OPC_CheckChild1TypeI64,
10443 OPC_CheckPredicate0,
10444 OPC_Scope, 49,
10445 OPC_CheckPredicate, 12,
10446 OPC_Scope, 21,
10447 OPC_CheckPredicate6,
10448 OPC_MoveSibling2,
10449 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10450 OPC_MoveParent,
10451 OPC_CheckPredicate, 16,
10452 OPC_CheckComplexPat2, /*#*/2,
10453 OPC_EmitMergeInputChains1_1,
10454 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGH), 0|OPFL_Chain|OPFL_MemRefs,
10455 MVT::i32, 4, 0, 3, 4, 5,
10456 22,
10457 OPC_CheckPredicate, 9,
10458 OPC_MoveSibling2,
10459 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10460 OPC_MoveParent,
10461 OPC_CheckPredicate, 16,
10462 OPC_CheckComplexPat2, /*#*/2,
10463 OPC_EmitMergeInputChains1_1,
10464 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGF), 0|OPFL_Chain|OPFL_MemRefs,
10465 MVT::i32, 4, 0, 3, 4, 5,
10466 0,
10467 22,
10468 OPC_CheckPredicate3,
10469 OPC_CheckPredicate1,
10470 OPC_MoveSibling2,
10471 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10472 OPC_MoveParent,
10473 OPC_CheckPredicate, 16,
10474 OPC_CheckComplexPat2, /*#*/2,
10475 OPC_EmitMergeInputChains1_1,
10476 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CG), 0|OPFL_Chain|OPFL_MemRefs,
10477 MVT::i32, 4, 0, 3, 4, 5,
10478 24,
10479 OPC_CheckPredicate, 8,
10480 OPC_CheckPredicate, 9,
10481 OPC_MoveSibling2,
10482 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10483 OPC_MoveParent,
10484 OPC_CheckPredicate, 19,
10485 OPC_CheckComplexPat2, /*#*/2,
10486 OPC_EmitMergeInputChains1_1,
10487 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGF), 0|OPFL_Chain|OPFL_MemRefs,
10488 MVT::i32, 4, 0, 3, 4, 5,
10489 22,
10490 OPC_CheckPredicate3,
10491 OPC_CheckPredicate1,
10492 OPC_MoveSibling2,
10493 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10494 OPC_MoveParent,
10495 OPC_CheckPredicate, 19,
10496 OPC_CheckComplexPat2, /*#*/2,
10497 OPC_EmitMergeInputChains1_1,
10498 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLG), 0|OPFL_Chain|OPFL_MemRefs,
10499 MVT::i32, 4, 0, 3, 4, 5,
10500 0,
10501 1|128,1,
10502 OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
10503 OPC_RecordMemRef,
10504 OPC_RecordNode,
10505 OPC_CheckFoldableChainNode,
10506 OPC_RecordChild1,
10507 OPC_CheckChild1TypeI64,
10508 OPC_Scope, 49,
10509 OPC_CheckPredicate, 12,
10510 OPC_Scope, 21,
10511 OPC_CheckPredicate6,
10512 OPC_MoveSibling2,
10513 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10514 OPC_MoveParent,
10515 OPC_CheckPredicate, 16,
10516 OPC_CheckComplexPat2, /*#*/2,
10517 OPC_EmitMergeInputChains1_1,
10518 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGH), 0|OPFL_Chain|OPFL_MemRefs,
10519 MVT::i32, 4, 0, 3, 4, 5,
10520 22,
10521 OPC_CheckPredicate, 9,
10522 OPC_MoveSibling2,
10523 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10524 OPC_MoveParent,
10525 OPC_CheckPredicate, 16,
10526 OPC_CheckComplexPat2, /*#*/2,
10527 OPC_EmitMergeInputChains1_1,
10528 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CGF), 0|OPFL_Chain|OPFL_MemRefs,
10529 MVT::i32, 4, 0, 3, 4, 5,
10530 0,
10531 21,
10532 OPC_CheckPredicate1,
10533 OPC_MoveSibling2,
10534 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10535 OPC_MoveParent,
10536 OPC_CheckPredicate, 16,
10537 OPC_CheckComplexPat2, /*#*/2,
10538 OPC_EmitMergeInputChains1_1,
10539 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CG), 0|OPFL_Chain|OPFL_MemRefs,
10540 MVT::i32, 4, 0, 3, 4, 5,
10541 24,
10542 OPC_CheckPredicate, 8,
10543 OPC_CheckPredicate, 9,
10544 OPC_MoveSibling2,
10545 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10546 OPC_MoveParent,
10547 OPC_CheckPredicate, 19,
10548 OPC_CheckComplexPat2, /*#*/2,
10549 OPC_EmitMergeInputChains1_1,
10550 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLGF), 0|OPFL_Chain|OPFL_MemRefs,
10551 MVT::i32, 4, 0, 3, 4, 5,
10552 21,
10553 OPC_CheckPredicate1,
10554 OPC_MoveSibling2,
10555 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10556 OPC_MoveParent,
10557 OPC_CheckPredicate, 19,
10558 OPC_CheckComplexPat2, /*#*/2,
10559 OPC_EmitMergeInputChains1_1,
10560 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CLG), 0|OPFL_Chain|OPFL_MemRefs,
10561 MVT::i32, 4, 0, 3, 4, 5,
10562 0,
10563 30,
10564 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
10565 OPC_RecordChild0,
10566 OPC_MoveSibling2,
10567 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10568 OPC_MoveParent,
10569 OPC_CheckPredicate, 19,
10570 OPC_EmitStringInteger32, SystemZ::subreg_l32,
10571 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10572 MVT::i32, 2, 1, 2,
10573 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLGFR),
10574 MVT::i32, 2, 0, 3,
10575 0,
10576 70,
10577 OPC_RecordChild1,
10578 OPC_MoveChild1,
10579 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10580 OPC_Scope, 20,
10581 OPC_CheckPredicate, 20,
10582 OPC_MoveSibling2,
10583 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10584 OPC_MoveParent,
10585 OPC_CheckPredicate, 16,
10586 OPC_EmitConvertToTarget1,
10587 OPC_EmitNodeXForm, 2, 2,
10588 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGHI),
10589 MVT::i32, 2, 0, 3,
10590 20,
10591 OPC_CheckPredicate, 57,
10592 OPC_MoveSibling2,
10593 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10594 OPC_MoveParent,
10595 OPC_CheckPredicate, 16,
10596 OPC_EmitConvertToTarget1,
10597 OPC_EmitNodeXForm, 11, 2,
10598 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGFI),
10599 MVT::i32, 2, 0, 3,
10600 20,
10601 OPC_CheckPredicate, 58,
10602 OPC_MoveSibling2,
10603 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10604 OPC_MoveParent,
10605 OPC_CheckPredicate, 19,
10606 OPC_EmitConvertToTarget1,
10607 OPC_EmitNodeXForm, 9, 2,
10608 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLGFI),
10609 MVT::i32, 2, 0, 3,
10610 0,
10611 70,
10612 OPC_MoveChild1,
10613 OPC_SwitchOpcode , 15, TARGET_VAL(ISD::SIGN_EXTEND),
10614 OPC_RecordChild0,
10615 OPC_MoveSibling2,
10616 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10617 OPC_MoveParent,
10618 OPC_CheckPredicate, 16,
10619 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGFR),
10620 MVT::i32, 2, 0, 1,
10621 15, TARGET_VAL(ISD::ZERO_EXTEND),
10622 OPC_RecordChild0,
10623 OPC_MoveSibling2,
10624 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10625 OPC_MoveParent,
10626 OPC_CheckPredicate, 19,
10627 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLGFR),
10628 MVT::i32, 2, 0, 1,
10629 28, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
10630 OPC_RecordChild0,
10631 OPC_MoveChild1,
10632 OPC_CheckValueType, MVT::i32,
10633 OPC_MoveParent,
10634 OPC_MoveSibling2,
10635 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10636 OPC_MoveParent,
10637 OPC_CheckPredicate, 16,
10638 OPC_EmitStringInteger32, SystemZ::subreg_l32,
10639 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10640 MVT::i32, 2, 1, 2,
10641 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGFR),
10642 MVT::i32, 2, 0, 3,
10643 0,
10644 28,
10645 OPC_RecordChild1,
10646 OPC_MoveChild2,
10647 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10648 OPC_MoveParent,
10649 OPC_Scope, 9,
10650 OPC_CheckPredicate, 16,
10651 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CGR),
10652 MVT::i32, 2, 0, 1,
10653 9,
10654 OPC_CheckPredicate, 19,
10655 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CLGR),
10656 MVT::i32, 2, 0, 1,
10657 0,
10658 0,
10659 0,
10660 0,
10661 100|128,16, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
10662 OPC_Scope, 26,
10663 OPC_CheckChild0Integer, 16|128,42|128,1,
10664 OPC_RecordChild1,
10665 OPC_CheckChild1TypeI64,
10666 OPC_RecordChild2,
10667 OPC_MoveChild2,
10668 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10669 OPC_CheckPredicate4,
10670 OPC_MoveParent,
10671 OPC_CheckPatternPredicate0,
10672 OPC_CheckComplexPat0, /*#*/0,
10673 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCBB),
10674 MVT::i32, MVT::i32, 4, 2, 3, 4, 1,
10675 24,
10676 OPC_CheckChild0Integer, 64|128,44|128,1,
10677 OPC_RecordChild1,
10678 OPC_RecordChild2,
10679 OPC_RecordChild3,
10680 OPC_RecordChild4,
10681 OPC_MoveChild4,
10682 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10683 OPC_CheckPredicate4,
10684 OPC_MoveParent,
10685 OPC_CheckPatternPredicate1,
10686 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMSLG),
10687 MVT::i128, 4, 0, 1, 2, 3,
10688 11,
10689 OPC_CheckChild0Integer, 14|128,42|128,1,
10690 OPC_CheckPatternPredicate, 10,
10691 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ETND),
10692 MVT::i32, 0,
10693 14,
10694 OPC_CheckChild0Integer, 98|128,43|128,1,
10695 OPC_RecordChild1,
10696 OPC_RecordChild2,
10697 OPC_CheckPatternPredicate0,
10698 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMG),
10699 MVT::i128, 2, 0, 1,
10700 16,
10701 OPC_CheckChild0Integer, 90|128,43|128,1,
10702 OPC_RecordChild1,
10703 OPC_RecordChild2,
10704 OPC_RecordChild3,
10705 OPC_CheckPatternPredicate0,
10706 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMAG),
10707 MVT::i128, 3, 0, 1, 2,
10708 28,
10709 OPC_CheckChild0Integer, 106|128,42|128,1,
10710 OPC_RecordChild1,
10711 OPC_RecordChild2,
10712 OPC_RecordChild3,
10713 OPC_RecordChild4,
10714 OPC_MoveChild4,
10715 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10716 OPC_CheckPredicate, 30,
10717 OPC_MoveParent,
10718 OPC_CheckPatternPredicate0,
10719 OPC_EmitNodeXForm, 0, 3,
10720 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERIMB),
10721 MVT::v16i8, 4, 0, 1, 2, 4,
10722 28,
10723 OPC_CheckChild0Integer, 112|128,42|128,1,
10724 OPC_RecordChild1,
10725 OPC_RecordChild2,
10726 OPC_RecordChild3,
10727 OPC_RecordChild4,
10728 OPC_MoveChild4,
10729 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10730 OPC_CheckPredicate, 30,
10731 OPC_MoveParent,
10732 OPC_CheckPatternPredicate0,
10733 OPC_EmitNodeXForm, 0, 3,
10734 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERIMH),
10735 MVT::v8i16, 4, 0, 1, 2, 4,
10736 28,
10737 OPC_CheckChild0Integer, 108|128,42|128,1,
10738 OPC_RecordChild1,
10739 OPC_RecordChild2,
10740 OPC_RecordChild3,
10741 OPC_RecordChild4,
10742 OPC_MoveChild4,
10743 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10744 OPC_CheckPredicate, 30,
10745 OPC_MoveParent,
10746 OPC_CheckPatternPredicate0,
10747 OPC_EmitNodeXForm, 0, 3,
10748 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERIMF),
10749 MVT::v4i32, 4, 0, 1, 2, 4,
10750 28,
10751 OPC_CheckChild0Integer, 110|128,42|128,1,
10752 OPC_RecordChild1,
10753 OPC_RecordChild2,
10754 OPC_RecordChild3,
10755 OPC_RecordChild4,
10756 OPC_MoveChild4,
10757 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10758 OPC_CheckPredicate, 30,
10759 OPC_MoveParent,
10760 OPC_CheckPatternPredicate0,
10761 OPC_EmitNodeXForm, 0, 3,
10762 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERIMG),
10763 MVT::v2i64, 4, 0, 1, 2, 4,
10764 27,
10765 OPC_CheckChild0Integer, 114|128,44|128,1,
10766 OPC_RecordChild1,
10767 OPC_RecordChild2,
10768 OPC_RecordChild3,
10769 OPC_MoveChild3,
10770 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10771 OPC_CheckPredicate, 30,
10772 OPC_MoveParent,
10773 OPC_CheckPatternPredicate0,
10774 OPC_EmitConvertToTarget2,
10775 OPC_EmitNodeXForm, 0, 3,
10776 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLDB),
10777 MVT::v16i8, 3, 0, 1, 4,
10778 26,
10779 OPC_CheckChild0Integer, 112|128,44|128,1,
10780 OPC_RecordChild1,
10781 OPC_RecordChild2,
10782 OPC_RecordChild3,
10783 OPC_MoveChild3,
10784 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10785 OPC_CheckPredicate, 30,
10786 OPC_MoveParent,
10787 OPC_CheckPatternPredicate5,
10788 OPC_EmitNodeXForm, 0, 2,
10789 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLD),
10790 MVT::v16i8, 3, 0, 1, 3,
10791 26,
10792 OPC_CheckChild0Integer, 122|128,44|128,1,
10793 OPC_RecordChild1,
10794 OPC_RecordChild2,
10795 OPC_RecordChild3,
10796 OPC_MoveChild3,
10797 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10798 OPC_CheckPredicate, 30,
10799 OPC_MoveParent,
10800 OPC_CheckPatternPredicate5,
10801 OPC_EmitNodeXForm, 0, 2,
10802 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRD),
10803 MVT::v16i8, 3, 0, 1, 3,
10804 25,
10805 OPC_CheckChild0Integer, 114|128,42|128,1,
10806 OPC_RecordChild1,
10807 OPC_RecordChild2,
10808 OPC_RecordChild3,
10809 OPC_MoveChild3,
10810 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10811 OPC_CheckPredicate4,
10812 OPC_MoveParent,
10813 OPC_CheckPatternPredicate0,
10814 OPC_EmitNodeXForm, 12, 2,
10815 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEB),
10816 MVT::v16i8, 3, 0, 1, 3,
10817 25,
10818 OPC_CheckChild0Integer, 122|128,42|128,1,
10819 OPC_RecordChild1,
10820 OPC_RecordChild2,
10821 OPC_RecordChild3,
10822 OPC_MoveChild3,
10823 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10824 OPC_CheckPredicate4,
10825 OPC_MoveParent,
10826 OPC_CheckPatternPredicate0,
10827 OPC_EmitNodeXForm, 12, 2,
10828 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEH),
10829 MVT::v8i16, 3, 0, 1, 3,
10830 25,
10831 OPC_CheckChild0Integer, 118|128,42|128,1,
10832 OPC_RecordChild1,
10833 OPC_RecordChild2,
10834 OPC_RecordChild3,
10835 OPC_MoveChild3,
10836 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10837 OPC_CheckPredicate4,
10838 OPC_MoveParent,
10839 OPC_CheckPatternPredicate0,
10840 OPC_EmitNodeXForm, 12, 2,
10841 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEF),
10842 MVT::v4i32, 3, 0, 1, 3,
10843 25,
10844 OPC_CheckChild0Integer, 126|128,42|128,1,
10845 OPC_RecordChild1,
10846 OPC_RecordChild2,
10847 OPC_RecordChild3,
10848 OPC_MoveChild3,
10849 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10850 OPC_CheckPredicate4,
10851 OPC_MoveParent,
10852 OPC_CheckPatternPredicate0,
10853 OPC_EmitNodeXForm, 12, 2,
10854 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEZB),
10855 MVT::v16i8, 3, 0, 1, 3,
10856 25,
10857 OPC_CheckChild0Integer, 6|128,43|128,1,
10858 OPC_RecordChild1,
10859 OPC_RecordChild2,
10860 OPC_RecordChild3,
10861 OPC_MoveChild3,
10862 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10863 OPC_CheckPredicate4,
10864 OPC_MoveParent,
10865 OPC_CheckPatternPredicate0,
10866 OPC_EmitNodeXForm, 12, 2,
10867 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEZH),
10868 MVT::v8i16, 3, 0, 1, 3,
10869 25,
10870 OPC_CheckChild0Integer, 2|128,43|128,1,
10871 OPC_RecordChild1,
10872 OPC_RecordChild2,
10873 OPC_RecordChild3,
10874 OPC_MoveChild3,
10875 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10876 OPC_CheckPredicate4,
10877 OPC_MoveParent,
10878 OPC_CheckPatternPredicate0,
10879 OPC_EmitNodeXForm, 12, 2,
10880 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFAEZF),
10881 MVT::v4i32, 3, 0, 1, 3,
10882 27,
10883 OPC_CheckChild0Integer, 2|128,45|128,1,
10884 OPC_RecordChild1,
10885 OPC_RecordChild2,
10886 OPC_RecordChild3,
10887 OPC_RecordChild4,
10888 OPC_MoveChild4,
10889 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10890 OPC_CheckPredicate4,
10891 OPC_MoveParent,
10892 OPC_CheckPatternPredicate0,
10893 OPC_EmitNodeXForm, 12, 3,
10894 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCB),
10895 MVT::v16i8, 4, 0, 1, 2, 4,
10896 27,
10897 OPC_CheckChild0Integer, 10|128,45|128,1,
10898 OPC_RecordChild1,
10899 OPC_RecordChild2,
10900 OPC_RecordChild3,
10901 OPC_RecordChild4,
10902 OPC_MoveChild4,
10903 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10904 OPC_CheckPredicate4,
10905 OPC_MoveParent,
10906 OPC_CheckPatternPredicate0,
10907 OPC_EmitNodeXForm, 12, 3,
10908 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCH),
10909 MVT::v8i16, 4, 0, 1, 2, 4,
10910 27,
10911 OPC_CheckChild0Integer, 6|128,45|128,1,
10912 OPC_RecordChild1,
10913 OPC_RecordChild2,
10914 OPC_RecordChild3,
10915 OPC_RecordChild4,
10916 OPC_MoveChild4,
10917 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10918 OPC_CheckPredicate4,
10919 OPC_MoveParent,
10920 OPC_CheckPatternPredicate0,
10921 OPC_EmitNodeXForm, 12, 3,
10922 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCF),
10923 MVT::v4i32, 4, 0, 1, 2, 4,
10924 27,
10925 OPC_CheckChild0Integer, 14|128,45|128,1,
10926 OPC_RecordChild1,
10927 OPC_RecordChild2,
10928 OPC_RecordChild3,
10929 OPC_RecordChild4,
10930 OPC_MoveChild4,
10931 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10932 OPC_CheckPredicate4,
10933 OPC_MoveParent,
10934 OPC_CheckPatternPredicate0,
10935 OPC_EmitNodeXForm, 12, 3,
10936 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCZB),
10937 MVT::v16i8, 4, 0, 1, 2, 4,
10938 27,
10939 OPC_CheckChild0Integer, 22|128,45|128,1,
10940 OPC_RecordChild1,
10941 OPC_RecordChild2,
10942 OPC_RecordChild3,
10943 OPC_RecordChild4,
10944 OPC_MoveChild4,
10945 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10946 OPC_CheckPredicate4,
10947 OPC_MoveParent,
10948 OPC_CheckPatternPredicate0,
10949 OPC_EmitNodeXForm, 12, 3,
10950 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCZH),
10951 MVT::v8i16, 4, 0, 1, 2, 4,
10952 27,
10953 OPC_CheckChild0Integer, 18|128,45|128,1,
10954 OPC_RecordChild1,
10955 OPC_RecordChild2,
10956 OPC_RecordChild3,
10957 OPC_RecordChild4,
10958 OPC_MoveChild4,
10959 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10960 OPC_CheckPredicate4,
10961 OPC_MoveParent,
10962 OPC_CheckPatternPredicate0,
10963 OPC_EmitNodeXForm, 12, 3,
10964 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSTRCZF),
10965 MVT::v4i32, 4, 0, 1, 2, 4,
10966 25,
10967 OPC_CheckChild0Integer, 78|128,42|128,1,
10968 OPC_RecordChild1,
10969 OPC_RecordChild2,
10970 OPC_MoveChild2,
10971 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10972 OPC_CheckPredicate4,
10973 OPC_MoveParent,
10974 OPC_CheckPatternPredicate, 14,
10975 OPC_EmitInteger32, 2,
10976 OPC_EmitConvertToTarget1,
10977 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCFN),
10978 MVT::v8i16, 3, 0, 2, 3,
10979 25,
10980 OPC_CheckChild0Integer, 102|128,42|128,1,
10981 OPC_RecordChild1,
10982 OPC_RecordChild2,
10983 OPC_MoveChild2,
10984 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10985 OPC_CheckPredicate4,
10986 OPC_MoveParent,
10987 OPC_CheckPatternPredicate, 14,
10988 OPC_EmitConvertToTarget1,
10989 OPC_EmitInteger32, 2,
10990 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCNF),
10991 MVT::v8i16, 3, 0, 2, 3,
10992 27,
10993 OPC_CheckChild0Integer, 104|128,42|128,1,
10994 OPC_RecordChild1,
10995 OPC_RecordChild2,
10996 OPC_RecordChild3,
10997 OPC_MoveChild3,
10998 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10999 OPC_CheckPredicate4,
11000 OPC_MoveParent,
11001 OPC_CheckPatternPredicate, 14,
11002 OPC_EmitConvertToTarget2,
11003 OPC_EmitInteger32, 4,
11004 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCRNF),
11005 MVT::v8i16, 4, 0, 1, 3, 4,
11006 14,
11007 OPC_CheckChild0Integer, 68|128,42|128,1,
11008 OPC_RecordChild1,
11009 OPC_RecordChild2,
11010 OPC_CheckPatternPredicate1,
11011 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VBPERM),
11012 MVT::v2i64, 2, 0, 1,
11013 14,
11014 OPC_CheckChild0Integer, 90|128,44|128,1,
11015 OPC_RecordChild1,
11016 OPC_RecordChild2,
11017 OPC_CheckPatternPredicate0,
11018 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKSH),
11019 MVT::v16i8, 2, 0, 1,
11020 14,
11021 OPC_CheckChild0Integer, 82|128,44|128,1,
11022 OPC_RecordChild1,
11023 OPC_RecordChild2,
11024 OPC_CheckPatternPredicate0,
11025 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKSF),
11026 MVT::v8i16, 2, 0, 1,
11027 14,
11028 OPC_CheckChild0Integer, 86|128,44|128,1,
11029 OPC_RecordChild1,
11030 OPC_RecordChild2,
11031 OPC_CheckPatternPredicate0,
11032 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKSG),
11033 MVT::v4i32, 2, 0, 1,
11034 14,
11035 OPC_CheckChild0Integer, 78|128,44|128,1,
11036 OPC_RecordChild1,
11037 OPC_RecordChild2,
11038 OPC_CheckPatternPredicate0,
11039 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKLSH),
11040 MVT::v16i8, 2, 0, 1,
11041 14,
11042 OPC_CheckChild0Integer, 70|128,44|128,1,
11043 OPC_RecordChild1,
11044 OPC_RecordChild2,
11045 OPC_CheckPatternPredicate0,
11046 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKLSF),
11047 MVT::v8i16, 2, 0, 1,
11048 14,
11049 OPC_CheckChild0Integer, 74|128,44|128,1,
11050 OPC_RecordChild1,
11051 OPC_RecordChild2,
11052 OPC_CheckPatternPredicate0,
11053 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKLSG),
11054 MVT::v4i32, 2, 0, 1,
11055 14,
11056 OPC_CheckChild0Integer, 52|128,42|128,1,
11057 OPC_RecordChild1,
11058 OPC_RecordChild2,
11059 OPC_CheckPatternPredicate0,
11060 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGB),
11061 MVT::v16i8, 2, 0, 1,
11062 14,
11063 OPC_CheckChild0Integer, 58|128,42|128,1,
11064 OPC_RecordChild1,
11065 OPC_RecordChild2,
11066 OPC_CheckPatternPredicate0,
11067 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGH),
11068 MVT::v8i16, 2, 0, 1,
11069 14,
11070 OPC_CheckChild0Integer, 54|128,42|128,1,
11071 OPC_RecordChild1,
11072 OPC_RecordChild2,
11073 OPC_CheckPatternPredicate0,
11074 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGF),
11075 MVT::v4i32, 2, 0, 1,
11076 14,
11077 OPC_CheckChild0Integer, 56|128,42|128,1,
11078 OPC_RecordChild1,
11079 OPC_RecordChild2,
11080 OPC_CheckPatternPredicate0,
11081 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGG),
11082 MVT::v2i64, 2, 0, 1,
11083 14,
11084 OPC_CheckChild0Integer, 60|128,42|128,1,
11085 OPC_RecordChild1,
11086 OPC_RecordChild2,
11087 OPC_CheckPatternPredicate0,
11088 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGLB),
11089 MVT::v16i8, 2, 0, 1,
11090 14,
11091 OPC_CheckChild0Integer, 66|128,42|128,1,
11092 OPC_RecordChild1,
11093 OPC_RecordChild2,
11094 OPC_CheckPatternPredicate0,
11095 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGLH),
11096 MVT::v8i16, 2, 0, 1,
11097 14,
11098 OPC_CheckChild0Integer, 62|128,42|128,1,
11099 OPC_RecordChild1,
11100 OPC_RecordChild2,
11101 OPC_CheckPatternPredicate0,
11102 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGLF),
11103 MVT::v4i32, 2, 0, 1,
11104 14,
11105 OPC_CheckChild0Integer, 64|128,42|128,1,
11106 OPC_RecordChild1,
11107 OPC_RecordChild2,
11108 OPC_CheckPatternPredicate0,
11109 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAVGLG),
11110 MVT::v2i64, 2, 0, 1,
11111 14,
11112 OPC_CheckChild0Integer, 96|128,42|128,1,
11113 OPC_RecordChild1,
11114 OPC_RecordChild2,
11115 OPC_CheckPatternPredicate0,
11116 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCKSM),
11117 MVT::v4i32, 2, 0, 1,
11118 14,
11119 OPC_CheckChild0Integer, 94|128,43|128,1,
11120 OPC_RecordChild1,
11121 OPC_RecordChild2,
11122 OPC_CheckPatternPredicate0,
11123 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMB),
11124 MVT::v8i16, 2, 0, 1,
11125 14,
11126 OPC_CheckChild0Integer, 100|128,43|128,1,
11127 OPC_RecordChild1,
11128 OPC_RecordChild2,
11129 OPC_CheckPatternPredicate0,
11130 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMH),
11131 MVT::v4i32, 2, 0, 1,
11132 14,
11133 OPC_CheckChild0Integer, 96|128,43|128,1,
11134 OPC_RecordChild1,
11135 OPC_RecordChild2,
11136 OPC_CheckPatternPredicate0,
11137 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMF),
11138 MVT::v2i64, 2, 0, 1,
11139 16,
11140 OPC_CheckChild0Integer, 86|128,43|128,1,
11141 OPC_RecordChild1,
11142 OPC_RecordChild2,
11143 OPC_RecordChild3,
11144 OPC_CheckPatternPredicate0,
11145 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMAB),
11146 MVT::v8i16, 3, 0, 1, 2,
11147 16,
11148 OPC_CheckChild0Integer, 92|128,43|128,1,
11149 OPC_RecordChild1,
11150 OPC_RecordChild2,
11151 OPC_RecordChild3,
11152 OPC_CheckPatternPredicate0,
11153 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMAH),
11154 MVT::v4i32, 3, 0, 1, 2,
11155 16,
11156 OPC_CheckChild0Integer, 88|128,43|128,1,
11157 OPC_RecordChild1,
11158 OPC_RecordChild2,
11159 OPC_RecordChild3,
11160 OPC_CheckPatternPredicate0,
11161 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGFMAF),
11162 MVT::v2i64, 3, 0, 1, 2,
11163 16,
11164 OPC_CheckChild0Integer, 126|128,43|128,1,
11165 OPC_RecordChild1,
11166 OPC_RecordChild2,
11167 OPC_RecordChild3,
11168 OPC_CheckPatternPredicate0,
11169 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAHB),
11170 MVT::v16i8, 3, 0, 1, 2,
11171 16,
11172 OPC_CheckChild0Integer, 2|128,44|128,1,
11173 OPC_RecordChild1,
11174 OPC_RecordChild2,
11175 OPC_RecordChild3,
11176 OPC_CheckPatternPredicate0,
11177 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAHH),
11178 MVT::v8i16, 3, 0, 1, 2,
11179 16,
11180 OPC_CheckChild0Integer, 0|128,44|128,1,
11181 OPC_RecordChild1,
11182 OPC_RecordChild2,
11183 OPC_RecordChild3,
11184 OPC_CheckPatternPredicate0,
11185 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAHF),
11186 MVT::v4i32, 3, 0, 1, 2,
11187 16,
11188 OPC_CheckChild0Integer, 10|128,44|128,1,
11189 OPC_RecordChild1,
11190 OPC_RecordChild2,
11191 OPC_RecordChild3,
11192 OPC_CheckPatternPredicate0,
11193 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHB),
11194 MVT::v16i8, 3, 0, 1, 2,
11195 16,
11196 OPC_CheckChild0Integer, 14|128,44|128,1,
11197 OPC_RecordChild1,
11198 OPC_RecordChild2,
11199 OPC_RecordChild3,
11200 OPC_CheckPatternPredicate0,
11201 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHH),
11202 MVT::v8i16, 3, 0, 1, 2,
11203 16,
11204 OPC_CheckChild0Integer, 12|128,44|128,1,
11205 OPC_RecordChild1,
11206 OPC_RecordChild2,
11207 OPC_RecordChild3,
11208 OPC_CheckPatternPredicate0,
11209 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHF),
11210 MVT::v4i32, 3, 0, 1, 2,
11211 16,
11212 OPC_CheckChild0Integer, 120|128,43|128,1,
11213 OPC_RecordChild1,
11214 OPC_RecordChild2,
11215 OPC_RecordChild3,
11216 OPC_CheckPatternPredicate0,
11217 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAEB),
11218 MVT::v8i16, 3, 0, 1, 2,
11219 16,
11220 OPC_CheckChild0Integer, 124|128,43|128,1,
11221 OPC_RecordChild1,
11222 OPC_RecordChild2,
11223 OPC_RecordChild3,
11224 OPC_CheckPatternPredicate0,
11225 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAEH),
11226 MVT::v4i32, 3, 0, 1, 2,
11227 16,
11228 OPC_CheckChild0Integer, 122|128,43|128,1,
11229 OPC_RecordChild1,
11230 OPC_RecordChild2,
11231 OPC_RecordChild3,
11232 OPC_CheckPatternPredicate0,
11233 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAEF),
11234 MVT::v2i64, 3, 0, 1, 2,
11235 16,
11236 OPC_CheckChild0Integer, 4|128,44|128,1,
11237 OPC_RecordChild1,
11238 OPC_RecordChild2,
11239 OPC_RecordChild3,
11240 OPC_CheckPatternPredicate0,
11241 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALEB),
11242 MVT::v8i16, 3, 0, 1, 2,
11243 16,
11244 OPC_CheckChild0Integer, 8|128,44|128,1,
11245 OPC_RecordChild1,
11246 OPC_RecordChild2,
11247 OPC_RecordChild3,
11248 OPC_CheckPatternPredicate0,
11249 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALEH),
11250 MVT::v4i32, 3, 0, 1, 2,
11251 16,
11252 OPC_CheckChild0Integer, 6|128,44|128,1,
11253 OPC_RecordChild1,
11254 OPC_RecordChild2,
11255 OPC_RecordChild3,
11256 OPC_CheckPatternPredicate0,
11257 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALEF),
11258 MVT::v2i64, 3, 0, 1, 2,
11259 16,
11260 OPC_CheckChild0Integer, 22|128,44|128,1,
11261 OPC_RecordChild1,
11262 OPC_RecordChild2,
11263 OPC_RecordChild3,
11264 OPC_CheckPatternPredicate0,
11265 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAOB),
11266 MVT::v8i16, 3, 0, 1, 2,
11267 16,
11268 OPC_CheckChild0Integer, 26|128,44|128,1,
11269 OPC_RecordChild1,
11270 OPC_RecordChild2,
11271 OPC_RecordChild3,
11272 OPC_CheckPatternPredicate0,
11273 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAOH),
11274 MVT::v4i32, 3, 0, 1, 2,
11275 16,
11276 OPC_CheckChild0Integer, 24|128,44|128,1,
11277 OPC_RecordChild1,
11278 OPC_RecordChild2,
11279 OPC_RecordChild3,
11280 OPC_CheckPatternPredicate0,
11281 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMAOF),
11282 MVT::v2i64, 3, 0, 1, 2,
11283 16,
11284 OPC_CheckChild0Integer, 16|128,44|128,1,
11285 OPC_RecordChild1,
11286 OPC_RecordChild2,
11287 OPC_RecordChild3,
11288 OPC_CheckPatternPredicate0,
11289 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALOB),
11290 MVT::v8i16, 3, 0, 1, 2,
11291 16,
11292 OPC_CheckChild0Integer, 20|128,44|128,1,
11293 OPC_RecordChild1,
11294 OPC_RecordChild2,
11295 OPC_RecordChild3,
11296 OPC_CheckPatternPredicate0,
11297 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALOH),
11298 MVT::v4i32, 3, 0, 1, 2,
11299 16,
11300 OPC_CheckChild0Integer, 18|128,44|128,1,
11301 OPC_RecordChild1,
11302 OPC_RecordChild2,
11303 OPC_RecordChild3,
11304 OPC_CheckPatternPredicate0,
11305 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALOF),
11306 MVT::v2i64, 3, 0, 1, 2,
11307 14,
11308 OPC_CheckChild0Integer, 34|128,44|128,1,
11309 OPC_RecordChild1,
11310 OPC_RecordChild2,
11311 OPC_CheckPatternPredicate0,
11312 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMHB),
11313 MVT::v16i8, 2, 0, 1,
11314 14,
11315 OPC_CheckChild0Integer, 38|128,44|128,1,
11316 OPC_RecordChild1,
11317 OPC_RecordChild2,
11318 OPC_CheckPatternPredicate0,
11319 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMHH),
11320 MVT::v8i16, 2, 0, 1,
11321 14,
11322 OPC_CheckChild0Integer, 36|128,44|128,1,
11323 OPC_RecordChild1,
11324 OPC_RecordChild2,
11325 OPC_CheckPatternPredicate0,
11326 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMHF),
11327 MVT::v4i32, 2, 0, 1,
11328 14,
11329 OPC_CheckChild0Integer, 46|128,44|128,1,
11330 OPC_RecordChild1,
11331 OPC_RecordChild2,
11332 OPC_CheckPatternPredicate0,
11333 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLHB),
11334 MVT::v16i8, 2, 0, 1,
11335 14,
11336 OPC_CheckChild0Integer, 50|128,44|128,1,
11337 OPC_RecordChild1,
11338 OPC_RecordChild2,
11339 OPC_CheckPatternPredicate0,
11340 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLHH),
11341 MVT::v8i16, 2, 0, 1,
11342 14,
11343 OPC_CheckChild0Integer, 48|128,44|128,1,
11344 OPC_RecordChild1,
11345 OPC_RecordChild2,
11346 OPC_CheckPatternPredicate0,
11347 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLHF),
11348 MVT::v4i32, 2, 0, 1,
11349 14,
11350 OPC_CheckChild0Integer, 28|128,44|128,1,
11351 OPC_RecordChild1,
11352 OPC_RecordChild2,
11353 OPC_CheckPatternPredicate0,
11354 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMEB),
11355 MVT::v8i16, 2, 0, 1,
11356 14,
11357 OPC_CheckChild0Integer, 32|128,44|128,1,
11358 OPC_RecordChild1,
11359 OPC_RecordChild2,
11360 OPC_CheckPatternPredicate0,
11361 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMEH),
11362 MVT::v4i32, 2, 0, 1,
11363 14,
11364 OPC_CheckChild0Integer, 30|128,44|128,1,
11365 OPC_RecordChild1,
11366 OPC_RecordChild2,
11367 OPC_CheckPatternPredicate0,
11368 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMEF),
11369 MVT::v2i64, 2, 0, 1,
11370 14,
11371 OPC_CheckChild0Integer, 40|128,44|128,1,
11372 OPC_RecordChild1,
11373 OPC_RecordChild2,
11374 OPC_CheckPatternPredicate0,
11375 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLEB),
11376 MVT::v8i16, 2, 0, 1,
11377 14,
11378 OPC_CheckChild0Integer, 44|128,44|128,1,
11379 OPC_RecordChild1,
11380 OPC_RecordChild2,
11381 OPC_CheckPatternPredicate0,
11382 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLEH),
11383 MVT::v4i32, 2, 0, 1,
11384 14,
11385 OPC_CheckChild0Integer, 42|128,44|128,1,
11386 OPC_RecordChild1,
11387 OPC_RecordChild2,
11388 OPC_CheckPatternPredicate0,
11389 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLEF),
11390 MVT::v2i64, 2, 0, 1,
11391 14,
11392 OPC_CheckChild0Integer, 58|128,44|128,1,
11393 OPC_RecordChild1,
11394 OPC_RecordChild2,
11395 OPC_CheckPatternPredicate0,
11396 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMOB),
11397 MVT::v8i16, 2, 0, 1,
11398 14,
11399 OPC_CheckChild0Integer, 62|128,44|128,1,
11400 OPC_RecordChild1,
11401 OPC_RecordChild2,
11402 OPC_CheckPatternPredicate0,
11403 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMOH),
11404 MVT::v4i32, 2, 0, 1,
11405 14,
11406 OPC_CheckChild0Integer, 60|128,44|128,1,
11407 OPC_RecordChild1,
11408 OPC_RecordChild2,
11409 OPC_CheckPatternPredicate0,
11410 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMOF),
11411 MVT::v2i64, 2, 0, 1,
11412 14,
11413 OPC_CheckChild0Integer, 52|128,44|128,1,
11414 OPC_RecordChild1,
11415 OPC_RecordChild2,
11416 OPC_CheckPatternPredicate0,
11417 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLOB),
11418 MVT::v8i16, 2, 0, 1,
11419 14,
11420 OPC_CheckChild0Integer, 56|128,44|128,1,
11421 OPC_RecordChild1,
11422 OPC_RecordChild2,
11423 OPC_CheckPatternPredicate0,
11424 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLOH),
11425 MVT::v4i32, 2, 0, 1,
11426 14,
11427 OPC_CheckChild0Integer, 54|128,44|128,1,
11428 OPC_RecordChild1,
11429 OPC_RecordChild2,
11430 OPC_CheckPatternPredicate0,
11431 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLOF),
11432 MVT::v2i64, 2, 0, 1,
11433 14,
11434 OPC_CheckChild0Integer, 108|128,44|128,1,
11435 OPC_RecordChild1,
11436 OPC_RecordChild2,
11437 OPC_CheckPatternPredicate0,
11438 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
11439 MVT::v16i8, 2, 0, 1,
11440 14,
11441 OPC_CheckChild0Integer, 110|128,44|128,1,
11442 OPC_RecordChild1,
11443 OPC_RecordChild2,
11444 OPC_CheckPatternPredicate0,
11445 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLB),
11446 MVT::v16i8, 2, 0, 1,
11447 14,
11448 OPC_CheckChild0Integer, 118|128,44|128,1,
11449 OPC_RecordChild1,
11450 OPC_RecordChild2,
11451 OPC_CheckPatternPredicate0,
11452 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
11453 MVT::v16i8, 2, 0, 1,
11454 14,
11455 OPC_CheckChild0Integer, 120|128,44|128,1,
11456 OPC_RecordChild1,
11457 OPC_RecordChild2,
11458 OPC_CheckPatternPredicate0,
11459 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
11460 MVT::v16i8, 2, 0, 1,
11461 14,
11462 OPC_CheckChild0Integer, 124|128,44|128,1,
11463 OPC_RecordChild1,
11464 OPC_RecordChild2,
11465 OPC_CheckPatternPredicate0,
11466 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
11467 MVT::v16i8, 2, 0, 1,
11468 14,
11469 OPC_CheckChild0Integer, 126|128,44|128,1,
11470 OPC_RecordChild1,
11471 OPC_RecordChild2,
11472 OPC_CheckPatternPredicate0,
11473 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRLB),
11474 MVT::v16i8, 2, 0, 1,
11475 17,
11476 OPC_CheckChild0Integer, 22|128,43|128,1,
11477 OPC_RecordChild1,
11478 OPC_RecordChild2,
11479 OPC_CheckPatternPredicate0,
11480 OPC_EmitInteger32, 0,
11481 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEB),
11482 MVT::v16i8, 3, 0, 1, 2,
11483 17,
11484 OPC_CheckChild0Integer, 30|128,43|128,1,
11485 OPC_RecordChild1,
11486 OPC_RecordChild2,
11487 OPC_CheckPatternPredicate0,
11488 OPC_EmitInteger32, 0,
11489 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEH),
11490 MVT::v8i16, 3, 0, 1, 2,
11491 17,
11492 OPC_CheckChild0Integer, 26|128,43|128,1,
11493 OPC_RecordChild1,
11494 OPC_RecordChild2,
11495 OPC_CheckPatternPredicate0,
11496 OPC_EmitInteger32, 0,
11497 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEF),
11498 MVT::v4i32, 3, 0, 1, 2,
11499 14,
11500 OPC_CheckChild0Integer, 34|128,43|128,1,
11501 OPC_RecordChild1,
11502 OPC_RecordChild2,
11503 OPC_CheckPatternPredicate0,
11504 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEZB),
11505 MVT::v16i8, 2, 0, 1,
11506 14,
11507 OPC_CheckChild0Integer, 42|128,43|128,1,
11508 OPC_RecordChild1,
11509 OPC_RecordChild2,
11510 OPC_CheckPatternPredicate0,
11511 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEZH),
11512 MVT::v8i16, 2, 0, 1,
11513 14,
11514 OPC_CheckChild0Integer, 38|128,43|128,1,
11515 OPC_RecordChild1,
11516 OPC_RecordChild2,
11517 OPC_CheckPatternPredicate0,
11518 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFEEZF),
11519 MVT::v4i32, 2, 0, 1,
11520 17,
11521 OPC_CheckChild0Integer, 46|128,43|128,1,
11522 OPC_RecordChild1,
11523 OPC_RecordChild2,
11524 OPC_CheckPatternPredicate0,
11525 OPC_EmitInteger32, 0,
11526 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEB),
11527 MVT::v16i8, 3, 0, 1, 2,
11528 17,
11529 OPC_CheckChild0Integer, 54|128,43|128,1,
11530 OPC_RecordChild1,
11531 OPC_RecordChild2,
11532 OPC_CheckPatternPredicate0,
11533 OPC_EmitInteger32, 0,
11534 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEH),
11535 MVT::v8i16, 3, 0, 1, 2,
11536 17,
11537 OPC_CheckChild0Integer, 50|128,43|128,1,
11538 OPC_RecordChild1,
11539 OPC_RecordChild2,
11540 OPC_CheckPatternPredicate0,
11541 OPC_EmitInteger32, 0,
11542 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEF),
11543 MVT::v4i32, 3, 0, 1, 2,
11544 14,
11545 OPC_CheckChild0Integer, 58|128,43|128,1,
11546 OPC_RecordChild1,
11547 OPC_RecordChild2,
11548 OPC_CheckPatternPredicate0,
11549 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEZB),
11550 MVT::v16i8, 2, 0, 1,
11551 14,
11552 OPC_CheckChild0Integer, 66|128,43|128,1,
11553 OPC_RecordChild1,
11554 OPC_RecordChild2,
11555 OPC_CheckPatternPredicate0,
11556 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEZH),
11557 MVT::v8i16, 2, 0, 1,
11558 14,
11559 OPC_CheckChild0Integer, 62|128,43|128,1,
11560 OPC_RecordChild1,
11561 OPC_RecordChild2,
11562 OPC_CheckPatternPredicate0,
11563 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFENEZF),
11564 MVT::v4i32, 2, 0, 1,
11565 15,
11566 OPC_CheckChild0Integer, 102|128,43|128,1,
11567 OPC_RecordChild1,
11568 OPC_CheckPatternPredicate0,
11569 OPC_EmitInteger32, 0,
11570 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VISTRB),
11571 MVT::v16i8, 2, 0, 1,
11572 15,
11573 OPC_CheckChild0Integer, 110|128,43|128,1,
11574 OPC_RecordChild1,
11575 OPC_CheckPatternPredicate0,
11576 OPC_EmitInteger32, 0,
11577 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VISTRH),
11578 MVT::v8i16, 2, 0, 1,
11579 15,
11580 OPC_CheckChild0Integer, 106|128,43|128,1,
11581 OPC_RecordChild1,
11582 OPC_CheckPatternPredicate0,
11583 OPC_EmitInteger32, 0,
11584 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VISTRF),
11585 MVT::v4i32, 2, 0, 1,
11586 27,
11587 OPC_CheckChild0Integer, 70|128,43|128,1,
11588 OPC_RecordChild1,
11589 OPC_RecordChild2,
11590 OPC_MoveChild2,
11591 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11592 OPC_CheckPredicate4,
11593 OPC_MoveSibling3,
11594 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11595 OPC_RecordNode,
11596 OPC_CheckPredicate4,
11597 OPC_MoveParent,
11598 OPC_CheckPatternPredicate0,
11599 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
11600 MVT::v2f64, 3, 0, 1, 2,
11601 27,
11602 OPC_CheckChild0Integer, 72|128,43|128,1,
11603 OPC_RecordChild1,
11604 OPC_RecordChild2,
11605 OPC_MoveChild2,
11606 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11607 OPC_CheckPredicate4,
11608 OPC_MoveSibling3,
11609 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11610 OPC_RecordNode,
11611 OPC_CheckPredicate4,
11612 OPC_MoveParent,
11613 OPC_CheckPatternPredicate1,
11614 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
11615 MVT::v4f32, 3, 0, 1, 2,
11616 22,
11617 OPC_CheckChild0Integer, 74|128,43|128,1,
11618 OPC_RecordChild1,
11619 OPC_RecordChild2,
11620 OPC_RecordChild3,
11621 OPC_MoveChild3,
11622 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11623 OPC_CheckPredicate4,
11624 OPC_MoveParent,
11625 OPC_CheckPatternPredicate1,
11626 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXDB),
11627 MVT::v2f64, 3, 0, 1, 2,
11628 22,
11629 OPC_CheckChild0Integer, 76|128,43|128,1,
11630 OPC_RecordChild1,
11631 OPC_RecordChild2,
11632 OPC_RecordChild3,
11633 OPC_MoveChild3,
11634 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11635 OPC_CheckPredicate4,
11636 OPC_MoveParent,
11637 OPC_CheckPatternPredicate1,
11638 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXSB),
11639 MVT::v4f32, 3, 0, 1, 2,
11640 22,
11641 OPC_CheckChild0Integer, 78|128,43|128,1,
11642 OPC_RecordChild1,
11643 OPC_RecordChild2,
11644 OPC_RecordChild3,
11645 OPC_MoveChild3,
11646 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11647 OPC_CheckPredicate4,
11648 OPC_MoveParent,
11649 OPC_CheckPatternPredicate1,
11650 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINDB),
11651 MVT::v2f64, 3, 0, 1, 2,
11652 22,
11653 OPC_CheckChild0Integer, 80|128,43|128,1,
11654 OPC_RecordChild1,
11655 OPC_RecordChild2,
11656 OPC_RecordChild3,
11657 OPC_MoveChild3,
11658 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11659 OPC_CheckPredicate4,
11660 OPC_MoveParent,
11661 OPC_CheckPatternPredicate1,
11662 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINSB),
11663 MVT::v4f32, 3, 0, 1, 2,
11664 25,
11665 OPC_CheckChild0Integer, 100|128,42|128,1,
11666 OPC_RecordChild1,
11667 OPC_RecordChild2,
11668 OPC_MoveChild2,
11669 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11670 OPC_CheckPredicate4,
11671 OPC_MoveParent,
11672 OPC_CheckPatternPredicate, 14,
11673 OPC_EmitInteger32, 4,
11674 OPC_EmitConvertToTarget1,
11675 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLFNL),
11676 MVT::v4f32, 3, 0, 2, 3,
11677 25,
11678 OPC_CheckChild0Integer, 98|128,42|128,1,
11679 OPC_RecordChild1,
11680 OPC_RecordChild2,
11681 OPC_MoveChild2,
11682 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
11683 OPC_CheckPredicate4,
11684 OPC_MoveParent,
11685 OPC_CheckPatternPredicate, 14,
11686 OPC_EmitInteger32, 4,
11687 OPC_EmitConvertToTarget1,
11688 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLFNH),
11689 MVT::v4f32, 3, 0, 2, 3,
11690 0,
11691 46, TARGET_VAL(SystemZISD::MVC),
11692 OPC_RecordNode,
11693 OPC_RecordChild1,
11694 OPC_CheckChild1TypeI64,
11695 OPC_RecordChild2,
11696 OPC_CheckChild2TypeI64,
11697 OPC_RecordChild3,
11698 OPC_Scope, 21,
11699 OPC_MoveChild3,
11700 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11701 OPC_MoveParent,
11702 OPC_CheckComplexPat1, /*#*/1,
11703 OPC_CheckComplexPat1, /*#*/2,
11704 OPC_EmitMergeInputChains1_0,
11705 OPC_EmitConvertToTarget3,
11706 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MVCImm),
11707 MVT::i32, 5, 4, 5, 6, 7, 8,
11708 15,
11709 OPC_CheckComplexPat1, /*#*/1,
11710 OPC_CheckComplexPat1, /*#*/2,
11711 OPC_EmitMergeInputChains1_0,
11712 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MVCReg),
11713 MVT::i32, 5, 4, 5, 6, 7, 3,
11714 0,
11715 46, TARGET_VAL(SystemZISD::NC),
11716 OPC_RecordNode,
11717 OPC_RecordChild1,
11718 OPC_CheckChild1TypeI64,
11719 OPC_RecordChild2,
11720 OPC_CheckChild2TypeI64,
11721 OPC_RecordChild3,
11722 OPC_Scope, 21,
11723 OPC_MoveChild3,
11724 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11725 OPC_MoveParent,
11726 OPC_CheckComplexPat1, /*#*/1,
11727 OPC_CheckComplexPat1, /*#*/2,
11728 OPC_EmitMergeInputChains1_0,
11729 OPC_EmitConvertToTarget3,
11730 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::NCImm),
11731 MVT::i32, 5, 4, 5, 6, 7, 8,
11732 15,
11733 OPC_CheckComplexPat1, /*#*/1,
11734 OPC_CheckComplexPat1, /*#*/2,
11735 OPC_EmitMergeInputChains1_0,
11736 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::NCReg),
11737 MVT::i32, 5, 4, 5, 6, 7, 3,
11738 0,
11739 46, TARGET_VAL(SystemZISD::OC),
11740 OPC_RecordNode,
11741 OPC_RecordChild1,
11742 OPC_CheckChild1TypeI64,
11743 OPC_RecordChild2,
11744 OPC_CheckChild2TypeI64,
11745 OPC_RecordChild3,
11746 OPC_Scope, 21,
11747 OPC_MoveChild3,
11748 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11749 OPC_MoveParent,
11750 OPC_CheckComplexPat1, /*#*/1,
11751 OPC_CheckComplexPat1, /*#*/2,
11752 OPC_EmitMergeInputChains1_0,
11753 OPC_EmitConvertToTarget3,
11754 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::OCImm),
11755 MVT::i32, 5, 4, 5, 6, 7, 8,
11756 15,
11757 OPC_CheckComplexPat1, /*#*/1,
11758 OPC_CheckComplexPat1, /*#*/2,
11759 OPC_EmitMergeInputChains1_0,
11760 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::OCReg),
11761 MVT::i32, 5, 4, 5, 6, 7, 3,
11762 0,
11763 46, TARGET_VAL(SystemZISD::XC),
11764 OPC_RecordNode,
11765 OPC_RecordChild1,
11766 OPC_CheckChild1TypeI64,
11767 OPC_RecordChild2,
11768 OPC_CheckChild2TypeI64,
11769 OPC_RecordChild3,
11770 OPC_Scope, 21,
11771 OPC_MoveChild3,
11772 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11773 OPC_MoveParent,
11774 OPC_CheckComplexPat1, /*#*/1,
11775 OPC_CheckComplexPat1, /*#*/2,
11776 OPC_EmitMergeInputChains1_0,
11777 OPC_EmitConvertToTarget3,
11778 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::XCImm),
11779 MVT::i32, 5, 4, 5, 6, 7, 8,
11780 15,
11781 OPC_CheckComplexPat1, /*#*/1,
11782 OPC_CheckComplexPat1, /*#*/2,
11783 OPC_EmitMergeInputChains1_0,
11784 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::XCReg),
11785 MVT::i32, 5, 4, 5, 6, 7, 3,
11786 0,
11787 46, TARGET_VAL(SystemZISD::CLC),
11788 OPC_RecordNode,
11789 OPC_RecordChild1,
11790 OPC_CheckChild1TypeI64,
11791 OPC_RecordChild2,
11792 OPC_CheckChild2TypeI64,
11793 OPC_RecordChild3,
11794 OPC_Scope, 21,
11795 OPC_MoveChild3,
11796 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11797 OPC_MoveParent,
11798 OPC_CheckComplexPat1, /*#*/1,
11799 OPC_CheckComplexPat1, /*#*/2,
11800 OPC_EmitMergeInputChains1_0,
11801 OPC_EmitConvertToTarget3,
11802 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CLCImm),
11803 MVT::i32, 5, 4, 5, 6, 7, 8,
11804 15,
11805 OPC_CheckComplexPat1, /*#*/1,
11806 OPC_CheckComplexPat1, /*#*/2,
11807 OPC_EmitMergeInputChains1_0,
11808 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CLCReg),
11809 MVT::i32, 5, 4, 5, 6, 7, 3,
11810 0,
11811 111|128,1, TARGET_VAL(SystemZISD::STRV),
11812 OPC_RecordMemRef,
11813 OPC_RecordNode,
11814 OPC_Scope, 103,
11815 OPC_MoveChild1,
11816 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
11817 OPC_RecordChild0,
11818 OPC_Scope, 31,
11819 OPC_CheckChild0Type, MVT::v8i16,
11820 OPC_RecordChild1,
11821 OPC_MoveChild1,
11822 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11823 OPC_CheckPredicate, 51,
11824 OPC_MoveParent,
11825 OPC_CheckTypeI32,
11826 OPC_MoveParent,
11827 OPC_RecordChild2,
11828 OPC_CheckChild2TypeI64,
11829 OPC_CheckPredicate, 53,
11830 OPC_CheckPatternPredicate5,
11831 OPC_CheckComplexPat0, /*#*/3,
11832 OPC_EmitMergeInputChains1_0,
11833 OPC_EmitConvertToTarget2,
11834 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEBRH), 0|OPFL_Chain|OPFL_MemRefs,
11835 5, 1, 4, 5, 6, 7,
11836 31,
11837 OPC_CheckChild0Type, MVT::v4i32,
11838 OPC_RecordChild1,
11839 OPC_MoveChild1,
11840 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11841 OPC_CheckPredicate, 36,
11842 OPC_MoveParent,
11843 OPC_CheckTypeI32,
11844 OPC_MoveParent,
11845 OPC_RecordChild2,
11846 OPC_CheckChild2TypeI64,
11847 OPC_CheckPredicate, 54,
11848 OPC_CheckPatternPredicate5,
11849 OPC_CheckComplexPat0, /*#*/3,
11850 OPC_EmitMergeInputChains1_0,
11851 OPC_EmitConvertToTarget2,
11852 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEBRF), 0|OPFL_Chain|OPFL_MemRefs,
11853 5, 1, 4, 5, 6, 7,
11854 31,
11855 OPC_CheckChild0Type, MVT::v2i64,
11856 OPC_RecordChild1,
11857 OPC_MoveChild1,
11858 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11859 OPC_CheckPredicate, 37,
11860 OPC_MoveParent,
11861 OPC_CheckTypeI64,
11862 OPC_MoveParent,
11863 OPC_RecordChild2,
11864 OPC_CheckChild2TypeI64,
11865 OPC_CheckPredicate, 48,
11866 OPC_CheckPatternPredicate5,
11867 OPC_CheckComplexPat0, /*#*/3,
11868 OPC_EmitMergeInputChains1_0,
11869 OPC_EmitConvertToTarget2,
11870 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTEBRG), 0|OPFL_Chain|OPFL_MemRefs,
11871 5, 1, 4, 5, 6, 7,
11872 0,
11873 1|128,1,
11874 OPC_RecordChild1,
11875 OPC_Scope, 35,
11876 OPC_CheckChild1TypeI32,
11877 OPC_RecordChild2,
11878 OPC_CheckChild2TypeI64,
11879 OPC_Scope, 14,
11880 OPC_CheckPredicate, 53,
11881 OPC_CheckComplexPat2, /*#*/2,
11882 OPC_EmitMergeInputChains1_0,
11883 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRVH), 0|OPFL_Chain|OPFL_MemRefs,
11884 4, 1, 3, 4, 5,
11885 14,
11886 OPC_CheckPredicate, 54,
11887 OPC_CheckComplexPat2, /*#*/2,
11888 OPC_EmitMergeInputChains1_0,
11889 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRV), 0|OPFL_Chain|OPFL_MemRefs,
11890 4, 1, 3, 4, 5,
11891 0,
11892 17,
11893 OPC_CheckChild1TypeI64,
11894 OPC_RecordChild2,
11895 OPC_CheckChild2TypeI64,
11896 OPC_CheckPredicate, 48,
11897 OPC_CheckComplexPat2, /*#*/2,
11898 OPC_EmitMergeInputChains1_0,
11899 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STRVG), 0|OPFL_Chain|OPFL_MemRefs,
11900 4, 1, 3, 4, 5,
11901 17,
11902 OPC_CheckChild1Type, MVT::v8i16,
11903 OPC_RecordChild2,
11904 OPC_CheckChild2TypeI64,
11905 OPC_CheckPatternPredicate5,
11906 OPC_CheckComplexPat0, /*#*/2,
11907 OPC_EmitMergeInputChains1_0,
11908 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRH), 0|OPFL_Chain|OPFL_MemRefs,
11909 4, 1, 3, 4, 5,
11910 17,
11911 OPC_CheckChild1Type, MVT::v4i32,
11912 OPC_RecordChild2,
11913 OPC_CheckChild2TypeI64,
11914 OPC_CheckPatternPredicate5,
11915 OPC_CheckComplexPat0, /*#*/2,
11916 OPC_EmitMergeInputChains1_0,
11917 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRF), 0|OPFL_Chain|OPFL_MemRefs,
11918 4, 1, 3, 4, 5,
11919 17,
11920 OPC_CheckChild1Type, MVT::v2i64,
11921 OPC_RecordChild2,
11922 OPC_CheckChild2TypeI64,
11923 OPC_CheckPatternPredicate5,
11924 OPC_CheckComplexPat0, /*#*/2,
11925 OPC_EmitMergeInputChains1_0,
11926 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRG), 0|OPFL_Chain|OPFL_MemRefs,
11927 4, 1, 3, 4, 5,
11928 17,
11929 OPC_CheckChild1Type, MVT::i128,
11930 OPC_RecordChild2,
11931 OPC_CheckChild2TypeI64,
11932 OPC_CheckPatternPredicate5,
11933 OPC_CheckComplexPat0, /*#*/2,
11934 OPC_EmitMergeInputChains1_0,
11935 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRQ), 0|OPFL_Chain|OPFL_MemRefs,
11936 4, 1, 3, 4, 5,
11937 0,
11938 0,
11939 119|128,1, TARGET_VAL(ISD::INTRINSIC_VOID),
11940 OPC_RecordNode,
11941 OPC_Scope, 47,
11942 OPC_CheckChild1Integer, 26|128,45|128,1,
11943 OPC_RecordChild2,
11944 OPC_RecordChild3,
11945 OPC_Scope, 22,
11946 OPC_MoveChild3,
11947 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11948 OPC_CheckPredicate4,
11949 OPC_MoveParent,
11950 OPC_RecordChild4,
11951 OPC_CheckChild4TypeI64,
11952 OPC_CheckPatternPredicate, 17,
11953 OPC_CheckComplexPat1, /*#*/3,
11954 OPC_EmitMergeInputChains1_0,
11955 OPC_EmitConvertToTarget2,
11956 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::VSTRL),
11957 4, 1, 4, 5, 6,
11958 15,
11959 OPC_RecordChild4,
11960 OPC_CheckChild4TypeI64,
11961 OPC_CheckPatternPredicate, 17,
11962 OPC_CheckComplexPat1, /*#*/3,
11963 OPC_EmitMergeInputChains1_0,
11964 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::VSTRLR),
11965 4, 1, 2, 4, 5,
11966 0,
11967 69,
11968 OPC_CheckChild1Integer, 22|128,42|128,1,
11969 OPC_Scope, 53,
11970 OPC_MoveChild2,
11971 OPC_SwitchOpcode , 23, TARGET_VAL(ISD::LOAD),
11972 OPC_RecordMemRef,
11973 OPC_RecordNode,
11974 OPC_CheckFoldableChainNode,
11975 OPC_RecordChild1,
11976 OPC_CheckChild1TypeI64,
11977 OPC_CheckPredicate0,
11978 OPC_CheckPredicate3,
11979 OPC_CheckPredicate1,
11980 OPC_MoveParent,
11981 OPC_CheckComplexPat1, /*#*/2,
11982 OPC_EmitMergeInputChains, 2, 0, 1,
11983 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LFPC), 0|OPFL_Chain|OPFL_MemRefs,
11984 MVT::i32, 2, 3, 4,
11985 21, TARGET_VAL(ISD::ATOMIC_LOAD),
11986 OPC_RecordMemRef,
11987 OPC_RecordNode,
11988 OPC_CheckFoldableChainNode,
11989 OPC_RecordChild1,
11990 OPC_CheckChild1TypeI64,
11991 OPC_CheckPredicate1,
11992 OPC_MoveParent,
11993 OPC_CheckComplexPat1, /*#*/2,
11994 OPC_EmitMergeInputChains, 2, 0, 1,
11995 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LFPC), 0|OPFL_Chain|OPFL_MemRefs,
11996 MVT::i32, 2, 3, 4,
11997 0,
11998 8,
11999 OPC_RecordChild2,
12000 OPC_EmitMergeInputChains1_0,
12001 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::SFPC),
12002 MVT::i32, 1, 1,
12003 0,
12004 31,
12005 OPC_CheckChild1Integer, 30|128,42|128,1,
12006 OPC_RecordChild2,
12007 OPC_CheckChild2TypeI64,
12008 OPC_RecordChild3,
12009 OPC_MoveChild3,
12010 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12011 OPC_CheckPredicate, 40,
12012 OPC_MoveParent,
12013 OPC_CheckPatternPredicate, 10,
12014 OPC_CheckComplexPat1, /*#*/1,
12015 OPC_EmitMergeInputChains1_0,
12016 OPC_EmitConvertToTarget2,
12017 OPC_EmitNodeXForm, 10, 5,
12018 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::TBEGINC),
12019 MVT::i32, 3, 3, 4, 6,
12020 20,
12021 OPC_CheckChild1Integer, 18|128,42|128,1,
12022 OPC_RecordChild2,
12023 OPC_RecordChild3,
12024 OPC_CheckChild3TypeI64,
12025 OPC_CheckPatternPredicate, 10,
12026 OPC_CheckComplexPat2, /*#*/2,
12027 OPC_EmitMergeInputChains1_0,
12028 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::NTSTG),
12029 4, 1, 3, 4, 5,
12030 16,
12031 OPC_CheckChild1Integer, 24|128,42|128,1,
12032 OPC_RecordChild2,
12033 OPC_CheckPatternPredicate, 10,
12034 OPC_CheckComplexPat1, /*#*/1,
12035 OPC_EmitMergeInputChains1_0,
12036 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::TABORT),
12037 2, 2, 3,
12038 20,
12039 OPC_CheckChild1Integer, 0|128,45|128,1,
12040 OPC_RecordChild2,
12041 OPC_RecordChild3,
12042 OPC_RecordChild4,
12043 OPC_CheckChild4TypeI64,
12044 OPC_CheckPatternPredicate0,
12045 OPC_CheckComplexPat1, /*#*/3,
12046 OPC_EmitMergeInputChains1_0,
12047 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::VSTL),
12048 4, 1, 2, 4, 5,
12049 34,
12050 OPC_CheckChild1Integer, 20|128,42|128,1,
12051 OPC_RecordChild2,
12052 OPC_CheckPatternPredicate, 20,
12053 OPC_EmitMergeInputChains1_0,
12054 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
12055 MVT::i64, 0,
12056 OPC_EmitStringInteger32, SystemZ::subreg_l32,
12057 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
12058 MVT::i64, 3, 2, 1, 3,
12059 OPC_EmitRegisterI64, 0 ,
12060 OPC_EmitInteger32, 2,
12061 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::PPA),
12062 3, 4, 5, 6,
12063 0,
12064 37, TARGET_VAL(SystemZISD::PREFETCH),
12065 OPC_RecordMemRef,
12066 OPC_RecordNode,
12067 OPC_RecordChild1,
12068 OPC_MoveChild1,
12069 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12070 OPC_CheckPredicate4,
12071 OPC_MoveParent,
12072 OPC_RecordChild2,
12073 OPC_CheckChild2TypeI64,
12074 OPC_Scope, 10,
12075 OPC_CheckComplexPat5, /*#*/2,
12076 OPC_EmitMergeInputChains1_0,
12077 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::PFDRL), 0|OPFL_Chain|OPFL_MemRefs,
12078 2, 1, 3,
12079 12,
12080 OPC_CheckComplexPat2, /*#*/2,
12081 OPC_EmitMergeInputChains1_0,
12082 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::PFD), 0|OPFL_Chain|OPFL_MemRefs,
12083 4, 1, 3, 4, 5,
12084 0,
12085 41, TARGET_VAL(ISD::BRIND),
12086 OPC_RecordNode,
12087 OPC_Scope, 28,
12088 OPC_MoveChild1,
12089 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
12090 OPC_RecordMemRef,
12091 OPC_RecordNode,
12092 OPC_CheckFoldableChainNode,
12093 OPC_RecordChild1,
12094 OPC_CheckChild1TypeI64,
12095 OPC_CheckPredicate0,
12096 OPC_CheckPredicate3,
12097 OPC_MoveParent,
12098 OPC_CheckPatternPredicate, 8,
12099 OPC_CheckComplexPat2, /*#*/2,
12100 OPC_EmitMergeInputChains, 2, 0, 1,
12101 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::BI), 0|OPFL_Chain|OPFL_MemRefs,
12102 3, 3, 4, 5,
12103 8,
12104 OPC_RecordChild1,
12105 OPC_CheckChild1TypeI64,
12106 OPC_EmitMergeInputChains1_0,
12107 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::BR),
12108 1, 1,
12109 0,
12110 103|128,4, TARGET_VAL(SystemZISD::SADDO),
12111 OPC_RecordChild0,
12112 OPC_Scope, 44|128,2,
12113 OPC_MoveChild1,
12114 OPC_SwitchOpcode , 18|128,1, TARGET_VAL(ISD::LOAD),
12115 OPC_RecordMemRef,
12116 OPC_RecordNode,
12117 OPC_CheckFoldableChainNode,
12118 OPC_RecordChild1,
12119 OPC_CheckChild1TypeI64,
12120 OPC_CheckPredicate0,
12121 OPC_Scope, 37,
12122 OPC_CheckPredicate, 12,
12123 OPC_CheckPredicate6,
12124 OPC_MoveParent,
12125 OPC_CheckTypeI32,
12126 OPC_Scope, 14,
12127 OPC_CheckComplexPat3, /*#*/2,
12128 OPC_EmitMergeInputChains1_1,
12129 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
12130 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12131 14,
12132 OPC_CheckComplexPat4, /*#*/2,
12133 OPC_EmitMergeInputChains1_1,
12134 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
12135 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12136 0,
12137 36,
12138 OPC_CheckPredicate3,
12139 OPC_CheckPredicate1,
12140 OPC_MoveParent,
12141 OPC_CheckTypeI32,
12142 OPC_Scope, 14,
12143 OPC_CheckComplexPat3, /*#*/2,
12144 OPC_EmitMergeInputChains1_1,
12145 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
12146 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12147 14,
12148 OPC_CheckComplexPat4, /*#*/2,
12149 OPC_EmitMergeInputChains1_1,
12150 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
12151 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12152 0,
12153 43,
12154 OPC_CheckPredicate, 12,
12155 OPC_Scope, 19,
12156 OPC_CheckPredicate6,
12157 OPC_MoveParent,
12158 OPC_CheckTypeI64,
12159 OPC_CheckPatternPredicate, 8,
12160 OPC_CheckComplexPat2, /*#*/2,
12161 OPC_EmitMergeInputChains1_1,
12162 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
12163 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12164 18,
12165 OPC_CheckPredicate, 9,
12166 OPC_MoveParent,
12167 OPC_CheckTypeI64,
12168 OPC_CheckComplexPat2, /*#*/2,
12169 OPC_EmitMergeInputChains1_1,
12170 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
12171 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12172 0,
12173 18,
12174 OPC_CheckPredicate3,
12175 OPC_CheckPredicate1,
12176 OPC_MoveParent,
12177 OPC_CheckTypeI64,
12178 OPC_CheckComplexPat2, /*#*/2,
12179 OPC_EmitMergeInputChains1_1,
12180 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
12181 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12182 0,
12183 15|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
12184 OPC_RecordMemRef,
12185 OPC_RecordNode,
12186 OPC_CheckFoldableChainNode,
12187 OPC_RecordChild1,
12188 OPC_CheckChild1TypeI64,
12189 OPC_Scope, 37,
12190 OPC_CheckPredicate, 12,
12191 OPC_CheckPredicate6,
12192 OPC_MoveParent,
12193 OPC_CheckTypeI32,
12194 OPC_Scope, 14,
12195 OPC_CheckComplexPat3, /*#*/2,
12196 OPC_EmitMergeInputChains1_1,
12197 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
12198 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12199 14,
12200 OPC_CheckComplexPat4, /*#*/2,
12201 OPC_EmitMergeInputChains1_1,
12202 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
12203 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12204 0,
12205 35,
12206 OPC_CheckPredicate1,
12207 OPC_MoveParent,
12208 OPC_CheckTypeI32,
12209 OPC_Scope, 14,
12210 OPC_CheckComplexPat3, /*#*/2,
12211 OPC_EmitMergeInputChains1_1,
12212 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
12213 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12214 14,
12215 OPC_CheckComplexPat4, /*#*/2,
12216 OPC_EmitMergeInputChains1_1,
12217 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
12218 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12219 0,
12220 43,
12221 OPC_CheckPredicate, 12,
12222 OPC_Scope, 19,
12223 OPC_CheckPredicate6,
12224 OPC_MoveParent,
12225 OPC_CheckTypeI64,
12226 OPC_CheckPatternPredicate, 8,
12227 OPC_CheckComplexPat2, /*#*/2,
12228 OPC_EmitMergeInputChains1_1,
12229 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
12230 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12231 18,
12232 OPC_CheckPredicate, 9,
12233 OPC_MoveParent,
12234 OPC_CheckTypeI64,
12235 OPC_CheckComplexPat2, /*#*/2,
12236 OPC_EmitMergeInputChains1_1,
12237 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
12238 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12239 0,
12240 17,
12241 OPC_CheckPredicate1,
12242 OPC_MoveParent,
12243 OPC_CheckTypeI64,
12244 OPC_CheckComplexPat2, /*#*/2,
12245 OPC_EmitMergeInputChains1_1,
12246 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
12247 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12248 0,
12249 0,
12250 85|128,1,
12251 OPC_RecordChild1,
12252 OPC_MoveChild1,
12253 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12254 OPC_Scope, 62,
12255 OPC_CheckPredicate, 20,
12256 OPC_MoveParent,
12257 OPC_CheckTypeI32,
12258 OPC_Scope, 14,
12259 OPC_CheckPatternPredicate, 19,
12260 OPC_EmitConvertToTarget1,
12261 OPC_EmitNodeXForm, 2, 2,
12262 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMuxK),
12263 MVT::i32, MVT::i32, 2, 0, 3,
12264 13,
12265 OPC_CheckPatternPredicate2,
12266 OPC_EmitConvertToTarget1,
12267 OPC_EmitNodeXForm, 2, 2,
12268 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMux),
12269 MVT::i32, MVT::i32, 2, 0, 3,
12270 13,
12271 OPC_CheckPatternPredicate6,
12272 OPC_EmitConvertToTarget1,
12273 OPC_EmitNodeXForm, 2, 2,
12274 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIK),
12275 MVT::i32, MVT::i32, 2, 0, 3,
12276 12,
12277 OPC_EmitConvertToTarget1,
12278 OPC_EmitNodeXForm, 2, 2,
12279 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHI),
12280 MVT::i32, MVT::i32, 2, 0, 3,
12281 0,
12282 33,
12283 OPC_CheckPredicate, 20,
12284 OPC_MoveParent,
12285 OPC_CheckTypeI64,
12286 OPC_Scope, 13,
12287 OPC_CheckPatternPredicate6,
12288 OPC_EmitConvertToTarget1,
12289 OPC_EmitNodeXForm, 2, 2,
12290 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHIK),
12291 MVT::i64, MVT::i32, 2, 0, 3,
12292 12,
12293 OPC_EmitConvertToTarget1,
12294 OPC_EmitNodeXForm, 2, 2,
12295 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
12296 MVT::i64, MVT::i32, 2, 0, 3,
12297 0,
12298 16,
12299 OPC_CheckPredicate, 57,
12300 OPC_MoveParent,
12301 OPC_CheckTypeI64,
12302 OPC_EmitConvertToTarget1,
12303 OPC_EmitNodeXForm, 11, 2,
12304 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFI),
12305 MVT::i64, MVT::i32, 2, 0, 3,
12306 22,
12307 OPC_CheckPredicate, 83,
12308 OPC_MoveParent,
12309 OPC_CheckTypeI64,
12310 OPC_EmitConvertToTarget1,
12311 OPC_EmitNodeXForm, 13, 2,
12312 OPC_EmitNode1None, TARGET_VAL(SystemZ::LLILH),
12313 MVT::i64, 1, 3,
12314 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGR),
12315 MVT::i64, MVT::i32, 2, 0, 4,
12316 22,
12317 OPC_CheckPredicate, 84,
12318 OPC_MoveParent,
12319 OPC_CheckTypeI64,
12320 OPC_EmitConvertToTarget1,
12321 OPC_EmitNodeXForm, 14, 2,
12322 OPC_EmitNode1None, TARGET_VAL(SystemZ::LLILF),
12323 MVT::i64, 1, 3,
12324 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGR),
12325 MVT::i64, MVT::i32, 2, 0, 4,
12326 45,
12327 OPC_MoveParent,
12328 OPC_CheckTypeI32,
12329 OPC_Scope, 13,
12330 OPC_CheckPatternPredicate2,
12331 OPC_EmitConvertToTarget1,
12332 OPC_EmitNodeXForm, 11, 2,
12333 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFIMux),
12334 MVT::i32, MVT::i32, 2, 0, 3,
12335 12,
12336 OPC_EmitConvertToTarget1,
12337 OPC_EmitNodeXForm, 11, 2,
12338 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFI),
12339 MVT::i32, MVT::i32, 2, 0, 3,
12340 13,
12341 OPC_CheckPatternPredicate2,
12342 OPC_EmitConvertToTarget1,
12343 OPC_EmitNodeXForm, 11, 2,
12344 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AIH),
12345 MVT::i32, MVT::i32, 2, 0, 3,
12346 0,
12347 0,
12348 44,
12349 OPC_MoveChild1,
12350 OPC_SwitchOpcode , 11, TARGET_VAL(ISD::SIGN_EXTEND),
12351 OPC_RecordChild0,
12352 OPC_MoveParent,
12353 OPC_CheckTypeI64,
12354 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
12355 MVT::i64, MVT::i32, 2, 0, 1,
12356 24, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
12357 OPC_RecordChild0,
12358 OPC_MoveChild1,
12359 OPC_CheckValueType, MVT::i32,
12360 OPC_MoveParent,
12361 OPC_MoveParent,
12362 OPC_CheckTypeI64,
12363 OPC_EmitStringInteger32, SystemZ::subreg_l32,
12364 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12365 MVT::i32, 2, 1, 2,
12366 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
12367 MVT::i64, MVT::i32, 2, 0, 3,
12368 0,
12369 49,
12370 OPC_RecordChild1,
12371 OPC_SwitchType , 21, MVT::i32,
12372 OPC_Scope, 9,
12373 OPC_CheckPatternPredicate6,
12374 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ARK),
12375 MVT::i32, MVT::i32, 2, 0, 1,
12376 8,
12377 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AR),
12378 MVT::i32, MVT::i32, 2, 0, 1,
12379 0,
12380 21, MVT::i64,
12381 OPC_Scope, 9,
12382 OPC_CheckPatternPredicate6,
12383 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGRK),
12384 MVT::i64, MVT::i32, 2, 0, 1,
12385 8,
12386 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGR),
12387 MVT::i64, MVT::i32, 2, 0, 1,
12388 0,
12389 0,
12390 0,
12391 1|128,12, TARGET_VAL(ISD::ADD),
12392 OPC_Scope, 70|128,3,
12393 OPC_RecordChild0,
12394 OPC_MoveChild1,
12395 OPC_SwitchOpcode , 95|128,1, TARGET_VAL(ISD::LOAD),
12396 OPC_RecordMemRef,
12397 OPC_RecordNode,
12398 OPC_CheckFoldableChainNode,
12399 OPC_RecordChild1,
12400 OPC_CheckChild1TypeI64,
12401 OPC_CheckPredicate0,
12402 OPC_Scope, 37,
12403 OPC_CheckPredicate, 12,
12404 OPC_CheckPredicate6,
12405 OPC_MoveParent,
12406 OPC_CheckTypeI32,
12407 OPC_Scope, 14,
12408 OPC_CheckComplexPat3, /*#*/2,
12409 OPC_EmitMergeInputChains1_1,
12410 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
12411 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12412 14,
12413 OPC_CheckComplexPat4, /*#*/2,
12414 OPC_EmitMergeInputChains1_1,
12415 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
12416 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12417 0,
12418 36,
12419 OPC_CheckPredicate3,
12420 OPC_CheckPredicate1,
12421 OPC_MoveParent,
12422 OPC_CheckTypeI32,
12423 OPC_Scope, 14,
12424 OPC_CheckComplexPat3, /*#*/2,
12425 OPC_EmitMergeInputChains1_1,
12426 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
12427 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12428 14,
12429 OPC_CheckComplexPat4, /*#*/2,
12430 OPC_EmitMergeInputChains1_1,
12431 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
12432 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12433 0,
12434 43,
12435 OPC_CheckPredicate, 12,
12436 OPC_Scope, 19,
12437 OPC_CheckPredicate6,
12438 OPC_MoveParent,
12439 OPC_CheckTypeI64,
12440 OPC_CheckPatternPredicate, 8,
12441 OPC_CheckComplexPat2, /*#*/2,
12442 OPC_EmitMergeInputChains1_1,
12443 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
12444 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12445 18,
12446 OPC_CheckPredicate, 9,
12447 OPC_MoveParent,
12448 OPC_CheckTypeI64,
12449 OPC_CheckComplexPat2, /*#*/2,
12450 OPC_EmitMergeInputChains1_1,
12451 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
12452 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12453 0,
12454 55,
12455 OPC_CheckPredicate3,
12456 OPC_CheckPredicate1,
12457 OPC_MoveParent,
12458 OPC_SwitchType , 14, MVT::i64,
12459 OPC_CheckComplexPat2, /*#*/2,
12460 OPC_EmitMergeInputChains1_1,
12461 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
12462 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12463 32, MVT::i32,
12464 OPC_Scope, 14,
12465 OPC_CheckComplexPat3, /*#*/2,
12466 OPC_EmitMergeInputChains1_1,
12467 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AL), 0|OPFL_Chain|OPFL_MemRefs,
12468 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12469 14,
12470 OPC_CheckComplexPat4, /*#*/2,
12471 OPC_EmitMergeInputChains1_1,
12472 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALY), 0|OPFL_Chain|OPFL_MemRefs,
12473 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12474 0,
12475 0,
12476 20,
12477 OPC_CheckPredicate, 8,
12478 OPC_CheckPredicate, 9,
12479 OPC_MoveParent,
12480 OPC_CheckTypeI64,
12481 OPC_CheckComplexPat2, /*#*/2,
12482 OPC_EmitMergeInputChains1_1,
12483 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
12484 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12485 18,
12486 OPC_CheckPredicate3,
12487 OPC_CheckPredicate1,
12488 OPC_MoveParent,
12489 OPC_CheckTypeI64,
12490 OPC_CheckComplexPat2, /*#*/2,
12491 OPC_EmitMergeInputChains1_1,
12492 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALG), 0|OPFL_Chain|OPFL_MemRefs,
12493 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12494 0,
12495 91|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
12496 OPC_RecordMemRef,
12497 OPC_RecordNode,
12498 OPC_CheckFoldableChainNode,
12499 OPC_RecordChild1,
12500 OPC_CheckChild1TypeI64,
12501 OPC_Scope, 37,
12502 OPC_CheckPredicate, 12,
12503 OPC_CheckPredicate6,
12504 OPC_MoveParent,
12505 OPC_CheckTypeI32,
12506 OPC_Scope, 14,
12507 OPC_CheckComplexPat3, /*#*/2,
12508 OPC_EmitMergeInputChains1_1,
12509 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
12510 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12511 14,
12512 OPC_CheckComplexPat4, /*#*/2,
12513 OPC_EmitMergeInputChains1_1,
12514 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
12515 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12516 0,
12517 35,
12518 OPC_CheckPredicate1,
12519 OPC_MoveParent,
12520 OPC_CheckTypeI32,
12521 OPC_Scope, 14,
12522 OPC_CheckComplexPat3, /*#*/2,
12523 OPC_EmitMergeInputChains1_1,
12524 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
12525 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12526 14,
12527 OPC_CheckComplexPat4, /*#*/2,
12528 OPC_EmitMergeInputChains1_1,
12529 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
12530 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12531 0,
12532 43,
12533 OPC_CheckPredicate, 12,
12534 OPC_Scope, 19,
12535 OPC_CheckPredicate6,
12536 OPC_MoveParent,
12537 OPC_CheckTypeI64,
12538 OPC_CheckPatternPredicate, 8,
12539 OPC_CheckComplexPat2, /*#*/2,
12540 OPC_EmitMergeInputChains1_1,
12541 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
12542 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12543 18,
12544 OPC_CheckPredicate, 9,
12545 OPC_MoveParent,
12546 OPC_CheckTypeI64,
12547 OPC_CheckComplexPat2, /*#*/2,
12548 OPC_EmitMergeInputChains1_1,
12549 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
12550 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12551 0,
12552 54,
12553 OPC_CheckPredicate1,
12554 OPC_MoveParent,
12555 OPC_SwitchType , 14, MVT::i64,
12556 OPC_CheckComplexPat2, /*#*/2,
12557 OPC_EmitMergeInputChains1_1,
12558 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
12559 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12560 32, MVT::i32,
12561 OPC_Scope, 14,
12562 OPC_CheckComplexPat3, /*#*/2,
12563 OPC_EmitMergeInputChains1_1,
12564 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AL), 0|OPFL_Chain|OPFL_MemRefs,
12565 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12566 14,
12567 OPC_CheckComplexPat4, /*#*/2,
12568 OPC_EmitMergeInputChains1_1,
12569 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALY), 0|OPFL_Chain|OPFL_MemRefs,
12570 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
12571 0,
12572 0,
12573 20,
12574 OPC_CheckPredicate, 8,
12575 OPC_CheckPredicate, 9,
12576 OPC_MoveParent,
12577 OPC_CheckTypeI64,
12578 OPC_CheckComplexPat2, /*#*/2,
12579 OPC_EmitMergeInputChains1_1,
12580 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
12581 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12582 17,
12583 OPC_CheckPredicate1,
12584 OPC_MoveParent,
12585 OPC_CheckTypeI64,
12586 OPC_CheckComplexPat2, /*#*/2,
12587 OPC_EmitMergeInputChains1_1,
12588 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALG), 0|OPFL_Chain|OPFL_MemRefs,
12589 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
12590 0,
12591 0,
12592 98|128,2,
12593 OPC_MoveChild0,
12594 OPC_SwitchOpcode , 45|128,1, TARGET_VAL(ISD::LOAD),
12595 OPC_RecordMemRef,
12596 OPC_RecordNode,
12597 OPC_CheckFoldableChainNode,
12598 OPC_RecordChild1,
12599 OPC_CheckChild1TypeI64,
12600 OPC_CheckPredicate0,
12601 OPC_Scope, 38,
12602 OPC_CheckPredicate, 12,
12603 OPC_CheckPredicate6,
12604 OPC_MoveParent,
12605 OPC_RecordChild1,
12606 OPC_CheckTypeI32,
12607 OPC_Scope, 14,
12608 OPC_CheckComplexPat3, /*#*/1,
12609 OPC_EmitMergeInputChains1_0,
12610 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
12611 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
12612 14,
12613 OPC_CheckComplexPat4, /*#*/1,
12614 OPC_EmitMergeInputChains1_0,
12615 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
12616 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
12617 0,
12618 37,
12619 OPC_CheckPredicate3,
12620 OPC_CheckPredicate1,
12621 OPC_MoveParent,
12622 OPC_RecordChild1,
12623 OPC_CheckTypeI32,
12624 OPC_Scope, 14,
12625 OPC_CheckComplexPat3, /*#*/1,
12626 OPC_EmitMergeInputChains1_0,
12627 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
12628 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
12629 14,
12630 OPC_CheckComplexPat4, /*#*/1,
12631 OPC_EmitMergeInputChains1_0,
12632 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
12633 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
12634 0,
12635 45,
12636 OPC_CheckPredicate, 12,
12637 OPC_Scope, 20,
12638 OPC_CheckPredicate6,
12639 OPC_MoveParent,
12640 OPC_RecordChild1,
12641 OPC_CheckTypeI64,
12642 OPC_CheckPatternPredicate, 8,
12643 OPC_CheckComplexPat2, /*#*/1,
12644 OPC_EmitMergeInputChains1_0,
12645 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
12646 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
12647 19,
12648 OPC_CheckPredicate, 9,
12649 OPC_MoveParent,
12650 OPC_RecordChild1,
12651 OPC_CheckTypeI64,
12652 OPC_CheckComplexPat2, /*#*/1,
12653 OPC_EmitMergeInputChains1_0,
12654 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
12655 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
12656 0,
12657 19,
12658 OPC_CheckPredicate3,
12659 OPC_CheckPredicate1,
12660 OPC_MoveParent,
12661 OPC_RecordChild1,
12662 OPC_CheckTypeI64,
12663 OPC_CheckComplexPat2, /*#*/1,
12664 OPC_EmitMergeInputChains1_0,
12665 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
12666 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
12667 21,
12668 OPC_CheckPredicate, 8,
12669 OPC_CheckPredicate, 9,
12670 OPC_MoveParent,
12671 OPC_RecordChild1,
12672 OPC_CheckTypeI64,
12673 OPC_CheckComplexPat2, /*#*/1,
12674 OPC_EmitMergeInputChains1_0,
12675 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
12676 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
12677 0,
12678 42|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
12679 OPC_RecordMemRef,
12680 OPC_RecordNode,
12681 OPC_CheckFoldableChainNode,
12682 OPC_RecordChild1,
12683 OPC_CheckChild1TypeI64,
12684 OPC_Scope, 38,
12685 OPC_CheckPredicate, 12,
12686 OPC_CheckPredicate6,
12687 OPC_MoveParent,
12688 OPC_RecordChild1,
12689 OPC_CheckTypeI32,
12690 OPC_Scope, 14,
12691 OPC_CheckComplexPat3, /*#*/1,
12692 OPC_EmitMergeInputChains1_0,
12693 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AH), 0|OPFL_Chain|OPFL_MemRefs,
12694 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
12695 14,
12696 OPC_CheckComplexPat4, /*#*/1,
12697 OPC_EmitMergeInputChains1_0,
12698 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AHY), 0|OPFL_Chain|OPFL_MemRefs,
12699 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
12700 0,
12701 36,
12702 OPC_CheckPredicate1,
12703 OPC_MoveParent,
12704 OPC_RecordChild1,
12705 OPC_CheckTypeI32,
12706 OPC_Scope, 14,
12707 OPC_CheckComplexPat3, /*#*/1,
12708 OPC_EmitMergeInputChains1_0,
12709 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::A), 0|OPFL_Chain|OPFL_MemRefs,
12710 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
12711 14,
12712 OPC_CheckComplexPat4, /*#*/1,
12713 OPC_EmitMergeInputChains1_0,
12714 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AY), 0|OPFL_Chain|OPFL_MemRefs,
12715 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
12716 0,
12717 45,
12718 OPC_CheckPredicate, 12,
12719 OPC_Scope, 20,
12720 OPC_CheckPredicate6,
12721 OPC_MoveParent,
12722 OPC_RecordChild1,
12723 OPC_CheckTypeI64,
12724 OPC_CheckPatternPredicate, 8,
12725 OPC_CheckComplexPat2, /*#*/1,
12726 OPC_EmitMergeInputChains1_0,
12727 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGH), 0|OPFL_Chain|OPFL_MemRefs,
12728 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
12729 19,
12730 OPC_CheckPredicate, 9,
12731 OPC_MoveParent,
12732 OPC_RecordChild1,
12733 OPC_CheckTypeI64,
12734 OPC_CheckComplexPat2, /*#*/1,
12735 OPC_EmitMergeInputChains1_0,
12736 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AGF), 0|OPFL_Chain|OPFL_MemRefs,
12737 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
12738 0,
12739 18,
12740 OPC_CheckPredicate1,
12741 OPC_MoveParent,
12742 OPC_RecordChild1,
12743 OPC_CheckTypeI64,
12744 OPC_CheckComplexPat2, /*#*/1,
12745 OPC_EmitMergeInputChains1_0,
12746 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AG), 0|OPFL_Chain|OPFL_MemRefs,
12747 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
12748 21,
12749 OPC_CheckPredicate, 8,
12750 OPC_CheckPredicate, 9,
12751 OPC_MoveParent,
12752 OPC_RecordChild1,
12753 OPC_CheckTypeI64,
12754 OPC_CheckComplexPat2, /*#*/1,
12755 OPC_EmitMergeInputChains1_0,
12756 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
12757 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
12758 0,
12759 0,
12760 40,
12761 OPC_RecordNode,
12762 OPC_CheckTypeI64,
12763 OPC_Scope, 11,
12764 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12765 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
12766 MVT::i64, 3, 1, 2, 3,
12767 11,
12768 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
12769 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
12770 MVT::i64, 3, 1, 2, 3,
12771 11,
12772 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
12773 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
12774 MVT::i64, 3, 1, 2, 3,
12775 0,
12776 28,
12777 OPC_RecordChild0,
12778 OPC_MoveChild1,
12779 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
12780 OPC_RecordChild0,
12781 OPC_MoveParent,
12782 OPC_CheckTypeI64,
12783 OPC_EmitStringInteger32, SystemZ::subreg_l32,
12784 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12785 MVT::i32, 2, 1, 2,
12786 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
12787 MVT::i64, MVT::i32, 2, 0, 3,
12788 28,
12789 OPC_MoveChild0,
12790 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
12791 OPC_RecordChild0,
12792 OPC_MoveParent,
12793 OPC_RecordChild1,
12794 OPC_CheckTypeI64,
12795 OPC_EmitStringInteger32, SystemZ::subreg_l32,
12796 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12797 MVT::i32, 2, 0, 2,
12798 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
12799 MVT::i64, MVT::i32, 2, 1, 3,
12800 38|128,2,
12801 OPC_RecordChild0,
12802 OPC_Scope, 109|128,1,
12803 OPC_RecordChild1,
12804 OPC_MoveChild1,
12805 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12806 OPC_Scope, 62,
12807 OPC_CheckPredicate, 20,
12808 OPC_MoveParent,
12809 OPC_CheckTypeI32,
12810 OPC_Scope, 14,
12811 OPC_CheckPatternPredicate, 19,
12812 OPC_EmitConvertToTarget1,
12813 OPC_EmitNodeXForm, 2, 2,
12814 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMuxK),
12815 MVT::i32, MVT::i32, 2, 0, 3,
12816 13,
12817 OPC_CheckPatternPredicate2,
12818 OPC_EmitConvertToTarget1,
12819 OPC_EmitNodeXForm, 2, 2,
12820 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMux),
12821 MVT::i32, MVT::i32, 2, 0, 3,
12822 13,
12823 OPC_CheckPatternPredicate6,
12824 OPC_EmitConvertToTarget1,
12825 OPC_EmitNodeXForm, 2, 2,
12826 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIK),
12827 MVT::i32, MVT::i32, 2, 0, 3,
12828 12,
12829 OPC_EmitConvertToTarget1,
12830 OPC_EmitNodeXForm, 2, 2,
12831 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHI),
12832 MVT::i32, MVT::i32, 2, 0, 3,
12833 0,
12834 33,
12835 OPC_CheckPredicate, 20,
12836 OPC_MoveParent,
12837 OPC_CheckTypeI64,
12838 OPC_Scope, 13,
12839 OPC_CheckPatternPredicate6,
12840 OPC_EmitConvertToTarget1,
12841 OPC_EmitNodeXForm, 2, 2,
12842 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHIK),
12843 MVT::i64, MVT::i32, 2, 0, 3,
12844 12,
12845 OPC_EmitConvertToTarget1,
12846 OPC_EmitNodeXForm, 2, 2,
12847 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
12848 MVT::i64, MVT::i32, 2, 0, 3,
12849 0,
12850 16,
12851 OPC_CheckPredicate, 57,
12852 OPC_MoveParent,
12853 OPC_CheckTypeI64,
12854 OPC_EmitConvertToTarget1,
12855 OPC_EmitNodeXForm, 11, 2,
12856 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFI),
12857 MVT::i64, MVT::i32, 2, 0, 3,
12858 17,
12859 OPC_CheckPredicate, 20,
12860 OPC_MoveParent,
12861 OPC_CheckTypeI32,
12862 OPC_CheckPatternPredicate6,
12863 OPC_EmitConvertToTarget1,
12864 OPC_EmitNodeXForm, 2, 2,
12865 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALHSIK),
12866 MVT::i32, MVT::i32, 2, 0, 3,
12867 17,
12868 OPC_CheckPredicate, 20,
12869 OPC_MoveParent,
12870 OPC_CheckTypeI64,
12871 OPC_CheckPatternPredicate6,
12872 OPC_EmitConvertToTarget1,
12873 OPC_EmitNodeXForm, 2, 2,
12874 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGHSIK),
12875 MVT::i64, MVT::i32, 2, 0, 3,
12876 16,
12877 OPC_CheckPredicate, 58,
12878 OPC_MoveParent,
12879 OPC_CheckTypeI64,
12880 OPC_EmitConvertToTarget1,
12881 OPC_EmitNodeXForm, 9, 2,
12882 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFI),
12883 MVT::i64, MVT::i32, 2, 0, 3,
12884 16,
12885 OPC_CheckPredicate, 85,
12886 OPC_MoveParent,
12887 OPC_CheckTypeI64,
12888 OPC_EmitConvertToTarget1,
12889 OPC_EmitNodeXForm, 15, 2,
12890 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFI),
12891 MVT::i64, MVT::i32, 2, 0, 3,
12892 45,
12893 OPC_MoveParent,
12894 OPC_CheckTypeI32,
12895 OPC_Scope, 13,
12896 OPC_CheckPatternPredicate2,
12897 OPC_EmitConvertToTarget1,
12898 OPC_EmitNodeXForm, 11, 2,
12899 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFIMux),
12900 MVT::i32, MVT::i32, 2, 0, 3,
12901 12,
12902 OPC_EmitConvertToTarget1,
12903 OPC_EmitNodeXForm, 11, 2,
12904 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFI),
12905 MVT::i32, MVT::i32, 2, 0, 3,
12906 13,
12907 OPC_CheckPatternPredicate2,
12908 OPC_EmitConvertToTarget1,
12909 OPC_EmitNodeXForm, 11, 2,
12910 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AIH),
12911 MVT::i32, MVT::i32, 2, 0, 3,
12912 0,
12913 0,
12914 15,
12915 OPC_MoveChild1,
12916 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
12917 OPC_RecordChild0,
12918 OPC_MoveParent,
12919 OPC_CheckTypeI64,
12920 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
12921 MVT::i64, MVT::i32, 2, 0, 1,
12922 19,
12923 OPC_RecordChild1,
12924 OPC_MoveChild1,
12925 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12926 OPC_MoveParent,
12927 OPC_CheckTypeI32,
12928 OPC_EmitConvertToTarget1,
12929 OPC_EmitNodeXForm, 9, 2,
12930 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALFI),
12931 MVT::i32, MVT::i32, 2, 0, 3,
12932 15,
12933 OPC_MoveChild1,
12934 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
12935 OPC_RecordChild0,
12936 OPC_MoveParent,
12937 OPC_CheckTypeI64,
12938 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
12939 MVT::i64, MVT::i32, 2, 0, 1,
12940 0,
12941 33,
12942 OPC_MoveChild0,
12943 OPC_SwitchOpcode , 12, TARGET_VAL(ISD::SIGN_EXTEND),
12944 OPC_RecordChild0,
12945 OPC_MoveParent,
12946 OPC_RecordChild1,
12947 OPC_CheckTypeI64,
12948 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
12949 MVT::i64, MVT::i32, 2, 1, 0,
12950 12, TARGET_VAL(ISD::ZERO_EXTEND),
12951 OPC_RecordChild0,
12952 OPC_MoveParent,
12953 OPC_RecordChild1,
12954 OPC_CheckTypeI64,
12955 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
12956 MVT::i64, MVT::i32, 2, 1, 0,
12957 0,
12958 29,
12959 OPC_RecordChild0,
12960 OPC_MoveChild1,
12961 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
12962 OPC_RecordChild0,
12963 OPC_MoveChild1,
12964 OPC_CheckValueType, MVT::i32,
12965 OPC_MoveParent,
12966 OPC_MoveParent,
12967 OPC_CheckTypeI64,
12968 OPC_EmitStringInteger32, SystemZ::subreg_l32,
12969 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12970 MVT::i32, 2, 1, 2,
12971 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
12972 MVT::i64, MVT::i32, 2, 0, 3,
12973 29,
12974 OPC_MoveChild0,
12975 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
12976 OPC_RecordChild0,
12977 OPC_MoveChild1,
12978 OPC_CheckValueType, MVT::i32,
12979 OPC_MoveParent,
12980 OPC_MoveParent,
12981 OPC_RecordChild1,
12982 OPC_CheckTypeI64,
12983 OPC_EmitStringInteger32, SystemZ::subreg_l32,
12984 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12985 MVT::i32, 2, 0, 2,
12986 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFR),
12987 MVT::i64, MVT::i32, 2, 1, 3,
12988 98,
12989 OPC_RecordChild0,
12990 OPC_RecordChild1,
12991 OPC_SwitchType , 40, MVT::i32,
12992 OPC_Scope, 9,
12993 OPC_CheckPatternPredicate6,
12994 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ARK),
12995 MVT::i32, MVT::i32, 2, 0, 1,
12996 8,
12997 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AR),
12998 MVT::i32, MVT::i32, 2, 0, 1,
12999 9,
13000 OPC_CheckPatternPredicate6,
13001 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALRK),
13002 MVT::i32, MVT::i32, 2, 0, 1,
13003 8,
13004 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALR),
13005 MVT::i32, MVT::i32, 2, 0, 1,
13006 0,
13007 40, MVT::i64,
13008 OPC_Scope, 9,
13009 OPC_CheckPatternPredicate6,
13010 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGRK),
13011 MVT::i64, MVT::i32, 2, 0, 1,
13012 8,
13013 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGR),
13014 MVT::i64, MVT::i32, 2, 0, 1,
13015 9,
13016 OPC_CheckPatternPredicate6,
13017 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGRK),
13018 MVT::i64, MVT::i32, 2, 0, 1,
13019 8,
13020 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGR),
13021 MVT::i64, MVT::i32, 2, 0, 1,
13022 0,
13023 8, MVT::i128,
13024 OPC_CheckPatternPredicate0,
13025 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAQ),
13026 MVT::i128, 2, 0, 1,
13027 0,
13028 43,
13029 OPC_MoveChild0,
13030 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
13031 OPC_RecordChild0,
13032 OPC_RecordChild1,
13033 OPC_MoveParent,
13034 OPC_RecordChild1,
13035 OPC_SwitchType , 9, MVT::v16i8,
13036 OPC_CheckPatternPredicate0,
13037 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALB),
13038 MVT::v16i8, 3, 0, 1, 2,
13039 9, MVT::v8i16,
13040 OPC_CheckPatternPredicate0,
13041 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHW),
13042 MVT::v8i16, 3, 0, 1, 2,
13043 9, MVT::v4i32,
13044 OPC_CheckPatternPredicate0,
13045 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALF),
13046 MVT::v4i32, 3, 0, 1, 2,
13047 0,
13048 90,
13049 OPC_RecordChild0,
13050 OPC_Scope, 42,
13051 OPC_MoveChild1,
13052 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
13053 OPC_RecordChild0,
13054 OPC_RecordChild1,
13055 OPC_MoveParent,
13056 OPC_SwitchType , 9, MVT::v16i8,
13057 OPC_CheckPatternPredicate0,
13058 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALB),
13059 MVT::v16i8, 3, 1, 2, 0,
13060 9, MVT::v8i16,
13061 OPC_CheckPatternPredicate0,
13062 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALHW),
13063 MVT::v8i16, 3, 1, 2, 0,
13064 9, MVT::v4i32,
13065 OPC_CheckPatternPredicate0,
13066 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMALF),
13067 MVT::v4i32, 3, 1, 2, 0,
13068 0,
13069 43,
13070 OPC_RecordChild1,
13071 OPC_SwitchType , 8, MVT::v16i8,
13072 OPC_CheckPatternPredicate0,
13073 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAB),
13074 MVT::v16i8, 2, 0, 1,
13075 8, MVT::v8i16,
13076 OPC_CheckPatternPredicate0,
13077 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAH),
13078 MVT::v8i16, 2, 0, 1,
13079 8, MVT::v4i32,
13080 OPC_CheckPatternPredicate0,
13081 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAF),
13082 MVT::v4i32, 2, 0, 1,
13083 8, MVT::v2i64,
13084 OPC_CheckPatternPredicate0,
13085 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VAG),
13086 MVT::v2i64, 2, 0, 1,
13087 0,
13088 0,
13089 0,
13090 96|128,2, TARGET_VAL(SystemZISD::UADDO),
13091 OPC_RecordChild0,
13092 OPC_Scope, 77|128,1,
13093 OPC_MoveChild1,
13094 OPC_Scope, 88,
13095 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
13096 OPC_RecordMemRef,
13097 OPC_RecordNode,
13098 OPC_CheckFoldableChainNode,
13099 OPC_RecordChild1,
13100 OPC_CheckChild1TypeI64,
13101 OPC_CheckPredicate0,
13102 OPC_Scope, 36,
13103 OPC_CheckPredicate3,
13104 OPC_CheckPredicate1,
13105 OPC_MoveParent,
13106 OPC_CheckTypeI32,
13107 OPC_Scope, 14,
13108 OPC_CheckComplexPat3, /*#*/2,
13109 OPC_EmitMergeInputChains1_1,
13110 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AL), 0|OPFL_Chain|OPFL_MemRefs,
13111 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13112 14,
13113 OPC_CheckComplexPat4, /*#*/2,
13114 OPC_EmitMergeInputChains1_1,
13115 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALY), 0|OPFL_Chain|OPFL_MemRefs,
13116 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13117 0,
13118 20,
13119 OPC_CheckPredicate, 8,
13120 OPC_CheckPredicate, 9,
13121 OPC_MoveParent,
13122 OPC_CheckTypeI64,
13123 OPC_CheckComplexPat2, /*#*/2,
13124 OPC_EmitMergeInputChains1_1,
13125 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
13126 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13127 18,
13128 OPC_CheckPredicate3,
13129 OPC_CheckPredicate1,
13130 OPC_MoveParent,
13131 OPC_CheckTypeI64,
13132 OPC_CheckComplexPat2, /*#*/2,
13133 OPC_EmitMergeInputChains1_1,
13134 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALG), 0|OPFL_Chain|OPFL_MemRefs,
13135 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13136 0,
13137 85,
13138 OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
13139 OPC_RecordMemRef,
13140 OPC_RecordNode,
13141 OPC_CheckFoldableChainNode,
13142 OPC_RecordChild1,
13143 OPC_CheckChild1TypeI64,
13144 OPC_Scope, 35,
13145 OPC_CheckPredicate1,
13146 OPC_MoveParent,
13147 OPC_CheckTypeI32,
13148 OPC_Scope, 14,
13149 OPC_CheckComplexPat3, /*#*/2,
13150 OPC_EmitMergeInputChains1_1,
13151 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AL), 0|OPFL_Chain|OPFL_MemRefs,
13152 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13153 14,
13154 OPC_CheckComplexPat4, /*#*/2,
13155 OPC_EmitMergeInputChains1_1,
13156 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALY), 0|OPFL_Chain|OPFL_MemRefs,
13157 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13158 0,
13159 20,
13160 OPC_CheckPredicate, 8,
13161 OPC_CheckPredicate, 9,
13162 OPC_MoveParent,
13163 OPC_CheckTypeI64,
13164 OPC_CheckComplexPat2, /*#*/2,
13165 OPC_EmitMergeInputChains1_1,
13166 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALGF), 0|OPFL_Chain|OPFL_MemRefs,
13167 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13168 17,
13169 OPC_CheckPredicate1,
13170 OPC_MoveParent,
13171 OPC_CheckTypeI64,
13172 OPC_CheckComplexPat2, /*#*/2,
13173 OPC_EmitMergeInputChains1_1,
13174 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALG), 0|OPFL_Chain|OPFL_MemRefs,
13175 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13176 0,
13177 26,
13178 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
13179 OPC_RecordChild0,
13180 OPC_MoveParent,
13181 OPC_CheckTypeI64,
13182 OPC_EmitStringInteger32, SystemZ::subreg_l32,
13183 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13184 MVT::i32, 2, 1, 2,
13185 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
13186 MVT::i64, MVT::i32, 2, 0, 3,
13187 0,
13188 75,
13189 OPC_RecordChild1,
13190 OPC_MoveChild1,
13191 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13192 OPC_Scope, 17,
13193 OPC_CheckPredicate, 20,
13194 OPC_MoveParent,
13195 OPC_CheckTypeI32,
13196 OPC_CheckPatternPredicate6,
13197 OPC_EmitConvertToTarget1,
13198 OPC_EmitNodeXForm, 2, 2,
13199 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALHSIK),
13200 MVT::i32, MVT::i32, 2, 0, 3,
13201 17,
13202 OPC_CheckPredicate, 20,
13203 OPC_MoveParent,
13204 OPC_CheckTypeI64,
13205 OPC_CheckPatternPredicate6,
13206 OPC_EmitConvertToTarget1,
13207 OPC_EmitNodeXForm, 2, 2,
13208 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGHSIK),
13209 MVT::i64, MVT::i32, 2, 0, 3,
13210 16,
13211 OPC_CheckPredicate, 58,
13212 OPC_MoveParent,
13213 OPC_CheckTypeI64,
13214 OPC_EmitConvertToTarget1,
13215 OPC_EmitNodeXForm, 9, 2,
13216 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFI),
13217 MVT::i64, MVT::i32, 2, 0, 3,
13218 14,
13219 OPC_MoveParent,
13220 OPC_CheckTypeI32,
13221 OPC_EmitConvertToTarget1,
13222 OPC_EmitNodeXForm, 9, 2,
13223 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALFI),
13224 MVT::i32, MVT::i32, 2, 0, 3,
13225 0,
13226 15,
13227 OPC_MoveChild1,
13228 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
13229 OPC_RecordChild0,
13230 OPC_MoveParent,
13231 OPC_CheckTypeI64,
13232 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGFR),
13233 MVT::i64, MVT::i32, 2, 0, 1,
13234 49,
13235 OPC_RecordChild1,
13236 OPC_SwitchType , 21, MVT::i32,
13237 OPC_Scope, 9,
13238 OPC_CheckPatternPredicate6,
13239 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALRK),
13240 MVT::i32, MVT::i32, 2, 0, 1,
13241 8,
13242 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALR),
13243 MVT::i32, MVT::i32, 2, 0, 1,
13244 0,
13245 21, MVT::i64,
13246 OPC_Scope, 9,
13247 OPC_CheckPatternPredicate6,
13248 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGRK),
13249 MVT::i64, MVT::i32, 2, 0, 1,
13250 8,
13251 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGR),
13252 MVT::i64, MVT::i32, 2, 0, 1,
13253 0,
13254 0,
13255 0,
13256 11|128,1, TARGET_VAL(SystemZISD::ADDCARRY),
13257 OPC_RecordChild0,
13258 OPC_Scope, 105,
13259 OPC_MoveChild1,
13260 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::LOAD),
13261 OPC_RecordMemRef,
13262 OPC_RecordNode,
13263 OPC_CheckFoldableChainNode,
13264 OPC_RecordChild1,
13265 OPC_CheckChild1TypeI64,
13266 OPC_CheckPredicate0,
13267 OPC_CheckPredicate3,
13268 OPC_CheckPredicate1,
13269 OPC_MoveParent,
13270 OPC_RecordChild2,
13271 OPC_CheckChild2TypeI32,
13272 OPC_SwitchType , 16, MVT::i32,
13273 OPC_CheckComplexPat2, /*#*/2,
13274 OPC_EmitMergeInputChains1_1,
13275 OPC_EmitCopyToReg3, SystemZ::CC,
13276 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
13277 MVT::i32, MVT::i32, 4, 0, 4, 5, 6,
13278 16, MVT::i64,
13279 OPC_CheckComplexPat2, /*#*/2,
13280 OPC_EmitMergeInputChains1_1,
13281 OPC_EmitCopyToReg3, SystemZ::CC,
13282 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALCG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
13283 MVT::i64, MVT::i32, 4, 0, 4, 5, 6,
13284 0,
13285 47, TARGET_VAL(ISD::ATOMIC_LOAD),
13286 OPC_RecordMemRef,
13287 OPC_RecordNode,
13288 OPC_CheckFoldableChainNode,
13289 OPC_RecordChild1,
13290 OPC_CheckChild1TypeI64,
13291 OPC_CheckPredicate1,
13292 OPC_MoveParent,
13293 OPC_RecordChild2,
13294 OPC_CheckChild2TypeI32,
13295 OPC_SwitchType , 16, MVT::i32,
13296 OPC_CheckComplexPat2, /*#*/2,
13297 OPC_EmitMergeInputChains1_1,
13298 OPC_EmitCopyToReg3, SystemZ::CC,
13299 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
13300 MVT::i32, MVT::i32, 4, 0, 4, 5, 6,
13301 16, MVT::i64,
13302 OPC_CheckComplexPat2, /*#*/2,
13303 OPC_EmitMergeInputChains1_1,
13304 OPC_EmitCopyToReg3, SystemZ::CC,
13305 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ALCG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
13306 MVT::i64, MVT::i32, 4, 0, 4, 5, 6,
13307 0,
13308 0,
13309 29,
13310 OPC_RecordChild1,
13311 OPC_RecordChild2,
13312 OPC_CheckChild2TypeI32,
13313 OPC_SwitchType , 10, MVT::i32,
13314 OPC_EmitCopyToReg2, SystemZ::CC,
13315 OPC_MorphNodeTo2GlueInput, TARGET_VAL(SystemZ::ALCR),
13316 MVT::i32, MVT::i32, 2, 0, 1,
13317 10, MVT::i64,
13318 OPC_EmitCopyToReg2, SystemZ::CC,
13319 OPC_MorphNodeTo2GlueInput, TARGET_VAL(SystemZ::ALCGR),
13320 MVT::i64, MVT::i32, 2, 0, 1,
13321 0,
13322 0,
13323 0|128,4, TARGET_VAL(SystemZISD::SSUBO),
13324 OPC_RecordChild0,
13325 OPC_Scope, 44|128,2,
13326 OPC_MoveChild1,
13327 OPC_SwitchOpcode , 18|128,1, TARGET_VAL(ISD::LOAD),
13328 OPC_RecordMemRef,
13329 OPC_RecordNode,
13330 OPC_CheckFoldableChainNode,
13331 OPC_RecordChild1,
13332 OPC_CheckChild1TypeI64,
13333 OPC_CheckPredicate0,
13334 OPC_Scope, 37,
13335 OPC_CheckPredicate, 12,
13336 OPC_CheckPredicate6,
13337 OPC_MoveParent,
13338 OPC_CheckTypeI32,
13339 OPC_Scope, 14,
13340 OPC_CheckComplexPat3, /*#*/2,
13341 OPC_EmitMergeInputChains1_1,
13342 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SH), 0|OPFL_Chain|OPFL_MemRefs,
13343 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13344 14,
13345 OPC_CheckComplexPat4, /*#*/2,
13346 OPC_EmitMergeInputChains1_1,
13347 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SHY), 0|OPFL_Chain|OPFL_MemRefs,
13348 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13349 0,
13350 36,
13351 OPC_CheckPredicate3,
13352 OPC_CheckPredicate1,
13353 OPC_MoveParent,
13354 OPC_CheckTypeI32,
13355 OPC_Scope, 14,
13356 OPC_CheckComplexPat3, /*#*/2,
13357 OPC_EmitMergeInputChains1_1,
13358 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::S), 0|OPFL_Chain|OPFL_MemRefs,
13359 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13360 14,
13361 OPC_CheckComplexPat4, /*#*/2,
13362 OPC_EmitMergeInputChains1_1,
13363 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SY), 0|OPFL_Chain|OPFL_MemRefs,
13364 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13365 0,
13366 43,
13367 OPC_CheckPredicate, 12,
13368 OPC_Scope, 19,
13369 OPC_CheckPredicate6,
13370 OPC_MoveParent,
13371 OPC_CheckTypeI64,
13372 OPC_CheckPatternPredicate, 8,
13373 OPC_CheckComplexPat2, /*#*/2,
13374 OPC_EmitMergeInputChains1_1,
13375 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGH), 0|OPFL_Chain|OPFL_MemRefs,
13376 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13377 18,
13378 OPC_CheckPredicate, 9,
13379 OPC_MoveParent,
13380 OPC_CheckTypeI64,
13381 OPC_CheckComplexPat2, /*#*/2,
13382 OPC_EmitMergeInputChains1_1,
13383 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGF), 0|OPFL_Chain|OPFL_MemRefs,
13384 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13385 0,
13386 18,
13387 OPC_CheckPredicate3,
13388 OPC_CheckPredicate1,
13389 OPC_MoveParent,
13390 OPC_CheckTypeI64,
13391 OPC_CheckComplexPat2, /*#*/2,
13392 OPC_EmitMergeInputChains1_1,
13393 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SG), 0|OPFL_Chain|OPFL_MemRefs,
13394 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13395 0,
13396 15|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
13397 OPC_RecordMemRef,
13398 OPC_RecordNode,
13399 OPC_CheckFoldableChainNode,
13400 OPC_RecordChild1,
13401 OPC_CheckChild1TypeI64,
13402 OPC_Scope, 37,
13403 OPC_CheckPredicate, 12,
13404 OPC_CheckPredicate6,
13405 OPC_MoveParent,
13406 OPC_CheckTypeI32,
13407 OPC_Scope, 14,
13408 OPC_CheckComplexPat3, /*#*/2,
13409 OPC_EmitMergeInputChains1_1,
13410 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SH), 0|OPFL_Chain|OPFL_MemRefs,
13411 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13412 14,
13413 OPC_CheckComplexPat4, /*#*/2,
13414 OPC_EmitMergeInputChains1_1,
13415 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SHY), 0|OPFL_Chain|OPFL_MemRefs,
13416 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13417 0,
13418 35,
13419 OPC_CheckPredicate1,
13420 OPC_MoveParent,
13421 OPC_CheckTypeI32,
13422 OPC_Scope, 14,
13423 OPC_CheckComplexPat3, /*#*/2,
13424 OPC_EmitMergeInputChains1_1,
13425 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::S), 0|OPFL_Chain|OPFL_MemRefs,
13426 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13427 14,
13428 OPC_CheckComplexPat4, /*#*/2,
13429 OPC_EmitMergeInputChains1_1,
13430 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SY), 0|OPFL_Chain|OPFL_MemRefs,
13431 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13432 0,
13433 43,
13434 OPC_CheckPredicate, 12,
13435 OPC_Scope, 19,
13436 OPC_CheckPredicate6,
13437 OPC_MoveParent,
13438 OPC_CheckTypeI64,
13439 OPC_CheckPatternPredicate, 8,
13440 OPC_CheckComplexPat2, /*#*/2,
13441 OPC_EmitMergeInputChains1_1,
13442 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGH), 0|OPFL_Chain|OPFL_MemRefs,
13443 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13444 18,
13445 OPC_CheckPredicate, 9,
13446 OPC_MoveParent,
13447 OPC_CheckTypeI64,
13448 OPC_CheckComplexPat2, /*#*/2,
13449 OPC_EmitMergeInputChains1_1,
13450 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGF), 0|OPFL_Chain|OPFL_MemRefs,
13451 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13452 0,
13453 17,
13454 OPC_CheckPredicate1,
13455 OPC_MoveParent,
13456 OPC_CheckTypeI64,
13457 OPC_CheckComplexPat2, /*#*/2,
13458 OPC_EmitMergeInputChains1_1,
13459 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SG), 0|OPFL_Chain|OPFL_MemRefs,
13460 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13461 0,
13462 0,
13463 111,
13464 OPC_RecordChild1,
13465 OPC_MoveChild1,
13466 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13467 OPC_Scope, 17,
13468 OPC_CheckPredicate, 41,
13469 OPC_MoveParent,
13470 OPC_CheckTypeI32,
13471 OPC_CheckPatternPredicate2,
13472 OPC_EmitConvertToTarget1,
13473 OPC_EmitNodeXForm, 16, 2,
13474 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMux),
13475 MVT::i32, MVT::i32, 2, 0, 3,
13476 17,
13477 OPC_CheckPredicate, 65,
13478 OPC_MoveParent,
13479 OPC_CheckTypeI32,
13480 OPC_CheckPatternPredicate2,
13481 OPC_EmitConvertToTarget1,
13482 OPC_EmitNodeXForm, 17, 2,
13483 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFIMux),
13484 MVT::i32, MVT::i32, 2, 0, 3,
13485 16,
13486 OPC_CheckPredicate, 41,
13487 OPC_MoveParent,
13488 OPC_CheckTypeI32,
13489 OPC_EmitConvertToTarget1,
13490 OPC_EmitNodeXForm, 16, 2,
13491 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHI),
13492 MVT::i32, MVT::i32, 2, 0, 3,
13493 16,
13494 OPC_CheckPredicate, 65,
13495 OPC_MoveParent,
13496 OPC_CheckTypeI32,
13497 OPC_EmitConvertToTarget1,
13498 OPC_EmitNodeXForm, 17, 2,
13499 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFI),
13500 MVT::i32, MVT::i32, 2, 0, 3,
13501 16,
13502 OPC_CheckPredicate, 41,
13503 OPC_MoveParent,
13504 OPC_CheckTypeI64,
13505 OPC_EmitConvertToTarget1,
13506 OPC_EmitNodeXForm, 16, 2,
13507 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
13508 MVT::i64, MVT::i32, 2, 0, 3,
13509 16,
13510 OPC_CheckPredicate, 75,
13511 OPC_MoveParent,
13512 OPC_CheckTypeI64,
13513 OPC_EmitConvertToTarget1,
13514 OPC_EmitNodeXForm, 17, 2,
13515 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFI),
13516 MVT::i64, MVT::i32, 2, 0, 3,
13517 0,
13518 44,
13519 OPC_MoveChild1,
13520 OPC_SwitchOpcode , 11, TARGET_VAL(ISD::SIGN_EXTEND),
13521 OPC_RecordChild0,
13522 OPC_MoveParent,
13523 OPC_CheckTypeI64,
13524 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGFR),
13525 MVT::i64, MVT::i32, 2, 0, 1,
13526 24, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
13527 OPC_RecordChild0,
13528 OPC_MoveChild1,
13529 OPC_CheckValueType, MVT::i32,
13530 OPC_MoveParent,
13531 OPC_MoveParent,
13532 OPC_CheckTypeI64,
13533 OPC_EmitStringInteger32, SystemZ::subreg_l32,
13534 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13535 MVT::i32, 2, 1, 2,
13536 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGFR),
13537 MVT::i64, MVT::i32, 2, 0, 3,
13538 0,
13539 49,
13540 OPC_RecordChild1,
13541 OPC_SwitchType , 21, MVT::i32,
13542 OPC_Scope, 9,
13543 OPC_CheckPatternPredicate6,
13544 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRK),
13545 MVT::i32, MVT::i32, 2, 0, 1,
13546 8,
13547 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SR),
13548 MVT::i32, MVT::i32, 2, 0, 1,
13549 0,
13550 21, MVT::i64,
13551 OPC_Scope, 9,
13552 OPC_CheckPatternPredicate6,
13553 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGRK),
13554 MVT::i64, MVT::i32, 2, 0, 1,
13555 8,
13556 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGR),
13557 MVT::i64, MVT::i32, 2, 0, 1,
13558 0,
13559 0,
13560 0,
13561 87|128,8, TARGET_VAL(ISD::SUB),
13562 OPC_Scope, 70|128,3,
13563 OPC_RecordChild0,
13564 OPC_MoveChild1,
13565 OPC_SwitchOpcode , 95|128,1, TARGET_VAL(ISD::LOAD),
13566 OPC_RecordMemRef,
13567 OPC_RecordNode,
13568 OPC_CheckFoldableChainNode,
13569 OPC_RecordChild1,
13570 OPC_CheckChild1TypeI64,
13571 OPC_CheckPredicate0,
13572 OPC_Scope, 37,
13573 OPC_CheckPredicate, 12,
13574 OPC_CheckPredicate6,
13575 OPC_MoveParent,
13576 OPC_CheckTypeI32,
13577 OPC_Scope, 14,
13578 OPC_CheckComplexPat3, /*#*/2,
13579 OPC_EmitMergeInputChains1_1,
13580 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SH), 0|OPFL_Chain|OPFL_MemRefs,
13581 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13582 14,
13583 OPC_CheckComplexPat4, /*#*/2,
13584 OPC_EmitMergeInputChains1_1,
13585 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SHY), 0|OPFL_Chain|OPFL_MemRefs,
13586 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13587 0,
13588 36,
13589 OPC_CheckPredicate3,
13590 OPC_CheckPredicate1,
13591 OPC_MoveParent,
13592 OPC_CheckTypeI32,
13593 OPC_Scope, 14,
13594 OPC_CheckComplexPat3, /*#*/2,
13595 OPC_EmitMergeInputChains1_1,
13596 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::S), 0|OPFL_Chain|OPFL_MemRefs,
13597 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13598 14,
13599 OPC_CheckComplexPat4, /*#*/2,
13600 OPC_EmitMergeInputChains1_1,
13601 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SY), 0|OPFL_Chain|OPFL_MemRefs,
13602 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13603 0,
13604 43,
13605 OPC_CheckPredicate, 12,
13606 OPC_Scope, 19,
13607 OPC_CheckPredicate6,
13608 OPC_MoveParent,
13609 OPC_CheckTypeI64,
13610 OPC_CheckPatternPredicate, 8,
13611 OPC_CheckComplexPat2, /*#*/2,
13612 OPC_EmitMergeInputChains1_1,
13613 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGH), 0|OPFL_Chain|OPFL_MemRefs,
13614 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13615 18,
13616 OPC_CheckPredicate, 9,
13617 OPC_MoveParent,
13618 OPC_CheckTypeI64,
13619 OPC_CheckComplexPat2, /*#*/2,
13620 OPC_EmitMergeInputChains1_1,
13621 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGF), 0|OPFL_Chain|OPFL_MemRefs,
13622 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13623 0,
13624 55,
13625 OPC_CheckPredicate3,
13626 OPC_CheckPredicate1,
13627 OPC_MoveParent,
13628 OPC_SwitchType , 14, MVT::i64,
13629 OPC_CheckComplexPat2, /*#*/2,
13630 OPC_EmitMergeInputChains1_1,
13631 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SG), 0|OPFL_Chain|OPFL_MemRefs,
13632 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13633 32, MVT::i32,
13634 OPC_Scope, 14,
13635 OPC_CheckComplexPat3, /*#*/2,
13636 OPC_EmitMergeInputChains1_1,
13637 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SL), 0|OPFL_Chain|OPFL_MemRefs,
13638 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13639 14,
13640 OPC_CheckComplexPat4, /*#*/2,
13641 OPC_EmitMergeInputChains1_1,
13642 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLY), 0|OPFL_Chain|OPFL_MemRefs,
13643 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13644 0,
13645 0,
13646 20,
13647 OPC_CheckPredicate, 8,
13648 OPC_CheckPredicate, 9,
13649 OPC_MoveParent,
13650 OPC_CheckTypeI64,
13651 OPC_CheckComplexPat2, /*#*/2,
13652 OPC_EmitMergeInputChains1_1,
13653 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLGF), 0|OPFL_Chain|OPFL_MemRefs,
13654 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13655 18,
13656 OPC_CheckPredicate3,
13657 OPC_CheckPredicate1,
13658 OPC_MoveParent,
13659 OPC_CheckTypeI64,
13660 OPC_CheckComplexPat2, /*#*/2,
13661 OPC_EmitMergeInputChains1_1,
13662 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLG), 0|OPFL_Chain|OPFL_MemRefs,
13663 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13664 0,
13665 91|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
13666 OPC_RecordMemRef,
13667 OPC_RecordNode,
13668 OPC_CheckFoldableChainNode,
13669 OPC_RecordChild1,
13670 OPC_CheckChild1TypeI64,
13671 OPC_Scope, 37,
13672 OPC_CheckPredicate, 12,
13673 OPC_CheckPredicate6,
13674 OPC_MoveParent,
13675 OPC_CheckTypeI32,
13676 OPC_Scope, 14,
13677 OPC_CheckComplexPat3, /*#*/2,
13678 OPC_EmitMergeInputChains1_1,
13679 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SH), 0|OPFL_Chain|OPFL_MemRefs,
13680 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13681 14,
13682 OPC_CheckComplexPat4, /*#*/2,
13683 OPC_EmitMergeInputChains1_1,
13684 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SHY), 0|OPFL_Chain|OPFL_MemRefs,
13685 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13686 0,
13687 35,
13688 OPC_CheckPredicate1,
13689 OPC_MoveParent,
13690 OPC_CheckTypeI32,
13691 OPC_Scope, 14,
13692 OPC_CheckComplexPat3, /*#*/2,
13693 OPC_EmitMergeInputChains1_1,
13694 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::S), 0|OPFL_Chain|OPFL_MemRefs,
13695 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13696 14,
13697 OPC_CheckComplexPat4, /*#*/2,
13698 OPC_EmitMergeInputChains1_1,
13699 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SY), 0|OPFL_Chain|OPFL_MemRefs,
13700 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13701 0,
13702 43,
13703 OPC_CheckPredicate, 12,
13704 OPC_Scope, 19,
13705 OPC_CheckPredicate6,
13706 OPC_MoveParent,
13707 OPC_CheckTypeI64,
13708 OPC_CheckPatternPredicate, 8,
13709 OPC_CheckComplexPat2, /*#*/2,
13710 OPC_EmitMergeInputChains1_1,
13711 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGH), 0|OPFL_Chain|OPFL_MemRefs,
13712 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13713 18,
13714 OPC_CheckPredicate, 9,
13715 OPC_MoveParent,
13716 OPC_CheckTypeI64,
13717 OPC_CheckComplexPat2, /*#*/2,
13718 OPC_EmitMergeInputChains1_1,
13719 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SGF), 0|OPFL_Chain|OPFL_MemRefs,
13720 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13721 0,
13722 54,
13723 OPC_CheckPredicate1,
13724 OPC_MoveParent,
13725 OPC_SwitchType , 14, MVT::i64,
13726 OPC_CheckComplexPat2, /*#*/2,
13727 OPC_EmitMergeInputChains1_1,
13728 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SG), 0|OPFL_Chain|OPFL_MemRefs,
13729 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13730 32, MVT::i32,
13731 OPC_Scope, 14,
13732 OPC_CheckComplexPat3, /*#*/2,
13733 OPC_EmitMergeInputChains1_1,
13734 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SL), 0|OPFL_Chain|OPFL_MemRefs,
13735 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13736 14,
13737 OPC_CheckComplexPat4, /*#*/2,
13738 OPC_EmitMergeInputChains1_1,
13739 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLY), 0|OPFL_Chain|OPFL_MemRefs,
13740 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
13741 0,
13742 0,
13743 20,
13744 OPC_CheckPredicate, 8,
13745 OPC_CheckPredicate, 9,
13746 OPC_MoveParent,
13747 OPC_CheckTypeI64,
13748 OPC_CheckComplexPat2, /*#*/2,
13749 OPC_EmitMergeInputChains1_1,
13750 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLGF), 0|OPFL_Chain|OPFL_MemRefs,
13751 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13752 17,
13753 OPC_CheckPredicate1,
13754 OPC_MoveParent,
13755 OPC_CheckTypeI64,
13756 OPC_CheckComplexPat2, /*#*/2,
13757 OPC_EmitMergeInputChains1_1,
13758 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLG), 0|OPFL_Chain|OPFL_MemRefs,
13759 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
13760 0,
13761 0,
13762 50,
13763 OPC_CheckChild0Integer, 0,
13764 OPC_MoveChild1,
13765 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
13766 OPC_MoveChild0,
13767 OPC_SwitchOpcode , 11, TARGET_VAL(ISD::SIGN_EXTEND),
13768 OPC_RecordChild0,
13769 OPC_MoveParent,
13770 OPC_MoveParent,
13771 OPC_CheckTypeI64,
13772 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNGFR),
13773 MVT::i64, MVT::i32, 1, 0,
13774 24, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
13775 OPC_RecordChild0,
13776 OPC_MoveChild1,
13777 OPC_CheckValueType, MVT::i32,
13778 OPC_MoveParent,
13779 OPC_MoveParent,
13780 OPC_MoveParent,
13781 OPC_CheckTypeI64,
13782 OPC_EmitStringInteger32, SystemZ::subreg_l32,
13783 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13784 MVT::i32, 2, 0, 1,
13785 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNGFR),
13786 MVT::i64, MVT::i32, 1, 2,
13787 0,
13788 40,
13789 OPC_RecordNode,
13790 OPC_CheckTypeI64,
13791 OPC_Scope, 11,
13792 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
13793 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
13794 MVT::i64, 3, 1, 2, 3,
13795 11,
13796 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
13797 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
13798 MVT::i64, 3, 1, 2, 3,
13799 11,
13800 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
13801 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
13802 MVT::i64, 3, 1, 2, 3,
13803 0,
13804 69,
13805 OPC_CheckChild0Integer, 0,
13806 OPC_MoveChild1,
13807 OPC_SwitchOpcode , 22, TARGET_VAL(ISD::ABS),
13808 OPC_RecordChild0,
13809 OPC_MoveParent,
13810 OPC_SwitchType , 7, MVT::i32,
13811 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNR),
13812 MVT::i32, MVT::i32, 1, 0,
13813 7, MVT::i64,
13814 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNGR),
13815 MVT::i64, MVT::i32, 1, 0,
13816 0,
13817 10, TARGET_VAL(ISD::SIGN_EXTEND),
13818 OPC_RecordChild0,
13819 OPC_MoveParent,
13820 OPC_CheckTypeI64,
13821 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCGFR),
13822 MVT::i64, MVT::i32, 1, 0,
13823 23, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
13824 OPC_RecordChild0,
13825 OPC_MoveChild1,
13826 OPC_CheckValueType, MVT::i32,
13827 OPC_MoveParent,
13828 OPC_MoveParent,
13829 OPC_CheckTypeI64,
13830 OPC_EmitStringInteger32, SystemZ::subreg_l32,
13831 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13832 MVT::i32, 2, 0, 1,
13833 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCGFR),
13834 MVT::i64, MVT::i32, 1, 2,
13835 0,
13836 28,
13837 OPC_RecordChild0,
13838 OPC_MoveChild1,
13839 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
13840 OPC_RecordChild0,
13841 OPC_MoveParent,
13842 OPC_CheckTypeI64,
13843 OPC_EmitStringInteger32, SystemZ::subreg_l32,
13844 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13845 MVT::i32, 2, 1, 2,
13846 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFR),
13847 MVT::i64, MVT::i32, 2, 0, 3,
13848 23,
13849 OPC_CheckChild0Integer, 0,
13850 OPC_RecordChild1,
13851 OPC_SwitchType , 7, MVT::i32,
13852 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCR),
13853 MVT::i32, MVT::i32, 1, 0,
13854 7, MVT::i64,
13855 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCGR),
13856 MVT::i64, MVT::i32, 1, 0,
13857 0,
13858 92|128,2,
13859 OPC_RecordChild0,
13860 OPC_Scope, 36|128,1,
13861 OPC_RecordChild1,
13862 OPC_MoveChild1,
13863 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13864 OPC_Scope, 17,
13865 OPC_CheckPredicate, 41,
13866 OPC_MoveParent,
13867 OPC_CheckTypeI32,
13868 OPC_CheckPatternPredicate2,
13869 OPC_EmitConvertToTarget1,
13870 OPC_EmitNodeXForm, 16, 2,
13871 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHIMux),
13872 MVT::i32, MVT::i32, 2, 0, 3,
13873 17,
13874 OPC_CheckPredicate, 65,
13875 OPC_MoveParent,
13876 OPC_CheckTypeI32,
13877 OPC_CheckPatternPredicate2,
13878 OPC_EmitConvertToTarget1,
13879 OPC_EmitNodeXForm, 17, 2,
13880 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFIMux),
13881 MVT::i32, MVT::i32, 2, 0, 3,
13882 16,
13883 OPC_CheckPredicate, 41,
13884 OPC_MoveParent,
13885 OPC_CheckTypeI32,
13886 OPC_EmitConvertToTarget1,
13887 OPC_EmitNodeXForm, 16, 2,
13888 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AHI),
13889 MVT::i32, MVT::i32, 2, 0, 3,
13890 16,
13891 OPC_CheckPredicate, 65,
13892 OPC_MoveParent,
13893 OPC_CheckTypeI32,
13894 OPC_EmitConvertToTarget1,
13895 OPC_EmitNodeXForm, 17, 2,
13896 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AFI),
13897 MVT::i32, MVT::i32, 2, 0, 3,
13898 16,
13899 OPC_CheckPredicate, 41,
13900 OPC_MoveParent,
13901 OPC_CheckTypeI64,
13902 OPC_EmitConvertToTarget1,
13903 OPC_EmitNodeXForm, 16, 2,
13904 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
13905 MVT::i64, MVT::i32, 2, 0, 3,
13906 16,
13907 OPC_CheckPredicate, 75,
13908 OPC_MoveParent,
13909 OPC_CheckTypeI64,
13910 OPC_EmitConvertToTarget1,
13911 OPC_EmitNodeXForm, 17, 2,
13912 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGFI),
13913 MVT::i64, MVT::i32, 2, 0, 3,
13914 17,
13915 OPC_CheckPredicate, 41,
13916 OPC_MoveParent,
13917 OPC_CheckTypeI32,
13918 OPC_CheckPatternPredicate6,
13919 OPC_EmitConvertToTarget1,
13920 OPC_EmitNodeXForm, 16, 2,
13921 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALHSIK),
13922 MVT::i32, MVT::i32, 2, 0, 3,
13923 17,
13924 OPC_CheckPredicate, 41,
13925 OPC_MoveParent,
13926 OPC_CheckTypeI64,
13927 OPC_CheckPatternPredicate6,
13928 OPC_EmitConvertToTarget1,
13929 OPC_EmitNodeXForm, 16, 2,
13930 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGHSIK),
13931 MVT::i64, MVT::i32, 2, 0, 3,
13932 16,
13933 OPC_CheckPredicate, 58,
13934 OPC_MoveParent,
13935 OPC_CheckTypeI64,
13936 OPC_EmitConvertToTarget1,
13937 OPC_EmitNodeXForm, 9, 2,
13938 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFI),
13939 MVT::i64, MVT::i32, 2, 0, 3,
13940 0,
13941 15,
13942 OPC_MoveChild1,
13943 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
13944 OPC_RecordChild0,
13945 OPC_MoveParent,
13946 OPC_CheckTypeI64,
13947 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGFR),
13948 MVT::i64, MVT::i32, 2, 0, 1,
13949 19,
13950 OPC_RecordChild1,
13951 OPC_MoveChild1,
13952 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13953 OPC_MoveParent,
13954 OPC_CheckTypeI32,
13955 OPC_EmitConvertToTarget1,
13956 OPC_EmitNodeXForm, 9, 2,
13957 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLFI),
13958 MVT::i32, MVT::i32, 2, 0, 3,
13959 44,
13960 OPC_MoveChild1,
13961 OPC_SwitchOpcode , 11, TARGET_VAL(ISD::ZERO_EXTEND),
13962 OPC_RecordChild0,
13963 OPC_MoveParent,
13964 OPC_CheckTypeI64,
13965 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFR),
13966 MVT::i64, MVT::i32, 2, 0, 1,
13967 24, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
13968 OPC_RecordChild0,
13969 OPC_MoveChild1,
13970 OPC_CheckValueType, MVT::i32,
13971 OPC_MoveParent,
13972 OPC_MoveParent,
13973 OPC_CheckTypeI64,
13974 OPC_EmitStringInteger32, SystemZ::subreg_l32,
13975 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13976 MVT::i32, 2, 1, 2,
13977 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGFR),
13978 MVT::i64, MVT::i32, 2, 0, 3,
13979 0,
13980 97,
13981 OPC_RecordChild1,
13982 OPC_SwitchType , 40, MVT::i32,
13983 OPC_Scope, 9,
13984 OPC_CheckPatternPredicate6,
13985 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRK),
13986 MVT::i32, MVT::i32, 2, 0, 1,
13987 8,
13988 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SR),
13989 MVT::i32, MVT::i32, 2, 0, 1,
13990 9,
13991 OPC_CheckPatternPredicate6,
13992 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLRK),
13993 MVT::i32, MVT::i32, 2, 0, 1,
13994 8,
13995 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLR),
13996 MVT::i32, MVT::i32, 2, 0, 1,
13997 0,
13998 40, MVT::i64,
13999 OPC_Scope, 9,
14000 OPC_CheckPatternPredicate6,
14001 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGRK),
14002 MVT::i64, MVT::i32, 2, 0, 1,
14003 8,
14004 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SGR),
14005 MVT::i64, MVT::i32, 2, 0, 1,
14006 9,
14007 OPC_CheckPatternPredicate6,
14008 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGRK),
14009 MVT::i64, MVT::i32, 2, 0, 1,
14010 8,
14011 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGR),
14012 MVT::i64, MVT::i32, 2, 0, 1,
14013 0,
14014 8, MVT::i128,
14015 OPC_CheckPatternPredicate0,
14016 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSQ),
14017 MVT::i128, 2, 0, 1,
14018 0,
14019 0,
14020 42,
14021 OPC_MoveChild0,
14022 OPC_CheckImmAllZerosV,
14023 OPC_MoveParent,
14024 OPC_RecordChild1,
14025 OPC_SwitchType , 7, MVT::v16i8,
14026 OPC_CheckPatternPredicate0,
14027 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
14028 MVT::v16i8, 1, 0,
14029 7, MVT::v8i16,
14030 OPC_CheckPatternPredicate0,
14031 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
14032 MVT::v8i16, 1, 0,
14033 7, MVT::v4i32,
14034 OPC_CheckPatternPredicate0,
14035 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
14036 MVT::v4i32, 1, 0,
14037 7, MVT::v2i64,
14038 OPC_CheckPatternPredicate0,
14039 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
14040 MVT::v2i64, 1, 0,
14041 0,
14042 44,
14043 OPC_RecordChild0,
14044 OPC_RecordChild1,
14045 OPC_SwitchType , 8, MVT::v16i8,
14046 OPC_CheckPatternPredicate0,
14047 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSB),
14048 MVT::v16i8, 2, 0, 1,
14049 8, MVT::v8i16,
14050 OPC_CheckPatternPredicate0,
14051 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSH),
14052 MVT::v8i16, 2, 0, 1,
14053 8, MVT::v4i32,
14054 OPC_CheckPatternPredicate0,
14055 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSF),
14056 MVT::v4i32, 2, 0, 1,
14057 8, MVT::v2i64,
14058 OPC_CheckPatternPredicate0,
14059 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSG),
14060 MVT::v2i64, 2, 0, 1,
14061 0,
14062 0,
14063 96|128,2, TARGET_VAL(SystemZISD::USUBO),
14064 OPC_RecordChild0,
14065 OPC_Scope, 77|128,1,
14066 OPC_MoveChild1,
14067 OPC_Scope, 88,
14068 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
14069 OPC_RecordMemRef,
14070 OPC_RecordNode,
14071 OPC_CheckFoldableChainNode,
14072 OPC_RecordChild1,
14073 OPC_CheckChild1TypeI64,
14074 OPC_CheckPredicate0,
14075 OPC_Scope, 36,
14076 OPC_CheckPredicate3,
14077 OPC_CheckPredicate1,
14078 OPC_MoveParent,
14079 OPC_CheckTypeI32,
14080 OPC_Scope, 14,
14081 OPC_CheckComplexPat3, /*#*/2,
14082 OPC_EmitMergeInputChains1_1,
14083 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SL), 0|OPFL_Chain|OPFL_MemRefs,
14084 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
14085 14,
14086 OPC_CheckComplexPat4, /*#*/2,
14087 OPC_EmitMergeInputChains1_1,
14088 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLY), 0|OPFL_Chain|OPFL_MemRefs,
14089 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
14090 0,
14091 20,
14092 OPC_CheckPredicate, 8,
14093 OPC_CheckPredicate, 9,
14094 OPC_MoveParent,
14095 OPC_CheckTypeI64,
14096 OPC_CheckComplexPat2, /*#*/2,
14097 OPC_EmitMergeInputChains1_1,
14098 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLGF), 0|OPFL_Chain|OPFL_MemRefs,
14099 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
14100 18,
14101 OPC_CheckPredicate3,
14102 OPC_CheckPredicate1,
14103 OPC_MoveParent,
14104 OPC_CheckTypeI64,
14105 OPC_CheckComplexPat2, /*#*/2,
14106 OPC_EmitMergeInputChains1_1,
14107 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLG), 0|OPFL_Chain|OPFL_MemRefs,
14108 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
14109 0,
14110 85,
14111 OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
14112 OPC_RecordMemRef,
14113 OPC_RecordNode,
14114 OPC_CheckFoldableChainNode,
14115 OPC_RecordChild1,
14116 OPC_CheckChild1TypeI64,
14117 OPC_Scope, 35,
14118 OPC_CheckPredicate1,
14119 OPC_MoveParent,
14120 OPC_CheckTypeI32,
14121 OPC_Scope, 14,
14122 OPC_CheckComplexPat3, /*#*/2,
14123 OPC_EmitMergeInputChains1_1,
14124 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SL), 0|OPFL_Chain|OPFL_MemRefs,
14125 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
14126 14,
14127 OPC_CheckComplexPat4, /*#*/2,
14128 OPC_EmitMergeInputChains1_1,
14129 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLY), 0|OPFL_Chain|OPFL_MemRefs,
14130 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
14131 0,
14132 20,
14133 OPC_CheckPredicate, 8,
14134 OPC_CheckPredicate, 9,
14135 OPC_MoveParent,
14136 OPC_CheckTypeI64,
14137 OPC_CheckComplexPat2, /*#*/2,
14138 OPC_EmitMergeInputChains1_1,
14139 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLGF), 0|OPFL_Chain|OPFL_MemRefs,
14140 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
14141 17,
14142 OPC_CheckPredicate1,
14143 OPC_MoveParent,
14144 OPC_CheckTypeI64,
14145 OPC_CheckComplexPat2, /*#*/2,
14146 OPC_EmitMergeInputChains1_1,
14147 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLG), 0|OPFL_Chain|OPFL_MemRefs,
14148 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
14149 0,
14150 26,
14151 OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
14152 OPC_RecordChild0,
14153 OPC_MoveParent,
14154 OPC_CheckTypeI64,
14155 OPC_EmitStringInteger32, SystemZ::subreg_l32,
14156 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14157 MVT::i32, 2, 1, 2,
14158 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFR),
14159 MVT::i64, MVT::i32, 2, 0, 3,
14160 0,
14161 75,
14162 OPC_RecordChild1,
14163 OPC_MoveChild1,
14164 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14165 OPC_Scope, 17,
14166 OPC_CheckPredicate, 41,
14167 OPC_MoveParent,
14168 OPC_CheckTypeI32,
14169 OPC_CheckPatternPredicate6,
14170 OPC_EmitConvertToTarget1,
14171 OPC_EmitNodeXForm, 16, 2,
14172 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALHSIK),
14173 MVT::i32, MVT::i32, 2, 0, 3,
14174 17,
14175 OPC_CheckPredicate, 41,
14176 OPC_MoveParent,
14177 OPC_CheckTypeI64,
14178 OPC_CheckPatternPredicate6,
14179 OPC_EmitConvertToTarget1,
14180 OPC_EmitNodeXForm, 16, 2,
14181 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ALGHSIK),
14182 MVT::i64, MVT::i32, 2, 0, 3,
14183 16,
14184 OPC_CheckPredicate, 58,
14185 OPC_MoveParent,
14186 OPC_CheckTypeI64,
14187 OPC_EmitConvertToTarget1,
14188 OPC_EmitNodeXForm, 9, 2,
14189 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFI),
14190 MVT::i64, MVT::i32, 2, 0, 3,
14191 14,
14192 OPC_MoveParent,
14193 OPC_CheckTypeI32,
14194 OPC_EmitConvertToTarget1,
14195 OPC_EmitNodeXForm, 9, 2,
14196 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLFI),
14197 MVT::i32, MVT::i32, 2, 0, 3,
14198 0,
14199 15,
14200 OPC_MoveChild1,
14201 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
14202 OPC_RecordChild0,
14203 OPC_MoveParent,
14204 OPC_CheckTypeI64,
14205 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGFR),
14206 MVT::i64, MVT::i32, 2, 0, 1,
14207 49,
14208 OPC_RecordChild1,
14209 OPC_SwitchType , 21, MVT::i32,
14210 OPC_Scope, 9,
14211 OPC_CheckPatternPredicate6,
14212 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLRK),
14213 MVT::i32, MVT::i32, 2, 0, 1,
14214 8,
14215 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLR),
14216 MVT::i32, MVT::i32, 2, 0, 1,
14217 0,
14218 21, MVT::i64,
14219 OPC_Scope, 9,
14220 OPC_CheckPatternPredicate6,
14221 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGRK),
14222 MVT::i64, MVT::i32, 2, 0, 1,
14223 8,
14224 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SLGR),
14225 MVT::i64, MVT::i32, 2, 0, 1,
14226 0,
14227 0,
14228 0,
14229 11|128,1, TARGET_VAL(SystemZISD::SUBCARRY),
14230 OPC_RecordChild0,
14231 OPC_Scope, 105,
14232 OPC_MoveChild1,
14233 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::LOAD),
14234 OPC_RecordMemRef,
14235 OPC_RecordNode,
14236 OPC_CheckFoldableChainNode,
14237 OPC_RecordChild1,
14238 OPC_CheckChild1TypeI64,
14239 OPC_CheckPredicate0,
14240 OPC_CheckPredicate3,
14241 OPC_CheckPredicate1,
14242 OPC_MoveParent,
14243 OPC_RecordChild2,
14244 OPC_CheckChild2TypeI32,
14245 OPC_SwitchType , 16, MVT::i32,
14246 OPC_CheckComplexPat2, /*#*/2,
14247 OPC_EmitMergeInputChains1_1,
14248 OPC_EmitCopyToReg3, SystemZ::CC,
14249 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
14250 MVT::i32, MVT::i32, 4, 0, 4, 5, 6,
14251 16, MVT::i64,
14252 OPC_CheckComplexPat2, /*#*/2,
14253 OPC_EmitMergeInputChains1_1,
14254 OPC_EmitCopyToReg3, SystemZ::CC,
14255 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLBG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
14256 MVT::i64, MVT::i32, 4, 0, 4, 5, 6,
14257 0,
14258 47, TARGET_VAL(ISD::ATOMIC_LOAD),
14259 OPC_RecordMemRef,
14260 OPC_RecordNode,
14261 OPC_CheckFoldableChainNode,
14262 OPC_RecordChild1,
14263 OPC_CheckChild1TypeI64,
14264 OPC_CheckPredicate1,
14265 OPC_MoveParent,
14266 OPC_RecordChild2,
14267 OPC_CheckChild2TypeI32,
14268 OPC_SwitchType , 16, MVT::i32,
14269 OPC_CheckComplexPat2, /*#*/2,
14270 OPC_EmitMergeInputChains1_1,
14271 OPC_EmitCopyToReg3, SystemZ::CC,
14272 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
14273 MVT::i32, MVT::i32, 4, 0, 4, 5, 6,
14274 16, MVT::i64,
14275 OPC_CheckComplexPat2, /*#*/2,
14276 OPC_EmitMergeInputChains1_1,
14277 OPC_EmitCopyToReg3, SystemZ::CC,
14278 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SLBG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
14279 MVT::i64, MVT::i32, 4, 0, 4, 5, 6,
14280 0,
14281 0,
14282 29,
14283 OPC_RecordChild1,
14284 OPC_RecordChild2,
14285 OPC_CheckChild2TypeI32,
14286 OPC_SwitchType , 10, MVT::i32,
14287 OPC_EmitCopyToReg2, SystemZ::CC,
14288 OPC_MorphNodeTo2GlueInput, TARGET_VAL(SystemZ::SLBR),
14289 MVT::i32, MVT::i32, 2, 0, 1,
14290 10, MVT::i64,
14291 OPC_EmitCopyToReg2, SystemZ::CC,
14292 OPC_MorphNodeTo2GlueInput, TARGET_VAL(SystemZ::SLBGR),
14293 MVT::i64, MVT::i32, 2, 0, 1,
14294 0,
14295 0,
14296 112|128,8, TARGET_VAL(ISD::XOR),
14297 OPC_Scope, 2|128,1,
14298 OPC_RecordChild0,
14299 OPC_MoveChild1,
14300 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
14301 OPC_RecordMemRef,
14302 OPC_RecordNode,
14303 OPC_CheckFoldableChainNode,
14304 OPC_RecordChild1,
14305 OPC_CheckChild1TypeI64,
14306 OPC_CheckPredicate0,
14307 OPC_CheckPredicate3,
14308 OPC_CheckPredicate1,
14309 OPC_MoveParent,
14310 OPC_SwitchType , 32, MVT::i32,
14311 OPC_Scope, 14,
14312 OPC_CheckComplexPat3, /*#*/2,
14313 OPC_EmitMergeInputChains1_1,
14314 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::X), 0|OPFL_Chain|OPFL_MemRefs,
14315 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
14316 14,
14317 OPC_CheckComplexPat4, /*#*/2,
14318 OPC_EmitMergeInputChains1_1,
14319 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XY), 0|OPFL_Chain|OPFL_MemRefs,
14320 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
14321 0,
14322 14, MVT::i64,
14323 OPC_CheckComplexPat2, /*#*/2,
14324 OPC_EmitMergeInputChains1_1,
14325 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XG), 0|OPFL_Chain|OPFL_MemRefs,
14326 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
14327 0,
14328 59, TARGET_VAL(ISD::ATOMIC_LOAD),
14329 OPC_RecordMemRef,
14330 OPC_RecordNode,
14331 OPC_CheckFoldableChainNode,
14332 OPC_RecordChild1,
14333 OPC_CheckChild1TypeI64,
14334 OPC_CheckPredicate1,
14335 OPC_MoveParent,
14336 OPC_SwitchType , 32, MVT::i32,
14337 OPC_Scope, 14,
14338 OPC_CheckComplexPat3, /*#*/2,
14339 OPC_EmitMergeInputChains1_1,
14340 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::X), 0|OPFL_Chain|OPFL_MemRefs,
14341 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
14342 14,
14343 OPC_CheckComplexPat4, /*#*/2,
14344 OPC_EmitMergeInputChains1_1,
14345 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XY), 0|OPFL_Chain|OPFL_MemRefs,
14346 MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
14347 0,
14348 14, MVT::i64,
14349 OPC_CheckComplexPat2, /*#*/2,
14350 OPC_EmitMergeInputChains1_1,
14351 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XG), 0|OPFL_Chain|OPFL_MemRefs,
14352 MVT::i64, MVT::i32, 4, 0, 3, 4, 5,
14353 0,
14354 0,
14355 43|128,2,
14356 OPC_MoveChild0,
14357 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::LOAD),
14358 OPC_RecordMemRef,
14359 OPC_RecordNode,
14360 OPC_CheckFoldableChainNode,
14361 OPC_RecordChild1,
14362 OPC_CheckChild1TypeI64,
14363 OPC_CheckPredicate0,
14364 OPC_CheckPredicate3,
14365 OPC_CheckPredicate1,
14366 OPC_MoveParent,
14367 OPC_RecordChild1,
14368 OPC_SwitchType , 32, MVT::i32,
14369 OPC_Scope, 14,
14370 OPC_CheckComplexPat3, /*#*/1,
14371 OPC_EmitMergeInputChains1_0,
14372 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::X), 0|OPFL_Chain|OPFL_MemRefs,
14373 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
14374 14,
14375 OPC_CheckComplexPat4, /*#*/1,
14376 OPC_EmitMergeInputChains1_0,
14377 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XY), 0|OPFL_Chain|OPFL_MemRefs,
14378 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
14379 0,
14380 14, MVT::i64,
14381 OPC_CheckComplexPat2, /*#*/1,
14382 OPC_EmitMergeInputChains1_0,
14383 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XG), 0|OPFL_Chain|OPFL_MemRefs,
14384 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
14385 0,
14386 60, TARGET_VAL(ISD::ATOMIC_LOAD),
14387 OPC_RecordMemRef,
14388 OPC_RecordNode,
14389 OPC_CheckFoldableChainNode,
14390 OPC_RecordChild1,
14391 OPC_CheckChild1TypeI64,
14392 OPC_CheckPredicate1,
14393 OPC_MoveParent,
14394 OPC_RecordChild1,
14395 OPC_SwitchType , 32, MVT::i32,
14396 OPC_Scope, 14,
14397 OPC_CheckComplexPat3, /*#*/1,
14398 OPC_EmitMergeInputChains1_0,
14399 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::X), 0|OPFL_Chain|OPFL_MemRefs,
14400 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
14401 14,
14402 OPC_CheckComplexPat4, /*#*/1,
14403 OPC_EmitMergeInputChains1_0,
14404 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XY), 0|OPFL_Chain|OPFL_MemRefs,
14405 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
14406 0,
14407 14, MVT::i64,
14408 OPC_CheckComplexPat2, /*#*/1,
14409 OPC_EmitMergeInputChains1_0,
14410 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::XG), 0|OPFL_Chain|OPFL_MemRefs,
14411 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
14412 0,
14413 39, TARGET_VAL(ISD::AND),
14414 OPC_RecordChild0,
14415 OPC_RecordChild1,
14416 OPC_MoveParent,
14417 OPC_CheckChild1Integer, 3,
14418 OPC_SwitchType , 9, MVT::i32,
14419 OPC_CheckPatternPredicate7,
14420 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NNRK),
14421 MVT::i32, MVT::i32, 2, 0, 1,
14422 9, MVT::i64,
14423 OPC_CheckPatternPredicate7,
14424 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NNGRK),
14425 MVT::i64, MVT::i32, 2, 0, 1,
14426 8, MVT::i128,
14427 OPC_CheckPatternPredicate1,
14428 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
14429 MVT::i128, 2, 0, 1,
14430 0,
14431 63, TARGET_VAL(ISD::OR),
14432 OPC_RecordChild0,
14433 OPC_RecordChild1,
14434 OPC_MoveParent,
14435 OPC_CheckChild1Integer, 3,
14436 OPC_SwitchType , 21, MVT::i32,
14437 OPC_CheckPatternPredicate7,
14438 OPC_Scope, 8,
14439 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NORK),
14440 MVT::i32, MVT::i32, 2, 0, 1,
14441 8,
14442 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NOTR),
14443 MVT::i32, MVT::i32, 2, 0, 1,
14444 0,
14445 21, MVT::i64,
14446 OPC_CheckPatternPredicate7,
14447 OPC_Scope, 8,
14448 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NOGRK),
14449 MVT::i64, MVT::i32, 2, 0, 1,
14450 8,
14451 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NOTGR),
14452 MVT::i64, MVT::i32, 2, 0, 1,
14453 0,
14454 8, MVT::i128,
14455 OPC_CheckPatternPredicate0,
14456 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14457 MVT::i128, 2, 0, 1,
14458 0,
14459 57, TARGET_VAL(ISD::XOR),
14460 OPC_RecordChild0,
14461 OPC_Scope, 38,
14462 OPC_RecordChild1,
14463 OPC_MoveParent,
14464 OPC_CheckChild1Integer, 3,
14465 OPC_SwitchType , 9, MVT::i32,
14466 OPC_CheckPatternPredicate7,
14467 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXRK),
14468 MVT::i32, MVT::i32, 2, 0, 1,
14469 9, MVT::i64,
14470 OPC_CheckPatternPredicate7,
14471 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXGRK),
14472 MVT::i64, MVT::i32, 2, 0, 1,
14473 8, MVT::i128,
14474 OPC_CheckPatternPredicate1,
14475 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14476 MVT::i128, 2, 0, 1,
14477 0,
14478 14,
14479 OPC_CheckChild1Integer, 3,
14480 OPC_MoveParent,
14481 OPC_RecordChild1,
14482 OPC_CheckTypeI32,
14483 OPC_CheckPatternPredicate7,
14484 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXRK),
14485 MVT::i32, MVT::i32, 2, 0, 1,
14486 0,
14487 0,
14488 19,
14489 OPC_RecordChild0,
14490 OPC_MoveChild1,
14491 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14492 OPC_RecordChild0,
14493 OPC_CheckChild1Integer, 3,
14494 OPC_MoveParent,
14495 OPC_CheckTypeI32,
14496 OPC_CheckPatternPredicate7,
14497 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXRK),
14498 MVT::i32, MVT::i32, 2, 1, 0,
14499 19,
14500 OPC_MoveChild0,
14501 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14502 OPC_RecordChild0,
14503 OPC_CheckChild1Integer, 3,
14504 OPC_MoveParent,
14505 OPC_RecordChild1,
14506 OPC_CheckTypeI64,
14507 OPC_CheckPatternPredicate7,
14508 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXGRK),
14509 MVT::i64, MVT::i32, 2, 0, 1,
14510 19,
14511 OPC_RecordChild0,
14512 OPC_MoveChild1,
14513 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14514 OPC_RecordChild0,
14515 OPC_CheckChild1Integer, 3,
14516 OPC_MoveParent,
14517 OPC_CheckTypeI64,
14518 OPC_CheckPatternPredicate7,
14519 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::NXGRK),
14520 MVT::i64, MVT::i32, 2, 1, 0,
14521 19,
14522 OPC_MoveChild0,
14523 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14524 OPC_RecordChild0,
14525 OPC_CheckChild1Integer, 3,
14526 OPC_MoveParent,
14527 OPC_RecordChild1,
14528 OPC_CheckType, MVT::i128,
14529 OPC_CheckPatternPredicate1,
14530 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14531 MVT::i128, 2, 0, 1,
14532 75|128,1,
14533 OPC_RecordChild0,
14534 OPC_Scope, 18,
14535 OPC_MoveChild1,
14536 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14537 OPC_RecordChild0,
14538 OPC_CheckChild1Integer, 3,
14539 OPC_MoveParent,
14540 OPC_CheckType, MVT::i128,
14541 OPC_CheckPatternPredicate1,
14542 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14543 MVT::i128, 2, 1, 0,
14544 33,
14545 OPC_CheckChild1Integer, 3,
14546 OPC_SwitchType , 8, MVT::i128,
14547 OPC_CheckPatternPredicate0,
14548 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14549 MVT::i128, 2, 0, 0,
14550 17, MVT::i64,
14551 OPC_EmitNode2None, TARGET_VAL(SystemZ::LCGR),
14552 MVT::i64, MVT::i32, 1, 0,
14553 OPC_EmitInteger64, 3,
14554 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AGHI),
14555 MVT::i64, MVT::i32, 2, 1, 3,
14556 0,
14557 17|128,1,
14558 OPC_RecordChild1,
14559 OPC_Scope, 84,
14560 OPC_MoveChild1,
14561 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14562 OPC_Scope, 16,
14563 OPC_CheckPredicate, 64,
14564 OPC_MoveParent,
14565 OPC_CheckTypeI64,
14566 OPC_EmitConvertToTarget1,
14567 OPC_EmitNodeXForm, 7, 2,
14568 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XILF64),
14569 MVT::i64, MVT::i32, 2, 0, 3,
14570 16,
14571 OPC_CheckPredicate, 55,
14572 OPC_MoveParent,
14573 OPC_CheckTypeI64,
14574 OPC_EmitConvertToTarget1,
14575 OPC_EmitNodeXForm, 8, 2,
14576 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XIHF64),
14577 MVT::i64, MVT::i32, 2, 0, 3,
14578 43,
14579 OPC_MoveParent,
14580 OPC_CheckTypeI32,
14581 OPC_Scope, 13,
14582 OPC_CheckPatternPredicate2,
14583 OPC_EmitConvertToTarget1,
14584 OPC_EmitNodeXForm, 9, 2,
14585 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XIFMux),
14586 MVT::i32, MVT::i32, 2, 0, 3,
14587 24,
14588 OPC_EmitConvertToTarget1,
14589 OPC_EmitNodeXForm, 9, 2,
14590 OPC_Scope, 8,
14591 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XILF),
14592 MVT::i32, MVT::i32, 2, 0, 3,
14593 8,
14594 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XIHF),
14595 MVT::i32, MVT::i32, 2, 0, 3,
14596 0,
14597 0,
14598 0,
14599 22,
14600 OPC_CheckTypeI32,
14601 OPC_Scope, 9,
14602 OPC_CheckPatternPredicate6,
14603 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XRK),
14604 MVT::i32, MVT::i32, 2, 0, 1,
14605 8,
14606 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XR),
14607 MVT::i32, MVT::i32, 2, 0, 1,
14608 0,
14609 22,
14610 OPC_CheckTypeI64,
14611 OPC_Scope, 9,
14612 OPC_CheckPatternPredicate6,
14613 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XGRK),
14614 MVT::i64, MVT::i32, 2, 0, 1,
14615 8,
14616 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::XGR),
14617 MVT::i64, MVT::i32, 2, 0, 1,
14618 0,
14619 10,
14620 OPC_CheckType, MVT::i128,
14621 OPC_CheckPatternPredicate0,
14622 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
14623 MVT::i128, 2, 0, 1,
14624 0,
14625 0,
14626 44|128,1,
14627 OPC_MoveChild0,
14628 OPC_SwitchOpcode , 47, TARGET_VAL(ISD::OR),
14629 OPC_RecordChild0,
14630 OPC_RecordChild1,
14631 OPC_MoveSibling1,
14632 OPC_CheckImmAllOnesV,
14633 OPC_MoveParent,
14634 OPC_SwitchType , 8, MVT::v16i8,
14635 OPC_CheckPatternPredicate0,
14636 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14637 MVT::v16i8, 2, 0, 1,
14638 8, MVT::v8i16,
14639 OPC_CheckPatternPredicate0,
14640 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14641 MVT::v8i16, 2, 0, 1,
14642 8, MVT::v4i32,
14643 OPC_CheckPatternPredicate0,
14644 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14645 MVT::v4i32, 2, 0, 1,
14646 8, MVT::v2i64,
14647 OPC_CheckPatternPredicate0,
14648 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14649 MVT::v2i64, 2, 0, 1,
14650 0,
14651 66, TARGET_VAL(ISD::XOR),
14652 OPC_RecordChild0,
14653 OPC_Scope, 46,
14654 OPC_RecordChild1,
14655 OPC_MoveSibling1,
14656 OPC_CheckImmAllOnesV,
14657 OPC_MoveParent,
14658 OPC_SwitchType , 8, MVT::v16i8,
14659 OPC_CheckPatternPredicate1,
14660 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14661 MVT::v16i8, 2, 0, 1,
14662 8, MVT::v8i16,
14663 OPC_CheckPatternPredicate1,
14664 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14665 MVT::v8i16, 2, 0, 1,
14666 8, MVT::v4i32,
14667 OPC_CheckPatternPredicate1,
14668 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14669 MVT::v4i32, 2, 0, 1,
14670 8, MVT::v2i64,
14671 OPC_CheckPatternPredicate1,
14672 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14673 MVT::v2i64, 2, 0, 1,
14674 0,
14675 15,
14676 OPC_MoveChild1,
14677 OPC_CheckImmAllOnesV,
14678 OPC_MoveParent,
14679 OPC_MoveParent,
14680 OPC_RecordChild1,
14681 OPC_CheckType, MVT::v16i8,
14682 OPC_CheckPatternPredicate1,
14683 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14684 MVT::v16i8, 2, 0, 1,
14685 0,
14686 47, TARGET_VAL(ISD::AND),
14687 OPC_RecordChild0,
14688 OPC_RecordChild1,
14689 OPC_MoveSibling1,
14690 OPC_CheckImmAllOnesV,
14691 OPC_MoveParent,
14692 OPC_SwitchType , 8, MVT::v16i8,
14693 OPC_CheckPatternPredicate1,
14694 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
14695 MVT::v16i8, 2, 0, 1,
14696 8, MVT::v8i16,
14697 OPC_CheckPatternPredicate1,
14698 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
14699 MVT::v8i16, 2, 0, 1,
14700 8, MVT::v4i32,
14701 OPC_CheckPatternPredicate1,
14702 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
14703 MVT::v4i32, 2, 0, 1,
14704 8, MVT::v2i64,
14705 OPC_CheckPatternPredicate1,
14706 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNN),
14707 MVT::v2i64, 2, 0, 1,
14708 0,
14709 0,
14710 20,
14711 OPC_RecordChild0,
14712 OPC_MoveChild1,
14713 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14714 OPC_RecordChild0,
14715 OPC_MoveChild1,
14716 OPC_CheckImmAllOnesV,
14717 OPC_MoveParent,
14718 OPC_MoveParent,
14719 OPC_CheckType, MVT::v16i8,
14720 OPC_CheckPatternPredicate1,
14721 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14722 MVT::v16i8, 2, 1, 0,
14723 20,
14724 OPC_MoveChild0,
14725 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14726 OPC_RecordChild0,
14727 OPC_MoveChild1,
14728 OPC_CheckImmAllOnesV,
14729 OPC_MoveParent,
14730 OPC_MoveParent,
14731 OPC_RecordChild1,
14732 OPC_CheckType, MVT::v8i16,
14733 OPC_CheckPatternPredicate1,
14734 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14735 MVT::v8i16, 2, 0, 1,
14736 20,
14737 OPC_RecordChild0,
14738 OPC_MoveChild1,
14739 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14740 OPC_RecordChild0,
14741 OPC_MoveChild1,
14742 OPC_CheckImmAllOnesV,
14743 OPC_MoveParent,
14744 OPC_MoveParent,
14745 OPC_CheckType, MVT::v8i16,
14746 OPC_CheckPatternPredicate1,
14747 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14748 MVT::v8i16, 2, 1, 0,
14749 20,
14750 OPC_MoveChild0,
14751 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14752 OPC_RecordChild0,
14753 OPC_MoveChild1,
14754 OPC_CheckImmAllOnesV,
14755 OPC_MoveParent,
14756 OPC_MoveParent,
14757 OPC_RecordChild1,
14758 OPC_CheckType, MVT::v4i32,
14759 OPC_CheckPatternPredicate1,
14760 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14761 MVT::v4i32, 2, 0, 1,
14762 20,
14763 OPC_RecordChild0,
14764 OPC_MoveChild1,
14765 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14766 OPC_RecordChild0,
14767 OPC_MoveChild1,
14768 OPC_CheckImmAllOnesV,
14769 OPC_MoveParent,
14770 OPC_MoveParent,
14771 OPC_CheckType, MVT::v4i32,
14772 OPC_CheckPatternPredicate1,
14773 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14774 MVT::v4i32, 2, 1, 0,
14775 20,
14776 OPC_MoveChild0,
14777 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14778 OPC_RecordChild0,
14779 OPC_MoveChild1,
14780 OPC_CheckImmAllOnesV,
14781 OPC_MoveParent,
14782 OPC_MoveParent,
14783 OPC_RecordChild1,
14784 OPC_CheckType, MVT::v2i64,
14785 OPC_CheckPatternPredicate1,
14786 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14787 MVT::v2i64, 2, 0, 1,
14788 115,
14789 OPC_RecordChild0,
14790 OPC_Scope, 67,
14791 OPC_MoveChild1,
14792 OPC_Scope, 18,
14793 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14794 OPC_RecordChild0,
14795 OPC_MoveChild1,
14796 OPC_CheckImmAllOnesV,
14797 OPC_MoveParent,
14798 OPC_MoveParent,
14799 OPC_CheckType, MVT::v2i64,
14800 OPC_CheckPatternPredicate1,
14801 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNX),
14802 MVT::v2i64, 2, 1, 0,
14803 44,
14804 OPC_CheckImmAllOnesV,
14805 OPC_MoveParent,
14806 OPC_SwitchType , 8, MVT::v16i8,
14807 OPC_CheckPatternPredicate0,
14808 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14809 MVT::v16i8, 2, 0, 0,
14810 8, MVT::v8i16,
14811 OPC_CheckPatternPredicate0,
14812 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14813 MVT::v8i16, 2, 0, 0,
14814 8, MVT::v4i32,
14815 OPC_CheckPatternPredicate0,
14816 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14817 MVT::v4i32, 2, 0, 0,
14818 8, MVT::v2i64,
14819 OPC_CheckPatternPredicate0,
14820 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VNO),
14821 MVT::v2i64, 2, 0, 0,
14822 0,
14823 0,
14824 43,
14825 OPC_RecordChild1,
14826 OPC_SwitchType , 8, MVT::v16i8,
14827 OPC_CheckPatternPredicate0,
14828 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
14829 MVT::v16i8, 2, 0, 1,
14830 8, MVT::v8i16,
14831 OPC_CheckPatternPredicate0,
14832 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
14833 MVT::v8i16, 2, 0, 1,
14834 8, MVT::v4i32,
14835 OPC_CheckPatternPredicate0,
14836 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
14837 MVT::v4i32, 2, 0, 1,
14838 8, MVT::v2i64,
14839 OPC_CheckPatternPredicate0,
14840 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VX),
14841 MVT::v2i64, 2, 0, 1,
14842 0,
14843 0,
14844 0,
14845 70|128,6, TARGET_VAL(ISD::MUL),
14846 OPC_Scope, 31|128,2,
14847 OPC_RecordChild0,
14848 OPC_MoveChild1,
14849 OPC_SwitchOpcode , 11|128,1, TARGET_VAL(ISD::LOAD),
14850 OPC_RecordMemRef,
14851 OPC_RecordNode,
14852 OPC_CheckFoldableChainNode,
14853 OPC_RecordChild1,
14854 OPC_CheckChild1TypeI64,
14855 OPC_CheckPredicate0,
14856 OPC_Scope, 35,
14857 OPC_CheckPredicate, 12,
14858 OPC_CheckPredicate6,
14859 OPC_MoveParent,
14860 OPC_CheckTypeI32,
14861 OPC_Scope, 13,
14862 OPC_CheckComplexPat3, /*#*/2,
14863 OPC_EmitMergeInputChains1_1,
14864 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MH), 0|OPFL_Chain|OPFL_MemRefs,
14865 MVT::i32, 4, 0, 3, 4, 5,
14866 13,
14867 OPC_CheckComplexPat4, /*#*/2,
14868 OPC_EmitMergeInputChains1_1,
14869 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MHY), 0|OPFL_Chain|OPFL_MemRefs,
14870 MVT::i32, 4, 0, 3, 4, 5,
14871 0,
14872 34,
14873 OPC_CheckPredicate3,
14874 OPC_CheckPredicate1,
14875 OPC_MoveParent,
14876 OPC_CheckTypeI32,
14877 OPC_Scope, 13,
14878 OPC_CheckComplexPat3, /*#*/2,
14879 OPC_EmitMergeInputChains1_1,
14880 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MS), 0|OPFL_Chain|OPFL_MemRefs,
14881 MVT::i32, 4, 0, 3, 4, 5,
14882 13,
14883 OPC_CheckComplexPat4, /*#*/2,
14884 OPC_EmitMergeInputChains1_1,
14885 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSY), 0|OPFL_Chain|OPFL_MemRefs,
14886 MVT::i32, 4, 0, 3, 4, 5,
14887 0,
14888 41,
14889 OPC_CheckPredicate, 12,
14890 OPC_Scope, 18,
14891 OPC_CheckPredicate6,
14892 OPC_MoveParent,
14893 OPC_CheckTypeI64,
14894 OPC_CheckPatternPredicate, 8,
14895 OPC_CheckComplexPat2, /*#*/2,
14896 OPC_EmitMergeInputChains1_1,
14897 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MGH), 0|OPFL_Chain|OPFL_MemRefs,
14898 MVT::i64, 4, 0, 3, 4, 5,
14899 17,
14900 OPC_CheckPredicate, 9,
14901 OPC_MoveParent,
14902 OPC_CheckTypeI64,
14903 OPC_CheckComplexPat2, /*#*/2,
14904 OPC_EmitMergeInputChains1_1,
14905 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSGF), 0|OPFL_Chain|OPFL_MemRefs,
14906 MVT::i64, 4, 0, 3, 4, 5,
14907 0,
14908 17,
14909 OPC_CheckPredicate3,
14910 OPC_CheckPredicate1,
14911 OPC_MoveParent,
14912 OPC_CheckTypeI64,
14913 OPC_CheckComplexPat2, /*#*/2,
14914 OPC_EmitMergeInputChains1_1,
14915 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSG), 0|OPFL_Chain|OPFL_MemRefs,
14916 MVT::i64, 4, 0, 3, 4, 5,
14917 0,
14918 8|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
14919 OPC_RecordMemRef,
14920 OPC_RecordNode,
14921 OPC_CheckFoldableChainNode,
14922 OPC_RecordChild1,
14923 OPC_CheckChild1TypeI64,
14924 OPC_Scope, 35,
14925 OPC_CheckPredicate, 12,
14926 OPC_CheckPredicate6,
14927 OPC_MoveParent,
14928 OPC_CheckTypeI32,
14929 OPC_Scope, 13,
14930 OPC_CheckComplexPat3, /*#*/2,
14931 OPC_EmitMergeInputChains1_1,
14932 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MH), 0|OPFL_Chain|OPFL_MemRefs,
14933 MVT::i32, 4, 0, 3, 4, 5,
14934 13,
14935 OPC_CheckComplexPat4, /*#*/2,
14936 OPC_EmitMergeInputChains1_1,
14937 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MHY), 0|OPFL_Chain|OPFL_MemRefs,
14938 MVT::i32, 4, 0, 3, 4, 5,
14939 0,
14940 33,
14941 OPC_CheckPredicate1,
14942 OPC_MoveParent,
14943 OPC_CheckTypeI32,
14944 OPC_Scope, 13,
14945 OPC_CheckComplexPat3, /*#*/2,
14946 OPC_EmitMergeInputChains1_1,
14947 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MS), 0|OPFL_Chain|OPFL_MemRefs,
14948 MVT::i32, 4, 0, 3, 4, 5,
14949 13,
14950 OPC_CheckComplexPat4, /*#*/2,
14951 OPC_EmitMergeInputChains1_1,
14952 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSY), 0|OPFL_Chain|OPFL_MemRefs,
14953 MVT::i32, 4, 0, 3, 4, 5,
14954 0,
14955 41,
14956 OPC_CheckPredicate, 12,
14957 OPC_Scope, 18,
14958 OPC_CheckPredicate6,
14959 OPC_MoveParent,
14960 OPC_CheckTypeI64,
14961 OPC_CheckPatternPredicate, 8,
14962 OPC_CheckComplexPat2, /*#*/2,
14963 OPC_EmitMergeInputChains1_1,
14964 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MGH), 0|OPFL_Chain|OPFL_MemRefs,
14965 MVT::i64, 4, 0, 3, 4, 5,
14966 17,
14967 OPC_CheckPredicate, 9,
14968 OPC_MoveParent,
14969 OPC_CheckTypeI64,
14970 OPC_CheckComplexPat2, /*#*/2,
14971 OPC_EmitMergeInputChains1_1,
14972 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSGF), 0|OPFL_Chain|OPFL_MemRefs,
14973 MVT::i64, 4, 0, 3, 4, 5,
14974 0,
14975 16,
14976 OPC_CheckPredicate1,
14977 OPC_MoveParent,
14978 OPC_CheckTypeI64,
14979 OPC_CheckComplexPat2, /*#*/2,
14980 OPC_EmitMergeInputChains1_1,
14981 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSG), 0|OPFL_Chain|OPFL_MemRefs,
14982 MVT::i64, 4, 0, 3, 4, 5,
14983 0,
14984 0,
14985 40|128,2,
14986 OPC_MoveChild0,
14987 OPC_SwitchOpcode , 16|128,1, TARGET_VAL(ISD::LOAD),
14988 OPC_RecordMemRef,
14989 OPC_RecordNode,
14990 OPC_CheckFoldableChainNode,
14991 OPC_RecordChild1,
14992 OPC_CheckChild1TypeI64,
14993 OPC_CheckPredicate0,
14994 OPC_Scope, 36,
14995 OPC_CheckPredicate, 12,
14996 OPC_CheckPredicate6,
14997 OPC_MoveParent,
14998 OPC_RecordChild1,
14999 OPC_CheckTypeI32,
15000 OPC_Scope, 13,
15001 OPC_CheckComplexPat3, /*#*/1,
15002 OPC_EmitMergeInputChains1_0,
15003 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MH), 0|OPFL_Chain|OPFL_MemRefs,
15004 MVT::i32, 4, 2, 3, 4, 5,
15005 13,
15006 OPC_CheckComplexPat4, /*#*/1,
15007 OPC_EmitMergeInputChains1_0,
15008 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MHY), 0|OPFL_Chain|OPFL_MemRefs,
15009 MVT::i32, 4, 2, 3, 4, 5,
15010 0,
15011 35,
15012 OPC_CheckPredicate3,
15013 OPC_CheckPredicate1,
15014 OPC_MoveParent,
15015 OPC_RecordChild1,
15016 OPC_CheckTypeI32,
15017 OPC_Scope, 13,
15018 OPC_CheckComplexPat3, /*#*/1,
15019 OPC_EmitMergeInputChains1_0,
15020 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MS), 0|OPFL_Chain|OPFL_MemRefs,
15021 MVT::i32, 4, 2, 3, 4, 5,
15022 13,
15023 OPC_CheckComplexPat4, /*#*/1,
15024 OPC_EmitMergeInputChains1_0,
15025 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSY), 0|OPFL_Chain|OPFL_MemRefs,
15026 MVT::i32, 4, 2, 3, 4, 5,
15027 0,
15028 43,
15029 OPC_CheckPredicate, 12,
15030 OPC_Scope, 19,
15031 OPC_CheckPredicate6,
15032 OPC_MoveParent,
15033 OPC_RecordChild1,
15034 OPC_CheckTypeI64,
15035 OPC_CheckPatternPredicate, 8,
15036 OPC_CheckComplexPat2, /*#*/1,
15037 OPC_EmitMergeInputChains1_0,
15038 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MGH), 0|OPFL_Chain|OPFL_MemRefs,
15039 MVT::i64, 4, 2, 3, 4, 5,
15040 18,
15041 OPC_CheckPredicate, 9,
15042 OPC_MoveParent,
15043 OPC_RecordChild1,
15044 OPC_CheckTypeI64,
15045 OPC_CheckComplexPat2, /*#*/1,
15046 OPC_EmitMergeInputChains1_0,
15047 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSGF), 0|OPFL_Chain|OPFL_MemRefs,
15048 MVT::i64, 4, 2, 3, 4, 5,
15049 0,
15050 18,
15051 OPC_CheckPredicate3,
15052 OPC_CheckPredicate1,
15053 OPC_MoveParent,
15054 OPC_RecordChild1,
15055 OPC_CheckTypeI64,
15056 OPC_CheckComplexPat2, /*#*/1,
15057 OPC_EmitMergeInputChains1_0,
15058 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSG), 0|OPFL_Chain|OPFL_MemRefs,
15059 MVT::i64, 4, 2, 3, 4, 5,
15060 0,
15061 13|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
15062 OPC_RecordMemRef,
15063 OPC_RecordNode,
15064 OPC_CheckFoldableChainNode,
15065 OPC_RecordChild1,
15066 OPC_CheckChild1TypeI64,
15067 OPC_Scope, 36,
15068 OPC_CheckPredicate, 12,
15069 OPC_CheckPredicate6,
15070 OPC_MoveParent,
15071 OPC_RecordChild1,
15072 OPC_CheckTypeI32,
15073 OPC_Scope, 13,
15074 OPC_CheckComplexPat3, /*#*/1,
15075 OPC_EmitMergeInputChains1_0,
15076 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MH), 0|OPFL_Chain|OPFL_MemRefs,
15077 MVT::i32, 4, 2, 3, 4, 5,
15078 13,
15079 OPC_CheckComplexPat4, /*#*/1,
15080 OPC_EmitMergeInputChains1_0,
15081 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MHY), 0|OPFL_Chain|OPFL_MemRefs,
15082 MVT::i32, 4, 2, 3, 4, 5,
15083 0,
15084 34,
15085 OPC_CheckPredicate1,
15086 OPC_MoveParent,
15087 OPC_RecordChild1,
15088 OPC_CheckTypeI32,
15089 OPC_Scope, 13,
15090 OPC_CheckComplexPat3, /*#*/1,
15091 OPC_EmitMergeInputChains1_0,
15092 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MS), 0|OPFL_Chain|OPFL_MemRefs,
15093 MVT::i32, 4, 2, 3, 4, 5,
15094 13,
15095 OPC_CheckComplexPat4, /*#*/1,
15096 OPC_EmitMergeInputChains1_0,
15097 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSY), 0|OPFL_Chain|OPFL_MemRefs,
15098 MVT::i32, 4, 2, 3, 4, 5,
15099 0,
15100 43,
15101 OPC_CheckPredicate, 12,
15102 OPC_Scope, 19,
15103 OPC_CheckPredicate6,
15104 OPC_MoveParent,
15105 OPC_RecordChild1,
15106 OPC_CheckTypeI64,
15107 OPC_CheckPatternPredicate, 8,
15108 OPC_CheckComplexPat2, /*#*/1,
15109 OPC_EmitMergeInputChains1_0,
15110 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MGH), 0|OPFL_Chain|OPFL_MemRefs,
15111 MVT::i64, 4, 2, 3, 4, 5,
15112 18,
15113 OPC_CheckPredicate, 9,
15114 OPC_MoveParent,
15115 OPC_RecordChild1,
15116 OPC_CheckTypeI64,
15117 OPC_CheckComplexPat2, /*#*/1,
15118 OPC_EmitMergeInputChains1_0,
15119 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSGF), 0|OPFL_Chain|OPFL_MemRefs,
15120 MVT::i64, 4, 2, 3, 4, 5,
15121 0,
15122 17,
15123 OPC_CheckPredicate1,
15124 OPC_MoveParent,
15125 OPC_RecordChild1,
15126 OPC_CheckTypeI64,
15127 OPC_CheckComplexPat2, /*#*/1,
15128 OPC_EmitMergeInputChains1_0,
15129 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSG), 0|OPFL_Chain|OPFL_MemRefs,
15130 MVT::i64, 4, 2, 3, 4, 5,
15131 0,
15132 0,
15133 93,
15134 OPC_RecordChild0,
15135 OPC_Scope, 55,
15136 OPC_RecordChild1,
15137 OPC_MoveChild1,
15138 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15139 OPC_Scope, 15,
15140 OPC_CheckPredicate, 20,
15141 OPC_MoveParent,
15142 OPC_CheckTypeI32,
15143 OPC_EmitConvertToTarget1,
15144 OPC_EmitNodeXForm, 2, 2,
15145 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MHI),
15146 MVT::i32, 2, 0, 3,
15147 15,
15148 OPC_CheckPredicate, 20,
15149 OPC_MoveParent,
15150 OPC_CheckTypeI64,
15151 OPC_EmitConvertToTarget1,
15152 OPC_EmitNodeXForm, 2, 2,
15153 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MGHI),
15154 MVT::i64, 2, 0, 3,
15155 15,
15156 OPC_CheckPredicate, 57,
15157 OPC_MoveParent,
15158 OPC_CheckTypeI64,
15159 OPC_EmitConvertToTarget1,
15160 OPC_EmitNodeXForm, 11, 2,
15161 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFI),
15162 MVT::i64, 2, 0, 3,
15163 0,
15164 14,
15165 OPC_MoveChild1,
15166 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
15167 OPC_RecordChild0,
15168 OPC_MoveParent,
15169 OPC_CheckTypeI64,
15170 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFR),
15171 MVT::i64, 2, 0, 1,
15172 18,
15173 OPC_RecordChild1,
15174 OPC_MoveChild1,
15175 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15176 OPC_MoveParent,
15177 OPC_CheckTypeI32,
15178 OPC_EmitConvertToTarget1,
15179 OPC_EmitNodeXForm, 11, 2,
15180 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSFI),
15181 MVT::i32, 2, 0, 3,
15182 0,
15183 15,
15184 OPC_MoveChild0,
15185 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
15186 OPC_RecordChild0,
15187 OPC_MoveParent,
15188 OPC_RecordChild1,
15189 OPC_CheckTypeI64,
15190 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFR),
15191 MVT::i64, 2, 1, 0,
15192 28,
15193 OPC_RecordChild0,
15194 OPC_MoveChild1,
15195 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
15196 OPC_RecordChild0,
15197 OPC_MoveChild1,
15198 OPC_CheckValueType, MVT::i32,
15199 OPC_MoveParent,
15200 OPC_MoveParent,
15201 OPC_CheckTypeI64,
15202 OPC_EmitStringInteger32, SystemZ::subreg_l32,
15203 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15204 MVT::i32, 2, 1, 2,
15205 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFR),
15206 MVT::i64, 2, 0, 3,
15207 28,
15208 OPC_MoveChild0,
15209 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
15210 OPC_RecordChild0,
15211 OPC_MoveChild1,
15212 OPC_CheckValueType, MVT::i32,
15213 OPC_MoveParent,
15214 OPC_MoveParent,
15215 OPC_RecordChild1,
15216 OPC_CheckTypeI64,
15217 OPC_EmitStringInteger32, SystemZ::subreg_l32,
15218 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15219 MVT::i32, 2, 0, 2,
15220 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGFR),
15221 MVT::i64, 2, 1, 3,
15222 80,
15223 OPC_RecordChild0,
15224 OPC_RecordChild1,
15225 OPC_SwitchType , 21, MVT::i32,
15226 OPC_Scope, 10,
15227 OPC_CheckPatternPredicate, 8,
15228 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::MSRKC),
15229 MVT::i32, MVT::i32, 2, 0, 1,
15230 7,
15231 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSR),
15232 MVT::i32, 2, 0, 1,
15233 0,
15234 21, MVT::i64,
15235 OPC_Scope, 10,
15236 OPC_CheckPatternPredicate, 8,
15237 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::MSGRKC),
15238 MVT::i64, MVT::i32, 2, 0, 1,
15239 7,
15240 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSGR),
15241 MVT::i64, 2, 0, 1,
15242 0,
15243 8, MVT::v16i8,
15244 OPC_CheckPatternPredicate0,
15245 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLB),
15246 MVT::v16i8, 2, 0, 1,
15247 8, MVT::v8i16,
15248 OPC_CheckPatternPredicate0,
15249 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLHW),
15250 MVT::v8i16, 2, 0, 1,
15251 8, MVT::v4i32,
15252 OPC_CheckPatternPredicate0,
15253 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMLF),
15254 MVT::v4i32, 2, 0, 1,
15255 0,
15256 0,
15257 70|128,5, TARGET_VAL(ISD::SHL),
15258 OPC_RecordChild0,
15259 OPC_Scope, 16|128,3,
15260 OPC_MoveChild1,
15261 OPC_SwitchOpcode , 106|128,2, TARGET_VAL(ISD::AND),
15262 OPC_Scope, 127,
15263 OPC_RecordChild0,
15264 OPC_Scope, 52,
15265 OPC_MoveChild1,
15266 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15267 OPC_CheckPredicate, 66,
15268 OPC_MoveParent,
15269 OPC_CheckTypeI32,
15270 OPC_MoveParent,
15271 OPC_SwitchType , 26, MVT::i32,
15272 OPC_Scope, 12,
15273 OPC_CheckPatternPredicate6,
15274 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15275 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLK),
15276 MVT::i32, 3, 0, 2, 3,
15277 10,
15278 OPC_CheckComplexPat7, /*#*/1,
15279 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLL),
15280 MVT::i32, 3, 0, 2, 3,
15281 0,
15282 11, MVT::i64,
15283 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15284 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLG),
15285 MVT::i64, 3, 0, 2, 3,
15286 0,
15287 70,
15288 OPC_MoveChild0,
15289 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15290 OPC_Scope, 31,
15291 OPC_CheckPredicate, 43,
15292 OPC_MoveSibling1,
15293 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15294 OPC_CheckPredicate, 24,
15295 OPC_MoveParent,
15296 OPC_CheckTypeI32,
15297 OPC_MoveParent,
15298 OPC_CheckType, MVT::i128,
15299 OPC_CheckPatternPredicate0,
15300 OPC_EmitConvertToTarget1,
15301 OPC_EmitNodeXForm, 0, 2,
15302 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15303 MVT::i128, 1, 3,
15304 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
15305 MVT::i128, 2, 0, 4,
15306 31,
15307 OPC_CheckPredicate, 44,
15308 OPC_MoveSibling1,
15309 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15310 OPC_CheckPredicate, 24,
15311 OPC_MoveParent,
15312 OPC_CheckTypeI32,
15313 OPC_MoveParent,
15314 OPC_CheckType, MVT::i128,
15315 OPC_CheckPatternPredicate0,
15316 OPC_EmitConvertToTarget1,
15317 OPC_EmitNodeXForm, 0, 2,
15318 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15319 MVT::i128, 1, 3,
15320 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLB),
15321 MVT::i128, 2, 0, 4,
15322 0,
15323 0,
15324 65,
15325 OPC_MoveChild0,
15326 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15327 OPC_CheckPredicate, 24,
15328 OPC_MoveSibling1,
15329 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15330 OPC_RecordNode,
15331 OPC_Scope, 25,
15332 OPC_CheckPredicate, 43,
15333 OPC_MoveParent,
15334 OPC_CheckTypeI32,
15335 OPC_MoveParent,
15336 OPC_CheckType, MVT::i128,
15337 OPC_CheckPatternPredicate0,
15338 OPC_EmitConvertToTarget1,
15339 OPC_EmitNodeXForm, 0, 2,
15340 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15341 MVT::i128, 1, 3,
15342 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
15343 MVT::i128, 2, 0, 4,
15344 25,
15345 OPC_CheckPredicate, 44,
15346 OPC_MoveParent,
15347 OPC_CheckTypeI32,
15348 OPC_MoveParent,
15349 OPC_CheckType, MVT::i128,
15350 OPC_CheckPatternPredicate0,
15351 OPC_EmitConvertToTarget1,
15352 OPC_EmitNodeXForm, 0, 2,
15353 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15354 MVT::i128, 1, 3,
15355 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLB),
15356 MVT::i128, 2, 0, 4,
15357 0,
15358 113,
15359 OPC_RecordChild0,
15360 OPC_Scope, 58,
15361 OPC_RecordChild1,
15362 OPC_MoveChild1,
15363 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15364 OPC_MoveParent,
15365 OPC_CheckTypeI32,
15366 OPC_MoveParent,
15367 OPC_SwitchType , 22, MVT::i32,
15368 OPC_EmitConvertToTarget2,
15369 OPC_EmitNodeXForm, 10, 3,
15370 OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
15371 MVT::i32, MVT::i32, 2, 1, 4,
15372 OPC_EmitInteger32, 0,
15373 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLL),
15374 MVT::i32, 3, 0, 5, 7,
15375 22, MVT::i64,
15376 OPC_EmitConvertToTarget2,
15377 OPC_EmitNodeXForm, 10, 3,
15378 OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
15379 MVT::i32, MVT::i32, 2, 1, 4,
15380 OPC_EmitInteger32, 0,
15381 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLG),
15382 MVT::i64, 3, 0, 5, 7,
15383 0,
15384 50,
15385 OPC_MoveChild0,
15386 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15387 OPC_MoveSibling1,
15388 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15389 OPC_CheckPredicate, 24,
15390 OPC_MoveParent,
15391 OPC_CheckTypeI32,
15392 OPC_MoveParent,
15393 OPC_CheckType, MVT::i128,
15394 OPC_CheckPatternPredicate0,
15395 OPC_EmitConvertToTarget1,
15396 OPC_EmitNodeXForm, 0, 2,
15397 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15398 MVT::i128, 1, 3,
15399 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
15400 MVT::i128, 2, 0, 4,
15401 OPC_EmitConvertToTarget1,
15402 OPC_EmitNodeXForm, 0, 6,
15403 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15404 MVT::i128, 1, 7,
15405 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
15406 MVT::i128, 2, 5, 8,
15407 0,
15408 51,
15409 OPC_MoveChild0,
15410 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15411 OPC_CheckPredicate, 24,
15412 OPC_MoveSibling1,
15413 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15414 OPC_RecordNode,
15415 OPC_MoveParent,
15416 OPC_CheckTypeI32,
15417 OPC_MoveParent,
15418 OPC_CheckType, MVT::i128,
15419 OPC_CheckPatternPredicate0,
15420 OPC_EmitConvertToTarget1,
15421 OPC_EmitNodeXForm, 0, 2,
15422 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15423 MVT::i128, 1, 3,
15424 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
15425 MVT::i128, 2, 0, 4,
15426 OPC_EmitConvertToTarget1,
15427 OPC_EmitNodeXForm, 0, 6,
15428 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15429 MVT::i128, 1, 7,
15430 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
15431 MVT::i128, 2, 5, 8,
15432 0,
15433 28, TARGET_VAL(ISD::SUB),
15434 OPC_MoveChild0,
15435 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15436 OPC_CheckPredicate, 67,
15437 OPC_MoveParent,
15438 OPC_RecordChild1,
15439 OPC_CheckTypeI32,
15440 OPC_MoveParent,
15441 OPC_CheckTypeI64,
15442 OPC_EmitNode2None, TARGET_VAL(SystemZ::LCR),
15443 MVT::i32, MVT::i32, 1, 1,
15444 OPC_EmitInteger32, 0,
15445 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLG),
15446 MVT::i64, 3, 0, 2, 4,
15447 0,
15448 45,
15449 OPC_RecordChild1,
15450 OPC_CheckChild1TypeI32,
15451 OPC_SwitchType , 26, MVT::i32,
15452 OPC_Scope, 12,
15453 OPC_CheckPatternPredicate6,
15454 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15455 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLK),
15456 MVT::i32, 3, 0, 2, 3,
15457 10,
15458 OPC_CheckComplexPat7, /*#*/1,
15459 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLL),
15460 MVT::i32, 3, 0, 2, 3,
15461 0,
15462 11, MVT::i64,
15463 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15464 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SLLG),
15465 MVT::i64, 3, 0, 2, 3,
15466 0,
15467 63,
15468 OPC_MoveChild1,
15469 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15470 OPC_RecordChild0,
15471 OPC_MoveChild1,
15472 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15473 OPC_CheckPredicate, 24,
15474 OPC_MoveParent,
15475 OPC_CheckTypeI32,
15476 OPC_MoveParent,
15477 OPC_CheckType, MVT::i128,
15478 OPC_CheckPatternPredicate0,
15479 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
15480 MVT::i128, 2, 1, 1,
15481 OPC_EmitInteger32, 30,
15482 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15483 MVT::i128, 2, 2, 3,
15484 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
15485 MVT::i128, 2, 0, 4,
15486 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
15487 MVT::i128, 2, 1, 1,
15488 OPC_EmitInteger32, 30,
15489 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15490 MVT::i128, 2, 6, 7,
15491 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
15492 MVT::i128, 2, 5, 8,
15493 65|128,1,
15494 OPC_RecordChild1,
15495 OPC_Scope, 94,
15496 OPC_MoveChild1,
15497 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15498 OPC_CheckTypeI32,
15499 OPC_Scope, 23,
15500 OPC_CheckPredicate, 43,
15501 OPC_MoveParent,
15502 OPC_CheckType, MVT::i128,
15503 OPC_CheckPatternPredicate0,
15504 OPC_EmitConvertToTarget1,
15505 OPC_EmitNodeXForm, 0, 2,
15506 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15507 MVT::i128, 1, 3,
15508 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
15509 MVT::i128, 2, 0, 4,
15510 23,
15511 OPC_CheckPredicate, 44,
15512 OPC_MoveParent,
15513 OPC_CheckType, MVT::i128,
15514 OPC_CheckPatternPredicate0,
15515 OPC_EmitConvertToTarget1,
15516 OPC_EmitNodeXForm, 0, 2,
15517 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15518 MVT::i128, 1, 3,
15519 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLB),
15520 MVT::i128, 2, 0, 4,
15521 38,
15522 OPC_MoveParent,
15523 OPC_CheckType, MVT::i128,
15524 OPC_CheckPatternPredicate0,
15525 OPC_EmitConvertToTarget1,
15526 OPC_EmitNodeXForm, 0, 2,
15527 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15528 MVT::i128, 1, 3,
15529 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
15530 MVT::i128, 2, 0, 4,
15531 OPC_EmitConvertToTarget1,
15532 OPC_EmitNodeXForm, 0, 6,
15533 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15534 MVT::i128, 1, 7,
15535 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
15536 MVT::i128, 2, 5, 8,
15537 0,
15538 50,
15539 OPC_CheckChild1TypeI32,
15540 OPC_CheckType, MVT::i128,
15541 OPC_CheckPatternPredicate0,
15542 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
15543 MVT::i128, 2, 1, 1,
15544 OPC_EmitInteger32, 30,
15545 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15546 MVT::i128, 2, 2, 3,
15547 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSLB),
15548 MVT::i128, 2, 0, 4,
15549 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
15550 MVT::i128, 2, 1, 1,
15551 OPC_EmitInteger32, 30,
15552 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15553 MVT::i128, 2, 6, 7,
15554 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSL),
15555 MVT::i128, 2, 5, 8,
15556 10,
15557 OPC_CheckType, MVT::v16i8,
15558 OPC_CheckPatternPredicate0,
15559 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLVB),
15560 MVT::v16i8, 2, 0, 1,
15561 10,
15562 OPC_CheckType, MVT::v8i16,
15563 OPC_CheckPatternPredicate0,
15564 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLVH),
15565 MVT::v8i16, 2, 0, 1,
15566 10,
15567 OPC_CheckType, MVT::v4i32,
15568 OPC_CheckPatternPredicate0,
15569 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLVF),
15570 MVT::v4i32, 2, 0, 1,
15571 10,
15572 OPC_CheckType, MVT::v2i64,
15573 OPC_CheckPatternPredicate0,
15574 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLVG),
15575 MVT::v2i64, 2, 0, 1,
15576 0,
15577 0,
15578 70|128,5, TARGET_VAL(ISD::SRL),
15579 OPC_RecordChild0,
15580 OPC_Scope, 16|128,3,
15581 OPC_MoveChild1,
15582 OPC_SwitchOpcode , 106|128,2, TARGET_VAL(ISD::AND),
15583 OPC_Scope, 127,
15584 OPC_RecordChild0,
15585 OPC_Scope, 52,
15586 OPC_MoveChild1,
15587 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15588 OPC_CheckPredicate, 66,
15589 OPC_MoveParent,
15590 OPC_CheckTypeI32,
15591 OPC_MoveParent,
15592 OPC_SwitchType , 26, MVT::i32,
15593 OPC_Scope, 12,
15594 OPC_CheckPatternPredicate6,
15595 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15596 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLK),
15597 MVT::i32, 3, 0, 2, 3,
15598 10,
15599 OPC_CheckComplexPat7, /*#*/1,
15600 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRL),
15601 MVT::i32, 3, 0, 2, 3,
15602 0,
15603 11, MVT::i64,
15604 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15605 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLG),
15606 MVT::i64, 3, 0, 2, 3,
15607 0,
15608 70,
15609 OPC_MoveChild0,
15610 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15611 OPC_Scope, 31,
15612 OPC_CheckPredicate, 43,
15613 OPC_MoveSibling1,
15614 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15615 OPC_CheckPredicate, 24,
15616 OPC_MoveParent,
15617 OPC_CheckTypeI32,
15618 OPC_MoveParent,
15619 OPC_CheckType, MVT::i128,
15620 OPC_CheckPatternPredicate0,
15621 OPC_EmitConvertToTarget1,
15622 OPC_EmitNodeXForm, 0, 2,
15623 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15624 MVT::i128, 1, 3,
15625 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
15626 MVT::i128, 2, 0, 4,
15627 31,
15628 OPC_CheckPredicate, 44,
15629 OPC_MoveSibling1,
15630 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15631 OPC_CheckPredicate, 24,
15632 OPC_MoveParent,
15633 OPC_CheckTypeI32,
15634 OPC_MoveParent,
15635 OPC_CheckType, MVT::i128,
15636 OPC_CheckPatternPredicate0,
15637 OPC_EmitConvertToTarget1,
15638 OPC_EmitNodeXForm, 0, 2,
15639 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15640 MVT::i128, 1, 3,
15641 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRLB),
15642 MVT::i128, 2, 0, 4,
15643 0,
15644 0,
15645 65,
15646 OPC_MoveChild0,
15647 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15648 OPC_CheckPredicate, 24,
15649 OPC_MoveSibling1,
15650 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15651 OPC_RecordNode,
15652 OPC_Scope, 25,
15653 OPC_CheckPredicate, 43,
15654 OPC_MoveParent,
15655 OPC_CheckTypeI32,
15656 OPC_MoveParent,
15657 OPC_CheckType, MVT::i128,
15658 OPC_CheckPatternPredicate0,
15659 OPC_EmitConvertToTarget1,
15660 OPC_EmitNodeXForm, 0, 2,
15661 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15662 MVT::i128, 1, 3,
15663 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
15664 MVT::i128, 2, 0, 4,
15665 25,
15666 OPC_CheckPredicate, 44,
15667 OPC_MoveParent,
15668 OPC_CheckTypeI32,
15669 OPC_MoveParent,
15670 OPC_CheckType, MVT::i128,
15671 OPC_CheckPatternPredicate0,
15672 OPC_EmitConvertToTarget1,
15673 OPC_EmitNodeXForm, 0, 2,
15674 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15675 MVT::i128, 1, 3,
15676 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRLB),
15677 MVT::i128, 2, 0, 4,
15678 0,
15679 113,
15680 OPC_RecordChild0,
15681 OPC_Scope, 58,
15682 OPC_RecordChild1,
15683 OPC_MoveChild1,
15684 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15685 OPC_MoveParent,
15686 OPC_CheckTypeI32,
15687 OPC_MoveParent,
15688 OPC_SwitchType , 22, MVT::i32,
15689 OPC_EmitConvertToTarget2,
15690 OPC_EmitNodeXForm, 10, 3,
15691 OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
15692 MVT::i32, MVT::i32, 2, 1, 4,
15693 OPC_EmitInteger32, 0,
15694 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRL),
15695 MVT::i32, 3, 0, 5, 7,
15696 22, MVT::i64,
15697 OPC_EmitConvertToTarget2,
15698 OPC_EmitNodeXForm, 10, 3,
15699 OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
15700 MVT::i32, MVT::i32, 2, 1, 4,
15701 OPC_EmitInteger32, 0,
15702 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLG),
15703 MVT::i64, 3, 0, 5, 7,
15704 0,
15705 50,
15706 OPC_MoveChild0,
15707 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15708 OPC_MoveSibling1,
15709 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15710 OPC_CheckPredicate, 24,
15711 OPC_MoveParent,
15712 OPC_CheckTypeI32,
15713 OPC_MoveParent,
15714 OPC_CheckType, MVT::i128,
15715 OPC_CheckPatternPredicate0,
15716 OPC_EmitConvertToTarget1,
15717 OPC_EmitNodeXForm, 0, 2,
15718 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15719 MVT::i128, 1, 3,
15720 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
15721 MVT::i128, 2, 0, 4,
15722 OPC_EmitConvertToTarget1,
15723 OPC_EmitNodeXForm, 0, 6,
15724 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15725 MVT::i128, 1, 7,
15726 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
15727 MVT::i128, 2, 5, 8,
15728 0,
15729 51,
15730 OPC_MoveChild0,
15731 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15732 OPC_CheckPredicate, 24,
15733 OPC_MoveSibling1,
15734 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15735 OPC_RecordNode,
15736 OPC_MoveParent,
15737 OPC_CheckTypeI32,
15738 OPC_MoveParent,
15739 OPC_CheckType, MVT::i128,
15740 OPC_CheckPatternPredicate0,
15741 OPC_EmitConvertToTarget1,
15742 OPC_EmitNodeXForm, 0, 2,
15743 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15744 MVT::i128, 1, 3,
15745 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
15746 MVT::i128, 2, 0, 4,
15747 OPC_EmitConvertToTarget1,
15748 OPC_EmitNodeXForm, 0, 6,
15749 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15750 MVT::i128, 1, 7,
15751 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
15752 MVT::i128, 2, 5, 8,
15753 0,
15754 28, TARGET_VAL(ISD::SUB),
15755 OPC_MoveChild0,
15756 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15757 OPC_CheckPredicate, 67,
15758 OPC_MoveParent,
15759 OPC_RecordChild1,
15760 OPC_CheckTypeI32,
15761 OPC_MoveParent,
15762 OPC_CheckTypeI64,
15763 OPC_EmitNode2None, TARGET_VAL(SystemZ::LCR),
15764 MVT::i32, MVT::i32, 1, 1,
15765 OPC_EmitInteger32, 0,
15766 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLG),
15767 MVT::i64, 3, 0, 2, 4,
15768 0,
15769 45,
15770 OPC_RecordChild1,
15771 OPC_CheckChild1TypeI32,
15772 OPC_SwitchType , 26, MVT::i32,
15773 OPC_Scope, 12,
15774 OPC_CheckPatternPredicate6,
15775 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15776 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLK),
15777 MVT::i32, 3, 0, 2, 3,
15778 10,
15779 OPC_CheckComplexPat7, /*#*/1,
15780 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRL),
15781 MVT::i32, 3, 0, 2, 3,
15782 0,
15783 11, MVT::i64,
15784 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15785 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SRLG),
15786 MVT::i64, 3, 0, 2, 3,
15787 0,
15788 63,
15789 OPC_MoveChild1,
15790 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15791 OPC_RecordChild0,
15792 OPC_MoveChild1,
15793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15794 OPC_CheckPredicate, 24,
15795 OPC_MoveParent,
15796 OPC_CheckTypeI32,
15797 OPC_MoveParent,
15798 OPC_CheckType, MVT::i128,
15799 OPC_CheckPatternPredicate0,
15800 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
15801 MVT::i128, 2, 1, 1,
15802 OPC_EmitInteger32, 30,
15803 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15804 MVT::i128, 2, 2, 3,
15805 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
15806 MVT::i128, 2, 0, 4,
15807 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
15808 MVT::i128, 2, 1, 1,
15809 OPC_EmitInteger32, 30,
15810 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15811 MVT::i128, 2, 6, 7,
15812 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
15813 MVT::i128, 2, 5, 8,
15814 65|128,1,
15815 OPC_RecordChild1,
15816 OPC_Scope, 94,
15817 OPC_MoveChild1,
15818 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15819 OPC_CheckTypeI32,
15820 OPC_Scope, 23,
15821 OPC_CheckPredicate, 43,
15822 OPC_MoveParent,
15823 OPC_CheckType, MVT::i128,
15824 OPC_CheckPatternPredicate0,
15825 OPC_EmitConvertToTarget1,
15826 OPC_EmitNodeXForm, 0, 2,
15827 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15828 MVT::i128, 1, 3,
15829 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
15830 MVT::i128, 2, 0, 4,
15831 23,
15832 OPC_CheckPredicate, 44,
15833 OPC_MoveParent,
15834 OPC_CheckType, MVT::i128,
15835 OPC_CheckPatternPredicate0,
15836 OPC_EmitConvertToTarget1,
15837 OPC_EmitNodeXForm, 0, 2,
15838 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15839 MVT::i128, 1, 3,
15840 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRLB),
15841 MVT::i128, 2, 0, 4,
15842 38,
15843 OPC_MoveParent,
15844 OPC_CheckType, MVT::i128,
15845 OPC_CheckPatternPredicate0,
15846 OPC_EmitConvertToTarget1,
15847 OPC_EmitNodeXForm, 0, 2,
15848 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15849 MVT::i128, 1, 3,
15850 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
15851 MVT::i128, 2, 0, 4,
15852 OPC_EmitConvertToTarget1,
15853 OPC_EmitNodeXForm, 0, 6,
15854 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15855 MVT::i128, 1, 7,
15856 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
15857 MVT::i128, 2, 5, 8,
15858 0,
15859 50,
15860 OPC_CheckChild1TypeI32,
15861 OPC_CheckType, MVT::i128,
15862 OPC_CheckPatternPredicate0,
15863 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
15864 MVT::i128, 2, 1, 1,
15865 OPC_EmitInteger32, 30,
15866 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15867 MVT::i128, 2, 2, 3,
15868 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRLB),
15869 MVT::i128, 2, 0, 4,
15870 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
15871 MVT::i128, 2, 1, 1,
15872 OPC_EmitInteger32, 30,
15873 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
15874 MVT::i128, 2, 6, 7,
15875 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRL),
15876 MVT::i128, 2, 5, 8,
15877 10,
15878 OPC_CheckType, MVT::v16i8,
15879 OPC_CheckPatternPredicate0,
15880 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLVB),
15881 MVT::v16i8, 2, 0, 1,
15882 10,
15883 OPC_CheckType, MVT::v8i16,
15884 OPC_CheckPatternPredicate0,
15885 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLVH),
15886 MVT::v8i16, 2, 0, 1,
15887 10,
15888 OPC_CheckType, MVT::v4i32,
15889 OPC_CheckPatternPredicate0,
15890 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLVF),
15891 MVT::v4i32, 2, 0, 1,
15892 10,
15893 OPC_CheckType, MVT::v2i64,
15894 OPC_CheckPatternPredicate0,
15895 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLVG),
15896 MVT::v2i64, 2, 0, 1,
15897 0,
15898 0,
15899 80|128,5, TARGET_VAL(ISD::SRA),
15900 OPC_RecordChild0,
15901 OPC_Scope, 23|128,3,
15902 OPC_MoveChild1,
15903 OPC_SwitchOpcode , 112|128,2, TARGET_VAL(ISD::AND),
15904 OPC_Scope, 2|128,1,
15905 OPC_RecordChild0,
15906 OPC_Scope, 55,
15907 OPC_MoveChild1,
15908 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15909 OPC_CheckPredicate, 66,
15910 OPC_MoveParent,
15911 OPC_CheckTypeI32,
15912 OPC_MoveParent,
15913 OPC_SwitchType , 28, MVT::i32,
15914 OPC_Scope, 13,
15915 OPC_CheckPatternPredicate6,
15916 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15917 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAK),
15918 MVT::i32, MVT::i32, 3, 0, 2, 3,
15919 11,
15920 OPC_CheckComplexPat7, /*#*/1,
15921 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRA),
15922 MVT::i32, MVT::i32, 3, 0, 2, 3,
15923 0,
15924 12, MVT::i64,
15925 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
15926 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAG),
15927 MVT::i64, MVT::i32, 3, 0, 2, 3,
15928 0,
15929 70,
15930 OPC_MoveChild0,
15931 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15932 OPC_Scope, 31,
15933 OPC_CheckPredicate, 43,
15934 OPC_MoveSibling1,
15935 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15936 OPC_CheckPredicate, 24,
15937 OPC_MoveParent,
15938 OPC_CheckTypeI32,
15939 OPC_MoveParent,
15940 OPC_CheckType, MVT::i128,
15941 OPC_CheckPatternPredicate0,
15942 OPC_EmitConvertToTarget1,
15943 OPC_EmitNodeXForm, 0, 2,
15944 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15945 MVT::i128, 1, 3,
15946 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
15947 MVT::i128, 2, 0, 4,
15948 31,
15949 OPC_CheckPredicate, 44,
15950 OPC_MoveSibling1,
15951 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15952 OPC_CheckPredicate, 24,
15953 OPC_MoveParent,
15954 OPC_CheckTypeI32,
15955 OPC_MoveParent,
15956 OPC_CheckType, MVT::i128,
15957 OPC_CheckPatternPredicate0,
15958 OPC_EmitConvertToTarget1,
15959 OPC_EmitNodeXForm, 0, 2,
15960 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15961 MVT::i128, 1, 3,
15962 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
15963 MVT::i128, 2, 0, 4,
15964 0,
15965 0,
15966 65,
15967 OPC_MoveChild0,
15968 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15969 OPC_CheckPredicate, 24,
15970 OPC_MoveSibling1,
15971 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15972 OPC_RecordNode,
15973 OPC_Scope, 25,
15974 OPC_CheckPredicate, 43,
15975 OPC_MoveParent,
15976 OPC_CheckTypeI32,
15977 OPC_MoveParent,
15978 OPC_CheckType, MVT::i128,
15979 OPC_CheckPatternPredicate0,
15980 OPC_EmitConvertToTarget1,
15981 OPC_EmitNodeXForm, 0, 2,
15982 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15983 MVT::i128, 1, 3,
15984 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
15985 MVT::i128, 2, 0, 4,
15986 25,
15987 OPC_CheckPredicate, 44,
15988 OPC_MoveParent,
15989 OPC_CheckTypeI32,
15990 OPC_MoveParent,
15991 OPC_CheckType, MVT::i128,
15992 OPC_CheckPatternPredicate0,
15993 OPC_EmitConvertToTarget1,
15994 OPC_EmitNodeXForm, 0, 2,
15995 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
15996 MVT::i128, 1, 3,
15997 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
15998 MVT::i128, 2, 0, 4,
15999 0,
16000 115,
16001 OPC_RecordChild0,
16002 OPC_Scope, 60,
16003 OPC_RecordChild1,
16004 OPC_MoveChild1,
16005 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16006 OPC_MoveParent,
16007 OPC_CheckTypeI32,
16008 OPC_MoveParent,
16009 OPC_SwitchType , 23, MVT::i32,
16010 OPC_EmitConvertToTarget2,
16011 OPC_EmitNodeXForm, 10, 3,
16012 OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
16013 MVT::i32, MVT::i32, 2, 1, 4,
16014 OPC_EmitInteger32, 0,
16015 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRA),
16016 MVT::i32, MVT::i32, 3, 0, 5, 7,
16017 23, MVT::i64,
16018 OPC_EmitConvertToTarget2,
16019 OPC_EmitNodeXForm, 10, 3,
16020 OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
16021 MVT::i32, MVT::i32, 2, 1, 4,
16022 OPC_EmitInteger32, 0,
16023 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAG),
16024 MVT::i64, MVT::i32, 3, 0, 5, 7,
16025 0,
16026 50,
16027 OPC_MoveChild0,
16028 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16029 OPC_MoveSibling1,
16030 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16031 OPC_CheckPredicate, 24,
16032 OPC_MoveParent,
16033 OPC_CheckTypeI32,
16034 OPC_MoveParent,
16035 OPC_CheckType, MVT::i128,
16036 OPC_CheckPatternPredicate0,
16037 OPC_EmitConvertToTarget1,
16038 OPC_EmitNodeXForm, 0, 2,
16039 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
16040 MVT::i128, 1, 3,
16041 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
16042 MVT::i128, 2, 0, 4,
16043 OPC_EmitConvertToTarget1,
16044 OPC_EmitNodeXForm, 0, 6,
16045 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
16046 MVT::i128, 1, 7,
16047 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
16048 MVT::i128, 2, 5, 8,
16049 0,
16050 51,
16051 OPC_MoveChild0,
16052 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16053 OPC_CheckPredicate, 24,
16054 OPC_MoveSibling1,
16055 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16056 OPC_RecordNode,
16057 OPC_MoveParent,
16058 OPC_CheckTypeI32,
16059 OPC_MoveParent,
16060 OPC_CheckType, MVT::i128,
16061 OPC_CheckPatternPredicate0,
16062 OPC_EmitConvertToTarget1,
16063 OPC_EmitNodeXForm, 0, 2,
16064 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
16065 MVT::i128, 1, 3,
16066 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
16067 MVT::i128, 2, 0, 4,
16068 OPC_EmitConvertToTarget1,
16069 OPC_EmitNodeXForm, 0, 6,
16070 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
16071 MVT::i128, 1, 7,
16072 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
16073 MVT::i128, 2, 5, 8,
16074 0,
16075 29, TARGET_VAL(ISD::SUB),
16076 OPC_MoveChild0,
16077 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16078 OPC_CheckPredicate, 67,
16079 OPC_MoveParent,
16080 OPC_RecordChild1,
16081 OPC_CheckTypeI32,
16082 OPC_MoveParent,
16083 OPC_CheckTypeI64,
16084 OPC_EmitNode2None, TARGET_VAL(SystemZ::LCR),
16085 MVT::i32, MVT::i32, 1, 1,
16086 OPC_EmitInteger32, 0,
16087 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAG),
16088 MVT::i64, MVT::i32, 3, 0, 2, 4,
16089 0,
16090 48,
16091 OPC_RecordChild1,
16092 OPC_CheckChild1TypeI32,
16093 OPC_SwitchType , 28, MVT::i32,
16094 OPC_Scope, 13,
16095 OPC_CheckPatternPredicate6,
16096 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
16097 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAK),
16098 MVT::i32, MVT::i32, 3, 0, 2, 3,
16099 11,
16100 OPC_CheckComplexPat7, /*#*/1,
16101 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRA),
16102 MVT::i32, MVT::i32, 3, 0, 2, 3,
16103 0,
16104 12, MVT::i64,
16105 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
16106 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SRAG),
16107 MVT::i64, MVT::i32, 3, 0, 2, 3,
16108 0,
16109 63,
16110 OPC_MoveChild1,
16111 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16112 OPC_RecordChild0,
16113 OPC_MoveChild1,
16114 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16115 OPC_CheckPredicate, 24,
16116 OPC_MoveParent,
16117 OPC_CheckTypeI32,
16118 OPC_MoveParent,
16119 OPC_CheckType, MVT::i128,
16120 OPC_CheckPatternPredicate0,
16121 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
16122 MVT::i128, 2, 1, 1,
16123 OPC_EmitInteger32, 30,
16124 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
16125 MVT::i128, 2, 2, 3,
16126 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
16127 MVT::i128, 2, 0, 4,
16128 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
16129 MVT::i128, 2, 1, 1,
16130 OPC_EmitInteger32, 30,
16131 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
16132 MVT::i128, 2, 6, 7,
16133 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
16134 MVT::i128, 2, 5, 8,
16135 65|128,1,
16136 OPC_RecordChild1,
16137 OPC_Scope, 94,
16138 OPC_MoveChild1,
16139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16140 OPC_CheckTypeI32,
16141 OPC_Scope, 23,
16142 OPC_CheckPredicate, 43,
16143 OPC_MoveParent,
16144 OPC_CheckType, MVT::i128,
16145 OPC_CheckPatternPredicate0,
16146 OPC_EmitConvertToTarget1,
16147 OPC_EmitNodeXForm, 0, 2,
16148 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
16149 MVT::i128, 1, 3,
16150 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
16151 MVT::i128, 2, 0, 4,
16152 23,
16153 OPC_CheckPredicate, 44,
16154 OPC_MoveParent,
16155 OPC_CheckType, MVT::i128,
16156 OPC_CheckPatternPredicate0,
16157 OPC_EmitConvertToTarget1,
16158 OPC_EmitNodeXForm, 0, 2,
16159 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
16160 MVT::i128, 1, 3,
16161 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
16162 MVT::i128, 2, 0, 4,
16163 38,
16164 OPC_MoveParent,
16165 OPC_CheckType, MVT::i128,
16166 OPC_CheckPatternPredicate0,
16167 OPC_EmitConvertToTarget1,
16168 OPC_EmitNodeXForm, 0, 2,
16169 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
16170 MVT::i128, 1, 3,
16171 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
16172 MVT::i128, 2, 0, 4,
16173 OPC_EmitConvertToTarget1,
16174 OPC_EmitNodeXForm, 0, 6,
16175 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
16176 MVT::i128, 1, 7,
16177 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
16178 MVT::i128, 2, 5, 8,
16179 0,
16180 50,
16181 OPC_CheckChild1TypeI32,
16182 OPC_CheckType, MVT::i128,
16183 OPC_CheckPatternPredicate0,
16184 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
16185 MVT::i128, 2, 1, 1,
16186 OPC_EmitInteger32, 30,
16187 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
16188 MVT::i128, 2, 2, 3,
16189 OPC_EmitNode1None, TARGET_VAL(SystemZ::VSRAB),
16190 MVT::i128, 2, 0, 4,
16191 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
16192 MVT::i128, 2, 1, 1,
16193 OPC_EmitInteger32, 30,
16194 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
16195 MVT::i128, 2, 6, 7,
16196 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRA),
16197 MVT::i128, 2, 5, 8,
16198 10,
16199 OPC_CheckType, MVT::v16i8,
16200 OPC_CheckPatternPredicate0,
16201 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAVB),
16202 MVT::v16i8, 2, 0, 1,
16203 10,
16204 OPC_CheckType, MVT::v8i16,
16205 OPC_CheckPatternPredicate0,
16206 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAVH),
16207 MVT::v8i16, 2, 0, 1,
16208 10,
16209 OPC_CheckType, MVT::v4i32,
16210 OPC_CheckPatternPredicate0,
16211 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAVF),
16212 MVT::v4i32, 2, 0, 1,
16213 10,
16214 OPC_CheckType, MVT::v2i64,
16215 OPC_CheckPatternPredicate0,
16216 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAVG),
16217 MVT::v2i64, 2, 0, 1,
16218 0,
16219 0,
16220 100|128,1, TARGET_VAL(ISD::ROTL),
16221 OPC_RecordChild0,
16222 OPC_Scope, 9|128,1,
16223 OPC_MoveChild1,
16224 OPC_SwitchOpcode , 100, TARGET_VAL(ISD::AND),
16225 OPC_RecordChild0,
16226 OPC_Scope, 37,
16227 OPC_MoveChild1,
16228 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16229 OPC_CheckPredicate, 66,
16230 OPC_MoveParent,
16231 OPC_CheckTypeI32,
16232 OPC_MoveParent,
16233 OPC_SwitchType , 11, MVT::i32,
16234 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
16235 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLL),
16236 MVT::i32, 3, 0, 2, 3,
16237 11, MVT::i64,
16238 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
16239 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLLG),
16240 MVT::i64, 3, 0, 2, 3,
16241 0,
16242 58,
16243 OPC_RecordChild1,
16244 OPC_MoveChild1,
16245 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16246 OPC_MoveParent,
16247 OPC_CheckTypeI32,
16248 OPC_MoveParent,
16249 OPC_SwitchType , 22, MVT::i32,
16250 OPC_EmitConvertToTarget2,
16251 OPC_EmitNodeXForm, 10, 3,
16252 OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
16253 MVT::i32, MVT::i32, 2, 1, 4,
16254 OPC_EmitInteger32, 0,
16255 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLL),
16256 MVT::i32, 3, 0, 5, 7,
16257 22, MVT::i64,
16258 OPC_EmitConvertToTarget2,
16259 OPC_EmitNodeXForm, 10, 3,
16260 OPC_EmitNode2None, TARGET_VAL(SystemZ::NILL),
16261 MVT::i32, MVT::i32, 2, 1, 4,
16262 OPC_EmitInteger32, 0,
16263 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLLG),
16264 MVT::i64, 3, 0, 5, 7,
16265 0,
16266 0,
16267 28, TARGET_VAL(ISD::SUB),
16268 OPC_MoveChild0,
16269 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16270 OPC_CheckPredicate, 67,
16271 OPC_MoveParent,
16272 OPC_RecordChild1,
16273 OPC_CheckTypeI32,
16274 OPC_MoveParent,
16275 OPC_CheckTypeI64,
16276 OPC_EmitNode2None, TARGET_VAL(SystemZ::LCR),
16277 MVT::i32, MVT::i32, 1, 1,
16278 OPC_EmitInteger32, 0,
16279 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLLG),
16280 MVT::i64, 3, 0, 2, 4,
16281 0,
16282 85,
16283 OPC_RecordChild1,
16284 OPC_Scope, 29,
16285 OPC_CheckChild1TypeI32,
16286 OPC_SwitchType , 11, MVT::i32,
16287 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
16288 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLL),
16289 MVT::i32, 3, 0, 2, 3,
16290 11, MVT::i64,
16291 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
16292 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::RLLG),
16293 MVT::i64, 3, 0, 2, 3,
16294 0,
16295 12,
16296 OPC_CheckChild1Type, MVT::v16i8,
16297 OPC_CheckType, MVT::v16i8,
16298 OPC_CheckPatternPredicate0,
16299 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLVB),
16300 MVT::v16i8, 2, 0, 1,
16301 12,
16302 OPC_CheckChild1Type, MVT::v8i16,
16303 OPC_CheckType, MVT::v8i16,
16304 OPC_CheckPatternPredicate0,
16305 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLVH),
16306 MVT::v8i16, 2, 0, 1,
16307 12,
16308 OPC_CheckChild1Type, MVT::v4i32,
16309 OPC_CheckType, MVT::v4i32,
16310 OPC_CheckPatternPredicate0,
16311 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLVF),
16312 MVT::v4i32, 2, 0, 1,
16313 12,
16314 OPC_CheckChild1Type, MVT::v2i64,
16315 OPC_CheckType, MVT::v2i64,
16316 OPC_CheckPatternPredicate0,
16317 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLVG),
16318 MVT::v2i64, 2, 0, 1,
16319 0,
16320 0,
16321 33|128,2, TARGET_VAL(SystemZISD::STRICT_FCMP),
16322 OPC_RecordNode,
16323 OPC_RecordChild1,
16324 OPC_Scope, 112,
16325 OPC_CheckChild1Type, MVT::f32,
16326 OPC_Scope, 84,
16327 OPC_MoveChild2,
16328 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::LOAD),
16329 OPC_RecordMemRef,
16330 OPC_RecordNode,
16331 OPC_CheckFoldableChainNode,
16332 OPC_RecordChild1,
16333 OPC_CheckChild1TypeI64,
16334 OPC_CheckPredicate0,
16335 OPC_CheckPredicate3,
16336 OPC_CheckPredicate1,
16337 OPC_MoveParent,
16338 OPC_CheckComplexPat0, /*#*/3,
16339 OPC_EmitMergeInputChains, 2, 0, 2,
16340 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CEB), 0|OPFL_Chain|OPFL_MemRefs,
16341 MVT::i32, 4, 1, 4, 5, 6,
16342 23, TARGET_VAL(ISD::ATOMIC_LOAD),
16343 OPC_RecordMemRef,
16344 OPC_RecordNode,
16345 OPC_CheckFoldableChainNode,
16346 OPC_RecordChild1,
16347 OPC_CheckChild1TypeI64,
16348 OPC_CheckPredicate1,
16349 OPC_MoveParent,
16350 OPC_CheckComplexPat0, /*#*/3,
16351 OPC_EmitMergeInputChains, 2, 0, 2,
16352 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CEB), 0|OPFL_Chain|OPFL_MemRefs,
16353 MVT::i32, 4, 1, 4, 5, 6,
16354 24, TARGET_VAL(ISD::ConstantFP),
16355 OPC_Scope, 10,
16356 OPC_CheckPredicate, 49,
16357 OPC_MoveParent,
16358 OPC_EmitMergeInputChains1_0,
16359 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTEBRCompare_Pseudo),
16360 MVT::i32, 1, 1,
16361 10,
16362 OPC_CheckPredicate, 50,
16363 OPC_MoveParent,
16364 OPC_EmitMergeInputChains1_0,
16365 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTEBRCompare_Pseudo),
16366 MVT::i32, 1, 1,
16367 0,
16368 0,
16369 22,
16370 OPC_RecordChild2,
16371 OPC_Scope, 9,
16372 OPC_CheckPatternPredicate1,
16373 OPC_EmitMergeInputChains1_0,
16374 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFCSB),
16375 MVT::i32, 2, 1, 2,
16376 8,
16377 OPC_EmitMergeInputChains1_0,
16378 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CEBR),
16379 MVT::i32, 2, 1, 2,
16380 0,
16381 0,
16382 112,
16383 OPC_CheckChild1Type, MVT::f64,
16384 OPC_Scope, 84,
16385 OPC_MoveChild2,
16386 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::LOAD),
16387 OPC_RecordMemRef,
16388 OPC_RecordNode,
16389 OPC_CheckFoldableChainNode,
16390 OPC_RecordChild1,
16391 OPC_CheckChild1TypeI64,
16392 OPC_CheckPredicate0,
16393 OPC_CheckPredicate3,
16394 OPC_CheckPredicate1,
16395 OPC_MoveParent,
16396 OPC_CheckComplexPat0, /*#*/3,
16397 OPC_EmitMergeInputChains, 2, 0, 2,
16398 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CDB), 0|OPFL_Chain|OPFL_MemRefs,
16399 MVT::i32, 4, 1, 4, 5, 6,
16400 23, TARGET_VAL(ISD::ATOMIC_LOAD),
16401 OPC_RecordMemRef,
16402 OPC_RecordNode,
16403 OPC_CheckFoldableChainNode,
16404 OPC_RecordChild1,
16405 OPC_CheckChild1TypeI64,
16406 OPC_CheckPredicate1,
16407 OPC_MoveParent,
16408 OPC_CheckComplexPat0, /*#*/3,
16409 OPC_EmitMergeInputChains, 2, 0, 2,
16410 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CDB), 0|OPFL_Chain|OPFL_MemRefs,
16411 MVT::i32, 4, 1, 4, 5, 6,
16412 24, TARGET_VAL(ISD::ConstantFP),
16413 OPC_Scope, 10,
16414 OPC_CheckPredicate, 49,
16415 OPC_MoveParent,
16416 OPC_EmitMergeInputChains1_0,
16417 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTDBRCompare_Pseudo),
16418 MVT::i32, 1, 1,
16419 10,
16420 OPC_CheckPredicate, 50,
16421 OPC_MoveParent,
16422 OPC_EmitMergeInputChains1_0,
16423 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTDBRCompare_Pseudo),
16424 MVT::i32, 1, 1,
16425 0,
16426 0,
16427 22,
16428 OPC_RecordChild2,
16429 OPC_Scope, 9,
16430 OPC_CheckPatternPredicate0,
16431 OPC_EmitMergeInputChains1_0,
16432 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFCDB),
16433 MVT::i32, 2, 1, 2,
16434 8,
16435 OPC_EmitMergeInputChains1_0,
16436 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDBR),
16437 MVT::i32, 2, 1, 2,
16438 0,
16439 0,
16440 58,
16441 OPC_CheckChild1Type, MVT::f128,
16442 OPC_Scope, 30,
16443 OPC_MoveChild2,
16444 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
16445 OPC_Scope, 11,
16446 OPC_CheckPredicate, 49,
16447 OPC_MoveParent,
16448 OPC_CheckPatternPredicate4,
16449 OPC_EmitMergeInputChains1_0,
16450 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTXBRCompare_Pseudo),
16451 MVT::i32, 1, 1,
16452 11,
16453 OPC_CheckPredicate, 50,
16454 OPC_MoveParent,
16455 OPC_CheckPatternPredicate4,
16456 OPC_EmitMergeInputChains1_0,
16457 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LTXBRCompare_Pseudo),
16458 MVT::i32, 1, 1,
16459 0,
16460 22,
16461 OPC_RecordChild2,
16462 OPC_Scope, 9,
16463 OPC_CheckPatternPredicate1,
16464 OPC_EmitMergeInputChains1_0,
16465 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFCXB),
16466 MVT::i32, 2, 1, 2,
16467 8,
16468 OPC_EmitMergeInputChains1_0,
16469 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXBR),
16470 MVT::i32, 2, 1, 2,
16471 0,
16472 0,
16473 0,
16474 8|128,2, TARGET_VAL(SystemZISD::FCMP),
16475 OPC_RecordChild0,
16476 OPC_Scope, 102,
16477 OPC_CheckChild0Type, MVT::f32,
16478 OPC_Scope, 76,
16479 OPC_MoveChild1,
16480 OPC_SwitchOpcode , 22, TARGET_VAL(ISD::LOAD),
16481 OPC_RecordMemRef,
16482 OPC_RecordNode,
16483 OPC_CheckFoldableChainNode,
16484 OPC_RecordChild1,
16485 OPC_CheckChild1TypeI64,
16486 OPC_CheckPredicate0,
16487 OPC_CheckPredicate3,
16488 OPC_CheckPredicate1,
16489 OPC_MoveParent,
16490 OPC_CheckComplexPat0, /*#*/2,
16491 OPC_EmitMergeInputChains1_1,
16492 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CEB), 0|OPFL_Chain|OPFL_MemRefs,
16493 MVT::i32, 4, 0, 3, 4, 5,
16494 20, TARGET_VAL(ISD::ATOMIC_LOAD),
16495 OPC_RecordMemRef,
16496 OPC_RecordNode,
16497 OPC_CheckFoldableChainNode,
16498 OPC_RecordChild1,
16499 OPC_CheckChild1TypeI64,
16500 OPC_CheckPredicate1,
16501 OPC_MoveParent,
16502 OPC_CheckComplexPat0, /*#*/2,
16503 OPC_EmitMergeInputChains1_1,
16504 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CEB), 0|OPFL_Chain|OPFL_MemRefs,
16505 MVT::i32, 4, 0, 3, 4, 5,
16506 22, TARGET_VAL(ISD::ConstantFP),
16507 OPC_Scope, 9,
16508 OPC_CheckPredicate, 49,
16509 OPC_MoveParent,
16510 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTEBRCompare_Pseudo),
16511 MVT::i32, 1, 0,
16512 9,
16513 OPC_CheckPredicate, 50,
16514 OPC_MoveParent,
16515 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTEBRCompare_Pseudo),
16516 MVT::i32, 1, 0,
16517 0,
16518 0,
16519 20,
16520 OPC_RecordChild1,
16521 OPC_Scope, 8,
16522 OPC_CheckPatternPredicate1,
16523 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFCSB),
16524 MVT::i32, 2, 0, 1,
16525 7,
16526 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CEBR),
16527 MVT::i32, 2, 0, 1,
16528 0,
16529 0,
16530 102,
16531 OPC_CheckChild0Type, MVT::f64,
16532 OPC_Scope, 76,
16533 OPC_MoveChild1,
16534 OPC_SwitchOpcode , 22, TARGET_VAL(ISD::LOAD),
16535 OPC_RecordMemRef,
16536 OPC_RecordNode,
16537 OPC_CheckFoldableChainNode,
16538 OPC_RecordChild1,
16539 OPC_CheckChild1TypeI64,
16540 OPC_CheckPredicate0,
16541 OPC_CheckPredicate3,
16542 OPC_CheckPredicate1,
16543 OPC_MoveParent,
16544 OPC_CheckComplexPat0, /*#*/2,
16545 OPC_EmitMergeInputChains1_1,
16546 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CDB), 0|OPFL_Chain|OPFL_MemRefs,
16547 MVT::i32, 4, 0, 3, 4, 5,
16548 20, TARGET_VAL(ISD::ATOMIC_LOAD),
16549 OPC_RecordMemRef,
16550 OPC_RecordNode,
16551 OPC_CheckFoldableChainNode,
16552 OPC_RecordChild1,
16553 OPC_CheckChild1TypeI64,
16554 OPC_CheckPredicate1,
16555 OPC_MoveParent,
16556 OPC_CheckComplexPat0, /*#*/2,
16557 OPC_EmitMergeInputChains1_1,
16558 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::CDB), 0|OPFL_Chain|OPFL_MemRefs,
16559 MVT::i32, 4, 0, 3, 4, 5,
16560 22, TARGET_VAL(ISD::ConstantFP),
16561 OPC_Scope, 9,
16562 OPC_CheckPredicate, 49,
16563 OPC_MoveParent,
16564 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTDBRCompare_Pseudo),
16565 MVT::i32, 1, 0,
16566 9,
16567 OPC_CheckPredicate, 50,
16568 OPC_MoveParent,
16569 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTDBRCompare_Pseudo),
16570 MVT::i32, 1, 0,
16571 0,
16572 0,
16573 20,
16574 OPC_RecordChild1,
16575 OPC_Scope, 8,
16576 OPC_CheckPatternPredicate0,
16577 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFCDB),
16578 MVT::i32, 2, 0, 1,
16579 7,
16580 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDBR),
16581 MVT::i32, 2, 0, 1,
16582 0,
16583 0,
16584 54,
16585 OPC_CheckChild0Type, MVT::f128,
16586 OPC_Scope, 28,
16587 OPC_MoveChild1,
16588 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
16589 OPC_Scope, 10,
16590 OPC_CheckPredicate, 49,
16591 OPC_MoveParent,
16592 OPC_CheckPatternPredicate4,
16593 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTXBRCompare_Pseudo),
16594 MVT::i32, 1, 0,
16595 10,
16596 OPC_CheckPredicate, 50,
16597 OPC_MoveParent,
16598 OPC_CheckPatternPredicate4,
16599 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LTXBRCompare_Pseudo),
16600 MVT::i32, 1, 0,
16601 0,
16602 20,
16603 OPC_RecordChild1,
16604 OPC_Scope, 8,
16605 OPC_CheckPatternPredicate1,
16606 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFCXB),
16607 MVT::i32, 2, 0, 1,
16608 7,
16609 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXBR),
16610 MVT::i32, 2, 0, 1,
16611 0,
16612 0,
16613 0,
16614 73|128,1, TARGET_VAL(SystemZISD::STRICT_FCMPS),
16615 OPC_RecordNode,
16616 OPC_RecordChild1,
16617 OPC_Scope, 85,
16618 OPC_CheckChild1Type, MVT::f32,
16619 OPC_Scope, 57,
16620 OPC_MoveChild2,
16621 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::LOAD),
16622 OPC_RecordMemRef,
16623 OPC_RecordNode,
16624 OPC_CheckFoldableChainNode,
16625 OPC_RecordChild1,
16626 OPC_CheckChild1TypeI64,
16627 OPC_CheckPredicate0,
16628 OPC_CheckPredicate3,
16629 OPC_CheckPredicate1,
16630 OPC_MoveParent,
16631 OPC_CheckComplexPat0, /*#*/3,
16632 OPC_EmitMergeInputChains, 2, 0, 2,
16633 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::KEB), 0|OPFL_Chain|OPFL_MemRefs,
16634 MVT::i32, 4, 1, 4, 5, 6,
16635 23, TARGET_VAL(ISD::ATOMIC_LOAD),
16636 OPC_RecordMemRef,
16637 OPC_RecordNode,
16638 OPC_CheckFoldableChainNode,
16639 OPC_RecordChild1,
16640 OPC_CheckChild1TypeI64,
16641 OPC_CheckPredicate1,
16642 OPC_MoveParent,
16643 OPC_CheckComplexPat0, /*#*/3,
16644 OPC_EmitMergeInputChains, 2, 0, 2,
16645 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::KEB), 0|OPFL_Chain|OPFL_MemRefs,
16646 MVT::i32, 4, 1, 4, 5, 6,
16647 0,
16648 22,
16649 OPC_RecordChild2,
16650 OPC_Scope, 9,
16651 OPC_CheckPatternPredicate1,
16652 OPC_EmitMergeInputChains1_0,
16653 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFKSB),
16654 MVT::i32, 2, 1, 2,
16655 8,
16656 OPC_EmitMergeInputChains1_0,
16657 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::KEBR),
16658 MVT::i32, 2, 1, 2,
16659 0,
16660 0,
16661 85,
16662 OPC_CheckChild1Type, MVT::f64,
16663 OPC_Scope, 57,
16664 OPC_MoveChild2,
16665 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::LOAD),
16666 OPC_RecordMemRef,
16667 OPC_RecordNode,
16668 OPC_CheckFoldableChainNode,
16669 OPC_RecordChild1,
16670 OPC_CheckChild1TypeI64,
16671 OPC_CheckPredicate0,
16672 OPC_CheckPredicate3,
16673 OPC_CheckPredicate1,
16674 OPC_MoveParent,
16675 OPC_CheckComplexPat0, /*#*/3,
16676 OPC_EmitMergeInputChains, 2, 0, 2,
16677 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::KDB), 0|OPFL_Chain|OPFL_MemRefs,
16678 MVT::i32, 4, 1, 4, 5, 6,
16679 23, TARGET_VAL(ISD::ATOMIC_LOAD),
16680 OPC_RecordMemRef,
16681 OPC_RecordNode,
16682 OPC_CheckFoldableChainNode,
16683 OPC_RecordChild1,
16684 OPC_CheckChild1TypeI64,
16685 OPC_CheckPredicate1,
16686 OPC_MoveParent,
16687 OPC_CheckComplexPat0, /*#*/3,
16688 OPC_EmitMergeInputChains, 2, 0, 2,
16689 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::KDB), 0|OPFL_Chain|OPFL_MemRefs,
16690 MVT::i32, 4, 1, 4, 5, 6,
16691 0,
16692 22,
16693 OPC_RecordChild2,
16694 OPC_Scope, 9,
16695 OPC_CheckPatternPredicate0,
16696 OPC_EmitMergeInputChains1_0,
16697 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFKDB),
16698 MVT::i32, 2, 1, 2,
16699 8,
16700 OPC_EmitMergeInputChains1_0,
16701 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::KDBR),
16702 MVT::i32, 2, 1, 2,
16703 0,
16704 0,
16705 24,
16706 OPC_CheckChild1Type, MVT::f128,
16707 OPC_RecordChild2,
16708 OPC_Scope, 9,
16709 OPC_CheckPatternPredicate1,
16710 OPC_EmitMergeInputChains1_0,
16711 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFKXB),
16712 MVT::i32, 2, 1, 2,
16713 8,
16714 OPC_EmitMergeInputChains1_0,
16715 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::KXBR),
16716 MVT::i32, 2, 1, 2,
16717 0,
16718 0,
16719 76, TARGET_VAL(SystemZISD::ATOMIC_LOADW_AND),
16720 OPC_RecordMemRef,
16721 OPC_RecordNode,
16722 OPC_RecordChild1,
16723 OPC_CheckChild1TypeI64,
16724 OPC_RecordChild2,
16725 OPC_Scope, 39,
16726 OPC_MoveChild2,
16727 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16728 OPC_CheckPredicate, 56,
16729 OPC_MoveParent,
16730 OPC_RecordChild3,
16731 OPC_RecordChild4,
16732 OPC_RecordChild5,
16733 OPC_MoveChild5,
16734 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16735 OPC_MoveParent,
16736 OPC_CheckComplexPat6, /*#*/1,
16737 OPC_EmitMergeInputChains1_0,
16738 OPC_EmitConvertToTarget2,
16739 OPC_EmitNodeXForm, 4, 8,
16740 OPC_EmitConvertToTarget5,
16741 OPC_EmitNodeXForm, 9, 10,
16742 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_NILH), 0|OPFL_Chain|OPFL_MemRefs,
16743 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11,
16744 28,
16745 OPC_RecordChild3,
16746 OPC_RecordChild4,
16747 OPC_RecordChild5,
16748 OPC_MoveChild5,
16749 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16750 OPC_MoveParent,
16751 OPC_CheckComplexPat6, /*#*/1,
16752 OPC_EmitMergeInputChains1_0,
16753 OPC_EmitConvertToTarget5,
16754 OPC_EmitNodeXForm, 9, 8,
16755 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_NR), 0|OPFL_Chain|OPFL_MemRefs,
16756 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
16757 0,
16758 76, TARGET_VAL(SystemZISD::ATOMIC_LOADW_OR),
16759 OPC_RecordMemRef,
16760 OPC_RecordNode,
16761 OPC_RecordChild1,
16762 OPC_CheckChild1TypeI64,
16763 OPC_RecordChild2,
16764 OPC_Scope, 39,
16765 OPC_MoveChild2,
16766 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16767 OPC_CheckPredicate, 38,
16768 OPC_MoveParent,
16769 OPC_RecordChild3,
16770 OPC_RecordChild4,
16771 OPC_RecordChild5,
16772 OPC_MoveChild5,
16773 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16774 OPC_MoveParent,
16775 OPC_CheckComplexPat6, /*#*/1,
16776 OPC_EmitMergeInputChains1_0,
16777 OPC_EmitConvertToTarget2,
16778 OPC_EmitNodeXForm, 4, 8,
16779 OPC_EmitConvertToTarget5,
16780 OPC_EmitNodeXForm, 9, 10,
16781 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_OILH), 0|OPFL_Chain|OPFL_MemRefs,
16782 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11,
16783 28,
16784 OPC_RecordChild3,
16785 OPC_RecordChild4,
16786 OPC_RecordChild5,
16787 OPC_MoveChild5,
16788 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16789 OPC_MoveParent,
16790 OPC_CheckComplexPat6, /*#*/1,
16791 OPC_EmitMergeInputChains1_0,
16792 OPC_EmitConvertToTarget5,
16793 OPC_EmitNodeXForm, 9, 8,
16794 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_OR), 0|OPFL_Chain|OPFL_MemRefs,
16795 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
16796 0,
16797 76, TARGET_VAL(SystemZISD::ATOMIC_LOADW_NAND),
16798 OPC_RecordMemRef,
16799 OPC_RecordNode,
16800 OPC_RecordChild1,
16801 OPC_CheckChild1TypeI64,
16802 OPC_RecordChild2,
16803 OPC_Scope, 39,
16804 OPC_MoveChild2,
16805 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16806 OPC_CheckPredicate, 56,
16807 OPC_MoveParent,
16808 OPC_RecordChild3,
16809 OPC_RecordChild4,
16810 OPC_RecordChild5,
16811 OPC_MoveChild5,
16812 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16813 OPC_MoveParent,
16814 OPC_CheckComplexPat6, /*#*/1,
16815 OPC_EmitMergeInputChains1_0,
16816 OPC_EmitConvertToTarget2,
16817 OPC_EmitNodeXForm, 4, 8,
16818 OPC_EmitConvertToTarget5,
16819 OPC_EmitNodeXForm, 9, 10,
16820 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_NILHi), 0|OPFL_Chain|OPFL_MemRefs,
16821 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11,
16822 28,
16823 OPC_RecordChild3,
16824 OPC_RecordChild4,
16825 OPC_RecordChild5,
16826 OPC_MoveChild5,
16827 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16828 OPC_MoveParent,
16829 OPC_CheckComplexPat6, /*#*/1,
16830 OPC_EmitMergeInputChains1_0,
16831 OPC_EmitConvertToTarget5,
16832 OPC_EmitNodeXForm, 9, 8,
16833 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_NRi), 0|OPFL_Chain|OPFL_MemRefs,
16834 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
16835 0,
16836 80, TARGET_VAL(SystemZISD::SMUL_LOHI),
16837 OPC_RecordChild0,
16838 OPC_CheckChild0TypeI64,
16839 OPC_Scope, 65,
16840 OPC_MoveChild1,
16841 OPC_SwitchOpcode , 29, TARGET_VAL(ISD::LOAD),
16842 OPC_RecordMemRef,
16843 OPC_RecordNode,
16844 OPC_CheckFoldableChainNode,
16845 OPC_RecordChild1,
16846 OPC_CheckChild1TypeI64,
16847 OPC_CheckPredicate0,
16848 OPC_CheckPredicate3,
16849 OPC_CheckPredicate1,
16850 OPC_CheckTypeI64,
16851 OPC_MoveParent,
16852 OPC_CheckComplexPat2, /*#*/2,
16853 OPC_EmitMergeInputChains1_1,
16854 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16855 MVT::Untyped, 1, 0,
16856 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MG), 0|OPFL_Chain|OPFL_MemRefs,
16857 MVT::Untyped, 4, 6, 3, 4, 5,
16858 27, TARGET_VAL(ISD::ATOMIC_LOAD),
16859 OPC_RecordMemRef,
16860 OPC_RecordNode,
16861 OPC_CheckFoldableChainNode,
16862 OPC_RecordChild1,
16863 OPC_CheckChild1TypeI64,
16864 OPC_CheckPredicate1,
16865 OPC_CheckTypeI64,
16866 OPC_MoveParent,
16867 OPC_CheckComplexPat2, /*#*/2,
16868 OPC_EmitMergeInputChains1_1,
16869 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16870 MVT::Untyped, 1, 0,
16871 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MG), 0|OPFL_Chain|OPFL_MemRefs,
16872 MVT::Untyped, 4, 6, 3, 4, 5,
16873 0,
16874 9,
16875 OPC_RecordChild1,
16876 OPC_CheckChild1TypeI64,
16877 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MGRK),
16878 MVT::Untyped, 2, 0, 1,
16879 0,
16880 86, TARGET_VAL(SystemZISD::UMUL_LOHI),
16881 OPC_RecordChild0,
16882 OPC_CheckChild0TypeI64,
16883 OPC_Scope, 65,
16884 OPC_MoveChild1,
16885 OPC_SwitchOpcode , 29, TARGET_VAL(ISD::LOAD),
16886 OPC_RecordMemRef,
16887 OPC_RecordNode,
16888 OPC_CheckFoldableChainNode,
16889 OPC_RecordChild1,
16890 OPC_CheckChild1TypeI64,
16891 OPC_CheckPredicate0,
16892 OPC_CheckPredicate3,
16893 OPC_CheckPredicate1,
16894 OPC_CheckTypeI64,
16895 OPC_MoveParent,
16896 OPC_CheckComplexPat2, /*#*/2,
16897 OPC_EmitMergeInputChains1_1,
16898 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16899 MVT::Untyped, 1, 0,
16900 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MLG), 0|OPFL_Chain|OPFL_MemRefs,
16901 MVT::Untyped, 4, 6, 3, 4, 5,
16902 27, TARGET_VAL(ISD::ATOMIC_LOAD),
16903 OPC_RecordMemRef,
16904 OPC_RecordNode,
16905 OPC_CheckFoldableChainNode,
16906 OPC_RecordChild1,
16907 OPC_CheckChild1TypeI64,
16908 OPC_CheckPredicate1,
16909 OPC_CheckTypeI64,
16910 OPC_MoveParent,
16911 OPC_CheckComplexPat2, /*#*/2,
16912 OPC_EmitMergeInputChains1_1,
16913 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16914 MVT::Untyped, 1, 0,
16915 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MLG), 0|OPFL_Chain|OPFL_MemRefs,
16916 MVT::Untyped, 4, 6, 3, 4, 5,
16917 0,
16918 15,
16919 OPC_RecordChild1,
16920 OPC_CheckChild1TypeI64,
16921 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16922 MVT::Untyped, 1, 0,
16923 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MLGR),
16924 MVT::Untyped, 2, 2, 1,
16925 0,
16926 26|128,1, TARGET_VAL(SystemZISD::SDIVREM),
16927 OPC_RecordChild0,
16928 OPC_CheckChild0TypeI64,
16929 OPC_Scope, 115,
16930 OPC_MoveChild1,
16931 OPC_SwitchOpcode , 54, TARGET_VAL(ISD::LOAD),
16932 OPC_RecordMemRef,
16933 OPC_RecordNode,
16934 OPC_CheckFoldableChainNode,
16935 OPC_RecordChild1,
16936 OPC_CheckChild1TypeI64,
16937 OPC_CheckPredicate0,
16938 OPC_CheckPredicate3,
16939 OPC_CheckPredicate1,
16940 OPC_SwitchType , 20, MVT::i32,
16941 OPC_MoveParent,
16942 OPC_CheckComplexPat2, /*#*/2,
16943 OPC_EmitMergeInputChains1_1,
16944 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16945 MVT::Untyped, 1, 0,
16946 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DSGF), 0|OPFL_Chain|OPFL_MemRefs,
16947 MVT::Untyped, 4, 6, 3, 4, 5,
16948 20, MVT::i64,
16949 OPC_MoveParent,
16950 OPC_CheckComplexPat2, /*#*/2,
16951 OPC_EmitMergeInputChains1_1,
16952 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16953 MVT::Untyped, 1, 0,
16954 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DSG), 0|OPFL_Chain|OPFL_MemRefs,
16955 MVT::Untyped, 4, 6, 3, 4, 5,
16956 0,
16957 52, TARGET_VAL(ISD::ATOMIC_LOAD),
16958 OPC_RecordMemRef,
16959 OPC_RecordNode,
16960 OPC_CheckFoldableChainNode,
16961 OPC_RecordChild1,
16962 OPC_CheckChild1TypeI64,
16963 OPC_CheckPredicate1,
16964 OPC_SwitchType , 20, MVT::i32,
16965 OPC_MoveParent,
16966 OPC_CheckComplexPat2, /*#*/2,
16967 OPC_EmitMergeInputChains1_1,
16968 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16969 MVT::Untyped, 1, 0,
16970 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DSGF), 0|OPFL_Chain|OPFL_MemRefs,
16971 MVT::Untyped, 4, 6, 3, 4, 5,
16972 20, MVT::i64,
16973 OPC_MoveParent,
16974 OPC_CheckComplexPat2, /*#*/2,
16975 OPC_EmitMergeInputChains1_1,
16976 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16977 MVT::Untyped, 1, 0,
16978 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DSG), 0|OPFL_Chain|OPFL_MemRefs,
16979 MVT::Untyped, 4, 6, 3, 4, 5,
16980 0,
16981 0,
16982 33,
16983 OPC_RecordChild1,
16984 OPC_Scope, 14,
16985 OPC_CheckChild1TypeI32,
16986 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16987 MVT::Untyped, 1, 0,
16988 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DSGFR),
16989 MVT::Untyped, 2, 2, 1,
16990 14,
16991 OPC_CheckChild1TypeI64,
16992 OPC_EmitNode1None, TARGET_VAL(SystemZ::AEXT128),
16993 MVT::Untyped, 1, 0,
16994 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DSGR),
16995 MVT::Untyped, 2, 2, 1,
16996 0,
16997 0,
16998 93|128,1, TARGET_VAL(SystemZISD::UDIVREM),
16999 OPC_RecordChild0,
17000 OPC_Scope, 85,
17001 OPC_CheckChild0TypeI64,
17002 OPC_Scope, 65,
17003 OPC_MoveChild1,
17004 OPC_SwitchOpcode , 29, TARGET_VAL(ISD::LOAD),
17005 OPC_RecordMemRef,
17006 OPC_RecordNode,
17007 OPC_CheckFoldableChainNode,
17008 OPC_RecordChild1,
17009 OPC_CheckChild1TypeI64,
17010 OPC_CheckPredicate0,
17011 OPC_CheckPredicate3,
17012 OPC_CheckPredicate1,
17013 OPC_CheckTypeI64,
17014 OPC_MoveParent,
17015 OPC_CheckComplexPat2, /*#*/2,
17016 OPC_EmitMergeInputChains1_1,
17017 OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
17018 MVT::Untyped, 1, 0,
17019 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DLG), 0|OPFL_Chain|OPFL_MemRefs,
17020 MVT::Untyped, 4, 6, 3, 4, 5,
17021 27, TARGET_VAL(ISD::ATOMIC_LOAD),
17022 OPC_RecordMemRef,
17023 OPC_RecordNode,
17024 OPC_CheckFoldableChainNode,
17025 OPC_RecordChild1,
17026 OPC_CheckChild1TypeI64,
17027 OPC_CheckPredicate1,
17028 OPC_CheckTypeI64,
17029 OPC_MoveParent,
17030 OPC_CheckComplexPat2, /*#*/2,
17031 OPC_EmitMergeInputChains1_1,
17032 OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
17033 MVT::Untyped, 1, 0,
17034 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DLG), 0|OPFL_Chain|OPFL_MemRefs,
17035 MVT::Untyped, 4, 6, 3, 4, 5,
17036 0,
17037 15,
17038 OPC_RecordChild1,
17039 OPC_CheckChild1TypeI64,
17040 OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
17041 MVT::Untyped, 1, 0,
17042 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DLGR),
17043 MVT::Untyped, 2, 2, 1,
17044 0,
17045 2|128,1,
17046 OPC_CheckChild0TypeI32,
17047 OPC_Scope, 95,
17048 OPC_MoveChild1,
17049 OPC_SwitchOpcode , 44, TARGET_VAL(ISD::LOAD),
17050 OPC_RecordMemRef,
17051 OPC_RecordNode,
17052 OPC_CheckFoldableChainNode,
17053 OPC_RecordChild1,
17054 OPC_CheckChild1TypeI64,
17055 OPC_CheckPredicate0,
17056 OPC_CheckPredicate3,
17057 OPC_CheckPredicate1,
17058 OPC_CheckTypeI32,
17059 OPC_MoveParent,
17060 OPC_CheckComplexPat2, /*#*/2,
17061 OPC_EmitMergeInputChains1_1,
17062 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17063 MVT::i64, 0,
17064 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17065 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17066 MVT::i64, 3, 6, 0, 7,
17067 OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
17068 MVT::Untyped, 1, 8,
17069 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DL), 0|OPFL_Chain|OPFL_MemRefs,
17070 MVT::Untyped, 4, 9, 3, 4, 5,
17071 42, TARGET_VAL(ISD::ATOMIC_LOAD),
17072 OPC_RecordMemRef,
17073 OPC_RecordNode,
17074 OPC_CheckFoldableChainNode,
17075 OPC_RecordChild1,
17076 OPC_CheckChild1TypeI64,
17077 OPC_CheckPredicate1,
17078 OPC_CheckTypeI32,
17079 OPC_MoveParent,
17080 OPC_CheckComplexPat2, /*#*/2,
17081 OPC_EmitMergeInputChains1_1,
17082 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17083 MVT::i64, 0,
17084 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17085 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17086 MVT::i64, 3, 6, 0, 7,
17087 OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
17088 MVT::Untyped, 1, 8,
17089 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DL), 0|OPFL_Chain|OPFL_MemRefs,
17090 MVT::Untyped, 4, 9, 3, 4, 5,
17091 0,
17092 30,
17093 OPC_RecordChild1,
17094 OPC_CheckChild1TypeI32,
17095 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
17096 MVT::i64, 0,
17097 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17098 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
17099 MVT::i64, 3, 2, 0, 3,
17100 OPC_EmitNode1None, TARGET_VAL(SystemZ::ZEXT128),
17101 MVT::Untyped, 1, 4,
17102 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DLR),
17103 MVT::Untyped, 2, 5, 1,
17104 0,
17105 0,
17106 92, TARGET_VAL(SystemZISD::MEMSET_MVC),
17107 OPC_RecordNode,
17108 OPC_RecordChild1,
17109 OPC_CheckChild1TypeI64,
17110 OPC_RecordChild2,
17111 OPC_Scope, 46,
17112 OPC_MoveChild2,
17113 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17114 OPC_Scope, 23,
17115 OPC_MoveSibling3,
17116 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17117 OPC_RecordNode,
17118 OPC_MoveParent,
17119 OPC_CheckComplexPat1, /*#*/1,
17120 OPC_EmitMergeInputChains1_0,
17121 OPC_EmitConvertToTarget2,
17122 OPC_EmitConvertToTarget3,
17123 OPC_EmitNodeXForm, 0, 7,
17124 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MemsetImmImm),
17125 MVT::i32, 4, 4, 5, 6, 8,
17126 15,
17127 OPC_MoveParent,
17128 OPC_RecordChild3,
17129 OPC_CheckComplexPat1, /*#*/1,
17130 OPC_EmitMergeInputChains1_0,
17131 OPC_EmitConvertToTarget2,
17132 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MemsetImmReg),
17133 MVT::i32, 4, 4, 5, 6, 3,
17134 0,
17135 38,
17136 OPC_RecordChild3,
17137 OPC_Scope, 21,
17138 OPC_MoveChild3,
17139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17140 OPC_MoveParent,
17141 OPC_CheckComplexPat1, /*#*/1,
17142 OPC_EmitMergeInputChains1_0,
17143 OPC_EmitConvertToTarget3,
17144 OPC_EmitNodeXForm, 0, 6,
17145 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MemsetRegImm),
17146 MVT::i32, 4, 4, 5, 2, 7,
17147 12,
17148 OPC_CheckComplexPat1, /*#*/1,
17149 OPC_EmitMergeInputChains1_0,
17150 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MemsetRegReg),
17151 MVT::i32, 4, 4, 5, 2, 3,
17152 0,
17153 0,
17154 74, TARGET_VAL(SystemZISD::ATOMIC_LOADW_ADD),
17155 OPC_RecordMemRef,
17156 OPC_RecordNode,
17157 OPC_RecordChild1,
17158 OPC_CheckChild1TypeI64,
17159 OPC_RecordChild2,
17160 OPC_Scope, 37,
17161 OPC_MoveChild2,
17162 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17163 OPC_MoveParent,
17164 OPC_RecordChild3,
17165 OPC_RecordChild4,
17166 OPC_RecordChild5,
17167 OPC_MoveChild5,
17168 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17169 OPC_MoveParent,
17170 OPC_CheckComplexPat6, /*#*/1,
17171 OPC_EmitMergeInputChains1_0,
17172 OPC_EmitConvertToTarget2,
17173 OPC_EmitNodeXForm, 11, 8,
17174 OPC_EmitConvertToTarget5,
17175 OPC_EmitNodeXForm, 9, 10,
17176 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_AFI), 0|OPFL_Chain|OPFL_MemRefs,
17177 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11,
17178 28,
17179 OPC_RecordChild3,
17180 OPC_RecordChild4,
17181 OPC_RecordChild5,
17182 OPC_MoveChild5,
17183 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17184 OPC_MoveParent,
17185 OPC_CheckComplexPat6, /*#*/1,
17186 OPC_EmitMergeInputChains1_0,
17187 OPC_EmitConvertToTarget5,
17188 OPC_EmitNodeXForm, 9, 8,
17189 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_AR), 0|OPFL_Chain|OPFL_MemRefs,
17190 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
17191 0,
17192 74, TARGET_VAL(SystemZISD::ATOMIC_LOADW_XOR),
17193 OPC_RecordMemRef,
17194 OPC_RecordNode,
17195 OPC_RecordChild1,
17196 OPC_CheckChild1TypeI64,
17197 OPC_RecordChild2,
17198 OPC_Scope, 37,
17199 OPC_MoveChild2,
17200 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17201 OPC_MoveParent,
17202 OPC_RecordChild3,
17203 OPC_RecordChild4,
17204 OPC_RecordChild5,
17205 OPC_MoveChild5,
17206 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17207 OPC_MoveParent,
17208 OPC_CheckComplexPat6, /*#*/1,
17209 OPC_EmitMergeInputChains1_0,
17210 OPC_EmitConvertToTarget2,
17211 OPC_EmitNodeXForm, 9, 8,
17212 OPC_EmitConvertToTarget5,
17213 OPC_EmitNodeXForm, 9, 10,
17214 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_XILF), 0|OPFL_Chain|OPFL_MemRefs,
17215 MVT::i32, MVT::i32, 6, 6, 7, 9, 3, 4, 11,
17216 28,
17217 OPC_RecordChild3,
17218 OPC_RecordChild4,
17219 OPC_RecordChild5,
17220 OPC_MoveChild5,
17221 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17222 OPC_MoveParent,
17223 OPC_CheckComplexPat6, /*#*/1,
17224 OPC_EmitMergeInputChains1_0,
17225 OPC_EmitConvertToTarget5,
17226 OPC_EmitNodeXForm, 9, 8,
17227 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_XR), 0|OPFL_Chain|OPFL_MemRefs,
17228 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
17229 0,
17230 116, TARGET_VAL(SystemZISD::LRV),
17231 OPC_RecordMemRef,
17232 OPC_RecordNode,
17233 OPC_RecordChild1,
17234 OPC_CheckChild1TypeI64,
17235 OPC_SwitchType , 32, MVT::i32,
17236 OPC_Scope, 14,
17237 OPC_CheckPredicate, 53,
17238 OPC_CheckComplexPat2, /*#*/1,
17239 OPC_EmitMergeInputChains1_0,
17240 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRVH), 0|OPFL_Chain|OPFL_MemRefs,
17241 MVT::i32, 3, 2, 3, 4,
17242 14,
17243 OPC_CheckPredicate, 54,
17244 OPC_CheckComplexPat2, /*#*/1,
17245 OPC_EmitMergeInputChains1_0,
17246 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRV), 0|OPFL_Chain|OPFL_MemRefs,
17247 MVT::i32, 3, 2, 3, 4,
17248 0,
17249 14, MVT::i64,
17250 OPC_CheckPredicate, 48,
17251 OPC_CheckComplexPat2, /*#*/1,
17252 OPC_EmitMergeInputChains1_0,
17253 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LRVG), 0|OPFL_Chain|OPFL_MemRefs,
17254 MVT::i64, 3, 2, 3, 4,
17255 13, MVT::i128,
17256 OPC_CheckPatternPredicate5,
17257 OPC_CheckComplexPat0, /*#*/1,
17258 OPC_EmitMergeInputChains1_0,
17259 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRQ), 0|OPFL_Chain|OPFL_MemRefs,
17260 MVT::i128, 3, 2, 3, 4,
17261 13, MVT::v8i16,
17262 OPC_CheckPatternPredicate5,
17263 OPC_CheckComplexPat0, /*#*/1,
17264 OPC_EmitMergeInputChains1_0,
17265 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRH), 0|OPFL_Chain|OPFL_MemRefs,
17266 MVT::v8i16, 3, 2, 3, 4,
17267 13, MVT::v4i32,
17268 OPC_CheckPatternPredicate5,
17269 OPC_CheckComplexPat0, /*#*/1,
17270 OPC_EmitMergeInputChains1_0,
17271 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRF), 0|OPFL_Chain|OPFL_MemRefs,
17272 MVT::v4i32, 3, 2, 3, 4,
17273 13, MVT::v2i64,
17274 OPC_CheckPatternPredicate5,
17275 OPC_CheckComplexPat0, /*#*/1,
17276 OPC_EmitMergeInputChains1_0,
17277 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRG), 0|OPFL_Chain|OPFL_MemRefs,
17278 MVT::v2i64, 3, 2, 3, 4,
17279 0,
17280 28, TARGET_VAL(SystemZISD::TBEGIN),
17281 OPC_RecordNode,
17282 OPC_RecordChild1,
17283 OPC_CheckChild1TypeI64,
17284 OPC_RecordChild2,
17285 OPC_MoveChild2,
17286 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17287 OPC_CheckPredicate, 40,
17288 OPC_MoveParent,
17289 OPC_CheckPatternPredicate, 10,
17290 OPC_CheckComplexPat1, /*#*/1,
17291 OPC_EmitMergeInputChains1_0,
17292 OPC_EmitConvertToTarget2,
17293 OPC_EmitNodeXForm, 10, 5,
17294 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::TBEGIN),
17295 MVT::i32, 3, 3, 4, 6,
17296 28, TARGET_VAL(SystemZISD::TBEGIN_NOFLOAT),
17297 OPC_RecordNode,
17298 OPC_RecordChild1,
17299 OPC_CheckChild1TypeI64,
17300 OPC_RecordChild2,
17301 OPC_MoveChild2,
17302 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17303 OPC_CheckPredicate, 40,
17304 OPC_MoveParent,
17305 OPC_CheckPatternPredicate, 10,
17306 OPC_CheckComplexPat1, /*#*/1,
17307 OPC_EmitMergeInputChains1_0,
17308 OPC_EmitConvertToTarget2,
17309 OPC_EmitNodeXForm, 10, 5,
17310 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::TBEGIN_nofloat),
17311 MVT::i32, 3, 3, 4, 6,
17312 16, TARGET_VAL(SystemZISD::ATOMIC_LOAD_128),
17313 OPC_RecordMemRef,
17314 OPC_RecordNode,
17315 OPC_RecordChild1,
17316 OPC_CheckChild1TypeI64,
17317 OPC_CheckComplexPat2, /*#*/1,
17318 OPC_EmitMergeInputChains1_0,
17319 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LPQ), 0|OPFL_Chain|OPFL_MemRefs,
17320 MVT::Untyped, 3, 2, 3, 4,
17321 17, TARGET_VAL(SystemZISD::ATOMIC_STORE_128),
17322 OPC_RecordMemRef,
17323 OPC_RecordNode,
17324 OPC_RecordChild1,
17325 OPC_RecordChild2,
17326 OPC_CheckChild2TypeI64,
17327 OPC_CheckComplexPat2, /*#*/2,
17328 OPC_EmitMergeInputChains1_0,
17329 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::STPQ), 0|OPFL_Chain|OPFL_MemRefs,
17330 4, 1, 3, 4, 5,
17331 113, TARGET_VAL(SystemZISD::VSTER),
17332 OPC_RecordMemRef,
17333 OPC_RecordNode,
17334 OPC_RecordChild1,
17335 OPC_Scope, 17,
17336 OPC_CheckChild1Type, MVT::v8i16,
17337 OPC_RecordChild2,
17338 OPC_CheckChild2TypeI64,
17339 OPC_CheckPatternPredicate5,
17340 OPC_CheckComplexPat0, /*#*/2,
17341 OPC_EmitMergeInputChains1_0,
17342 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERH), 0|OPFL_Chain|OPFL_MemRefs,
17343 4, 1, 3, 4, 5,
17344 17,
17345 OPC_CheckChild1Type, MVT::v4i32,
17346 OPC_RecordChild2,
17347 OPC_CheckChild2TypeI64,
17348 OPC_CheckPatternPredicate5,
17349 OPC_CheckComplexPat0, /*#*/2,
17350 OPC_EmitMergeInputChains1_0,
17351 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERF), 0|OPFL_Chain|OPFL_MemRefs,
17352 4, 1, 3, 4, 5,
17353 17,
17354 OPC_CheckChild1Type, MVT::v2i64,
17355 OPC_RecordChild2,
17356 OPC_CheckChild2TypeI64,
17357 OPC_CheckPatternPredicate5,
17358 OPC_CheckComplexPat0, /*#*/2,
17359 OPC_EmitMergeInputChains1_0,
17360 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERG), 0|OPFL_Chain|OPFL_MemRefs,
17361 4, 1, 3, 4, 5,
17362 17,
17363 OPC_CheckChild1Type, MVT::v4f32,
17364 OPC_RecordChild2,
17365 OPC_CheckChild2TypeI64,
17366 OPC_CheckPatternPredicate5,
17367 OPC_CheckComplexPat0, /*#*/2,
17368 OPC_EmitMergeInputChains1_0,
17369 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERF), 0|OPFL_Chain|OPFL_MemRefs,
17370 4, 1, 3, 4, 5,
17371 17,
17372 OPC_CheckChild1Type, MVT::v2f64,
17373 OPC_RecordChild2,
17374 OPC_CheckChild2TypeI64,
17375 OPC_CheckPatternPredicate5,
17376 OPC_CheckComplexPat0, /*#*/2,
17377 OPC_EmitMergeInputChains1_0,
17378 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTERG), 0|OPFL_Chain|OPFL_MemRefs,
17379 4, 1, 3, 4, 5,
17380 17,
17381 OPC_CheckChild1Type, MVT::v16i8,
17382 OPC_RecordChild2,
17383 OPC_CheckChild2TypeI64,
17384 OPC_CheckPatternPredicate5,
17385 OPC_CheckComplexPat0, /*#*/2,
17386 OPC_EmitMergeInputChains1_0,
17387 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::VSTBRQ), 0|OPFL_Chain|OPFL_MemRefs,
17388 4, 1, 3, 4, 5,
17389 0,
17390 48, TARGET_VAL(SystemZISD::TDC),
17391 OPC_RecordChild0,
17392 OPC_Scope, 14,
17393 OPC_CheckChild0Type, MVT::f32,
17394 OPC_RecordChild1,
17395 OPC_CheckComplexPat0, /*#*/1,
17396 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TCEB),
17397 MVT::i32, 4, 0, 2, 3, 4,
17398 14,
17399 OPC_CheckChild0Type, MVT::f64,
17400 OPC_RecordChild1,
17401 OPC_CheckComplexPat0, /*#*/1,
17402 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TCDB),
17403 MVT::i32, 4, 0, 2, 3, 4,
17404 14,
17405 OPC_CheckChild0Type, MVT::f128,
17406 OPC_RecordChild1,
17407 OPC_CheckComplexPat0, /*#*/1,
17408 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::TCXB),
17409 MVT::i32, 4, 0, 2, 3, 4,
17410 0,
17411 33, TARGET_VAL(SystemZISD::ATOMIC_SWAPW),
17412 OPC_RecordMemRef,
17413 OPC_RecordNode,
17414 OPC_RecordChild1,
17415 OPC_CheckChild1TypeI64,
17416 OPC_RecordChild2,
17417 OPC_RecordChild3,
17418 OPC_RecordChild4,
17419 OPC_RecordChild5,
17420 OPC_MoveChild5,
17421 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17422 OPC_MoveParent,
17423 OPC_CheckComplexPat6, /*#*/1,
17424 OPC_EmitMergeInputChains1_0,
17425 OPC_EmitConvertToTarget5,
17426 OPC_EmitNodeXForm, 9, 8,
17427 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_SWAPW), 0|OPFL_Chain|OPFL_MemRefs,
17428 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
17429 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_SUB),
17430 OPC_RecordMemRef,
17431 OPC_RecordNode,
17432 OPC_RecordChild1,
17433 OPC_CheckChild1TypeI64,
17434 OPC_RecordChild2,
17435 OPC_RecordChild3,
17436 OPC_RecordChild4,
17437 OPC_RecordChild5,
17438 OPC_MoveChild5,
17439 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17440 OPC_MoveParent,
17441 OPC_CheckComplexPat6, /*#*/1,
17442 OPC_EmitMergeInputChains1_0,
17443 OPC_EmitConvertToTarget5,
17444 OPC_EmitNodeXForm, 9, 8,
17445 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_SR), 0|OPFL_Chain|OPFL_MemRefs,
17446 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
17447 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_MIN),
17448 OPC_RecordMemRef,
17449 OPC_RecordNode,
17450 OPC_RecordChild1,
17451 OPC_CheckChild1TypeI64,
17452 OPC_RecordChild2,
17453 OPC_RecordChild3,
17454 OPC_RecordChild4,
17455 OPC_RecordChild5,
17456 OPC_MoveChild5,
17457 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17458 OPC_MoveParent,
17459 OPC_CheckComplexPat6, /*#*/1,
17460 OPC_EmitMergeInputChains1_0,
17461 OPC_EmitConvertToTarget5,
17462 OPC_EmitNodeXForm, 9, 8,
17463 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_MIN), 0|OPFL_Chain|OPFL_MemRefs,
17464 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
17465 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_MAX),
17466 OPC_RecordMemRef,
17467 OPC_RecordNode,
17468 OPC_RecordChild1,
17469 OPC_CheckChild1TypeI64,
17470 OPC_RecordChild2,
17471 OPC_RecordChild3,
17472 OPC_RecordChild4,
17473 OPC_RecordChild5,
17474 OPC_MoveChild5,
17475 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17476 OPC_MoveParent,
17477 OPC_CheckComplexPat6, /*#*/1,
17478 OPC_EmitMergeInputChains1_0,
17479 OPC_EmitConvertToTarget5,
17480 OPC_EmitNodeXForm, 9, 8,
17481 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_MAX), 0|OPFL_Chain|OPFL_MemRefs,
17482 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
17483 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_UMIN),
17484 OPC_RecordMemRef,
17485 OPC_RecordNode,
17486 OPC_RecordChild1,
17487 OPC_CheckChild1TypeI64,
17488 OPC_RecordChild2,
17489 OPC_RecordChild3,
17490 OPC_RecordChild4,
17491 OPC_RecordChild5,
17492 OPC_MoveChild5,
17493 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17494 OPC_MoveParent,
17495 OPC_CheckComplexPat6, /*#*/1,
17496 OPC_EmitMergeInputChains1_0,
17497 OPC_EmitConvertToTarget5,
17498 OPC_EmitNodeXForm, 9, 8,
17499 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_UMIN), 0|OPFL_Chain|OPFL_MemRefs,
17500 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
17501 33, TARGET_VAL(SystemZISD::ATOMIC_LOADW_UMAX),
17502 OPC_RecordMemRef,
17503 OPC_RecordNode,
17504 OPC_RecordChild1,
17505 OPC_CheckChild1TypeI64,
17506 OPC_RecordChild2,
17507 OPC_RecordChild3,
17508 OPC_RecordChild4,
17509 OPC_RecordChild5,
17510 OPC_MoveChild5,
17511 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17512 OPC_MoveParent,
17513 OPC_CheckComplexPat6, /*#*/1,
17514 OPC_EmitMergeInputChains1_0,
17515 OPC_EmitConvertToTarget5,
17516 OPC_EmitNodeXForm, 9, 8,
17517 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_LOADW_UMAX), 0|OPFL_Chain|OPFL_MemRefs,
17518 MVT::i32, MVT::i32, 6, 6, 7, 2, 3, 4, 9,
17519 35, TARGET_VAL(SystemZISD::ATOMIC_CMP_SWAPW),
17520 OPC_RecordMemRef,
17521 OPC_RecordNode,
17522 OPC_RecordChild1,
17523 OPC_CheckChild1TypeI64,
17524 OPC_RecordChild2,
17525 OPC_RecordChild3,
17526 OPC_RecordChild4,
17527 OPC_RecordChild5,
17528 OPC_RecordChild6,
17529 OPC_MoveChild6,
17530 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17531 OPC_MoveParent,
17532 OPC_CheckComplexPat6, /*#*/1,
17533 OPC_EmitMergeInputChains1_0,
17534 OPC_EmitConvertToTarget6,
17535 OPC_EmitNodeXForm, 9, 9,
17536 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ATOMIC_CMP_SWAPW), 0|OPFL_Chain|OPFL_MemRefs,
17537 MVT::i32, MVT::i32, 7, 7, 8, 2, 3, 4, 5, 10,
17538 45, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
17539 OPC_RecordMemRef,
17540 OPC_RecordNode,
17541 OPC_RecordChild1,
17542 OPC_CheckChild1TypeI64,
17543 OPC_RecordChild2,
17544 OPC_SwitchType , 17, MVT::i32,
17545 OPC_CheckPredicate, 68,
17546 OPC_CheckPatternPredicate, 9,
17547 OPC_CheckComplexPat6, /*#*/1,
17548 OPC_EmitMergeInputChains1_0,
17549 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAA), 0|OPFL_Chain|OPFL_MemRefs,
17550 MVT::i32, MVT::i32, 3, 2, 3, 4,
17551 17, MVT::i64,
17552 OPC_CheckPredicate, 69,
17553 OPC_CheckPatternPredicate, 9,
17554 OPC_CheckComplexPat6, /*#*/1,
17555 OPC_EmitMergeInputChains1_0,
17556 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAAG), 0|OPFL_Chain|OPFL_MemRefs,
17557 MVT::i64, MVT::i32, 3, 2, 3, 4,
17558 0,
17559 45, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
17560 OPC_RecordMemRef,
17561 OPC_RecordNode,
17562 OPC_RecordChild1,
17563 OPC_CheckChild1TypeI64,
17564 OPC_RecordChild2,
17565 OPC_SwitchType , 17, MVT::i32,
17566 OPC_CheckPredicate, 68,
17567 OPC_CheckPatternPredicate, 9,
17568 OPC_CheckComplexPat6, /*#*/1,
17569 OPC_EmitMergeInputChains1_0,
17570 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAN), 0|OPFL_Chain|OPFL_MemRefs,
17571 MVT::i32, MVT::i32, 3, 2, 3, 4,
17572 17, MVT::i64,
17573 OPC_CheckPredicate, 69,
17574 OPC_CheckPatternPredicate, 9,
17575 OPC_CheckComplexPat6, /*#*/1,
17576 OPC_EmitMergeInputChains1_0,
17577 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LANG), 0|OPFL_Chain|OPFL_MemRefs,
17578 MVT::i64, MVT::i32, 3, 2, 3, 4,
17579 0,
17580 45, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
17581 OPC_RecordMemRef,
17582 OPC_RecordNode,
17583 OPC_RecordChild1,
17584 OPC_CheckChild1TypeI64,
17585 OPC_RecordChild2,
17586 OPC_SwitchType , 17, MVT::i32,
17587 OPC_CheckPredicate, 68,
17588 OPC_CheckPatternPredicate, 9,
17589 OPC_CheckComplexPat6, /*#*/1,
17590 OPC_EmitMergeInputChains1_0,
17591 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAO), 0|OPFL_Chain|OPFL_MemRefs,
17592 MVT::i32, MVT::i32, 3, 2, 3, 4,
17593 17, MVT::i64,
17594 OPC_CheckPredicate, 69,
17595 OPC_CheckPatternPredicate, 9,
17596 OPC_CheckComplexPat6, /*#*/1,
17597 OPC_EmitMergeInputChains1_0,
17598 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAOG), 0|OPFL_Chain|OPFL_MemRefs,
17599 MVT::i64, MVT::i32, 3, 2, 3, 4,
17600 0,
17601 45, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
17602 OPC_RecordMemRef,
17603 OPC_RecordNode,
17604 OPC_RecordChild1,
17605 OPC_CheckChild1TypeI64,
17606 OPC_RecordChild2,
17607 OPC_SwitchType , 17, MVT::i32,
17608 OPC_CheckPredicate, 68,
17609 OPC_CheckPatternPredicate, 9,
17610 OPC_CheckComplexPat6, /*#*/1,
17611 OPC_EmitMergeInputChains1_0,
17612 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAX), 0|OPFL_Chain|OPFL_MemRefs,
17613 MVT::i32, MVT::i32, 3, 2, 3, 4,
17614 17, MVT::i64,
17615 OPC_CheckPredicate, 69,
17616 OPC_CheckPatternPredicate, 9,
17617 OPC_CheckComplexPat6, /*#*/1,
17618 OPC_EmitMergeInputChains1_0,
17619 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::LAXG), 0|OPFL_Chain|OPFL_MemRefs,
17620 MVT::i64, MVT::i32, 3, 2, 3, 4,
17621 0,
17622 40, TARGET_VAL(ISD::FrameIndex),
17623 OPC_RecordNode,
17624 OPC_CheckTypeI64,
17625 OPC_Scope, 11,
17626 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
17627 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
17628 MVT::i64, 3, 1, 2, 3,
17629 11,
17630 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
17631 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
17632 MVT::i64, 3, 1, 2, 3,
17633 11,
17634 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
17635 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
17636 MVT::i64, 3, 1, 2, 3,
17637 0,
17638 40, TARGET_VAL(SystemZISD::ADJDYNALLOC),
17639 OPC_RecordNode,
17640 OPC_CheckTypeI64,
17641 OPC_Scope, 11,
17642 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
17643 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::ADJDYNALLOC),
17644 MVT::i64, 3, 1, 2, 3,
17645 11,
17646 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
17647 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LA),
17648 MVT::i64, 3, 1, 2, 3,
17649 11,
17650 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
17651 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LAY),
17652 MVT::i64, 3, 1, 2, 3,
17653 0,
17654 60, TARGET_VAL(SystemZISD::ATOMIC_CMP_SWAP),
17655 OPC_RecordMemRef,
17656 OPC_RecordNode,
17657 OPC_RecordChild1,
17658 OPC_CheckChild1TypeI64,
17659 OPC_RecordChild2,
17660 OPC_RecordChild3,
17661 OPC_SwitchType , 34, MVT::i32,
17662 OPC_Scope, 15,
17663 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
17664 OPC_EmitMergeInputChains1_0,
17665 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::CS), 0|OPFL_Chain|OPFL_MemRefs,
17666 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
17667 15,
17668 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
17669 OPC_EmitMergeInputChains1_0,
17670 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::CSY), 0|OPFL_Chain|OPFL_MemRefs,
17671 MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
17672 0,
17673 14, MVT::i64,
17674 OPC_CheckComplexPat6, /*#*/1,
17675 OPC_EmitMergeInputChains1_0,
17676 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::CSG), 0|OPFL_Chain|OPFL_MemRefs,
17677 MVT::i64, MVT::i32, 4, 2, 3, 4, 5,
17678 0,
17679 20, TARGET_VAL(SystemZISD::ATOMIC_CMP_SWAP_128),
17680 OPC_RecordMemRef,
17681 OPC_RecordNode,
17682 OPC_RecordChild1,
17683 OPC_CheckChild1TypeI64,
17684 OPC_RecordChild2,
17685 OPC_RecordChild3,
17686 OPC_CheckComplexPat6, /*#*/1,
17687 OPC_EmitMergeInputChains1_0,
17688 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::CDSG), 0|OPFL_Chain|OPFL_MemRefs,
17689 MVT::Untyped, MVT::i32, 4, 2, 3, 4, 5,
17690 57|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
17691 OPC_RecordChild0,
17692 OPC_Scope, 15,
17693 OPC_CheckChild0Type, MVT::v2i64,
17694 OPC_RecordChild1,
17695 OPC_CheckTypeI64,
17696 OPC_CheckPatternPredicate0,
17697 OPC_CheckComplexPat7, /*#*/1,
17698 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLGVG),
17699 MVT::i64, 3, 0, 2, 3,
17700 23,
17701 OPC_CheckChild0Type, MVT::v16i8,
17702 OPC_RecordChild1,
17703 OPC_CheckTypeI32,
17704 OPC_CheckComplexPat7, /*#*/1,
17705 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVB),
17706 MVT::i64, 3, 0, 2, 3,
17707 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17708 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17709 MVT::i32, 2, 4, 5,
17710 23,
17711 OPC_CheckChild0Type, MVT::v8i16,
17712 OPC_RecordChild1,
17713 OPC_CheckTypeI32,
17714 OPC_CheckComplexPat7, /*#*/1,
17715 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVH),
17716 MVT::i64, 3, 0, 2, 3,
17717 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17718 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17719 MVT::i32, 2, 4, 5,
17720 23,
17721 OPC_CheckChild0Type, MVT::v4i32,
17722 OPC_RecordChild1,
17723 OPC_CheckTypeI32,
17724 OPC_CheckComplexPat7, /*#*/1,
17725 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
17726 MVT::i64, 3, 0, 2, 3,
17727 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17728 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17729 MVT::i32, 2, 4, 5,
17730 46,
17731 OPC_CheckChild0Type, MVT::v4f32,
17732 OPC_Scope, 13,
17733 OPC_CheckChild1Integer, 0,
17734 OPC_CheckType, MVT::f32,
17735 OPC_EmitStringInteger32, SystemZ::subreg_h32,
17736 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17737 MVT::f32, 2, 0, 1,
17738 27,
17739 OPC_RecordChild1,
17740 OPC_MoveChild1,
17741 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17742 OPC_CheckPredicate, 36,
17743 OPC_MoveParent,
17744 OPC_CheckType, MVT::f32,
17745 OPC_EmitConvertToTarget1,
17746 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPF),
17747 MVT::i128, 2, 0, 2,
17748 OPC_EmitStringInteger32, SystemZ::subreg_h32,
17749 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17750 MVT::f32, 2, 3, 4,
17751 0,
17752 46,
17753 OPC_CheckChild0Type, MVT::v2f64,
17754 OPC_Scope, 13,
17755 OPC_CheckChild1Integer, 0,
17756 OPC_CheckType, MVT::f64,
17757 OPC_EmitStringInteger32, SystemZ::subreg_h64,
17758 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17759 MVT::f64, 2, 0, 1,
17760 27,
17761 OPC_RecordChild1,
17762 OPC_MoveChild1,
17763 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17764 OPC_CheckPredicate, 37,
17765 OPC_MoveParent,
17766 OPC_CheckType, MVT::f64,
17767 OPC_EmitConvertToTarget1,
17768 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPG),
17769 MVT::i128, 2, 0, 2,
17770 OPC_EmitStringInteger32, SystemZ::subreg_h64,
17771 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17772 MVT::f64, 2, 3, 4,
17773 0,
17774 0,
17775 15, TARGET_VAL(SystemZISD::STCKF),
17776 OPC_RecordMemRef,
17777 OPC_RecordNode,
17778 OPC_RecordChild1,
17779 OPC_CheckChild1TypeI64,
17780 OPC_CheckComplexPat1, /*#*/1,
17781 OPC_EmitMergeInputChains1_0,
17782 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::STCKF), 0|OPFL_Chain|OPFL_MemRefs,
17783 MVT::i32, 2, 2, 3,
17784 33, TARGET_VAL(SystemZISD::BR_CCMASK),
17785 OPC_RecordNode,
17786 OPC_RecordChild1,
17787 OPC_MoveChild1,
17788 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17789 OPC_CheckPredicate, 39,
17790 OPC_MoveSibling2,
17791 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17792 OPC_RecordNode,
17793 OPC_CheckPredicate, 39,
17794 OPC_MoveSibling3,
17795 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
17796 OPC_RecordNode,
17797 OPC_MoveParent,
17798 OPC_RecordChild4,
17799 OPC_EmitMergeInputChains1_0,
17800 OPC_EmitCopyToReg4, SystemZ::CC,
17801 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::BRC), 0|OPFL_Chain|OPFL_GlueInput,
17802 3, 1, 2, 3,
17803 52|128,1, TARGET_VAL(ISD::TRUNCATE),
17804 OPC_Scope, 118,
17805 OPC_MoveChild0,
17806 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
17807 OPC_RecordChild0,
17808 OPC_Scope, 49,
17809 OPC_CheckChild1Integer, 0|128,1,
17810 OPC_CheckChild1TypeI32,
17811 OPC_Scope, 15,
17812 OPC_MoveParent,
17813 OPC_CheckTypeI64,
17814 OPC_CheckPatternPredicate0,
17815 OPC_EmitRegisterI32, 0 ,
17816 OPC_EmitInteger32, 0,
17817 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLGVG),
17818 MVT::i64, 3, 0, 1, 2,
17819 26,
17820 OPC_CheckType, MVT::i128,
17821 OPC_MoveParent,
17822 OPC_CheckTypeI32,
17823 OPC_CheckPatternPredicate0,
17824 OPC_EmitRegisterI32, 0 ,
17825 OPC_EmitInteger32, 2,
17826 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
17827 MVT::i64, 3, 0, 1, 2,
17828 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17829 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17830 MVT::i32, 2, 3, 4,
17831 0,
17832 29,
17833 OPC_CheckChild1Integer, 64,
17834 OPC_CheckChild1TypeI32,
17835 OPC_CheckType, MVT::i128,
17836 OPC_MoveParent,
17837 OPC_CheckTypeI32,
17838 OPC_CheckPatternPredicate0,
17839 OPC_EmitRegisterI32, 0 ,
17840 OPC_EmitInteger32, 4,
17841 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
17842 MVT::i64, 3, 0, 1, 2,
17843 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17844 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17845 MVT::i32, 2, 3, 4,
17846 30,
17847 OPC_CheckChild1Integer, 64|128,1,
17848 OPC_CheckChild1TypeI32,
17849 OPC_CheckType, MVT::i128,
17850 OPC_MoveParent,
17851 OPC_CheckTypeI32,
17852 OPC_CheckPatternPredicate0,
17853 OPC_EmitRegisterI32, 0 ,
17854 OPC_EmitInteger32, 0,
17855 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
17856 MVT::i64, 3, 0, 1, 2,
17857 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17858 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17859 MVT::i32, 2, 3, 4,
17860 0,
17861 58,
17862 OPC_RecordChild0,
17863 OPC_SwitchType , 38, MVT::i32,
17864 OPC_Scope, 10,
17865 OPC_CheckChild0TypeI64,
17866 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17867 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17868 MVT::i32, 2, 0, 1,
17869 24,
17870 OPC_CheckChild0Type, MVT::i128,
17871 OPC_CheckPatternPredicate0,
17872 OPC_EmitRegisterI32, 0 ,
17873 OPC_EmitInteger32, 6,
17874 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLGVF),
17875 MVT::i64, 3, 0, 1, 2,
17876 OPC_EmitStringInteger32, SystemZ::subreg_l32,
17877 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17878 MVT::i32, 2, 3, 4,
17879 0,
17880 13, MVT::i64,
17881 OPC_CheckPatternPredicate0,
17882 OPC_EmitRegisterI32, 0 ,
17883 OPC_EmitInteger32, 2,
17884 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLGVG),
17885 MVT::i64, 3, 0, 1, 2,
17886 0,
17887 0,
17888 50, TARGET_VAL(SystemZISD::CALL),
17889 OPC_RecordNode,
17890 OPC_CaptureGlueInput,
17891 OPC_RecordChild1,
17892 OPC_CheckChild1TypeI64,
17893 OPC_Scope, 11,
17894 OPC_CheckPatternPredicate, 12,
17895 OPC_CheckComplexPat5, /*#*/1,
17896 OPC_EmitMergeInputChains1_0,
17897 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBRASL_XPLINK64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17898 1, 2,
17899 11,
17900 OPC_CheckPatternPredicate, 15,
17901 OPC_CheckComplexPat5, /*#*/1,
17902 OPC_EmitMergeInputChains1_0,
17903 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBRASL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17904 1, 2,
17905 9,
17906 OPC_CheckPatternPredicate, 12,
17907 OPC_EmitMergeInputChains1_0,
17908 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBASR_XPLINK64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17909 1, 1,
17910 9,
17911 OPC_CheckPatternPredicate, 15,
17912 OPC_EmitMergeInputChains1_0,
17913 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBASR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17914 1, 1,
17915 0,
17916 24, TARGET_VAL(SystemZISD::SIBCALL),
17917 OPC_RecordNode,
17918 OPC_CaptureGlueInput,
17919 OPC_RecordChild1,
17920 OPC_CheckChild1TypeI64,
17921 OPC_Scope, 9,
17922 OPC_CheckComplexPat5, /*#*/1,
17923 OPC_EmitMergeInputChains1_0,
17924 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallJG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17925 1, 2,
17926 7,
17927 OPC_EmitMergeInputChains1_0,
17928 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::CallBR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17929 1, 1,
17930 0,
17931 20, TARGET_VAL(ISD::CALLSEQ_START),
17932 OPC_RecordNode,
17933 OPC_RecordChild1,
17934 OPC_MoveChild1,
17935 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17936 OPC_MoveSibling2,
17937 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17938 OPC_RecordNode,
17939 OPC_MoveParent,
17940 OPC_EmitMergeInputChains1_0,
17941 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
17942 2, 1, 2,
17943 21, TARGET_VAL(ISD::CALLSEQ_END),
17944 OPC_RecordNode,
17945 OPC_CaptureGlueInput,
17946 OPC_RecordChild1,
17947 OPC_MoveChild1,
17948 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17949 OPC_MoveSibling2,
17950 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17951 OPC_RecordNode,
17952 OPC_MoveParent,
17953 OPC_EmitMergeInputChains1_0,
17954 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
17955 2, 1, 2,
17956 108, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
17957 OPC_RecordNode,
17958 OPC_Scope, 10,
17959 OPC_CheckChild1Integer, 12|128,42|128,1,
17960 OPC_EmitMergeInputChains1_0,
17961 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::EFPC),
17962 MVT::i32, 0,
17963 26,
17964 OPC_CheckChild1Integer, 114|128,43|128,1,
17965 OPC_RecordChild2,
17966 OPC_CheckChild2TypeI64,
17967 OPC_RecordChild3,
17968 OPC_MoveChild3,
17969 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17970 OPC_CheckPredicate4,
17971 OPC_MoveParent,
17972 OPC_CheckPatternPredicate0,
17973 OPC_CheckComplexPat0, /*#*/1,
17974 OPC_EmitMergeInputChains1_0,
17975 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLBB),
17976 MVT::v16i8, 4, 3, 4, 5, 2,
17977 46,
17978 OPC_CheckChild1Integer, 118|128,43|128,1,
17979 OPC_RecordChild2,
17980 OPC_Scope, 22,
17981 OPC_MoveChild2,
17982 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17983 OPC_CheckPredicate4,
17984 OPC_MoveParent,
17985 OPC_RecordChild3,
17986 OPC_CheckChild3TypeI64,
17987 OPC_CheckPatternPredicate, 17,
17988 OPC_CheckComplexPat1, /*#*/2,
17989 OPC_EmitMergeInputChains1_0,
17990 OPC_EmitConvertToTarget1,
17991 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLRL),
17992 MVT::v16i8, 3, 3, 4, 5,
17993 15,
17994 OPC_RecordChild3,
17995 OPC_CheckChild3TypeI64,
17996 OPC_CheckPatternPredicate, 17,
17997 OPC_CheckComplexPat1, /*#*/2,
17998 OPC_EmitMergeInputChains1_0,
17999 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLRLR),
18000 MVT::v16i8, 3, 1, 3, 4,
18001 0,
18002 19,
18003 OPC_CheckChild1Integer, 116|128,43|128,1,
18004 OPC_RecordChild2,
18005 OPC_RecordChild3,
18006 OPC_CheckChild3TypeI64,
18007 OPC_CheckPatternPredicate0,
18008 OPC_CheckComplexPat1, /*#*/2,
18009 OPC_EmitMergeInputChains1_0,
18010 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLL),
18011 MVT::v16i8, 3, 1, 3, 4,
18012 0,
18013 17, TARGET_VAL(SystemZISD::TLS_GDCALL),
18014 OPC_RecordNode,
18015 OPC_CaptureGlueInput,
18016 OPC_RecordChild1,
18017 OPC_MoveChild1,
18018 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
18019 OPC_MoveParent,
18020 OPC_CheckPatternPredicate, 15,
18021 OPC_EmitMergeInputChains1_0,
18022 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::TLS_GDCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
18023 1, 1,
18024 17, TARGET_VAL(SystemZISD::TLS_LDCALL),
18025 OPC_RecordNode,
18026 OPC_CaptureGlueInput,
18027 OPC_RecordChild1,
18028 OPC_MoveChild1,
18029 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
18030 OPC_MoveParent,
18031 OPC_CheckPatternPredicate, 15,
18032 OPC_EmitMergeInputChains1_0,
18033 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::TLS_LDCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
18034 1, 1,
18035 10, TARGET_VAL(SystemZISD::PCREL_WRAPPER),
18036 OPC_RecordNode,
18037 OPC_CheckTypeI64,
18038 OPC_CheckComplexPat5, /*#*/0,
18039 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LARL),
18040 MVT::i64, 1, 1,
18041 10, TARGET_VAL(SystemZISD::PCREL_OFFSET),
18042 OPC_RecordNode,
18043 OPC_CheckTypeI64,
18044 OPC_CheckComplexPat5, /*#*/0,
18045 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LARL),
18046 MVT::i64, 1, 1,
18047 103, TARGET_VAL(ISD::ABS),
18048 OPC_Scope, 42,
18049 OPC_MoveChild0,
18050 OPC_SwitchOpcode , 10, TARGET_VAL(ISD::SIGN_EXTEND),
18051 OPC_RecordChild0,
18052 OPC_MoveParent,
18053 OPC_CheckTypeI64,
18054 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPGFR),
18055 MVT::i64, MVT::i32, 1, 0,
18056 23, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
18057 OPC_RecordChild0,
18058 OPC_MoveChild1,
18059 OPC_CheckValueType, MVT::i32,
18060 OPC_MoveParent,
18061 OPC_MoveParent,
18062 OPC_CheckTypeI64,
18063 OPC_EmitStringInteger32, SystemZ::subreg_l32,
18064 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18065 MVT::i32, 2, 0, 1,
18066 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPGFR),
18067 MVT::i64, MVT::i32, 1, 2,
18068 0,
18069 57,
18070 OPC_RecordChild0,
18071 OPC_SwitchType , 7, MVT::i32,
18072 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPR),
18073 MVT::i32, MVT::i32, 1, 0,
18074 7, MVT::i64,
18075 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPGR),
18076 MVT::i64, MVT::i32, 1, 0,
18077 7, MVT::v16i8,
18078 OPC_CheckPatternPredicate0,
18079 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPB),
18080 MVT::v16i8, 1, 0,
18081 7, MVT::v8i16,
18082 OPC_CheckPatternPredicate0,
18083 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPH),
18084 MVT::v8i16, 1, 0,
18085 7, MVT::v4i32,
18086 OPC_CheckPatternPredicate0,
18087 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPF),
18088 MVT::v4i32, 1, 0,
18089 7, MVT::v2i64,
18090 OPC_CheckPatternPredicate0,
18091 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLPG),
18092 MVT::v2i64, 1, 0,
18093 0,
18094 0,
18095 82|128,2, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
18096 OPC_Scope, 19|128,1,
18097 OPC_MoveChild0,
18098 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
18099 OPC_RecordChild0,
18100 OPC_CheckChild0TypeI32,
18101 OPC_MoveSibling1,
18102 OPC_Scope, 68,
18103 OPC_CheckValueType, MVT::i8,
18104 OPC_MoveParent,
18105 OPC_CheckType, MVT::i128,
18106 OPC_CheckPatternPredicate0,
18107 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
18108 MVT::i64, 0,
18109 OPC_EmitStringInteger32, SystemZ::subreg_l32,
18110 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
18111 MVT::i64, 3, 1, 0, 2,
18112 OPC_EmitNode1None, TARGET_VAL(SystemZ::LGBR),
18113 MVT::i64, 1, 3,
18114 OPC_EmitRegisterI32, 0 ,
18115 OPC_EmitInteger32, 126,
18116 OPC_EmitNode2None, TARGET_VAL(SystemZ::SRAG),
18117 MVT::i64, MVT::i32, 3, 4, 5, 6,
18118 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
18119 MVT::i64, 0,
18120 OPC_EmitStringInteger32, SystemZ::subreg_l32,
18121 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
18122 MVT::i64, 3, 9, 0, 10,
18123 OPC_EmitNode1None, TARGET_VAL(SystemZ::LGBR),
18124 MVT::i64, 1, 11,
18125 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
18126 MVT::i128, 2, 7, 12,
18127 68,
18128 OPC_CheckValueType, MVT::i16,
18129 OPC_MoveParent,
18130 OPC_CheckType, MVT::i128,
18131 OPC_CheckPatternPredicate0,
18132 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
18133 MVT::i64, 0,
18134 OPC_EmitStringInteger32, SystemZ::subreg_l32,
18135 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
18136 MVT::i64, 3, 1, 0, 2,
18137 OPC_EmitNode1None, TARGET_VAL(SystemZ::LGHR),
18138 MVT::i64, 1, 3,
18139 OPC_EmitRegisterI32, 0 ,
18140 OPC_EmitInteger32, 126,
18141 OPC_EmitNode2None, TARGET_VAL(SystemZ::SRAG),
18142 MVT::i64, MVT::i32, 3, 4, 5, 6,
18143 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
18144 MVT::i64, 0,
18145 OPC_EmitStringInteger32, SystemZ::subreg_l32,
18146 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
18147 MVT::i64, 3, 9, 0, 10,
18148 OPC_EmitNode1None, TARGET_VAL(SystemZ::LGHR),
18149 MVT::i64, 1, 11,
18150 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
18151 MVT::i128, 2, 7, 12,
18152 0,
18153 57|128,1,
18154 OPC_RecordChild0,
18155 OPC_MoveChild1,
18156 OPC_Scope, 49,
18157 OPC_CheckValueType, MVT::i8,
18158 OPC_MoveParent,
18159 OPC_SwitchType , 6, MVT::i32,
18160 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LBR),
18161 MVT::i32, 1, 0,
18162 6, MVT::i64,
18163 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGBR),
18164 MVT::i64, 1, 0,
18165 26, MVT::i128,
18166 OPC_CheckPatternPredicate0,
18167 OPC_EmitInteger32, 30,
18168 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPB),
18169 MVT::i128, 2, 0, 1,
18170 OPC_EmitInteger32, 112|128,1,
18171 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
18172 MVT::i128, 1, 3,
18173 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
18174 MVT::i128, 2, 2, 4,
18175 0,
18176 49,
18177 OPC_CheckValueType, MVT::i16,
18178 OPC_MoveParent,
18179 OPC_SwitchType , 6, MVT::i32,
18180 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LHR),
18181 MVT::i32, 1, 0,
18182 6, MVT::i64,
18183 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGHR),
18184 MVT::i64, 1, 0,
18185 26, MVT::i128,
18186 OPC_CheckPatternPredicate0,
18187 OPC_EmitInteger32, 14,
18188 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPH),
18189 MVT::i128, 2, 0, 1,
18190 OPC_EmitInteger32, 96|128,1,
18191 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
18192 MVT::i128, 1, 3,
18193 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
18194 MVT::i128, 2, 2, 4,
18195 0,
18196 50,
18197 OPC_CheckValueType, MVT::i32,
18198 OPC_MoveParent,
18199 OPC_SwitchType , 15, MVT::i64,
18200 OPC_EmitStringInteger32, SystemZ::subreg_l32,
18201 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18202 MVT::i32, 2, 0, 1,
18203 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGFR),
18204 MVT::i64, 1, 2,
18205 26, MVT::i128,
18206 OPC_CheckPatternPredicate0,
18207 OPC_EmitInteger32, 6,
18208 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPF),
18209 MVT::i128, 2, 0, 1,
18210 OPC_EmitInteger32, 64|128,1,
18211 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
18212 MVT::i128, 1, 3,
18213 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
18214 MVT::i128, 2, 2, 4,
18215 0,
18216 29,
18217 OPC_CheckValueType, MVT::i64,
18218 OPC_MoveParent,
18219 OPC_CheckPatternPredicate0,
18220 OPC_EmitInteger32, 2,
18221 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPG),
18222 MVT::i128, 2, 0, 1,
18223 OPC_EmitInteger32, 0|128,1,
18224 OPC_EmitNode1None, TARGET_VAL(SystemZ::VREPIB),
18225 MVT::i128, 1, 3,
18226 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSRAB),
18227 MVT::i128, 2, 2, 4,
18228 0,
18229 0,
18230 48|128,1, TARGET_VAL(ISD::Constant),
18231 OPC_RecordNode,
18232 OPC_SwitchType , 63, MVT::i32,
18233 OPC_Scope, 27,
18234 OPC_CheckPredicate, 20,
18235 OPC_Scope, 11,
18236 OPC_CheckPatternPredicate2,
18237 OPC_EmitConvertToTarget0,
18238 OPC_EmitNodeXForm, 2, 1,
18239 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LHIMux),
18240 MVT::i32, 1, 2,
18241 10,
18242 OPC_EmitConvertToTarget0,
18243 OPC_EmitNodeXForm, 2, 1,
18244 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LHI),
18245 MVT::i32, 1, 2,
18246 0,
18247 11,
18248 OPC_CheckPatternPredicate2,
18249 OPC_EmitConvertToTarget0,
18250 OPC_EmitNodeXForm, 9, 1,
18251 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIFMux),
18252 MVT::i32, 1, 2,
18253 20,
18254 OPC_EmitConvertToTarget0,
18255 OPC_EmitNodeXForm, 9, 1,
18256 OPC_Scope, 6,
18257 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IILF),
18258 MVT::i32, 1, 2,
18259 6,
18260 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::IIHF),
18261 MVT::i32, 1, 2,
18262 0,
18263 0,
18264 106, MVT::i64,
18265 OPC_Scope, 12,
18266 OPC_CheckPredicate, 20,
18267 OPC_EmitConvertToTarget0,
18268 OPC_EmitNodeXForm, 2, 1,
18269 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGHI),
18270 MVT::i64, 1, 2,
18271 12,
18272 OPC_CheckPredicate, 60,
18273 OPC_EmitConvertToTarget0,
18274 OPC_EmitNodeXForm, 3, 1,
18275 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLILL),
18276 MVT::i64, 1, 2,
18277 12,
18278 OPC_CheckPredicate, 61,
18279 OPC_EmitConvertToTarget0,
18280 OPC_EmitNodeXForm, 4, 1,
18281 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLILH),
18282 MVT::i64, 1, 2,
18283 12,
18284 OPC_CheckPredicate, 62,
18285 OPC_EmitConvertToTarget0,
18286 OPC_EmitNodeXForm, 5, 1,
18287 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLIHL),
18288 MVT::i64, 1, 2,
18289 12,
18290 OPC_CheckPredicate, 63,
18291 OPC_EmitConvertToTarget0,
18292 OPC_EmitNodeXForm, 6, 1,
18293 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLIHH),
18294 MVT::i64, 1, 2,
18295 12,
18296 OPC_CheckPredicate, 57,
18297 OPC_EmitConvertToTarget0,
18298 OPC_EmitNodeXForm, 11, 1,
18299 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGFI),
18300 MVT::i64, 1, 2,
18301 12,
18302 OPC_CheckPredicate, 64,
18303 OPC_EmitConvertToTarget0,
18304 OPC_EmitNodeXForm, 7, 1,
18305 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLILF),
18306 MVT::i64, 1, 2,
18307 12,
18308 OPC_CheckPredicate, 55,
18309 OPC_EmitConvertToTarget0,
18310 OPC_EmitNodeXForm, 8, 1,
18311 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLIHF),
18312 MVT::i64, 1, 2,
18313 0,
18314 0,
18315 46|128,3, TARGET_VAL(ISD::BITCAST),
18316 OPC_RecordChild0,
18317 OPC_Scope, 46,
18318 OPC_CheckChild0Type, MVT::v16i8,
18319 OPC_SwitchType , 4, MVT::i128,
18320 OPC_CheckPatternPredicate0,
18321 OPC_CompleteMatch, 1, 0,
18322
18323 4, MVT::f128,
18324 OPC_CheckPatternPredicate0,
18325 OPC_CompleteMatch, 1, 0,
18326
18327 4, MVT::v8i16,
18328 OPC_CheckPatternPredicate0,
18329 OPC_CompleteMatch, 1, 0,
18330
18331 4, MVT::v4i32,
18332 OPC_CheckPatternPredicate0,
18333 OPC_CompleteMatch, 1, 0,
18334
18335 4, MVT::v2i64,
18336 OPC_CheckPatternPredicate0,
18337 OPC_CompleteMatch, 1, 0,
18338
18339 4, MVT::v4f32,
18340 OPC_CheckPatternPredicate0,
18341 OPC_CompleteMatch, 1, 0,
18342
18343 4, MVT::v2f64,
18344 OPC_CheckPatternPredicate0,
18345 OPC_CompleteMatch, 1, 0,
18346
18347 0,
18348 46,
18349 OPC_CheckChild0Type, MVT::v8i16,
18350 OPC_SwitchType , 4, MVT::i128,
18351 OPC_CheckPatternPredicate0,
18352 OPC_CompleteMatch, 1, 0,
18353
18354 4, MVT::f128,
18355 OPC_CheckPatternPredicate0,
18356 OPC_CompleteMatch, 1, 0,
18357
18358 4, MVT::v16i8,
18359 OPC_CheckPatternPredicate0,
18360 OPC_CompleteMatch, 1, 0,
18361
18362 4, MVT::v4i32,
18363 OPC_CheckPatternPredicate0,
18364 OPC_CompleteMatch, 1, 0,
18365
18366 4, MVT::v2i64,
18367 OPC_CheckPatternPredicate0,
18368 OPC_CompleteMatch, 1, 0,
18369
18370 4, MVT::v4f32,
18371 OPC_CheckPatternPredicate0,
18372 OPC_CompleteMatch, 1, 0,
18373
18374 4, MVT::v2f64,
18375 OPC_CheckPatternPredicate0,
18376 OPC_CompleteMatch, 1, 0,
18377
18378 0,
18379 46,
18380 OPC_CheckChild0Type, MVT::v4i32,
18381 OPC_SwitchType , 4, MVT::i128,
18382 OPC_CheckPatternPredicate0,
18383 OPC_CompleteMatch, 1, 0,
18384
18385 4, MVT::f128,
18386 OPC_CheckPatternPredicate0,
18387 OPC_CompleteMatch, 1, 0,
18388
18389 4, MVT::v16i8,
18390 OPC_CheckPatternPredicate0,
18391 OPC_CompleteMatch, 1, 0,
18392
18393 4, MVT::v8i16,
18394 OPC_CheckPatternPredicate0,
18395 OPC_CompleteMatch, 1, 0,
18396
18397 4, MVT::v2i64,
18398 OPC_CheckPatternPredicate0,
18399 OPC_CompleteMatch, 1, 0,
18400
18401 4, MVT::v4f32,
18402 OPC_CheckPatternPredicate0,
18403 OPC_CompleteMatch, 1, 0,
18404
18405 4, MVT::v2f64,
18406 OPC_CheckPatternPredicate0,
18407 OPC_CompleteMatch, 1, 0,
18408
18409 0,
18410 46,
18411 OPC_CheckChild0Type, MVT::v2i64,
18412 OPC_SwitchType , 4, MVT::i128,
18413 OPC_CheckPatternPredicate0,
18414 OPC_CompleteMatch, 1, 0,
18415
18416 4, MVT::f128,
18417 OPC_CheckPatternPredicate0,
18418 OPC_CompleteMatch, 1, 0,
18419
18420 4, MVT::v16i8,
18421 OPC_CheckPatternPredicate0,
18422 OPC_CompleteMatch, 1, 0,
18423
18424 4, MVT::v8i16,
18425 OPC_CheckPatternPredicate0,
18426 OPC_CompleteMatch, 1, 0,
18427
18428 4, MVT::v4i32,
18429 OPC_CheckPatternPredicate0,
18430 OPC_CompleteMatch, 1, 0,
18431
18432 4, MVT::v4f32,
18433 OPC_CheckPatternPredicate0,
18434 OPC_CompleteMatch, 1, 0,
18435
18436 4, MVT::v2f64,
18437 OPC_CheckPatternPredicate0,
18438 OPC_CompleteMatch, 1, 0,
18439
18440 0,
18441 46,
18442 OPC_CheckChild0Type, MVT::v4f32,
18443 OPC_SwitchType , 4, MVT::i128,
18444 OPC_CheckPatternPredicate0,
18445 OPC_CompleteMatch, 1, 0,
18446
18447 4, MVT::f128,
18448 OPC_CheckPatternPredicate0,
18449 OPC_CompleteMatch, 1, 0,
18450
18451 4, MVT::v16i8,
18452 OPC_CheckPatternPredicate0,
18453 OPC_CompleteMatch, 1, 0,
18454
18455 4, MVT::v8i16,
18456 OPC_CheckPatternPredicate0,
18457 OPC_CompleteMatch, 1, 0,
18458
18459 4, MVT::v4i32,
18460 OPC_CheckPatternPredicate0,
18461 OPC_CompleteMatch, 1, 0,
18462
18463 4, MVT::v2i64,
18464 OPC_CheckPatternPredicate0,
18465 OPC_CompleteMatch, 1, 0,
18466
18467 4, MVT::v2f64,
18468 OPC_CheckPatternPredicate0,
18469 OPC_CompleteMatch, 1, 0,
18470
18471 0,
18472 46,
18473 OPC_CheckChild0Type, MVT::v2f64,
18474 OPC_SwitchType , 4, MVT::i128,
18475 OPC_CheckPatternPredicate0,
18476 OPC_CompleteMatch, 1, 0,
18477
18478 4, MVT::f128,
18479 OPC_CheckPatternPredicate0,
18480 OPC_CompleteMatch, 1, 0,
18481
18482 4, MVT::v16i8,
18483 OPC_CheckPatternPredicate0,
18484 OPC_CompleteMatch, 1, 0,
18485
18486 4, MVT::v8i16,
18487 OPC_CheckPatternPredicate0,
18488 OPC_CompleteMatch, 1, 0,
18489
18490 4, MVT::v4i32,
18491 OPC_CheckPatternPredicate0,
18492 OPC_CompleteMatch, 1, 0,
18493
18494 4, MVT::v2i64,
18495 OPC_CheckPatternPredicate0,
18496 OPC_CompleteMatch, 1, 0,
18497
18498 4, MVT::v4f32,
18499 OPC_CheckPatternPredicate0,
18500 OPC_CompleteMatch, 1, 0,
18501
18502 0,
18503 46,
18504 OPC_CheckChild0Type, MVT::f128,
18505 OPC_SwitchType , 4, MVT::i128,
18506 OPC_CheckPatternPredicate0,
18507 OPC_CompleteMatch, 1, 0,
18508
18509 4, MVT::v16i8,
18510 OPC_CheckPatternPredicate0,
18511 OPC_CompleteMatch, 1, 0,
18512
18513 4, MVT::v8i16,
18514 OPC_CheckPatternPredicate0,
18515 OPC_CompleteMatch, 1, 0,
18516
18517 4, MVT::v4i32,
18518 OPC_CheckPatternPredicate0,
18519 OPC_CompleteMatch, 1, 0,
18520
18521 4, MVT::v2i64,
18522 OPC_CheckPatternPredicate0,
18523 OPC_CompleteMatch, 1, 0,
18524
18525 4, MVT::v4f32,
18526 OPC_CheckPatternPredicate0,
18527 OPC_CompleteMatch, 1, 0,
18528
18529 4, MVT::v2f64,
18530 OPC_CheckPatternPredicate0,
18531 OPC_CompleteMatch, 1, 0,
18532
18533 0,
18534 9,
18535 OPC_CheckChild0Type, MVT::f64,
18536 OPC_CheckTypeI64,
18537 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGDR),
18538 MVT::i64, 1, 0,
18539 19,
18540 OPC_CheckChild0Type, MVT::f32,
18541 OPC_CheckTypeI32,
18542 OPC_CheckPatternPredicate0,
18543 OPC_EmitNode1None, TARGET_VAL(SystemZ::LFER),
18544 MVT::i64, 1, 0,
18545 OPC_EmitStringInteger32, SystemZ::subreg_l32,
18546 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18547 MVT::i32, 2, 1, 2,
18548 46,
18549 OPC_CheckChild0Type, MVT::i128,
18550 OPC_SwitchType , 4, MVT::f128,
18551 OPC_CheckPatternPredicate0,
18552 OPC_CompleteMatch, 1, 0,
18553
18554 4, MVT::v16i8,
18555 OPC_CheckPatternPredicate0,
18556 OPC_CompleteMatch, 1, 0,
18557
18558 4, MVT::v8i16,
18559 OPC_CheckPatternPredicate0,
18560 OPC_CompleteMatch, 1, 0,
18561
18562 4, MVT::v4i32,
18563 OPC_CheckPatternPredicate0,
18564 OPC_CompleteMatch, 1, 0,
18565
18566 4, MVT::v2i64,
18567 OPC_CheckPatternPredicate0,
18568 OPC_CompleteMatch, 1, 0,
18569
18570 4, MVT::v4f32,
18571 OPC_CheckPatternPredicate0,
18572 OPC_CompleteMatch, 1, 0,
18573
18574 4, MVT::v2f64,
18575 OPC_CheckPatternPredicate0,
18576 OPC_CompleteMatch, 1, 0,
18577
18578 0,
18579 10,
18580 OPC_CheckChild0TypeI32,
18581 OPC_CheckType, MVT::f32,
18582 OPC_CheckPatternPredicate0,
18583 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LEFR),
18584 MVT::f32, 1, 0,
18585 9,
18586 OPC_CheckChild0TypeI64,
18587 OPC_CheckType, MVT::f64,
18588 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LDGR),
18589 MVT::f64, 1, 0,
18590 0,
18591 13, TARGET_VAL(ISD::BR),
18592 OPC_RecordNode,
18593 OPC_RecordChild1,
18594 OPC_MoveChild1,
18595 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
18596 OPC_MoveParent,
18597 OPC_EmitMergeInputChains1_0,
18598 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::J),
18599 1, 1,
18600 6, TARGET_VAL(ISD::TRAP),
18601 OPC_RecordNode,
18602 OPC_EmitMergeInputChains1_0,
18603 OPC_MorphNodeTo0Chain, TARGET_VAL(SystemZ::Trap),
18604 0,
18605 17, TARGET_VAL(SystemZISD::ADA_ENTRY),
18606 OPC_RecordChild0,
18607 OPC_CheckChild0TypeI64,
18608 OPC_RecordChild1,
18609 OPC_CheckChild1TypeI64,
18610 OPC_RecordChild2,
18611 OPC_CheckTypeI64,
18612 OPC_CheckPatternPredicate, 12,
18613 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ADA_ENTRY),
18614 MVT::i64, MVT::i32, 3, 0, 1, 2,
18615 22, TARGET_VAL(SystemZISD::RET_GLUE),
18616 OPC_RecordNode,
18617 OPC_CaptureGlueInput,
18618 OPC_Scope, 8,
18619 OPC_CheckPatternPredicate, 12,
18620 OPC_EmitMergeInputChains1_0,
18621 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::Return_XPLINK), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18622 0,
18623 8,
18624 OPC_CheckPatternPredicate, 15,
18625 OPC_EmitMergeInputChains1_0,
18626 OPC_MorphNodeTo0, TARGET_VAL(SystemZ::Return), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18627 0,
18628 0,
18629 73, TARGET_VAL(ISD::SIGN_EXTEND),
18630 OPC_RecordChild0,
18631 OPC_SwitchType , 6, MVT::i64,
18632 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LGFR),
18633 MVT::i64, 1, 0,
18634 60, MVT::i128,
18635 OPC_Scope, 22,
18636 OPC_CheckChild0TypeI64,
18637 OPC_CheckPatternPredicate0,
18638 OPC_EmitRegisterI32, 0 ,
18639 OPC_EmitInteger32, 126,
18640 OPC_EmitNode2None, TARGET_VAL(SystemZ::SRAG),
18641 MVT::i64, MVT::i32, 3, 0, 1, 2,
18642 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
18643 MVT::i128, 2, 3, 0,
18644 34,
18645 OPC_CheckChild0TypeI32,
18646 OPC_CheckPatternPredicate0,
18647 OPC_EmitNode1None, TARGET_VAL(SystemZ::LGFR),
18648 MVT::i64, 1, 0,
18649 OPC_EmitRegisterI32, 0 ,
18650 OPC_EmitInteger32, 126,
18651 OPC_EmitNode2None, TARGET_VAL(SystemZ::SRAG),
18652 MVT::i64, MVT::i32, 3, 1, 2, 3,
18653 OPC_EmitNode1None, TARGET_VAL(SystemZ::LGFR),
18654 MVT::i64, 1, 0,
18655 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
18656 MVT::i128, 2, 4, 6,
18657 0,
18658 0,
18659 63, TARGET_VAL(ISD::ZERO_EXTEND),
18660 OPC_RecordChild0,
18661 OPC_SwitchType , 6, MVT::i64,
18662 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LLGFR),
18663 MVT::i64, 1, 0,
18664 50, MVT::i128,
18665 OPC_Scope, 23,
18666 OPC_CheckChild0TypeI32,
18667 OPC_CheckPatternPredicate0,
18668 OPC_EmitInteger32, 0,
18669 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
18670 MVT::i128, 1, 1,
18671 OPC_EmitRegisterI32, 0 ,
18672 OPC_EmitInteger32, 6,
18673 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGF),
18674 MVT::i128, 4, 2, 0, 3, 4,
18675 23,
18676 OPC_CheckChild0TypeI64,
18677 OPC_CheckPatternPredicate0,
18678 OPC_EmitInteger32, 0,
18679 OPC_EmitNode1None, TARGET_VAL(SystemZ::VGBM),
18680 MVT::i128, 1, 1,
18681 OPC_EmitRegisterI32, 0 ,
18682 OPC_EmitInteger32, 2,
18683 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGG),
18684 MVT::i128, 4, 2, 0, 3, 4,
18685 0,
18686 0,
18687 19, TARGET_VAL(ISD::BSWAP),
18688 OPC_RecordChild0,
18689 OPC_SwitchType , 6, MVT::i32,
18690 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LRVR),
18691 MVT::i32, 1, 0,
18692 6, MVT::i64,
18693 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LRVGR),
18694 MVT::i64, 1, 0,
18695 0,
18696 6, TARGET_VAL(ISD::GLOBAL_OFFSET_TABLE),
18697 OPC_CheckTypeI64,
18698 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::GOT),
18699 MVT::i64, 0,
18700 8, TARGET_VAL(SystemZISD::IPM),
18701 OPC_RecordChild0,
18702 OPC_EmitCopyToReg0, SystemZ::CC,
18703 OPC_MorphNodeTo1GlueInput, TARGET_VAL(SystemZ::IPM),
18704 MVT::i32, 0,
18705 9, TARGET_VAL(SystemZISD::TEND),
18706 OPC_RecordNode,
18707 OPC_CheckPatternPredicate, 10,
18708 OPC_EmitMergeInputChains1_0,
18709 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::TEND),
18710 MVT::i32, 0,
18711 61, TARGET_VAL(ISD::CTPOP),
18712 OPC_RecordChild0,
18713 OPC_SwitchType , 12, MVT::i64,
18714 OPC_CheckChild0TypeI64,
18715 OPC_CheckPatternPredicate7,
18716 OPC_EmitInteger32, 16,
18717 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::POPCNTOpt),
18718 MVT::i64, MVT::i32, 2, 0, 1,
18719 9, MVT::v16i8,
18720 OPC_CheckChild0Type, MVT::v16i8,
18721 OPC_CheckPatternPredicate1,
18722 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCTB),
18723 MVT::v16i8, 1, 0,
18724 9, MVT::v8i16,
18725 OPC_CheckChild0Type, MVT::v8i16,
18726 OPC_CheckPatternPredicate1,
18727 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCTH),
18728 MVT::v8i16, 1, 0,
18729 9, MVT::v4i32,
18730 OPC_CheckChild0Type, MVT::v4i32,
18731 OPC_CheckPatternPredicate1,
18732 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCTF),
18733 MVT::v4i32, 1, 0,
18734 9, MVT::v2i64,
18735 OPC_CheckChild0Type, MVT::v2i64,
18736 OPC_CheckPatternPredicate1,
18737 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCTG),
18738 MVT::v2i64, 1, 0,
18739 0,
18740 26, TARGET_VAL(SystemZISD::POPCNT),
18741 OPC_RecordChild0,
18742 OPC_SwitchType , 9, MVT::i64,
18743 OPC_CheckPatternPredicate, 21,
18744 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::POPCNT),
18745 MVT::i64, MVT::i32, 1, 0,
18746 10, MVT::v16i8,
18747 OPC_CheckPatternPredicate0,
18748 OPC_EmitInteger32, 0,
18749 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPOPCT),
18750 MVT::v16i8, 2, 0, 1,
18751 0,
18752 54, TARGET_VAL(SystemZISD::VACC),
18753 OPC_RecordChild0,
18754 OPC_RecordChild1,
18755 OPC_SwitchType , 8, MVT::i128,
18756 OPC_CheckPatternPredicate0,
18757 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCQ),
18758 MVT::i128, 2, 0, 1,
18759 8, MVT::v16i8,
18760 OPC_CheckPatternPredicate0,
18761 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCB),
18762 MVT::v16i8, 2, 0, 1,
18763 8, MVT::v8i16,
18764 OPC_CheckPatternPredicate0,
18765 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCH),
18766 MVT::v8i16, 2, 0, 1,
18767 8, MVT::v4i32,
18768 OPC_CheckPatternPredicate0,
18769 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCF),
18770 MVT::v4i32, 2, 0, 1,
18771 8, MVT::v2i64,
18772 OPC_CheckPatternPredicate0,
18773 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCG),
18774 MVT::v2i64, 2, 0, 1,
18775 0,
18776 14, TARGET_VAL(SystemZISD::VAC),
18777 OPC_RecordChild0,
18778 OPC_RecordChild1,
18779 OPC_RecordChild2,
18780 OPC_CheckType, MVT::i128,
18781 OPC_CheckPatternPredicate0,
18782 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACQ),
18783 MVT::i128, 3, 0, 1, 2,
18784 14, TARGET_VAL(SystemZISD::VACCC),
18785 OPC_RecordChild0,
18786 OPC_RecordChild1,
18787 OPC_RecordChild2,
18788 OPC_CheckType, MVT::i128,
18789 OPC_CheckPatternPredicate0,
18790 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VACCCQ),
18791 MVT::i128, 3, 0, 1, 2,
18792 54, TARGET_VAL(SystemZISD::VSCBI),
18793 OPC_RecordChild0,
18794 OPC_RecordChild1,
18795 OPC_SwitchType , 8, MVT::i128,
18796 OPC_CheckPatternPredicate0,
18797 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIQ),
18798 MVT::i128, 2, 0, 1,
18799 8, MVT::v16i8,
18800 OPC_CheckPatternPredicate0,
18801 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIB),
18802 MVT::v16i8, 2, 0, 1,
18803 8, MVT::v8i16,
18804 OPC_CheckPatternPredicate0,
18805 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIH),
18806 MVT::v8i16, 2, 0, 1,
18807 8, MVT::v4i32,
18808 OPC_CheckPatternPredicate0,
18809 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIF),
18810 MVT::v4i32, 2, 0, 1,
18811 8, MVT::v2i64,
18812 OPC_CheckPatternPredicate0,
18813 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSCBIG),
18814 MVT::v2i64, 2, 0, 1,
18815 0,
18816 14, TARGET_VAL(SystemZISD::VSBI),
18817 OPC_RecordChild0,
18818 OPC_RecordChild1,
18819 OPC_RecordChild2,
18820 OPC_CheckType, MVT::i128,
18821 OPC_CheckPatternPredicate0,
18822 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSBIQ),
18823 MVT::i128, 3, 0, 1, 2,
18824 14, TARGET_VAL(SystemZISD::VSBCBI),
18825 OPC_RecordChild0,
18826 OPC_RecordChild1,
18827 OPC_RecordChild2,
18828 OPC_CheckType, MVT::i128,
18829 OPC_CheckPatternPredicate0,
18830 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSBCBIQ),
18831 MVT::i128, 3, 0, 1, 2,
18832 83, TARGET_VAL(SystemZISD::VSUM),
18833 OPC_RecordChild0,
18834 OPC_Scope, 25,
18835 OPC_CheckChild0Type, MVT::v4i32,
18836 OPC_RecordChild1,
18837 OPC_SwitchType , 8, MVT::i128,
18838 OPC_CheckPatternPredicate0,
18839 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMQF),
18840 MVT::i128, 2, 0, 1,
18841 8, MVT::v2i64,
18842 OPC_CheckPatternPredicate0,
18843 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMGF),
18844 MVT::v2i64, 2, 0, 1,
18845 0,
18846 13,
18847 OPC_CheckChild0Type, MVT::v2i64,
18848 OPC_RecordChild1,
18849 OPC_CheckType, MVT::i128,
18850 OPC_CheckPatternPredicate0,
18851 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMQG),
18852 MVT::i128, 2, 0, 1,
18853 25,
18854 OPC_CheckChild0Type, MVT::v8i16,
18855 OPC_RecordChild1,
18856 OPC_SwitchType , 8, MVT::v2i64,
18857 OPC_CheckPatternPredicate0,
18858 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMGH),
18859 MVT::v2i64, 2, 0, 1,
18860 8, MVT::v4i32,
18861 OPC_CheckPatternPredicate0,
18862 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMH),
18863 MVT::v4i32, 2, 0, 1,
18864 0,
18865 13,
18866 OPC_CheckChild0Type, MVT::v16i8,
18867 OPC_RecordChild1,
18868 OPC_CheckType, MVT::v4i32,
18869 OPC_CheckPatternPredicate0,
18870 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSUMB),
18871 MVT::v4i32, 2, 0, 1,
18872 0,
18873 12, TARGET_VAL(SystemZISD::VTM),
18874 OPC_RecordChild0,
18875 OPC_CheckChild0Type, MVT::v16i8,
18876 OPC_RecordChild1,
18877 OPC_CheckPatternPredicate0,
18878 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VTM),
18879 MVT::i32, 2, 0, 1,
18880 44, TARGET_VAL(ISD::ANY_EXTEND),
18881 OPC_RecordChild0,
18882 OPC_SwitchType , 22, MVT::i128,
18883 OPC_Scope, 9,
18884 OPC_CheckChild0TypeI32,
18885 OPC_CheckPatternPredicate0,
18886 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP32),
18887 MVT::i128, 2, 0, 0,
18888 9,
18889 OPC_CheckChild0TypeI64,
18890 OPC_CheckPatternPredicate0,
18891 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
18892 MVT::i128, 2, 0, 0,
18893 0,
18894 15, MVT::i64,
18895 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
18896 MVT::i64, 0,
18897 OPC_EmitStringInteger32, SystemZ::subreg_l32,
18898 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
18899 MVT::i64, 3, 1, 0, 2,
18900 0,
18901 5|128,1, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
18902 OPC_RecordNode,
18903 OPC_RecordChild1,
18904 OPC_Scope, 30,
18905 OPC_CheckChild1Type, MVT::f32,
18906 OPC_SwitchType , 11, MVT::i32,
18907 OPC_EmitMergeInputChains1_0,
18908 OPC_EmitInteger32, 10,
18909 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CFEBR),
18910 MVT::i32, MVT::i32, 2, 2, 1,
18911 11, MVT::i64,
18912 OPC_EmitMergeInputChains1_0,
18913 OPC_EmitInteger32, 10,
18914 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CGEBR),
18915 MVT::i64, MVT::i32, 2, 2, 1,
18916 0,
18917 30,
18918 OPC_CheckChild1Type, MVT::f64,
18919 OPC_SwitchType , 11, MVT::i32,
18920 OPC_EmitMergeInputChains1_0,
18921 OPC_EmitInteger32, 10,
18922 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CFDBR),
18923 MVT::i32, MVT::i32, 2, 2, 1,
18924 11, MVT::i64,
18925 OPC_EmitMergeInputChains1_0,
18926 OPC_EmitInteger32, 10,
18927 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CGDBR),
18928 MVT::i64, MVT::i32, 2, 2, 1,
18929 0,
18930 30,
18931 OPC_CheckChild1Type, MVT::f128,
18932 OPC_SwitchType , 11, MVT::i32,
18933 OPC_EmitMergeInputChains1_0,
18934 OPC_EmitInteger32, 10,
18935 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CFXBR),
18936 MVT::i32, MVT::i32, 2, 2, 1,
18937 11, MVT::i64,
18938 OPC_EmitMergeInputChains1_0,
18939 OPC_EmitInteger32, 10,
18940 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CGXBR),
18941 MVT::i64, MVT::i32, 2, 2, 1,
18942 0,
18943 18,
18944 OPC_CheckChild1Type, MVT::v2f64,
18945 OPC_CheckType, MVT::v2i64,
18946 OPC_CheckPatternPredicate0,
18947 OPC_EmitMergeInputChains1_0,
18948 OPC_EmitInteger32, 0,
18949 OPC_EmitInteger32, 10,
18950 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCGDB),
18951 MVT::v2i64, 3, 1, 2, 3,
18952 16,
18953 OPC_CheckType, MVT::v4i32,
18954 OPC_CheckPatternPredicate5,
18955 OPC_EmitMergeInputChains1_0,
18956 OPC_EmitInteger32, 0,
18957 OPC_EmitInteger32, 10,
18958 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCFEB),
18959 MVT::v4i32, 3, 1, 2, 3,
18960 0,
18961 124, TARGET_VAL(ISD::FP_TO_SINT),
18962 OPC_RecordChild0,
18963 OPC_Scope, 28,
18964 OPC_CheckChild0Type, MVT::f32,
18965 OPC_SwitchType , 10, MVT::i32,
18966 OPC_EmitInteger32, 10,
18967 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CFEBR),
18968 MVT::i32, MVT::i32, 2, 1, 0,
18969 10, MVT::i64,
18970 OPC_EmitInteger32, 10,
18971 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CGEBR),
18972 MVT::i64, MVT::i32, 2, 1, 0,
18973 0,
18974 28,
18975 OPC_CheckChild0Type, MVT::f64,
18976 OPC_SwitchType , 10, MVT::i32,
18977 OPC_EmitInteger32, 10,
18978 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CFDBR),
18979 MVT::i32, MVT::i32, 2, 1, 0,
18980 10, MVT::i64,
18981 OPC_EmitInteger32, 10,
18982 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CGDBR),
18983 MVT::i64, MVT::i32, 2, 1, 0,
18984 0,
18985 28,
18986 OPC_CheckChild0Type, MVT::f128,
18987 OPC_SwitchType , 10, MVT::i32,
18988 OPC_EmitInteger32, 10,
18989 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CFXBR),
18990 MVT::i32, MVT::i32, 2, 1, 0,
18991 10, MVT::i64,
18992 OPC_EmitInteger32, 10,
18993 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CGXBR),
18994 MVT::i64, MVT::i32, 2, 1, 0,
18995 0,
18996 17,
18997 OPC_CheckChild0Type, MVT::v2f64,
18998 OPC_CheckType, MVT::v2i64,
18999 OPC_CheckPatternPredicate0,
19000 OPC_EmitInteger32, 0,
19001 OPC_EmitInteger32, 10,
19002 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCGDB),
19003 MVT::v2i64, 3, 0, 1, 2,
19004 15,
19005 OPC_CheckType, MVT::v4i32,
19006 OPC_CheckPatternPredicate5,
19007 OPC_EmitInteger32, 0,
19008 OPC_EmitInteger32, 10,
19009 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCFEB),
19010 MVT::v4i32, 3, 0, 1, 2,
19011 0,
19012 29|128,1, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
19013 OPC_RecordNode,
19014 OPC_RecordChild1,
19015 OPC_Scope, 38,
19016 OPC_CheckChild1Type, MVT::f32,
19017 OPC_SwitchType , 15, MVT::i32,
19018 OPC_CheckPatternPredicate3,
19019 OPC_EmitMergeInputChains1_0,
19020 OPC_EmitInteger32, 10,
19021 OPC_EmitInteger32, 0,
19022 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLFEBR),
19023 MVT::i32, MVT::i32, 3, 2, 1, 3,
19024 15, MVT::i64,
19025 OPC_CheckPatternPredicate3,
19026 OPC_EmitMergeInputChains1_0,
19027 OPC_EmitInteger32, 10,
19028 OPC_EmitInteger32, 0,
19029 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLGEBR),
19030 MVT::i64, MVT::i32, 3, 2, 1, 3,
19031 0,
19032 38,
19033 OPC_CheckChild1Type, MVT::f64,
19034 OPC_SwitchType , 15, MVT::i32,
19035 OPC_CheckPatternPredicate3,
19036 OPC_EmitMergeInputChains1_0,
19037 OPC_EmitInteger32, 10,
19038 OPC_EmitInteger32, 0,
19039 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLFDBR),
19040 MVT::i32, MVT::i32, 3, 2, 1, 3,
19041 15, MVT::i64,
19042 OPC_CheckPatternPredicate3,
19043 OPC_EmitMergeInputChains1_0,
19044 OPC_EmitInteger32, 10,
19045 OPC_EmitInteger32, 0,
19046 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLGDBR),
19047 MVT::i64, MVT::i32, 3, 2, 1, 3,
19048 0,
19049 38,
19050 OPC_CheckChild1Type, MVT::f128,
19051 OPC_SwitchType , 15, MVT::i32,
19052 OPC_CheckPatternPredicate3,
19053 OPC_EmitMergeInputChains1_0,
19054 OPC_EmitInteger32, 10,
19055 OPC_EmitInteger32, 0,
19056 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLFXBR),
19057 MVT::i32, MVT::i32, 3, 2, 1, 3,
19058 15, MVT::i64,
19059 OPC_CheckPatternPredicate3,
19060 OPC_EmitMergeInputChains1_0,
19061 OPC_EmitInteger32, 10,
19062 OPC_EmitInteger32, 0,
19063 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLGXBR),
19064 MVT::i64, MVT::i32, 3, 2, 1, 3,
19065 0,
19066 18,
19067 OPC_CheckChild1Type, MVT::v2f64,
19068 OPC_CheckType, MVT::v2i64,
19069 OPC_CheckPatternPredicate0,
19070 OPC_EmitMergeInputChains1_0,
19071 OPC_EmitInteger32, 0,
19072 OPC_EmitInteger32, 10,
19073 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCLGDB),
19074 MVT::v2i64, 3, 1, 2, 3,
19075 16,
19076 OPC_CheckType, MVT::v4i32,
19077 OPC_CheckPatternPredicate5,
19078 OPC_EmitMergeInputChains1_0,
19079 OPC_EmitInteger32, 0,
19080 OPC_EmitInteger32, 10,
19081 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCLFEB),
19082 MVT::v4i32, 3, 1, 2, 3,
19083 0,
19084 20|128,1, TARGET_VAL(ISD::FP_TO_UINT),
19085 OPC_RecordChild0,
19086 OPC_Scope, 36,
19087 OPC_CheckChild0Type, MVT::f32,
19088 OPC_SwitchType , 14, MVT::i32,
19089 OPC_CheckPatternPredicate3,
19090 OPC_EmitInteger32, 10,
19091 OPC_EmitInteger32, 0,
19092 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLFEBR),
19093 MVT::i32, MVT::i32, 3, 1, 0, 2,
19094 14, MVT::i64,
19095 OPC_CheckPatternPredicate3,
19096 OPC_EmitInteger32, 10,
19097 OPC_EmitInteger32, 0,
19098 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLGEBR),
19099 MVT::i64, MVT::i32, 3, 1, 0, 2,
19100 0,
19101 36,
19102 OPC_CheckChild0Type, MVT::f64,
19103 OPC_SwitchType , 14, MVT::i32,
19104 OPC_CheckPatternPredicate3,
19105 OPC_EmitInteger32, 10,
19106 OPC_EmitInteger32, 0,
19107 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLFDBR),
19108 MVT::i32, MVT::i32, 3, 1, 0, 2,
19109 14, MVT::i64,
19110 OPC_CheckPatternPredicate3,
19111 OPC_EmitInteger32, 10,
19112 OPC_EmitInteger32, 0,
19113 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLGDBR),
19114 MVT::i64, MVT::i32, 3, 1, 0, 2,
19115 0,
19116 36,
19117 OPC_CheckChild0Type, MVT::f128,
19118 OPC_SwitchType , 14, MVT::i32,
19119 OPC_CheckPatternPredicate3,
19120 OPC_EmitInteger32, 10,
19121 OPC_EmitInteger32, 0,
19122 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLFXBR),
19123 MVT::i32, MVT::i32, 3, 1, 0, 2,
19124 14, MVT::i64,
19125 OPC_CheckPatternPredicate3,
19126 OPC_EmitInteger32, 10,
19127 OPC_EmitInteger32, 0,
19128 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::CLGXBR),
19129 MVT::i64, MVT::i32, 3, 1, 0, 2,
19130 0,
19131 17,
19132 OPC_CheckChild0Type, MVT::v2f64,
19133 OPC_CheckType, MVT::v2i64,
19134 OPC_CheckPatternPredicate0,
19135 OPC_EmitInteger32, 0,
19136 OPC_EmitInteger32, 10,
19137 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLGDB),
19138 MVT::v2i64, 3, 0, 1, 2,
19139 15,
19140 OPC_CheckType, MVT::v4i32,
19141 OPC_CheckPatternPredicate5,
19142 OPC_EmitInteger32, 0,
19143 OPC_EmitInteger32, 10,
19144 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLFEB),
19145 MVT::v4i32, 3, 0, 1, 2,
19146 0,
19147 66, TARGET_VAL(ISD::CTLZ),
19148 OPC_RecordChild0,
19149 OPC_SwitchType , 17, MVT::i64,
19150 OPC_CheckChild0TypeI64,
19151 OPC_EmitNode2None, TARGET_VAL(SystemZ::FLOGR),
19152 MVT::Untyped, MVT::i32, 1, 0,
19153 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19154 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19155 MVT::i64, 2, 1, 3,
19156 9, MVT::v16i8,
19157 OPC_CheckChild0Type, MVT::v16i8,
19158 OPC_CheckPatternPredicate0,
19159 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLZB),
19160 MVT::v16i8, 1, 0,
19161 9, MVT::v8i16,
19162 OPC_CheckChild0Type, MVT::v8i16,
19163 OPC_CheckPatternPredicate0,
19164 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLZH),
19165 MVT::v8i16, 1, 0,
19166 9, MVT::v4i32,
19167 OPC_CheckChild0Type, MVT::v4i32,
19168 OPC_CheckPatternPredicate0,
19169 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLZF),
19170 MVT::v4i32, 1, 0,
19171 9, MVT::v2i64,
19172 OPC_CheckChild0Type, MVT::v2i64,
19173 OPC_CheckPatternPredicate0,
19174 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCLZG),
19175 MVT::v2i64, 1, 0,
19176 0,
19177 12, TARGET_VAL(SystemZISD::PROBED_ALLOCA),
19178 OPC_RecordNode,
19179 OPC_RecordChild1,
19180 OPC_RecordChild2,
19181 OPC_CheckTypeI64,
19182 OPC_EmitMergeInputChains1_0,
19183 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::PROBED_ALLOCA),
19184 MVT::i64, 2, 1, 2,
19185 17, TARGET_VAL(SystemZISD::STPCPY),
19186 OPC_RecordNode,
19187 OPC_RecordChild1,
19188 OPC_CheckChild1TypeI64,
19189 OPC_RecordChild2,
19190 OPC_CheckChild2TypeI64,
19191 OPC_RecordChild3,
19192 OPC_CheckTypeI64,
19193 OPC_EmitMergeInputChains1_0,
19194 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::MVSTLoop),
19195 MVT::i64, MVT::i32, 3, 1, 2, 3,
19196 17, TARGET_VAL(SystemZISD::STRCMP),
19197 OPC_RecordNode,
19198 OPC_RecordChild1,
19199 OPC_CheckChild1TypeI64,
19200 OPC_RecordChild2,
19201 OPC_CheckChild2TypeI64,
19202 OPC_RecordChild3,
19203 OPC_CheckTypeI64,
19204 OPC_EmitMergeInputChains1_0,
19205 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::CLSTLoop),
19206 MVT::i64, MVT::i32, 3, 1, 2, 3,
19207 17, TARGET_VAL(SystemZISD::SEARCH_STRING),
19208 OPC_RecordNode,
19209 OPC_RecordChild1,
19210 OPC_CheckChild1TypeI64,
19211 OPC_RecordChild2,
19212 OPC_CheckChild2TypeI64,
19213 OPC_RecordChild3,
19214 OPC_CheckTypeI64,
19215 OPC_EmitMergeInputChains1_0,
19216 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::SRSTLoop),
19217 MVT::i64, MVT::i32, 3, 1, 2, 3,
19218 12, TARGET_VAL(SystemZISD::SCMP128HI),
19219 OPC_RecordChild0,
19220 OPC_CheckChild0Type, MVT::i128,
19221 OPC_RecordChild1,
19222 OPC_CheckPatternPredicate0,
19223 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SCmp128Hi),
19224 MVT::i32, 2, 0, 1,
19225 12, TARGET_VAL(SystemZISD::UCMP128HI),
19226 OPC_RecordChild0,
19227 OPC_CheckChild0Type, MVT::i128,
19228 OPC_RecordChild1,
19229 OPC_CheckPatternPredicate0,
19230 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::UCmp128Hi),
19231 MVT::i32, 2, 0, 1,
19232 68|128,11, TARGET_VAL(ISD::STRICT_FMUL),
19233 OPC_RecordNode,
19234 OPC_Scope, 75|128,6,
19235 OPC_MoveChild1,
19236 OPC_SwitchOpcode , 41|128,3, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19237 OPC_RecordNode,
19238 OPC_CheckFoldableChainNode,
19239 OPC_Scope, 118,
19240 OPC_RecordChild1,
19241 OPC_Scope, 54,
19242 OPC_MoveSibling2,
19243 OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19244 OPC_RecordNode,
19245 OPC_CheckFoldableChainNode,
19246 OPC_MoveChild1,
19247 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19248 OPC_RecordMemRef,
19249 OPC_RecordNode,
19250 OPC_CheckFoldableChainNode,
19251 OPC_RecordChild1,
19252 OPC_CheckChild1TypeI64,
19253 OPC_CheckPredicate0,
19254 OPC_CheckPredicate3,
19255 OPC_MoveParent,
19256 OPC_MoveParent,
19257 OPC_CheckType, MVT::f64,
19258 OPC_CheckComplexPat0, /*#*/5,
19259 OPC_EmitMergeInputChains, 4, 0, 1, 3, 4,
19260 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19261 MVT::f64, 0,
19262 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19263 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19264 MVT::f64, 3, 9, 2, 10,
19265 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19266 MVT::f64, 4, 11, 6, 7, 8,
19267 59,
19268 OPC_CheckChild1Type, MVT::f64,
19269 OPC_MoveSibling2,
19270 OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19271 OPC_RecordNode,
19272 OPC_CheckFoldableChainNode,
19273 OPC_MoveChild1,
19274 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19275 OPC_RecordMemRef,
19276 OPC_RecordNode,
19277 OPC_CheckFoldableChainNode,
19278 OPC_RecordChild1,
19279 OPC_CheckChild1TypeI64,
19280 OPC_CheckPredicate0,
19281 OPC_CheckPredicate3,
19282 OPC_CheckType, MVT::f64,
19283 OPC_MoveParent,
19284 OPC_MoveParent,
19285 OPC_CheckType, MVT::f128,
19286 OPC_CheckPatternPredicate4,
19287 OPC_CheckComplexPat0, /*#*/5,
19288 OPC_EmitMergeInputChains, 4, 0, 1, 3, 4,
19289 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19290 MVT::f128, 0,
19291 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19292 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19293 MVT::f128, 3, 9, 2, 10,
19294 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19295 MVT::f128, 4, 11, 6, 7, 8,
19296 0,
19297 65|128,1,
19298 OPC_MoveChild1,
19299 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19300 OPC_RecordMemRef,
19301 OPC_RecordNode,
19302 OPC_CheckFoldableChainNode,
19303 OPC_RecordChild1,
19304 OPC_CheckChild1TypeI64,
19305 OPC_CheckPredicate0,
19306 OPC_CheckPredicate3,
19307 OPC_Scope, 85,
19308 OPC_MoveParent,
19309 OPC_MoveSibling2,
19310 OPC_SwitchOpcode , 39, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19311 OPC_RecordNode,
19312 OPC_CheckFoldableChainNode,
19313 OPC_RecordChild1,
19314 OPC_MoveParent,
19315 OPC_CheckType, MVT::f64,
19316 OPC_CheckComplexPat0, /*#*/3,
19317 OPC_EmitMergeInputChains, 4, 0, 1, 2, 4,
19318 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19319 MVT::f64, 0,
19320 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19321 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19322 MVT::f64, 3, 9, 5, 10,
19323 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19324 MVT::f64, 4, 11, 6, 7, 8,
19325 36, TARGET_VAL(ISD::FP_EXTEND),
19326 OPC_RecordChild0,
19327 OPC_MoveParent,
19328 OPC_CheckType, MVT::f64,
19329 OPC_CheckComplexPat0, /*#*/3,
19330 OPC_EmitMergeInputChains, 3, 0, 1, 2,
19331 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19332 MVT::f64, 0,
19333 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19334 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19335 MVT::f64, 3, 8, 4, 9,
19336 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19337 MVT::f64, 4, 10, 5, 6, 7,
19338 0,
19339 93,
19340 OPC_CheckType, MVT::f64,
19341 OPC_MoveParent,
19342 OPC_MoveSibling2,
19343 OPC_SwitchOpcode , 42, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19344 OPC_RecordNode,
19345 OPC_CheckFoldableChainNode,
19346 OPC_RecordChild1,
19347 OPC_CheckChild1Type, MVT::f64,
19348 OPC_MoveParent,
19349 OPC_CheckType, MVT::f128,
19350 OPC_CheckPatternPredicate4,
19351 OPC_CheckComplexPat0, /*#*/3,
19352 OPC_EmitMergeInputChains, 4, 0, 1, 2, 4,
19353 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19354 MVT::f128, 0,
19355 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19356 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19357 MVT::f128, 3, 9, 5, 10,
19358 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19359 MVT::f128, 4, 11, 6, 7, 8,
19360 39, TARGET_VAL(ISD::FP_EXTEND),
19361 OPC_RecordChild0,
19362 OPC_CheckChild0Type, MVT::f64,
19363 OPC_MoveParent,
19364 OPC_CheckType, MVT::f128,
19365 OPC_CheckPatternPredicate4,
19366 OPC_CheckComplexPat0, /*#*/3,
19367 OPC_EmitMergeInputChains, 3, 0, 1, 2,
19368 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19369 MVT::f128, 0,
19370 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19371 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19372 MVT::f128, 3, 8, 4, 9,
19373 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19374 MVT::f128, 4, 10, 5, 6, 7,
19375 0,
19376 0,
19377 106,
19378 OPC_RecordChild1,
19379 OPC_Scope, 49,
19380 OPC_MoveSibling2,
19381 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19382 OPC_RecordMemRef,
19383 OPC_RecordNode,
19384 OPC_CheckFoldableChainNode,
19385 OPC_RecordChild1,
19386 OPC_CheckChild1TypeI64,
19387 OPC_CheckPredicate0,
19388 OPC_CheckPredicate, 32,
19389 OPC_CheckPredicate, 46,
19390 OPC_MoveParent,
19391 OPC_CheckType, MVT::f64,
19392 OPC_CheckComplexPat0, /*#*/4,
19393 OPC_EmitMergeInputChains, 3, 0, 1, 3,
19394 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19395 MVT::f64, 0,
19396 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19397 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19398 MVT::f64, 3, 8, 2, 9,
19399 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19400 MVT::f64, 4, 10, 5, 6, 7,
19401 52,
19402 OPC_CheckChild1Type, MVT::f64,
19403 OPC_MoveSibling2,
19404 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19405 OPC_RecordMemRef,
19406 OPC_RecordNode,
19407 OPC_CheckFoldableChainNode,
19408 OPC_RecordChild1,
19409 OPC_CheckChild1TypeI64,
19410 OPC_CheckPredicate0,
19411 OPC_CheckPredicate, 32,
19412 OPC_CheckPredicate, 47,
19413 OPC_MoveParent,
19414 OPC_CheckType, MVT::f128,
19415 OPC_CheckPatternPredicate4,
19416 OPC_CheckComplexPat0, /*#*/4,
19417 OPC_EmitMergeInputChains, 3, 0, 1, 3,
19418 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19419 MVT::f128, 0,
19420 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19421 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19422 MVT::f128, 3, 8, 2, 9,
19423 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19424 MVT::f128, 4, 10, 5, 6, 7,
19425 0,
19426 0,
19427 89|128,1, TARGET_VAL(ISD::FP_EXTEND),
19428 OPC_RecordChild0,
19429 OPC_Scope, 53,
19430 OPC_MoveSibling2,
19431 OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19432 OPC_RecordNode,
19433 OPC_CheckFoldableChainNode,
19434 OPC_MoveChild1,
19435 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19436 OPC_RecordMemRef,
19437 OPC_RecordNode,
19438 OPC_CheckFoldableChainNode,
19439 OPC_RecordChild1,
19440 OPC_CheckChild1TypeI64,
19441 OPC_CheckPredicate0,
19442 OPC_CheckPredicate3,
19443 OPC_MoveParent,
19444 OPC_MoveParent,
19445 OPC_CheckType, MVT::f64,
19446 OPC_CheckComplexPat0, /*#*/4,
19447 OPC_EmitMergeInputChains, 3, 0, 2, 3,
19448 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19449 MVT::f64, 0,
19450 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19451 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19452 MVT::f64, 3, 8, 1, 9,
19453 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19454 MVT::f64, 4, 10, 5, 6, 7,
19455 58,
19456 OPC_CheckChild0Type, MVT::f64,
19457 OPC_MoveSibling2,
19458 OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19459 OPC_RecordNode,
19460 OPC_CheckFoldableChainNode,
19461 OPC_MoveChild1,
19462 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19463 OPC_RecordMemRef,
19464 OPC_RecordNode,
19465 OPC_CheckFoldableChainNode,
19466 OPC_RecordChild1,
19467 OPC_CheckChild1TypeI64,
19468 OPC_CheckPredicate0,
19469 OPC_CheckPredicate3,
19470 OPC_CheckType, MVT::f64,
19471 OPC_MoveParent,
19472 OPC_MoveParent,
19473 OPC_CheckType, MVT::f128,
19474 OPC_CheckPatternPredicate4,
19475 OPC_CheckComplexPat0, /*#*/4,
19476 OPC_EmitMergeInputChains, 3, 0, 2, 3,
19477 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19478 MVT::f128, 0,
19479 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19480 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19481 MVT::f128, 3, 8, 1, 9,
19482 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19483 MVT::f128, 4, 10, 5, 6, 7,
19484 48,
19485 OPC_MoveSibling2,
19486 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19487 OPC_RecordMemRef,
19488 OPC_RecordNode,
19489 OPC_CheckFoldableChainNode,
19490 OPC_RecordChild1,
19491 OPC_CheckChild1TypeI64,
19492 OPC_CheckPredicate0,
19493 OPC_CheckPredicate, 32,
19494 OPC_CheckPredicate, 46,
19495 OPC_MoveParent,
19496 OPC_CheckType, MVT::f64,
19497 OPC_CheckComplexPat0, /*#*/3,
19498 OPC_EmitMergeInputChains, 2, 0, 2,
19499 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19500 MVT::f64, 0,
19501 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19502 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19503 MVT::f64, 3, 7, 1, 8,
19504 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19505 MVT::f64, 4, 9, 4, 5, 6,
19506 51,
19507 OPC_CheckChild0Type, MVT::f64,
19508 OPC_MoveSibling2,
19509 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19510 OPC_RecordMemRef,
19511 OPC_RecordNode,
19512 OPC_CheckFoldableChainNode,
19513 OPC_RecordChild1,
19514 OPC_CheckChild1TypeI64,
19515 OPC_CheckPredicate0,
19516 OPC_CheckPredicate, 32,
19517 OPC_CheckPredicate, 47,
19518 OPC_MoveParent,
19519 OPC_CheckType, MVT::f128,
19520 OPC_CheckPatternPredicate4,
19521 OPC_CheckComplexPat0, /*#*/3,
19522 OPC_EmitMergeInputChains, 2, 0, 2,
19523 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19524 MVT::f128, 0,
19525 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19526 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19527 MVT::f128, 3, 7, 1, 8,
19528 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19529 MVT::f128, 4, 9, 4, 5, 6,
19530 0,
19531 58|128,1, TARGET_VAL(ISD::LOAD),
19532 OPC_RecordMemRef,
19533 OPC_RecordNode,
19534 OPC_CheckFoldableChainNode,
19535 OPC_RecordChild1,
19536 OPC_CheckChild1TypeI64,
19537 OPC_CheckPredicate0,
19538 OPC_CheckPredicate, 32,
19539 OPC_Scope, 84,
19540 OPC_CheckPredicate, 46,
19541 OPC_MoveSibling2,
19542 OPC_SwitchOpcode , 38, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19543 OPC_RecordNode,
19544 OPC_CheckFoldableChainNode,
19545 OPC_RecordChild1,
19546 OPC_MoveParent,
19547 OPC_CheckType, MVT::f64,
19548 OPC_CheckComplexPat0, /*#*/2,
19549 OPC_EmitMergeInputChains, 3, 0, 1, 3,
19550 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19551 MVT::f64, 0,
19552 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19553 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19554 MVT::f64, 3, 8, 4, 9,
19555 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19556 MVT::f64, 4, 10, 5, 6, 7,
19557 35, TARGET_VAL(ISD::FP_EXTEND),
19558 OPC_RecordChild0,
19559 OPC_MoveParent,
19560 OPC_CheckType, MVT::f64,
19561 OPC_CheckComplexPat0, /*#*/2,
19562 OPC_EmitMergeInputChains, 2, 0, 1,
19563 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19564 MVT::f64, 0,
19565 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19566 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19567 MVT::f64, 3, 7, 3, 8,
19568 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19569 MVT::f64, 4, 9, 4, 5, 6,
19570 0,
19571 90,
19572 OPC_CheckPredicate, 47,
19573 OPC_MoveSibling2,
19574 OPC_SwitchOpcode , 41, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19575 OPC_RecordNode,
19576 OPC_CheckFoldableChainNode,
19577 OPC_RecordChild1,
19578 OPC_CheckChild1Type, MVT::f64,
19579 OPC_MoveParent,
19580 OPC_CheckType, MVT::f128,
19581 OPC_CheckPatternPredicate4,
19582 OPC_CheckComplexPat0, /*#*/2,
19583 OPC_EmitMergeInputChains, 3, 0, 1, 3,
19584 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19585 MVT::f128, 0,
19586 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19587 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19588 MVT::f128, 3, 8, 4, 9,
19589 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19590 MVT::f128, 4, 10, 5, 6, 7,
19591 38, TARGET_VAL(ISD::FP_EXTEND),
19592 OPC_RecordChild0,
19593 OPC_CheckChild0Type, MVT::f64,
19594 OPC_MoveParent,
19595 OPC_CheckType, MVT::f128,
19596 OPC_CheckPatternPredicate4,
19597 OPC_CheckComplexPat0, /*#*/2,
19598 OPC_EmitMergeInputChains, 2, 0, 1,
19599 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19600 MVT::f128, 0,
19601 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19602 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19603 MVT::f128, 3, 7, 3, 8,
19604 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19605 MVT::f128, 4, 9, 4, 5, 6,
19606 0,
19607 0,
19608 0,
19609 106,
19610 OPC_RecordChild1,
19611 OPC_MoveChild2,
19612 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::LOAD),
19613 OPC_RecordMemRef,
19614 OPC_RecordNode,
19615 OPC_CheckFoldableChainNode,
19616 OPC_RecordChild1,
19617 OPC_CheckChild1TypeI64,
19618 OPC_CheckPredicate0,
19619 OPC_CheckPredicate3,
19620 OPC_CheckPredicate1,
19621 OPC_MoveParent,
19622 OPC_CheckPredicate, 22,
19623 OPC_SwitchType , 16, MVT::f32,
19624 OPC_CheckComplexPat0, /*#*/3,
19625 OPC_EmitMergeInputChains, 2, 0, 2,
19626 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
19627 MVT::f32, 4, 1, 4, 5, 6,
19628 16, MVT::f64,
19629 OPC_CheckComplexPat0, /*#*/3,
19630 OPC_EmitMergeInputChains, 2, 0, 2,
19631 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
19632 MVT::f64, 4, 1, 4, 5, 6,
19633 0,
19634 47, TARGET_VAL(ISD::ATOMIC_LOAD),
19635 OPC_RecordMemRef,
19636 OPC_RecordNode,
19637 OPC_CheckFoldableChainNode,
19638 OPC_RecordChild1,
19639 OPC_CheckChild1TypeI64,
19640 OPC_CheckPredicate1,
19641 OPC_MoveParent,
19642 OPC_CheckPredicate, 22,
19643 OPC_SwitchType , 16, MVT::f32,
19644 OPC_CheckComplexPat0, /*#*/3,
19645 OPC_EmitMergeInputChains, 2, 0, 2,
19646 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
19647 MVT::f32, 4, 1, 4, 5, 6,
19648 16, MVT::f64,
19649 OPC_CheckComplexPat0, /*#*/3,
19650 OPC_EmitMergeInputChains, 2, 0, 2,
19651 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
19652 MVT::f64, 4, 1, 4, 5, 6,
19653 0,
19654 0,
19655 39|128,3,
19656 OPC_MoveChild1,
19657 OPC_SwitchOpcode , 50, TARGET_VAL(ISD::LOAD),
19658 OPC_RecordMemRef,
19659 OPC_RecordNode,
19660 OPC_CheckFoldableChainNode,
19661 OPC_RecordChild1,
19662 OPC_CheckChild1TypeI64,
19663 OPC_CheckPredicate0,
19664 OPC_CheckPredicate3,
19665 OPC_CheckPredicate1,
19666 OPC_MoveParent,
19667 OPC_RecordChild2,
19668 OPC_CheckPredicate, 22,
19669 OPC_SwitchType , 16, MVT::f32,
19670 OPC_CheckComplexPat0, /*#*/2,
19671 OPC_EmitMergeInputChains, 2, 0, 1,
19672 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
19673 MVT::f32, 4, 3, 4, 5, 6,
19674 16, MVT::f64,
19675 OPC_CheckComplexPat0, /*#*/2,
19676 OPC_EmitMergeInputChains, 2, 0, 1,
19677 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
19678 MVT::f64, 4, 3, 4, 5, 6,
19679 0,
19680 48, TARGET_VAL(ISD::ATOMIC_LOAD),
19681 OPC_RecordMemRef,
19682 OPC_RecordNode,
19683 OPC_CheckFoldableChainNode,
19684 OPC_RecordChild1,
19685 OPC_CheckChild1TypeI64,
19686 OPC_CheckPredicate1,
19687 OPC_MoveParent,
19688 OPC_RecordChild2,
19689 OPC_CheckPredicate, 22,
19690 OPC_SwitchType , 16, MVT::f32,
19691 OPC_CheckComplexPat0, /*#*/2,
19692 OPC_EmitMergeInputChains, 2, 0, 1,
19693 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
19694 MVT::f32, 4, 3, 4, 5, 6,
19695 16, MVT::f64,
19696 OPC_CheckComplexPat0, /*#*/2,
19697 OPC_EmitMergeInputChains, 2, 0, 1,
19698 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
19699 MVT::f64, 4, 3, 4, 5, 6,
19700 0,
19701 31|128,1, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19702 OPC_RecordNode,
19703 OPC_CheckFoldableChainNode,
19704 OPC_RecordChild1,
19705 OPC_Scope, 72,
19706 OPC_MoveSibling2,
19707 OPC_SwitchOpcode , 33, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19708 OPC_RecordNode,
19709 OPC_CheckFoldableChainNode,
19710 OPC_RecordChild1,
19711 OPC_MoveParent,
19712 OPC_CheckType, MVT::f64,
19713 OPC_EmitMergeInputChains, 3, 0, 1, 3,
19714 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19715 MVT::f64, 0,
19716 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19717 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19718 MVT::f64, 3, 5, 2, 6,
19719 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
19720 MVT::f64, 2, 7, 4,
19721 30, TARGET_VAL(ISD::FP_EXTEND),
19722 OPC_RecordChild0,
19723 OPC_MoveParent,
19724 OPC_CheckType, MVT::f64,
19725 OPC_EmitMergeInputChains, 2, 0, 1,
19726 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19727 MVT::f64, 0,
19728 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19729 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19730 MVT::f64, 3, 4, 2, 5,
19731 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
19732 MVT::f64, 2, 6, 3,
19733 0,
19734 80,
19735 OPC_CheckChild1Type, MVT::f64,
19736 OPC_MoveSibling2,
19737 OPC_SwitchOpcode , 36, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19738 OPC_RecordNode,
19739 OPC_CheckFoldableChainNode,
19740 OPC_RecordChild1,
19741 OPC_CheckChild1Type, MVT::f64,
19742 OPC_MoveParent,
19743 OPC_CheckType, MVT::f128,
19744 OPC_CheckPatternPredicate4,
19745 OPC_EmitMergeInputChains, 3, 0, 1, 3,
19746 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19747 MVT::f128, 0,
19748 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19749 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19750 MVT::f128, 3, 5, 2, 6,
19751 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
19752 MVT::f128, 2, 7, 4,
19753 33, TARGET_VAL(ISD::FP_EXTEND),
19754 OPC_RecordChild0,
19755 OPC_CheckChild0Type, MVT::f64,
19756 OPC_MoveParent,
19757 OPC_CheckType, MVT::f128,
19758 OPC_CheckPatternPredicate4,
19759 OPC_EmitMergeInputChains, 2, 0, 1,
19760 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19761 MVT::f128, 0,
19762 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19763 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19764 MVT::f128, 3, 4, 2, 5,
19765 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
19766 MVT::f128, 2, 6, 3,
19767 0,
19768 0,
19769 21|128,1, TARGET_VAL(ISD::FP_EXTEND),
19770 OPC_RecordChild0,
19771 OPC_Scope, 68,
19772 OPC_MoveSibling2,
19773 OPC_SwitchOpcode , 32, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19774 OPC_RecordNode,
19775 OPC_CheckFoldableChainNode,
19776 OPC_RecordChild1,
19777 OPC_MoveParent,
19778 OPC_CheckType, MVT::f64,
19779 OPC_EmitMergeInputChains, 2, 0, 2,
19780 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19781 MVT::f64, 0,
19782 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19783 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19784 MVT::f64, 3, 4, 1, 5,
19785 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
19786 MVT::f64, 2, 6, 3,
19787 27, TARGET_VAL(ISD::FP_EXTEND),
19788 OPC_RecordChild0,
19789 OPC_MoveParent,
19790 OPC_CheckType, MVT::f64,
19791 OPC_EmitMergeInputChains1_0,
19792 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19793 MVT::f64, 0,
19794 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19795 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19796 MVT::f64, 3, 3, 1, 4,
19797 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
19798 MVT::f64, 2, 5, 2,
19799 0,
19800 76,
19801 OPC_CheckChild0Type, MVT::f64,
19802 OPC_MoveSibling2,
19803 OPC_SwitchOpcode , 35, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19804 OPC_RecordNode,
19805 OPC_CheckFoldableChainNode,
19806 OPC_RecordChild1,
19807 OPC_CheckChild1Type, MVT::f64,
19808 OPC_MoveParent,
19809 OPC_CheckType, MVT::f128,
19810 OPC_CheckPatternPredicate4,
19811 OPC_EmitMergeInputChains, 2, 0, 2,
19812 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19813 MVT::f128, 0,
19814 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19815 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19816 MVT::f128, 3, 4, 1, 5,
19817 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
19818 MVT::f128, 2, 6, 3,
19819 30, TARGET_VAL(ISD::FP_EXTEND),
19820 OPC_RecordChild0,
19821 OPC_CheckChild0Type, MVT::f64,
19822 OPC_MoveParent,
19823 OPC_CheckType, MVT::f128,
19824 OPC_CheckPatternPredicate4,
19825 OPC_EmitMergeInputChains1_0,
19826 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19827 MVT::f128, 0,
19828 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19829 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19830 MVT::f128, 3, 3, 1, 4,
19831 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
19832 MVT::f128, 2, 5, 2,
19833 0,
19834 0,
19835 0,
19836 95,
19837 OPC_RecordChild1,
19838 OPC_RecordChild2,
19839 OPC_SwitchType , 21, MVT::f64,
19840 OPC_Scope, 9,
19841 OPC_CheckPatternPredicate0,
19842 OPC_EmitMergeInputChains1_0,
19843 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMDB),
19844 MVT::f64, 2, 1, 2,
19845 8,
19846 OPC_EmitMergeInputChains1_0,
19847 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDBR),
19848 MVT::f64, 2, 1, 2,
19849 0,
19850 21, MVT::f32,
19851 OPC_Scope, 9,
19852 OPC_CheckPatternPredicate1,
19853 OPC_EmitMergeInputChains1_0,
19854 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMSB),
19855 MVT::f32, 2, 1, 2,
19856 8,
19857 OPC_EmitMergeInputChains1_0,
19858 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MEEBR),
19859 MVT::f32, 2, 1, 2,
19860 0,
19861 21, MVT::f128,
19862 OPC_Scope, 9,
19863 OPC_CheckPatternPredicate1,
19864 OPC_EmitMergeInputChains1_0,
19865 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMXB),
19866 MVT::f128, 2, 1, 2,
19867 8,
19868 OPC_EmitMergeInputChains1_0,
19869 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXBR),
19870 MVT::f128, 2, 1, 2,
19871 0,
19872 9, MVT::v2f64,
19873 OPC_CheckPatternPredicate0,
19874 OPC_EmitMergeInputChains1_0,
19875 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMDB),
19876 MVT::v2f64, 2, 1, 2,
19877 9, MVT::v4f32,
19878 OPC_CheckPatternPredicate1,
19879 OPC_EmitMergeInputChains1_0,
19880 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMSB),
19881 MVT::v4f32, 2, 1, 2,
19882 0,
19883 0,
19884 123|128,10, TARGET_VAL(ISD::FMUL),
19885 OPC_Scope, 51|128,6,
19886 OPC_MoveChild0,
19887 OPC_SwitchOpcode , 33|128,3, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19888 OPC_RecordNode,
19889 OPC_CheckFoldableChainNode,
19890 OPC_Scope, 116,
19891 OPC_RecordChild1,
19892 OPC_Scope, 53,
19893 OPC_MoveSibling1,
19894 OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19895 OPC_RecordNode,
19896 OPC_CheckFoldableChainNode,
19897 OPC_MoveChild1,
19898 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19899 OPC_RecordMemRef,
19900 OPC_RecordNode,
19901 OPC_CheckFoldableChainNode,
19902 OPC_RecordChild1,
19903 OPC_CheckChild1TypeI64,
19904 OPC_CheckPredicate0,
19905 OPC_CheckPredicate3,
19906 OPC_MoveParent,
19907 OPC_MoveParent,
19908 OPC_CheckType, MVT::f64,
19909 OPC_CheckComplexPat0, /*#*/4,
19910 OPC_EmitMergeInputChains, 3, 0, 2, 3,
19911 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19912 MVT::f64, 0,
19913 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19914 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19915 MVT::f64, 3, 8, 1, 9,
19916 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19917 MVT::f64, 4, 10, 5, 6, 7,
19918 58,
19919 OPC_CheckChild1Type, MVT::f64,
19920 OPC_MoveSibling1,
19921 OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19922 OPC_RecordNode,
19923 OPC_CheckFoldableChainNode,
19924 OPC_MoveChild1,
19925 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19926 OPC_RecordMemRef,
19927 OPC_RecordNode,
19928 OPC_CheckFoldableChainNode,
19929 OPC_RecordChild1,
19930 OPC_CheckChild1TypeI64,
19931 OPC_CheckPredicate0,
19932 OPC_CheckPredicate3,
19933 OPC_CheckType, MVT::f64,
19934 OPC_MoveParent,
19935 OPC_MoveParent,
19936 OPC_CheckType, MVT::f128,
19937 OPC_CheckPatternPredicate4,
19938 OPC_CheckComplexPat0, /*#*/4,
19939 OPC_EmitMergeInputChains, 3, 0, 2, 3,
19940 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19941 MVT::f128, 0,
19942 OPC_EmitStringInteger32, SystemZ::subreg_h64,
19943 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19944 MVT::f128, 3, 8, 1, 9,
19945 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
19946 MVT::f128, 4, 10, 5, 6, 7,
19947 0,
19948 61|128,1,
19949 OPC_MoveChild1,
19950 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
19951 OPC_RecordMemRef,
19952 OPC_RecordNode,
19953 OPC_CheckFoldableChainNode,
19954 OPC_RecordChild1,
19955 OPC_CheckChild1TypeI64,
19956 OPC_CheckPredicate0,
19957 OPC_CheckPredicate3,
19958 OPC_Scope, 83,
19959 OPC_MoveParent,
19960 OPC_MoveSibling1,
19961 OPC_SwitchOpcode , 38, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19962 OPC_RecordNode,
19963 OPC_CheckFoldableChainNode,
19964 OPC_RecordChild1,
19965 OPC_MoveParent,
19966 OPC_CheckType, MVT::f64,
19967 OPC_CheckComplexPat0, /*#*/2,
19968 OPC_EmitMergeInputChains, 3, 0, 1, 3,
19969 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19970 MVT::f64, 0,
19971 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19972 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19973 MVT::f64, 3, 8, 4, 9,
19974 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19975 MVT::f64, 4, 10, 5, 6, 7,
19976 35, TARGET_VAL(ISD::FP_EXTEND),
19977 OPC_RecordChild0,
19978 OPC_MoveParent,
19979 OPC_CheckType, MVT::f64,
19980 OPC_CheckComplexPat0, /*#*/2,
19981 OPC_EmitMergeInputChains, 2, 0, 1,
19982 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
19983 MVT::f64, 0,
19984 OPC_EmitStringInteger32, SystemZ::subreg_h32,
19985 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
19986 MVT::f64, 3, 7, 3, 8,
19987 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
19988 MVT::f64, 4, 9, 4, 5, 6,
19989 0,
19990 91,
19991 OPC_CheckType, MVT::f64,
19992 OPC_MoveParent,
19993 OPC_MoveSibling1,
19994 OPC_SwitchOpcode , 41, TARGET_VAL(ISD::STRICT_FP_EXTEND),
19995 OPC_RecordNode,
19996 OPC_CheckFoldableChainNode,
19997 OPC_RecordChild1,
19998 OPC_CheckChild1Type, MVT::f64,
19999 OPC_MoveParent,
20000 OPC_CheckType, MVT::f128,
20001 OPC_CheckPatternPredicate4,
20002 OPC_CheckComplexPat0, /*#*/2,
20003 OPC_EmitMergeInputChains, 3, 0, 1, 3,
20004 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20005 MVT::f128, 0,
20006 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20007 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20008 MVT::f128, 3, 8, 4, 9,
20009 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
20010 MVT::f128, 4, 10, 5, 6, 7,
20011 38, TARGET_VAL(ISD::FP_EXTEND),
20012 OPC_RecordChild0,
20013 OPC_CheckChild0Type, MVT::f64,
20014 OPC_MoveParent,
20015 OPC_CheckType, MVT::f128,
20016 OPC_CheckPatternPredicate4,
20017 OPC_CheckComplexPat0, /*#*/2,
20018 OPC_EmitMergeInputChains, 2, 0, 1,
20019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20020 MVT::f128, 0,
20021 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20022 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20023 MVT::f128, 3, 7, 3, 8,
20024 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
20025 MVT::f128, 4, 9, 4, 5, 6,
20026 0,
20027 0,
20028 104,
20029 OPC_RecordChild1,
20030 OPC_Scope, 48,
20031 OPC_MoveSibling1,
20032 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20033 OPC_RecordMemRef,
20034 OPC_RecordNode,
20035 OPC_CheckFoldableChainNode,
20036 OPC_RecordChild1,
20037 OPC_CheckChild1TypeI64,
20038 OPC_CheckPredicate0,
20039 OPC_CheckPredicate, 32,
20040 OPC_CheckPredicate, 46,
20041 OPC_MoveParent,
20042 OPC_CheckType, MVT::f64,
20043 OPC_CheckComplexPat0, /*#*/3,
20044 OPC_EmitMergeInputChains, 2, 0, 2,
20045 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20046 MVT::f64, 0,
20047 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20048 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20049 MVT::f64, 3, 7, 1, 8,
20050 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
20051 MVT::f64, 4, 9, 4, 5, 6,
20052 51,
20053 OPC_CheckChild1Type, MVT::f64,
20054 OPC_MoveSibling1,
20055 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20056 OPC_RecordMemRef,
20057 OPC_RecordNode,
20058 OPC_CheckFoldableChainNode,
20059 OPC_RecordChild1,
20060 OPC_CheckChild1TypeI64,
20061 OPC_CheckPredicate0,
20062 OPC_CheckPredicate, 32,
20063 OPC_CheckPredicate, 47,
20064 OPC_MoveParent,
20065 OPC_CheckType, MVT::f128,
20066 OPC_CheckPatternPredicate4,
20067 OPC_CheckComplexPat0, /*#*/3,
20068 OPC_EmitMergeInputChains, 2, 0, 2,
20069 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20070 MVT::f128, 0,
20071 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20072 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20073 MVT::f128, 3, 7, 1, 8,
20074 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
20075 MVT::f128, 4, 9, 4, 5, 6,
20076 0,
20077 0,
20078 81|128,1, TARGET_VAL(ISD::FP_EXTEND),
20079 OPC_RecordChild0,
20080 OPC_Scope, 52,
20081 OPC_MoveSibling1,
20082 OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20083 OPC_RecordNode,
20084 OPC_CheckFoldableChainNode,
20085 OPC_MoveChild1,
20086 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20087 OPC_RecordMemRef,
20088 OPC_RecordNode,
20089 OPC_CheckFoldableChainNode,
20090 OPC_RecordChild1,
20091 OPC_CheckChild1TypeI64,
20092 OPC_CheckPredicate0,
20093 OPC_CheckPredicate3,
20094 OPC_MoveParent,
20095 OPC_MoveParent,
20096 OPC_CheckType, MVT::f64,
20097 OPC_CheckComplexPat0, /*#*/3,
20098 OPC_EmitMergeInputChains, 2, 1, 2,
20099 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20100 MVT::f64, 0,
20101 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20102 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20103 MVT::f64, 3, 7, 0, 8,
20104 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
20105 MVT::f64, 4, 9, 4, 5, 6,
20106 57,
20107 OPC_CheckChild0Type, MVT::f64,
20108 OPC_MoveSibling1,
20109 OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20110 OPC_RecordNode,
20111 OPC_CheckFoldableChainNode,
20112 OPC_MoveChild1,
20113 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20114 OPC_RecordMemRef,
20115 OPC_RecordNode,
20116 OPC_CheckFoldableChainNode,
20117 OPC_RecordChild1,
20118 OPC_CheckChild1TypeI64,
20119 OPC_CheckPredicate0,
20120 OPC_CheckPredicate3,
20121 OPC_CheckType, MVT::f64,
20122 OPC_MoveParent,
20123 OPC_MoveParent,
20124 OPC_CheckType, MVT::f128,
20125 OPC_CheckPatternPredicate4,
20126 OPC_CheckComplexPat0, /*#*/3,
20127 OPC_EmitMergeInputChains, 2, 1, 2,
20128 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20129 MVT::f128, 0,
20130 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20131 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20132 MVT::f128, 3, 7, 0, 8,
20133 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
20134 MVT::f128, 4, 9, 4, 5, 6,
20135 45,
20136 OPC_MoveSibling1,
20137 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20138 OPC_RecordMemRef,
20139 OPC_RecordNode,
20140 OPC_CheckFoldableChainNode,
20141 OPC_RecordChild1,
20142 OPC_CheckChild1TypeI64,
20143 OPC_CheckPredicate0,
20144 OPC_CheckPredicate, 32,
20145 OPC_CheckPredicate, 46,
20146 OPC_MoveParent,
20147 OPC_CheckType, MVT::f64,
20148 OPC_CheckComplexPat0, /*#*/2,
20149 OPC_EmitMergeInputChains1_1,
20150 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20151 MVT::f64, 0,
20152 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20153 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20154 MVT::f64, 3, 6, 0, 7,
20155 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
20156 MVT::f64, 4, 8, 3, 4, 5,
20157 48,
20158 OPC_CheckChild0Type, MVT::f64,
20159 OPC_MoveSibling1,
20160 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
20161 OPC_RecordMemRef,
20162 OPC_RecordNode,
20163 OPC_CheckFoldableChainNode,
20164 OPC_RecordChild1,
20165 OPC_CheckChild1TypeI64,
20166 OPC_CheckPredicate0,
20167 OPC_CheckPredicate, 32,
20168 OPC_CheckPredicate, 47,
20169 OPC_MoveParent,
20170 OPC_CheckType, MVT::f128,
20171 OPC_CheckPatternPredicate4,
20172 OPC_CheckComplexPat0, /*#*/2,
20173 OPC_EmitMergeInputChains1_1,
20174 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20175 MVT::f128, 0,
20176 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20177 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20178 MVT::f128, 3, 6, 0, 7,
20179 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
20180 MVT::f128, 4, 8, 3, 4, 5,
20181 0,
20182 50|128,1, TARGET_VAL(ISD::LOAD),
20183 OPC_RecordMemRef,
20184 OPC_RecordNode,
20185 OPC_CheckFoldableChainNode,
20186 OPC_RecordChild1,
20187 OPC_CheckChild1TypeI64,
20188 OPC_CheckPredicate0,
20189 OPC_CheckPredicate, 32,
20190 OPC_Scope, 80,
20191 OPC_CheckPredicate, 46,
20192 OPC_MoveSibling1,
20193 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20194 OPC_RecordNode,
20195 OPC_CheckFoldableChainNode,
20196 OPC_RecordChild1,
20197 OPC_MoveParent,
20198 OPC_CheckType, MVT::f64,
20199 OPC_CheckComplexPat0, /*#*/1,
20200 OPC_EmitMergeInputChains, 2, 0, 2,
20201 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20202 MVT::f64, 0,
20203 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20204 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20205 MVT::f64, 3, 7, 3, 8,
20206 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
20207 MVT::f64, 4, 9, 4, 5, 6,
20208 32, TARGET_VAL(ISD::FP_EXTEND),
20209 OPC_RecordChild0,
20210 OPC_MoveParent,
20211 OPC_CheckType, MVT::f64,
20212 OPC_CheckComplexPat0, /*#*/1,
20213 OPC_EmitMergeInputChains1_0,
20214 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20215 MVT::f64, 0,
20216 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20217 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20218 MVT::f64, 3, 6, 2, 7,
20219 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDEB), 0|OPFL_Chain|OPFL_MemRefs,
20220 MVT::f64, 4, 8, 3, 4, 5,
20221 0,
20222 86,
20223 OPC_CheckPredicate, 47,
20224 OPC_MoveSibling1,
20225 OPC_SwitchOpcode , 40, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20226 OPC_RecordNode,
20227 OPC_CheckFoldableChainNode,
20228 OPC_RecordChild1,
20229 OPC_CheckChild1Type, MVT::f64,
20230 OPC_MoveParent,
20231 OPC_CheckType, MVT::f128,
20232 OPC_CheckPatternPredicate4,
20233 OPC_CheckComplexPat0, /*#*/1,
20234 OPC_EmitMergeInputChains, 2, 0, 2,
20235 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20236 MVT::f128, 0,
20237 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20238 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20239 MVT::f128, 3, 7, 3, 8,
20240 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
20241 MVT::f128, 4, 9, 4, 5, 6,
20242 35, TARGET_VAL(ISD::FP_EXTEND),
20243 OPC_RecordChild0,
20244 OPC_CheckChild0Type, MVT::f64,
20245 OPC_MoveParent,
20246 OPC_CheckType, MVT::f128,
20247 OPC_CheckPatternPredicate4,
20248 OPC_CheckComplexPat0, /*#*/1,
20249 OPC_EmitMergeInputChains1_0,
20250 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20251 MVT::f128, 0,
20252 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20253 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20254 MVT::f128, 3, 6, 2, 7,
20255 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MXDB), 0|OPFL_Chain|OPFL_MemRefs,
20256 MVT::f128, 4, 8, 3, 4, 5,
20257 0,
20258 0,
20259 0,
20260 94,
20261 OPC_RecordChild0,
20262 OPC_MoveChild1,
20263 OPC_SwitchOpcode , 43, TARGET_VAL(ISD::LOAD),
20264 OPC_RecordMemRef,
20265 OPC_RecordNode,
20266 OPC_CheckFoldableChainNode,
20267 OPC_RecordChild1,
20268 OPC_CheckChild1TypeI64,
20269 OPC_CheckPredicate0,
20270 OPC_CheckPredicate3,
20271 OPC_CheckPredicate1,
20272 OPC_MoveParent,
20273 OPC_CheckPredicate, 22,
20274 OPC_SwitchType , 13, MVT::f32,
20275 OPC_CheckComplexPat0, /*#*/2,
20276 OPC_EmitMergeInputChains1_1,
20277 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
20278 MVT::f32, 4, 0, 3, 4, 5,
20279 13, MVT::f64,
20280 OPC_CheckComplexPat0, /*#*/2,
20281 OPC_EmitMergeInputChains1_1,
20282 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
20283 MVT::f64, 4, 0, 3, 4, 5,
20284 0,
20285 41, TARGET_VAL(ISD::ATOMIC_LOAD),
20286 OPC_RecordMemRef,
20287 OPC_RecordNode,
20288 OPC_CheckFoldableChainNode,
20289 OPC_RecordChild1,
20290 OPC_CheckChild1TypeI64,
20291 OPC_CheckPredicate1,
20292 OPC_MoveParent,
20293 OPC_CheckPredicate, 22,
20294 OPC_SwitchType , 13, MVT::f32,
20295 OPC_CheckComplexPat0, /*#*/2,
20296 OPC_EmitMergeInputChains1_1,
20297 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
20298 MVT::f32, 4, 0, 3, 4, 5,
20299 13, MVT::f64,
20300 OPC_CheckComplexPat0, /*#*/2,
20301 OPC_EmitMergeInputChains1_1,
20302 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
20303 MVT::f64, 4, 0, 3, 4, 5,
20304 0,
20305 0,
20306 11|128,3,
20307 OPC_MoveChild0,
20308 OPC_SwitchOpcode , 44, TARGET_VAL(ISD::LOAD),
20309 OPC_RecordMemRef,
20310 OPC_RecordNode,
20311 OPC_CheckFoldableChainNode,
20312 OPC_RecordChild1,
20313 OPC_CheckChild1TypeI64,
20314 OPC_CheckPredicate0,
20315 OPC_CheckPredicate3,
20316 OPC_CheckPredicate1,
20317 OPC_MoveParent,
20318 OPC_RecordChild1,
20319 OPC_CheckPredicate, 22,
20320 OPC_SwitchType , 13, MVT::f32,
20321 OPC_CheckComplexPat0, /*#*/1,
20322 OPC_EmitMergeInputChains1_0,
20323 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
20324 MVT::f32, 4, 2, 3, 4, 5,
20325 13, MVT::f64,
20326 OPC_CheckComplexPat0, /*#*/1,
20327 OPC_EmitMergeInputChains1_0,
20328 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
20329 MVT::f64, 4, 2, 3, 4, 5,
20330 0,
20331 42, TARGET_VAL(ISD::ATOMIC_LOAD),
20332 OPC_RecordMemRef,
20333 OPC_RecordNode,
20334 OPC_CheckFoldableChainNode,
20335 OPC_RecordChild1,
20336 OPC_CheckChild1TypeI64,
20337 OPC_CheckPredicate1,
20338 OPC_MoveParent,
20339 OPC_RecordChild1,
20340 OPC_CheckPredicate, 22,
20341 OPC_SwitchType , 13, MVT::f32,
20342 OPC_CheckComplexPat0, /*#*/1,
20343 OPC_EmitMergeInputChains1_0,
20344 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MEEB), 0|OPFL_Chain|OPFL_MemRefs,
20345 MVT::f32, 4, 2, 3, 4, 5,
20346 13, MVT::f64,
20347 OPC_CheckComplexPat0, /*#*/1,
20348 OPC_EmitMergeInputChains1_0,
20349 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MDB), 0|OPFL_Chain|OPFL_MemRefs,
20350 MVT::f64, 4, 2, 3, 4, 5,
20351 0,
20352 23|128,1, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20353 OPC_RecordNode,
20354 OPC_CheckFoldableChainNode,
20355 OPC_RecordChild1,
20356 OPC_Scope, 68,
20357 OPC_MoveSibling1,
20358 OPC_SwitchOpcode , 32, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20359 OPC_RecordNode,
20360 OPC_CheckFoldableChainNode,
20361 OPC_RecordChild1,
20362 OPC_MoveParent,
20363 OPC_CheckType, MVT::f64,
20364 OPC_EmitMergeInputChains, 2, 0, 2,
20365 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20366 MVT::f64, 0,
20367 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20368 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20369 MVT::f64, 3, 4, 1, 5,
20370 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
20371 MVT::f64, 2, 6, 3,
20372 27, TARGET_VAL(ISD::FP_EXTEND),
20373 OPC_RecordChild0,
20374 OPC_MoveParent,
20375 OPC_CheckType, MVT::f64,
20376 OPC_EmitMergeInputChains1_0,
20377 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20378 MVT::f64, 0,
20379 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20380 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20381 MVT::f64, 3, 3, 1, 4,
20382 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
20383 MVT::f64, 2, 5, 2,
20384 0,
20385 76,
20386 OPC_CheckChild1Type, MVT::f64,
20387 OPC_MoveSibling1,
20388 OPC_SwitchOpcode , 35, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20389 OPC_RecordNode,
20390 OPC_CheckFoldableChainNode,
20391 OPC_RecordChild1,
20392 OPC_CheckChild1Type, MVT::f64,
20393 OPC_MoveParent,
20394 OPC_CheckType, MVT::f128,
20395 OPC_CheckPatternPredicate4,
20396 OPC_EmitMergeInputChains, 2, 0, 2,
20397 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20398 MVT::f128, 0,
20399 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20400 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20401 MVT::f128, 3, 4, 1, 5,
20402 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
20403 MVT::f128, 2, 6, 3,
20404 30, TARGET_VAL(ISD::FP_EXTEND),
20405 OPC_RecordChild0,
20406 OPC_CheckChild0Type, MVT::f64,
20407 OPC_MoveParent,
20408 OPC_CheckType, MVT::f128,
20409 OPC_CheckPatternPredicate4,
20410 OPC_EmitMergeInputChains1_0,
20411 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20412 MVT::f128, 0,
20413 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20414 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20415 MVT::f128, 3, 3, 1, 4,
20416 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
20417 MVT::f128, 2, 5, 2,
20418 0,
20419 0,
20420 13|128,1, TARGET_VAL(ISD::FP_EXTEND),
20421 OPC_RecordChild0,
20422 OPC_Scope, 64,
20423 OPC_MoveSibling1,
20424 OPC_SwitchOpcode , 29, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20425 OPC_RecordNode,
20426 OPC_CheckFoldableChainNode,
20427 OPC_RecordChild1,
20428 OPC_MoveParent,
20429 OPC_CheckType, MVT::f64,
20430 OPC_EmitMergeInputChains1_1,
20431 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20432 MVT::f64, 0,
20433 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20434 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20435 MVT::f64, 3, 3, 0, 4,
20436 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MDEBR),
20437 MVT::f64, 2, 5, 2,
20438 26, TARGET_VAL(ISD::FP_EXTEND),
20439 OPC_RecordChild0,
20440 OPC_MoveParent,
20441 OPC_CheckType, MVT::f64,
20442 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20443 MVT::f64, 0,
20444 OPC_EmitStringInteger32, SystemZ::subreg_h32,
20445 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20446 MVT::f64, 3, 2, 0, 3,
20447 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MDEBR),
20448 MVT::f64, 2, 4, 1,
20449 0,
20450 72,
20451 OPC_CheckChild0Type, MVT::f64,
20452 OPC_MoveSibling1,
20453 OPC_SwitchOpcode , 32, TARGET_VAL(ISD::STRICT_FP_EXTEND),
20454 OPC_RecordNode,
20455 OPC_CheckFoldableChainNode,
20456 OPC_RecordChild1,
20457 OPC_CheckChild1Type, MVT::f64,
20458 OPC_MoveParent,
20459 OPC_CheckType, MVT::f128,
20460 OPC_CheckPatternPredicate4,
20461 OPC_EmitMergeInputChains1_1,
20462 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20463 MVT::f128, 0,
20464 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20465 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20466 MVT::f128, 3, 3, 0, 4,
20467 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MXDBR),
20468 MVT::f128, 2, 5, 2,
20469 29, TARGET_VAL(ISD::FP_EXTEND),
20470 OPC_RecordChild0,
20471 OPC_CheckChild0Type, MVT::f64,
20472 OPC_MoveParent,
20473 OPC_CheckType, MVT::f128,
20474 OPC_CheckPatternPredicate4,
20475 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20476 MVT::f128, 0,
20477 OPC_EmitStringInteger32, SystemZ::subreg_h64,
20478 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20479 MVT::f128, 3, 2, 0, 3,
20480 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MXDBR),
20481 MVT::f128, 2, 4, 1,
20482 0,
20483 0,
20484 0,
20485 87,
20486 OPC_RecordChild0,
20487 OPC_RecordChild1,
20488 OPC_SwitchType , 19, MVT::f64,
20489 OPC_Scope, 8,
20490 OPC_CheckPatternPredicate0,
20491 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMDB),
20492 MVT::f64, 2, 0, 1,
20493 7,
20494 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MDBR),
20495 MVT::f64, 2, 0, 1,
20496 0,
20497 19, MVT::f32,
20498 OPC_Scope, 8,
20499 OPC_CheckPatternPredicate1,
20500 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMSB),
20501 MVT::f32, 2, 0, 1,
20502 7,
20503 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MEEBR),
20504 MVT::f32, 2, 0, 1,
20505 0,
20506 19, MVT::f128,
20507 OPC_Scope, 8,
20508 OPC_CheckPatternPredicate1,
20509 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMXB),
20510 MVT::f128, 2, 0, 1,
20511 7,
20512 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MXBR),
20513 MVT::f128, 2, 0, 1,
20514 0,
20515 8, MVT::v2f64,
20516 OPC_CheckPatternPredicate0,
20517 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMDB),
20518 MVT::v2f64, 2, 0, 1,
20519 8, MVT::v4f32,
20520 OPC_CheckPatternPredicate1,
20521 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMSB),
20522 MVT::v4f32, 2, 0, 1,
20523 0,
20524 0,
20525 23|128,5, TARGET_VAL(ISD::STRICT_FMA),
20526 OPC_RecordNode,
20527 OPC_Scope, 116,
20528 OPC_RecordChild1,
20529 OPC_MoveChild2,
20530 OPC_SwitchOpcode , 54, TARGET_VAL(ISD::LOAD),
20531 OPC_RecordMemRef,
20532 OPC_RecordNode,
20533 OPC_CheckFoldableChainNode,
20534 OPC_RecordChild1,
20535 OPC_CheckChild1TypeI64,
20536 OPC_CheckPredicate0,
20537 OPC_CheckPredicate3,
20538 OPC_CheckPredicate1,
20539 OPC_MoveSibling3,
20540 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20541 OPC_RecordChild0,
20542 OPC_MoveParent,
20543 OPC_SwitchType , 17, MVT::f32,
20544 OPC_CheckComplexPat0, /*#*/3,
20545 OPC_EmitMergeInputChains, 2, 0, 2,
20546 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
20547 MVT::f32, 5, 4, 1, 5, 6, 7,
20548 17, MVT::f64,
20549 OPC_CheckComplexPat0, /*#*/3,
20550 OPC_EmitMergeInputChains, 2, 0, 2,
20551 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
20552 MVT::f64, 5, 4, 1, 5, 6, 7,
20553 0,
20554 52, TARGET_VAL(ISD::ATOMIC_LOAD),
20555 OPC_RecordMemRef,
20556 OPC_RecordNode,
20557 OPC_CheckFoldableChainNode,
20558 OPC_RecordChild1,
20559 OPC_CheckChild1TypeI64,
20560 OPC_CheckPredicate1,
20561 OPC_MoveSibling3,
20562 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20563 OPC_RecordChild0,
20564 OPC_MoveParent,
20565 OPC_SwitchType , 17, MVT::f32,
20566 OPC_CheckComplexPat0, /*#*/3,
20567 OPC_EmitMergeInputChains, 2, 0, 2,
20568 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
20569 MVT::f32, 5, 4, 1, 5, 6, 7,
20570 17, MVT::f64,
20571 OPC_CheckComplexPat0, /*#*/3,
20572 OPC_EmitMergeInputChains, 2, 0, 2,
20573 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
20574 MVT::f64, 5, 4, 1, 5, 6, 7,
20575 0,
20576 0,
20577 119,
20578 OPC_MoveChild1,
20579 OPC_SwitchOpcode , 56, TARGET_VAL(ISD::LOAD),
20580 OPC_RecordMemRef,
20581 OPC_RecordNode,
20582 OPC_CheckFoldableChainNode,
20583 OPC_RecordChild1,
20584 OPC_CheckChild1TypeI64,
20585 OPC_CheckPredicate0,
20586 OPC_CheckPredicate3,
20587 OPC_CheckPredicate1,
20588 OPC_MoveParent,
20589 OPC_RecordChild2,
20590 OPC_MoveChild3,
20591 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20592 OPC_RecordChild0,
20593 OPC_MoveParent,
20594 OPC_SwitchType , 17, MVT::f32,
20595 OPC_CheckComplexPat0, /*#*/2,
20596 OPC_EmitMergeInputChains, 2, 0, 1,
20597 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
20598 MVT::f32, 5, 4, 3, 5, 6, 7,
20599 17, MVT::f64,
20600 OPC_CheckComplexPat0, /*#*/2,
20601 OPC_EmitMergeInputChains, 2, 0, 1,
20602 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
20603 MVT::f64, 5, 4, 3, 5, 6, 7,
20604 0,
20605 54, TARGET_VAL(ISD::ATOMIC_LOAD),
20606 OPC_RecordMemRef,
20607 OPC_RecordNode,
20608 OPC_CheckFoldableChainNode,
20609 OPC_RecordChild1,
20610 OPC_CheckChild1TypeI64,
20611 OPC_CheckPredicate1,
20612 OPC_MoveParent,
20613 OPC_RecordChild2,
20614 OPC_MoveChild3,
20615 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20616 OPC_RecordChild0,
20617 OPC_MoveParent,
20618 OPC_SwitchType , 17, MVT::f32,
20619 OPC_CheckComplexPat0, /*#*/2,
20620 OPC_EmitMergeInputChains, 2, 0, 1,
20621 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
20622 MVT::f32, 5, 4, 3, 5, 6, 7,
20623 17, MVT::f64,
20624 OPC_CheckComplexPat0, /*#*/2,
20625 OPC_EmitMergeInputChains, 2, 0, 1,
20626 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
20627 MVT::f64, 5, 4, 3, 5, 6, 7,
20628 0,
20629 0,
20630 108,
20631 OPC_RecordChild1,
20632 OPC_MoveChild2,
20633 OPC_SwitchOpcode , 50, TARGET_VAL(ISD::LOAD),
20634 OPC_RecordMemRef,
20635 OPC_RecordNode,
20636 OPC_CheckFoldableChainNode,
20637 OPC_RecordChild1,
20638 OPC_CheckChild1TypeI64,
20639 OPC_CheckPredicate0,
20640 OPC_CheckPredicate3,
20641 OPC_CheckPredicate1,
20642 OPC_MoveParent,
20643 OPC_RecordChild3,
20644 OPC_SwitchType , 17, MVT::f32,
20645 OPC_CheckComplexPat0, /*#*/3,
20646 OPC_EmitMergeInputChains, 2, 0, 2,
20647 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
20648 MVT::f32, 5, 4, 1, 5, 6, 7,
20649 17, MVT::f64,
20650 OPC_CheckComplexPat0, /*#*/3,
20651 OPC_EmitMergeInputChains, 2, 0, 2,
20652 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
20653 MVT::f64, 5, 4, 1, 5, 6, 7,
20654 0,
20655 48, TARGET_VAL(ISD::ATOMIC_LOAD),
20656 OPC_RecordMemRef,
20657 OPC_RecordNode,
20658 OPC_CheckFoldableChainNode,
20659 OPC_RecordChild1,
20660 OPC_CheckChild1TypeI64,
20661 OPC_CheckPredicate1,
20662 OPC_MoveParent,
20663 OPC_RecordChild3,
20664 OPC_SwitchType , 17, MVT::f32,
20665 OPC_CheckComplexPat0, /*#*/3,
20666 OPC_EmitMergeInputChains, 2, 0, 2,
20667 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
20668 MVT::f32, 5, 4, 1, 5, 6, 7,
20669 17, MVT::f64,
20670 OPC_CheckComplexPat0, /*#*/3,
20671 OPC_EmitMergeInputChains, 2, 0, 2,
20672 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
20673 MVT::f64, 5, 4, 1, 5, 6, 7,
20674 0,
20675 0,
20676 109,
20677 OPC_MoveChild1,
20678 OPC_SwitchOpcode , 51, TARGET_VAL(ISD::LOAD),
20679 OPC_RecordMemRef,
20680 OPC_RecordNode,
20681 OPC_CheckFoldableChainNode,
20682 OPC_RecordChild1,
20683 OPC_CheckChild1TypeI64,
20684 OPC_CheckPredicate0,
20685 OPC_CheckPredicate3,
20686 OPC_CheckPredicate1,
20687 OPC_MoveParent,
20688 OPC_RecordChild2,
20689 OPC_RecordChild3,
20690 OPC_SwitchType , 17, MVT::f32,
20691 OPC_CheckComplexPat0, /*#*/2,
20692 OPC_EmitMergeInputChains, 2, 0, 1,
20693 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
20694 MVT::f32, 5, 4, 3, 5, 6, 7,
20695 17, MVT::f64,
20696 OPC_CheckComplexPat0, /*#*/2,
20697 OPC_EmitMergeInputChains, 2, 0, 1,
20698 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
20699 MVT::f64, 5, 4, 3, 5, 6, 7,
20700 0,
20701 49, TARGET_VAL(ISD::ATOMIC_LOAD),
20702 OPC_RecordMemRef,
20703 OPC_RecordNode,
20704 OPC_CheckFoldableChainNode,
20705 OPC_RecordChild1,
20706 OPC_CheckChild1TypeI64,
20707 OPC_CheckPredicate1,
20708 OPC_MoveParent,
20709 OPC_RecordChild2,
20710 OPC_RecordChild3,
20711 OPC_SwitchType , 17, MVT::f32,
20712 OPC_CheckComplexPat0, /*#*/2,
20713 OPC_EmitMergeInputChains, 2, 0, 1,
20714 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
20715 MVT::f32, 5, 4, 3, 5, 6, 7,
20716 17, MVT::f64,
20717 OPC_CheckComplexPat0, /*#*/2,
20718 OPC_EmitMergeInputChains, 2, 0, 1,
20719 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
20720 MVT::f64, 5, 4, 3, 5, 6, 7,
20721 0,
20722 0,
20723 74|128,1,
20724 OPC_RecordChild1,
20725 OPC_RecordChild2,
20726 OPC_Scope, 70,
20727 OPC_MoveChild3,
20728 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20729 OPC_RecordChild0,
20730 OPC_MoveParent,
20731 OPC_SwitchType , 23, MVT::f64,
20732 OPC_Scope, 10,
20733 OPC_CheckPatternPredicate0,
20734 OPC_EmitMergeInputChains1_0,
20735 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMSDB),
20736 MVT::f64, 3, 1, 2, 3,
20737 9,
20738 OPC_EmitMergeInputChains1_0,
20739 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MSDBR),
20740 MVT::f64, 3, 3, 1, 2,
20741 0,
20742 23, MVT::f32,
20743 OPC_Scope, 10,
20744 OPC_CheckPatternPredicate1,
20745 OPC_EmitMergeInputChains1_0,
20746 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMSSB),
20747 MVT::f32, 3, 1, 2, 3,
20748 9,
20749 OPC_EmitMergeInputChains1_0,
20750 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MSEBR),
20751 MVT::f32, 3, 3, 1, 2,
20752 0,
20753 10, MVT::f128,
20754 OPC_CheckPatternPredicate1,
20755 OPC_EmitMergeInputChains1_0,
20756 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMSXB),
20757 MVT::f128, 3, 1, 2, 3,
20758 0,
20759 65,
20760 OPC_RecordChild3,
20761 OPC_SwitchType , 23, MVT::f64,
20762 OPC_Scope, 10,
20763 OPC_CheckPatternPredicate0,
20764 OPC_EmitMergeInputChains1_0,
20765 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMADB),
20766 MVT::f64, 3, 1, 2, 3,
20767 9,
20768 OPC_EmitMergeInputChains1_0,
20769 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MADBR),
20770 MVT::f64, 3, 3, 1, 2,
20771 0,
20772 23, MVT::f32,
20773 OPC_Scope, 10,
20774 OPC_CheckPatternPredicate1,
20775 OPC_EmitMergeInputChains1_0,
20776 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMASB),
20777 MVT::f32, 3, 1, 2, 3,
20778 9,
20779 OPC_EmitMergeInputChains1_0,
20780 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::MAEBR),
20781 MVT::f32, 3, 3, 1, 2,
20782 0,
20783 10, MVT::f128,
20784 OPC_CheckPatternPredicate1,
20785 OPC_EmitMergeInputChains1_0,
20786 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXB),
20787 MVT::f128, 3, 1, 2, 3,
20788 0,
20789 32,
20790 OPC_MoveChild3,
20791 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20792 OPC_RecordChild0,
20793 OPC_MoveParent,
20794 OPC_SwitchType , 10, MVT::v2f64,
20795 OPC_CheckPatternPredicate0,
20796 OPC_EmitMergeInputChains1_0,
20797 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMSDB),
20798 MVT::v2f64, 3, 1, 2, 3,
20799 10, MVT::v4f32,
20800 OPC_CheckPatternPredicate1,
20801 OPC_EmitMergeInputChains1_0,
20802 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMSSB),
20803 MVT::v4f32, 3, 1, 2, 3,
20804 0,
20805 27,
20806 OPC_RecordChild3,
20807 OPC_SwitchType , 10, MVT::v2f64,
20808 OPC_CheckPatternPredicate0,
20809 OPC_EmitMergeInputChains1_0,
20810 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMADB),
20811 MVT::v2f64, 3, 1, 2, 3,
20812 10, MVT::v4f32,
20813 OPC_CheckPatternPredicate1,
20814 OPC_EmitMergeInputChains1_0,
20815 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFMASB),
20816 MVT::v4f32, 3, 1, 2, 3,
20817 0,
20818 0,
20819 0,
20820 88|128,4, TARGET_VAL(ISD::FMA),
20821 OPC_Scope, 104,
20822 OPC_RecordChild0,
20823 OPC_MoveChild1,
20824 OPC_SwitchOpcode , 48, TARGET_VAL(ISD::LOAD),
20825 OPC_RecordMemRef,
20826 OPC_RecordNode,
20827 OPC_CheckFoldableChainNode,
20828 OPC_RecordChild1,
20829 OPC_CheckChild1TypeI64,
20830 OPC_CheckPredicate0,
20831 OPC_CheckPredicate3,
20832 OPC_CheckPredicate1,
20833 OPC_MoveSibling2,
20834 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20835 OPC_RecordChild0,
20836 OPC_MoveParent,
20837 OPC_SwitchType , 14, MVT::f32,
20838 OPC_CheckComplexPat0, /*#*/2,
20839 OPC_EmitMergeInputChains1_1,
20840 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
20841 MVT::f32, 5, 3, 0, 4, 5, 6,
20842 14, MVT::f64,
20843 OPC_CheckComplexPat0, /*#*/2,
20844 OPC_EmitMergeInputChains1_1,
20845 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
20846 MVT::f64, 5, 3, 0, 4, 5, 6,
20847 0,
20848 46, TARGET_VAL(ISD::ATOMIC_LOAD),
20849 OPC_RecordMemRef,
20850 OPC_RecordNode,
20851 OPC_CheckFoldableChainNode,
20852 OPC_RecordChild1,
20853 OPC_CheckChild1TypeI64,
20854 OPC_CheckPredicate1,
20855 OPC_MoveSibling2,
20856 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20857 OPC_RecordChild0,
20858 OPC_MoveParent,
20859 OPC_SwitchType , 14, MVT::f32,
20860 OPC_CheckComplexPat0, /*#*/2,
20861 OPC_EmitMergeInputChains1_1,
20862 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
20863 MVT::f32, 5, 3, 0, 4, 5, 6,
20864 14, MVT::f64,
20865 OPC_CheckComplexPat0, /*#*/2,
20866 OPC_EmitMergeInputChains1_1,
20867 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
20868 MVT::f64, 5, 3, 0, 4, 5, 6,
20869 0,
20870 0,
20871 107,
20872 OPC_MoveChild0,
20873 OPC_SwitchOpcode , 50, TARGET_VAL(ISD::LOAD),
20874 OPC_RecordMemRef,
20875 OPC_RecordNode,
20876 OPC_CheckFoldableChainNode,
20877 OPC_RecordChild1,
20878 OPC_CheckChild1TypeI64,
20879 OPC_CheckPredicate0,
20880 OPC_CheckPredicate3,
20881 OPC_CheckPredicate1,
20882 OPC_MoveParent,
20883 OPC_RecordChild1,
20884 OPC_MoveChild2,
20885 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20886 OPC_RecordChild0,
20887 OPC_MoveParent,
20888 OPC_SwitchType , 14, MVT::f32,
20889 OPC_CheckComplexPat0, /*#*/1,
20890 OPC_EmitMergeInputChains1_0,
20891 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
20892 MVT::f32, 5, 3, 2, 4, 5, 6,
20893 14, MVT::f64,
20894 OPC_CheckComplexPat0, /*#*/1,
20895 OPC_EmitMergeInputChains1_0,
20896 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
20897 MVT::f64, 5, 3, 2, 4, 5, 6,
20898 0,
20899 48, TARGET_VAL(ISD::ATOMIC_LOAD),
20900 OPC_RecordMemRef,
20901 OPC_RecordNode,
20902 OPC_CheckFoldableChainNode,
20903 OPC_RecordChild1,
20904 OPC_CheckChild1TypeI64,
20905 OPC_CheckPredicate1,
20906 OPC_MoveParent,
20907 OPC_RecordChild1,
20908 OPC_MoveChild2,
20909 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
20910 OPC_RecordChild0,
20911 OPC_MoveParent,
20912 OPC_SwitchType , 14, MVT::f32,
20913 OPC_CheckComplexPat0, /*#*/1,
20914 OPC_EmitMergeInputChains1_0,
20915 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSEB), 0|OPFL_Chain|OPFL_MemRefs,
20916 MVT::f32, 5, 3, 2, 4, 5, 6,
20917 14, MVT::f64,
20918 OPC_CheckComplexPat0, /*#*/1,
20919 OPC_EmitMergeInputChains1_0,
20920 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MSDB), 0|OPFL_Chain|OPFL_MemRefs,
20921 MVT::f64, 5, 3, 2, 4, 5, 6,
20922 0,
20923 0,
20924 96,
20925 OPC_RecordChild0,
20926 OPC_MoveChild1,
20927 OPC_SwitchOpcode , 44, TARGET_VAL(ISD::LOAD),
20928 OPC_RecordMemRef,
20929 OPC_RecordNode,
20930 OPC_CheckFoldableChainNode,
20931 OPC_RecordChild1,
20932 OPC_CheckChild1TypeI64,
20933 OPC_CheckPredicate0,
20934 OPC_CheckPredicate3,
20935 OPC_CheckPredicate1,
20936 OPC_MoveParent,
20937 OPC_RecordChild2,
20938 OPC_SwitchType , 14, MVT::f32,
20939 OPC_CheckComplexPat0, /*#*/2,
20940 OPC_EmitMergeInputChains1_1,
20941 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
20942 MVT::f32, 5, 3, 0, 4, 5, 6,
20943 14, MVT::f64,
20944 OPC_CheckComplexPat0, /*#*/2,
20945 OPC_EmitMergeInputChains1_1,
20946 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
20947 MVT::f64, 5, 3, 0, 4, 5, 6,
20948 0,
20949 42, TARGET_VAL(ISD::ATOMIC_LOAD),
20950 OPC_RecordMemRef,
20951 OPC_RecordNode,
20952 OPC_CheckFoldableChainNode,
20953 OPC_RecordChild1,
20954 OPC_CheckChild1TypeI64,
20955 OPC_CheckPredicate1,
20956 OPC_MoveParent,
20957 OPC_RecordChild2,
20958 OPC_SwitchType , 14, MVT::f32,
20959 OPC_CheckComplexPat0, /*#*/2,
20960 OPC_EmitMergeInputChains1_1,
20961 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
20962 MVT::f32, 5, 3, 0, 4, 5, 6,
20963 14, MVT::f64,
20964 OPC_CheckComplexPat0, /*#*/2,
20965 OPC_EmitMergeInputChains1_1,
20966 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
20967 MVT::f64, 5, 3, 0, 4, 5, 6,
20968 0,
20969 0,
20970 97,
20971 OPC_MoveChild0,
20972 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::LOAD),
20973 OPC_RecordMemRef,
20974 OPC_RecordNode,
20975 OPC_CheckFoldableChainNode,
20976 OPC_RecordChild1,
20977 OPC_CheckChild1TypeI64,
20978 OPC_CheckPredicate0,
20979 OPC_CheckPredicate3,
20980 OPC_CheckPredicate1,
20981 OPC_MoveParent,
20982 OPC_RecordChild1,
20983 OPC_RecordChild2,
20984 OPC_SwitchType , 14, MVT::f32,
20985 OPC_CheckComplexPat0, /*#*/1,
20986 OPC_EmitMergeInputChains1_0,
20987 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
20988 MVT::f32, 5, 3, 2, 4, 5, 6,
20989 14, MVT::f64,
20990 OPC_CheckComplexPat0, /*#*/1,
20991 OPC_EmitMergeInputChains1_0,
20992 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
20993 MVT::f64, 5, 3, 2, 4, 5, 6,
20994 0,
20995 43, TARGET_VAL(ISD::ATOMIC_LOAD),
20996 OPC_RecordMemRef,
20997 OPC_RecordNode,
20998 OPC_CheckFoldableChainNode,
20999 OPC_RecordChild1,
21000 OPC_CheckChild1TypeI64,
21001 OPC_CheckPredicate1,
21002 OPC_MoveParent,
21003 OPC_RecordChild1,
21004 OPC_RecordChild2,
21005 OPC_SwitchType , 14, MVT::f32,
21006 OPC_CheckComplexPat0, /*#*/1,
21007 OPC_EmitMergeInputChains1_0,
21008 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MAEB), 0|OPFL_Chain|OPFL_MemRefs,
21009 MVT::f32, 5, 3, 2, 4, 5, 6,
21010 14, MVT::f64,
21011 OPC_CheckComplexPat0, /*#*/1,
21012 OPC_EmitMergeInputChains1_0,
21013 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::MADB), 0|OPFL_Chain|OPFL_MemRefs,
21014 MVT::f64, 5, 3, 2, 4, 5, 6,
21015 0,
21016 0,
21017 60|128,1,
21018 OPC_RecordChild0,
21019 OPC_RecordChild1,
21020 OPC_Scope, 65,
21021 OPC_MoveChild2,
21022 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
21023 OPC_RecordChild0,
21024 OPC_MoveParent,
21025 OPC_SwitchType , 21, MVT::f64,
21026 OPC_Scope, 9,
21027 OPC_CheckPatternPredicate0,
21028 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMSDB),
21029 MVT::f64, 3, 0, 1, 2,
21030 8,
21031 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSDBR),
21032 MVT::f64, 3, 2, 0, 1,
21033 0,
21034 21, MVT::f32,
21035 OPC_Scope, 9,
21036 OPC_CheckPatternPredicate1,
21037 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMSSB),
21038 MVT::f32, 3, 0, 1, 2,
21039 8,
21040 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MSEBR),
21041 MVT::f32, 3, 2, 0, 1,
21042 0,
21043 9, MVT::f128,
21044 OPC_CheckPatternPredicate1,
21045 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMSXB),
21046 MVT::f128, 3, 0, 1, 2,
21047 0,
21048 60,
21049 OPC_RecordChild2,
21050 OPC_SwitchType , 21, MVT::f64,
21051 OPC_Scope, 9,
21052 OPC_CheckPatternPredicate0,
21053 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMADB),
21054 MVT::f64, 3, 0, 1, 2,
21055 8,
21056 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MADBR),
21057 MVT::f64, 3, 2, 0, 1,
21058 0,
21059 21, MVT::f32,
21060 OPC_Scope, 9,
21061 OPC_CheckPatternPredicate1,
21062 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMASB),
21063 MVT::f32, 3, 0, 1, 2,
21064 8,
21065 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::MAEBR),
21066 MVT::f32, 3, 2, 0, 1,
21067 0,
21068 9, MVT::f128,
21069 OPC_CheckPatternPredicate1,
21070 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXB),
21071 MVT::f128, 3, 0, 1, 2,
21072 0,
21073 30,
21074 OPC_MoveChild2,
21075 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
21076 OPC_RecordChild0,
21077 OPC_MoveParent,
21078 OPC_SwitchType , 9, MVT::v2f64,
21079 OPC_CheckPatternPredicate0,
21080 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMSDB),
21081 MVT::v2f64, 3, 0, 1, 2,
21082 9, MVT::v4f32,
21083 OPC_CheckPatternPredicate1,
21084 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMSSB),
21085 MVT::v4f32, 3, 0, 1, 2,
21086 0,
21087 25,
21088 OPC_RecordChild2,
21089 OPC_SwitchType , 9, MVT::v2f64,
21090 OPC_CheckPatternPredicate0,
21091 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMADB),
21092 MVT::v2f64, 3, 0, 1, 2,
21093 9, MVT::v4f32,
21094 OPC_CheckPatternPredicate1,
21095 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMASB),
21096 MVT::v4f32, 3, 0, 1, 2,
21097 0,
21098 0,
21099 0,
21100 69|128,2, TARGET_VAL(ISD::STRICT_FADD),
21101 OPC_RecordNode,
21102 OPC_Scope, 110,
21103 OPC_RecordChild1,
21104 OPC_MoveChild2,
21105 OPC_SwitchOpcode , 51, TARGET_VAL(ISD::LOAD),
21106 OPC_RecordMemRef,
21107 OPC_RecordNode,
21108 OPC_CheckFoldableChainNode,
21109 OPC_RecordChild1,
21110 OPC_CheckChild1TypeI64,
21111 OPC_CheckPredicate0,
21112 OPC_CheckPredicate3,
21113 OPC_CheckPredicate1,
21114 OPC_MoveParent,
21115 OPC_CheckPredicate, 22,
21116 OPC_SwitchType , 17, MVT::f32,
21117 OPC_CheckComplexPat0, /*#*/3,
21118 OPC_EmitMergeInputChains, 2, 0, 2,
21119 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
21120 MVT::f32, MVT::i32, 4, 1, 4, 5, 6,
21121 17, MVT::f64,
21122 OPC_CheckComplexPat0, /*#*/3,
21123 OPC_EmitMergeInputChains, 2, 0, 2,
21124 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
21125 MVT::f64, MVT::i32, 4, 1, 4, 5, 6,
21126 0,
21127 49, TARGET_VAL(ISD::ATOMIC_LOAD),
21128 OPC_RecordMemRef,
21129 OPC_RecordNode,
21130 OPC_CheckFoldableChainNode,
21131 OPC_RecordChild1,
21132 OPC_CheckChild1TypeI64,
21133 OPC_CheckPredicate1,
21134 OPC_MoveParent,
21135 OPC_CheckPredicate, 22,
21136 OPC_SwitchType , 17, MVT::f32,
21137 OPC_CheckComplexPat0, /*#*/3,
21138 OPC_EmitMergeInputChains, 2, 0, 2,
21139 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
21140 MVT::f32, MVT::i32, 4, 1, 4, 5, 6,
21141 17, MVT::f64,
21142 OPC_CheckComplexPat0, /*#*/3,
21143 OPC_EmitMergeInputChains, 2, 0, 2,
21144 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
21145 MVT::f64, MVT::i32, 4, 1, 4, 5, 6,
21146 0,
21147 0,
21148 111,
21149 OPC_MoveChild1,
21150 OPC_SwitchOpcode , 52, TARGET_VAL(ISD::LOAD),
21151 OPC_RecordMemRef,
21152 OPC_RecordNode,
21153 OPC_CheckFoldableChainNode,
21154 OPC_RecordChild1,
21155 OPC_CheckChild1TypeI64,
21156 OPC_CheckPredicate0,
21157 OPC_CheckPredicate3,
21158 OPC_CheckPredicate1,
21159 OPC_MoveParent,
21160 OPC_RecordChild2,
21161 OPC_CheckPredicate, 22,
21162 OPC_SwitchType , 17, MVT::f32,
21163 OPC_CheckComplexPat0, /*#*/2,
21164 OPC_EmitMergeInputChains, 2, 0, 1,
21165 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
21166 MVT::f32, MVT::i32, 4, 3, 4, 5, 6,
21167 17, MVT::f64,
21168 OPC_CheckComplexPat0, /*#*/2,
21169 OPC_EmitMergeInputChains, 2, 0, 1,
21170 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
21171 MVT::f64, MVT::i32, 4, 3, 4, 5, 6,
21172 0,
21173 50, TARGET_VAL(ISD::ATOMIC_LOAD),
21174 OPC_RecordMemRef,
21175 OPC_RecordNode,
21176 OPC_CheckFoldableChainNode,
21177 OPC_RecordChild1,
21178 OPC_CheckChild1TypeI64,
21179 OPC_CheckPredicate1,
21180 OPC_MoveParent,
21181 OPC_RecordChild2,
21182 OPC_CheckPredicate, 22,
21183 OPC_SwitchType , 17, MVT::f32,
21184 OPC_CheckComplexPat0, /*#*/2,
21185 OPC_EmitMergeInputChains, 2, 0, 1,
21186 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
21187 MVT::f32, MVT::i32, 4, 3, 4, 5, 6,
21188 17, MVT::f64,
21189 OPC_CheckComplexPat0, /*#*/2,
21190 OPC_EmitMergeInputChains, 2, 0, 1,
21191 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
21192 MVT::f64, MVT::i32, 4, 3, 4, 5, 6,
21193 0,
21194 0,
21195 98,
21196 OPC_RecordChild1,
21197 OPC_RecordChild2,
21198 OPC_SwitchType , 22, MVT::f64,
21199 OPC_Scope, 9,
21200 OPC_CheckPatternPredicate0,
21201 OPC_EmitMergeInputChains1_0,
21202 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFADB),
21203 MVT::f64, 2, 1, 2,
21204 9,
21205 OPC_EmitMergeInputChains1_0,
21206 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::ADBR),
21207 MVT::f64, MVT::i32, 2, 1, 2,
21208 0,
21209 22, MVT::f32,
21210 OPC_Scope, 9,
21211 OPC_CheckPatternPredicate1,
21212 OPC_EmitMergeInputChains1_0,
21213 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFASB),
21214 MVT::f32, 2, 1, 2,
21215 9,
21216 OPC_EmitMergeInputChains1_0,
21217 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::AEBR),
21218 MVT::f32, MVT::i32, 2, 1, 2,
21219 0,
21220 22, MVT::f128,
21221 OPC_Scope, 9,
21222 OPC_CheckPatternPredicate1,
21223 OPC_EmitMergeInputChains1_0,
21224 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFAXB),
21225 MVT::f128, 2, 1, 2,
21226 9,
21227 OPC_EmitMergeInputChains1_0,
21228 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::AXBR),
21229 MVT::f128, MVT::i32, 2, 1, 2,
21230 0,
21231 9, MVT::v2f64,
21232 OPC_CheckPatternPredicate0,
21233 OPC_EmitMergeInputChains1_0,
21234 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFADB),
21235 MVT::v2f64, 2, 1, 2,
21236 9, MVT::v4f32,
21237 OPC_CheckPatternPredicate1,
21238 OPC_EmitMergeInputChains1_0,
21239 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFASB),
21240 MVT::v4f32, 2, 1, 2,
21241 0,
21242 0,
21243 36|128,2, TARGET_VAL(ISD::FADD),
21244 OPC_Scope, 98,
21245 OPC_RecordChild0,
21246 OPC_MoveChild1,
21247 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::LOAD),
21248 OPC_RecordMemRef,
21249 OPC_RecordNode,
21250 OPC_CheckFoldableChainNode,
21251 OPC_RecordChild1,
21252 OPC_CheckChild1TypeI64,
21253 OPC_CheckPredicate0,
21254 OPC_CheckPredicate3,
21255 OPC_CheckPredicate1,
21256 OPC_MoveParent,
21257 OPC_CheckPredicate, 22,
21258 OPC_SwitchType , 14, MVT::f32,
21259 OPC_CheckComplexPat0, /*#*/2,
21260 OPC_EmitMergeInputChains1_1,
21261 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
21262 MVT::f32, MVT::i32, 4, 0, 3, 4, 5,
21263 14, MVT::f64,
21264 OPC_CheckComplexPat0, /*#*/2,
21265 OPC_EmitMergeInputChains1_1,
21266 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
21267 MVT::f64, MVT::i32, 4, 0, 3, 4, 5,
21268 0,
21269 43, TARGET_VAL(ISD::ATOMIC_LOAD),
21270 OPC_RecordMemRef,
21271 OPC_RecordNode,
21272 OPC_CheckFoldableChainNode,
21273 OPC_RecordChild1,
21274 OPC_CheckChild1TypeI64,
21275 OPC_CheckPredicate1,
21276 OPC_MoveParent,
21277 OPC_CheckPredicate, 22,
21278 OPC_SwitchType , 14, MVT::f32,
21279 OPC_CheckComplexPat0, /*#*/2,
21280 OPC_EmitMergeInputChains1_1,
21281 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
21282 MVT::f32, MVT::i32, 4, 0, 3, 4, 5,
21283 14, MVT::f64,
21284 OPC_CheckComplexPat0, /*#*/2,
21285 OPC_EmitMergeInputChains1_1,
21286 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
21287 MVT::f64, MVT::i32, 4, 0, 3, 4, 5,
21288 0,
21289 0,
21290 99,
21291 OPC_MoveChild0,
21292 OPC_SwitchOpcode , 46, TARGET_VAL(ISD::LOAD),
21293 OPC_RecordMemRef,
21294 OPC_RecordNode,
21295 OPC_CheckFoldableChainNode,
21296 OPC_RecordChild1,
21297 OPC_CheckChild1TypeI64,
21298 OPC_CheckPredicate0,
21299 OPC_CheckPredicate3,
21300 OPC_CheckPredicate1,
21301 OPC_MoveParent,
21302 OPC_RecordChild1,
21303 OPC_CheckPredicate, 22,
21304 OPC_SwitchType , 14, MVT::f32,
21305 OPC_CheckComplexPat0, /*#*/1,
21306 OPC_EmitMergeInputChains1_0,
21307 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
21308 MVT::f32, MVT::i32, 4, 2, 3, 4, 5,
21309 14, MVT::f64,
21310 OPC_CheckComplexPat0, /*#*/1,
21311 OPC_EmitMergeInputChains1_0,
21312 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
21313 MVT::f64, MVT::i32, 4, 2, 3, 4, 5,
21314 0,
21315 44, TARGET_VAL(ISD::ATOMIC_LOAD),
21316 OPC_RecordMemRef,
21317 OPC_RecordNode,
21318 OPC_CheckFoldableChainNode,
21319 OPC_RecordChild1,
21320 OPC_CheckChild1TypeI64,
21321 OPC_CheckPredicate1,
21322 OPC_MoveParent,
21323 OPC_RecordChild1,
21324 OPC_CheckPredicate, 22,
21325 OPC_SwitchType , 14, MVT::f32,
21326 OPC_CheckComplexPat0, /*#*/1,
21327 OPC_EmitMergeInputChains1_0,
21328 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::AEB), 0|OPFL_Chain|OPFL_MemRefs,
21329 MVT::f32, MVT::i32, 4, 2, 3, 4, 5,
21330 14, MVT::f64,
21331 OPC_CheckComplexPat0, /*#*/1,
21332 OPC_EmitMergeInputChains1_0,
21333 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::ADB), 0|OPFL_Chain|OPFL_MemRefs,
21334 MVT::f64, MVT::i32, 4, 2, 3, 4, 5,
21335 0,
21336 0,
21337 90,
21338 OPC_RecordChild0,
21339 OPC_RecordChild1,
21340 OPC_SwitchType , 20, MVT::f64,
21341 OPC_Scope, 8,
21342 OPC_CheckPatternPredicate0,
21343 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFADB),
21344 MVT::f64, 2, 0, 1,
21345 8,
21346 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::ADBR),
21347 MVT::f64, MVT::i32, 2, 0, 1,
21348 0,
21349 20, MVT::f32,
21350 OPC_Scope, 8,
21351 OPC_CheckPatternPredicate1,
21352 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFASB),
21353 MVT::f32, 2, 0, 1,
21354 8,
21355 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AEBR),
21356 MVT::f32, MVT::i32, 2, 0, 1,
21357 0,
21358 20, MVT::f128,
21359 OPC_Scope, 8,
21360 OPC_CheckPatternPredicate1,
21361 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFAXB),
21362 MVT::f128, 2, 0, 1,
21363 8,
21364 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::AXBR),
21365 MVT::f128, MVT::i32, 2, 0, 1,
21366 0,
21367 8, MVT::v2f64,
21368 OPC_CheckPatternPredicate0,
21369 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFADB),
21370 MVT::v2f64, 2, 0, 1,
21371 8, MVT::v4f32,
21372 OPC_CheckPatternPredicate1,
21373 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFASB),
21374 MVT::v4f32, 2, 0, 1,
21375 0,
21376 0,
21377 84|128,1, TARGET_VAL(ISD::STRICT_FSUB),
21378 OPC_RecordNode,
21379 OPC_RecordChild1,
21380 OPC_Scope, 109,
21381 OPC_MoveChild2,
21382 OPC_SwitchOpcode , 51, TARGET_VAL(ISD::LOAD),
21383 OPC_RecordMemRef,
21384 OPC_RecordNode,
21385 OPC_CheckFoldableChainNode,
21386 OPC_RecordChild1,
21387 OPC_CheckChild1TypeI64,
21388 OPC_CheckPredicate0,
21389 OPC_CheckPredicate3,
21390 OPC_CheckPredicate1,
21391 OPC_MoveParent,
21392 OPC_CheckPredicate, 22,
21393 OPC_SwitchType , 17, MVT::f32,
21394 OPC_CheckComplexPat0, /*#*/3,
21395 OPC_EmitMergeInputChains, 2, 0, 2,
21396 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SEB), 0|OPFL_Chain|OPFL_MemRefs,
21397 MVT::f32, MVT::i32, 4, 1, 4, 5, 6,
21398 17, MVT::f64,
21399 OPC_CheckComplexPat0, /*#*/3,
21400 OPC_EmitMergeInputChains, 2, 0, 2,
21401 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SDB), 0|OPFL_Chain|OPFL_MemRefs,
21402 MVT::f64, MVT::i32, 4, 1, 4, 5, 6,
21403 0,
21404 49, TARGET_VAL(ISD::ATOMIC_LOAD),
21405 OPC_RecordMemRef,
21406 OPC_RecordNode,
21407 OPC_CheckFoldableChainNode,
21408 OPC_RecordChild1,
21409 OPC_CheckChild1TypeI64,
21410 OPC_CheckPredicate1,
21411 OPC_MoveParent,
21412 OPC_CheckPredicate, 22,
21413 OPC_SwitchType , 17, MVT::f32,
21414 OPC_CheckComplexPat0, /*#*/3,
21415 OPC_EmitMergeInputChains, 2, 0, 2,
21416 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SEB), 0|OPFL_Chain|OPFL_MemRefs,
21417 MVT::f32, MVT::i32, 4, 1, 4, 5, 6,
21418 17, MVT::f64,
21419 OPC_CheckComplexPat0, /*#*/3,
21420 OPC_EmitMergeInputChains, 2, 0, 2,
21421 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SDB), 0|OPFL_Chain|OPFL_MemRefs,
21422 MVT::f64, MVT::i32, 4, 1, 4, 5, 6,
21423 0,
21424 0,
21425 97,
21426 OPC_RecordChild2,
21427 OPC_SwitchType , 22, MVT::f64,
21428 OPC_Scope, 9,
21429 OPC_CheckPatternPredicate0,
21430 OPC_EmitMergeInputChains1_0,
21431 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSDB),
21432 MVT::f64, 2, 1, 2,
21433 9,
21434 OPC_EmitMergeInputChains1_0,
21435 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::SDBR),
21436 MVT::f64, MVT::i32, 2, 1, 2,
21437 0,
21438 22, MVT::f32,
21439 OPC_Scope, 9,
21440 OPC_CheckPatternPredicate1,
21441 OPC_EmitMergeInputChains1_0,
21442 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSSB),
21443 MVT::f32, 2, 1, 2,
21444 9,
21445 OPC_EmitMergeInputChains1_0,
21446 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::SEBR),
21447 MVT::f32, MVT::i32, 2, 1, 2,
21448 0,
21449 22, MVT::f128,
21450 OPC_Scope, 9,
21451 OPC_CheckPatternPredicate1,
21452 OPC_EmitMergeInputChains1_0,
21453 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSXB),
21454 MVT::f128, 2, 1, 2,
21455 9,
21456 OPC_EmitMergeInputChains1_0,
21457 OPC_MorphNodeTo2Chain, TARGET_VAL(SystemZ::SXBR),
21458 MVT::f128, MVT::i32, 2, 1, 2,
21459 0,
21460 9, MVT::v2f64,
21461 OPC_CheckPatternPredicate0,
21462 OPC_EmitMergeInputChains1_0,
21463 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFSDB),
21464 MVT::v2f64, 2, 1, 2,
21465 9, MVT::v4f32,
21466 OPC_CheckPatternPredicate1,
21467 OPC_EmitMergeInputChains1_0,
21468 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFSSB),
21469 MVT::v4f32, 2, 1, 2,
21470 0,
21471 0,
21472 63|128,1, TARGET_VAL(ISD::FSUB),
21473 OPC_RecordChild0,
21474 OPC_Scope, 97,
21475 OPC_MoveChild1,
21476 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::LOAD),
21477 OPC_RecordMemRef,
21478 OPC_RecordNode,
21479 OPC_CheckFoldableChainNode,
21480 OPC_RecordChild1,
21481 OPC_CheckChild1TypeI64,
21482 OPC_CheckPredicate0,
21483 OPC_CheckPredicate3,
21484 OPC_CheckPredicate1,
21485 OPC_MoveParent,
21486 OPC_CheckPredicate, 22,
21487 OPC_SwitchType , 14, MVT::f32,
21488 OPC_CheckComplexPat0, /*#*/2,
21489 OPC_EmitMergeInputChains1_1,
21490 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SEB), 0|OPFL_Chain|OPFL_MemRefs,
21491 MVT::f32, MVT::i32, 4, 0, 3, 4, 5,
21492 14, MVT::f64,
21493 OPC_CheckComplexPat0, /*#*/2,
21494 OPC_EmitMergeInputChains1_1,
21495 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SDB), 0|OPFL_Chain|OPFL_MemRefs,
21496 MVT::f64, MVT::i32, 4, 0, 3, 4, 5,
21497 0,
21498 43, TARGET_VAL(ISD::ATOMIC_LOAD),
21499 OPC_RecordMemRef,
21500 OPC_RecordNode,
21501 OPC_CheckFoldableChainNode,
21502 OPC_RecordChild1,
21503 OPC_CheckChild1TypeI64,
21504 OPC_CheckPredicate1,
21505 OPC_MoveParent,
21506 OPC_CheckPredicate, 22,
21507 OPC_SwitchType , 14, MVT::f32,
21508 OPC_CheckComplexPat0, /*#*/2,
21509 OPC_EmitMergeInputChains1_1,
21510 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SEB), 0|OPFL_Chain|OPFL_MemRefs,
21511 MVT::f32, MVT::i32, 4, 0, 3, 4, 5,
21512 14, MVT::f64,
21513 OPC_CheckComplexPat0, /*#*/2,
21514 OPC_EmitMergeInputChains1_1,
21515 OPC_MorphNodeTo2, TARGET_VAL(SystemZ::SDB), 0|OPFL_Chain|OPFL_MemRefs,
21516 MVT::f64, MVT::i32, 4, 0, 3, 4, 5,
21517 0,
21518 0,
21519 89,
21520 OPC_RecordChild1,
21521 OPC_SwitchType , 20, MVT::f64,
21522 OPC_Scope, 8,
21523 OPC_CheckPatternPredicate0,
21524 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSDB),
21525 MVT::f64, 2, 0, 1,
21526 8,
21527 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SDBR),
21528 MVT::f64, MVT::i32, 2, 0, 1,
21529 0,
21530 20, MVT::f32,
21531 OPC_Scope, 8,
21532 OPC_CheckPatternPredicate1,
21533 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSSB),
21534 MVT::f32, 2, 0, 1,
21535 8,
21536 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SEBR),
21537 MVT::f32, MVT::i32, 2, 0, 1,
21538 0,
21539 20, MVT::f128,
21540 OPC_Scope, 8,
21541 OPC_CheckPatternPredicate1,
21542 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSXB),
21543 MVT::f128, 2, 0, 1,
21544 8,
21545 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::SXBR),
21546 MVT::f128, MVT::i32, 2, 0, 1,
21547 0,
21548 8, MVT::v2f64,
21549 OPC_CheckPatternPredicate0,
21550 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFSDB),
21551 MVT::v2f64, 2, 0, 1,
21552 8, MVT::v4f32,
21553 OPC_CheckPatternPredicate1,
21554 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFSSB),
21555 MVT::v4f32, 2, 0, 1,
21556 0,
21557 0,
21558 109|128,1, TARGET_VAL(ISD::STRICT_FP_EXTEND),
21559 OPC_RecordNode,
21560 OPC_Scope, 23|128,1,
21561 OPC_MoveChild1,
21562 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::LOAD),
21563 OPC_RecordMemRef,
21564 OPC_RecordNode,
21565 OPC_CheckFoldableChainNode,
21566 OPC_RecordChild1,
21567 OPC_CheckChild1TypeI64,
21568 OPC_CheckPredicate0,
21569 OPC_CheckPredicate3,
21570 OPC_Scope, 18,
21571 OPC_MoveParent,
21572 OPC_CheckType, MVT::f64,
21573 OPC_CheckComplexPat0, /*#*/2,
21574 OPC_EmitMergeInputChains, 2, 0, 1,
21575 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDEB), 0|OPFL_Chain|OPFL_MemRefs,
21576 MVT::f64, 3, 3, 4, 5,
21577 21,
21578 OPC_CheckType, MVT::f32,
21579 OPC_MoveParent,
21580 OPC_CheckType, MVT::f128,
21581 OPC_CheckPatternPredicate4,
21582 OPC_CheckComplexPat0, /*#*/2,
21583 OPC_EmitMergeInputChains, 2, 0, 1,
21584 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXEB), 0|OPFL_Chain|OPFL_MemRefs,
21585 MVT::f128, 3, 3, 4, 5,
21586 21,
21587 OPC_CheckType, MVT::f64,
21588 OPC_MoveParent,
21589 OPC_CheckType, MVT::f128,
21590 OPC_CheckPatternPredicate4,
21591 OPC_CheckComplexPat0, /*#*/2,
21592 OPC_EmitMergeInputChains, 2, 0, 1,
21593 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXDB), 0|OPFL_Chain|OPFL_MemRefs,
21594 MVT::f128, 3, 3, 4, 5,
21595 0,
21596 70, TARGET_VAL(ISD::ATOMIC_LOAD),
21597 OPC_RecordMemRef,
21598 OPC_RecordNode,
21599 OPC_CheckFoldableChainNode,
21600 OPC_RecordChild1,
21601 OPC_CheckChild1TypeI64,
21602 OPC_Scope, 18,
21603 OPC_MoveParent,
21604 OPC_CheckType, MVT::f64,
21605 OPC_CheckComplexPat0, /*#*/2,
21606 OPC_EmitMergeInputChains, 2, 0, 1,
21607 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDEB), 0|OPFL_Chain|OPFL_MemRefs,
21608 MVT::f64, 3, 3, 4, 5,
21609 21,
21610 OPC_CheckType, MVT::f32,
21611 OPC_MoveParent,
21612 OPC_CheckType, MVT::f128,
21613 OPC_CheckPatternPredicate4,
21614 OPC_CheckComplexPat0, /*#*/2,
21615 OPC_EmitMergeInputChains, 2, 0, 1,
21616 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXEB), 0|OPFL_Chain|OPFL_MemRefs,
21617 MVT::f128, 3, 3, 4, 5,
21618 21,
21619 OPC_CheckType, MVT::f64,
21620 OPC_MoveParent,
21621 OPC_CheckType, MVT::f128,
21622 OPC_CheckPatternPredicate4,
21623 OPC_CheckComplexPat0, /*#*/2,
21624 OPC_EmitMergeInputChains, 2, 0, 1,
21625 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXDB), 0|OPFL_Chain|OPFL_MemRefs,
21626 MVT::f128, 3, 3, 4, 5,
21627 0,
21628 0,
21629 80,
21630 OPC_RecordChild1,
21631 OPC_SwitchType , 19, MVT::f64,
21632 OPC_Scope, 8,
21633 OPC_CheckPatternPredicate0,
21634 OPC_EmitMergeInputChains1_0,
21635 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WLDEB),
21636 MVT::f64, 1, 1,
21637 7,
21638 OPC_EmitMergeInputChains1_0,
21639 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LDEBR),
21640 MVT::f64, 1, 1,
21641 0,
21642 54, MVT::f128,
21643 OPC_Scope, 22,
21644 OPC_CheckChild1Type, MVT::f64,
21645 OPC_Scope, 8,
21646 OPC_CheckPatternPredicate1,
21647 OPC_EmitMergeInputChains1_0,
21648 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFLLD),
21649 MVT::f128, 1, 1,
21650 8,
21651 OPC_CheckPatternPredicate4,
21652 OPC_EmitMergeInputChains1_0,
21653 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LXDBR),
21654 MVT::f128, 1, 1,
21655 0,
21656 28,
21657 OPC_CheckChild1Type, MVT::f32,
21658 OPC_Scope, 8,
21659 OPC_CheckPatternPredicate4,
21660 OPC_EmitMergeInputChains1_0,
21661 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LXEBR),
21662 MVT::f128, 1, 1,
21663 14,
21664 OPC_CheckPatternPredicate1,
21665 OPC_EmitMergeInputChains1_0,
21666 OPC_EmitNode1Chain, TARGET_VAL(SystemZ::WLDEB),
21667 MVT::f64, 1, 1,
21668 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFLLD),
21669 MVT::f128, 1, 2,
21670 0,
21671 0,
21672 0,
21673 0,
21674 60|128,1, TARGET_VAL(ISD::STRICT_FSQRT),
21675 OPC_RecordNode,
21676 OPC_Scope, 97,
21677 OPC_MoveChild1,
21678 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::LOAD),
21679 OPC_RecordMemRef,
21680 OPC_RecordNode,
21681 OPC_CheckFoldableChainNode,
21682 OPC_RecordChild1,
21683 OPC_CheckChild1TypeI64,
21684 OPC_CheckPredicate0,
21685 OPC_CheckPredicate3,
21686 OPC_CheckPredicate1,
21687 OPC_MoveParent,
21688 OPC_SwitchType , 15, MVT::f32,
21689 OPC_CheckComplexPat0, /*#*/2,
21690 OPC_EmitMergeInputChains, 2, 0, 1,
21691 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQEB), 0|OPFL_Chain|OPFL_MemRefs,
21692 MVT::f32, 3, 3, 4, 5,
21693 15, MVT::f64,
21694 OPC_CheckComplexPat0, /*#*/2,
21695 OPC_EmitMergeInputChains, 2, 0, 1,
21696 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQDB), 0|OPFL_Chain|OPFL_MemRefs,
21697 MVT::f64, 3, 3, 4, 5,
21698 0,
21699 43, TARGET_VAL(ISD::ATOMIC_LOAD),
21700 OPC_RecordMemRef,
21701 OPC_RecordNode,
21702 OPC_CheckFoldableChainNode,
21703 OPC_RecordChild1,
21704 OPC_CheckChild1TypeI64,
21705 OPC_CheckPredicate1,
21706 OPC_MoveParent,
21707 OPC_SwitchType , 15, MVT::f32,
21708 OPC_CheckComplexPat0, /*#*/2,
21709 OPC_EmitMergeInputChains, 2, 0, 1,
21710 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQEB), 0|OPFL_Chain|OPFL_MemRefs,
21711 MVT::f32, 3, 3, 4, 5,
21712 15, MVT::f64,
21713 OPC_CheckComplexPat0, /*#*/2,
21714 OPC_EmitMergeInputChains, 2, 0, 1,
21715 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQDB), 0|OPFL_Chain|OPFL_MemRefs,
21716 MVT::f64, 3, 3, 4, 5,
21717 0,
21718 0,
21719 86,
21720 OPC_RecordChild1,
21721 OPC_SwitchType , 19, MVT::f64,
21722 OPC_Scope, 8,
21723 OPC_CheckPatternPredicate0,
21724 OPC_EmitMergeInputChains1_0,
21725 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSQDB),
21726 MVT::f64, 1, 1,
21727 7,
21728 OPC_EmitMergeInputChains1_0,
21729 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::SQDBR),
21730 MVT::f64, 1, 1,
21731 0,
21732 19, MVT::f32,
21733 OPC_Scope, 8,
21734 OPC_CheckPatternPredicate1,
21735 OPC_EmitMergeInputChains1_0,
21736 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSQSB),
21737 MVT::f32, 1, 1,
21738 7,
21739 OPC_EmitMergeInputChains1_0,
21740 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::SQEBR),
21741 MVT::f32, 1, 1,
21742 0,
21743 19, MVT::f128,
21744 OPC_Scope, 8,
21745 OPC_CheckPatternPredicate1,
21746 OPC_EmitMergeInputChains1_0,
21747 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFSQXB),
21748 MVT::f128, 1, 1,
21749 7,
21750 OPC_EmitMergeInputChains1_0,
21751 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::SQXBR),
21752 MVT::f128, 1, 1,
21753 0,
21754 8, MVT::v2f64,
21755 OPC_CheckPatternPredicate0,
21756 OPC_EmitMergeInputChains1_0,
21757 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFSQDB),
21758 MVT::v2f64, 1, 1,
21759 8, MVT::v4f32,
21760 OPC_CheckPatternPredicate1,
21761 OPC_EmitMergeInputChains1_0,
21762 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFSQSB),
21763 MVT::v4f32, 1, 1,
21764 0,
21765 0,
21766 37|128,1, TARGET_VAL(ISD::FSQRT),
21767 OPC_Scope, 83,
21768 OPC_MoveChild0,
21769 OPC_SwitchOpcode , 38, TARGET_VAL(ISD::LOAD),
21770 OPC_RecordMemRef,
21771 OPC_RecordNode,
21772 OPC_RecordChild1,
21773 OPC_CheckChild1TypeI64,
21774 OPC_CheckPredicate0,
21775 OPC_CheckPredicate3,
21776 OPC_CheckPredicate1,
21777 OPC_MoveParent,
21778 OPC_SwitchType , 12, MVT::f32,
21779 OPC_CheckComplexPat0, /*#*/1,
21780 OPC_EmitMergeInputChains1_0,
21781 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQEB), 0|OPFL_Chain|OPFL_MemRefs,
21782 MVT::f32, 3, 2, 3, 4,
21783 12, MVT::f64,
21784 OPC_CheckComplexPat0, /*#*/1,
21785 OPC_EmitMergeInputChains1_0,
21786 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQDB), 0|OPFL_Chain|OPFL_MemRefs,
21787 MVT::f64, 3, 2, 3, 4,
21788 0,
21789 36, TARGET_VAL(ISD::ATOMIC_LOAD),
21790 OPC_RecordMemRef,
21791 OPC_RecordNode,
21792 OPC_RecordChild1,
21793 OPC_CheckChild1TypeI64,
21794 OPC_CheckPredicate1,
21795 OPC_MoveParent,
21796 OPC_SwitchType , 12, MVT::f32,
21797 OPC_CheckComplexPat0, /*#*/1,
21798 OPC_EmitMergeInputChains1_0,
21799 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQEB), 0|OPFL_Chain|OPFL_MemRefs,
21800 MVT::f32, 3, 2, 3, 4,
21801 12, MVT::f64,
21802 OPC_CheckComplexPat0, /*#*/1,
21803 OPC_EmitMergeInputChains1_0,
21804 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::SQDB), 0|OPFL_Chain|OPFL_MemRefs,
21805 MVT::f64, 3, 2, 3, 4,
21806 0,
21807 0,
21808 78,
21809 OPC_RecordChild0,
21810 OPC_SwitchType , 17, MVT::f64,
21811 OPC_Scope, 7,
21812 OPC_CheckPatternPredicate0,
21813 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSQDB),
21814 MVT::f64, 1, 0,
21815 6,
21816 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SQDBR),
21817 MVT::f64, 1, 0,
21818 0,
21819 17, MVT::f32,
21820 OPC_Scope, 7,
21821 OPC_CheckPatternPredicate1,
21822 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSQSB),
21823 MVT::f32, 1, 0,
21824 6,
21825 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SQEBR),
21826 MVT::f32, 1, 0,
21827 0,
21828 17, MVT::f128,
21829 OPC_Scope, 7,
21830 OPC_CheckPatternPredicate1,
21831 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFSQXB),
21832 MVT::f128, 1, 0,
21833 6,
21834 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::SQXBR),
21835 MVT::f128, 1, 0,
21836 0,
21837 7, MVT::v2f64,
21838 OPC_CheckPatternPredicate0,
21839 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFSQDB),
21840 MVT::v2f64, 1, 0,
21841 7, MVT::v4f32,
21842 OPC_CheckPatternPredicate1,
21843 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFSQSB),
21844 MVT::v4f32, 1, 0,
21845 0,
21846 0,
21847 73|128,1, TARGET_VAL(ISD::STRICT_FDIV),
21848 OPC_RecordNode,
21849 OPC_RecordChild1,
21850 OPC_Scope, 101,
21851 OPC_MoveChild2,
21852 OPC_SwitchOpcode , 47, TARGET_VAL(ISD::LOAD),
21853 OPC_RecordMemRef,
21854 OPC_RecordNode,
21855 OPC_CheckFoldableChainNode,
21856 OPC_RecordChild1,
21857 OPC_CheckChild1TypeI64,
21858 OPC_CheckPredicate0,
21859 OPC_CheckPredicate3,
21860 OPC_CheckPredicate1,
21861 OPC_MoveParent,
21862 OPC_SwitchType , 16, MVT::f32,
21863 OPC_CheckComplexPat0, /*#*/3,
21864 OPC_EmitMergeInputChains, 2, 0, 2,
21865 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DEB), 0|OPFL_Chain|OPFL_MemRefs,
21866 MVT::f32, 4, 1, 4, 5, 6,
21867 16, MVT::f64,
21868 OPC_CheckComplexPat0, /*#*/3,
21869 OPC_EmitMergeInputChains, 2, 0, 2,
21870 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DDB), 0|OPFL_Chain|OPFL_MemRefs,
21871 MVT::f64, 4, 1, 4, 5, 6,
21872 0,
21873 45, TARGET_VAL(ISD::ATOMIC_LOAD),
21874 OPC_RecordMemRef,
21875 OPC_RecordNode,
21876 OPC_CheckFoldableChainNode,
21877 OPC_RecordChild1,
21878 OPC_CheckChild1TypeI64,
21879 OPC_CheckPredicate1,
21880 OPC_MoveParent,
21881 OPC_SwitchType , 16, MVT::f32,
21882 OPC_CheckComplexPat0, /*#*/3,
21883 OPC_EmitMergeInputChains, 2, 0, 2,
21884 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DEB), 0|OPFL_Chain|OPFL_MemRefs,
21885 MVT::f32, 4, 1, 4, 5, 6,
21886 16, MVT::f64,
21887 OPC_CheckComplexPat0, /*#*/3,
21888 OPC_EmitMergeInputChains, 2, 0, 2,
21889 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DDB), 0|OPFL_Chain|OPFL_MemRefs,
21890 MVT::f64, 4, 1, 4, 5, 6,
21891 0,
21892 0,
21893 94,
21894 OPC_RecordChild2,
21895 OPC_SwitchType , 21, MVT::f64,
21896 OPC_Scope, 9,
21897 OPC_CheckPatternPredicate0,
21898 OPC_EmitMergeInputChains1_0,
21899 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFDDB),
21900 MVT::f64, 2, 1, 2,
21901 8,
21902 OPC_EmitMergeInputChains1_0,
21903 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::DDBR),
21904 MVT::f64, 2, 1, 2,
21905 0,
21906 21, MVT::f32,
21907 OPC_Scope, 9,
21908 OPC_CheckPatternPredicate1,
21909 OPC_EmitMergeInputChains1_0,
21910 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFDSB),
21911 MVT::f32, 2, 1, 2,
21912 8,
21913 OPC_EmitMergeInputChains1_0,
21914 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::DEBR),
21915 MVT::f32, 2, 1, 2,
21916 0,
21917 21, MVT::f128,
21918 OPC_Scope, 9,
21919 OPC_CheckPatternPredicate1,
21920 OPC_EmitMergeInputChains1_0,
21921 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFDXB),
21922 MVT::f128, 2, 1, 2,
21923 8,
21924 OPC_EmitMergeInputChains1_0,
21925 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::DXBR),
21926 MVT::f128, 2, 1, 2,
21927 0,
21928 9, MVT::v2f64,
21929 OPC_CheckPatternPredicate0,
21930 OPC_EmitMergeInputChains1_0,
21931 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFDDB),
21932 MVT::v2f64, 2, 1, 2,
21933 9, MVT::v4f32,
21934 OPC_CheckPatternPredicate1,
21935 OPC_EmitMergeInputChains1_0,
21936 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFDSB),
21937 MVT::v4f32, 2, 1, 2,
21938 0,
21939 0,
21940 52|128,1, TARGET_VAL(ISD::FDIV),
21941 OPC_RecordChild0,
21942 OPC_Scope, 89,
21943 OPC_MoveChild1,
21944 OPC_SwitchOpcode , 41, TARGET_VAL(ISD::LOAD),
21945 OPC_RecordMemRef,
21946 OPC_RecordNode,
21947 OPC_CheckFoldableChainNode,
21948 OPC_RecordChild1,
21949 OPC_CheckChild1TypeI64,
21950 OPC_CheckPredicate0,
21951 OPC_CheckPredicate3,
21952 OPC_CheckPredicate1,
21953 OPC_MoveParent,
21954 OPC_SwitchType , 13, MVT::f32,
21955 OPC_CheckComplexPat0, /*#*/2,
21956 OPC_EmitMergeInputChains1_1,
21957 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DEB), 0|OPFL_Chain|OPFL_MemRefs,
21958 MVT::f32, 4, 0, 3, 4, 5,
21959 13, MVT::f64,
21960 OPC_CheckComplexPat0, /*#*/2,
21961 OPC_EmitMergeInputChains1_1,
21962 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DDB), 0|OPFL_Chain|OPFL_MemRefs,
21963 MVT::f64, 4, 0, 3, 4, 5,
21964 0,
21965 39, TARGET_VAL(ISD::ATOMIC_LOAD),
21966 OPC_RecordMemRef,
21967 OPC_RecordNode,
21968 OPC_CheckFoldableChainNode,
21969 OPC_RecordChild1,
21970 OPC_CheckChild1TypeI64,
21971 OPC_CheckPredicate1,
21972 OPC_MoveParent,
21973 OPC_SwitchType , 13, MVT::f32,
21974 OPC_CheckComplexPat0, /*#*/2,
21975 OPC_EmitMergeInputChains1_1,
21976 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DEB), 0|OPFL_Chain|OPFL_MemRefs,
21977 MVT::f32, 4, 0, 3, 4, 5,
21978 13, MVT::f64,
21979 OPC_CheckComplexPat0, /*#*/2,
21980 OPC_EmitMergeInputChains1_1,
21981 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::DDB), 0|OPFL_Chain|OPFL_MemRefs,
21982 MVT::f64, 4, 0, 3, 4, 5,
21983 0,
21984 0,
21985 86,
21986 OPC_RecordChild1,
21987 OPC_SwitchType , 19, MVT::f64,
21988 OPC_Scope, 8,
21989 OPC_CheckPatternPredicate0,
21990 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFDDB),
21991 MVT::f64, 2, 0, 1,
21992 7,
21993 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DDBR),
21994 MVT::f64, 2, 0, 1,
21995 0,
21996 19, MVT::f32,
21997 OPC_Scope, 8,
21998 OPC_CheckPatternPredicate1,
21999 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFDSB),
22000 MVT::f32, 2, 0, 1,
22001 7,
22002 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DEBR),
22003 MVT::f32, 2, 0, 1,
22004 0,
22005 19, MVT::f128,
22006 OPC_Scope, 8,
22007 OPC_CheckPatternPredicate1,
22008 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFDXB),
22009 MVT::f128, 2, 0, 1,
22010 7,
22011 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::DXBR),
22012 MVT::f128, 2, 0, 1,
22013 0,
22014 8, MVT::v2f64,
22015 OPC_CheckPatternPredicate0,
22016 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFDDB),
22017 MVT::v2f64, 2, 0, 1,
22018 8, MVT::v4f32,
22019 OPC_CheckPatternPredicate1,
22020 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFDSB),
22021 MVT::v4f32, 2, 0, 1,
22022 0,
22023 0,
22024 14|128,1, TARGET_VAL(ISD::FP_EXTEND),
22025 OPC_Scope, 64,
22026 OPC_MoveChild0,
22027 OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
22028 OPC_RecordMemRef,
22029 OPC_RecordNode,
22030 OPC_RecordChild1,
22031 OPC_CheckChild1TypeI64,
22032 OPC_Scope, 15,
22033 OPC_MoveParent,
22034 OPC_CheckType, MVT::f64,
22035 OPC_CheckComplexPat0, /*#*/1,
22036 OPC_EmitMergeInputChains1_0,
22037 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LDEB), 0|OPFL_Chain|OPFL_MemRefs,
22038 MVT::f64, 3, 2, 3, 4,
22039 18,
22040 OPC_CheckType, MVT::f32,
22041 OPC_MoveParent,
22042 OPC_CheckType, MVT::f128,
22043 OPC_CheckPatternPredicate4,
22044 OPC_CheckComplexPat0, /*#*/1,
22045 OPC_EmitMergeInputChains1_0,
22046 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXEB), 0|OPFL_Chain|OPFL_MemRefs,
22047 MVT::f128, 3, 2, 3, 4,
22048 18,
22049 OPC_CheckType, MVT::f64,
22050 OPC_MoveParent,
22051 OPC_CheckType, MVT::f128,
22052 OPC_CheckPatternPredicate4,
22053 OPC_CheckComplexPat0, /*#*/1,
22054 OPC_EmitMergeInputChains1_0,
22055 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::LXDB), 0|OPFL_Chain|OPFL_MemRefs,
22056 MVT::f128, 3, 2, 3, 4,
22057 0,
22058 74,
22059 OPC_RecordChild0,
22060 OPC_SwitchType , 17, MVT::f64,
22061 OPC_Scope, 7,
22062 OPC_CheckPatternPredicate0,
22063 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WLDEB),
22064 MVT::f64, 1, 0,
22065 6,
22066 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LDEBR),
22067 MVT::f64, 1, 0,
22068 0,
22069 50, MVT::f128,
22070 OPC_Scope, 20,
22071 OPC_CheckChild0Type, MVT::f64,
22072 OPC_Scope, 7,
22073 OPC_CheckPatternPredicate1,
22074 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLLD),
22075 MVT::f128, 1, 0,
22076 7,
22077 OPC_CheckPatternPredicate4,
22078 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LXDBR),
22079 MVT::f128, 1, 0,
22080 0,
22081 26,
22082 OPC_CheckChild0Type, MVT::f32,
22083 OPC_Scope, 7,
22084 OPC_CheckPatternPredicate4,
22085 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LXEBR),
22086 MVT::f128, 1, 0,
22087 13,
22088 OPC_CheckPatternPredicate1,
22089 OPC_EmitNode1None, TARGET_VAL(SystemZ::WLDEB),
22090 MVT::f64, 1, 0,
22091 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLLD),
22092 MVT::f128, 1, 1,
22093 0,
22094 0,
22095 0,
22096 0,
22097 122|128,3, TARGET_VAL(ISD::FNEG),
22098 OPC_Scope, 123|128,1,
22099 OPC_MoveChild0,
22100 OPC_SwitchOpcode , 92, TARGET_VAL(ISD::STRICT_FMA),
22101 OPC_RecordNode,
22102 OPC_RecordChild1,
22103 OPC_RecordChild2,
22104 OPC_Scope, 45,
22105 OPC_MoveChild3,
22106 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
22107 OPC_RecordChild0,
22108 OPC_MoveParent,
22109 OPC_MoveParent,
22110 OPC_SwitchType , 10, MVT::f64,
22111 OPC_CheckPatternPredicate1,
22112 OPC_EmitMergeInputChains1_0,
22113 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMSDB),
22114 MVT::f64, 3, 1, 2, 3,
22115 10, MVT::f32,
22116 OPC_CheckPatternPredicate1,
22117 OPC_EmitMergeInputChains1_0,
22118 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMSSB),
22119 MVT::f32, 3, 1, 2, 3,
22120 10, MVT::f128,
22121 OPC_CheckPatternPredicate1,
22122 OPC_EmitMergeInputChains1_0,
22123 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMSXB),
22124 MVT::f128, 3, 1, 2, 3,
22125 0,
22126 40,
22127 OPC_RecordChild3,
22128 OPC_MoveParent,
22129 OPC_SwitchType , 10, MVT::f64,
22130 OPC_CheckPatternPredicate1,
22131 OPC_EmitMergeInputChains1_0,
22132 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMADB),
22133 MVT::f64, 3, 1, 2, 3,
22134 10, MVT::f32,
22135 OPC_CheckPatternPredicate1,
22136 OPC_EmitMergeInputChains1_0,
22137 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMASB),
22138 MVT::f32, 3, 1, 2, 3,
22139 10, MVT::f128,
22140 OPC_CheckPatternPredicate1,
22141 OPC_EmitMergeInputChains1_0,
22142 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFNMAXB),
22143 MVT::f128, 3, 1, 2, 3,
22144 0,
22145 0,
22146 85, TARGET_VAL(ISD::FMA),
22147 OPC_RecordChild0,
22148 OPC_RecordChild1,
22149 OPC_Scope, 42,
22150 OPC_MoveChild2,
22151 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
22152 OPC_RecordChild0,
22153 OPC_MoveParent,
22154 OPC_MoveParent,
22155 OPC_SwitchType , 9, MVT::f64,
22156 OPC_CheckPatternPredicate1,
22157 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMSDB),
22158 MVT::f64, 3, 0, 1, 2,
22159 9, MVT::f32,
22160 OPC_CheckPatternPredicate1,
22161 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMSSB),
22162 MVT::f32, 3, 0, 1, 2,
22163 9, MVT::f128,
22164 OPC_CheckPatternPredicate1,
22165 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMSXB),
22166 MVT::f128, 3, 0, 1, 2,
22167 0,
22168 37,
22169 OPC_RecordChild2,
22170 OPC_MoveParent,
22171 OPC_SwitchType , 9, MVT::f64,
22172 OPC_CheckPatternPredicate1,
22173 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMADB),
22174 MVT::f64, 3, 0, 1, 2,
22175 9, MVT::f32,
22176 OPC_CheckPatternPredicate1,
22177 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMASB),
22178 MVT::f32, 3, 0, 1, 2,
22179 9, MVT::f128,
22180 OPC_CheckPatternPredicate1,
22181 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFNMAXB),
22182 MVT::f128, 3, 0, 1, 2,
22183 0,
22184 0,
22185 62, TARGET_VAL(ISD::FABS),
22186 OPC_RecordChild0,
22187 OPC_MoveParent,
22188 OPC_SwitchType , 17, MVT::f64,
22189 OPC_Scope, 7,
22190 OPC_CheckPatternPredicate0,
22191 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLNDB),
22192 MVT::f64, 1, 0,
22193 6,
22194 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LNDFR),
22195 MVT::f64, 1, 0,
22196 0,
22197 17, MVT::f32,
22198 OPC_Scope, 7,
22199 OPC_CheckPatternPredicate1,
22200 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLNSB),
22201 MVT::f32, 1, 0,
22202 6,
22203 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LNDFR_32),
22204 MVT::f32, 1, 0,
22205 0,
22206 18, MVT::f128,
22207 OPC_Scope, 7,
22208 OPC_CheckPatternPredicate1,
22209 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLNXB),
22210 MVT::f128, 1, 0,
22211 7,
22212 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LNXBR),
22213 MVT::f128, MVT::i32, 1, 0,
22214 0,
22215 0,
22216 0,
22217 61,
22218 OPC_RecordChild0,
22219 OPC_SwitchType , 17, MVT::f64,
22220 OPC_Scope, 7,
22221 OPC_CheckPatternPredicate0,
22222 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLCDB),
22223 MVT::f64, 1, 0,
22224 6,
22225 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LCDFR),
22226 MVT::f64, 1, 0,
22227 0,
22228 17, MVT::f32,
22229 OPC_Scope, 7,
22230 OPC_CheckPatternPredicate1,
22231 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLCSB),
22232 MVT::f32, 1, 0,
22233 6,
22234 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LCDFR_32),
22235 MVT::f32, 1, 0,
22236 0,
22237 18, MVT::f128,
22238 OPC_Scope, 7,
22239 OPC_CheckPatternPredicate1,
22240 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLCXB),
22241 MVT::f128, 1, 0,
22242 7,
22243 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCXBR),
22244 MVT::f128, MVT::i32, 1, 0,
22245 0,
22246 0,
22247 37|128,1,
22248 OPC_MoveChild0,
22249 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::STRICT_FMA),
22250 OPC_RecordNode,
22251 OPC_RecordChild1,
22252 OPC_RecordChild2,
22253 OPC_Scope, 33,
22254 OPC_MoveChild3,
22255 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
22256 OPC_RecordChild0,
22257 OPC_MoveParent,
22258 OPC_MoveParent,
22259 OPC_SwitchType , 10, MVT::v2f64,
22260 OPC_CheckPatternPredicate1,
22261 OPC_EmitMergeInputChains1_0,
22262 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFNMSDB),
22263 MVT::v2f64, 3, 1, 2, 3,
22264 10, MVT::v4f32,
22265 OPC_CheckPatternPredicate1,
22266 OPC_EmitMergeInputChains1_0,
22267 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFNMSSB),
22268 MVT::v4f32, 3, 1, 2, 3,
22269 0,
22270 28,
22271 OPC_RecordChild3,
22272 OPC_MoveParent,
22273 OPC_SwitchType , 10, MVT::v2f64,
22274 OPC_CheckPatternPredicate1,
22275 OPC_EmitMergeInputChains1_0,
22276 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFNMADB),
22277 MVT::v2f64, 3, 1, 2, 3,
22278 10, MVT::v4f32,
22279 OPC_CheckPatternPredicate1,
22280 OPC_EmitMergeInputChains1_0,
22281 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFNMASB),
22282 MVT::v4f32, 3, 1, 2, 3,
22283 0,
22284 0,
22285 63, TARGET_VAL(ISD::FMA),
22286 OPC_RecordChild0,
22287 OPC_RecordChild1,
22288 OPC_Scope, 31,
22289 OPC_MoveChild2,
22290 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
22291 OPC_RecordChild0,
22292 OPC_MoveParent,
22293 OPC_MoveParent,
22294 OPC_SwitchType , 9, MVT::v2f64,
22295 OPC_CheckPatternPredicate1,
22296 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFNMSDB),
22297 MVT::v2f64, 3, 0, 1, 2,
22298 9, MVT::v4f32,
22299 OPC_CheckPatternPredicate1,
22300 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFNMSSB),
22301 MVT::v4f32, 3, 0, 1, 2,
22302 0,
22303 26,
22304 OPC_RecordChild2,
22305 OPC_MoveParent,
22306 OPC_SwitchType , 9, MVT::v2f64,
22307 OPC_CheckPatternPredicate1,
22308 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFNMADB),
22309 MVT::v2f64, 3, 0, 1, 2,
22310 9, MVT::v4f32,
22311 OPC_CheckPatternPredicate1,
22312 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFNMASB),
22313 MVT::v4f32, 3, 0, 1, 2,
22314 0,
22315 0,
22316 22, TARGET_VAL(ISD::FABS),
22317 OPC_RecordChild0,
22318 OPC_MoveParent,
22319 OPC_SwitchType , 7, MVT::v2f64,
22320 OPC_CheckPatternPredicate0,
22321 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLNDB),
22322 MVT::v2f64, 1, 0,
22323 7, MVT::v4f32,
22324 OPC_CheckPatternPredicate1,
22325 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLNSB),
22326 MVT::v4f32, 1, 0,
22327 0,
22328 0,
22329 21,
22330 OPC_RecordChild0,
22331 OPC_SwitchType , 7, MVT::v2f64,
22332 OPC_CheckPatternPredicate0,
22333 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLCDB),
22334 MVT::v2f64, 1, 0,
22335 7, MVT::v4f32,
22336 OPC_CheckPatternPredicate1,
22337 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLCSB),
22338 MVT::v4f32, 1, 0,
22339 0,
22340 0,
22341 121|128,1, TARGET_VAL(ISD::FCOPYSIGN),
22342 OPC_RecordChild0,
22343 OPC_Scope, 95,
22344 OPC_MoveChild1,
22345 OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
22346 OPC_RecordChild0,
22347 OPC_SwitchType , 43, MVT::f32,
22348 OPC_CheckChild0Type, MVT::f128,
22349 OPC_MoveParent,
22350 OPC_CheckType, MVT::f32,
22351 OPC_Scope, 17,
22352 OPC_CheckPatternPredicate4,
22353 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22354 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22355 MVT::f64, 2, 1, 2,
22356 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRsd),
22357 MVT::f32, 2, 0, 3,
22358 17,
22359 OPC_CheckPatternPredicate1,
22360 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22361 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22362 MVT::f64, 2, 1, 2,
22363 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRsd),
22364 MVT::f32, 2, 0, 3,
22365 0,
22366 41, MVT::f64,
22367 OPC_MoveParent,
22368 OPC_CheckType, MVT::f64,
22369 OPC_Scope, 17,
22370 OPC_CheckPatternPredicate4,
22371 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22372 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22373 MVT::f64, 2, 1, 2,
22374 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRdd),
22375 MVT::f64, 2, 0, 3,
22376 17,
22377 OPC_CheckPatternPredicate1,
22378 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22379 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22380 MVT::f64, 2, 1, 2,
22381 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRdd),
22382 MVT::f64, 2, 0, 3,
22383 0,
22384 0,
22385 20|128,1,
22386 OPC_RecordChild1,
22387 OPC_Scope, 51,
22388 OPC_CheckChild1Type, MVT::f32,
22389 OPC_SwitchType , 7, MVT::f32,
22390 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRss),
22391 MVT::f32, 2, 0, 1,
22392 7, MVT::f64,
22393 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRds),
22394 MVT::f64, 2, 0, 1,
22395 27, MVT::f128,
22396 OPC_CheckPatternPredicate4,
22397 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22398 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22399 MVT::f64, 2, 0, 2,
22400 OPC_EmitNode1None, TARGET_VAL(SystemZ::CPSDRds),
22401 MVT::f64, 2, 3, 1,
22402 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22403 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22404 MVT::f128, 3, 0, 4, 5,
22405 0,
22406 51,
22407 OPC_CheckChild1Type, MVT::f64,
22408 OPC_SwitchType , 7, MVT::f32,
22409 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRsd),
22410 MVT::f32, 2, 0, 1,
22411 7, MVT::f64,
22412 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CPSDRdd),
22413 MVT::f64, 2, 0, 1,
22414 27, MVT::f128,
22415 OPC_CheckPatternPredicate4,
22416 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22417 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22418 MVT::f64, 2, 0, 2,
22419 OPC_EmitNode1None, TARGET_VAL(SystemZ::CPSDRdd),
22420 MVT::f64, 2, 3, 1,
22421 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22422 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22423 MVT::f128, 3, 0, 4, 5,
22424 0,
22425 40,
22426 OPC_CheckChild1Type, MVT::f128,
22427 OPC_CheckType, MVT::f128,
22428 OPC_CheckPatternPredicate4,
22429 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22430 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22431 MVT::f64, 2, 0, 2,
22432 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22433 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22434 MVT::f64, 2, 1, 4,
22435 OPC_EmitNode1None, TARGET_VAL(SystemZ::CPSDRdd),
22436 MVT::f64, 2, 3, 5,
22437 OPC_EmitStringInteger32, SystemZ::subreg_h64,
22438 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22439 MVT::f128, 3, 0, 6, 7,
22440 0,
22441 0,
22442 99, TARGET_VAL(ISD::ConstantFP),
22443 OPC_Scope, 35,
22444 OPC_CheckPredicate, 49,
22445 OPC_SwitchType , 15, MVT::f128,
22446 OPC_Scope, 6,
22447 OPC_CheckPatternPredicate1,
22448 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VZERO),
22449 MVT::f128, 0,
22450 5,
22451 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LZXR),
22452 MVT::f128, 0,
22453 0,
22454 5, MVT::f32,
22455 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LZER),
22456 MVT::f32, 0,
22457 5, MVT::f64,
22458 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LZDR),
22459 MVT::f64, 0,
22460 0,
22461 60,
22462 OPC_CheckPredicate, 50,
22463 OPC_SwitchType , 28, MVT::f128,
22464 OPC_Scope, 12,
22465 OPC_CheckPatternPredicate1,
22466 OPC_EmitNode1None, TARGET_VAL(SystemZ::VZERO),
22467 MVT::i128, 0,
22468 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLNXB),
22469 MVT::f128, 1, 0,
22470 12,
22471 OPC_EmitNode1None, TARGET_VAL(SystemZ::LZXR),
22472 MVT::f128, 0,
22473 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LCXBR),
22474 MVT::f128, MVT::i32, 1, 0,
22475 0,
22476 11, MVT::f32,
22477 OPC_EmitNode1None, TARGET_VAL(SystemZ::LZER),
22478 MVT::f32, 0,
22479 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LCDFR_32),
22480 MVT::f32, 1, 0,
22481 11, MVT::f64,
22482 OPC_EmitNode1None, TARGET_VAL(SystemZ::LZDR),
22483 MVT::f64, 0,
22484 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LCDFR),
22485 MVT::f64, 1, 0,
22486 0,
22487 0,
22488 4|128,1, TARGET_VAL(ISD::STRICT_FRINT),
22489 OPC_RecordNode,
22490 OPC_RecordChild1,
22491 OPC_SwitchType , 28, MVT::f64,
22492 OPC_Scope, 14,
22493 OPC_CheckPatternPredicate0,
22494 OPC_EmitMergeInputChains1_0,
22495 OPC_EmitInteger32, 0,
22496 OPC_EmitInteger32, 0,
22497 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
22498 MVT::f64, 3, 1, 2, 3,
22499 10,
22500 OPC_EmitMergeInputChains1_0,
22501 OPC_EmitInteger32, 0,
22502 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBR),
22503 MVT::f64, 2, 2, 1,
22504 0,
22505 28, MVT::f32,
22506 OPC_Scope, 14,
22507 OPC_CheckPatternPredicate1,
22508 OPC_EmitMergeInputChains1_0,
22509 OPC_EmitInteger32, 0,
22510 OPC_EmitInteger32, 0,
22511 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
22512 MVT::f32, 3, 1, 2, 3,
22513 10,
22514 OPC_EmitMergeInputChains1_0,
22515 OPC_EmitInteger32, 0,
22516 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBR),
22517 MVT::f32, 2, 2, 1,
22518 0,
22519 28, MVT::f128,
22520 OPC_Scope, 14,
22521 OPC_CheckPatternPredicate1,
22522 OPC_EmitMergeInputChains1_0,
22523 OPC_EmitInteger32, 0,
22524 OPC_EmitInteger32, 0,
22525 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
22526 MVT::f128, 3, 1, 2, 3,
22527 10,
22528 OPC_EmitMergeInputChains1_0,
22529 OPC_EmitInteger32, 0,
22530 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBR),
22531 MVT::f128, 2, 2, 1,
22532 0,
22533 17, MVT::v2f64,
22534 OPC_CheckPatternPredicate0,
22535 OPC_EmitMergeInputChains1_0,
22536 OPC_EmitInteger32, 0,
22537 OPC_EmitInteger32, 0,
22538 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
22539 MVT::v2f64, 3, 1, 2, 3,
22540 OPC_CompleteMatch, 1, 4,
22541
22542 17, MVT::v4f32,
22543 OPC_CheckPatternPredicate1,
22544 OPC_EmitMergeInputChains1_0,
22545 OPC_EmitInteger32, 0,
22546 OPC_EmitInteger32, 0,
22547 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
22548 MVT::v4f32, 3, 1, 2, 3,
22549 OPC_CompleteMatch, 1, 4,
22550
22551 0,
22552 117, TARGET_VAL(ISD::FRINT),
22553 OPC_RecordChild0,
22554 OPC_SwitchType , 26, MVT::f64,
22555 OPC_Scope, 13,
22556 OPC_CheckPatternPredicate0,
22557 OPC_EmitInteger32, 0,
22558 OPC_EmitInteger32, 0,
22559 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
22560 MVT::f64, 3, 0, 1, 2,
22561 9,
22562 OPC_EmitInteger32, 0,
22563 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBR),
22564 MVT::f64, 2, 1, 0,
22565 0,
22566 26, MVT::f32,
22567 OPC_Scope, 13,
22568 OPC_CheckPatternPredicate1,
22569 OPC_EmitInteger32, 0,
22570 OPC_EmitInteger32, 0,
22571 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
22572 MVT::f32, 3, 0, 1, 2,
22573 9,
22574 OPC_EmitInteger32, 0,
22575 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBR),
22576 MVT::f32, 2, 1, 0,
22577 0,
22578 26, MVT::f128,
22579 OPC_Scope, 13,
22580 OPC_CheckPatternPredicate1,
22581 OPC_EmitInteger32, 0,
22582 OPC_EmitInteger32, 0,
22583 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
22584 MVT::f128, 3, 0, 1, 2,
22585 9,
22586 OPC_EmitInteger32, 0,
22587 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBR),
22588 MVT::f128, 2, 1, 0,
22589 0,
22590 13, MVT::v2f64,
22591 OPC_CheckPatternPredicate0,
22592 OPC_EmitInteger32, 0,
22593 OPC_EmitInteger32, 0,
22594 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
22595 MVT::v2f64, 3, 0, 1, 2,
22596 13, MVT::v4f32,
22597 OPC_CheckPatternPredicate1,
22598 OPC_EmitInteger32, 0,
22599 OPC_EmitInteger32, 0,
22600 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
22601 MVT::v4f32, 3, 0, 1, 2,
22602 0,
22603 16|128,1, TARGET_VAL(ISD::STRICT_FNEARBYINT),
22604 OPC_RecordNode,
22605 OPC_RecordChild1,
22606 OPC_SwitchType , 32, MVT::f64,
22607 OPC_Scope, 14,
22608 OPC_CheckPatternPredicate0,
22609 OPC_EmitMergeInputChains1_0,
22610 OPC_EmitInteger32, 8,
22611 OPC_EmitInteger32, 0,
22612 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
22613 MVT::f64, 3, 1, 2, 3,
22614 14,
22615 OPC_CheckPatternPredicate3,
22616 OPC_EmitMergeInputChains1_0,
22617 OPC_EmitInteger32, 0,
22618 OPC_EmitInteger32, 8,
22619 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
22620 MVT::f64, 3, 2, 1, 3,
22621 0,
22622 32, MVT::f32,
22623 OPC_Scope, 14,
22624 OPC_CheckPatternPredicate1,
22625 OPC_EmitMergeInputChains1_0,
22626 OPC_EmitInteger32, 8,
22627 OPC_EmitInteger32, 0,
22628 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
22629 MVT::f32, 3, 1, 2, 3,
22630 14,
22631 OPC_CheckPatternPredicate3,
22632 OPC_EmitMergeInputChains1_0,
22633 OPC_EmitInteger32, 0,
22634 OPC_EmitInteger32, 8,
22635 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
22636 MVT::f32, 3, 2, 1, 3,
22637 0,
22638 32, MVT::f128,
22639 OPC_Scope, 14,
22640 OPC_CheckPatternPredicate1,
22641 OPC_EmitMergeInputChains1_0,
22642 OPC_EmitInteger32, 8,
22643 OPC_EmitInteger32, 0,
22644 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
22645 MVT::f128, 3, 1, 2, 3,
22646 14,
22647 OPC_CheckPatternPredicate3,
22648 OPC_EmitMergeInputChains1_0,
22649 OPC_EmitInteger32, 0,
22650 OPC_EmitInteger32, 8,
22651 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
22652 MVT::f128, 3, 2, 1, 3,
22653 0,
22654 17, MVT::v2f64,
22655 OPC_CheckPatternPredicate0,
22656 OPC_EmitMergeInputChains1_0,
22657 OPC_EmitInteger32, 8,
22658 OPC_EmitInteger32, 0,
22659 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
22660 MVT::v2f64, 3, 1, 2, 3,
22661 OPC_CompleteMatch, 1, 4,
22662
22663 17, MVT::v4f32,
22664 OPC_CheckPatternPredicate1,
22665 OPC_EmitMergeInputChains1_0,
22666 OPC_EmitInteger32, 8,
22667 OPC_EmitInteger32, 0,
22668 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
22669 MVT::v4f32, 3, 1, 2, 3,
22670 OPC_CompleteMatch, 1, 4,
22671
22672 0,
22673 1|128,1, TARGET_VAL(ISD::FNEARBYINT),
22674 OPC_RecordChild0,
22675 OPC_SwitchType , 30, MVT::f64,
22676 OPC_Scope, 13,
22677 OPC_CheckPatternPredicate0,
22678 OPC_EmitInteger32, 8,
22679 OPC_EmitInteger32, 0,
22680 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
22681 MVT::f64, 3, 0, 1, 2,
22682 13,
22683 OPC_CheckPatternPredicate3,
22684 OPC_EmitInteger32, 0,
22685 OPC_EmitInteger32, 8,
22686 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
22687 MVT::f64, 3, 1, 0, 2,
22688 0,
22689 30, MVT::f32,
22690 OPC_Scope, 13,
22691 OPC_CheckPatternPredicate1,
22692 OPC_EmitInteger32, 8,
22693 OPC_EmitInteger32, 0,
22694 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
22695 MVT::f32, 3, 0, 1, 2,
22696 13,
22697 OPC_CheckPatternPredicate3,
22698 OPC_EmitInteger32, 0,
22699 OPC_EmitInteger32, 8,
22700 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
22701 MVT::f32, 3, 1, 0, 2,
22702 0,
22703 30, MVT::f128,
22704 OPC_Scope, 13,
22705 OPC_CheckPatternPredicate1,
22706 OPC_EmitInteger32, 8,
22707 OPC_EmitInteger32, 0,
22708 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
22709 MVT::f128, 3, 0, 1, 2,
22710 13,
22711 OPC_CheckPatternPredicate3,
22712 OPC_EmitInteger32, 0,
22713 OPC_EmitInteger32, 8,
22714 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
22715 MVT::f128, 3, 1, 0, 2,
22716 0,
22717 13, MVT::v2f64,
22718 OPC_CheckPatternPredicate0,
22719 OPC_EmitInteger32, 8,
22720 OPC_EmitInteger32, 0,
22721 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
22722 MVT::v2f64, 3, 0, 1, 2,
22723 13, MVT::v4f32,
22724 OPC_CheckPatternPredicate1,
22725 OPC_EmitInteger32, 8,
22726 OPC_EmitInteger32, 0,
22727 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
22728 MVT::v4f32, 3, 0, 1, 2,
22729 0,
22730 16|128,1, TARGET_VAL(ISD::STRICT_FFLOOR),
22731 OPC_RecordNode,
22732 OPC_RecordChild1,
22733 OPC_SwitchType , 32, MVT::f64,
22734 OPC_Scope, 14,
22735 OPC_CheckPatternPredicate0,
22736 OPC_EmitMergeInputChains1_0,
22737 OPC_EmitInteger32, 8,
22738 OPC_EmitInteger32, 14,
22739 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
22740 MVT::f64, 3, 1, 2, 3,
22741 14,
22742 OPC_CheckPatternPredicate3,
22743 OPC_EmitMergeInputChains1_0,
22744 OPC_EmitInteger32, 14,
22745 OPC_EmitInteger32, 8,
22746 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
22747 MVT::f64, 3, 2, 1, 3,
22748 0,
22749 32, MVT::f32,
22750 OPC_Scope, 14,
22751 OPC_CheckPatternPredicate1,
22752 OPC_EmitMergeInputChains1_0,
22753 OPC_EmitInteger32, 8,
22754 OPC_EmitInteger32, 14,
22755 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
22756 MVT::f32, 3, 1, 2, 3,
22757 14,
22758 OPC_CheckPatternPredicate3,
22759 OPC_EmitMergeInputChains1_0,
22760 OPC_EmitInteger32, 14,
22761 OPC_EmitInteger32, 8,
22762 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
22763 MVT::f32, 3, 2, 1, 3,
22764 0,
22765 32, MVT::f128,
22766 OPC_Scope, 14,
22767 OPC_CheckPatternPredicate1,
22768 OPC_EmitMergeInputChains1_0,
22769 OPC_EmitInteger32, 8,
22770 OPC_EmitInteger32, 14,
22771 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
22772 MVT::f128, 3, 1, 2, 3,
22773 14,
22774 OPC_CheckPatternPredicate3,
22775 OPC_EmitMergeInputChains1_0,
22776 OPC_EmitInteger32, 14,
22777 OPC_EmitInteger32, 8,
22778 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
22779 MVT::f128, 3, 2, 1, 3,
22780 0,
22781 17, MVT::v2f64,
22782 OPC_CheckPatternPredicate0,
22783 OPC_EmitMergeInputChains1_0,
22784 OPC_EmitInteger32, 8,
22785 OPC_EmitInteger32, 14,
22786 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
22787 MVT::v2f64, 3, 1, 2, 3,
22788 OPC_CompleteMatch, 1, 4,
22789
22790 17, MVT::v4f32,
22791 OPC_CheckPatternPredicate1,
22792 OPC_EmitMergeInputChains1_0,
22793 OPC_EmitInteger32, 8,
22794 OPC_EmitInteger32, 14,
22795 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
22796 MVT::v4f32, 3, 1, 2, 3,
22797 OPC_CompleteMatch, 1, 4,
22798
22799 0,
22800 1|128,1, TARGET_VAL(ISD::FFLOOR),
22801 OPC_RecordChild0,
22802 OPC_SwitchType , 30, MVT::f64,
22803 OPC_Scope, 13,
22804 OPC_CheckPatternPredicate0,
22805 OPC_EmitInteger32, 8,
22806 OPC_EmitInteger32, 14,
22807 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
22808 MVT::f64, 3, 0, 1, 2,
22809 13,
22810 OPC_CheckPatternPredicate3,
22811 OPC_EmitInteger32, 14,
22812 OPC_EmitInteger32, 8,
22813 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
22814 MVT::f64, 3, 1, 0, 2,
22815 0,
22816 30, MVT::f32,
22817 OPC_Scope, 13,
22818 OPC_CheckPatternPredicate1,
22819 OPC_EmitInteger32, 8,
22820 OPC_EmitInteger32, 14,
22821 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
22822 MVT::f32, 3, 0, 1, 2,
22823 13,
22824 OPC_CheckPatternPredicate3,
22825 OPC_EmitInteger32, 14,
22826 OPC_EmitInteger32, 8,
22827 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
22828 MVT::f32, 3, 1, 0, 2,
22829 0,
22830 30, MVT::f128,
22831 OPC_Scope, 13,
22832 OPC_CheckPatternPredicate1,
22833 OPC_EmitInteger32, 8,
22834 OPC_EmitInteger32, 14,
22835 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
22836 MVT::f128, 3, 0, 1, 2,
22837 13,
22838 OPC_CheckPatternPredicate3,
22839 OPC_EmitInteger32, 14,
22840 OPC_EmitInteger32, 8,
22841 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
22842 MVT::f128, 3, 1, 0, 2,
22843 0,
22844 13, MVT::v2f64,
22845 OPC_CheckPatternPredicate0,
22846 OPC_EmitInteger32, 8,
22847 OPC_EmitInteger32, 14,
22848 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
22849 MVT::v2f64, 3, 0, 1, 2,
22850 13, MVT::v4f32,
22851 OPC_CheckPatternPredicate1,
22852 OPC_EmitInteger32, 8,
22853 OPC_EmitInteger32, 14,
22854 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
22855 MVT::v4f32, 3, 0, 1, 2,
22856 0,
22857 16|128,1, TARGET_VAL(ISD::STRICT_FCEIL),
22858 OPC_RecordNode,
22859 OPC_RecordChild1,
22860 OPC_SwitchType , 32, MVT::f64,
22861 OPC_Scope, 14,
22862 OPC_CheckPatternPredicate0,
22863 OPC_EmitMergeInputChains1_0,
22864 OPC_EmitInteger32, 8,
22865 OPC_EmitInteger32, 12,
22866 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
22867 MVT::f64, 3, 1, 2, 3,
22868 14,
22869 OPC_CheckPatternPredicate3,
22870 OPC_EmitMergeInputChains1_0,
22871 OPC_EmitInteger32, 12,
22872 OPC_EmitInteger32, 8,
22873 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
22874 MVT::f64, 3, 2, 1, 3,
22875 0,
22876 32, MVT::f32,
22877 OPC_Scope, 14,
22878 OPC_CheckPatternPredicate1,
22879 OPC_EmitMergeInputChains1_0,
22880 OPC_EmitInteger32, 8,
22881 OPC_EmitInteger32, 12,
22882 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
22883 MVT::f32, 3, 1, 2, 3,
22884 14,
22885 OPC_CheckPatternPredicate3,
22886 OPC_EmitMergeInputChains1_0,
22887 OPC_EmitInteger32, 12,
22888 OPC_EmitInteger32, 8,
22889 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
22890 MVT::f32, 3, 2, 1, 3,
22891 0,
22892 32, MVT::f128,
22893 OPC_Scope, 14,
22894 OPC_CheckPatternPredicate1,
22895 OPC_EmitMergeInputChains1_0,
22896 OPC_EmitInteger32, 8,
22897 OPC_EmitInteger32, 12,
22898 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
22899 MVT::f128, 3, 1, 2, 3,
22900 14,
22901 OPC_CheckPatternPredicate3,
22902 OPC_EmitMergeInputChains1_0,
22903 OPC_EmitInteger32, 12,
22904 OPC_EmitInteger32, 8,
22905 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
22906 MVT::f128, 3, 2, 1, 3,
22907 0,
22908 17, MVT::v2f64,
22909 OPC_CheckPatternPredicate0,
22910 OPC_EmitMergeInputChains1_0,
22911 OPC_EmitInteger32, 8,
22912 OPC_EmitInteger32, 12,
22913 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
22914 MVT::v2f64, 3, 1, 2, 3,
22915 OPC_CompleteMatch, 1, 4,
22916
22917 17, MVT::v4f32,
22918 OPC_CheckPatternPredicate1,
22919 OPC_EmitMergeInputChains1_0,
22920 OPC_EmitInteger32, 8,
22921 OPC_EmitInteger32, 12,
22922 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
22923 MVT::v4f32, 3, 1, 2, 3,
22924 OPC_CompleteMatch, 1, 4,
22925
22926 0,
22927 1|128,1, TARGET_VAL(ISD::FCEIL),
22928 OPC_RecordChild0,
22929 OPC_SwitchType , 30, MVT::f64,
22930 OPC_Scope, 13,
22931 OPC_CheckPatternPredicate0,
22932 OPC_EmitInteger32, 8,
22933 OPC_EmitInteger32, 12,
22934 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
22935 MVT::f64, 3, 0, 1, 2,
22936 13,
22937 OPC_CheckPatternPredicate3,
22938 OPC_EmitInteger32, 12,
22939 OPC_EmitInteger32, 8,
22940 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
22941 MVT::f64, 3, 1, 0, 2,
22942 0,
22943 30, MVT::f32,
22944 OPC_Scope, 13,
22945 OPC_CheckPatternPredicate1,
22946 OPC_EmitInteger32, 8,
22947 OPC_EmitInteger32, 12,
22948 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
22949 MVT::f32, 3, 0, 1, 2,
22950 13,
22951 OPC_CheckPatternPredicate3,
22952 OPC_EmitInteger32, 12,
22953 OPC_EmitInteger32, 8,
22954 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
22955 MVT::f32, 3, 1, 0, 2,
22956 0,
22957 30, MVT::f128,
22958 OPC_Scope, 13,
22959 OPC_CheckPatternPredicate1,
22960 OPC_EmitInteger32, 8,
22961 OPC_EmitInteger32, 12,
22962 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
22963 MVT::f128, 3, 0, 1, 2,
22964 13,
22965 OPC_CheckPatternPredicate3,
22966 OPC_EmitInteger32, 12,
22967 OPC_EmitInteger32, 8,
22968 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
22969 MVT::f128, 3, 1, 0, 2,
22970 0,
22971 13, MVT::v2f64,
22972 OPC_CheckPatternPredicate0,
22973 OPC_EmitInteger32, 8,
22974 OPC_EmitInteger32, 12,
22975 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
22976 MVT::v2f64, 3, 0, 1, 2,
22977 13, MVT::v4f32,
22978 OPC_CheckPatternPredicate1,
22979 OPC_EmitInteger32, 8,
22980 OPC_EmitInteger32, 12,
22981 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
22982 MVT::v4f32, 3, 0, 1, 2,
22983 0,
22984 16|128,1, TARGET_VAL(ISD::STRICT_FTRUNC),
22985 OPC_RecordNode,
22986 OPC_RecordChild1,
22987 OPC_SwitchType , 32, MVT::f64,
22988 OPC_Scope, 14,
22989 OPC_CheckPatternPredicate0,
22990 OPC_EmitMergeInputChains1_0,
22991 OPC_EmitInteger32, 8,
22992 OPC_EmitInteger32, 10,
22993 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
22994 MVT::f64, 3, 1, 2, 3,
22995 14,
22996 OPC_CheckPatternPredicate3,
22997 OPC_EmitMergeInputChains1_0,
22998 OPC_EmitInteger32, 10,
22999 OPC_EmitInteger32, 8,
23000 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
23001 MVT::f64, 3, 2, 1, 3,
23002 0,
23003 32, MVT::f32,
23004 OPC_Scope, 14,
23005 OPC_CheckPatternPredicate1,
23006 OPC_EmitMergeInputChains1_0,
23007 OPC_EmitInteger32, 8,
23008 OPC_EmitInteger32, 10,
23009 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
23010 MVT::f32, 3, 1, 2, 3,
23011 14,
23012 OPC_CheckPatternPredicate3,
23013 OPC_EmitMergeInputChains1_0,
23014 OPC_EmitInteger32, 10,
23015 OPC_EmitInteger32, 8,
23016 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
23017 MVT::f32, 3, 2, 1, 3,
23018 0,
23019 32, MVT::f128,
23020 OPC_Scope, 14,
23021 OPC_CheckPatternPredicate1,
23022 OPC_EmitMergeInputChains1_0,
23023 OPC_EmitInteger32, 8,
23024 OPC_EmitInteger32, 10,
23025 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
23026 MVT::f128, 3, 1, 2, 3,
23027 14,
23028 OPC_CheckPatternPredicate3,
23029 OPC_EmitMergeInputChains1_0,
23030 OPC_EmitInteger32, 10,
23031 OPC_EmitInteger32, 8,
23032 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
23033 MVT::f128, 3, 2, 1, 3,
23034 0,
23035 17, MVT::v2f64,
23036 OPC_CheckPatternPredicate0,
23037 OPC_EmitMergeInputChains1_0,
23038 OPC_EmitInteger32, 8,
23039 OPC_EmitInteger32, 10,
23040 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
23041 MVT::v2f64, 3, 1, 2, 3,
23042 OPC_CompleteMatch, 1, 4,
23043
23044 17, MVT::v4f32,
23045 OPC_CheckPatternPredicate1,
23046 OPC_EmitMergeInputChains1_0,
23047 OPC_EmitInteger32, 8,
23048 OPC_EmitInteger32, 10,
23049 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
23050 MVT::v4f32, 3, 1, 2, 3,
23051 OPC_CompleteMatch, 1, 4,
23052
23053 0,
23054 1|128,1, TARGET_VAL(ISD::FTRUNC),
23055 OPC_RecordChild0,
23056 OPC_SwitchType , 30, MVT::f64,
23057 OPC_Scope, 13,
23058 OPC_CheckPatternPredicate0,
23059 OPC_EmitInteger32, 8,
23060 OPC_EmitInteger32, 10,
23061 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
23062 MVT::f64, 3, 0, 1, 2,
23063 13,
23064 OPC_CheckPatternPredicate3,
23065 OPC_EmitInteger32, 10,
23066 OPC_EmitInteger32, 8,
23067 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
23068 MVT::f64, 3, 1, 0, 2,
23069 0,
23070 30, MVT::f32,
23071 OPC_Scope, 13,
23072 OPC_CheckPatternPredicate1,
23073 OPC_EmitInteger32, 8,
23074 OPC_EmitInteger32, 10,
23075 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
23076 MVT::f32, 3, 0, 1, 2,
23077 13,
23078 OPC_CheckPatternPredicate3,
23079 OPC_EmitInteger32, 10,
23080 OPC_EmitInteger32, 8,
23081 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
23082 MVT::f32, 3, 1, 0, 2,
23083 0,
23084 30, MVT::f128,
23085 OPC_Scope, 13,
23086 OPC_CheckPatternPredicate1,
23087 OPC_EmitInteger32, 8,
23088 OPC_EmitInteger32, 10,
23089 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
23090 MVT::f128, 3, 0, 1, 2,
23091 13,
23092 OPC_CheckPatternPredicate3,
23093 OPC_EmitInteger32, 10,
23094 OPC_EmitInteger32, 8,
23095 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
23096 MVT::f128, 3, 1, 0, 2,
23097 0,
23098 13, MVT::v2f64,
23099 OPC_CheckPatternPredicate0,
23100 OPC_EmitInteger32, 8,
23101 OPC_EmitInteger32, 10,
23102 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
23103 MVT::v2f64, 3, 0, 1, 2,
23104 13, MVT::v4f32,
23105 OPC_CheckPatternPredicate1,
23106 OPC_EmitInteger32, 8,
23107 OPC_EmitInteger32, 10,
23108 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
23109 MVT::v4f32, 3, 0, 1, 2,
23110 0,
23111 16|128,1, TARGET_VAL(ISD::STRICT_FROUND),
23112 OPC_RecordNode,
23113 OPC_RecordChild1,
23114 OPC_SwitchType , 32, MVT::f64,
23115 OPC_Scope, 14,
23116 OPC_CheckPatternPredicate0,
23117 OPC_EmitMergeInputChains1_0,
23118 OPC_EmitInteger32, 8,
23119 OPC_EmitInteger32, 2,
23120 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIDB),
23121 MVT::f64, 3, 1, 2, 3,
23122 14,
23123 OPC_CheckPatternPredicate3,
23124 OPC_EmitMergeInputChains1_0,
23125 OPC_EmitInteger32, 2,
23126 OPC_EmitInteger32, 8,
23127 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIDBRA),
23128 MVT::f64, 3, 2, 1, 3,
23129 0,
23130 32, MVT::f32,
23131 OPC_Scope, 14,
23132 OPC_CheckPatternPredicate1,
23133 OPC_EmitMergeInputChains1_0,
23134 OPC_EmitInteger32, 8,
23135 OPC_EmitInteger32, 2,
23136 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFISB),
23137 MVT::f32, 3, 1, 2, 3,
23138 14,
23139 OPC_CheckPatternPredicate3,
23140 OPC_EmitMergeInputChains1_0,
23141 OPC_EmitInteger32, 2,
23142 OPC_EmitInteger32, 8,
23143 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIEBRA),
23144 MVT::f32, 3, 2, 1, 3,
23145 0,
23146 32, MVT::f128,
23147 OPC_Scope, 14,
23148 OPC_CheckPatternPredicate1,
23149 OPC_EmitMergeInputChains1_0,
23150 OPC_EmitInteger32, 8,
23151 OPC_EmitInteger32, 2,
23152 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFIXB),
23153 MVT::f128, 3, 1, 2, 3,
23154 14,
23155 OPC_CheckPatternPredicate3,
23156 OPC_EmitMergeInputChains1_0,
23157 OPC_EmitInteger32, 2,
23158 OPC_EmitInteger32, 8,
23159 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::FIXBRA),
23160 MVT::f128, 3, 2, 1, 3,
23161 0,
23162 17, MVT::v2f64,
23163 OPC_CheckPatternPredicate0,
23164 OPC_EmitMergeInputChains1_0,
23165 OPC_EmitInteger32, 8,
23166 OPC_EmitInteger32, 2,
23167 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFIDB),
23168 MVT::v2f64, 3, 1, 2, 3,
23169 OPC_CompleteMatch, 1, 4,
23170
23171 17, MVT::v4f32,
23172 OPC_CheckPatternPredicate1,
23173 OPC_EmitMergeInputChains1_0,
23174 OPC_EmitInteger32, 8,
23175 OPC_EmitInteger32, 2,
23176 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFISB),
23177 MVT::v4f32, 3, 1, 2, 3,
23178 OPC_CompleteMatch, 1, 4,
23179
23180 0,
23181 1|128,1, TARGET_VAL(ISD::FROUND),
23182 OPC_RecordChild0,
23183 OPC_SwitchType , 30, MVT::f64,
23184 OPC_Scope, 13,
23185 OPC_CheckPatternPredicate0,
23186 OPC_EmitInteger32, 8,
23187 OPC_EmitInteger32, 2,
23188 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIDB),
23189 MVT::f64, 3, 0, 1, 2,
23190 13,
23191 OPC_CheckPatternPredicate3,
23192 OPC_EmitInteger32, 2,
23193 OPC_EmitInteger32, 8,
23194 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIDBRA),
23195 MVT::f64, 3, 1, 0, 2,
23196 0,
23197 30, MVT::f32,
23198 OPC_Scope, 13,
23199 OPC_CheckPatternPredicate1,
23200 OPC_EmitInteger32, 8,
23201 OPC_EmitInteger32, 2,
23202 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFISB),
23203 MVT::f32, 3, 0, 1, 2,
23204 13,
23205 OPC_CheckPatternPredicate3,
23206 OPC_EmitInteger32, 2,
23207 OPC_EmitInteger32, 8,
23208 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIEBRA),
23209 MVT::f32, 3, 1, 0, 2,
23210 0,
23211 30, MVT::f128,
23212 OPC_Scope, 13,
23213 OPC_CheckPatternPredicate1,
23214 OPC_EmitInteger32, 8,
23215 OPC_EmitInteger32, 2,
23216 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFIXB),
23217 MVT::f128, 3, 0, 1, 2,
23218 13,
23219 OPC_CheckPatternPredicate3,
23220 OPC_EmitInteger32, 2,
23221 OPC_EmitInteger32, 8,
23222 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::FIXBRA),
23223 MVT::f128, 3, 1, 0, 2,
23224 0,
23225 13, MVT::v2f64,
23226 OPC_CheckPatternPredicate0,
23227 OPC_EmitInteger32, 8,
23228 OPC_EmitInteger32, 2,
23229 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFIDB),
23230 MVT::v2f64, 3, 0, 1, 2,
23231 13, MVT::v4f32,
23232 OPC_CheckPatternPredicate1,
23233 OPC_EmitInteger32, 8,
23234 OPC_EmitInteger32, 2,
23235 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFISB),
23236 MVT::v4f32, 3, 0, 1, 2,
23237 0,
23238 123, TARGET_VAL(ISD::STRICT_FP_ROUND),
23239 OPC_RecordNode,
23240 OPC_RecordChild1,
23241 OPC_SwitchType , 80, MVT::f32,
23242 OPC_Scope, 27,
23243 OPC_CheckChild1Type, MVT::f64,
23244 OPC_Scope, 14,
23245 OPC_CheckPatternPredicate0,
23246 OPC_EmitMergeInputChains1_0,
23247 OPC_EmitInteger32, 0,
23248 OPC_EmitInteger32, 0,
23249 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WLEDB),
23250 MVT::f32, 3, 1, 2, 3,
23251 7,
23252 OPC_EmitMergeInputChains1_0,
23253 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::LEDBR),
23254 MVT::f32, 1, 1,
23255 0,
23256 49,
23257 OPC_CheckChild1Type, MVT::f128,
23258 OPC_Scope, 26,
23259 OPC_CheckPatternPredicate1,
23260 OPC_EmitMergeInputChains1_0,
23261 OPC_EmitInteger32, 0,
23262 OPC_EmitInteger32, 6,
23263 OPC_EmitNode1None, TARGET_VAL(SystemZ::WFLRX),
23264 MVT::f64, 3, 1, 2, 3,
23265 OPC_EmitInteger32, 0,
23266 OPC_EmitInteger32, 0,
23267 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WLEDB),
23268 MVT::f32, 3, 4, 5, 6,
23269 17,
23270 OPC_CheckPatternPredicate4,
23271 OPC_EmitMergeInputChains1_0,
23272 OPC_EmitNode1None, TARGET_VAL(SystemZ::LEXBR),
23273 MVT::f128, 1, 1,
23274 OPC_EmitStringInteger32, SystemZ::subreg_h32,
23275 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23276 MVT::f32, 2, 2, 3,
23277 0,
23278 0,
23279 35, MVT::f64,
23280 OPC_Scope, 14,
23281 OPC_CheckPatternPredicate1,
23282 OPC_EmitMergeInputChains1_0,
23283 OPC_EmitInteger32, 0,
23284 OPC_EmitInteger32, 0,
23285 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFLRX),
23286 MVT::f64, 3, 1, 2, 3,
23287 17,
23288 OPC_CheckPatternPredicate4,
23289 OPC_EmitMergeInputChains1_0,
23290 OPC_EmitNode1None, TARGET_VAL(SystemZ::LDXBR),
23291 MVT::f128, 1, 1,
23292 OPC_EmitStringInteger32, SystemZ::subreg_h64,
23293 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23294 MVT::f64, 2, 2, 3,
23295 0,
23296 0,
23297 116, TARGET_VAL(ISD::FP_ROUND),
23298 OPC_RecordChild0,
23299 OPC_SwitchType , 76, MVT::f32,
23300 OPC_Scope, 25,
23301 OPC_CheckChild0Type, MVT::f64,
23302 OPC_Scope, 13,
23303 OPC_CheckPatternPredicate0,
23304 OPC_EmitInteger32, 0,
23305 OPC_EmitInteger32, 0,
23306 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WLEDB),
23307 MVT::f32, 3, 0, 1, 2,
23308 6,
23309 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LEDBR),
23310 MVT::f32, 1, 0,
23311 0,
23312 47,
23313 OPC_CheckChild0Type, MVT::f128,
23314 OPC_Scope, 25,
23315 OPC_CheckPatternPredicate1,
23316 OPC_EmitInteger32, 0,
23317 OPC_EmitInteger32, 6,
23318 OPC_EmitNode1None, TARGET_VAL(SystemZ::WFLRX),
23319 MVT::f64, 3, 0, 1, 2,
23320 OPC_EmitInteger32, 0,
23321 OPC_EmitInteger32, 0,
23322 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WLEDB),
23323 MVT::f32, 3, 3, 4, 5,
23324 16,
23325 OPC_CheckPatternPredicate4,
23326 OPC_EmitNode1None, TARGET_VAL(SystemZ::LEXBR),
23327 MVT::f128, 1, 0,
23328 OPC_EmitStringInteger32, SystemZ::subreg_h32,
23329 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23330 MVT::f32, 2, 1, 2,
23331 0,
23332 0,
23333 33, MVT::f64,
23334 OPC_Scope, 13,
23335 OPC_CheckPatternPredicate1,
23336 OPC_EmitInteger32, 0,
23337 OPC_EmitInteger32, 0,
23338 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLRX),
23339 MVT::f64, 3, 0, 1, 2,
23340 16,
23341 OPC_CheckPatternPredicate4,
23342 OPC_EmitNode1None, TARGET_VAL(SystemZ::LDXBR),
23343 MVT::f128, 1, 0,
23344 OPC_EmitStringInteger32, SystemZ::subreg_h64,
23345 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23346 MVT::f64, 2, 1, 2,
23347 0,
23348 0,
23349 81, TARGET_VAL(ISD::STRICT_FMAXNUM),
23350 OPC_RecordNode,
23351 OPC_RecordChild1,
23352 OPC_RecordChild2,
23353 OPC_SwitchType , 12, MVT::f64,
23354 OPC_CheckPatternPredicate1,
23355 OPC_EmitMergeInputChains1_0,
23356 OPC_EmitInteger32, 8,
23357 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXDB),
23358 MVT::f64, 3, 1, 2, 3,
23359 12, MVT::f32,
23360 OPC_CheckPatternPredicate1,
23361 OPC_EmitMergeInputChains1_0,
23362 OPC_EmitInteger32, 8,
23363 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXSB),
23364 MVT::f32, 3, 1, 2, 3,
23365 12, MVT::f128,
23366 OPC_CheckPatternPredicate1,
23367 OPC_EmitMergeInputChains1_0,
23368 OPC_EmitInteger32, 8,
23369 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXXB),
23370 MVT::f128, 3, 1, 2, 3,
23371 15, MVT::v2f64,
23372 OPC_CheckPatternPredicate1,
23373 OPC_EmitMergeInputChains1_0,
23374 OPC_EmitInteger32, 8,
23375 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMAXDB),
23376 MVT::v2f64, 3, 1, 2, 3,
23377 OPC_CompleteMatch, 1, 4,
23378
23379 15, MVT::v4f32,
23380 OPC_CheckPatternPredicate1,
23381 OPC_EmitMergeInputChains1_0,
23382 OPC_EmitInteger32, 8,
23383 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMAXSB),
23384 MVT::v4f32, 3, 1, 2, 3,
23385 OPC_CompleteMatch, 1, 4,
23386
23387 0,
23388 69, TARGET_VAL(ISD::FMAXNUM),
23389 OPC_RecordChild0,
23390 OPC_RecordChild1,
23391 OPC_SwitchType , 11, MVT::f64,
23392 OPC_CheckPatternPredicate1,
23393 OPC_EmitInteger32, 8,
23394 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXDB),
23395 MVT::f64, 3, 0, 1, 2,
23396 11, MVT::f32,
23397 OPC_CheckPatternPredicate1,
23398 OPC_EmitInteger32, 8,
23399 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXSB),
23400 MVT::f32, 3, 0, 1, 2,
23401 11, MVT::f128,
23402 OPC_CheckPatternPredicate1,
23403 OPC_EmitInteger32, 8,
23404 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXXB),
23405 MVT::f128, 3, 0, 1, 2,
23406 11, MVT::v2f64,
23407 OPC_CheckPatternPredicate1,
23408 OPC_EmitInteger32, 8,
23409 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXDB),
23410 MVT::v2f64, 3, 0, 1, 2,
23411 11, MVT::v4f32,
23412 OPC_CheckPatternPredicate1,
23413 OPC_EmitInteger32, 8,
23414 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXSB),
23415 MVT::v4f32, 3, 0, 1, 2,
23416 0,
23417 81, TARGET_VAL(ISD::STRICT_FMAXIMUM),
23418 OPC_RecordNode,
23419 OPC_RecordChild1,
23420 OPC_RecordChild2,
23421 OPC_SwitchType , 12, MVT::f64,
23422 OPC_CheckPatternPredicate1,
23423 OPC_EmitMergeInputChains1_0,
23424 OPC_EmitInteger32, 2,
23425 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXDB),
23426 MVT::f64, 3, 1, 2, 3,
23427 12, MVT::f32,
23428 OPC_CheckPatternPredicate1,
23429 OPC_EmitMergeInputChains1_0,
23430 OPC_EmitInteger32, 2,
23431 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXSB),
23432 MVT::f32, 3, 1, 2, 3,
23433 12, MVT::f128,
23434 OPC_CheckPatternPredicate1,
23435 OPC_EmitMergeInputChains1_0,
23436 OPC_EmitInteger32, 2,
23437 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMAXXB),
23438 MVT::f128, 3, 1, 2, 3,
23439 15, MVT::v2f64,
23440 OPC_CheckPatternPredicate1,
23441 OPC_EmitMergeInputChains1_0,
23442 OPC_EmitInteger32, 2,
23443 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMAXDB),
23444 MVT::v2f64, 3, 1, 2, 3,
23445 OPC_CompleteMatch, 1, 4,
23446
23447 15, MVT::v4f32,
23448 OPC_CheckPatternPredicate1,
23449 OPC_EmitMergeInputChains1_0,
23450 OPC_EmitInteger32, 2,
23451 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMAXSB),
23452 MVT::v4f32, 3, 1, 2, 3,
23453 OPC_CompleteMatch, 1, 4,
23454
23455 0,
23456 69, TARGET_VAL(ISD::FMAXIMUM),
23457 OPC_RecordChild0,
23458 OPC_RecordChild1,
23459 OPC_SwitchType , 11, MVT::f64,
23460 OPC_CheckPatternPredicate1,
23461 OPC_EmitInteger32, 2,
23462 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXDB),
23463 MVT::f64, 3, 0, 1, 2,
23464 11, MVT::f32,
23465 OPC_CheckPatternPredicate1,
23466 OPC_EmitInteger32, 2,
23467 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXSB),
23468 MVT::f32, 3, 0, 1, 2,
23469 11, MVT::f128,
23470 OPC_CheckPatternPredicate1,
23471 OPC_EmitInteger32, 2,
23472 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMAXXB),
23473 MVT::f128, 3, 0, 1, 2,
23474 11, MVT::v2f64,
23475 OPC_CheckPatternPredicate1,
23476 OPC_EmitInteger32, 2,
23477 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXDB),
23478 MVT::v2f64, 3, 0, 1, 2,
23479 11, MVT::v4f32,
23480 OPC_CheckPatternPredicate1,
23481 OPC_EmitInteger32, 2,
23482 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMAXSB),
23483 MVT::v4f32, 3, 0, 1, 2,
23484 0,
23485 81, TARGET_VAL(ISD::STRICT_FMINNUM),
23486 OPC_RecordNode,
23487 OPC_RecordChild1,
23488 OPC_RecordChild2,
23489 OPC_SwitchType , 12, MVT::f64,
23490 OPC_CheckPatternPredicate1,
23491 OPC_EmitMergeInputChains1_0,
23492 OPC_EmitInteger32, 8,
23493 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINDB),
23494 MVT::f64, 3, 1, 2, 3,
23495 12, MVT::f32,
23496 OPC_CheckPatternPredicate1,
23497 OPC_EmitMergeInputChains1_0,
23498 OPC_EmitInteger32, 8,
23499 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINSB),
23500 MVT::f32, 3, 1, 2, 3,
23501 12, MVT::f128,
23502 OPC_CheckPatternPredicate1,
23503 OPC_EmitMergeInputChains1_0,
23504 OPC_EmitInteger32, 8,
23505 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINXB),
23506 MVT::f128, 3, 1, 2, 3,
23507 15, MVT::v2f64,
23508 OPC_CheckPatternPredicate1,
23509 OPC_EmitMergeInputChains1_0,
23510 OPC_EmitInteger32, 8,
23511 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMINDB),
23512 MVT::v2f64, 3, 1, 2, 3,
23513 OPC_CompleteMatch, 1, 4,
23514
23515 15, MVT::v4f32,
23516 OPC_CheckPatternPredicate1,
23517 OPC_EmitMergeInputChains1_0,
23518 OPC_EmitInteger32, 8,
23519 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMINSB),
23520 MVT::v4f32, 3, 1, 2, 3,
23521 OPC_CompleteMatch, 1, 4,
23522
23523 0,
23524 69, TARGET_VAL(ISD::FMINNUM),
23525 OPC_RecordChild0,
23526 OPC_RecordChild1,
23527 OPC_SwitchType , 11, MVT::f64,
23528 OPC_CheckPatternPredicate1,
23529 OPC_EmitInteger32, 8,
23530 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINDB),
23531 MVT::f64, 3, 0, 1, 2,
23532 11, MVT::f32,
23533 OPC_CheckPatternPredicate1,
23534 OPC_EmitInteger32, 8,
23535 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINSB),
23536 MVT::f32, 3, 0, 1, 2,
23537 11, MVT::f128,
23538 OPC_CheckPatternPredicate1,
23539 OPC_EmitInteger32, 8,
23540 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINXB),
23541 MVT::f128, 3, 0, 1, 2,
23542 11, MVT::v2f64,
23543 OPC_CheckPatternPredicate1,
23544 OPC_EmitInteger32, 8,
23545 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINDB),
23546 MVT::v2f64, 3, 0, 1, 2,
23547 11, MVT::v4f32,
23548 OPC_CheckPatternPredicate1,
23549 OPC_EmitInteger32, 8,
23550 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINSB),
23551 MVT::v4f32, 3, 0, 1, 2,
23552 0,
23553 81, TARGET_VAL(ISD::STRICT_FMINIMUM),
23554 OPC_RecordNode,
23555 OPC_RecordChild1,
23556 OPC_RecordChild2,
23557 OPC_SwitchType , 12, MVT::f64,
23558 OPC_CheckPatternPredicate1,
23559 OPC_EmitMergeInputChains1_0,
23560 OPC_EmitInteger32, 2,
23561 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINDB),
23562 MVT::f64, 3, 1, 2, 3,
23563 12, MVT::f32,
23564 OPC_CheckPatternPredicate1,
23565 OPC_EmitMergeInputChains1_0,
23566 OPC_EmitInteger32, 2,
23567 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINSB),
23568 MVT::f32, 3, 1, 2, 3,
23569 12, MVT::f128,
23570 OPC_CheckPatternPredicate1,
23571 OPC_EmitMergeInputChains1_0,
23572 OPC_EmitInteger32, 2,
23573 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::WFMINXB),
23574 MVT::f128, 3, 1, 2, 3,
23575 15, MVT::v2f64,
23576 OPC_CheckPatternPredicate1,
23577 OPC_EmitMergeInputChains1_0,
23578 OPC_EmitInteger32, 2,
23579 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMINDB),
23580 MVT::v2f64, 3, 1, 2, 3,
23581 OPC_CompleteMatch, 1, 4,
23582
23583 15, MVT::v4f32,
23584 OPC_CheckPatternPredicate1,
23585 OPC_EmitMergeInputChains1_0,
23586 OPC_EmitInteger32, 2,
23587 OPC_EmitNode1None, TARGET_VAL(SystemZ::VFMINSB),
23588 MVT::v4f32, 3, 1, 2, 3,
23589 OPC_CompleteMatch, 1, 4,
23590
23591 0,
23592 69, TARGET_VAL(ISD::FMINIMUM),
23593 OPC_RecordChild0,
23594 OPC_RecordChild1,
23595 OPC_SwitchType , 11, MVT::f64,
23596 OPC_CheckPatternPredicate1,
23597 OPC_EmitInteger32, 2,
23598 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINDB),
23599 MVT::f64, 3, 0, 1, 2,
23600 11, MVT::f32,
23601 OPC_CheckPatternPredicate1,
23602 OPC_EmitInteger32, 2,
23603 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINSB),
23604 MVT::f32, 3, 0, 1, 2,
23605 11, MVT::f128,
23606 OPC_CheckPatternPredicate1,
23607 OPC_EmitInteger32, 2,
23608 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFMINXB),
23609 MVT::f128, 3, 0, 1, 2,
23610 11, MVT::v2f64,
23611 OPC_CheckPatternPredicate1,
23612 OPC_EmitInteger32, 2,
23613 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINDB),
23614 MVT::v2f64, 3, 0, 1, 2,
23615 11, MVT::v4f32,
23616 OPC_CheckPatternPredicate1,
23617 OPC_EmitInteger32, 2,
23618 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFMINSB),
23619 MVT::v4f32, 3, 0, 1, 2,
23620 0,
23621 79, TARGET_VAL(ISD::FABS),
23622 OPC_RecordChild0,
23623 OPC_SwitchType , 17, MVT::f64,
23624 OPC_Scope, 7,
23625 OPC_CheckPatternPredicate0,
23626 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLPDB),
23627 MVT::f64, 1, 0,
23628 6,
23629 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LPDFR),
23630 MVT::f64, 1, 0,
23631 0,
23632 17, MVT::f32,
23633 OPC_Scope, 7,
23634 OPC_CheckPatternPredicate1,
23635 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLPSB),
23636 MVT::f32, 1, 0,
23637 6,
23638 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::LPDFR_32),
23639 MVT::f32, 1, 0,
23640 0,
23641 18, MVT::f128,
23642 OPC_Scope, 7,
23643 OPC_CheckPatternPredicate1,
23644 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::WFLPXB),
23645 MVT::f128, 1, 0,
23646 7,
23647 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::LPXBR),
23648 MVT::f128, MVT::i32, 1, 0,
23649 0,
23650 7, MVT::v2f64,
23651 OPC_CheckPatternPredicate0,
23652 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLPDB),
23653 MVT::v2f64, 1, 0,
23654 7, MVT::v4f32,
23655 OPC_CheckPatternPredicate1,
23656 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFLPSB),
23657 MVT::v4f32, 1, 0,
23658 0,
23659 104, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
23660 OPC_RecordNode,
23661 OPC_RecordChild1,
23662 OPC_Scope, 30,
23663 OPC_CheckChild1TypeI32,
23664 OPC_SwitchType , 7, MVT::f32,
23665 OPC_EmitMergeInputChains1_0,
23666 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CEFBR),
23667 MVT::f32, 1, 1,
23668 7, MVT::f64,
23669 OPC_EmitMergeInputChains1_0,
23670 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDFBR),
23671 MVT::f64, 1, 1,
23672 7, MVT::f128,
23673 OPC_EmitMergeInputChains1_0,
23674 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXFBR),
23675 MVT::f128, 1, 1,
23676 0,
23677 30,
23678 OPC_CheckChild1TypeI64,
23679 OPC_SwitchType , 7, MVT::f32,
23680 OPC_EmitMergeInputChains1_0,
23681 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CEGBR),
23682 MVT::f32, 1, 1,
23683 7, MVT::f64,
23684 OPC_EmitMergeInputChains1_0,
23685 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDGBR),
23686 MVT::f64, 1, 1,
23687 7, MVT::f128,
23688 OPC_EmitMergeInputChains1_0,
23689 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXGBR),
23690 MVT::f128, 1, 1,
23691 0,
23692 18,
23693 OPC_CheckChild1Type, MVT::v2i64,
23694 OPC_CheckType, MVT::v2f64,
23695 OPC_CheckPatternPredicate0,
23696 OPC_EmitMergeInputChains1_0,
23697 OPC_EmitInteger32, 0,
23698 OPC_EmitInteger32, 0,
23699 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCDGB),
23700 MVT::v2f64, 3, 1, 2, 3,
23701 18,
23702 OPC_CheckChild1Type, MVT::v4i32,
23703 OPC_CheckType, MVT::v4f32,
23704 OPC_CheckPatternPredicate5,
23705 OPC_EmitMergeInputChains1_0,
23706 OPC_EmitInteger32, 0,
23707 OPC_EmitInteger32, 0,
23708 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCEFB),
23709 MVT::v4f32, 3, 1, 2, 3,
23710 0,
23711 95, TARGET_VAL(ISD::SINT_TO_FP),
23712 OPC_RecordChild0,
23713 OPC_Scope, 27,
23714 OPC_CheckChild0TypeI32,
23715 OPC_SwitchType , 6, MVT::f32,
23716 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CEFBR),
23717 MVT::f32, 1, 0,
23718 6, MVT::f64,
23719 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDFBR),
23720 MVT::f64, 1, 0,
23721 6, MVT::f128,
23722 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXFBR),
23723 MVT::f128, 1, 0,
23724 0,
23725 27,
23726 OPC_CheckChild0TypeI64,
23727 OPC_SwitchType , 6, MVT::f32,
23728 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CEGBR),
23729 MVT::f32, 1, 0,
23730 6, MVT::f64,
23731 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDGBR),
23732 MVT::f64, 1, 0,
23733 6, MVT::f128,
23734 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXGBR),
23735 MVT::f128, 1, 0,
23736 0,
23737 17,
23738 OPC_CheckChild0Type, MVT::v2i64,
23739 OPC_CheckType, MVT::v2f64,
23740 OPC_CheckPatternPredicate0,
23741 OPC_EmitInteger32, 0,
23742 OPC_EmitInteger32, 0,
23743 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCDGB),
23744 MVT::v2f64, 3, 0, 1, 2,
23745 17,
23746 OPC_CheckChild0Type, MVT::v4i32,
23747 OPC_CheckType, MVT::v4f32,
23748 OPC_CheckPatternPredicate5,
23749 OPC_EmitInteger32, 0,
23750 OPC_EmitInteger32, 0,
23751 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEFB),
23752 MVT::v4f32, 3, 0, 1, 2,
23753 0,
23754 18|128,1, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
23755 OPC_RecordNode,
23756 OPC_RecordChild1,
23757 OPC_Scope, 51,
23758 OPC_CheckChild1TypeI32,
23759 OPC_SwitchType , 14, MVT::f32,
23760 OPC_CheckPatternPredicate3,
23761 OPC_EmitMergeInputChains1_0,
23762 OPC_EmitInteger32, 0,
23763 OPC_EmitInteger32, 0,
23764 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CELFBR),
23765 MVT::f32, 3, 2, 1, 3,
23766 14, MVT::f64,
23767 OPC_CheckPatternPredicate3,
23768 OPC_EmitMergeInputChains1_0,
23769 OPC_EmitInteger32, 0,
23770 OPC_EmitInteger32, 0,
23771 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDLFBR),
23772 MVT::f64, 3, 2, 1, 3,
23773 14, MVT::f128,
23774 OPC_CheckPatternPredicate3,
23775 OPC_EmitMergeInputChains1_0,
23776 OPC_EmitInteger32, 0,
23777 OPC_EmitInteger32, 0,
23778 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXLFBR),
23779 MVT::f128, 3, 2, 1, 3,
23780 0,
23781 51,
23782 OPC_CheckChild1TypeI64,
23783 OPC_SwitchType , 14, MVT::f32,
23784 OPC_CheckPatternPredicate3,
23785 OPC_EmitMergeInputChains1_0,
23786 OPC_EmitInteger32, 0,
23787 OPC_EmitInteger32, 0,
23788 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CELGBR),
23789 MVT::f32, 3, 2, 1, 3,
23790 14, MVT::f64,
23791 OPC_CheckPatternPredicate3,
23792 OPC_EmitMergeInputChains1_0,
23793 OPC_EmitInteger32, 0,
23794 OPC_EmitInteger32, 0,
23795 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CDLGBR),
23796 MVT::f64, 3, 2, 1, 3,
23797 14, MVT::f128,
23798 OPC_CheckPatternPredicate3,
23799 OPC_EmitMergeInputChains1_0,
23800 OPC_EmitInteger32, 0,
23801 OPC_EmitInteger32, 0,
23802 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::CXLGBR),
23803 MVT::f128, 3, 2, 1, 3,
23804 0,
23805 18,
23806 OPC_CheckChild1Type, MVT::v2i64,
23807 OPC_CheckType, MVT::v2f64,
23808 OPC_CheckPatternPredicate0,
23809 OPC_EmitMergeInputChains1_0,
23810 OPC_EmitInteger32, 0,
23811 OPC_EmitInteger32, 0,
23812 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCDLGB),
23813 MVT::v2f64, 3, 1, 2, 3,
23814 18,
23815 OPC_CheckChild1Type, MVT::v4i32,
23816 OPC_CheckType, MVT::v4f32,
23817 OPC_CheckPatternPredicate5,
23818 OPC_EmitMergeInputChains1_0,
23819 OPC_EmitInteger32, 0,
23820 OPC_EmitInteger32, 0,
23821 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VCELFB),
23822 MVT::v4f32, 3, 1, 2, 3,
23823 0,
23824 9|128,1, TARGET_VAL(ISD::UINT_TO_FP),
23825 OPC_RecordChild0,
23826 OPC_Scope, 48,
23827 OPC_CheckChild0TypeI32,
23828 OPC_SwitchType , 13, MVT::f32,
23829 OPC_CheckPatternPredicate3,
23830 OPC_EmitInteger32, 0,
23831 OPC_EmitInteger32, 0,
23832 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CELFBR),
23833 MVT::f32, 3, 1, 0, 2,
23834 13, MVT::f64,
23835 OPC_CheckPatternPredicate3,
23836 OPC_EmitInteger32, 0,
23837 OPC_EmitInteger32, 0,
23838 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDLFBR),
23839 MVT::f64, 3, 1, 0, 2,
23840 13, MVT::f128,
23841 OPC_CheckPatternPredicate3,
23842 OPC_EmitInteger32, 0,
23843 OPC_EmitInteger32, 0,
23844 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXLFBR),
23845 MVT::f128, 3, 1, 0, 2,
23846 0,
23847 48,
23848 OPC_CheckChild0TypeI64,
23849 OPC_SwitchType , 13, MVT::f32,
23850 OPC_CheckPatternPredicate3,
23851 OPC_EmitInteger32, 0,
23852 OPC_EmitInteger32, 0,
23853 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CELGBR),
23854 MVT::f32, 3, 1, 0, 2,
23855 13, MVT::f64,
23856 OPC_CheckPatternPredicate3,
23857 OPC_EmitInteger32, 0,
23858 OPC_EmitInteger32, 0,
23859 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CDLGBR),
23860 MVT::f64, 3, 1, 0, 2,
23861 13, MVT::f128,
23862 OPC_CheckPatternPredicate3,
23863 OPC_EmitInteger32, 0,
23864 OPC_EmitInteger32, 0,
23865 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::CXLGBR),
23866 MVT::f128, 3, 1, 0, 2,
23867 0,
23868 17,
23869 OPC_CheckChild0Type, MVT::v2i64,
23870 OPC_CheckType, MVT::v2f64,
23871 OPC_CheckPatternPredicate0,
23872 OPC_EmitInteger32, 0,
23873 OPC_EmitInteger32, 0,
23874 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCDLGB),
23875 MVT::v2f64, 3, 0, 1, 2,
23876 17,
23877 OPC_CheckChild0Type, MVT::v4i32,
23878 OPC_CheckType, MVT::v4f32,
23879 OPC_CheckPatternPredicate5,
23880 OPC_EmitInteger32, 0,
23881 OPC_EmitInteger32, 0,
23882 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCELFB),
23883 MVT::v4f32, 3, 0, 1, 2,
23884 0,
23885 95|128,2, TARGET_VAL(SystemZISD::MERGE_HIGH),
23886 OPC_Scope, 79|128,1,
23887 OPC_MoveChild0,
23888 OPC_SwitchOpcode , 99, TARGET_VAL(ISD::BITCAST),
23889 OPC_MoveChild0,
23890 OPC_CheckOpcode, TARGET_VAL(SystemZISD::MERGE_HIGH),
23891 OPC_MoveChild0,
23892 OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
23893 OPC_MoveChild0,
23894 OPC_SwitchOpcode , 42, TARGET_VAL(ISD::LOAD),
23895 OPC_RecordMemRef,
23896 OPC_RecordNode,
23897 OPC_CheckFoldableChainNode,
23898 OPC_RecordChild1,
23899 OPC_CheckChild1TypeI64,
23900 OPC_CheckPredicate0,
23901 OPC_CheckPredicate3,
23902 OPC_CheckPredicate1,
23903 OPC_CheckType, MVT::f32,
23904 OPC_MoveParent,
23905 OPC_MoveSibling1,
23906 OPC_CheckImmAllZerosV,
23907 OPC_MoveParent,
23908 OPC_CheckType, MVT::v4f32,
23909 OPC_MoveParent,
23910 OPC_MoveSibling1,
23911 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23912 OPC_MoveChild0,
23913 OPC_CheckImmAllZerosV,
23914 OPC_CheckType, MVT::v4f32,
23915 OPC_MoveParent,
23916 OPC_MoveParent,
23917 OPC_CheckType, MVT::v2i64,
23918 OPC_CheckPatternPredicate1,
23919 OPC_CheckComplexPat0, /*#*/1,
23920 OPC_EmitMergeInputChains1_0,
23921 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZLF), 0|OPFL_Chain|OPFL_MemRefs,
23922 MVT::v2i64, 3, 2, 3, 4,
23923 40, TARGET_VAL(ISD::ATOMIC_LOAD),
23924 OPC_RecordMemRef,
23925 OPC_RecordNode,
23926 OPC_CheckFoldableChainNode,
23927 OPC_RecordChild1,
23928 OPC_CheckChild1TypeI64,
23929 OPC_CheckPredicate1,
23930 OPC_CheckType, MVT::f32,
23931 OPC_MoveParent,
23932 OPC_MoveSibling1,
23933 OPC_CheckImmAllZerosV,
23934 OPC_MoveParent,
23935 OPC_CheckType, MVT::v4f32,
23936 OPC_MoveParent,
23937 OPC_MoveSibling1,
23938 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23939 OPC_MoveChild0,
23940 OPC_CheckImmAllZerosV,
23941 OPC_CheckType, MVT::v4f32,
23942 OPC_MoveParent,
23943 OPC_MoveParent,
23944 OPC_CheckType, MVT::v2i64,
23945 OPC_CheckPatternPredicate1,
23946 OPC_CheckComplexPat0, /*#*/1,
23947 OPC_EmitMergeInputChains1_0,
23948 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZLF), 0|OPFL_Chain|OPFL_MemRefs,
23949 MVT::v2i64, 3, 2, 3, 4,
23950 0,
23951 99, TARGET_VAL(SystemZISD::UNPACKL_HIGH),
23952 OPC_MoveChild0,
23953 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23954 OPC_MoveChild0,
23955 OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
23956 OPC_MoveChild0,
23957 OPC_SwitchOpcode , 42, TARGET_VAL(ISD::LOAD),
23958 OPC_RecordMemRef,
23959 OPC_RecordNode,
23960 OPC_CheckFoldableChainNode,
23961 OPC_RecordChild1,
23962 OPC_CheckChild1TypeI64,
23963 OPC_CheckPredicate0,
23964 OPC_CheckPredicate3,
23965 OPC_CheckPredicate1,
23966 OPC_CheckType, MVT::f32,
23967 OPC_MoveParent,
23968 OPC_CheckType, MVT::v4f32,
23969 OPC_MoveParent,
23970 OPC_CheckType, MVT::v4i32,
23971 OPC_MoveParent,
23972 OPC_MoveSibling1,
23973 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23974 OPC_MoveChild0,
23975 OPC_CheckImmAllZerosV,
23976 OPC_CheckType, MVT::v4f32,
23977 OPC_MoveParent,
23978 OPC_MoveParent,
23979 OPC_CheckType, MVT::v2i64,
23980 OPC_CheckPatternPredicate0,
23981 OPC_CheckComplexPat0, /*#*/1,
23982 OPC_EmitMergeInputChains1_0,
23983 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZF), 0|OPFL_Chain|OPFL_MemRefs,
23984 MVT::v2i64, 3, 2, 3, 4,
23985 40, TARGET_VAL(ISD::ATOMIC_LOAD),
23986 OPC_RecordMemRef,
23987 OPC_RecordNode,
23988 OPC_CheckFoldableChainNode,
23989 OPC_RecordChild1,
23990 OPC_CheckChild1TypeI64,
23991 OPC_CheckPredicate1,
23992 OPC_CheckType, MVT::f32,
23993 OPC_MoveParent,
23994 OPC_CheckType, MVT::v4f32,
23995 OPC_MoveParent,
23996 OPC_CheckType, MVT::v4i32,
23997 OPC_MoveParent,
23998 OPC_MoveSibling1,
23999 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
24000 OPC_MoveChild0,
24001 OPC_CheckImmAllZerosV,
24002 OPC_CheckType, MVT::v4f32,
24003 OPC_MoveParent,
24004 OPC_MoveParent,
24005 OPC_CheckType, MVT::v2i64,
24006 OPC_CheckPatternPredicate0,
24007 OPC_CheckComplexPat0, /*#*/1,
24008 OPC_EmitMergeInputChains1_0,
24009 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZF), 0|OPFL_Chain|OPFL_MemRefs,
24010 MVT::v2i64, 3, 2, 3, 4,
24011 0,
24012 0,
24013 44,
24014 OPC_RecordChild0,
24015 OPC_RecordChild1,
24016 OPC_SwitchType , 8, MVT::v16i8,
24017 OPC_CheckPatternPredicate0,
24018 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHB),
24019 MVT::v16i8, 2, 0, 1,
24020 8, MVT::v8i16,
24021 OPC_CheckPatternPredicate0,
24022 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHH),
24023 MVT::v8i16, 2, 0, 1,
24024 8, MVT::v4i32,
24025 OPC_CheckPatternPredicate0,
24026 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHF),
24027 MVT::v4i32, 2, 0, 1,
24028 8, MVT::v2i64,
24029 OPC_CheckPatternPredicate0,
24030 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHG),
24031 MVT::v2i64, 2, 0, 1,
24032 0,
24033 69,
24034 OPC_MoveChild0,
24035 OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
24036 OPC_MoveChild0,
24037 OPC_SwitchOpcode , 29, TARGET_VAL(ISD::LOAD),
24038 OPC_RecordMemRef,
24039 OPC_RecordNode,
24040 OPC_CheckFoldableChainNode,
24041 OPC_RecordChild1,
24042 OPC_CheckChild1TypeI64,
24043 OPC_CheckPredicate0,
24044 OPC_CheckPredicate3,
24045 OPC_CheckPredicate1,
24046 OPC_CheckType, MVT::f64,
24047 OPC_MoveParent,
24048 OPC_MoveSibling1,
24049 OPC_CheckImmAllZerosV,
24050 OPC_MoveParent,
24051 OPC_CheckType, MVT::v2f64,
24052 OPC_CheckPatternPredicate0,
24053 OPC_CheckComplexPat0, /*#*/1,
24054 OPC_EmitMergeInputChains1_0,
24055 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
24056 MVT::v2f64, 3, 2, 3, 4,
24057 27, TARGET_VAL(ISD::ATOMIC_LOAD),
24058 OPC_RecordMemRef,
24059 OPC_RecordNode,
24060 OPC_CheckFoldableChainNode,
24061 OPC_RecordChild1,
24062 OPC_CheckChild1TypeI64,
24063 OPC_CheckPredicate1,
24064 OPC_CheckType, MVT::f64,
24065 OPC_MoveParent,
24066 OPC_MoveSibling1,
24067 OPC_CheckImmAllZerosV,
24068 OPC_MoveParent,
24069 OPC_CheckType, MVT::v2f64,
24070 OPC_CheckPatternPredicate0,
24071 OPC_CheckComplexPat0, /*#*/1,
24072 OPC_EmitMergeInputChains1_0,
24073 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
24074 MVT::v2f64, 3, 2, 3, 4,
24075 0,
24076 24,
24077 OPC_RecordChild0,
24078 OPC_RecordChild1,
24079 OPC_SwitchType , 8, MVT::v4f32,
24080 OPC_CheckPatternPredicate0,
24081 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHF),
24082 MVT::v4f32, 2, 0, 1,
24083 8, MVT::v2f64,
24084 OPC_CheckPatternPredicate0,
24085 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRHG),
24086 MVT::v2f64, 2, 0, 1,
24087 0,
24088 0,
24089 94|128,1, TARGET_VAL(SystemZISD::JOIN_DWORDS),
24090 OPC_Scope, 79|128,1,
24091 OPC_MoveChild0,
24092 OPC_SwitchOpcode , 89, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
24093 OPC_MoveChild0,
24094 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
24095 OPC_MoveChild0,
24096 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
24097 OPC_RecordChild0,
24098 OPC_Scope, 38,
24099 OPC_CheckChild0Type, MVT::v16i8,
24100 OPC_CheckChild1Integer, 14,
24101 OPC_MoveParent,
24102 OPC_MoveSibling1,
24103 OPC_CheckValueType, MVT::i8,
24104 OPC_MoveParent,
24105 OPC_MoveSibling1,
24106 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
24107 OPC_MoveChild0,
24108 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
24109 OPC_MoveChild0,
24110 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
24111 OPC_CheckChild0Same, 0,
24112 OPC_CheckChild1Integer, 30,
24113 OPC_MoveParent,
24114 OPC_MoveSibling1,
24115 OPC_CheckValueType, MVT::i8,
24116 OPC_MoveParent,
24117 OPC_MoveParent,
24118 OPC_CheckPatternPredicate0,
24119 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGB),
24120 MVT::v2i64, 1, 0,
24121 38,
24122 OPC_CheckChild0Type, MVT::v8i16,
24123 OPC_CheckChild1Integer, 6,
24124 OPC_MoveParent,
24125 OPC_MoveSibling1,
24126 OPC_CheckValueType, MVT::i16,
24127 OPC_MoveParent,
24128 OPC_MoveSibling1,
24129 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
24130 OPC_MoveChild0,
24131 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
24132 OPC_MoveChild0,
24133 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
24134 OPC_CheckChild0Same, 0,
24135 OPC_CheckChild1Integer, 14,
24136 OPC_MoveParent,
24137 OPC_MoveSibling1,
24138 OPC_CheckValueType, MVT::i16,
24139 OPC_MoveParent,
24140 OPC_MoveParent,
24141 OPC_CheckPatternPredicate0,
24142 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGH),
24143 MVT::v2i64, 1, 0,
24144 0,
24145 31, TARGET_VAL(ISD::SIGN_EXTEND),
24146 OPC_MoveChild0,
24147 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
24148 OPC_RecordChild0,
24149 OPC_CheckChild0Type, MVT::v4i32,
24150 OPC_CheckChild1Integer, 2,
24151 OPC_MoveParent,
24152 OPC_MoveSibling1,
24153 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
24154 OPC_MoveChild0,
24155 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
24156 OPC_CheckChild0Same, 0,
24157 OPC_CheckChild1Integer, 6,
24158 OPC_MoveParent,
24159 OPC_MoveParent,
24160 OPC_CheckPatternPredicate0,
24161 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGF),
24162 MVT::v2i64, 1, 0,
24163 24, TARGET_VAL(ISD::LOAD),
24164 OPC_RecordMemRef,
24165 OPC_RecordNode,
24166 OPC_CheckFoldableChainNode,
24167 OPC_RecordChild1,
24168 OPC_CheckChild1TypeI64,
24169 OPC_CheckPredicate0,
24170 OPC_CheckPredicate3,
24171 OPC_CheckPredicate1,
24172 OPC_MoveParent,
24173 OPC_CheckChild1Integer, 0,
24174 OPC_CheckPatternPredicate0,
24175 OPC_CheckComplexPat0, /*#*/1,
24176 OPC_EmitMergeInputChains1_0,
24177 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
24178 MVT::v2i64, 3, 2, 3, 4,
24179 22, TARGET_VAL(ISD::ATOMIC_LOAD),
24180 OPC_RecordMemRef,
24181 OPC_RecordNode,
24182 OPC_CheckFoldableChainNode,
24183 OPC_RecordChild1,
24184 OPC_CheckChild1TypeI64,
24185 OPC_CheckPredicate1,
24186 OPC_MoveParent,
24187 OPC_CheckChild1Integer, 0,
24188 OPC_CheckPatternPredicate0,
24189 OPC_CheckComplexPat0, /*#*/1,
24190 OPC_EmitMergeInputChains1_0,
24191 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
24192 MVT::v2i64, 3, 2, 3, 4,
24193 23, TARGET_VAL(SystemZISD::LRV),
24194 OPC_RecordMemRef,
24195 OPC_RecordNode,
24196 OPC_CheckFoldableChainNode,
24197 OPC_RecordChild1,
24198 OPC_CheckChild1TypeI64,
24199 OPC_CheckPredicate, 48,
24200 OPC_MoveParent,
24201 OPC_CheckChild1Integer, 0,
24202 OPC_CheckPatternPredicate5,
24203 OPC_CheckComplexPat0, /*#*/1,
24204 OPC_EmitMergeInputChains1_0,
24205 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZG), 0|OPFL_Chain|OPFL_MemRefs,
24206 MVT::v2i64, 3, 2, 3, 4,
24207 0,
24208 10,
24209 OPC_RecordChild0,
24210 OPC_RecordChild1,
24211 OPC_CheckPatternPredicate0,
24212 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
24213 MVT::v2i64, 2, 0, 1,
24214 0,
24215 22|128,11, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
24216 OPC_Scope, 36|128,4,
24217 OPC_MoveChild0,
24218 OPC_Scope, 85|128,2,
24219 OPC_CheckImmAllZerosV,
24220 OPC_MoveSibling1,
24221 OPC_SwitchOpcode , 118, TARGET_VAL(ISD::LOAD),
24222 OPC_RecordMemRef,
24223 OPC_RecordNode,
24224 OPC_CheckFoldableChainNode,
24225 OPC_RecordChild1,
24226 OPC_CheckChild1TypeI64,
24227 OPC_CheckPredicate0,
24228 OPC_Scope, 45,
24229 OPC_CheckPredicate, 23,
24230 OPC_CheckTypeI32,
24231 OPC_Scope, 19,
24232 OPC_CheckPredicate7,
24233 OPC_MoveParent,
24234 OPC_CheckChild2Integer, 14,
24235 OPC_CheckType, MVT::v16i8,
24236 OPC_CheckPatternPredicate0,
24237 OPC_CheckComplexPat0, /*#*/1,
24238 OPC_EmitMergeInputChains1_0,
24239 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZB), 0|OPFL_Chain|OPFL_MemRefs,
24240 MVT::v16i8, 3, 2, 3, 4,
24241 19,
24242 OPC_CheckPredicate6,
24243 OPC_MoveParent,
24244 OPC_CheckChild2Integer, 6,
24245 OPC_CheckType, MVT::v8i16,
24246 OPC_CheckPatternPredicate0,
24247 OPC_CheckComplexPat0, /*#*/1,
24248 OPC_EmitMergeInputChains1_0,
24249 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZH), 0|OPFL_Chain|OPFL_MemRefs,
24250 MVT::v8i16, 3, 2, 3, 4,
24251 0,
24252 63,
24253 OPC_CheckPredicate3,
24254 OPC_CheckPredicate1,
24255 OPC_SwitchType , 37, MVT::i32,
24256 OPC_MoveParent,
24257 OPC_CheckType, MVT::v4i32,
24258 OPC_Scope, 15,
24259 OPC_CheckChild2Integer, 2,
24260 OPC_CheckPatternPredicate0,
24261 OPC_CheckComplexPat0, /*#*/1,
24262 OPC_EmitMergeInputChains1_0,
24263 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZF), 0|OPFL_Chain|OPFL_MemRefs,
24264 MVT::v4i32, 3, 2, 3, 4,
24265 15,
24266 OPC_CheckChild2Integer, 0,
24267 OPC_CheckPatternPredicate1,
24268 OPC_CheckComplexPat0, /*#*/1,
24269 OPC_EmitMergeInputChains1_0,
24270 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZLF), 0|OPFL_Chain|OPFL_MemRefs,
24271 MVT::v4i32, 3, 2, 3, 4,
24272 0,
24273 18, MVT::i64,
24274 OPC_MoveParent,
24275 OPC_CheckChild2Integer, 0,
24276 OPC_CheckType, MVT::v2i64,
24277 OPC_CheckPatternPredicate0,
24278 OPC_CheckComplexPat0, /*#*/1,
24279 OPC_EmitMergeInputChains1_0,
24280 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
24281 MVT::v2i64, 3, 2, 3, 4,
24282 0,
24283 0,
24284 116, TARGET_VAL(ISD::ATOMIC_LOAD),
24285 OPC_RecordMemRef,
24286 OPC_RecordNode,
24287 OPC_CheckFoldableChainNode,
24288 OPC_RecordChild1,
24289 OPC_CheckChild1TypeI64,
24290 OPC_Scope, 45,
24291 OPC_CheckPredicate, 23,
24292 OPC_CheckTypeI32,
24293 OPC_Scope, 19,
24294 OPC_CheckPredicate7,
24295 OPC_MoveParent,
24296 OPC_CheckChild2Integer, 14,
24297 OPC_CheckType, MVT::v16i8,
24298 OPC_CheckPatternPredicate0,
24299 OPC_CheckComplexPat0, /*#*/1,
24300 OPC_EmitMergeInputChains1_0,
24301 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZB), 0|OPFL_Chain|OPFL_MemRefs,
24302 MVT::v16i8, 3, 2, 3, 4,
24303 19,
24304 OPC_CheckPredicate6,
24305 OPC_MoveParent,
24306 OPC_CheckChild2Integer, 6,
24307 OPC_CheckType, MVT::v8i16,
24308 OPC_CheckPatternPredicate0,
24309 OPC_CheckComplexPat0, /*#*/1,
24310 OPC_EmitMergeInputChains1_0,
24311 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZH), 0|OPFL_Chain|OPFL_MemRefs,
24312 MVT::v8i16, 3, 2, 3, 4,
24313 0,
24314 62,
24315 OPC_CheckPredicate1,
24316 OPC_SwitchType , 37, MVT::i32,
24317 OPC_MoveParent,
24318 OPC_CheckType, MVT::v4i32,
24319 OPC_Scope, 15,
24320 OPC_CheckChild2Integer, 2,
24321 OPC_CheckPatternPredicate0,
24322 OPC_CheckComplexPat0, /*#*/1,
24323 OPC_EmitMergeInputChains1_0,
24324 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZF), 0|OPFL_Chain|OPFL_MemRefs,
24325 MVT::v4i32, 3, 2, 3, 4,
24326 15,
24327 OPC_CheckChild2Integer, 0,
24328 OPC_CheckPatternPredicate1,
24329 OPC_CheckComplexPat0, /*#*/1,
24330 OPC_EmitMergeInputChains1_0,
24331 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZLF), 0|OPFL_Chain|OPFL_MemRefs,
24332 MVT::v4i32, 3, 2, 3, 4,
24333 0,
24334 18, MVT::i64,
24335 OPC_MoveParent,
24336 OPC_CheckChild2Integer, 0,
24337 OPC_CheckType, MVT::v2i64,
24338 OPC_CheckPatternPredicate0,
24339 OPC_CheckComplexPat0, /*#*/1,
24340 OPC_EmitMergeInputChains1_0,
24341 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEZG), 0|OPFL_Chain|OPFL_MemRefs,
24342 MVT::v2i64, 3, 2, 3, 4,
24343 0,
24344 0,
24345 94, TARGET_VAL(SystemZISD::LRV),
24346 OPC_RecordMemRef,
24347 OPC_RecordNode,
24348 OPC_CheckFoldableChainNode,
24349 OPC_RecordChild1,
24350 OPC_CheckChild1TypeI64,
24351 OPC_SwitchType , 63, MVT::i32,
24352 OPC_Scope, 20,
24353 OPC_CheckPredicate, 53,
24354 OPC_MoveParent,
24355 OPC_CheckChild2Integer, 6,
24356 OPC_CheckType, MVT::v8i16,
24357 OPC_CheckPatternPredicate5,
24358 OPC_CheckComplexPat0, /*#*/1,
24359 OPC_EmitMergeInputChains1_0,
24360 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZH), 0|OPFL_Chain|OPFL_MemRefs,
24361 MVT::v8i16, 3, 2, 3, 4,
24362 39,
24363 OPC_CheckPredicate, 54,
24364 OPC_MoveParent,
24365 OPC_CheckType, MVT::v4i32,
24366 OPC_Scope, 15,
24367 OPC_CheckChild2Integer, 2,
24368 OPC_CheckPatternPredicate5,
24369 OPC_CheckComplexPat0, /*#*/1,
24370 OPC_EmitMergeInputChains1_0,
24371 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZF), 0|OPFL_Chain|OPFL_MemRefs,
24372 MVT::v4i32, 3, 2, 3, 4,
24373 15,
24374 OPC_CheckChild2Integer, 0,
24375 OPC_CheckPatternPredicate5,
24376 OPC_CheckComplexPat0, /*#*/1,
24377 OPC_EmitMergeInputChains1_0,
24378 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZE), 0|OPFL_Chain|OPFL_MemRefs,
24379 MVT::v4i32, 3, 2, 3, 4,
24380 0,
24381 0,
24382 20, MVT::i64,
24383 OPC_CheckPredicate, 48,
24384 OPC_MoveParent,
24385 OPC_CheckChild2Integer, 0,
24386 OPC_CheckType, MVT::v2i64,
24387 OPC_CheckPatternPredicate5,
24388 OPC_CheckComplexPat0, /*#*/1,
24389 OPC_EmitMergeInputChains1_0,
24390 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLLEBRZG), 0|OPFL_Chain|OPFL_MemRefs,
24391 MVT::v2i64, 3, 2, 3, 4,
24392 0,
24393 0,
24394 72|128,1,
24395 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
24396 OPC_MoveSibling1,
24397 OPC_SwitchOpcode , 95, TARGET_VAL(ISD::LOAD),
24398 OPC_RecordMemRef,
24399 OPC_RecordNode,
24400 OPC_CheckFoldableChainNode,
24401 OPC_RecordChild1,
24402 OPC_CheckChild1TypeI64,
24403 OPC_CheckPredicate0,
24404 OPC_Scope, 43,
24405 OPC_CheckPredicate, 23,
24406 OPC_CheckTypeI32,
24407 OPC_Scope, 18,
24408 OPC_CheckPredicate7,
24409 OPC_MoveParent,
24410 OPC_CheckChild2Integer, 0,
24411 OPC_CheckType, MVT::v16i8,
24412 OPC_CheckComplexPat0, /*#*/1,
24413 OPC_EmitMergeInputChains1_0,
24414 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
24415 MVT::v16i8, 3, 2, 3, 4,
24416 18,
24417 OPC_CheckPredicate6,
24418 OPC_MoveParent,
24419 OPC_CheckChild2Integer, 0,
24420 OPC_CheckType, MVT::v8i16,
24421 OPC_CheckComplexPat0, /*#*/1,
24422 OPC_EmitMergeInputChains1_0,
24423 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
24424 MVT::v8i16, 3, 2, 3, 4,
24425 0,
24426 42,
24427 OPC_CheckPredicate3,
24428 OPC_CheckPredicate1,
24429 OPC_SwitchType , 17, MVT::i32,
24430 OPC_MoveParent,
24431 OPC_CheckChild2Integer, 0,
24432 OPC_CheckType, MVT::v4i32,
24433 OPC_CheckComplexPat0, /*#*/1,
24434 OPC_EmitMergeInputChains1_0,
24435 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
24436 MVT::v4i32, 3, 2, 3, 4,
24437 17, MVT::i64,
24438 OPC_MoveParent,
24439 OPC_CheckChild2Integer, 0,
24440 OPC_CheckType, MVT::v2i64,
24441 OPC_CheckComplexPat0, /*#*/1,
24442 OPC_EmitMergeInputChains1_0,
24443 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
24444 MVT::v2i64, 3, 2, 3, 4,
24445 0,
24446 0,
24447 93, TARGET_VAL(ISD::ATOMIC_LOAD),
24448 OPC_RecordMemRef,
24449 OPC_RecordNode,
24450 OPC_CheckFoldableChainNode,
24451 OPC_RecordChild1,
24452 OPC_CheckChild1TypeI64,
24453 OPC_Scope, 43,
24454 OPC_CheckPredicate, 23,
24455 OPC_CheckTypeI32,
24456 OPC_Scope, 18,
24457 OPC_CheckPredicate7,
24458 OPC_MoveParent,
24459 OPC_CheckChild2Integer, 0,
24460 OPC_CheckType, MVT::v16i8,
24461 OPC_CheckComplexPat0, /*#*/1,
24462 OPC_EmitMergeInputChains1_0,
24463 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
24464 MVT::v16i8, 3, 2, 3, 4,
24465 18,
24466 OPC_CheckPredicate6,
24467 OPC_MoveParent,
24468 OPC_CheckChild2Integer, 0,
24469 OPC_CheckType, MVT::v8i16,
24470 OPC_CheckComplexPat0, /*#*/1,
24471 OPC_EmitMergeInputChains1_0,
24472 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
24473 MVT::v8i16, 3, 2, 3, 4,
24474 0,
24475 41,
24476 OPC_CheckPredicate1,
24477 OPC_SwitchType , 17, MVT::i32,
24478 OPC_MoveParent,
24479 OPC_CheckChild2Integer, 0,
24480 OPC_CheckType, MVT::v4i32,
24481 OPC_CheckComplexPat0, /*#*/1,
24482 OPC_EmitMergeInputChains1_0,
24483 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
24484 MVT::v4i32, 3, 2, 3, 4,
24485 17, MVT::i64,
24486 OPC_MoveParent,
24487 OPC_CheckChild2Integer, 0,
24488 OPC_CheckType, MVT::v2i64,
24489 OPC_CheckComplexPat0, /*#*/1,
24490 OPC_EmitMergeInputChains1_0,
24491 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
24492 MVT::v2i64, 3, 2, 3, 4,
24493 0,
24494 0,
24495 0,
24496 0,
24497 46|128,4,
24498 OPC_RecordChild0,
24499 OPC_Scope, 115|128,2,
24500 OPC_MoveChild1,
24501 OPC_SwitchOpcode , 2|128,1, TARGET_VAL(ISD::LOAD),
24502 OPC_RecordMemRef,
24503 OPC_RecordNode,
24504 OPC_CheckFoldableChainNode,
24505 OPC_RecordChild1,
24506 OPC_CheckChild1TypeI64,
24507 OPC_CheckPredicate0,
24508 OPC_Scope, 60,
24509 OPC_CheckPredicate, 23,
24510 OPC_CheckTypeI32,
24511 OPC_Scope, 26,
24512 OPC_CheckPredicate7,
24513 OPC_MoveSibling2,
24514 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24515 OPC_RecordNode,
24516 OPC_CheckPredicate4,
24517 OPC_MoveParent,
24518 OPC_CheckType, MVT::v16i8,
24519 OPC_CheckPatternPredicate0,
24520 OPC_CheckComplexPat0, /*#*/2,
24521 OPC_EmitMergeInputChains1_1,
24522 OPC_EmitConvertToTarget3,
24523 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEB), 0|OPFL_Chain|OPFL_MemRefs,
24524 MVT::v16i8, 5, 0, 4, 5, 6, 7,
24525 27,
24526 OPC_CheckPredicate6,
24527 OPC_MoveSibling2,
24528 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24529 OPC_RecordNode,
24530 OPC_CheckPredicate, 51,
24531 OPC_MoveParent,
24532 OPC_CheckType, MVT::v8i16,
24533 OPC_CheckPatternPredicate0,
24534 OPC_CheckComplexPat0, /*#*/2,
24535 OPC_EmitMergeInputChains1_1,
24536 OPC_EmitConvertToTarget3,
24537 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEH), 0|OPFL_Chain|OPFL_MemRefs,
24538 MVT::v8i16, 5, 0, 4, 5, 6, 7,
24539 0,
24540 60,
24541 OPC_CheckPredicate3,
24542 OPC_CheckPredicate1,
24543 OPC_SwitchType , 26, MVT::i32,
24544 OPC_MoveSibling2,
24545 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24546 OPC_RecordNode,
24547 OPC_CheckPredicate, 36,
24548 OPC_MoveParent,
24549 OPC_CheckType, MVT::v4i32,
24550 OPC_CheckPatternPredicate0,
24551 OPC_CheckComplexPat0, /*#*/2,
24552 OPC_EmitMergeInputChains1_1,
24553 OPC_EmitConvertToTarget3,
24554 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
24555 MVT::v4i32, 5, 0, 4, 5, 6, 7,
24556 26, MVT::i64,
24557 OPC_MoveSibling2,
24558 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24559 OPC_RecordNode,
24560 OPC_CheckPredicate, 37,
24561 OPC_MoveParent,
24562 OPC_CheckType, MVT::v2i64,
24563 OPC_CheckPatternPredicate0,
24564 OPC_CheckComplexPat0, /*#*/2,
24565 OPC_EmitMergeInputChains1_1,
24566 OPC_EmitConvertToTarget3,
24567 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
24568 MVT::v2i64, 5, 0, 4, 5, 6, 7,
24569 0,
24570 0,
24571 0|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
24572 OPC_RecordMemRef,
24573 OPC_RecordNode,
24574 OPC_CheckFoldableChainNode,
24575 OPC_RecordChild1,
24576 OPC_CheckChild1TypeI64,
24577 OPC_Scope, 60,
24578 OPC_CheckPredicate, 23,
24579 OPC_CheckTypeI32,
24580 OPC_Scope, 26,
24581 OPC_CheckPredicate7,
24582 OPC_MoveSibling2,
24583 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24584 OPC_RecordNode,
24585 OPC_CheckPredicate4,
24586 OPC_MoveParent,
24587 OPC_CheckType, MVT::v16i8,
24588 OPC_CheckPatternPredicate0,
24589 OPC_CheckComplexPat0, /*#*/2,
24590 OPC_EmitMergeInputChains1_1,
24591 OPC_EmitConvertToTarget3,
24592 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEB), 0|OPFL_Chain|OPFL_MemRefs,
24593 MVT::v16i8, 5, 0, 4, 5, 6, 7,
24594 27,
24595 OPC_CheckPredicate6,
24596 OPC_MoveSibling2,
24597 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24598 OPC_RecordNode,
24599 OPC_CheckPredicate, 51,
24600 OPC_MoveParent,
24601 OPC_CheckType, MVT::v8i16,
24602 OPC_CheckPatternPredicate0,
24603 OPC_CheckComplexPat0, /*#*/2,
24604 OPC_EmitMergeInputChains1_1,
24605 OPC_EmitConvertToTarget3,
24606 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEH), 0|OPFL_Chain|OPFL_MemRefs,
24607 MVT::v8i16, 5, 0, 4, 5, 6, 7,
24608 0,
24609 59,
24610 OPC_CheckPredicate1,
24611 OPC_SwitchType , 26, MVT::i32,
24612 OPC_MoveSibling2,
24613 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24614 OPC_RecordNode,
24615 OPC_CheckPredicate, 36,
24616 OPC_MoveParent,
24617 OPC_CheckType, MVT::v4i32,
24618 OPC_CheckPatternPredicate0,
24619 OPC_CheckComplexPat0, /*#*/2,
24620 OPC_EmitMergeInputChains1_1,
24621 OPC_EmitConvertToTarget3,
24622 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
24623 MVT::v4i32, 5, 0, 4, 5, 6, 7,
24624 26, MVT::i64,
24625 OPC_MoveSibling2,
24626 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24627 OPC_RecordNode,
24628 OPC_CheckPredicate, 37,
24629 OPC_MoveParent,
24630 OPC_CheckType, MVT::v2i64,
24631 OPC_CheckPatternPredicate0,
24632 OPC_CheckComplexPat0, /*#*/2,
24633 OPC_EmitMergeInputChains1_1,
24634 OPC_EmitConvertToTarget3,
24635 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
24636 MVT::v2i64, 5, 0, 4, 5, 6, 7,
24637 0,
24638 0,
24639 99, TARGET_VAL(SystemZISD::LRV),
24640 OPC_RecordMemRef,
24641 OPC_RecordNode,
24642 OPC_CheckFoldableChainNode,
24643 OPC_RecordChild1,
24644 OPC_CheckChild1TypeI64,
24645 OPC_SwitchType , 60, MVT::i32,
24646 OPC_Scope, 28,
24647 OPC_CheckPredicate, 53,
24648 OPC_MoveSibling2,
24649 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24650 OPC_RecordNode,
24651 OPC_CheckPredicate, 51,
24652 OPC_MoveParent,
24653 OPC_CheckType, MVT::v8i16,
24654 OPC_CheckPatternPredicate5,
24655 OPC_CheckComplexPat0, /*#*/2,
24656 OPC_EmitMergeInputChains1_1,
24657 OPC_EmitConvertToTarget3,
24658 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEBRH), 0|OPFL_Chain|OPFL_MemRefs,
24659 MVT::v8i16, 5, 0, 4, 5, 6, 7,
24660 28,
24661 OPC_CheckPredicate, 54,
24662 OPC_MoveSibling2,
24663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24664 OPC_RecordNode,
24665 OPC_CheckPredicate, 36,
24666 OPC_MoveParent,
24667 OPC_CheckType, MVT::v4i32,
24668 OPC_CheckPatternPredicate5,
24669 OPC_CheckComplexPat0, /*#*/2,
24670 OPC_EmitMergeInputChains1_1,
24671 OPC_EmitConvertToTarget3,
24672 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEBRF), 0|OPFL_Chain|OPFL_MemRefs,
24673 MVT::v4i32, 5, 0, 4, 5, 6, 7,
24674 0,
24675 28, MVT::i64,
24676 OPC_CheckPredicate, 48,
24677 OPC_MoveSibling2,
24678 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24679 OPC_RecordNode,
24680 OPC_CheckPredicate, 37,
24681 OPC_MoveParent,
24682 OPC_CheckType, MVT::v2i64,
24683 OPC_CheckPatternPredicate5,
24684 OPC_CheckComplexPat0, /*#*/2,
24685 OPC_EmitMergeInputChains1_1,
24686 OPC_EmitConvertToTarget3,
24687 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEBRG), 0|OPFL_Chain|OPFL_MemRefs,
24688 MVT::v2i64, 5, 0, 4, 5, 6, 7,
24689 0,
24690 0,
24691 52|128,1,
24692 OPC_RecordChild1,
24693 OPC_Scope, 112,
24694 OPC_MoveChild1,
24695 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24696 OPC_SwitchType , 76, MVT::i32,
24697 OPC_Scope, 26,
24698 OPC_CheckPredicate, 20,
24699 OPC_MoveSibling2,
24700 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24701 OPC_RecordNode,
24702 OPC_CheckPredicate, 36,
24703 OPC_MoveParent,
24704 OPC_CheckType, MVT::v4i32,
24705 OPC_CheckPatternPredicate0,
24706 OPC_EmitConvertToTarget1,
24707 OPC_EmitNodeXForm, 2, 3,
24708 OPC_EmitConvertToTarget2,
24709 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEIF),
24710 MVT::v4i32, 3, 0, 4, 5,
24711 46,
24712 OPC_MoveSibling2,
24713 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24714 OPC_RecordNode,
24715 OPC_Scope, 18,
24716 OPC_CheckPredicate4,
24717 OPC_MoveParent,
24718 OPC_CheckType, MVT::v16i8,
24719 OPC_CheckPatternPredicate0,
24720 OPC_EmitConvertToTarget1,
24721 OPC_EmitNodeXForm, 2, 3,
24722 OPC_EmitConvertToTarget2,
24723 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEIB),
24724 MVT::v16i8, 3, 0, 4, 5,
24725 19,
24726 OPC_CheckPredicate, 51,
24727 OPC_MoveParent,
24728 OPC_CheckType, MVT::v8i16,
24729 OPC_CheckPatternPredicate0,
24730 OPC_EmitConvertToTarget1,
24731 OPC_EmitNodeXForm, 2, 3,
24732 OPC_EmitConvertToTarget2,
24733 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEIH),
24734 MVT::v8i16, 3, 0, 4, 5,
24735 0,
24736 0,
24737 26, MVT::i64,
24738 OPC_CheckPredicate, 20,
24739 OPC_MoveSibling2,
24740 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24741 OPC_RecordNode,
24742 OPC_CheckPredicate, 37,
24743 OPC_MoveParent,
24744 OPC_CheckType, MVT::v2i64,
24745 OPC_CheckPatternPredicate0,
24746 OPC_EmitConvertToTarget1,
24747 OPC_EmitNodeXForm, 2, 3,
24748 OPC_EmitConvertToTarget2,
24749 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEIG),
24750 MVT::v2i64, 3, 0, 4, 5,
24751 0,
24752 46,
24753 OPC_CheckChild1TypeI32,
24754 OPC_RecordChild2,
24755 OPC_SwitchType , 12, MVT::v16i8,
24756 OPC_CheckPatternPredicate0,
24757 OPC_CheckComplexPat7, /*#*/2,
24758 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGB),
24759 MVT::v16i8, 4, 0, 1, 3, 4,
24760 12, MVT::v8i16,
24761 OPC_CheckPatternPredicate0,
24762 OPC_CheckComplexPat7, /*#*/2,
24763 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGH),
24764 MVT::v8i16, 4, 0, 1, 3, 4,
24765 12, MVT::v4i32,
24766 OPC_CheckPatternPredicate0,
24767 OPC_CheckComplexPat7, /*#*/2,
24768 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGF),
24769 MVT::v4i32, 4, 0, 1, 3, 4,
24770 0,
24771 16,
24772 OPC_CheckChild1TypeI64,
24773 OPC_RecordChild2,
24774 OPC_CheckType, MVT::v2i64,
24775 OPC_CheckPatternPredicate0,
24776 OPC_CheckComplexPat7, /*#*/2,
24777 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGG),
24778 MVT::v2i64, 4, 0, 1, 3, 4,
24779 0,
24780 0,
24781 107,
24782 OPC_MoveChild0,
24783 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
24784 OPC_MoveSibling1,
24785 OPC_SwitchOpcode , 48, TARGET_VAL(ISD::LOAD),
24786 OPC_RecordMemRef,
24787 OPC_RecordNode,
24788 OPC_CheckFoldableChainNode,
24789 OPC_RecordChild1,
24790 OPC_CheckChild1TypeI64,
24791 OPC_CheckPredicate0,
24792 OPC_CheckPredicate3,
24793 OPC_CheckPredicate1,
24794 OPC_SwitchType , 17, MVT::f32,
24795 OPC_MoveParent,
24796 OPC_CheckChild2Integer, 0,
24797 OPC_CheckType, MVT::v4f32,
24798 OPC_CheckComplexPat0, /*#*/1,
24799 OPC_EmitMergeInputChains1_0,
24800 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
24801 MVT::v4f32, 3, 2, 3, 4,
24802 17, MVT::f64,
24803 OPC_MoveParent,
24804 OPC_CheckChild2Integer, 0,
24805 OPC_CheckType, MVT::v2f64,
24806 OPC_CheckComplexPat0, /*#*/1,
24807 OPC_EmitMergeInputChains1_0,
24808 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
24809 MVT::v2f64, 3, 2, 3, 4,
24810 0,
24811 46, TARGET_VAL(ISD::ATOMIC_LOAD),
24812 OPC_RecordMemRef,
24813 OPC_RecordNode,
24814 OPC_CheckFoldableChainNode,
24815 OPC_RecordChild1,
24816 OPC_CheckChild1TypeI64,
24817 OPC_CheckPredicate1,
24818 OPC_SwitchType , 17, MVT::f32,
24819 OPC_MoveParent,
24820 OPC_CheckChild2Integer, 0,
24821 OPC_CheckType, MVT::v4f32,
24822 OPC_CheckComplexPat0, /*#*/1,
24823 OPC_EmitMergeInputChains1_0,
24824 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
24825 MVT::v4f32, 3, 2, 3, 4,
24826 17, MVT::f64,
24827 OPC_MoveParent,
24828 OPC_CheckChild2Integer, 0,
24829 OPC_CheckType, MVT::v2f64,
24830 OPC_CheckComplexPat0, /*#*/1,
24831 OPC_EmitMergeInputChains1_0,
24832 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
24833 MVT::v2f64, 3, 2, 3, 4,
24834 0,
24835 0,
24836 80|128,1,
24837 OPC_RecordChild0,
24838 OPC_Scope, 11|128,1,
24839 OPC_MoveChild1,
24840 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::LOAD),
24841 OPC_RecordMemRef,
24842 OPC_RecordNode,
24843 OPC_CheckFoldableChainNode,
24844 OPC_RecordChild1,
24845 OPC_CheckChild1TypeI64,
24846 OPC_CheckPredicate0,
24847 OPC_CheckPredicate3,
24848 OPC_CheckPredicate1,
24849 OPC_SwitchType , 26, MVT::f32,
24850 OPC_MoveSibling2,
24851 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24852 OPC_RecordNode,
24853 OPC_CheckPredicate, 36,
24854 OPC_MoveParent,
24855 OPC_CheckType, MVT::v4f32,
24856 OPC_CheckPatternPredicate0,
24857 OPC_CheckComplexPat0, /*#*/2,
24858 OPC_EmitMergeInputChains1_1,
24859 OPC_EmitConvertToTarget3,
24860 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
24861 MVT::v4f32, 5, 0, 4, 5, 6, 7,
24862 26, MVT::f64,
24863 OPC_MoveSibling2,
24864 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24865 OPC_RecordNode,
24866 OPC_CheckPredicate, 37,
24867 OPC_MoveParent,
24868 OPC_CheckType, MVT::v2f64,
24869 OPC_CheckPatternPredicate0,
24870 OPC_CheckComplexPat0, /*#*/2,
24871 OPC_EmitMergeInputChains1_1,
24872 OPC_EmitConvertToTarget3,
24873 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
24874 MVT::v2f64, 5, 0, 4, 5, 6, 7,
24875 0,
24876 64, TARGET_VAL(ISD::ATOMIC_LOAD),
24877 OPC_RecordMemRef,
24878 OPC_RecordNode,
24879 OPC_CheckFoldableChainNode,
24880 OPC_RecordChild1,
24881 OPC_CheckChild1TypeI64,
24882 OPC_CheckPredicate1,
24883 OPC_SwitchType , 26, MVT::f32,
24884 OPC_MoveSibling2,
24885 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24886 OPC_RecordNode,
24887 OPC_CheckPredicate, 36,
24888 OPC_MoveParent,
24889 OPC_CheckType, MVT::v4f32,
24890 OPC_CheckPatternPredicate0,
24891 OPC_CheckComplexPat0, /*#*/2,
24892 OPC_EmitMergeInputChains1_1,
24893 OPC_EmitConvertToTarget3,
24894 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEF), 0|OPFL_Chain|OPFL_MemRefs,
24895 MVT::v4f32, 5, 0, 4, 5, 6, 7,
24896 26, MVT::f64,
24897 OPC_MoveSibling2,
24898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24899 OPC_RecordNode,
24900 OPC_CheckPredicate, 37,
24901 OPC_MoveParent,
24902 OPC_CheckType, MVT::v2f64,
24903 OPC_CheckPatternPredicate0,
24904 OPC_CheckComplexPat0, /*#*/2,
24905 OPC_EmitMergeInputChains1_1,
24906 OPC_EmitConvertToTarget3,
24907 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLEG), 0|OPFL_Chain|OPFL_MemRefs,
24908 MVT::v2f64, 5, 0, 4, 5, 6, 7,
24909 0,
24910 0,
24911 63,
24912 OPC_RecordChild1,
24913 OPC_CheckChild1Type, MVT::f64,
24914 OPC_CheckType, MVT::v2f64,
24915 OPC_Scope, 27,
24916 OPC_CheckChild2Integer, 0,
24917 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
24918 MVT::v2f64, 0,
24919 OPC_EmitStringInteger32, SystemZ::subreg_h64,
24920 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
24921 MVT::v2f64, 3, 2, 1, 3,
24922 OPC_EmitInteger32, 2,
24923 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPDI),
24924 MVT::v2f64, 3, 4, 0, 5,
24925 27,
24926 OPC_CheckChild2Integer, 2,
24927 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
24928 MVT::v2f64, 0,
24929 OPC_EmitStringInteger32, SystemZ::subreg_h64,
24930 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
24931 MVT::v2f64, 3, 2, 1, 3,
24932 OPC_EmitInteger32, 0,
24933 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPDI),
24934 MVT::v2f64, 3, 0, 4, 5,
24935 0,
24936 0,
24937 0,
24938 100|128,10, TARGET_VAL(ISD::VSELECT),
24939 OPC_Scope, 85|128,9,
24940 OPC_MoveChild0,
24941 OPC_SwitchOpcode , 30|128,5, TARGET_VAL(ISD::XOR),
24942 OPC_Scope, 81|128,4,
24943 OPC_MoveChild0,
24944 OPC_SwitchOpcode , 57|128,3, TARGET_VAL(SystemZISD::VICMPH),
24945 OPC_Scope, 35,
24946 OPC_RecordChild0,
24947 OPC_MoveChild1,
24948 OPC_CheckImmAllZerosV,
24949 OPC_MoveParent,
24950 OPC_MoveSibling1,
24951 OPC_CheckImmAllOnesV,
24952 OPC_MoveParent,
24953 OPC_MoveParent,
24954 OPC_CheckChild1Same, 0,
24955 OPC_MoveChild2,
24956 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
24957 OPC_MoveChild0,
24958 OPC_CheckImmAllZerosV,
24959 OPC_MoveParent,
24960 OPC_CheckChild1Same, 0,
24961 OPC_MoveParent,
24962 OPC_CheckType, MVT::v16i8,
24963 OPC_CheckPatternPredicate0,
24964 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
24965 MVT::i128, 1, 0,
24966 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
24967 MVT::v16i8, 1, 1,
24968 34,
24969 OPC_MoveChild0,
24970 OPC_CheckImmAllZerosV,
24971 OPC_MoveParent,
24972 OPC_RecordChild1,
24973 OPC_MoveSibling1,
24974 OPC_CheckImmAllOnesV,
24975 OPC_MoveParent,
24976 OPC_MoveSibling1,
24977 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
24978 OPC_MoveChild0,
24979 OPC_CheckImmAllZerosV,
24980 OPC_MoveParent,
24981 OPC_CheckChild1Same, 0,
24982 OPC_MoveParent,
24983 OPC_CheckChild2Same, 0,
24984 OPC_CheckType, MVT::v16i8,
24985 OPC_CheckPatternPredicate0,
24986 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
24987 MVT::i128, 1, 0,
24988 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
24989 MVT::v16i8, 1, 1,
24990 37,
24991 OPC_RecordChild0,
24992 OPC_MoveChild1,
24993 OPC_CheckImmAllZerosV,
24994 OPC_MoveParent,
24995 OPC_MoveSibling1,
24996 OPC_CheckImmAllOnesV,
24997 OPC_MoveParent,
24998 OPC_CheckType, MVT::v8i16,
24999 OPC_MoveParent,
25000 OPC_CheckChild1Same, 0,
25001 OPC_MoveChild2,
25002 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25003 OPC_MoveChild0,
25004 OPC_CheckImmAllZerosV,
25005 OPC_MoveParent,
25006 OPC_CheckChild1Same, 0,
25007 OPC_MoveParent,
25008 OPC_CheckType, MVT::v8i16,
25009 OPC_CheckPatternPredicate0,
25010 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
25011 MVT::i128, 1, 0,
25012 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
25013 MVT::v8i16, 1, 1,
25014 36,
25015 OPC_MoveChild0,
25016 OPC_CheckImmAllZerosV,
25017 OPC_MoveParent,
25018 OPC_RecordChild1,
25019 OPC_MoveSibling1,
25020 OPC_CheckImmAllOnesV,
25021 OPC_MoveParent,
25022 OPC_CheckType, MVT::v8i16,
25023 OPC_MoveSibling1,
25024 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25025 OPC_MoveChild0,
25026 OPC_CheckImmAllZerosV,
25027 OPC_MoveParent,
25028 OPC_CheckChild1Same, 0,
25029 OPC_MoveParent,
25030 OPC_CheckChild2Same, 0,
25031 OPC_CheckType, MVT::v8i16,
25032 OPC_CheckPatternPredicate0,
25033 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
25034 MVT::i128, 1, 0,
25035 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
25036 MVT::v8i16, 1, 1,
25037 37,
25038 OPC_RecordChild0,
25039 OPC_MoveChild1,
25040 OPC_CheckImmAllZerosV,
25041 OPC_MoveParent,
25042 OPC_MoveSibling1,
25043 OPC_CheckImmAllOnesV,
25044 OPC_MoveParent,
25045 OPC_CheckType, MVT::v4i32,
25046 OPC_MoveParent,
25047 OPC_CheckChild1Same, 0,
25048 OPC_MoveChild2,
25049 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25050 OPC_MoveChild0,
25051 OPC_CheckImmAllZerosV,
25052 OPC_MoveParent,
25053 OPC_CheckChild1Same, 0,
25054 OPC_MoveParent,
25055 OPC_CheckType, MVT::v4i32,
25056 OPC_CheckPatternPredicate0,
25057 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
25058 MVT::i128, 1, 0,
25059 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
25060 MVT::v4i32, 1, 1,
25061 36,
25062 OPC_MoveChild0,
25063 OPC_CheckImmAllZerosV,
25064 OPC_MoveParent,
25065 OPC_RecordChild1,
25066 OPC_MoveSibling1,
25067 OPC_CheckImmAllOnesV,
25068 OPC_MoveParent,
25069 OPC_CheckType, MVT::v4i32,
25070 OPC_MoveSibling1,
25071 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25072 OPC_MoveChild0,
25073 OPC_CheckImmAllZerosV,
25074 OPC_MoveParent,
25075 OPC_CheckChild1Same, 0,
25076 OPC_MoveParent,
25077 OPC_CheckChild2Same, 0,
25078 OPC_CheckType, MVT::v4i32,
25079 OPC_CheckPatternPredicate0,
25080 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
25081 MVT::i128, 1, 0,
25082 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
25083 MVT::v4i32, 1, 1,
25084 37,
25085 OPC_RecordChild0,
25086 OPC_MoveChild1,
25087 OPC_CheckImmAllZerosV,
25088 OPC_MoveParent,
25089 OPC_MoveSibling1,
25090 OPC_CheckImmAllOnesV,
25091 OPC_MoveParent,
25092 OPC_CheckType, MVT::v2i64,
25093 OPC_MoveParent,
25094 OPC_CheckChild1Same, 0,
25095 OPC_MoveChild2,
25096 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25097 OPC_MoveChild0,
25098 OPC_CheckImmAllZerosV,
25099 OPC_MoveParent,
25100 OPC_CheckChild1Same, 0,
25101 OPC_MoveParent,
25102 OPC_CheckType, MVT::v2i64,
25103 OPC_CheckPatternPredicate0,
25104 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
25105 MVT::i128, 1, 0,
25106 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
25107 MVT::v2i64, 1, 1,
25108 36,
25109 OPC_MoveChild0,
25110 OPC_CheckImmAllZerosV,
25111 OPC_MoveParent,
25112 OPC_RecordChild1,
25113 OPC_MoveSibling1,
25114 OPC_CheckImmAllOnesV,
25115 OPC_MoveParent,
25116 OPC_CheckType, MVT::v2i64,
25117 OPC_MoveSibling1,
25118 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25119 OPC_MoveChild0,
25120 OPC_CheckImmAllZerosV,
25121 OPC_MoveParent,
25122 OPC_CheckChild1Same, 0,
25123 OPC_MoveParent,
25124 OPC_CheckChild2Same, 0,
25125 OPC_CheckType, MVT::v2i64,
25126 OPC_CheckPatternPredicate0,
25127 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
25128 MVT::i128, 1, 0,
25129 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
25130 MVT::v2i64, 1, 1,
25131 13|128,1,
25132 OPC_RecordChild0,
25133 OPC_RecordChild1,
25134 OPC_MoveSibling1,
25135 OPC_CheckImmAllOnesV,
25136 OPC_MoveParent,
25137 OPC_Scope, 31,
25138 OPC_MoveParent,
25139 OPC_CheckType, MVT::v16i8,
25140 OPC_Scope, 12,
25141 OPC_CheckChild1Same, 0,
25142 OPC_CheckChild2Same, 1,
25143 OPC_CheckPatternPredicate0,
25144 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNB),
25145 MVT::v16i8, 2, 0, 1,
25146 12,
25147 OPC_CheckChild1Same, 1,
25148 OPC_CheckChild2Same, 0,
25149 OPC_CheckPatternPredicate0,
25150 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXB),
25151 MVT::v16i8, 2, 0, 1,
25152 0,
25153 33,
25154 OPC_CheckType, MVT::v8i16,
25155 OPC_MoveParent,
25156 OPC_CheckType, MVT::v8i16,
25157 OPC_Scope, 12,
25158 OPC_CheckChild1Same, 0,
25159 OPC_CheckChild2Same, 1,
25160 OPC_CheckPatternPredicate0,
25161 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNH),
25162 MVT::v8i16, 2, 0, 1,
25163 12,
25164 OPC_CheckChild1Same, 1,
25165 OPC_CheckChild2Same, 0,
25166 OPC_CheckPatternPredicate0,
25167 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXH),
25168 MVT::v8i16, 2, 0, 1,
25169 0,
25170 33,
25171 OPC_CheckType, MVT::v4i32,
25172 OPC_MoveParent,
25173 OPC_CheckType, MVT::v4i32,
25174 OPC_Scope, 12,
25175 OPC_CheckChild1Same, 0,
25176 OPC_CheckChild2Same, 1,
25177 OPC_CheckPatternPredicate0,
25178 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNF),
25179 MVT::v4i32, 2, 0, 1,
25180 12,
25181 OPC_CheckChild1Same, 1,
25182 OPC_CheckChild2Same, 0,
25183 OPC_CheckPatternPredicate0,
25184 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXF),
25185 MVT::v4i32, 2, 0, 1,
25186 0,
25187 33,
25188 OPC_CheckType, MVT::v2i64,
25189 OPC_MoveParent,
25190 OPC_CheckType, MVT::v2i64,
25191 OPC_Scope, 12,
25192 OPC_CheckChild1Same, 0,
25193 OPC_CheckChild2Same, 1,
25194 OPC_CheckPatternPredicate0,
25195 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNG),
25196 MVT::v2i64, 2, 0, 1,
25197 12,
25198 OPC_CheckChild1Same, 1,
25199 OPC_CheckChild2Same, 0,
25200 OPC_CheckPatternPredicate0,
25201 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXG),
25202 MVT::v2i64, 2, 0, 1,
25203 0,
25204 0,
25205 0,
25206 13|128,1, TARGET_VAL(SystemZISD::VICMPHL),
25207 OPC_RecordChild0,
25208 OPC_RecordChild1,
25209 OPC_MoveSibling1,
25210 OPC_CheckImmAllOnesV,
25211 OPC_MoveParent,
25212 OPC_Scope, 31,
25213 OPC_MoveParent,
25214 OPC_CheckType, MVT::v16i8,
25215 OPC_Scope, 12,
25216 OPC_CheckChild1Same, 0,
25217 OPC_CheckChild2Same, 1,
25218 OPC_CheckPatternPredicate0,
25219 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLB),
25220 MVT::v16i8, 2, 0, 1,
25221 12,
25222 OPC_CheckChild1Same, 1,
25223 OPC_CheckChild2Same, 0,
25224 OPC_CheckPatternPredicate0,
25225 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLB),
25226 MVT::v16i8, 2, 0, 1,
25227 0,
25228 33,
25229 OPC_CheckType, MVT::v8i16,
25230 OPC_MoveParent,
25231 OPC_CheckType, MVT::v8i16,
25232 OPC_Scope, 12,
25233 OPC_CheckChild1Same, 0,
25234 OPC_CheckChild2Same, 1,
25235 OPC_CheckPatternPredicate0,
25236 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLH),
25237 MVT::v8i16, 2, 0, 1,
25238 12,
25239 OPC_CheckChild1Same, 1,
25240 OPC_CheckChild2Same, 0,
25241 OPC_CheckPatternPredicate0,
25242 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLH),
25243 MVT::v8i16, 2, 0, 1,
25244 0,
25245 33,
25246 OPC_CheckType, MVT::v4i32,
25247 OPC_MoveParent,
25248 OPC_CheckType, MVT::v4i32,
25249 OPC_Scope, 12,
25250 OPC_CheckChild1Same, 0,
25251 OPC_CheckChild2Same, 1,
25252 OPC_CheckPatternPredicate0,
25253 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLF),
25254 MVT::v4i32, 2, 0, 1,
25255 12,
25256 OPC_CheckChild1Same, 1,
25257 OPC_CheckChild2Same, 0,
25258 OPC_CheckPatternPredicate0,
25259 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLF),
25260 MVT::v4i32, 2, 0, 1,
25261 0,
25262 33,
25263 OPC_CheckType, MVT::v2i64,
25264 OPC_MoveParent,
25265 OPC_CheckType, MVT::v2i64,
25266 OPC_Scope, 12,
25267 OPC_CheckChild1Same, 0,
25268 OPC_CheckChild2Same, 1,
25269 OPC_CheckPatternPredicate0,
25270 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLG),
25271 MVT::v2i64, 2, 0, 1,
25272 12,
25273 OPC_CheckChild1Same, 1,
25274 OPC_CheckChild2Same, 0,
25275 OPC_CheckPatternPredicate0,
25276 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLG),
25277 MVT::v2i64, 2, 0, 1,
25278 0,
25279 0,
25280 0,
25281 72,
25282 OPC_RecordChild0,
25283 OPC_MoveChild1,
25284 OPC_CheckImmAllOnesV,
25285 OPC_MoveParent,
25286 OPC_Scope, 14,
25287 OPC_MoveParent,
25288 OPC_RecordChild1,
25289 OPC_RecordChild2,
25290 OPC_CheckType, MVT::v16i8,
25291 OPC_CheckPatternPredicate0,
25292 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25293 MVT::v16i8, 3, 2, 1, 0,
25294 16,
25295 OPC_CheckType, MVT::v8i16,
25296 OPC_MoveParent,
25297 OPC_RecordChild1,
25298 OPC_RecordChild2,
25299 OPC_CheckType, MVT::v8i16,
25300 OPC_CheckPatternPredicate0,
25301 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25302 MVT::v8i16, 3, 2, 1, 0,
25303 16,
25304 OPC_CheckType, MVT::v4i32,
25305 OPC_MoveParent,
25306 OPC_RecordChild1,
25307 OPC_RecordChild2,
25308 OPC_CheckType, MVT::v4i32,
25309 OPC_CheckPatternPredicate0,
25310 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25311 MVT::v4i32, 3, 2, 1, 0,
25312 16,
25313 OPC_CheckType, MVT::v2i64,
25314 OPC_MoveParent,
25315 OPC_RecordChild1,
25316 OPC_RecordChild2,
25317 OPC_CheckType, MVT::v2i64,
25318 OPC_CheckPatternPredicate0,
25319 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25320 MVT::v2i64, 3, 2, 1, 0,
25321 0,
25322 0,
25323 30|128,3, TARGET_VAL(SystemZISD::VICMPH),
25324 OPC_Scope, 31,
25325 OPC_RecordChild0,
25326 OPC_MoveChild1,
25327 OPC_CheckImmAllZerosV,
25328 OPC_MoveParent,
25329 OPC_MoveSibling1,
25330 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25331 OPC_MoveChild0,
25332 OPC_CheckImmAllZerosV,
25333 OPC_MoveParent,
25334 OPC_CheckChild1Same, 0,
25335 OPC_MoveParent,
25336 OPC_CheckChild2Same, 0,
25337 OPC_CheckType, MVT::v16i8,
25338 OPC_CheckPatternPredicate0,
25339 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
25340 MVT::i128, 1, 0,
25341 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
25342 MVT::v16i8, 1, 1,
25343 32,
25344 OPC_MoveChild0,
25345 OPC_CheckImmAllZerosV,
25346 OPC_MoveParent,
25347 OPC_RecordChild1,
25348 OPC_MoveParent,
25349 OPC_CheckChild1Same, 0,
25350 OPC_MoveChild2,
25351 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25352 OPC_MoveChild0,
25353 OPC_CheckImmAllZerosV,
25354 OPC_MoveParent,
25355 OPC_CheckChild1Same, 0,
25356 OPC_MoveParent,
25357 OPC_CheckType, MVT::v16i8,
25358 OPC_CheckPatternPredicate0,
25359 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPB),
25360 MVT::i128, 1, 0,
25361 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCB),
25362 MVT::v16i8, 1, 1,
25363 33,
25364 OPC_RecordChild0,
25365 OPC_MoveChild1,
25366 OPC_CheckImmAllZerosV,
25367 OPC_MoveParent,
25368 OPC_CheckType, MVT::v8i16,
25369 OPC_MoveSibling1,
25370 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25371 OPC_MoveChild0,
25372 OPC_CheckImmAllZerosV,
25373 OPC_MoveParent,
25374 OPC_CheckChild1Same, 0,
25375 OPC_MoveParent,
25376 OPC_CheckChild2Same, 0,
25377 OPC_CheckType, MVT::v8i16,
25378 OPC_CheckPatternPredicate0,
25379 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
25380 MVT::i128, 1, 0,
25381 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
25382 MVT::v8i16, 1, 1,
25383 34,
25384 OPC_MoveChild0,
25385 OPC_CheckImmAllZerosV,
25386 OPC_MoveParent,
25387 OPC_RecordChild1,
25388 OPC_CheckType, MVT::v8i16,
25389 OPC_MoveParent,
25390 OPC_CheckChild1Same, 0,
25391 OPC_MoveChild2,
25392 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25393 OPC_MoveChild0,
25394 OPC_CheckImmAllZerosV,
25395 OPC_MoveParent,
25396 OPC_CheckChild1Same, 0,
25397 OPC_MoveParent,
25398 OPC_CheckType, MVT::v8i16,
25399 OPC_CheckPatternPredicate0,
25400 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPH),
25401 MVT::i128, 1, 0,
25402 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCH),
25403 MVT::v8i16, 1, 1,
25404 33,
25405 OPC_RecordChild0,
25406 OPC_MoveChild1,
25407 OPC_CheckImmAllZerosV,
25408 OPC_MoveParent,
25409 OPC_CheckType, MVT::v4i32,
25410 OPC_MoveSibling1,
25411 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25412 OPC_MoveChild0,
25413 OPC_CheckImmAllZerosV,
25414 OPC_MoveParent,
25415 OPC_CheckChild1Same, 0,
25416 OPC_MoveParent,
25417 OPC_CheckChild2Same, 0,
25418 OPC_CheckType, MVT::v4i32,
25419 OPC_CheckPatternPredicate0,
25420 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
25421 MVT::i128, 1, 0,
25422 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
25423 MVT::v4i32, 1, 1,
25424 34,
25425 OPC_MoveChild0,
25426 OPC_CheckImmAllZerosV,
25427 OPC_MoveParent,
25428 OPC_RecordChild1,
25429 OPC_CheckType, MVT::v4i32,
25430 OPC_MoveParent,
25431 OPC_CheckChild1Same, 0,
25432 OPC_MoveChild2,
25433 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25434 OPC_MoveChild0,
25435 OPC_CheckImmAllZerosV,
25436 OPC_MoveParent,
25437 OPC_CheckChild1Same, 0,
25438 OPC_MoveParent,
25439 OPC_CheckType, MVT::v4i32,
25440 OPC_CheckPatternPredicate0,
25441 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPF),
25442 MVT::i128, 1, 0,
25443 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCF),
25444 MVT::v4i32, 1, 1,
25445 33,
25446 OPC_RecordChild0,
25447 OPC_MoveChild1,
25448 OPC_CheckImmAllZerosV,
25449 OPC_MoveParent,
25450 OPC_CheckType, MVT::v2i64,
25451 OPC_MoveSibling1,
25452 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25453 OPC_MoveChild0,
25454 OPC_CheckImmAllZerosV,
25455 OPC_MoveParent,
25456 OPC_CheckChild1Same, 0,
25457 OPC_MoveParent,
25458 OPC_CheckChild2Same, 0,
25459 OPC_CheckType, MVT::v2i64,
25460 OPC_CheckPatternPredicate0,
25461 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
25462 MVT::i128, 1, 0,
25463 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
25464 MVT::v2i64, 1, 1,
25465 34,
25466 OPC_MoveChild0,
25467 OPC_CheckImmAllZerosV,
25468 OPC_MoveParent,
25469 OPC_RecordChild1,
25470 OPC_CheckType, MVT::v2i64,
25471 OPC_MoveParent,
25472 OPC_CheckChild1Same, 0,
25473 OPC_MoveChild2,
25474 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
25475 OPC_MoveChild0,
25476 OPC_CheckImmAllZerosV,
25477 OPC_MoveParent,
25478 OPC_CheckChild1Same, 0,
25479 OPC_MoveParent,
25480 OPC_CheckType, MVT::v2i64,
25481 OPC_CheckPatternPredicate0,
25482 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLPG),
25483 MVT::i128, 1, 0,
25484 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLCG),
25485 MVT::v2i64, 1, 1,
25486 10|128,1,
25487 OPC_RecordChild0,
25488 OPC_RecordChild1,
25489 OPC_Scope, 31,
25490 OPC_MoveParent,
25491 OPC_CheckType, MVT::v16i8,
25492 OPC_Scope, 12,
25493 OPC_CheckChild1Same, 0,
25494 OPC_CheckChild2Same, 1,
25495 OPC_CheckPatternPredicate0,
25496 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXB),
25497 MVT::v16i8, 2, 0, 1,
25498 12,
25499 OPC_CheckChild1Same, 1,
25500 OPC_CheckChild2Same, 0,
25501 OPC_CheckPatternPredicate0,
25502 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNB),
25503 MVT::v16i8, 2, 0, 1,
25504 0,
25505 33,
25506 OPC_CheckType, MVT::v8i16,
25507 OPC_MoveParent,
25508 OPC_CheckType, MVT::v8i16,
25509 OPC_Scope, 12,
25510 OPC_CheckChild1Same, 0,
25511 OPC_CheckChild2Same, 1,
25512 OPC_CheckPatternPredicate0,
25513 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXH),
25514 MVT::v8i16, 2, 0, 1,
25515 12,
25516 OPC_CheckChild1Same, 1,
25517 OPC_CheckChild2Same, 0,
25518 OPC_CheckPatternPredicate0,
25519 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNH),
25520 MVT::v8i16, 2, 0, 1,
25521 0,
25522 33,
25523 OPC_CheckType, MVT::v4i32,
25524 OPC_MoveParent,
25525 OPC_CheckType, MVT::v4i32,
25526 OPC_Scope, 12,
25527 OPC_CheckChild1Same, 0,
25528 OPC_CheckChild2Same, 1,
25529 OPC_CheckPatternPredicate0,
25530 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXF),
25531 MVT::v4i32, 2, 0, 1,
25532 12,
25533 OPC_CheckChild1Same, 1,
25534 OPC_CheckChild2Same, 0,
25535 OPC_CheckPatternPredicate0,
25536 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNF),
25537 MVT::v4i32, 2, 0, 1,
25538 0,
25539 33,
25540 OPC_CheckType, MVT::v2i64,
25541 OPC_MoveParent,
25542 OPC_CheckType, MVT::v2i64,
25543 OPC_Scope, 12,
25544 OPC_CheckChild1Same, 0,
25545 OPC_CheckChild2Same, 1,
25546 OPC_CheckPatternPredicate0,
25547 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXG),
25548 MVT::v2i64, 2, 0, 1,
25549 12,
25550 OPC_CheckChild1Same, 1,
25551 OPC_CheckChild2Same, 0,
25552 OPC_CheckPatternPredicate0,
25553 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNG),
25554 MVT::v2i64, 2, 0, 1,
25555 0,
25556 0,
25557 0,
25558 10|128,1, TARGET_VAL(SystemZISD::VICMPHL),
25559 OPC_RecordChild0,
25560 OPC_RecordChild1,
25561 OPC_Scope, 31,
25562 OPC_MoveParent,
25563 OPC_CheckType, MVT::v16i8,
25564 OPC_Scope, 12,
25565 OPC_CheckChild1Same, 0,
25566 OPC_CheckChild2Same, 1,
25567 OPC_CheckPatternPredicate0,
25568 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLB),
25569 MVT::v16i8, 2, 0, 1,
25570 12,
25571 OPC_CheckChild1Same, 1,
25572 OPC_CheckChild2Same, 0,
25573 OPC_CheckPatternPredicate0,
25574 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLB),
25575 MVT::v16i8, 2, 0, 1,
25576 0,
25577 33,
25578 OPC_CheckType, MVT::v8i16,
25579 OPC_MoveParent,
25580 OPC_CheckType, MVT::v8i16,
25581 OPC_Scope, 12,
25582 OPC_CheckChild1Same, 0,
25583 OPC_CheckChild2Same, 1,
25584 OPC_CheckPatternPredicate0,
25585 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLH),
25586 MVT::v8i16, 2, 0, 1,
25587 12,
25588 OPC_CheckChild1Same, 1,
25589 OPC_CheckChild2Same, 0,
25590 OPC_CheckPatternPredicate0,
25591 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLH),
25592 MVT::v8i16, 2, 0, 1,
25593 0,
25594 33,
25595 OPC_CheckType, MVT::v4i32,
25596 OPC_MoveParent,
25597 OPC_CheckType, MVT::v4i32,
25598 OPC_Scope, 12,
25599 OPC_CheckChild1Same, 0,
25600 OPC_CheckChild2Same, 1,
25601 OPC_CheckPatternPredicate0,
25602 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLF),
25603 MVT::v4i32, 2, 0, 1,
25604 12,
25605 OPC_CheckChild1Same, 1,
25606 OPC_CheckChild2Same, 0,
25607 OPC_CheckPatternPredicate0,
25608 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLF),
25609 MVT::v4i32, 2, 0, 1,
25610 0,
25611 33,
25612 OPC_CheckType, MVT::v2i64,
25613 OPC_MoveParent,
25614 OPC_CheckType, MVT::v2i64,
25615 OPC_Scope, 12,
25616 OPC_CheckChild1Same, 0,
25617 OPC_CheckChild2Same, 1,
25618 OPC_CheckPatternPredicate0,
25619 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMXLG),
25620 MVT::v2i64, 2, 0, 1,
25621 12,
25622 OPC_CheckChild1Same, 1,
25623 OPC_CheckChild2Same, 0,
25624 OPC_CheckPatternPredicate0,
25625 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMNLG),
25626 MVT::v2i64, 2, 0, 1,
25627 0,
25628 0,
25629 0,
25630 61,
25631 OPC_RecordChild0,
25632 OPC_SwitchType , 11, MVT::v16i8,
25633 OPC_RecordChild1,
25634 OPC_RecordChild2,
25635 OPC_CheckPatternPredicate0,
25636 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25637 MVT::v16i8, 3, 1, 2, 0,
25638 13, MVT::v8i16,
25639 OPC_CheckChild0Type, MVT::v8i16,
25640 OPC_RecordChild1,
25641 OPC_RecordChild2,
25642 OPC_CheckPatternPredicate0,
25643 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25644 MVT::v8i16, 3, 1, 2, 0,
25645 13, MVT::v4i32,
25646 OPC_CheckChild0Type, MVT::v4i32,
25647 OPC_RecordChild1,
25648 OPC_RecordChild2,
25649 OPC_CheckPatternPredicate0,
25650 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25651 MVT::v4i32, 3, 1, 2, 0,
25652 13, MVT::v2i64,
25653 OPC_CheckChild0Type, MVT::v2i64,
25654 OPC_RecordChild1,
25655 OPC_RecordChild2,
25656 OPC_CheckPatternPredicate0,
25657 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25658 MVT::v2i64, 3, 1, 2, 0,
25659 0,
25660 42,
25661 OPC_MoveChild0,
25662 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
25663 OPC_RecordChild0,
25664 OPC_MoveChild1,
25665 OPC_CheckImmAllOnesV,
25666 OPC_MoveParent,
25667 OPC_SwitchType , 14, MVT::v4i32,
25668 OPC_MoveParent,
25669 OPC_RecordChild1,
25670 OPC_RecordChild2,
25671 OPC_CheckType, MVT::v4f32,
25672 OPC_CheckPatternPredicate0,
25673 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25674 MVT::v4f32, 3, 2, 1, 0,
25675 14, MVT::v2i64,
25676 OPC_MoveParent,
25677 OPC_RecordChild1,
25678 OPC_RecordChild2,
25679 OPC_CheckType, MVT::v2f64,
25680 OPC_CheckPatternPredicate0,
25681 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25682 MVT::v2f64, 3, 2, 1, 0,
25683 0,
25684 33,
25685 OPC_RecordChild0,
25686 OPC_SwitchType , 13, MVT::v4f32,
25687 OPC_CheckChild0Type, MVT::v4i32,
25688 OPC_RecordChild1,
25689 OPC_RecordChild2,
25690 OPC_CheckPatternPredicate0,
25691 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25692 MVT::v4f32, 3, 1, 2, 0,
25693 13, MVT::v2f64,
25694 OPC_CheckChild0Type, MVT::v2i64,
25695 OPC_RecordChild1,
25696 OPC_RecordChild2,
25697 OPC_CheckPatternPredicate0,
25698 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEL),
25699 MVT::v2f64, 3, 1, 2, 0,
25700 0,
25701 0,
25702 26|128,4, TARGET_VAL(SystemZISD::REPLICATE),
25703 OPC_Scope, 2|128,2,
25704 OPC_MoveChild0,
25705 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::LOAD),
25706 OPC_RecordMemRef,
25707 OPC_RecordNode,
25708 OPC_RecordChild1,
25709 OPC_CheckChild1TypeI64,
25710 OPC_CheckPredicate0,
25711 OPC_Scope, 41,
25712 OPC_CheckPredicate, 23,
25713 OPC_CheckTypeI32,
25714 OPC_Scope, 17,
25715 OPC_CheckPredicate7,
25716 OPC_MoveParent,
25717 OPC_CheckType, MVT::v16i8,
25718 OPC_CheckPatternPredicate0,
25719 OPC_CheckComplexPat0, /*#*/1,
25720 OPC_EmitMergeInputChains1_0,
25721 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
25722 MVT::v16i8, 3, 2, 3, 4,
25723 17,
25724 OPC_CheckPredicate6,
25725 OPC_MoveParent,
25726 OPC_CheckType, MVT::v8i16,
25727 OPC_CheckPatternPredicate0,
25728 OPC_CheckComplexPat0, /*#*/1,
25729 OPC_EmitMergeInputChains1_0,
25730 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
25731 MVT::v8i16, 3, 2, 3, 4,
25732 0,
25733 40,
25734 OPC_CheckPredicate3,
25735 OPC_CheckPredicate1,
25736 OPC_SwitchType , 16, MVT::i32,
25737 OPC_MoveParent,
25738 OPC_CheckType, MVT::v4i32,
25739 OPC_CheckPatternPredicate0,
25740 OPC_CheckComplexPat0, /*#*/1,
25741 OPC_EmitMergeInputChains1_0,
25742 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
25743 MVT::v4i32, 3, 2, 3, 4,
25744 16, MVT::i64,
25745 OPC_MoveParent,
25746 OPC_CheckType, MVT::v2i64,
25747 OPC_CheckPatternPredicate0,
25748 OPC_CheckComplexPat0, /*#*/1,
25749 OPC_EmitMergeInputChains1_0,
25750 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
25751 MVT::v2i64, 3, 2, 3, 4,
25752 0,
25753 0,
25754 88, TARGET_VAL(ISD::ATOMIC_LOAD),
25755 OPC_RecordMemRef,
25756 OPC_RecordNode,
25757 OPC_RecordChild1,
25758 OPC_CheckChild1TypeI64,
25759 OPC_Scope, 41,
25760 OPC_CheckPredicate, 23,
25761 OPC_CheckTypeI32,
25762 OPC_Scope, 17,
25763 OPC_CheckPredicate7,
25764 OPC_MoveParent,
25765 OPC_CheckType, MVT::v16i8,
25766 OPC_CheckPatternPredicate0,
25767 OPC_CheckComplexPat0, /*#*/1,
25768 OPC_EmitMergeInputChains1_0,
25769 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
25770 MVT::v16i8, 3, 2, 3, 4,
25771 17,
25772 OPC_CheckPredicate6,
25773 OPC_MoveParent,
25774 OPC_CheckType, MVT::v8i16,
25775 OPC_CheckPatternPredicate0,
25776 OPC_CheckComplexPat0, /*#*/1,
25777 OPC_EmitMergeInputChains1_0,
25778 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
25779 MVT::v8i16, 3, 2, 3, 4,
25780 0,
25781 39,
25782 OPC_CheckPredicate1,
25783 OPC_SwitchType , 16, MVT::i32,
25784 OPC_MoveParent,
25785 OPC_CheckType, MVT::v4i32,
25786 OPC_CheckPatternPredicate0,
25787 OPC_CheckComplexPat0, /*#*/1,
25788 OPC_EmitMergeInputChains1_0,
25789 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
25790 MVT::v4i32, 3, 2, 3, 4,
25791 16, MVT::i64,
25792 OPC_MoveParent,
25793 OPC_CheckType, MVT::v2i64,
25794 OPC_CheckPatternPredicate0,
25795 OPC_CheckComplexPat0, /*#*/1,
25796 OPC_EmitMergeInputChains1_0,
25797 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
25798 MVT::v2i64, 3, 2, 3, 4,
25799 0,
25800 0,
25801 68, TARGET_VAL(SystemZISD::LRV),
25802 OPC_RecordMemRef,
25803 OPC_RecordNode,
25804 OPC_RecordChild1,
25805 OPC_CheckChild1TypeI64,
25806 OPC_SwitchType , 40, MVT::i32,
25807 OPC_Scope, 18,
25808 OPC_CheckPredicate, 53,
25809 OPC_MoveParent,
25810 OPC_CheckType, MVT::v8i16,
25811 OPC_CheckPatternPredicate5,
25812 OPC_CheckComplexPat0, /*#*/1,
25813 OPC_EmitMergeInputChains1_0,
25814 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRREPH), 0|OPFL_Chain|OPFL_MemRefs,
25815 MVT::v8i16, 3, 2, 3, 4,
25816 18,
25817 OPC_CheckPredicate, 54,
25818 OPC_MoveParent,
25819 OPC_CheckType, MVT::v4i32,
25820 OPC_CheckPatternPredicate5,
25821 OPC_CheckComplexPat0, /*#*/1,
25822 OPC_EmitMergeInputChains1_0,
25823 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRREPF), 0|OPFL_Chain|OPFL_MemRefs,
25824 MVT::v4i32, 3, 2, 3, 4,
25825 0,
25826 18, MVT::i64,
25827 OPC_CheckPredicate, 48,
25828 OPC_MoveParent,
25829 OPC_CheckType, MVT::v2i64,
25830 OPC_CheckPatternPredicate5,
25831 OPC_CheckComplexPat0, /*#*/1,
25832 OPC_EmitMergeInputChains1_0,
25833 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRREPG), 0|OPFL_Chain|OPFL_MemRefs,
25834 MVT::v2i64, 3, 2, 3, 4,
25835 0,
25836 0,
25837 117,
25838 OPC_RecordChild0,
25839 OPC_Scope, 44,
25840 OPC_MoveChild0,
25841 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
25842 OPC_CheckTypeI32,
25843 OPC_MoveParent,
25844 OPC_SwitchType , 7, MVT::v16i8,
25845 OPC_CheckPatternPredicate0,
25846 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPIB),
25847 MVT::v16i8, 1, 0,
25848 7, MVT::v8i16,
25849 OPC_CheckPatternPredicate0,
25850 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPIH),
25851 MVT::v8i16, 1, 0,
25852 7, MVT::v4i32,
25853 OPC_CheckPatternPredicate0,
25854 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPIF),
25855 MVT::v4i32, 1, 0,
25856 7, MVT::v2i64,
25857 OPC_CheckPatternPredicate0,
25858 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPIG),
25859 MVT::v2i64, 1, 0,
25860 0,
25861 10,
25862 OPC_CheckChild0TypeI64,
25863 OPC_CheckType, MVT::v2i64,
25864 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLVGP),
25865 MVT::v2i64, 2, 0, 0,
25866 57,
25867 OPC_CheckChild0TypeI32,
25868 OPC_SwitchType , 16, MVT::v16i8,
25869 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
25870 MVT::i128, 2, 0, 0,
25871 OPC_EmitInteger32, 14,
25872 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPB),
25873 MVT::v16i8, 2, 1, 2,
25874 16, MVT::v8i16,
25875 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
25876 MVT::i128, 2, 0, 0,
25877 OPC_EmitInteger32, 6,
25878 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPH),
25879 MVT::v8i16, 2, 1, 2,
25880 16, MVT::v4i32,
25881 OPC_EmitNode1None, TARGET_VAL(SystemZ::VLVGP32),
25882 MVT::i128, 2, 0, 0,
25883 OPC_EmitInteger32, 2,
25884 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPF),
25885 MVT::v4i32, 2, 1, 2,
25886 0,
25887 0,
25888 97,
25889 OPC_MoveChild0,
25890 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::LOAD),
25891 OPC_RecordMemRef,
25892 OPC_RecordNode,
25893 OPC_RecordChild1,
25894 OPC_CheckChild1TypeI64,
25895 OPC_CheckPredicate0,
25896 OPC_CheckPredicate3,
25897 OPC_CheckPredicate1,
25898 OPC_SwitchType , 16, MVT::f32,
25899 OPC_MoveParent,
25900 OPC_CheckType, MVT::v4f32,
25901 OPC_CheckPatternPredicate0,
25902 OPC_CheckComplexPat0, /*#*/1,
25903 OPC_EmitMergeInputChains1_0,
25904 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
25905 MVT::v4f32, 3, 2, 3, 4,
25906 16, MVT::f64,
25907 OPC_MoveParent,
25908 OPC_CheckType, MVT::v2f64,
25909 OPC_CheckPatternPredicate0,
25910 OPC_CheckComplexPat0, /*#*/1,
25911 OPC_EmitMergeInputChains1_0,
25912 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
25913 MVT::v2f64, 3, 2, 3, 4,
25914 0,
25915 43, TARGET_VAL(ISD::ATOMIC_LOAD),
25916 OPC_RecordMemRef,
25917 OPC_RecordNode,
25918 OPC_RecordChild1,
25919 OPC_CheckChild1TypeI64,
25920 OPC_CheckPredicate1,
25921 OPC_SwitchType , 16, MVT::f32,
25922 OPC_MoveParent,
25923 OPC_CheckType, MVT::v4f32,
25924 OPC_CheckPatternPredicate0,
25925 OPC_CheckComplexPat0, /*#*/1,
25926 OPC_EmitMergeInputChains1_0,
25927 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
25928 MVT::v4f32, 3, 2, 3, 4,
25929 16, MVT::f64,
25930 OPC_MoveParent,
25931 OPC_CheckType, MVT::v2f64,
25932 OPC_CheckPatternPredicate0,
25933 OPC_CheckComplexPat0, /*#*/1,
25934 OPC_EmitMergeInputChains1_0,
25935 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
25936 MVT::v2f64, 3, 2, 3, 4,
25937 0,
25938 0,
25939 59,
25940 OPC_RecordChild0,
25941 OPC_SwitchType , 26, MVT::v4f32,
25942 OPC_CheckChild0Type, MVT::f32,
25943 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
25944 MVT::v4f32, 0,
25945 OPC_EmitStringInteger32, SystemZ::subreg_h32,
25946 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
25947 MVT::v4f32, 3, 1, 0, 2,
25948 OPC_EmitInteger32, 0,
25949 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPF),
25950 MVT::v4f32, 2, 3, 4,
25951 26, MVT::v2f64,
25952 OPC_CheckChild0Type, MVT::f64,
25953 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
25954 MVT::v2f64, 0,
25955 OPC_EmitStringInteger32, SystemZ::subreg_h64,
25956 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
25957 MVT::v2f64, 3, 1, 0, 2,
25958 OPC_EmitInteger32, 0,
25959 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPG),
25960 MVT::v2f64, 2, 3, 4,
25961 0,
25962 0,
25963 37|128,2, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
25964 OPC_Scope, 119|128,1,
25965 OPC_MoveChild0,
25966 OPC_SwitchOpcode , 120, TARGET_VAL(ISD::LOAD),
25967 OPC_RecordMemRef,
25968 OPC_RecordNode,
25969 OPC_RecordChild1,
25970 OPC_CheckChild1TypeI64,
25971 OPC_CheckPredicate0,
25972 OPC_Scope, 39,
25973 OPC_CheckPredicate, 23,
25974 OPC_CheckTypeI32,
25975 OPC_Scope, 16,
25976 OPC_CheckPredicate7,
25977 OPC_MoveParent,
25978 OPC_CheckType, MVT::v16i8,
25979 OPC_CheckComplexPat0, /*#*/1,
25980 OPC_EmitMergeInputChains1_0,
25981 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
25982 MVT::v16i8, 3, 2, 3, 4,
25983 16,
25984 OPC_CheckPredicate6,
25985 OPC_MoveParent,
25986 OPC_CheckType, MVT::v8i16,
25987 OPC_CheckComplexPat0, /*#*/1,
25988 OPC_EmitMergeInputChains1_0,
25989 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
25990 MVT::v8i16, 3, 2, 3, 4,
25991 0,
25992 72,
25993 OPC_CheckPredicate3,
25994 OPC_CheckPredicate1,
25995 OPC_SwitchType , 15, MVT::i32,
25996 OPC_MoveParent,
25997 OPC_CheckType, MVT::v4i32,
25998 OPC_CheckComplexPat0, /*#*/1,
25999 OPC_EmitMergeInputChains1_0,
26000 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
26001 MVT::v4i32, 3, 2, 3, 4,
26002 15, MVT::i64,
26003 OPC_MoveParent,
26004 OPC_CheckType, MVT::v2i64,
26005 OPC_CheckComplexPat0, /*#*/1,
26006 OPC_EmitMergeInputChains1_0,
26007 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
26008 MVT::v2i64, 3, 2, 3, 4,
26009 15, MVT::f32,
26010 OPC_MoveParent,
26011 OPC_CheckType, MVT::v4f32,
26012 OPC_CheckComplexPat0, /*#*/1,
26013 OPC_EmitMergeInputChains1_0,
26014 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
26015 MVT::v4f32, 3, 2, 3, 4,
26016 15, MVT::f64,
26017 OPC_MoveParent,
26018 OPC_CheckType, MVT::v2f64,
26019 OPC_CheckComplexPat0, /*#*/1,
26020 OPC_EmitMergeInputChains1_0,
26021 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
26022 MVT::v2f64, 3, 2, 3, 4,
26023 0,
26024 0,
26025 118, TARGET_VAL(ISD::ATOMIC_LOAD),
26026 OPC_RecordMemRef,
26027 OPC_RecordNode,
26028 OPC_RecordChild1,
26029 OPC_CheckChild1TypeI64,
26030 OPC_Scope, 39,
26031 OPC_CheckPredicate, 23,
26032 OPC_CheckTypeI32,
26033 OPC_Scope, 16,
26034 OPC_CheckPredicate7,
26035 OPC_MoveParent,
26036 OPC_CheckType, MVT::v16i8,
26037 OPC_CheckComplexPat0, /*#*/1,
26038 OPC_EmitMergeInputChains1_0,
26039 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPB), 0|OPFL_Chain|OPFL_MemRefs,
26040 MVT::v16i8, 3, 2, 3, 4,
26041 16,
26042 OPC_CheckPredicate6,
26043 OPC_MoveParent,
26044 OPC_CheckType, MVT::v8i16,
26045 OPC_CheckComplexPat0, /*#*/1,
26046 OPC_EmitMergeInputChains1_0,
26047 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPH), 0|OPFL_Chain|OPFL_MemRefs,
26048 MVT::v8i16, 3, 2, 3, 4,
26049 0,
26050 71,
26051 OPC_CheckPredicate1,
26052 OPC_SwitchType , 15, MVT::i32,
26053 OPC_MoveParent,
26054 OPC_CheckType, MVT::v4i32,
26055 OPC_CheckComplexPat0, /*#*/1,
26056 OPC_EmitMergeInputChains1_0,
26057 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
26058 MVT::v4i32, 3, 2, 3, 4,
26059 15, MVT::i64,
26060 OPC_MoveParent,
26061 OPC_CheckType, MVT::v2i64,
26062 OPC_CheckComplexPat0, /*#*/1,
26063 OPC_EmitMergeInputChains1_0,
26064 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
26065 MVT::v2i64, 3, 2, 3, 4,
26066 15, MVT::f32,
26067 OPC_MoveParent,
26068 OPC_CheckType, MVT::v4f32,
26069 OPC_CheckComplexPat0, /*#*/1,
26070 OPC_EmitMergeInputChains1_0,
26071 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPF), 0|OPFL_Chain|OPFL_MemRefs,
26072 MVT::v4f32, 3, 2, 3, 4,
26073 15, MVT::f64,
26074 OPC_MoveParent,
26075 OPC_CheckType, MVT::v2f64,
26076 OPC_CheckComplexPat0, /*#*/1,
26077 OPC_EmitMergeInputChains1_0,
26078 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLREPG), 0|OPFL_Chain|OPFL_MemRefs,
26079 MVT::v2f64, 3, 2, 3, 4,
26080 0,
26081 0,
26082 0,
26083 41,
26084 OPC_RecordChild0,
26085 OPC_SwitchType , 17, MVT::v4f32,
26086 OPC_CheckChild0Type, MVT::f32,
26087 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
26088 MVT::v4f32, 0,
26089 OPC_EmitStringInteger32, SystemZ::subreg_h32,
26090 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
26091 MVT::v4f32, 3, 1, 0, 2,
26092 17, MVT::v2f64,
26093 OPC_CheckChild0Type, MVT::f64,
26094 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
26095 MVT::v2f64, 0,
26096 OPC_EmitStringInteger32, SystemZ::subreg_h64,
26097 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
26098 MVT::v2f64, 3, 1, 0, 2,
26099 0,
26100 0,
26101 112, TARGET_VAL(SystemZISD::VSRA_BY_SCALAR),
26102 OPC_Scope, 52,
26103 OPC_MoveChild0,
26104 OPC_CheckOpcode, TARGET_VAL(SystemZISD::VSHL_BY_SCALAR),
26105 OPC_RecordChild0,
26106 OPC_Scope, 14,
26107 OPC_CheckChild1Integer, 112,
26108 OPC_MoveParent,
26109 OPC_CheckChild1Integer, 112,
26110 OPC_CheckType, MVT::v2i64,
26111 OPC_CheckPatternPredicate0,
26112 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGB),
26113 MVT::v2i64, 1, 0,
26114 14,
26115 OPC_CheckChild1Integer, 96,
26116 OPC_MoveParent,
26117 OPC_CheckChild1Integer, 96,
26118 OPC_CheckType, MVT::v2i64,
26119 OPC_CheckPatternPredicate0,
26120 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGH),
26121 MVT::v2i64, 1, 0,
26122 14,
26123 OPC_CheckChild1Integer, 64,
26124 OPC_MoveParent,
26125 OPC_CheckChild1Integer, 64,
26126 OPC_CheckType, MVT::v2i64,
26127 OPC_CheckPatternPredicate0,
26128 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSEGF),
26129 MVT::v2i64, 1, 0,
26130 0,
26131 56,
26132 OPC_RecordChild0,
26133 OPC_RecordChild1,
26134 OPC_SwitchType , 11, MVT::v16i8,
26135 OPC_CheckPatternPredicate0,
26136 OPC_CheckComplexPat7, /*#*/1,
26137 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAB),
26138 MVT::v16i8, 3, 0, 2, 3,
26139 11, MVT::v8i16,
26140 OPC_CheckPatternPredicate0,
26141 OPC_CheckComplexPat7, /*#*/1,
26142 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAH),
26143 MVT::v8i16, 3, 0, 2, 3,
26144 11, MVT::v4i32,
26145 OPC_CheckPatternPredicate0,
26146 OPC_CheckComplexPat7, /*#*/1,
26147 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAF),
26148 MVT::v4i32, 3, 0, 2, 3,
26149 11, MVT::v2i64,
26150 OPC_CheckPatternPredicate0,
26151 OPC_CheckComplexPat7, /*#*/1,
26152 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRAG),
26153 MVT::v2i64, 3, 0, 2, 3,
26154 0,
26155 0,
26156 96, TARGET_VAL(SystemZISD::VLER),
26157 OPC_RecordMemRef,
26158 OPC_RecordNode,
26159 OPC_RecordChild1,
26160 OPC_CheckChild1TypeI64,
26161 OPC_SwitchType , 13, MVT::v8i16,
26162 OPC_CheckPatternPredicate5,
26163 OPC_CheckComplexPat0, /*#*/1,
26164 OPC_EmitMergeInputChains1_0,
26165 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERH), 0|OPFL_Chain|OPFL_MemRefs,
26166 MVT::v8i16, 3, 2, 3, 4,
26167 13, MVT::v4i32,
26168 OPC_CheckPatternPredicate5,
26169 OPC_CheckComplexPat0, /*#*/1,
26170 OPC_EmitMergeInputChains1_0,
26171 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERF), 0|OPFL_Chain|OPFL_MemRefs,
26172 MVT::v4i32, 3, 2, 3, 4,
26173 13, MVT::v2i64,
26174 OPC_CheckPatternPredicate5,
26175 OPC_CheckComplexPat0, /*#*/1,
26176 OPC_EmitMergeInputChains1_0,
26177 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERG), 0|OPFL_Chain|OPFL_MemRefs,
26178 MVT::v2i64, 3, 2, 3, 4,
26179 13, MVT::v16i8,
26180 OPC_CheckPatternPredicate5,
26181 OPC_CheckComplexPat0, /*#*/1,
26182 OPC_EmitMergeInputChains1_0,
26183 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLBRQ), 0|OPFL_Chain|OPFL_MemRefs,
26184 MVT::v16i8, 3, 2, 3, 4,
26185 13, MVT::v4f32,
26186 OPC_CheckPatternPredicate5,
26187 OPC_CheckComplexPat0, /*#*/1,
26188 OPC_EmitMergeInputChains1_0,
26189 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERF), 0|OPFL_Chain|OPFL_MemRefs,
26190 MVT::v4f32, 3, 2, 3, 4,
26191 13, MVT::v2f64,
26192 OPC_CheckPatternPredicate5,
26193 OPC_CheckComplexPat0, /*#*/1,
26194 OPC_EmitMergeInputChains1_0,
26195 OPC_MorphNodeTo1, TARGET_VAL(SystemZ::VLERG), 0|OPFL_Chain|OPFL_MemRefs,
26196 MVT::v2f64, 3, 2, 3, 4,
26197 0,
26198 56, TARGET_VAL(SystemZISD::VROTL_BY_SCALAR),
26199 OPC_RecordChild0,
26200 OPC_RecordChild1,
26201 OPC_SwitchType , 11, MVT::v16i8,
26202 OPC_CheckPatternPredicate0,
26203 OPC_CheckComplexPat7, /*#*/1,
26204 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLB),
26205 MVT::v16i8, 3, 0, 2, 3,
26206 11, MVT::v8i16,
26207 OPC_CheckPatternPredicate0,
26208 OPC_CheckComplexPat7, /*#*/1,
26209 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLH),
26210 MVT::v8i16, 3, 0, 2, 3,
26211 11, MVT::v4i32,
26212 OPC_CheckPatternPredicate0,
26213 OPC_CheckComplexPat7, /*#*/1,
26214 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLF),
26215 MVT::v4i32, 3, 0, 2, 3,
26216 11, MVT::v2i64,
26217 OPC_CheckPatternPredicate0,
26218 OPC_CheckComplexPat7, /*#*/1,
26219 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VERLLG),
26220 MVT::v2i64, 3, 0, 2, 3,
26221 0,
26222 56, TARGET_VAL(SystemZISD::VSHL_BY_SCALAR),
26223 OPC_RecordChild0,
26224 OPC_RecordChild1,
26225 OPC_SwitchType , 11, MVT::v16i8,
26226 OPC_CheckPatternPredicate0,
26227 OPC_CheckComplexPat7, /*#*/1,
26228 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLB),
26229 MVT::v16i8, 3, 0, 2, 3,
26230 11, MVT::v8i16,
26231 OPC_CheckPatternPredicate0,
26232 OPC_CheckComplexPat7, /*#*/1,
26233 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLH),
26234 MVT::v8i16, 3, 0, 2, 3,
26235 11, MVT::v4i32,
26236 OPC_CheckPatternPredicate0,
26237 OPC_CheckComplexPat7, /*#*/1,
26238 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLF),
26239 MVT::v4i32, 3, 0, 2, 3,
26240 11, MVT::v2i64,
26241 OPC_CheckPatternPredicate0,
26242 OPC_CheckComplexPat7, /*#*/1,
26243 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESLG),
26244 MVT::v2i64, 3, 0, 2, 3,
26245 0,
26246 56, TARGET_VAL(SystemZISD::VSRL_BY_SCALAR),
26247 OPC_RecordChild0,
26248 OPC_RecordChild1,
26249 OPC_SwitchType , 11, MVT::v16i8,
26250 OPC_CheckPatternPredicate0,
26251 OPC_CheckComplexPat7, /*#*/1,
26252 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLB),
26253 MVT::v16i8, 3, 0, 2, 3,
26254 11, MVT::v8i16,
26255 OPC_CheckPatternPredicate0,
26256 OPC_CheckComplexPat7, /*#*/1,
26257 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLH),
26258 MVT::v8i16, 3, 0, 2, 3,
26259 11, MVT::v4i32,
26260 OPC_CheckPatternPredicate0,
26261 OPC_CheckComplexPat7, /*#*/1,
26262 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLF),
26263 MVT::v4i32, 3, 0, 2, 3,
26264 11, MVT::v2i64,
26265 OPC_CheckPatternPredicate0,
26266 OPC_CheckComplexPat7, /*#*/1,
26267 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VESRLG),
26268 MVT::v2i64, 3, 0, 2, 3,
26269 0,
26270 81, TARGET_VAL(SystemZISD::ROTATE_MASK),
26271 OPC_RecordChild0,
26272 OPC_MoveChild0,
26273 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26274 OPC_CheckPredicate, 30,
26275 OPC_MoveSibling1,
26276 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26277 OPC_RecordNode,
26278 OPC_CheckPredicate, 30,
26279 OPC_MoveParent,
26280 OPC_SwitchType , 14, MVT::v16i8,
26281 OPC_CheckPatternPredicate0,
26282 OPC_EmitNodeXForm, 0, 0,
26283 OPC_EmitNodeXForm, 0, 1,
26284 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGMB),
26285 MVT::v16i8, 2, 2, 3,
26286 14, MVT::v8i16,
26287 OPC_CheckPatternPredicate0,
26288 OPC_EmitNodeXForm, 0, 0,
26289 OPC_EmitNodeXForm, 0, 1,
26290 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGMH),
26291 MVT::v8i16, 2, 2, 3,
26292 14, MVT::v4i32,
26293 OPC_CheckPatternPredicate0,
26294 OPC_EmitNodeXForm, 0, 0,
26295 OPC_EmitNodeXForm, 0, 1,
26296 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGMF),
26297 MVT::v4i32, 2, 2, 3,
26298 14, MVT::v2i64,
26299 OPC_CheckPatternPredicate0,
26300 OPC_EmitNodeXForm, 0, 0,
26301 OPC_EmitNodeXForm, 0, 1,
26302 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGMG),
26303 MVT::v2i64, 2, 2, 3,
26304 0,
26305 20, TARGET_VAL(SystemZISD::PERMUTE_DWORDS),
26306 OPC_RecordChild0,
26307 OPC_RecordChild1,
26308 OPC_RecordChild2,
26309 OPC_MoveChild2,
26310 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26311 OPC_CheckPredicate4,
26312 OPC_MoveParent,
26313 OPC_CheckType, MVT::v2i64,
26314 OPC_CheckPatternPredicate0,
26315 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPDI),
26316 MVT::v2i64, 3, 0, 1, 2,
26317 91, TARGET_VAL(SystemZISD::SPLAT),
26318 OPC_RecordChild0,
26319 OPC_RecordChild1,
26320 OPC_MoveChild1,
26321 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26322 OPC_CheckPredicate, 40,
26323 OPC_MoveParent,
26324 OPC_SwitchType , 11, MVT::v16i8,
26325 OPC_CheckPatternPredicate0,
26326 OPC_EmitNodeXForm, 10, 1,
26327 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPB),
26328 MVT::v16i8, 2, 0, 2,
26329 11, MVT::v8i16,
26330 OPC_CheckPatternPredicate0,
26331 OPC_EmitNodeXForm, 10, 1,
26332 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPH),
26333 MVT::v8i16, 2, 0, 2,
26334 11, MVT::v4i32,
26335 OPC_CheckPatternPredicate0,
26336 OPC_EmitNodeXForm, 10, 1,
26337 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPF),
26338 MVT::v4i32, 2, 0, 2,
26339 11, MVT::v2i64,
26340 OPC_CheckPatternPredicate0,
26341 OPC_EmitNodeXForm, 10, 1,
26342 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPG),
26343 MVT::v2i64, 2, 0, 2,
26344 12, MVT::v4f32,
26345 OPC_CheckPatternPredicate0,
26346 OPC_EmitConvertToTarget1,
26347 OPC_EmitNodeXForm, 10, 2,
26348 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPF),
26349 MVT::v4f32, 2, 0, 3,
26350 12, MVT::v2f64,
26351 OPC_CheckPatternPredicate0,
26352 OPC_EmitConvertToTarget1,
26353 OPC_EmitNodeXForm, 10, 2,
26354 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VREPG),
26355 MVT::v2f64, 2, 0, 3,
26356 0,
26357 24, TARGET_VAL(SystemZISD::SHL_DOUBLE),
26358 OPC_RecordChild0,
26359 OPC_RecordChild1,
26360 OPC_RecordChild2,
26361 OPC_MoveChild2,
26362 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26363 OPC_CheckPredicate, 30,
26364 OPC_MoveParent,
26365 OPC_CheckType, MVT::v16i8,
26366 OPC_CheckPatternPredicate0,
26367 OPC_EmitNodeXForm, 0, 2,
26368 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VSLDB),
26369 MVT::v16i8, 3, 0, 1, 3,
26370 53, TARGET_VAL(SystemZISD::VFTCI),
26371 OPC_RecordChild0,
26372 OPC_Scope, 24,
26373 OPC_CheckChild0Type, MVT::v2f64,
26374 OPC_RecordChild1,
26375 OPC_MoveChild1,
26376 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26377 OPC_CheckPredicate, 76,
26378 OPC_MoveParent,
26379 OPC_CheckType, MVT::v2i64,
26380 OPC_CheckPatternPredicate0,
26381 OPC_EmitNodeXForm, 18, 1,
26382 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFTCIDB),
26383 MVT::v2i64, MVT::i32, 2, 0, 2,
26384 24,
26385 OPC_CheckChild0Type, MVT::v4f32,
26386 OPC_RecordChild1,
26387 OPC_MoveChild1,
26388 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26389 OPC_CheckPredicate, 76,
26390 OPC_MoveParent,
26391 OPC_CheckType, MVT::v4i32,
26392 OPC_CheckPatternPredicate1,
26393 OPC_EmitNodeXForm, 18, 1,
26394 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFTCISB),
26395 MVT::v4i32, MVT::i32, 2, 0, 2,
26396 0,
26397 56, TARGET_VAL(SystemZISD::VFAE_CC),
26398 OPC_RecordChild0,
26399 OPC_RecordChild1,
26400 OPC_RecordChild2,
26401 OPC_MoveChild2,
26402 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26403 OPC_CheckPredicate4,
26404 OPC_MoveParent,
26405 OPC_SwitchType , 13, MVT::v16i8,
26406 OPC_CheckPatternPredicate0,
26407 OPC_EmitNodeXForm, 12, 2,
26408 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEBS),
26409 MVT::v16i8, MVT::i32, 3, 0, 1, 3,
26410 13, MVT::v8i16,
26411 OPC_CheckPatternPredicate0,
26412 OPC_EmitNodeXForm, 12, 2,
26413 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEHS),
26414 MVT::v8i16, MVT::i32, 3, 0, 1, 3,
26415 13, MVT::v4i32,
26416 OPC_CheckPatternPredicate0,
26417 OPC_EmitNodeXForm, 12, 2,
26418 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEFS),
26419 MVT::v4i32, MVT::i32, 3, 0, 1, 3,
26420 0,
26421 56, TARGET_VAL(SystemZISD::VFAEZ_CC),
26422 OPC_RecordChild0,
26423 OPC_RecordChild1,
26424 OPC_RecordChild2,
26425 OPC_MoveChild2,
26426 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26427 OPC_CheckPredicate4,
26428 OPC_MoveParent,
26429 OPC_SwitchType , 13, MVT::v16i8,
26430 OPC_CheckPatternPredicate0,
26431 OPC_EmitNodeXForm, 12, 2,
26432 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEZBS),
26433 MVT::v16i8, MVT::i32, 3, 0, 1, 3,
26434 13, MVT::v8i16,
26435 OPC_CheckPatternPredicate0,
26436 OPC_EmitNodeXForm, 12, 2,
26437 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEZHS),
26438 MVT::v8i16, MVT::i32, 3, 0, 1, 3,
26439 13, MVT::v4i32,
26440 OPC_CheckPatternPredicate0,
26441 OPC_EmitNodeXForm, 12, 2,
26442 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFAEZFS),
26443 MVT::v4i32, MVT::i32, 3, 0, 1, 3,
26444 0,
26445 60, TARGET_VAL(SystemZISD::VSTRC_CC),
26446 OPC_RecordChild0,
26447 OPC_RecordChild1,
26448 OPC_RecordChild2,
26449 OPC_RecordChild3,
26450 OPC_MoveChild3,
26451 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26452 OPC_CheckPredicate4,
26453 OPC_MoveParent,
26454 OPC_SwitchType , 14, MVT::v16i8,
26455 OPC_CheckPatternPredicate0,
26456 OPC_EmitNodeXForm, 12, 3,
26457 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCBS),
26458 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 4,
26459 14, MVT::v8i16,
26460 OPC_CheckPatternPredicate0,
26461 OPC_EmitNodeXForm, 12, 3,
26462 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCHS),
26463 MVT::v8i16, MVT::i32, 4, 0, 1, 2, 4,
26464 14, MVT::v4i32,
26465 OPC_CheckPatternPredicate0,
26466 OPC_EmitNodeXForm, 12, 3,
26467 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCFS),
26468 MVT::v4i32, MVT::i32, 4, 0, 1, 2, 4,
26469 0,
26470 60, TARGET_VAL(SystemZISD::VSTRCZ_CC),
26471 OPC_RecordChild0,
26472 OPC_RecordChild1,
26473 OPC_RecordChild2,
26474 OPC_RecordChild3,
26475 OPC_MoveChild3,
26476 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26477 OPC_CheckPredicate4,
26478 OPC_MoveParent,
26479 OPC_SwitchType , 14, MVT::v16i8,
26480 OPC_CheckPatternPredicate0,
26481 OPC_EmitNodeXForm, 12, 3,
26482 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCZBS),
26483 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 4,
26484 14, MVT::v8i16,
26485 OPC_CheckPatternPredicate0,
26486 OPC_EmitNodeXForm, 12, 3,
26487 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCZHS),
26488 MVT::v8i16, MVT::i32, 4, 0, 1, 2, 4,
26489 14, MVT::v4i32,
26490 OPC_CheckPatternPredicate0,
26491 OPC_EmitNodeXForm, 12, 3,
26492 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRCZFS),
26493 MVT::v4i32, MVT::i32, 4, 0, 1, 2, 4,
26494 0,
26495 16, TARGET_VAL(SystemZISD::BYTE_MASK),
26496 OPC_RecordChild0,
26497 OPC_MoveChild0,
26498 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26499 OPC_CheckTypeI32,
26500 OPC_MoveParent,
26501 OPC_CheckType, MVT::v16i8,
26502 OPC_CheckPatternPredicate0,
26503 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VGBM),
26504 MVT::v16i8, 1, 0,
26505 64, TARGET_VAL(SystemZISD::MERGE_LOW),
26506 OPC_RecordChild0,
26507 OPC_RecordChild1,
26508 OPC_SwitchType , 8, MVT::v16i8,
26509 OPC_CheckPatternPredicate0,
26510 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLB),
26511 MVT::v16i8, 2, 0, 1,
26512 8, MVT::v8i16,
26513 OPC_CheckPatternPredicate0,
26514 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLH),
26515 MVT::v8i16, 2, 0, 1,
26516 8, MVT::v4i32,
26517 OPC_CheckPatternPredicate0,
26518 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLF),
26519 MVT::v4i32, 2, 0, 1,
26520 8, MVT::v2i64,
26521 OPC_CheckPatternPredicate0,
26522 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLG),
26523 MVT::v2i64, 2, 0, 1,
26524 8, MVT::v4f32,
26525 OPC_CheckPatternPredicate0,
26526 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLF),
26527 MVT::v4f32, 2, 0, 1,
26528 8, MVT::v2f64,
26529 OPC_CheckPatternPredicate0,
26530 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VMRLG),
26531 MVT::v2f64, 2, 0, 1,
26532 0,
26533 14, TARGET_VAL(SystemZISD::PERMUTE),
26534 OPC_RecordChild0,
26535 OPC_RecordChild1,
26536 OPC_RecordChild2,
26537 OPC_CheckType, MVT::v16i8,
26538 OPC_CheckPatternPredicate0,
26539 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPERM),
26540 MVT::v16i8, 3, 0, 1, 2,
26541 42, TARGET_VAL(SystemZISD::PACK),
26542 OPC_RecordChild0,
26543 OPC_SwitchType , 11, MVT::v16i8,
26544 OPC_CheckChild0Type, MVT::v8i16,
26545 OPC_RecordChild1,
26546 OPC_CheckPatternPredicate0,
26547 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKH),
26548 MVT::v16i8, 2, 0, 1,
26549 11, MVT::v8i16,
26550 OPC_CheckChild0Type, MVT::v4i32,
26551 OPC_RecordChild1,
26552 OPC_CheckPatternPredicate0,
26553 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKF),
26554 MVT::v8i16, 2, 0, 1,
26555 11, MVT::v4i32,
26556 OPC_CheckChild0Type, MVT::v2i64,
26557 OPC_RecordChild1,
26558 OPC_CheckPatternPredicate0,
26559 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VPKG),
26560 MVT::v4i32, 2, 0, 1,
26561 0,
26562 45, TARGET_VAL(SystemZISD::PACKS_CC),
26563 OPC_RecordChild0,
26564 OPC_SwitchType , 12, MVT::v16i8,
26565 OPC_CheckChild0Type, MVT::v8i16,
26566 OPC_RecordChild1,
26567 OPC_CheckPatternPredicate0,
26568 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKSHS),
26569 MVT::v16i8, MVT::i32, 2, 0, 1,
26570 12, MVT::v8i16,
26571 OPC_CheckChild0Type, MVT::v4i32,
26572 OPC_RecordChild1,
26573 OPC_CheckPatternPredicate0,
26574 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKSFS),
26575 MVT::v8i16, MVT::i32, 2, 0, 1,
26576 12, MVT::v4i32,
26577 OPC_CheckChild0Type, MVT::v2i64,
26578 OPC_RecordChild1,
26579 OPC_CheckPatternPredicate0,
26580 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKSGS),
26581 MVT::v4i32, MVT::i32, 2, 0, 1,
26582 0,
26583 45, TARGET_VAL(SystemZISD::PACKLS_CC),
26584 OPC_RecordChild0,
26585 OPC_SwitchType , 12, MVT::v16i8,
26586 OPC_CheckChild0Type, MVT::v8i16,
26587 OPC_RecordChild1,
26588 OPC_CheckPatternPredicate0,
26589 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKLSHS),
26590 MVT::v16i8, MVT::i32, 2, 0, 1,
26591 12, MVT::v8i16,
26592 OPC_CheckChild0Type, MVT::v4i32,
26593 OPC_RecordChild1,
26594 OPC_CheckPatternPredicate0,
26595 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKLSFS),
26596 MVT::v8i16, MVT::i32, 2, 0, 1,
26597 12, MVT::v4i32,
26598 OPC_CheckChild0Type, MVT::v2i64,
26599 OPC_RecordChild1,
26600 OPC_CheckPatternPredicate0,
26601 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VPKLSGS),
26602 MVT::v4i32, MVT::i32, 2, 0, 1,
26603 0,
26604 36, TARGET_VAL(SystemZISD::UNPACK_HIGH),
26605 OPC_RecordChild0,
26606 OPC_SwitchType , 9, MVT::v8i16,
26607 OPC_CheckChild0Type, MVT::v16i8,
26608 OPC_CheckPatternPredicate0,
26609 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPHB),
26610 MVT::v8i16, 1, 0,
26611 9, MVT::v4i32,
26612 OPC_CheckChild0Type, MVT::v8i16,
26613 OPC_CheckPatternPredicate0,
26614 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPHH),
26615 MVT::v4i32, 1, 0,
26616 9, MVT::v2i64,
26617 OPC_CheckChild0Type, MVT::v4i32,
26618 OPC_CheckPatternPredicate0,
26619 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPHF),
26620 MVT::v2i64, 1, 0,
26621 0,
26622 36, TARGET_VAL(SystemZISD::UNPACKL_HIGH),
26623 OPC_RecordChild0,
26624 OPC_SwitchType , 9, MVT::v8i16,
26625 OPC_CheckChild0Type, MVT::v16i8,
26626 OPC_CheckPatternPredicate0,
26627 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLHB),
26628 MVT::v8i16, 1, 0,
26629 9, MVT::v4i32,
26630 OPC_CheckChild0Type, MVT::v8i16,
26631 OPC_CheckPatternPredicate0,
26632 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLHH),
26633 MVT::v4i32, 1, 0,
26634 9, MVT::v2i64,
26635 OPC_CheckChild0Type, MVT::v4i32,
26636 OPC_CheckPatternPredicate0,
26637 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLHF),
26638 MVT::v2i64, 1, 0,
26639 0,
26640 36, TARGET_VAL(SystemZISD::UNPACK_LOW),
26641 OPC_RecordChild0,
26642 OPC_SwitchType , 9, MVT::v8i16,
26643 OPC_CheckChild0Type, MVT::v16i8,
26644 OPC_CheckPatternPredicate0,
26645 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLB),
26646 MVT::v8i16, 1, 0,
26647 9, MVT::v4i32,
26648 OPC_CheckChild0Type, MVT::v8i16,
26649 OPC_CheckPatternPredicate0,
26650 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLHW),
26651 MVT::v4i32, 1, 0,
26652 9, MVT::v2i64,
26653 OPC_CheckChild0Type, MVT::v4i32,
26654 OPC_CheckPatternPredicate0,
26655 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLF),
26656 MVT::v2i64, 1, 0,
26657 0,
26658 36, TARGET_VAL(SystemZISD::UNPACKL_LOW),
26659 OPC_RecordChild0,
26660 OPC_SwitchType , 9, MVT::v8i16,
26661 OPC_CheckChild0Type, MVT::v16i8,
26662 OPC_CheckPatternPredicate0,
26663 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLLB),
26664 MVT::v8i16, 1, 0,
26665 9, MVT::v4i32,
26666 OPC_CheckChild0Type, MVT::v8i16,
26667 OPC_CheckPatternPredicate0,
26668 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLLH),
26669 MVT::v4i32, 1, 0,
26670 9, MVT::v2i64,
26671 OPC_CheckChild0Type, MVT::v4i32,
26672 OPC_CheckPatternPredicate0,
26673 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VUPLLF),
26674 MVT::v2i64, 1, 0,
26675 0,
26676 47, TARGET_VAL(ISD::CTTZ),
26677 OPC_RecordChild0,
26678 OPC_SwitchType , 9, MVT::v16i8,
26679 OPC_CheckChild0Type, MVT::v16i8,
26680 OPC_CheckPatternPredicate0,
26681 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCTZB),
26682 MVT::v16i8, 1, 0,
26683 9, MVT::v8i16,
26684 OPC_CheckChild0Type, MVT::v8i16,
26685 OPC_CheckPatternPredicate0,
26686 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCTZH),
26687 MVT::v8i16, 1, 0,
26688 9, MVT::v4i32,
26689 OPC_CheckChild0Type, MVT::v4i32,
26690 OPC_CheckPatternPredicate0,
26691 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCTZF),
26692 MVT::v4i32, 1, 0,
26693 9, MVT::v2i64,
26694 OPC_CheckChild0Type, MVT::v2i64,
26695 OPC_CheckPatternPredicate0,
26696 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCTZG),
26697 MVT::v2i64, 1, 0,
26698 0,
26699 44, TARGET_VAL(SystemZISD::VICMPE),
26700 OPC_RecordChild0,
26701 OPC_RecordChild1,
26702 OPC_SwitchType , 8, MVT::v16i8,
26703 OPC_CheckPatternPredicate0,
26704 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEQB),
26705 MVT::v16i8, 2, 0, 1,
26706 8, MVT::v8i16,
26707 OPC_CheckPatternPredicate0,
26708 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEQH),
26709 MVT::v8i16, 2, 0, 1,
26710 8, MVT::v4i32,
26711 OPC_CheckPatternPredicate0,
26712 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEQF),
26713 MVT::v4i32, 2, 0, 1,
26714 8, MVT::v2i64,
26715 OPC_CheckPatternPredicate0,
26716 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCEQG),
26717 MVT::v2i64, 2, 0, 1,
26718 0,
26719 56, TARGET_VAL(SystemZISD::VICMPES),
26720 OPC_RecordChild0,
26721 OPC_RecordChild1,
26722 OPC_SwitchType , 11, MVT::v16i8,
26723 OPC_CheckChild1Type, MVT::v16i8,
26724 OPC_CheckPatternPredicate0,
26725 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCEQBS),
26726 MVT::v16i8, MVT::i32, 2, 0, 1,
26727 11, MVT::v8i16,
26728 OPC_CheckChild1Type, MVT::v8i16,
26729 OPC_CheckPatternPredicate0,
26730 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCEQHS),
26731 MVT::v8i16, MVT::i32, 2, 0, 1,
26732 11, MVT::v4i32,
26733 OPC_CheckChild1Type, MVT::v4i32,
26734 OPC_CheckPatternPredicate0,
26735 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCEQFS),
26736 MVT::v4i32, MVT::i32, 2, 0, 1,
26737 11, MVT::v2i64,
26738 OPC_CheckChild1Type, MVT::v2i64,
26739 OPC_CheckPatternPredicate0,
26740 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCEQGS),
26741 MVT::v2i64, MVT::i32, 2, 0, 1,
26742 0,
26743 44, TARGET_VAL(SystemZISD::VICMPH),
26744 OPC_RecordChild0,
26745 OPC_RecordChild1,
26746 OPC_SwitchType , 8, MVT::v16i8,
26747 OPC_CheckPatternPredicate0,
26748 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHB),
26749 MVT::v16i8, 2, 0, 1,
26750 8, MVT::v8i16,
26751 OPC_CheckPatternPredicate0,
26752 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHH),
26753 MVT::v8i16, 2, 0, 1,
26754 8, MVT::v4i32,
26755 OPC_CheckPatternPredicate0,
26756 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHF),
26757 MVT::v4i32, 2, 0, 1,
26758 8, MVT::v2i64,
26759 OPC_CheckPatternPredicate0,
26760 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHG),
26761 MVT::v2i64, 2, 0, 1,
26762 0,
26763 56, TARGET_VAL(SystemZISD::VICMPHS),
26764 OPC_RecordChild0,
26765 OPC_RecordChild1,
26766 OPC_SwitchType , 11, MVT::v16i8,
26767 OPC_CheckChild1Type, MVT::v16i8,
26768 OPC_CheckPatternPredicate0,
26769 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHBS),
26770 MVT::v16i8, MVT::i32, 2, 0, 1,
26771 11, MVT::v8i16,
26772 OPC_CheckChild1Type, MVT::v8i16,
26773 OPC_CheckPatternPredicate0,
26774 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHHS),
26775 MVT::v8i16, MVT::i32, 2, 0, 1,
26776 11, MVT::v4i32,
26777 OPC_CheckChild1Type, MVT::v4i32,
26778 OPC_CheckPatternPredicate0,
26779 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHFS),
26780 MVT::v4i32, MVT::i32, 2, 0, 1,
26781 11, MVT::v2i64,
26782 OPC_CheckChild1Type, MVT::v2i64,
26783 OPC_CheckPatternPredicate0,
26784 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHGS),
26785 MVT::v2i64, MVT::i32, 2, 0, 1,
26786 0,
26787 44, TARGET_VAL(SystemZISD::VICMPHL),
26788 OPC_RecordChild0,
26789 OPC_RecordChild1,
26790 OPC_SwitchType , 8, MVT::v16i8,
26791 OPC_CheckPatternPredicate0,
26792 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHLB),
26793 MVT::v16i8, 2, 0, 1,
26794 8, MVT::v8i16,
26795 OPC_CheckPatternPredicate0,
26796 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHLH),
26797 MVT::v8i16, 2, 0, 1,
26798 8, MVT::v4i32,
26799 OPC_CheckPatternPredicate0,
26800 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHLF),
26801 MVT::v4i32, 2, 0, 1,
26802 8, MVT::v2i64,
26803 OPC_CheckPatternPredicate0,
26804 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VCHLG),
26805 MVT::v2i64, 2, 0, 1,
26806 0,
26807 56, TARGET_VAL(SystemZISD::VICMPHLS),
26808 OPC_RecordChild0,
26809 OPC_RecordChild1,
26810 OPC_SwitchType , 11, MVT::v16i8,
26811 OPC_CheckChild1Type, MVT::v16i8,
26812 OPC_CheckPatternPredicate0,
26813 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHLBS),
26814 MVT::v16i8, MVT::i32, 2, 0, 1,
26815 11, MVT::v8i16,
26816 OPC_CheckChild1Type, MVT::v8i16,
26817 OPC_CheckPatternPredicate0,
26818 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHLHS),
26819 MVT::v8i16, MVT::i32, 2, 0, 1,
26820 11, MVT::v4i32,
26821 OPC_CheckChild1Type, MVT::v4i32,
26822 OPC_CheckPatternPredicate0,
26823 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHLFS),
26824 MVT::v4i32, MVT::i32, 2, 0, 1,
26825 11, MVT::v2i64,
26826 OPC_CheckChild1Type, MVT::v2i64,
26827 OPC_CheckPatternPredicate0,
26828 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VCHLGS),
26829 MVT::v2i64, MVT::i32, 2, 0, 1,
26830 0,
26831 32, TARGET_VAL(SystemZISD::STRICT_VFCMPE),
26832 OPC_RecordNode,
26833 OPC_RecordChild1,
26834 OPC_SwitchType , 12, MVT::v2i64,
26835 OPC_CheckChild1Type, MVT::v2f64,
26836 OPC_RecordChild2,
26837 OPC_CheckPatternPredicate0,
26838 OPC_EmitMergeInputChains1_0,
26839 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCEDB),
26840 MVT::v2i64, 2, 1, 2,
26841 12, MVT::v4i32,
26842 OPC_CheckChild1Type, MVT::v4f32,
26843 OPC_RecordChild2,
26844 OPC_CheckPatternPredicate1,
26845 OPC_EmitMergeInputChains1_0,
26846 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCESB),
26847 MVT::v4i32, 2, 1, 2,
26848 0,
26849 29, TARGET_VAL(SystemZISD::VFCMPE),
26850 OPC_RecordChild0,
26851 OPC_SwitchType , 11, MVT::v2i64,
26852 OPC_CheckChild0Type, MVT::v2f64,
26853 OPC_RecordChild1,
26854 OPC_CheckPatternPredicate0,
26855 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCEDB),
26856 MVT::v2i64, 2, 0, 1,
26857 11, MVT::v4i32,
26858 OPC_CheckChild0Type, MVT::v4f32,
26859 OPC_RecordChild1,
26860 OPC_CheckPatternPredicate1,
26861 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCESB),
26862 MVT::v4i32, 2, 0, 1,
26863 0,
26864 31, TARGET_VAL(SystemZISD::VFCMPES),
26865 OPC_RecordChild0,
26866 OPC_SwitchType , 12, MVT::v2i64,
26867 OPC_CheckChild0Type, MVT::v2f64,
26868 OPC_RecordChild1,
26869 OPC_CheckPatternPredicate0,
26870 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCEDBS),
26871 MVT::v2i64, MVT::i32, 2, 0, 1,
26872 12, MVT::v4i32,
26873 OPC_CheckChild0Type, MVT::v4f32,
26874 OPC_RecordChild1,
26875 OPC_CheckPatternPredicate1,
26876 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCESBS),
26877 MVT::v4i32, MVT::i32, 2, 0, 1,
26878 0,
26879 32, TARGET_VAL(SystemZISD::STRICT_VFCMPES),
26880 OPC_RecordNode,
26881 OPC_RecordChild1,
26882 OPC_SwitchType , 12, MVT::v2i64,
26883 OPC_CheckChild1Type, MVT::v2f64,
26884 OPC_RecordChild2,
26885 OPC_CheckPatternPredicate1,
26886 OPC_EmitMergeInputChains1_0,
26887 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKEDB),
26888 MVT::v2i64, 2, 1, 2,
26889 12, MVT::v4i32,
26890 OPC_CheckChild1Type, MVT::v4f32,
26891 OPC_RecordChild2,
26892 OPC_CheckPatternPredicate1,
26893 OPC_EmitMergeInputChains1_0,
26894 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKESB),
26895 MVT::v4i32, 2, 1, 2,
26896 0,
26897 32, TARGET_VAL(SystemZISD::STRICT_VFCMPH),
26898 OPC_RecordNode,
26899 OPC_RecordChild1,
26900 OPC_SwitchType , 12, MVT::v2i64,
26901 OPC_CheckChild1Type, MVT::v2f64,
26902 OPC_RecordChild2,
26903 OPC_CheckPatternPredicate0,
26904 OPC_EmitMergeInputChains1_0,
26905 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCHDB),
26906 MVT::v2i64, 2, 1, 2,
26907 12, MVT::v4i32,
26908 OPC_CheckChild1Type, MVT::v4f32,
26909 OPC_RecordChild2,
26910 OPC_CheckPatternPredicate1,
26911 OPC_EmitMergeInputChains1_0,
26912 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCHSB),
26913 MVT::v4i32, 2, 1, 2,
26914 0,
26915 29, TARGET_VAL(SystemZISD::VFCMPH),
26916 OPC_RecordChild0,
26917 OPC_SwitchType , 11, MVT::v2i64,
26918 OPC_CheckChild0Type, MVT::v2f64,
26919 OPC_RecordChild1,
26920 OPC_CheckPatternPredicate0,
26921 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCHDB),
26922 MVT::v2i64, 2, 0, 1,
26923 11, MVT::v4i32,
26924 OPC_CheckChild0Type, MVT::v4f32,
26925 OPC_RecordChild1,
26926 OPC_CheckPatternPredicate1,
26927 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCHSB),
26928 MVT::v4i32, 2, 0, 1,
26929 0,
26930 31, TARGET_VAL(SystemZISD::VFCMPHS),
26931 OPC_RecordChild0,
26932 OPC_SwitchType , 12, MVT::v2i64,
26933 OPC_CheckChild0Type, MVT::v2f64,
26934 OPC_RecordChild1,
26935 OPC_CheckPatternPredicate0,
26936 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCHDBS),
26937 MVT::v2i64, MVT::i32, 2, 0, 1,
26938 12, MVT::v4i32,
26939 OPC_CheckChild0Type, MVT::v4f32,
26940 OPC_RecordChild1,
26941 OPC_CheckPatternPredicate1,
26942 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCHSBS),
26943 MVT::v4i32, MVT::i32, 2, 0, 1,
26944 0,
26945 32, TARGET_VAL(SystemZISD::STRICT_VFCMPHS),
26946 OPC_RecordNode,
26947 OPC_RecordChild1,
26948 OPC_SwitchType , 12, MVT::v2i64,
26949 OPC_CheckChild1Type, MVT::v2f64,
26950 OPC_RecordChild2,
26951 OPC_CheckPatternPredicate1,
26952 OPC_EmitMergeInputChains1_0,
26953 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKHDB),
26954 MVT::v2i64, 2, 1, 2,
26955 12, MVT::v4i32,
26956 OPC_CheckChild1Type, MVT::v4f32,
26957 OPC_RecordChild2,
26958 OPC_CheckPatternPredicate1,
26959 OPC_EmitMergeInputChains1_0,
26960 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKHSB),
26961 MVT::v4i32, 2, 1, 2,
26962 0,
26963 32, TARGET_VAL(SystemZISD::STRICT_VFCMPHE),
26964 OPC_RecordNode,
26965 OPC_RecordChild1,
26966 OPC_SwitchType , 12, MVT::v2i64,
26967 OPC_CheckChild1Type, MVT::v2f64,
26968 OPC_RecordChild2,
26969 OPC_CheckPatternPredicate0,
26970 OPC_EmitMergeInputChains1_0,
26971 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCHEDB),
26972 MVT::v2i64, 2, 1, 2,
26973 12, MVT::v4i32,
26974 OPC_CheckChild1Type, MVT::v4f32,
26975 OPC_RecordChild2,
26976 OPC_CheckPatternPredicate1,
26977 OPC_EmitMergeInputChains1_0,
26978 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFCHESB),
26979 MVT::v4i32, 2, 1, 2,
26980 0,
26981 29, TARGET_VAL(SystemZISD::VFCMPHE),
26982 OPC_RecordChild0,
26983 OPC_SwitchType , 11, MVT::v2i64,
26984 OPC_CheckChild0Type, MVT::v2f64,
26985 OPC_RecordChild1,
26986 OPC_CheckPatternPredicate0,
26987 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCHEDB),
26988 MVT::v2i64, 2, 0, 1,
26989 11, MVT::v4i32,
26990 OPC_CheckChild0Type, MVT::v4f32,
26991 OPC_RecordChild1,
26992 OPC_CheckPatternPredicate1,
26993 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VFCHESB),
26994 MVT::v4i32, 2, 0, 1,
26995 0,
26996 31, TARGET_VAL(SystemZISD::VFCMPHES),
26997 OPC_RecordChild0,
26998 OPC_SwitchType , 12, MVT::v2i64,
26999 OPC_CheckChild0Type, MVT::v2f64,
27000 OPC_RecordChild1,
27001 OPC_CheckPatternPredicate0,
27002 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCHEDBS),
27003 MVT::v2i64, MVT::i32, 2, 0, 1,
27004 12, MVT::v4i32,
27005 OPC_CheckChild0Type, MVT::v4f32,
27006 OPC_RecordChild1,
27007 OPC_CheckPatternPredicate1,
27008 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFCHESBS),
27009 MVT::v4i32, MVT::i32, 2, 0, 1,
27010 0,
27011 32, TARGET_VAL(SystemZISD::STRICT_VFCMPHES),
27012 OPC_RecordNode,
27013 OPC_RecordChild1,
27014 OPC_SwitchType , 12, MVT::v2i64,
27015 OPC_CheckChild1Type, MVT::v2f64,
27016 OPC_RecordChild2,
27017 OPC_CheckPatternPredicate1,
27018 OPC_EmitMergeInputChains1_0,
27019 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKHEDB),
27020 MVT::v2i64, 2, 1, 2,
27021 12, MVT::v4i32,
27022 OPC_CheckChild1Type, MVT::v4f32,
27023 OPC_RecordChild2,
27024 OPC_CheckPatternPredicate1,
27025 OPC_EmitMergeInputChains1_0,
27026 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VFKHESB),
27027 MVT::v4i32, 2, 1, 2,
27028 0,
27029 43, TARGET_VAL(SystemZISD::VFEE_CC),
27030 OPC_RecordChild0,
27031 OPC_RecordChild1,
27032 OPC_SwitchType , 11, MVT::v16i8,
27033 OPC_CheckChild1Type, MVT::v16i8,
27034 OPC_CheckPatternPredicate0,
27035 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEBS),
27036 MVT::v16i8, MVT::i32, 2, 0, 1,
27037 11, MVT::v8i16,
27038 OPC_CheckChild1Type, MVT::v8i16,
27039 OPC_CheckPatternPredicate0,
27040 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEHS),
27041 MVT::v8i16, MVT::i32, 2, 0, 1,
27042 11, MVT::v4i32,
27043 OPC_CheckChild1Type, MVT::v4i32,
27044 OPC_CheckPatternPredicate0,
27045 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEFS),
27046 MVT::v4i32, MVT::i32, 2, 0, 1,
27047 0,
27048 43, TARGET_VAL(SystemZISD::VFEEZ_CC),
27049 OPC_RecordChild0,
27050 OPC_RecordChild1,
27051 OPC_SwitchType , 11, MVT::v16i8,
27052 OPC_CheckChild1Type, MVT::v16i8,
27053 OPC_CheckPatternPredicate0,
27054 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEZBS),
27055 MVT::v16i8, MVT::i32, 2, 0, 1,
27056 11, MVT::v8i16,
27057 OPC_CheckChild1Type, MVT::v8i16,
27058 OPC_CheckPatternPredicate0,
27059 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEZHS),
27060 MVT::v8i16, MVT::i32, 2, 0, 1,
27061 11, MVT::v4i32,
27062 OPC_CheckChild1Type, MVT::v4i32,
27063 OPC_CheckPatternPredicate0,
27064 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFEEZFS),
27065 MVT::v4i32, MVT::i32, 2, 0, 1,
27066 0,
27067 43, TARGET_VAL(SystemZISD::VFENE_CC),
27068 OPC_RecordChild0,
27069 OPC_RecordChild1,
27070 OPC_SwitchType , 11, MVT::v16i8,
27071 OPC_CheckChild1Type, MVT::v16i8,
27072 OPC_CheckPatternPredicate0,
27073 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEBS),
27074 MVT::v16i8, MVT::i32, 2, 0, 1,
27075 11, MVT::v8i16,
27076 OPC_CheckChild1Type, MVT::v8i16,
27077 OPC_CheckPatternPredicate0,
27078 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEHS),
27079 MVT::v8i16, MVT::i32, 2, 0, 1,
27080 11, MVT::v4i32,
27081 OPC_CheckChild1Type, MVT::v4i32,
27082 OPC_CheckPatternPredicate0,
27083 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEFS),
27084 MVT::v4i32, MVT::i32, 2, 0, 1,
27085 0,
27086 43, TARGET_VAL(SystemZISD::VFENEZ_CC),
27087 OPC_RecordChild0,
27088 OPC_RecordChild1,
27089 OPC_SwitchType , 11, MVT::v16i8,
27090 OPC_CheckChild1Type, MVT::v16i8,
27091 OPC_CheckPatternPredicate0,
27092 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEZBS),
27093 MVT::v16i8, MVT::i32, 2, 0, 1,
27094 11, MVT::v8i16,
27095 OPC_CheckChild1Type, MVT::v8i16,
27096 OPC_CheckPatternPredicate0,
27097 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEZHS),
27098 MVT::v8i16, MVT::i32, 2, 0, 1,
27099 11, MVT::v4i32,
27100 OPC_CheckChild1Type, MVT::v4i32,
27101 OPC_CheckPatternPredicate0,
27102 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VFENEZFS),
27103 MVT::v4i32, MVT::i32, 2, 0, 1,
27104 0,
27105 33, TARGET_VAL(SystemZISD::VISTR_CC),
27106 OPC_RecordChild0,
27107 OPC_SwitchType , 8, MVT::v16i8,
27108 OPC_CheckPatternPredicate0,
27109 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VISTRBS),
27110 MVT::v16i8, MVT::i32, 1, 0,
27111 8, MVT::v8i16,
27112 OPC_CheckPatternPredicate0,
27113 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VISTRHS),
27114 MVT::v8i16, MVT::i32, 1, 0,
27115 8, MVT::v4i32,
27116 OPC_CheckPatternPredicate0,
27117 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VISTRFS),
27118 MVT::v4i32, MVT::i32, 1, 0,
27119 0,
27120 59, TARGET_VAL(SystemZISD::VSTRS_CC),
27121 OPC_RecordChild0,
27122 OPC_CheckType, MVT::v16i8,
27123 OPC_Scope, 17,
27124 OPC_CheckChild0Type, MVT::v16i8,
27125 OPC_RecordChild1,
27126 OPC_RecordChild2,
27127 OPC_CheckPatternPredicate5,
27128 OPC_EmitInteger32, 0,
27129 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSB),
27130 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 3,
27131 17,
27132 OPC_CheckChild0Type, MVT::v8i16,
27133 OPC_RecordChild1,
27134 OPC_RecordChild2,
27135 OPC_CheckPatternPredicate5,
27136 OPC_EmitInteger32, 0,
27137 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSH),
27138 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 3,
27139 17,
27140 OPC_CheckChild0Type, MVT::v4i32,
27141 OPC_RecordChild1,
27142 OPC_RecordChild2,
27143 OPC_CheckPatternPredicate5,
27144 OPC_EmitInteger32, 0,
27145 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSF),
27146 MVT::v16i8, MVT::i32, 4, 0, 1, 2, 3,
27147 0,
27148 50, TARGET_VAL(SystemZISD::VSTRSZ_CC),
27149 OPC_RecordChild0,
27150 OPC_CheckType, MVT::v16i8,
27151 OPC_Scope, 14,
27152 OPC_CheckChild0Type, MVT::v16i8,
27153 OPC_RecordChild1,
27154 OPC_RecordChild2,
27155 OPC_CheckPatternPredicate5,
27156 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSZB),
27157 MVT::v16i8, MVT::i32, 3, 0, 1, 2,
27158 14,
27159 OPC_CheckChild0Type, MVT::v8i16,
27160 OPC_RecordChild1,
27161 OPC_RecordChild2,
27162 OPC_CheckPatternPredicate5,
27163 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSZH),
27164 MVT::v16i8, MVT::i32, 3, 0, 1, 2,
27165 14,
27166 OPC_CheckChild0Type, MVT::v4i32,
27167 OPC_RecordChild1,
27168 OPC_RecordChild2,
27169 OPC_CheckPatternPredicate5,
27170 OPC_MorphNodeTo2None, TARGET_VAL(SystemZ::VSTRSZF),
27171 MVT::v16i8, MVT::i32, 3, 0, 1, 2,
27172 0,
27173 14, TARGET_VAL(SystemZISD::STRICT_VEXTEND),
27174 OPC_RecordNode,
27175 OPC_RecordChild1,
27176 OPC_CheckChild1Type, MVT::v4f32,
27177 OPC_CheckType, MVT::v2f64,
27178 OPC_CheckPatternPredicate0,
27179 OPC_EmitMergeInputChains1_0,
27180 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLDEB),
27181 MVT::v2f64, 1, 1,
27182 12, TARGET_VAL(SystemZISD::VEXTEND),
27183 OPC_RecordChild0,
27184 OPC_CheckChild0Type, MVT::v4f32,
27185 OPC_CheckType, MVT::v2f64,
27186 OPC_CheckPatternPredicate0,
27187 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLDEB),
27188 MVT::v2f64, 1, 0,
27189 20, TARGET_VAL(SystemZISD::STRICT_VROUND),
27190 OPC_RecordNode,
27191 OPC_RecordChild1,
27192 OPC_CheckChild1Type, MVT::v2f64,
27193 OPC_CheckType, MVT::v4f32,
27194 OPC_CheckPatternPredicate0,
27195 OPC_EmitMergeInputChains1_0,
27196 OPC_EmitInteger32, 0,
27197 OPC_EmitInteger32, 0,
27198 OPC_MorphNodeTo1Chain, TARGET_VAL(SystemZ::VLEDB),
27199 MVT::v4f32, 3, 1, 2, 3,
27200 18, TARGET_VAL(SystemZISD::VROUND),
27201 OPC_RecordChild0,
27202 OPC_CheckChild0Type, MVT::v2f64,
27203 OPC_CheckType, MVT::v4f32,
27204 OPC_CheckPatternPredicate0,
27205 OPC_EmitInteger32, 0,
27206 OPC_EmitInteger32, 0,
27207 OPC_MorphNodeTo1None, TARGET_VAL(SystemZ::VLEDB),
27208 MVT::v4f32, 3, 0, 1, 2,
27209 0,
27210 0
27211 }; // Total Array size is 56243 bytes
27212
27213 #undef TARGET_VAL
27214 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
27215}
27216#endif // GET_DAGISEL_BODY
27217
27218#ifdef GET_DAGISEL_DECL
27219bool CheckPatternPredicate(unsigned PredNo) const override;
27220#endif
27221#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
27222bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
27223#if DAGISEL_INLINE
27224 override
27225#endif
27226{
27227 switch (PredNo) {
27228 default: llvm_unreachable("Invalid predicate in table?");
27229 case 0: return (Subtarget->hasVector());
27230 case 1: return (Subtarget->hasVectorEnhancements1());
27231 case 2: return (Subtarget->hasHighWord());
27232 case 3: return (Subtarget->hasFPExtension());
27233 case 4: return (!Subtarget->hasVectorEnhancements1());
27234 case 5: return (Subtarget->hasVectorEnhancements2());
27235 case 6: return (Subtarget->hasDistinctOps());
27236 case 7: return (Subtarget->hasMiscellaneousExtensions3());
27237 case 8: return (Subtarget->hasMiscellaneousExtensions2());
27238 case 9: return (Subtarget->hasInterlockedAccess1());
27239 case 10: return (Subtarget->hasTransactionalExecution());
27240 case 11: return (Subtarget->hasLoadStoreOnCond2());
27241 case 12: return (Subtarget->isTargetXPLINK64());
27242 case 13: return (Subtarget->hasLoadAndZeroRightmostByte());
27243 case 14: return (Subtarget->hasNNPAssist()) && (Subtarget->hasVector());
27244 case 15: return (Subtarget->isTargetELF());
27245 case 16: return (Subtarget->hasLoadStoreOnCond());
27246 case 17: return (Subtarget->hasVectorPackedDecimal());
27247 case 18: return (!Subtarget->hasLoadStoreOnCond());
27248 case 19: return (Subtarget->hasDistinctOps()) && (Subtarget->hasHighWord());
27249 case 20: return (Subtarget->hasProcessorAssist());
27250 case 21: return (Subtarget->hasPopulationCount());
27251 }
27252}
27253#endif // GET_DAGISEL_BODY
27254
27255#ifdef GET_DAGISEL_DECL
27256bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
27257#endif
27258#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
27259bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
27260#if DAGISEL_INLINE
27261 override
27262#endif
27263{
27264 switch (PredNo) {
27265 default: llvm_unreachable("Invalid predicate in table?");
27266 case 0: {
27267 // Predicate_unindexedload
27268 SDNode *N = Node;
27269 (void)N;
27270if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
27271return true;
27272
27273 }
27274 case 1: {
27275 // Predicate_z_load
27276 SDNode *N = Node;
27277 (void)N;
27278
27279 if (auto *AL = dyn_cast<AtomicSDNode>(Val: N))
27280 if (AL->getExtensionType() != ISD::NON_EXTLOAD)
27281 return false;
27282 return true;
27283
27284 }
27285 case 2: {
27286 // Predicate_unindexedstore
27287 SDNode *N = Node;
27288 (void)N;
27289if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
27290return true;
27291
27292 }
27293 case 3: {
27294 // Predicate_load
27295 SDNode *N = Node;
27296 (void)N;
27297if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
27298return true;
27299
27300 }
27301 case 4: {
27302 // Predicate_imm32zx4
27303 // Predicate_imm32zx4_timm
27304 // Predicate_imm32zx4even_timm
27305 auto *N = cast<ConstantSDNode>(Val: Node);
27306 (void)N;
27307
27308 return N->getAPIntValue().isIntN(N: 4);
27309
27310 }
27311 case 5: {
27312 // Predicate_anyextload
27313 SDNode *N = Node;
27314 (void)N;
27315
27316 return cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD;
27317
27318 }
27319 case 6: {
27320 // Predicate_z_anyextloadi16
27321 // Predicate_z_asextloadi16
27322 // Predicate_z_azextloadi16
27323 // Predicate_z_extloadi16
27324 // Predicate_z_sextloadi16
27325 // Predicate_z_zextloadi16
27326 SDNode *N = Node;
27327 (void)N;
27328
27329 return cast<MemSDNode>(Val: N)->getMemoryVT() == MVT::i16;
27330
27331 }
27332 case 7: {
27333 // Predicate_z_anyextloadi8
27334 // Predicate_z_asextloadi8
27335 // Predicate_z_azextloadi8
27336 // Predicate_z_extloadi8
27337 // Predicate_z_sextloadi8
27338 // Predicate_z_zextloadi8
27339 SDNode *N = Node;
27340 (void)N;
27341
27342 return cast<MemSDNode>(Val: N)->getMemoryVT() == MVT::i8;
27343
27344 }
27345 case 8: {
27346 // Predicate_z_azextload
27347 SDNode *N = Node;
27348 (void)N;
27349
27350 ISD::LoadExtType ETy = getLoadExtType(N);
27351 return ETy == ISD::EXTLOAD || ETy == ISD::ZEXTLOAD;
27352
27353 }
27354 case 9: {
27355 // Predicate_z_asextloadi32
27356 // Predicate_z_azextloadi32
27357 // Predicate_z_extloadi32
27358 // Predicate_z_sextloadi32
27359 // Predicate_z_zextloadi32
27360 SDNode *N = Node;
27361 (void)N;
27362
27363 return cast<MemSDNode>(Val: N)->getMemoryVT() == MVT::i32;
27364
27365 }
27366 case 10: {
27367 // Predicate_block_and1
27368 // Predicate_block_or1
27369 // Predicate_block_xor1
27370 SDNode *N = Node;
27371 (void)N;
27372 return storeLoadCanUseBlockBinary(N, I: 0);
27373 }
27374 case 11: {
27375 // Predicate_block_and2
27376 // Predicate_block_or2
27377 // Predicate_block_xor2
27378 SDNode *N = Node;
27379 (void)N;
27380 return storeLoadCanUseBlockBinary(N, I: 1);
27381 }
27382 case 12: {
27383 // Predicate_z_asextload
27384 SDNode *N = Node;
27385 (void)N;
27386
27387 ISD::LoadExtType ETy = getLoadExtType(N);
27388 return ETy == ISD::EXTLOAD || ETy == ISD::SEXTLOAD;
27389
27390 }
27391 case 13: {
27392 // Predicate_truncstore
27393 SDNode *N = Node;
27394 (void)N;
27395 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
27396return true;
27397
27398 }
27399 case 14: {
27400 // Predicate_store
27401 SDNode *N = Node;
27402 (void)N;
27403 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
27404return true;
27405
27406 }
27407 case 15: {
27408 // Predicate_aligned_store
27409 // Predicate_aligned_truncstorei16
27410 // Predicate_aligned_truncstorei32
27411 // Predicate_aligned_z_asextloadi16
27412 // Predicate_aligned_z_asextloadi32
27413 // Predicate_aligned_z_azextloadi16
27414 // Predicate_aligned_z_azextloadi32
27415 // Predicate_aligned_z_load
27416 SDNode *N = Node;
27417 (void)N;
27418 return storeLoadIsAligned(N);
27419 }
27420 case 16: {
27421 // Predicate_z_scmp
27422 SDNode *N = Node;
27423 (void)N;
27424
27425 unsigned Type = N->getConstantOperandVal(Num: 2);
27426 return Type != SystemZICMP::UnsignedOnly;
27427
27428 }
27429 case 17: {
27430 // Predicate_anyextloadi8
27431 SDNode *N = Node;
27432 (void)N;
27433
27434 return cast<LoadSDNode>(Val: N)->getMemoryVT() == MVT::i8;
27435
27436 }
27437 case 18: {
27438 // Predicate_anyextloadi16
27439 SDNode *N = Node;
27440 (void)N;
27441
27442 return cast<LoadSDNode>(Val: N)->getMemoryVT() == MVT::i16;
27443
27444 }
27445 case 19: {
27446 // Predicate_z_ucmp
27447 SDNode *N = Node;
27448 (void)N;
27449
27450 unsigned Type = N->getConstantOperandVal(Num: 2);
27451 return Type != SystemZICMP::SignedOnly;
27452
27453 }
27454 case 20: {
27455 // Predicate_imm32sx16
27456 // Predicate_imm64sx16
27457 auto *N = cast<ConstantSDNode>(Val: Node);
27458 (void)N;
27459
27460 return N->getAPIntValue().isSignedIntN(N: 16);
27461
27462 }
27463 case 21: {
27464 // Predicate_truncstorei8
27465 SDNode *N = Node;
27466 (void)N;
27467if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
27468 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
27469return true;
27470
27471 }
27472 case 22: {
27473 // Predicate_z_any_fadd_noreassoc
27474 // Predicate_z_any_fmul_noreassoc
27475 // Predicate_z_any_fsub_noreassoc
27476 SDNode *N = Node;
27477 (void)N;
27478 return !shouldSelectForReassoc(N);
27479 }
27480 case 23: {
27481 // Predicate_z_anyextload
27482 SDNode *N = Node;
27483 (void)N;
27484
27485 return getLoadExtType(N) != ISD::NON_EXTLOAD;
27486
27487 }
27488 case 24: {
27489 // Predicate_imm32bottom7set
27490 auto *N = cast<ConstantSDNode>(Val: Node);
27491 (void)N;
27492
27493 return (N->getZExtValue() & 0x7f) == 0x7f;
27494
27495 }
27496 case 25: {
27497 // Predicate_or_as_inserti8
27498 SDNode *N = Node;
27499 (void)N;
27500
27501 unsigned BitWidth = N->getValueType(ResNo: 0).getScalarSizeInBits();
27502 return CurDAG->MaskedValueIsZero(Op: N->getOperand(Num: 0),
27503 Mask: APInt::getLowBitsSet(numBits: BitWidth, loBitsSet: 8));
27504
27505 }
27506 case 26: {
27507 // Predicate_or_as_revinserti8
27508 SDNode *N = Node;
27509 (void)N;
27510
27511 unsigned BitWidth = N->getValueType(ResNo: 0).getScalarSizeInBits();
27512 return CurDAG->MaskedValueIsZero(Op: N->getOperand(Num: 1),
27513 Mask: APInt::getLowBitsSet(numBits: BitWidth, loBitsSet: 8));
27514
27515 }
27516 case 27: {
27517 // Predicate_anyextloadi32
27518 SDNode *N = Node;
27519 (void)N;
27520
27521 return cast<LoadSDNode>(Val: N)->getMemoryVT() == MVT::i32;
27522
27523 }
27524 case 28: {
27525 // Predicate_nonvolatile_anyextloadi16
27526 // Predicate_nonvolatile_anyextloadi32
27527 // Predicate_nonvolatile_anyextloadi8
27528 SDNode *N = Node;
27529 (void)N;
27530
27531 auto *Load = cast<LoadSDNode>(Val: N);
27532 return !Load->isVolatile();
27533
27534 }
27535 case 29: {
27536 // Predicate_nonvolatile_truncstorei16
27537 // Predicate_nonvolatile_truncstorei32
27538 // Predicate_nonvolatile_truncstorei8
27539 SDNode *N = Node;
27540 (void)N;
27541
27542 auto *Store = cast<StoreSDNode>(Val: N);
27543 return !Store->isVolatile();
27544
27545 }
27546 case 30: {
27547 // Predicate_imm32zx8
27548 // Predicate_imm32zx8_timm
27549 auto *N = cast<ConstantSDNode>(Val: Node);
27550 (void)N;
27551
27552 return N->getAPIntValue().isIntN(N: 8);
27553
27554 }
27555 case 31: {
27556 // Predicate_truncstorei16
27557 SDNode *N = Node;
27558 (void)N;
27559if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
27560 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
27561return true;
27562
27563 }
27564 case 32: {
27565 // Predicate_extload
27566 SDNode *N = Node;
27567 (void)N;
27568if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
27569return true;
27570
27571 }
27572 case 33: {
27573 // Predicate_simple_load
27574 SDNode *N = Node;
27575 (void)N;
27576
27577 return cast<LoadSDNode>(Val: N)->isSimple();
27578
27579 }
27580 case 34: {
27581 // Predicate_simple_store
27582 SDNode *N = Node;
27583 (void)N;
27584
27585 return cast<StoreSDNode>(Val: N)->isSimple();
27586
27587 }
27588 case 35: {
27589 // Predicate_mvc_store
27590 SDNode *N = Node;
27591 (void)N;
27592 return storeLoadCanUseMVC(N);
27593 }
27594 case 36: {
27595 // Predicate_imm32zx2
27596 auto *N = cast<ConstantSDNode>(Val: Node);
27597 (void)N;
27598
27599 return N->getAPIntValue().isIntN(N: 2);
27600
27601 }
27602 case 37: {
27603 // Predicate_imm32zx1
27604 auto *N = cast<ConstantSDNode>(Val: Node);
27605 (void)N;
27606
27607 return N->getAPIntValue().isIntN(N: 1);
27608
27609 }
27610 case 38: {
27611 // Predicate_imm32lh16
27612 auto *N = cast<ConstantSDNode>(Val: Node);
27613 (void)N;
27614
27615 return N->getAPIntValue().isIntN(N: 32) && SystemZ::isImmLH(Val: N->getZExtValue());
27616
27617 }
27618 case 39: {
27619 // Predicate_cond4
27620 auto *N = cast<ConstantSDNode>(Val: Node);
27621 (void)N;
27622 return (N->getZExtValue() < 16);
27623 }
27624 case 40: {
27625 // Predicate_imm32zx16
27626 // Predicate_imm32zx16_timm
27627 // Predicate_imm64zx16
27628 auto *N = cast<ConstantSDNode>(Val: Node);
27629 (void)N;
27630
27631 return N->getAPIntValue().isIntN(N: 16);
27632
27633 }
27634 case 41: {
27635 // Predicate_imm32sx16n
27636 // Predicate_imm64sx16n
27637 auto *N = cast<ConstantSDNode>(Val: Node);
27638 (void)N;
27639
27640 return (-N->getAPIntValue()).isSignedIntN(N: 16);
27641
27642 }
27643 case 42: {
27644 // Predicate_imm32ll16
27645 auto *N = cast<ConstantSDNode>(Val: Node);
27646 (void)N;
27647
27648 return N->getAPIntValue().isIntN(N: 32) && SystemZ::isImmLL(Val: N->getZExtValue());
27649
27650 }
27651 case 43: {
27652 // Predicate_imm32nobytes
27653 auto *N = cast<ConstantSDNode>(Val: Node);
27654 (void)N;
27655
27656 return (N->getZExtValue() & 0x78) == 0;
27657
27658 }
27659 case 44: {
27660 // Predicate_imm32nobits
27661 auto *N = cast<ConstantSDNode>(Val: Node);
27662 (void)N;
27663
27664 return (N->getZExtValue() & 0x07) == 0;
27665
27666 }
27667 case 45: {
27668 // Predicate_truncstorei32
27669 SDNode *N = Node;
27670 (void)N;
27671if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
27672 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
27673return true;
27674
27675 }
27676 case 46: {
27677 // Predicate_extloadf32
27678 SDNode *N = Node;
27679 (void)N;
27680if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::f32) return false;
27681return true;
27682
27683 }
27684 case 47: {
27685 // Predicate_extloadf64
27686 SDNode *N = Node;
27687 (void)N;
27688if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::f64) return false;
27689return true;
27690
27691 }
27692 case 48: {
27693 // Predicate_z_loadbswap64
27694 // Predicate_z_storebswap64
27695 SDNode *N = Node;
27696 (void)N;
27697
27698 return cast<MemIntrinsicSDNode>(Val: N)->getMemoryVT() == MVT::i64;
27699
27700 }
27701 case 49: {
27702 // Predicate_fpimm0
27703 auto *N = cast<ConstantFPSDNode>(Val: Node);
27704 (void)N;
27705 return N->isExactlyValue(V: +0.0);
27706 }
27707 case 50: {
27708 // Predicate_fpimmneg0
27709 auto *N = cast<ConstantFPSDNode>(Val: Node);
27710 (void)N;
27711 return N->isExactlyValue(V: -0.0);
27712 }
27713 case 51: {
27714 // Predicate_imm32zx3
27715 auto *N = cast<ConstantSDNode>(Val: Node);
27716 (void)N;
27717
27718 return N->getAPIntValue().isIntN(N: 3);
27719
27720 }
27721 case 52: {
27722 // Predicate_z_extloadi64
27723 // Predicate_z_sextloadi64
27724 // Predicate_z_zextloadi64
27725 SDNode *N = Node;
27726 (void)N;
27727
27728 return cast<MemSDNode>(Val: N)->getMemoryVT() == MVT::i64;
27729
27730 }
27731 case 53: {
27732 // Predicate_z_loadbswap16
27733 // Predicate_z_storebswap16
27734 SDNode *N = Node;
27735 (void)N;
27736
27737 return cast<MemIntrinsicSDNode>(Val: N)->getMemoryVT() == MVT::i16;
27738
27739 }
27740 case 54: {
27741 // Predicate_z_loadbswap32
27742 // Predicate_z_storebswap32
27743 SDNode *N = Node;
27744 (void)N;
27745
27746 return cast<MemIntrinsicSDNode>(Val: N)->getMemoryVT() == MVT::i32;
27747
27748 }
27749 case 55: {
27750 // Predicate_imm64hf32
27751 auto *N = cast<ConstantSDNode>(Val: Node);
27752 (void)N;
27753
27754 return N->getAPIntValue().isIntN(N: 64) && SystemZ::isImmHF(Val: N->getZExtValue());
27755
27756 }
27757 case 56: {
27758 // Predicate_imm32lh16c
27759 auto *N = cast<ConstantSDNode>(Val: Node);
27760 (void)N;
27761
27762 return N->getAPIntValue().isIntN(N: 32) &&
27763 SystemZ::isImmLH(Val: uint32_t(~N->getZExtValue()));
27764
27765 }
27766 case 57: {
27767 // Predicate_imm64sx32
27768 auto *N = cast<ConstantSDNode>(Val: Node);
27769 (void)N;
27770
27771 return N->getAPIntValue().isSignedIntN(N: 32);
27772
27773 }
27774 case 58: {
27775 // Predicate_imm64zx32
27776 auto *N = cast<ConstantSDNode>(Val: Node);
27777 (void)N;
27778
27779 return N->getAPIntValue().isIntN(N: 32);
27780
27781 }
27782 case 59: {
27783 // Predicate_imm32sx8
27784 // Predicate_imm64sx8
27785 auto *N = cast<ConstantSDNode>(Val: Node);
27786 (void)N;
27787
27788 return N->getAPIntValue().isSignedIntN(N: 8);
27789
27790 }
27791 case 60: {
27792 // Predicate_imm64ll16
27793 auto *N = cast<ConstantSDNode>(Val: Node);
27794 (void)N;
27795
27796 return N->getAPIntValue().isIntN(N: 64) && SystemZ::isImmLL(Val: N->getZExtValue());
27797
27798 }
27799 case 61: {
27800 // Predicate_imm64lh16
27801 auto *N = cast<ConstantSDNode>(Val: Node);
27802 (void)N;
27803
27804 return N->getAPIntValue().isIntN(N: 64) && SystemZ::isImmLH(Val: N->getZExtValue());
27805
27806 }
27807 case 62: {
27808 // Predicate_imm64hl16
27809 auto *N = cast<ConstantSDNode>(Val: Node);
27810 (void)N;
27811
27812 return N->getAPIntValue().isIntN(N: 64) && SystemZ::isImmHL(Val: N->getZExtValue());
27813
27814 }
27815 case 63: {
27816 // Predicate_imm64hh16
27817 auto *N = cast<ConstantSDNode>(Val: Node);
27818 (void)N;
27819
27820 return N->getAPIntValue().isIntN(N: 64) && SystemZ::isImmHH(Val: N->getZExtValue());
27821
27822 }
27823 case 64: {
27824 // Predicate_imm64lf32
27825 auto *N = cast<ConstantSDNode>(Val: Node);
27826 (void)N;
27827
27828 return N->getAPIntValue().isIntN(N: 64) && SystemZ::isImmLF(Val: N->getZExtValue());
27829
27830 }
27831 case 65: {
27832 // Predicate_simm32n
27833 auto *N = cast<ConstantSDNode>(Val: Node);
27834 (void)N;
27835
27836 auto SImm = N->getAPIntValue().trySExtValue();
27837 return SImm.has_value() && isInt<32>(x: -*SImm);
27838
27839 }
27840 case 66: {
27841 // Predicate_imm32bottom6set
27842 auto *N = cast<ConstantSDNode>(Val: Node);
27843 (void)N;
27844
27845 return (N->getZExtValue() & 0x3f) == 0x3f;
27846
27847 }
27848 case 67: {
27849 // Predicate_imm32mod64
27850 auto *N = cast<ConstantSDNode>(Val: Node);
27851 (void)N;
27852
27853 return (N->getZExtValue() % 64 == 0);
27854
27855 }
27856 case 68: {
27857 // Predicate_atomic_load_add_i32
27858 // Predicate_atomic_load_and_i32
27859 // Predicate_atomic_load_or_i32
27860 // Predicate_atomic_load_xor_i32
27861 SDNode *N = Node;
27862 (void)N;
27863if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
27864return true;
27865
27866 }
27867 case 69: {
27868 // Predicate_atomic_load_add_i64
27869 // Predicate_atomic_load_and_i64
27870 // Predicate_atomic_load_or_i64
27871 // Predicate_atomic_load_xor_i64
27872 SDNode *N = Node;
27873 (void)N;
27874if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
27875return true;
27876
27877 }
27878 case 70: {
27879 // Predicate_imm32ll16c
27880 auto *N = cast<ConstantSDNode>(Val: Node);
27881 (void)N;
27882
27883 return N->getAPIntValue().isIntN(N: 32) &&
27884 SystemZ::isImmLL(Val: uint32_t(~N->getZExtValue()));
27885
27886 }
27887 case 71: {
27888 // Predicate_truncstorei64
27889 SDNode *N = Node;
27890 (void)N;
27891if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
27892 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
27893return true;
27894
27895 }
27896 case 72: {
27897 // Predicate_z_extload
27898 SDNode *N = Node;
27899 (void)N;
27900
27901 return getLoadExtType(N) == ISD::EXTLOAD;
27902
27903 }
27904 case 73: {
27905 // Predicate_z_zextload
27906 SDNode *N = Node;
27907 (void)N;
27908
27909 return getLoadExtType(N) == ISD::ZEXTLOAD;
27910
27911 }
27912 case 74: {
27913 // Predicate_z_sextload
27914 SDNode *N = Node;
27915 (void)N;
27916
27917 return getLoadExtType(N) == ISD::SEXTLOAD;
27918
27919 }
27920 case 75: {
27921 // Predicate_imm64sx32n
27922 auto *N = cast<ConstantSDNode>(Val: Node);
27923 (void)N;
27924
27925 return (-N->getAPIntValue()).isSignedIntN(N: 32);
27926
27927 }
27928 case 76: {
27929 // Predicate_imm32zx12_timm
27930 auto *N = cast<ConstantSDNode>(Val: Node);
27931 (void)N;
27932
27933 return N->getAPIntValue().isIntN(N: 12);
27934
27935 }
27936 case 77: {
27937 // Predicate_imm64ll16c
27938 auto *N = cast<ConstantSDNode>(Val: Node);
27939 (void)N;
27940
27941 return N->getAPIntValue().isIntN(N: 64) &&
27942 SystemZ::isImmLL(Val: uint64_t(~N->getZExtValue()));
27943
27944 }
27945 case 78: {
27946 // Predicate_imm64lh16c
27947 auto *N = cast<ConstantSDNode>(Val: Node);
27948 (void)N;
27949
27950 return N->getAPIntValue().isIntN(N: 64) &&
27951 SystemZ::isImmLH(Val: uint64_t(~N->getZExtValue()));
27952
27953 }
27954 case 79: {
27955 // Predicate_imm64hl16c
27956 auto *N = cast<ConstantSDNode>(Val: Node);
27957 (void)N;
27958
27959 return N->getAPIntValue().isIntN(N: 64) &&
27960 SystemZ::isImmHL(Val: uint64_t(~N->getZExtValue()));
27961
27962 }
27963 case 80: {
27964 // Predicate_imm64hh16c
27965 auto *N = cast<ConstantSDNode>(Val: Node);
27966 (void)N;
27967
27968 return N->getAPIntValue().isIntN(N: 64) &&
27969 SystemZ::isImmHH(Val: uint64_t(~N->getZExtValue()));
27970
27971 }
27972 case 81: {
27973 // Predicate_imm64lf32c
27974 auto *N = cast<ConstantSDNode>(Val: Node);
27975 (void)N;
27976
27977 return N->getAPIntValue().isIntN(N: 64) &&
27978 SystemZ::isImmLF(Val: uint64_t(~N->getZExtValue()));
27979
27980 }
27981 case 82: {
27982 // Predicate_imm64hf32c
27983 auto *N = cast<ConstantSDNode>(Val: Node);
27984 (void)N;
27985
27986 return N->getAPIntValue().isIntN(N: 64) &&
27987 SystemZ::isImmHF(Val: uint64_t(~N->getZExtValue()));
27988
27989 }
27990 case 83: {
27991 // Predicate_imm64lh16n
27992 auto *N = cast<ConstantSDNode>(Val: Node);
27993 (void)N;
27994
27995 return N->getAPIntValue().isIntN(N: 64) &&
27996 SystemZ::isImmLH(Val: uint64_t(-N->getZExtValue()));
27997
27998 }
27999 case 84: {
28000 // Predicate_imm64lf32n
28001 auto *N = cast<ConstantSDNode>(Val: Node);
28002 (void)N;
28003
28004 return N->getAPIntValue().isIntN(N: 64) &&
28005 SystemZ::isImmLF(Val: uint64_t(-N->getZExtValue()));
28006
28007 }
28008 case 85: {
28009 // Predicate_imm64zx32n
28010 auto *N = cast<ConstantSDNode>(Val: Node);
28011 (void)N;
28012
28013 return (-N->getAPIntValue()).isIntN(N: 32);
28014
28015 }
28016 }
28017}
28018#endif // GET_DAGISEL_BODY
28019
28020#ifdef GET_DAGISEL_DECL
28021bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
28022 SDValue N, unsigned PatternNo,
28023 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
28024#endif
28025#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
28026bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
28027 SDValue N, unsigned PatternNo,
28028 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
28029#if DAGISEL_INLINE
28030 override
28031#endif
28032{
28033 unsigned NextRes = Result.size();
28034 switch (PatternNo) {
28035 default: llvm_unreachable("Invalid pattern # in table?");
28036 case 0:
28037 Result.resize(N: NextRes+3);
28038 return selectBDXAddr12Only(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first, Index&: Result[NextRes+2].first);
28039 case 1:
28040 Result.resize(N: NextRes+2);
28041 return selectBDAddr12Only(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
28042 case 2:
28043 Result.resize(N: NextRes+3);
28044 return selectBDXAddr20Only(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first, Index&: Result[NextRes+2].first);
28045 case 3:
28046 Result.resize(N: NextRes+3);
28047 return selectBDXAddr12Pair(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first, Index&: Result[NextRes+2].first);
28048 case 4:
28049 Result.resize(N: NextRes+3);
28050 return selectBDXAddr20Pair(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first, Index&: Result[NextRes+2].first);
28051 case 5:
28052 Result.resize(N: NextRes+1);
28053 return selectPCRelAddress(Addr: N, Target&: Result[NextRes+0].first);
28054 case 6:
28055 Result.resize(N: NextRes+2);
28056 return selectBDAddr20Only(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
28057 case 7:
28058 Result.resize(N: NextRes+2);
28059 return selectBDAddr12Only(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
28060 case 8:
28061 Result.resize(N: NextRes+2);
28062 return selectBDAddr12Pair(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
28063 case 9:
28064 Result.resize(N: NextRes+2);
28065 return selectBDAddr20Pair(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
28066 case 10:
28067 Result.resize(N: NextRes+2);
28068 return selectBDAddr20Only(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
28069 case 11:
28070 Result.resize(N: NextRes+3);
28071 return selectDynAlloc12Only(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first, Index&: Result[NextRes+2].first);
28072 case 12:
28073 Result.resize(N: NextRes+3);
28074 return selectLAAddr12Pair(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first, Index&: Result[NextRes+2].first);
28075 case 13:
28076 Result.resize(N: NextRes+3);
28077 return selectLAAddr20Pair(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first, Index&: Result[NextRes+2].first);
28078 case 14:
28079 Result.resize(N: NextRes+2);
28080 return selectMVIAddr12Pair(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
28081 case 15:
28082 Result.resize(N: NextRes+3);
28083 return selectBDXAddr20Only128(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first, Index&: Result[NextRes+2].first);
28084 case 16:
28085 Result.resize(N: NextRes+2);
28086 return selectMVIAddr20Pair(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
28087 }
28088}
28089#endif // GET_DAGISEL_BODY
28090
28091#ifdef GET_DAGISEL_DECL
28092SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
28093#endif
28094#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
28095SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
28096#if DAGISEL_INLINE
28097 override
28098#endif
28099{
28100 switch (XFormNo) {
28101 default: llvm_unreachable("Invalid xform # in table?");
28102 case 0: {
28103 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28104
28105 return CurDAG->getTargetConstant(Val: uint8_t(N->getZExtValue()), DL: SDLoc(N),
28106 VT: MVT::i64);
28107
28108 }
28109 case 1: {
28110 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28111
28112 return CurDAG->getTargetConstant(Val: int8_t(N->getZExtValue()), DL: SDLoc(N),
28113 VT: MVT::i64);
28114
28115 }
28116 case 2: {
28117 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28118
28119 return CurDAG->getTargetConstant(Val: int16_t(N->getZExtValue()), DL: SDLoc(N),
28120 VT: MVT::i64);
28121
28122 }
28123 case 3: {
28124 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28125
28126 uint64_t Value = N->getZExtValue() & 0x000000000000FFFFULL;
28127 return CurDAG->getTargetConstant(Val: Value, DL: SDLoc(N), VT: MVT::i64);
28128
28129 }
28130 case 4: {
28131 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28132
28133 uint64_t Value = (N->getZExtValue() & 0x00000000FFFF0000ULL) >> 16;
28134 return CurDAG->getTargetConstant(Val: Value, DL: SDLoc(N), VT: MVT::i64);
28135
28136 }
28137 case 5: {
28138 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28139
28140 uint64_t Value = (N->getZExtValue() & 0x0000FFFF00000000ULL) >> 32;
28141 return CurDAG->getTargetConstant(Val: Value, DL: SDLoc(N), VT: MVT::i64);
28142
28143 }
28144 case 6: {
28145 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28146
28147 uint64_t Value = (N->getZExtValue() & 0xFFFF000000000000ULL) >> 48;
28148 return CurDAG->getTargetConstant(Val: Value, DL: SDLoc(N), VT: MVT::i64);
28149
28150 }
28151 case 7: {
28152 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28153
28154 uint64_t Value = N->getZExtValue() & 0x00000000FFFFFFFFULL;
28155 return CurDAG->getTargetConstant(Val: Value, DL: SDLoc(N), VT: MVT::i64);
28156
28157 }
28158 case 8: {
28159 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28160
28161 uint64_t Value = N->getZExtValue() >> 32;
28162 return CurDAG->getTargetConstant(Val: Value, DL: SDLoc(N), VT: MVT::i64);
28163
28164 }
28165 case 9: {
28166 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28167
28168 return CurDAG->getTargetConstant(Val: uint32_t(N->getZExtValue()), DL: SDLoc(N),
28169 VT: MVT::i64);
28170
28171 }
28172 case 10: {
28173 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28174
28175 return CurDAG->getTargetConstant(Val: uint16_t(N->getZExtValue()), DL: SDLoc(N),
28176 VT: MVT::i64);
28177
28178 }
28179 case 11: {
28180 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28181
28182 return CurDAG->getTargetConstant(Val: int32_t(N->getZExtValue()), DL: SDLoc(N),
28183 VT: MVT::i64);
28184
28185 }
28186 case 12: {
28187 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28188
28189 return CurDAG->getTargetConstant(Val: N->getZExtValue() & 0xfe, DL: SDLoc(N),
28190 VT: MVT::i64);
28191
28192 }
28193 case 13: {
28194 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28195
28196 uint64_t Value = (-N->getZExtValue() & 0x00000000FFFF0000ULL) >> 16;
28197 return CurDAG->getTargetConstant(Val: Value, DL: SDLoc(N), VT: MVT::i64);
28198
28199 }
28200 case 14: {
28201 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28202
28203 uint64_t Value = -N->getZExtValue() & 0x00000000FFFFFFFFULL;
28204 return CurDAG->getTargetConstant(Val: Value, DL: SDLoc(N), VT: MVT::i64);
28205
28206 }
28207 case 15: {
28208 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28209
28210 return CurDAG->getTargetConstant(Val: uint32_t(-N->getZExtValue()), DL: SDLoc(N),
28211 VT: MVT::i64);
28212
28213 }
28214 case 16: {
28215 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28216
28217 return CurDAG->getTargetConstant(Val: int16_t(-N->getZExtValue()), DL: SDLoc(N),
28218 VT: MVT::i64);
28219
28220 }
28221 case 17: {
28222 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28223
28224 return CurDAG->getTargetConstant(Val: int32_t(-N->getZExtValue()), DL: SDLoc(N),
28225 VT: MVT::i64);
28226
28227 }
28228 case 18: {
28229 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
28230
28231 return CurDAG->getTargetConstant(Val: N->getZExtValue() & 0xfff, DL: SDLoc(N),
28232 VT: MVT::i64);
28233
28234 }
28235 }
28236}
28237#endif // GET_DAGISEL_BODY
28238
28239
28240#ifdef DAGISEL_INLINE
28241#undef DAGISEL_INLINE
28242#endif
28243#ifdef DAGISEL_CLASS_COLONCOLON
28244#undef DAGISEL_CLASS_COLONCOLON
28245#endif
28246#ifdef GET_DAGISEL_DECL
28247#undef GET_DAGISEL_DECL
28248#endif
28249#ifdef GET_DAGISEL_BODY
28250#undef GET_DAGISEL_BODY
28251#endif
28252